summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTiago Gomes <tiago.gomes@codethink.co.uk>2015-02-03 18:26:19 +0000
committerTiago Gomes <tiago.gomes@codethink.co.uk>2015-02-03 18:32:28 +0000
commita3be1a443088d7516f15caf915b509406b43355d (patch)
treeb95e90dd5e0f84410a1d86c1d58a221089ca4162
parent7290ffb132cfa8c13bf6fb306eb3250e0f9c1f65 (diff)
downloadmake-baserock/tiagogomes/armv8l64.tar.gz
-rw-r--r--ABOUT-NLS1770
-rw-r--r--AUTHORS13
-rw-r--r--ChangeLog4018
-rw-r--r--ChangeLog.14999
-rw-r--r--ChangeLog.26654
-rw-r--r--Makefile.DOS173
-rw-r--r--Makefile.DOS.template588
-rw-r--r--Makefile.am63
-rw-r--r--Makefile.ami103
-rw-r--r--Makefile.in665
-rw-r--r--NEWS216
-rw-r--r--NMakefile175
-rw-r--r--NMakefile.template122
-rw-r--r--README61
-rw-r--r--README.Amiga27
-rw-r--r--README.DOS75
-rw-r--r--README.DOS.template341
-rw-r--r--README.OS25
-rw-r--r--README.OS2.template177
-rw-r--r--README.VMS (renamed from readme.vms)174
-rw-r--r--README.W32338
-rw-r--r--README.W32.template289
-rw-r--r--README.customs13
-rw-r--r--README.cvs219
-rw-r--r--README.template189
-rw-r--r--SMakefile210
-rw-r--r--SMakefile.template214
-rw-r--r--TODO.private142
-rw-r--r--acinclude.m419
-rw-r--r--aclocal.m4952
-rw-r--r--alloca.c2
-rw-r--r--amiga.c93
-rw-r--r--amiga.h3
-rw-r--r--ar.c111
-rw-r--r--arscan.c866
-rw-r--r--autom4te.cache/output.011447
-rw-r--r--autom4te.cache/output.110978
-rw-r--r--autom4te.cache/output.210978
-rw-r--r--autom4te.cache/requests397
-rw-r--r--autom4te.cache/traces.04294
-rw-r--r--autom4te.cache/traces.11081
-rw-r--r--autom4te.cache/traces.23303
-rwxr-xr-xbuild.sh.in17
-rw-r--r--build.template82
-rw-r--r--build_w32.bat195
-rw-r--r--commands.c181
-rw-r--r--commands.h27
-rw-r--r--config.ami87
-rw-r--r--config.ami.template344
-rw-r--r--config.h-vms113
-rw-r--r--config.h-vms.template434
-rw-r--r--config.h.W32354
-rw-r--r--config.h.W32.template522
-rw-r--r--config.h.in85
-rw-r--r--config.h.in~473
-rw-r--r--config/.cvsignore11
-rw-r--r--config/ChangeLog45
-rw-r--r--config/Makefile.am10
-rw-r--r--config/Makefile.in151
-rwxr-xr-xconfig/ar-lib270
-rw-r--r--config/codeset.m423
-rwxr-xr-xconfig/compile232
-rw-r--r--config/config.guess567
-rwxr-xr-xconfig/config.rpath306
-rw-r--r--config/config.sub266
-rwxr-xr-xconfig/depcomp531
-rw-r--r--config/dospaths.m425
-rw-r--r--config/gettext.m4312
-rw-r--r--config/glibc21.m432
-rw-r--r--config/iconv.m4151
-rwxr-xr-xconfig/install-sh35
-rw-r--r--config/intdiv0.m472
-rw-r--r--config/intlmacosx.m451
-rw-r--r--config/intmax.m432
-rw-r--r--config/inttypes-pri.m432
-rw-r--r--config/inttypes.m427
-rw-r--r--config/inttypes_h.m428
-rw-r--r--config/isc-posix.m426
-rw-r--r--config/lcmessage.m432
-rw-r--r--config/lib-ld.m428
-rw-r--r--config/lib-link.m4381
-rw-r--r--config/lib-prefix.m491
-rw-r--r--config/longdouble.m430
-rw-r--r--config/longlong.m425
-rwxr-xr-xconfig/mdate-sh37
-rwxr-xr-xconfig/missing461
-rwxr-xr-xconfig/mkinstalldirs111
-rw-r--r--config/nls.m439
-rw-r--r--config/po.m4133
-rw-r--r--config/printf-posix.m446
-rw-r--r--config/progtest.m423
-rw-r--r--config/signed.m419
-rw-r--r--config/size_max.m461
-rw-r--r--config/stdint_h.m428
-rw-r--r--config/texinfo.tex1876
-rw-r--r--config/uintmax_t.m432
-rw-r--r--config/ulonglong.m425
-rw-r--r--config/wchar_t.m422
-rw-r--r--config/wint_t.m422
-rw-r--r--config/xsize.m414
-rw-r--r--configh.dos42
-rw-r--r--configh.dos.template124
-rwxr-xr-xconfigure4999
-rw-r--r--configure.ac525
-rw-r--r--configure.bat3
-rw-r--r--configure.in478
-rw-r--r--debug.h3
-rw-r--r--default.c184
-rw-r--r--dep.h45
-rw-r--r--dir.c546
-rw-r--r--doc/.cvsignore8
-rw-r--r--doc/Makefile.am14
-rw-r--r--doc/Makefile.in268
-rw-r--r--doc/fdl.texi5
-rw-r--r--doc/make-stds.texi43
-rw-r--r--doc/make.info331
-rw-r--r--doc/make.info-15342
-rw-r--r--doc/make.info-24757
-rw-r--r--doc/make.texi1740
-rw-r--r--doc/stamp-vti8
-rw-r--r--doc/version.texi8
-rw-r--r--dosbuild.bat8
-rw-r--r--expand.c307
-rw-r--r--file.c301
-rw-r--r--filedef.h100
-rw-r--r--function.c1199
-rw-r--r--getloadavg.c12
-rw-r--r--getopt.c26
-rw-r--r--getopt.h4
-rw-r--r--getopt1.c8
-rw-r--r--gettext.h3
-rw-r--r--glob/.cvsignore2
-rw-r--r--glob/ChangeLog6
-rw-r--r--glob/Makefile.in237
-rw-r--r--glob/glob.c5
-rw-r--r--glob/glob.h2
-rw-r--r--gmk-default.h28
-rw-r--r--gmk-default.scm53
-rw-r--r--gnumake.h79
-rw-r--r--guile.c159
-rw-r--r--hash.c14
-rw-r--r--hash.h12
-rw-r--r--implicit.c127
-rw-r--r--job.c2337
-rw-r--r--job.h116
-rw-r--r--load.c255
-rw-r--r--loadapi.c70
-rw-r--r--main.c2730
-rw-r--r--maintMakefile289
-rw-r--r--make.1204
-rw-r--r--make.lnk2
-rw-r--r--make.morph5
-rw-r--r--make_msvc_net2003.vcproj22
-rw-r--r--makefile.com37
-rw-r--r--makefile.vms102
-rw-r--r--makeint.h (renamed from make.h)231
-rw-r--r--misc.c445
-rw-r--r--output.c723
-rw-r--r--output.h51
-rw-r--r--po/.cvsignore6
-rw-r--r--po/ChangeLog82
-rw-r--r--po/LINGUAS4
-rw-r--r--po/Makefile.in.in152
-rw-r--r--po/Makevars3
-rw-r--r--po/Makevars.template41
-rw-r--r--po/POTFILES.in7
-rw-r--r--po/Rules-quot2
-rw-r--r--po/be.gmobin11553 -> 7250 bytes
-rw-r--r--po/be.po1523
-rw-r--r--po/cs.gmobin0 -> 44904 bytes
-rw-r--r--po/cs.po2312
-rw-r--r--po/da.gmobin28868 -> 24537 bytes
-rw-r--r--po/da.po2220
-rw-r--r--po/de.gmobin26479 -> 46111 bytes
-rw-r--r--po/de.po2262
-rw-r--r--po/es.gmobin33141 -> 45174 bytes
-rw-r--r--po/es.po2890
-rw-r--r--po/fi.gmobin31391 -> 19871 bytes
-rw-r--r--po/fi.po1631
-rw-r--r--po/fr.gmobin41640 -> 44572 bytes
-rw-r--r--po/fr.po1860
-rw-r--r--po/ga.gmobin33028 -> 20299 bytes
-rw-r--r--po/ga.po1666
-rw-r--r--po/gl.gmobin30513 -> 23164 bytes
-rw-r--r--po/gl.po2369
-rw-r--r--po/he.gmobin21557 -> 11497 bytes
-rw-r--r--po/he.po1619
-rw-r--r--po/hr.gmobin29316 -> 25498 bytes
-rw-r--r--po/hr.po2487
-rw-r--r--po/id.gmobin32511 -> 42957 bytes
-rw-r--r--po/id.po1863
-rw-r--r--po/it.gmobin32636 -> 44464 bytes
-rw-r--r--po/it.po2189
-rw-r--r--po/ja.gmobin29402 -> 48160 bytes
-rw-r--r--po/ja.po2366
-rw-r--r--po/ko.gmobin22180 -> 46044 bytes
-rw-r--r--po/ko.po2487
-rw-r--r--po/lt.gmobin12636 -> 7400 bytes
-rw-r--r--po/lt.po1569
-rw-r--r--po/make.pot1359
-rw-r--r--po/nl.gmobin40708 -> 43672 bytes
-rw-r--r--po/nl.po1604
-rw-r--r--po/pl.gmobin40216 -> 43817 bytes
-rw-r--r--po/pl.po2072
-rw-r--r--po/pt_BR.gmobin29710 -> 25254 bytes
-rw-r--r--po/pt_BR.po2027
-rw-r--r--po/ru.gmobin51592 -> 55757 bytes
-rw-r--r--po/ru.po1767
-rw-r--r--po/sv.gmobin31469 -> 42718 bytes
-rw-r--r--po/sv.po2237
-rw-r--r--po/tr.gmobin33127 -> 20668 bytes
-rw-r--r--po/tr.po1654
-rw-r--r--po/uk.gmobin17336 -> 55097 bytes
-rw-r--r--po/uk.po2491
-rw-r--r--po/vi.gmobin37241 -> 46511 bytes
-rw-r--r--po/vi.po2334
-rw-r--r--po/zh_CN.gmobin31112 -> 19093 bytes
-rw-r--r--po/zh_CN.po1665
-rw-r--r--prepare_w32.bat6
-rw-r--r--read.c1560
-rw-r--r--remake.c903
-rw-r--r--remote-cstms.c125
-rw-r--r--remote-stub.c6
-rw-r--r--rule.c234
-rw-r--r--rule.h20
-rw-r--r--signame.c24
-rw-r--r--stage2-make.morph9
-rw-r--r--strcache.c197
-rw-r--r--subproc.bat3
-rw-r--r--tests/.cvsignore3
-rw-r--r--tests/ChangeLog.1 (renamed from tests/ChangeLog)364
-rw-r--r--tests/NEWS5
-rw-r--r--tests/README7
-rw-r--r--tests/config-flags.pm19
-rw-r--r--tests/config-flags.pm.in19
-rwxr-xr-xtests/config_flags_pm.com53
-rw-r--r--tests/guile.supp31
-rwxr-xr-xtests/mkshadow8
-rwxr-xr-xtests/run_make_tests.com272
-rw-r--r--[-rwxr-xr-x]tests/run_make_tests.pl163
-rw-r--r--tests/scripts/features/archives64
-rw-r--r--tests/scripts/features/default_names49
-rw-r--r--tests/scripts/features/double_colon9
-rw-r--r--tests/scripts/features/errors19
-rw-r--r--tests/scripts/features/escape30
-rw-r--r--tests/scripts/features/include12
-rw-r--r--tests/scripts/features/jobserver61
-rw-r--r--tests/scripts/features/load110
-rw-r--r--tests/scripts/features/loadapi116
-rw-r--r--tests/scripts/features/mult_rules2
-rw-r--r--tests/scripts/features/output-sync341
-rw-r--r--tests/scripts/features/parallelism104
-rw-r--r--tests/scripts/features/patspecific_vars10
-rw-r--r--tests/scripts/features/patternrules5
-rw-r--r--tests/scripts/features/recursion16
-rw-r--r--tests/scripts/features/reinvoke17
-rw-r--r--tests/scripts/features/rule_glob37
-rw-r--r--tests/scripts/features/se_explicit17
-rw-r--r--tests/scripts/features/se_implicit34
-rw-r--r--tests/scripts/features/targetvars12
-rw-r--r--tests/scripts/features/utf811
-rw-r--r--tests/scripts/features/varnesting47
-rw-r--r--tests/scripts/features/vpath2
-rw-r--r--tests/scripts/features/vpath365
-rw-r--r--tests/scripts/features/vpathgpath2
-rw-r--r--tests/scripts/features/vpathplus1
-rw-r--r--tests/scripts/functions/call15
-rw-r--r--tests/scripts/functions/file118
-rw-r--r--tests/scripts/functions/filter-out32
-rw-r--r--tests/scripts/functions/foreach6
-rw-r--r--tests/scripts/functions/guile99
-rw-r--r--tests/scripts/functions/sort98
-rw-r--r--tests/scripts/functions/wildcard12
-rw-r--r--tests/scripts/functions/word26
-rw-r--r--tests/scripts/misc/bs-nl83
-rw-r--r--tests/scripts/misc/fopen-fail15
-rw-r--r--tests/scripts/misc/general32
-rw-r--r--tests/scripts/misc/utf814
-rw-r--r--tests/scripts/options/dash-B4
-rw-r--r--tests/scripts/options/dash-C8
-rw-r--r--tests/scripts/options/dash-I4
-rw-r--r--tests/scripts/options/dash-W4
-rw-r--r--tests/scripts/options/dash-k11
-rw-r--r--tests/scripts/options/dash-n80
-rw-r--r--tests/scripts/options/dash-q44
-rw-r--r--tests/scripts/options/eval10
-rw-r--r--tests/scripts/options/print-directory33
-rw-r--r--tests/scripts/options/symlinks10
-rw-r--r--tests/scripts/options/warn-undefined-variables4
-rw-r--r--tests/scripts/targets/DEFAULT4
-rw-r--r--tests/scripts/targets/INTERMEDIATE4
-rw-r--r--tests/scripts/targets/ONESHELL19
-rw-r--r--tests/scripts/targets/POSIX28
-rw-r--r--tests/scripts/targets/SECONDARY11
-rw-r--r--tests/scripts/variables/DEFAULT_GOAL2
-rw-r--r--tests/scripts/variables/GNUMAKEFLAGS42
-rw-r--r--tests/scripts/variables/LIBPATTERNS2
-rw-r--r--tests/scripts/variables/MAKE4
-rw-r--r--tests/scripts/variables/MAKEFLAGS26
-rw-r--r--tests/scripts/variables/MAKE_RESTARTS4
-rw-r--r--tests/scripts/variables/SHELL19
-rw-r--r--tests/scripts/variables/define56
-rw-r--r--tests/scripts/variables/flavors20
-rw-r--r--tests/scripts/variables/private44
-rw-r--r--tests/scripts/variables/special26
-rw-r--r--tests/test_driver.pl609
-rw-r--r--variable.c742
-rw-r--r--variable.h91
-rw-r--r--version.c10
-rw-r--r--vmsdir.h5
-rw-r--r--vmsfunctions.c210
-rw-r--r--vmsify.c26
-rw-r--r--vmsjobs.c1049
-rw-r--r--vpath.c237
-rw-r--r--w32/.cvsignore2
-rw-r--r--w32/.deps/libw32_a-misc.Po1
-rw-r--r--w32/.deps/libw32_a-pathstuff.Po1
-rw-r--r--w32/.deps/libw32_a-sub_proc.Po1
-rw-r--r--w32/.deps/libw32_a-w32err.Po1
-rw-r--r--w32/Makefile536
-rw-r--r--w32/Makefile.am7
-rw-r--r--w32/Makefile.in386
-rw-r--r--w32/compat/dirent.c287
-rw-r--r--w32/compat/posixfcn.c486
-rw-r--r--w32/include/dirent.h15
-rw-r--r--w32/include/dlfcn.h29
-rw-r--r--w32/include/pathstuff.h3
-rw-r--r--w32/include/sub_proc.h31
-rw-r--r--w32/include/w32err.h5
-rw-r--r--w32/pathstuff.c35
-rw-r--r--w32/subproc/NMakefile7
-rw-r--r--w32/subproc/build.bat21
-rw-r--r--w32/subproc/misc.c80
-rw-r--r--w32/subproc/proc.h13
-rw-r--r--w32/subproc/sub_proc.c2159
-rw-r--r--w32/subproc/w32err.c93
336 files changed, 64986 insertions, 107305 deletions
diff --git a/ABOUT-NLS b/ABOUT-NLS
index 2f50c669..b1de1b68 100644
--- a/ABOUT-NLS
+++ b/ABOUT-NLS
@@ -1,10 +1,11 @@
-Notes on the Free Translation Project
-*************************************
+1 Notes on the Free Translation Project
+***************************************
Free software is going international! The Free Translation Project is
a way to get maintainers of free software, translators, and users all
-together, so that will gradually become able to speak many languages.
-A few packages already provide translations for their messages.
+together, so that free software will gradually become able to speak many
+languages. A few packages already provide translations for their
+messages.
If you found this `ABOUT-NLS' file inside a distribution, you may
assume that the distributed package does use GNU `gettext' internally,
@@ -15,38 +16,10 @@ this package with messages translated.
Installers will find here some useful hints. These notes also
explain how users should proceed for getting the programs to use the
available translations. They tell how people wanting to contribute and
-work at translations should contact the appropriate team.
+work on translations can contact the appropriate team.
- When reporting bugs in the `intl/' directory or bugs which may be
-related to internationalization, you should tell about the version of
-`gettext' which is used. The information can be found in the
-`intl/VERSION' file, in internationalized packages.
-
-Quick configuration advice
-==========================
-
-If you want to exploit the full power of internationalization, you
-should configure it using
-
- ./configure --with-included-gettext
-
-to force usage of internationalizing routines provided within this
-package, despite the existence of internationalizing capabilities in the
-operating system where this package is being installed. So far, only
-the `gettext' implementation in the GNU C library version 2 provides as
-many features (such as locale alias, message inheritance, automatic
-charset conversion or plural form handling) as the implementation here.
-It is also not possible to offer this additional functionality on top
-of a `catgets' implementation. Future versions of GNU `gettext' will
-very likely convey even more functionality. So it might be a good idea
-to change to GNU `gettext' as soon as possible.
-
- So you need _not_ provide this option if you are using GNU libc 2 or
-you have installed a recent copy of the GNU gettext package with the
-included `libintl'.
-
-INSTALL Matters
-===============
+1.1 INSTALL Matters
+===================
Some packages are "localizable" when properly installed; the programs
they contain can be made to speak your own native language. Most such
@@ -55,38 +28,21 @@ internationalization, predating GNU `gettext'.
By default, this package will be installed to allow translation of
messages. It will automatically detect whether the system already
-provides the GNU `gettext' functions. If not, the GNU `gettext' own
-library will be used. This library is wholly contained within this
-package, usually in the `intl/' subdirectory, so prior installation of
-the GNU `gettext' package is _not_ required. Installers may use
-special options at configuration time for changing the default
-behaviour. The commands:
-
- ./configure --with-included-gettext
+provides the GNU `gettext' functions. Installers may use special
+options at configuration time for changing the default behaviour. The
+command:
+
./configure --disable-nls
-will respectively bypass any pre-existing `gettext' to use the
-internationalizing routines provided within this package, or else,
-_totally_ disable translation of messages.
+will _totally_ disable translation of messages.
When you already have GNU `gettext' installed on your system and run
configure without an option for your new package, `configure' will
-probably detect the previously built and installed `libintl.a' file and
-will decide to use this. This might be not what is desirable. You
-should use the more recent version of the GNU `gettext' library. I.e.
-if the file `intl/VERSION' shows that the library which comes with this
-package is more recent, you should use
-
- ./configure --with-included-gettext
-
-to prevent auto-detection.
+probably detect the previously built and installed `libintl' library
+and will decide to use it. If not, you may have to to use the
+`--with-libintl-prefix' option to tell `configure' where to look for it.
- The configuration process will not test for the `catgets' function
-and therefore it will not be used. The reason is that even an
-emulation of `gettext' on top of `catgets' could not provide all the
-extensions of the GNU `gettext' library.
-
- Internationalized packages have usually many `po/LL.po' files, where
+ Internationalized packages usually have many `po/LL.po' files, where
LL gives an ISO 639 two-letter code identifying the language. Unless
translations have been forbidden at `configure' time by using the
`--disable-nls' switch, all available translations are installed
@@ -95,13 +51,16 @@ may be set, prior to configuration, to limit the installed set.
`LINGUAS' should then contain a space separated list of two-letter
codes, stating which languages are allowed.
-Using This Package
-==================
+1.2 Using This Package
+======================
As a user, if your language has been installed for this package, you
only have to set the `LANG' environment variable to the appropriate
-`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code,
-and `CC' is an ISO 3166 two-letter country code. For example, let's
+`LL_CC' combination. If you happen to have the `LC_ALL' or some other
+`LC_xxx' environment variables set, you should unset them before
+setting `LANG', otherwise the setting of `LANG' will not have the
+desired effect. Here `LL' is an ISO 639 two-letter language code, and
+`CC' is an ISO 3166 two-letter country code. For example, let's
suppose that you speak German and live in Germany. At the shell
prompt, merely execute `setenv LANG de_DE' (in `csh'),
`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
@@ -117,8 +76,8 @@ country code serves to distinguish the dialects.
language and `CC' denoting the country, is the one use on systems based
on GNU libc. On other systems, some variations of this scheme are
used, such as `LL' or `LL_CC.ENCODING'. You can get the list of
-locales supported by your system for your country by running the command
-`locale -a | grep '^LL''.
+locales supported by your system for your language by running the
+command `locale -a | grep '^LL''.
Not all programs have translations for all languages. By default, an
English message is shown in place of a nonexistent translation. If you
@@ -144,16 +103,15 @@ to denote the language's main dialect. For example, `de' is equivalent
to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
(Portuguese as spoken in Portugal) in this context.
-Translating Teams
-=================
+1.3 Translating Teams
+=====================
For the Free Translation Project to be a success, we need interested
people who like their own language and write it well, and who are also
able to synergize with other translators speaking the same language.
Each translation team has its own mailing list. The up-to-date list of
teams can be found at the Free Translation Project's homepage,
-`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
-area.
+`http://translationproject.org/', in the "Teams" area.
If you'd like to volunteer to _work_ at translating messages, you
should become a member of the translating team for your own language.
@@ -167,569 +125,1125 @@ message to `sv-request@li.org', having this message body:
_actively_ in translations, or at solving translational difficulties,
rather than merely lurking around. If your team does not exist yet and
you want to start one, or if you are unsure about what to do or how to
-get started, please write to `translation@iro.umontreal.ca' to reach the
-coordinator for all translator teams.
+get started, please write to `coordinator@translationproject.org' to
+reach the coordinator for all translator teams.
The English team is special. It works at improving and uniformizing
-the terminology in use. Proven linguistic skill are praised more than
-programming skill, here.
+the terminology in use. Proven linguistic skills are praised more than
+programming skills, here.
-Available Packages
-==================
+1.4 Available Packages
+======================
Languages are not equally supported in all packages. The following
-matrix shows the current state of internationalization, as of January
-2004. The matrix shows, in regard of each package, for which languages
+matrix shows the current state of internationalization, as of June
+2010. The matrix shows, in regard of each package, for which languages
PO files have been submitted to translation coordination, with a
translation percentage of at least 50%.
- Ready PO files af am ar az be bg bs ca cs da de el en en_GB eo es
- +----------------------------------------------------+
- a2ps | [] [] [] [] |
- aegis | () |
- ant-phone | () |
- anubis | |
- ap-utils | |
- aspell | [] |
- bash | [] [] [] [] |
- batchelor | |
- bfd | [] [] |
- binutils | [] [] |
- bison | [] [] [] |
- bluez-pin | [] [] [] |
- clisp | |
- clisp | [] [] [] |
- console-tools | [] [] |
- coreutils | [] [] [] [] |
- cpio | [] [] [] |
- darkstat | [] () [] |
- diffutils | [] [] [] [] [] [] [] |
- e2fsprogs | [] [] [] |
- enscript | [] [] [] [] |
- error | [] [] [] [] [] |
- fetchmail | [] () [] [] [] [] |
- fileutils | [] [] [] |
- findutils | [] [] [] [] [] [] [] |
- flex | [] [] [] [] |
- fslint | |
- gas | [] |
- gawk | [] [] [] [] |
- gbiff | [] |
- gcal | [] |
- gcc | [] [] |
- gettext | [] [] [] [] [] |
- gettext-examples | [] [] [] [] |
- gettext-runtime | [] [] [] [] [] |
- gettext-tools | [] [] [] |
- gimp-print | [] [] [] [] [] |
- gliv | |
- glunarclock | [] [] |
- gnubiff | [] |
- gnucash | [] () [] [] |
- gnucash-glossary | [] () [] |
- gnupg | [] () [] [] [] [] |
- gpe-aerial | [] |
- gpe-beam | [] [] |
- gpe-calendar | [] [] |
- gpe-clock | [] [] |
- gpe-conf | [] [] |
- gpe-contacts | [] [] |
- gpe-edit | [] |
- gpe-go | [] |
- gpe-login | [] [] |
- gpe-ownerinfo | [] [] |
- gpe-sketchbook | [] [] |
- gpe-su | [] [] |
- gpe-taskmanager | [] [] |
- gpe-timesheet | [] |
- gpe-today | [] [] |
- gpe-todo | [] [] |
- gphoto2 | [] [] [] [] |
- gprof | [] [] [] |
- gpsdrive | () () () |
- gramadoir | [] |
- grep | [] [] [] [] [] [] |
- gretl | [] |
- gtick | [] () |
- hello | [] [] [] [] [] [] |
- id-utils | [] [] |
- indent | [] [] [] [] |
- iso_3166 | [] [] [] [] [] [] [] [] [] [] |
- iso_3166_1 | [] [] [] [] [] [] |
- iso_3166_2 | |
- iso_3166_3 | [] |
- iso_4217 | [] [] [] [] |
- iso_639 | |
- jpilot | [] [] [] |
- jtag | |
- jwhois | [] |
- kbd | [] [] [] [] [] |
- latrine | () |
- ld | [] [] |
- libc | [] [] [] [] [] [] |
- libgpewidget | [] [] |
- libiconv | [] [] [] [] [] |
- lifelines | [] () |
- lilypond | [] |
- lingoteach | |
- lingoteach_lessons | () () |
- lynx | [] [] [] [] |
- m4 | [] [] [] [] |
- mailutils | [] [] |
- make | [] [] [] |
- man-db | [] () [] [] () |
- minicom | [] [] [] |
- mysecretdiary | [] [] [] |
- nano | [] () [] [] [] |
- nano_1_0 | [] () [] [] [] |
- opcodes | [] |
- parted | [] [] [] [] [] |
- ptx | [] [] [] [] [] |
- python | |
- radius | [] |
- recode | [] [] [] [] [] [] [] |
- rpm | [] [] |
- screem | |
- scrollkeeper | [] [] [] [] [] [] |
- sed | [] [] [] [] [] [] |
- sh-utils | [] [] [] |
- shared-mime-info | |
- sharutils | [] [] [] [] [] [] |
- silky | () |
- skencil | [] () [] |
- sketch | [] () [] |
- soundtracker | [] [] [] |
- sp | [] |
- tar | [] [] [] [] |
- texinfo | [] [] [] |
- textutils | [] [] [] [] |
- tin | () () |
- tp-robot | |
- tuxpaint | [] [] [] [] [] [] [] |
- unicode-han-tra... | |
- unicode-transla... | |
- util-linux | [] [] [] [] [] |
- vorbis-tools | [] [] [] [] |
- wastesedge | () |
- wdiff | [] [] [] [] |
- wget | [] [] [] [] [] [] |
- xchat | [] [] [] [] |
- xfree86_xkb_xml | [] [] |
- xpad | [] |
- +----------------------------------------------------+
- af am ar az be bg bs ca cs da de el en en_GB eo es
- 4 0 0 1 9 4 1 40 41 60 78 17 1 5 13 68
-
- et eu fa fi fr ga gl he hr hu id is it ja ko lg
+ Ready PO files af am an ar as ast az be be@latin bg bn_IN bs ca
+ +--------------------------------------------------+
+ a2ps | [] [] |
+ aegis | |
+ ant-phone | |
+ anubis | |
+ aspell | [] [] |
+ bash | |
+ bfd | |
+ bibshelf | [] |
+ binutils | |
+ bison | |
+ bison-runtime | [] |
+ bluez-pin | [] [] |
+ bombono-dvd | |
+ buzztard | |
+ cflow | |
+ clisp | |
+ coreutils | [] [] |
+ cpio | |
+ cppi | |
+ cpplib | [] |
+ cryptsetup | |
+ dfarc | |
+ dialog | [] [] |
+ dico | |
+ diffutils | [] |
+ dink | |
+ doodle | |
+ e2fsprogs | [] |
+ enscript | [] |
+ exif | |
+ fetchmail | [] |
+ findutils | [] |
+ flex | [] |
+ freedink | |
+ gas | |
+ gawk | [] [] |
+ gcal | [] |
+ gcc | |
+ gettext-examples | [] [] [] [] |
+ gettext-runtime | [] [] |
+ gettext-tools | [] [] |
+ gip | [] |
+ gjay | |
+ gliv | [] |
+ glunarclock | [] [] |
+ gnubiff | |
+ gnucash | [] |
+ gnuedu | |
+ gnulib | |
+ gnunet | |
+ gnunet-gtk | |
+ gnutls | |
+ gold | |
+ gpe-aerial | |
+ gpe-beam | |
+ gpe-bluetooth | |
+ gpe-calendar | |
+ gpe-clock | [] |
+ gpe-conf | |
+ gpe-contacts | |
+ gpe-edit | |
+ gpe-filemanager | |
+ gpe-go | |
+ gpe-login | |
+ gpe-ownerinfo | [] |
+ gpe-package | |
+ gpe-sketchbook | |
+ gpe-su | [] |
+ gpe-taskmanager | [] |
+ gpe-timesheet | [] |
+ gpe-today | [] |
+ gpe-todo | |
+ gphoto2 | |
+ gprof | [] |
+ gpsdrive | |
+ gramadoir | |
+ grep | |
+ grub | [] [] |
+ gsasl | |
+ gss | |
+ gst-plugins-bad | [] |
+ gst-plugins-base | [] |
+ gst-plugins-good | [] |
+ gst-plugins-ugly | [] |
+ gstreamer | [] [] [] |
+ gtick | |
+ gtkam | [] |
+ gtkorphan | [] |
+ gtkspell | [] [] [] |
+ gutenprint | |
+ hello | [] |
+ help2man | |
+ hylafax | |
+ idutils | |
+ indent | [] [] |
+ iso_15924 | |
+ iso_3166 | [] [] [] [] [] [] [] |
+ iso_3166_2 | |
+ iso_4217 | |
+ iso_639 | [] [] [] [] |
+ iso_639_3 | |
+ jwhois | |
+ kbd | |
+ keytouch | [] |
+ keytouch-editor | |
+ keytouch-keyboa... | [] |
+ klavaro | [] |
+ latrine | |
+ ld | [] |
+ leafpad | [] [] |
+ libc | [] [] |
+ libexif | () |
+ libextractor | |
+ libgnutls | |
+ libgpewidget | |
+ libgpg-error | |
+ libgphoto2 | |
+ libgphoto2_port | |
+ libgsasl | |
+ libiconv | [] |
+ libidn | |
+ lifelines | |
+ liferea | [] [] |
+ lilypond | |
+ linkdr | [] |
+ lordsawar | |
+ lprng | |
+ lynx | [] |
+ m4 | |
+ mailfromd | |
+ mailutils | |
+ make | |
+ man-db | |
+ man-db-manpages | |
+ minicom | |
+ mkisofs | |
+ myserver | |
+ nano | [] [] |
+ opcodes | |
+ parted | |
+ pies | |
+ popt | |
+ psmisc | |
+ pspp | [] |
+ pwdutils | |
+ radius | [] |
+ recode | [] [] |
+ rosegarden | |
+ rpm | |
+ rush | |
+ sarg | |
+ screem | |
+ scrollkeeper | [] [] [] |
+ sed | [] [] |
+ sharutils | [] [] |
+ shishi | |
+ skencil | |
+ solfege | |
+ solfege-manual | |
+ soundtracker | |
+ sp | |
+ sysstat | |
+ tar | [] |
+ texinfo | |
+ tin | |
+ unicode-han-tra... | |
+ unicode-transla... | |
+ util-linux-ng | [] |
+ vice | |
+ vmm | |
+ vorbis-tools | |
+ wastesedge | |
+ wdiff | |
+ wget | [] [] |
+ wyslij-po | |
+ xchat | [] [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] |
+ +--------------------------------------------------+
+ af am an ar as ast az be be@latin bg bn_IN bs ca
+ 6 0 1 2 3 19 1 10 3 28 3 1 38
+
+ crh cs da de el en en_GB en_ZA eo es et eu fa
+-------------------------------------------------+
- a2ps | [] [] [] () () |
- aegis | |
- ant-phone | [] |
- anubis | [] |
- ap-utils | [] |
- aspell | [] [] |
- bash | [] [] |
- batchelor | [] [] |
- bfd | [] |
- binutils | [] [] |
- bison | [] [] [] [] |
- bluez-pin | [] [] [] [] [] |
- clisp | |
- clisp | [] |
- console-tools | |
- coreutils | [] [] [] [] [] [] |
- cpio | [] [] [] [] |
- darkstat | () [] [] [] |
- diffutils | [] [] [] [] [] [] [] |
- e2fsprogs | |
- enscript | [] [] |
- error | [] [] [] [] |
- fetchmail | [] |
- fileutils | [] [] [] [] [] [] |
- findutils | [] [] [] [] [] [] [] [] [] [] [] |
- flex | [] [] [] |
- fslint | [] |
- gas | [] |
- gawk | [] [] [] |
- gbiff | [] |
- gcal | [] |
- gcc | [] |
- gettext | [] [] [] |
- gettext-examples | [] [] |
- gettext-runtime | [] [] [] [] [] |
- gettext-tools | [] [] [] |
- gimp-print | [] [] |
- gliv | () |
- glunarclock | [] [] [] [] |
- gnubiff | [] |
- gnucash | () [] |
- gnucash-glossary | [] |
- gnupg | [] [] [] [] [] [] [] |
- gpe-aerial | [] |
- gpe-beam | [] |
- gpe-calendar | [] [] [] |
- gpe-clock | [] |
- gpe-conf | [] |
- gpe-contacts | [] [] |
- gpe-edit | [] [] |
- gpe-go | [] |
- gpe-login | [] [] |
- gpe-ownerinfo | [] [] [] |
- gpe-sketchbook | [] |
- gpe-su | [] |
- gpe-taskmanager | [] |
- gpe-timesheet | [] [] [] |
- gpe-today | [] [] |
- gpe-todo | [] [] |
- gphoto2 | [] [] [] |
- gprof | [] [] |
- gpsdrive | () () () |
- gramadoir | [] [] |
- grep | [] [] [] [] [] [] [] [] [] [] [] |
- gretl | [] [] |
- gtick | [] [] [] |
- hello | [] [] [] [] [] [] [] [] [] [] [] [] [] |
- id-utils | [] [] [] [] |
- indent | [] [] [] [] [] [] [] [] [] |
- iso_3166 | [] [] [] [] [] [] [] |
- iso_3166_1 | [] [] [] [] [] |
- iso_3166_2 | |
- iso_3166_3 | |
- iso_4217 | [] [] [] [] [] [] |
- iso_639 | |
- jpilot | [] () |
- jtag | [] |
- jwhois | [] [] [] [] |
- kbd | [] |
- latrine | [] |
- ld | [] |
- libc | [] [] [] [] [] [] |
- libgpewidget | [] [] [] [] |
- libiconv | [] [] [] [] [] [] [] [] [] |
- lifelines | () |
- lilypond | [] |
- lingoteach | [] [] |
- lingoteach_lessons | |
- lynx | [] [] [] [] |
- m4 | [] [] [] [] |
- mailutils | |
- make | [] [] [] [] [] [] |
- man-db | () () |
- minicom | [] [] [] [] |
- mysecretdiary | [] [] |
- nano | [] [] [] [] |
- nano_1_0 | [] [] [] [] |
- opcodes | [] |
- parted | [] [] [] |
- ptx | [] [] [] [] [] [] [] |
- python | |
- radius | [] |
- recode | [] [] [] [] [] [] |
- rpm | [] [] |
+ a2ps | [] [] [] [] [] [] [] |
+ aegis | [] [] [] |
+ ant-phone | [] () |
+ anubis | [] [] |
+ aspell | [] [] [] [] [] |
+ bash | [] [] [] |
+ bfd | [] |
+ bibshelf | [] [] [] |
+ binutils | [] |
+ bison | [] [] |
+ bison-runtime | [] [] [] [] |
+ bluez-pin | [] [] [] [] [] [] |
+ bombono-dvd | [] |
+ buzztard | [] [] [] |
+ cflow | [] [] |
+ clisp | [] [] [] [] |
+ coreutils | [] [] [] [] |
+ cpio | |
+ cppi | |
+ cpplib | [] [] [] |
+ cryptsetup | [] |
+ dfarc | [] [] [] |
+ dialog | [] [] [] [] [] |
+ dico | |
+ diffutils | [] [] [] [] [] [] |
+ dink | [] [] [] |
+ doodle | [] |
+ e2fsprogs | [] [] [] |
+ enscript | [] [] [] |
+ exif | () [] [] |
+ fetchmail | [] [] () [] [] [] |
+ findutils | [] [] [] |
+ flex | [] [] |
+ freedink | [] [] [] |
+ gas | [] |
+ gawk | [] [] [] |
+ gcal | [] |
+ gcc | [] [] |
+ gettext-examples | [] [] [] [] |
+ gettext-runtime | [] [] [] [] |
+ gettext-tools | [] [] [] |
+ gip | [] [] [] [] |
+ gjay | [] |
+ gliv | [] [] [] |
+ glunarclock | [] [] |
+ gnubiff | () |
+ gnucash | [] () () () () |
+ gnuedu | [] [] |
+ gnulib | [] [] |
+ gnunet | |
+ gnunet-gtk | [] |
+ gnutls | [] [] |
+ gold | [] |
+ gpe-aerial | [] [] [] [] |
+ gpe-beam | [] [] [] [] |
+ gpe-bluetooth | [] [] |
+ gpe-calendar | [] |
+ gpe-clock | [] [] [] [] |
+ gpe-conf | [] [] [] |
+ gpe-contacts | [] [] [] |
+ gpe-edit | [] [] |
+ gpe-filemanager | [] [] [] |
+ gpe-go | [] [] [] [] |
+ gpe-login | [] [] |
+ gpe-ownerinfo | [] [] [] [] |
+ gpe-package | [] [] [] |
+ gpe-sketchbook | [] [] [] [] |
+ gpe-su | [] [] [] [] |
+ gpe-taskmanager | [] [] [] [] |
+ gpe-timesheet | [] [] [] [] |
+ gpe-today | [] [] [] [] |
+ gpe-todo | [] [] [] |
+ gphoto2 | [] [] () [] [] [] |
+ gprof | [] [] [] |
+ gpsdrive | [] [] [] |
+ gramadoir | [] [] [] |
+ grep | [] |
+ grub | [] [] |
+ gsasl | [] |
+ gss | |
+ gst-plugins-bad | [] [] [] [] [] |
+ gst-plugins-base | [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] |
+ gtick | [] () [] |
+ gtkam | [] [] () [] [] |
+ gtkorphan | [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] |
+ gutenprint | [] [] [] |
+ hello | [] [] [] [] |
+ help2man | [] |
+ hylafax | [] [] |
+ idutils | [] [] |
+ indent | [] [] [] [] [] [] [] |
+ iso_15924 | [] () [] [] |
+ iso_3166 | [] [] [] [] () [] [] [] () |
+ iso_3166_2 | () |
+ iso_4217 | [] [] [] () [] [] |
+ iso_639 | [] [] [] [] () [] [] |
+ iso_639_3 | [] |
+ jwhois | [] |
+ kbd | [] [] [] [] [] |
+ keytouch | [] [] |
+ keytouch-editor | [] [] |
+ keytouch-keyboa... | [] |
+ klavaro | [] [] [] [] |
+ latrine | [] () |
+ ld | [] [] |
+ leafpad | [] [] [] [] [] [] |
+ libc | [] [] [] [] |
+ libexif | [] [] () |
+ libextractor | |
+ libgnutls | [] |
+ libgpewidget | [] [] |
+ libgpg-error | [] [] |
+ libgphoto2 | [] () |
+ libgphoto2_port | [] () [] |
+ libgsasl | |
+ libiconv | [] [] [] [] [] |
+ libidn | [] [] [] |
+ lifelines | [] () |
+ liferea | [] [] [] [] [] |
+ lilypond | [] [] [] |
+ linkdr | [] [] [] |
+ lordsawar | [] |
+ lprng | |
+ lynx | [] [] [] [] |
+ m4 | [] [] [] [] |
+ mailfromd | |
+ mailutils | [] |
+ make | [] [] [] |
+ man-db | |
+ man-db-manpages | |
+ minicom | [] [] [] [] |
+ mkisofs | |
+ myserver | |
+ nano | [] [] [] |
+ opcodes | [] [] |
+ parted | [] [] |
+ pies | |
+ popt | [] [] [] [] [] |
+ psmisc | [] [] [] |
+ pspp | [] |
+ pwdutils | [] |
+ radius | [] |
+ recode | [] [] [] [] [] [] |
+ rosegarden | () () () |
+ rpm | [] [] [] |
+ rush | |
+ sarg | |
screem | |
- scrollkeeper | [] |
- sed | [] [] [] [] [] [] [] [] [] |
- sh-utils | [] [] [] [] [] [] [] |
- shared-mime-info | [] [] [] |
- sharutils | [] [] [] [] [] |
- silky | () [] () () |
- skencil | [] |
- sketch | [] |
- soundtracker | [] [] |
- sp | [] () |
- tar | [] [] [] [] [] [] [] [] [] |
- texinfo | [] [] [] [] |
- textutils | [] [] [] [] [] [] |
- tin | [] () |
- tp-robot | [] |
- tuxpaint | [] [] [] [] [] [] [] [] [] |
+ scrollkeeper | [] [] [] [] [] |
+ sed | [] [] [] [] [] [] |
+ sharutils | [] [] [] [] |
+ shishi | |
+ skencil | [] () [] |
+ solfege | [] [] [] |
+ solfege-manual | [] [] |
+ soundtracker | [] [] [] |
+ sp | [] |
+ sysstat | [] [] [] |
+ tar | [] [] [] [] |
+ texinfo | [] [] [] |
+ tin | [] [] |
unicode-han-tra... | |
- unicode-transla... | [] [] |
- util-linux | [] [] [] [] () [] |
- vorbis-tools | [] |
- wastesedge | () |
- wdiff | [] [] [] [] [] [] |
- wget | [] [] [] [] [] [] [] |
- xchat | [] [] [] |
- xfree86_xkb_xml | [] [] |
- xpad | [] [] |
+ unicode-transla... | |
+ util-linux-ng | [] [] [] [] |
+ vice | () () |
+ vmm | [] |
+ vorbis-tools | [] [] |
+ wastesedge | [] |
+ wdiff | [] [] |
+ wget | [] [] [] |
+ wyslij-po | |
+ xchat | [] [] [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] [] [] |
+-------------------------------------------------+
- et eu fa fi fr ga gl he hr hu id is it ja ko lg
- 22 2 1 26 106 28 24 8 10 41 33 1 26 33 12 0
-
- lt lv mk mn ms mt nb nl nn no nso pl pt pt_BR ro ru
- +-----------------------------------------------------+
- a2ps | [] [] () () [] [] [] |
- aegis | () () () |
- ant-phone | [] [] |
- anubis | [] [] [] [] [] [] |
- ap-utils | [] () [] |
- aspell | [] |
- bash | [] [] [] |
- batchelor | [] |
- bfd | [] |
- binutils | [] |
- bison | [] [] [] [] [] |
- bluez-pin | [] [] [] |
- clisp | |
- clisp | [] |
- console-tools | [] |
- coreutils | [] [] |
- cpio | [] [] [] [] [] |
- darkstat | [] [] [] [] |
- diffutils | [] [] [] [] [] [] |
- e2fsprogs | [] |
- enscript | [] [] [] [] |
- error | [] [] [] |
- fetchmail | [] [] () [] |
- fileutils | [] [] [] |
- findutils | [] [] [] [] [] |
- flex | [] [] [] [] |
- fslint | [] [] |
- gas | |
- gawk | [] [] [] |
- gbiff | [] [] |
- gcal | |
- gcc | |
- gettext | [] [] [] |
- gettext-examples | [] [] [] |
- gettext-runtime | [] [] [] [] |
- gettext-tools | [] [] |
- gimp-print | [] |
- gliv | [] [] [] |
- glunarclock | [] [] [] [] |
- gnubiff | [] |
- gnucash | [] [] () [] |
- gnucash-glossary | [] [] |
- gnupg | [] |
- gpe-aerial | [] [] [] [] |
- gpe-beam | [] [] [] [] |
- gpe-calendar | [] [] [] [] |
- gpe-clock | [] [] [] [] |
- gpe-conf | [] [] [] [] |
- gpe-contacts | [] [] [] [] |
- gpe-edit | [] [] [] [] |
- gpe-go | [] [] [] |
- gpe-login | [] [] [] [] |
- gpe-ownerinfo | [] [] [] [] |
- gpe-sketchbook | [] [] [] [] |
- gpe-su | [] [] [] [] |
- gpe-taskmanager | [] [] [] [] |
- gpe-timesheet | [] [] [] [] |
- gpe-today | [] [] [] [] |
- gpe-todo | [] [] [] [] |
- gphoto2 | [] |
- gprof | [] [] |
- gpsdrive | () () [] |
- gramadoir | () [] |
- grep | [] [] [] [] [] |
- gretl | |
- gtick | [] [] [] |
- hello | [] [] [] [] [] [] [] [] [] [] |
- id-utils | [] [] [] [] |
- indent | [] [] [] [] |
- iso_3166 | [] [] [] |
- iso_3166_1 | [] [] |
- iso_3166_2 | |
- iso_3166_3 | [] |
- iso_4217 | [] [] [] [] [] [] [] [] |
- iso_639 | [] |
- jpilot | () () |
- jtag | |
- jwhois | [] [] [] [] () |
- kbd | [] [] [] |
- latrine | [] |
- ld | |
- libc | [] [] [] [] |
- libgpewidget | [] [] [] |
- libiconv | [] [] [] [] [] |
- lifelines | |
- lilypond | |
- lingoteach | |
- lingoteach_lessons | |
- lynx | [] [] [] |
- m4 | [] [] [] [] [] |
- mailutils | [] [] [] |
- make | [] [] [] [] |
- man-db | [] |
- minicom | [] [] [] [] |
- mysecretdiary | [] [] [] |
- nano | [] [] [] [] [] |
- nano_1_0 | [] [] [] [] [] [] |
- opcodes | [] [] |
- parted | [] [] [] [] |
- ptx | [] [] [] [] [] [] [] [] |
- python | |
- radius | [] [] |
- recode | [] [] [] [] |
- rpm | [] [] [] |
- screem | |
- scrollkeeper | [] [] [] [] [] |
- sed | [] [] [] |
- sh-utils | [] [] |
- shared-mime-info | [] [] |
- sharutils | [] [] |
- silky | () |
- skencil | [] [] |
- sketch | [] [] |
- soundtracker | |
- sp | |
- tar | [] [] [] [] [] [] |
- texinfo | [] [] [] [] |
- textutils | [] [] |
- tin | |
- tp-robot | [] |
- tuxpaint | [] [] [] [] [] [] [] [] |
- unicode-han-tra... | |
- unicode-transla... | |
- util-linux | [] [] [] |
- vorbis-tools | [] [] [] |
- wastesedge | |
- wdiff | [] [] [] [] [] |
- wget | [] [] [] |
- xchat | [] [] [] |
- xfree86_xkb_xml | [] [] |
- xpad | [] [] |
- +-----------------------------------------------------+
- lt lv mk mn ms mt nb nl nn no nso pl pt pt_BR ro ru
- 1 2 0 3 12 0 10 69 6 7 1 40 26 36 76 63
-
- sk sl sr sv ta th tr uk ven vi wa xh zh_CN zh_TW zu
- +-----------------------------------------------------+
- a2ps | [] [] [] [] | 16
- aegis | | 0
- ant-phone | | 3
- anubis | [] [] | 9
- ap-utils | () | 3
- aspell | | 4
- bash | | 9
- batchelor | | 3
- bfd | [] [] | 6
- binutils | [] [] [] | 8
- bison | [] [] | 14
- bluez-pin | [] [] [] | 14
- clisp | | 0
- clisp | | 5
- console-tools | | 3
- coreutils | [] [] [] [] | 16
- cpio | [] [] | 14
- darkstat | [] [] [] () () | 12
- diffutils | [] [] [] | 23
- e2fsprogs | [] [] | 6
- enscript | [] [] | 12
- error | [] [] [] | 15
- fetchmail | [] [] | 11
- fileutils | [] [] [] [] [] | 17
- findutils | [] [] [] [] [] [] | 29
- flex | [] [] | 13
- fslint | | 3
- gas | [] | 3
- gawk | [] [] | 12
- gbiff | | 4
- gcal | [] [] | 4
- gcc | [] | 4
- gettext | [] [] [] [] [] | 16
- gettext-examples | [] [] [] [] [] | 14
- gettext-runtime | [] [] [] [] [] [] [] [] | 22
- gettext-tools | [] [] [] [] [] [] | 14
- gimp-print | [] [] | 10
- gliv | | 3
- glunarclock | [] [] [] | 13
- gnubiff | | 3
- gnucash | [] [] | 9
- gnucash-glossary | [] [] [] | 8
- gnupg | [] [] [] [] | 17
- gpe-aerial | [] | 7
- gpe-beam | [] | 8
- gpe-calendar | [] [] [] [] | 13
- gpe-clock | [] [] [] | 10
- gpe-conf | [] [] | 9
- gpe-contacts | [] [] [] | 11
- gpe-edit | [] [] [] [] [] | 12
- gpe-go | | 5
- gpe-login | [] [] [] [] [] | 13
- gpe-ownerinfo | [] [] [] [] | 13
- gpe-sketchbook | [] [] | 9
- gpe-su | [] [] [] | 10
- gpe-taskmanager | [] [] [] | 10
- gpe-timesheet | [] [] [] [] | 12
- gpe-today | [] [] [] [] [] | 13
- gpe-todo | [] [] [] [] | 12
- gphoto2 | [] [] [] | 11
- gprof | [] [] | 9
- gpsdrive | [] [] | 3
- gramadoir | [] | 5
- grep | [] [] [] [] | 26
- gretl | | 3
- gtick | | 7
- hello | [] [] [] [] [] | 34
- id-utils | [] [] | 12
- indent | [] [] [] [] | 21
- iso_3166 | [] [] [] [] [] [] [] | 27
- iso_3166_1 | [] [] [] | 16
- iso_3166_2 | | 0
- iso_3166_3 | | 2
- iso_4217 | [] [] [] [] [] [] | 24
- iso_639 | | 1
- jpilot | [] [] [] [] [] | 9
- jtag | [] | 2
- jwhois | () [] [] | 11
- kbd | [] [] | 11
- latrine | | 2
- ld | [] [] | 5
- libc | [] [] [] [] | 20
- libgpewidget | [] [] [] [] | 13
- libiconv | [] [] [] [] [] [] [] [] | 27
- lifelines | [] | 2
- lilypond | [] | 3
- lingoteach | | 2
- lingoteach_lessons | () | 0
- lynx | [] [] [] | 14
- m4 | [] [] | 15
- mailutils | | 5
- make | [] [] [] | 16
- man-db | [] | 5
- minicom | | 11
- mysecretdiary | [] [] | 10
- nano | [] [] [] [] | 17
- nano_1_0 | [] [] [] | 17
- opcodes | [] [] | 6
- parted | [] [] [] | 15
- ptx | [] [] | 22
- python | | 0
- radius | | 4
- recode | [] [] [] | 20
- rpm | [] [] | 9
- screem | [] [] | 2
- scrollkeeper | [] [] [] | 15
- sed | [] [] [] [] [] [] | 24
- sh-utils | [] [] | 14
- shared-mime-info | [] [] | 7
- sharutils | [] [] [] [] | 17
- silky | () | 3
- skencil | [] | 6
- sketch | [] | 6
- soundtracker | [] [] | 7
- sp | [] | 3
- tar | [] [] [] [] [] | 24
- texinfo | [] [] [] | 14
- textutils | [] [] [] [] | 16
- tin | | 1
- tp-robot | | 2
- tuxpaint | [] [] [] [] [] | 29
- unicode-han-tra... | | 0
- unicode-transla... | | 2
- util-linux | [] [] | 15
- vorbis-tools | | 8
- wastesedge | | 0
- wdiff | [] [] [] | 18
- wget | [] [] [] [] [] [] [] [] | 24
- xchat | [] [] [] [] [] | 15
- xfree86_xkb_xml | [] [] [] [] [] | 11
- xpad | | 5
- +-----------------------------------------------------+
- 63 teams sk sl sr sv ta th tr uk ven vi wa xh zh_CN zh_TW zu
- 131 domains 47 19 28 83 0 0 59 13 1 1 11 0 22 22 0 1373
+ crh cs da de el en en_GB en_ZA eo es et eu fa
+ 5 64 105 117 18 1 8 0 28 89 18 19 0
+
+ fi fr ga gl gu he hi hr hu hy id is it ja ka kn
+ +----------------------------------------------------+
+ a2ps | [] [] [] [] |
+ aegis | [] [] |
+ ant-phone | [] [] |
+ anubis | [] [] [] [] |
+ aspell | [] [] [] [] |
+ bash | [] [] [] [] |
+ bfd | [] [] [] |
+ bibshelf | [] [] [] [] [] |
+ binutils | [] [] [] |
+ bison | [] [] [] [] |
+ bison-runtime | [] [] [] [] [] [] |
+ bluez-pin | [] [] [] [] [] [] [] [] |
+ bombono-dvd | [] |
+ buzztard | [] |
+ cflow | [] [] [] |
+ clisp | [] |
+ coreutils | [] [] [] [] [] |
+ cpio | [] [] [] [] |
+ cppi | [] [] |
+ cpplib | [] [] [] |
+ cryptsetup | [] [] [] |
+ dfarc | [] [] [] |
+ dialog | [] [] [] [] [] [] [] |
+ dico | |
+ diffutils | [] [] [] [] [] [] [] [] [] |
+ dink | [] |
+ doodle | [] [] |
+ e2fsprogs | [] [] |
+ enscript | [] [] [] [] |
+ exif | [] [] [] [] [] [] |
+ fetchmail | [] [] [] [] |
+ findutils | [] [] [] [] [] [] |
+ flex | [] [] [] |
+ freedink | [] [] [] |
+ gas | [] [] |
+ gawk | [] [] [] [] () [] |
+ gcal | [] |
+ gcc | [] |
+ gettext-examples | [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] |
+ gip | [] [] [] [] [] [] |
+ gjay | [] |
+ gliv | [] () |
+ glunarclock | [] [] [] [] |
+ gnubiff | () [] () |
+ gnucash | () () () () () [] |
+ gnuedu | [] [] |
+ gnulib | [] [] [] [] [] [] |
+ gnunet | |
+ gnunet-gtk | [] |
+ gnutls | [] [] |
+ gold | [] [] |
+ gpe-aerial | [] [] [] |
+ gpe-beam | [] [] [] [] |
+ gpe-bluetooth | [] [] [] [] |
+ gpe-calendar | [] [] |
+ gpe-clock | [] [] [] [] [] |
+ gpe-conf | [] [] [] [] |
+ gpe-contacts | [] [] [] [] |
+ gpe-edit | [] [] [] |
+ gpe-filemanager | [] [] [] [] |
+ gpe-go | [] [] [] [] [] |
+ gpe-login | [] [] [] |
+ gpe-ownerinfo | [] [] [] [] [] |
+ gpe-package | [] [] [] |
+ gpe-sketchbook | [] [] [] [] |
+ gpe-su | [] [] [] [] [] [] |
+ gpe-taskmanager | [] [] [] [] [] |
+ gpe-timesheet | [] [] [] [] [] |
+ gpe-today | [] [] [] [] [] [] [] |
+ gpe-todo | [] [] [] |
+ gphoto2 | [] [] [] [] [] [] |
+ gprof | [] [] [] [] |
+ gpsdrive | [] [] [] |
+ gramadoir | [] [] [] |
+ grep | [] [] |
+ grub | [] [] [] [] |
+ gsasl | [] [] [] [] [] |
+ gss | [] [] [] [] [] |
+ gst-plugins-bad | [] [] [] [] [] [] |
+ gst-plugins-base | [] [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] |
+ gtick | [] [] [] [] [] |
+ gtkam | [] [] [] [] [] |
+ gtkorphan | [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] [] [] |
+ gutenprint | [] [] [] [] |
+ hello | [] [] [] |
+ help2man | [] [] |
+ hylafax | [] |
+ idutils | [] [] [] [] [] [] |
+ indent | [] [] [] [] [] [] [] [] |
+ iso_15924 | [] () [] [] |
+ iso_3166 | [] () [] [] [] [] [] [] [] [] [] [] |
+ iso_3166_2 | () [] [] [] |
+ iso_4217 | [] () [] [] [] [] |
+ iso_639 | [] () [] [] [] [] [] [] [] |
+ iso_639_3 | () [] [] |
+ jwhois | [] [] [] [] [] |
+ kbd | [] [] |
+ keytouch | [] [] [] [] [] [] |
+ keytouch-editor | [] [] [] [] [] |
+ keytouch-keyboa... | [] [] [] [] [] |
+ klavaro | [] [] |
+ latrine | [] [] [] |
+ ld | [] [] [] [] |
+ leafpad | [] [] [] [] [] [] [] () |
+ libc | [] [] [] [] [] |
+ libexif | [] |
+ libextractor | |
+ libgnutls | [] [] |
+ libgpewidget | [] [] [] [] |
+ libgpg-error | [] [] |
+ libgphoto2 | [] [] [] |
+ libgphoto2_port | [] [] [] |
+ libgsasl | [] [] [] [] [] |
+ libiconv | [] [] [] [] [] [] |
+ libidn | [] [] [] [] |
+ lifelines | () |
+ liferea | [] [] [] [] |
+ lilypond | [] [] |
+ linkdr | [] [] [] [] [] |
+ lordsawar | |
+ lprng | [] |
+ lynx | [] [] [] [] [] |
+ m4 | [] [] [] [] [] [] |
+ mailfromd | |
+ mailutils | [] [] |
+ make | [] [] [] [] [] [] [] [] [] |
+ man-db | [] [] |
+ man-db-manpages | [] |
+ minicom | [] [] [] [] [] |
+ mkisofs | [] [] [] [] |
+ myserver | |
+ nano | [] [] [] [] [] [] |
+ opcodes | [] [] [] [] |
+ parted | [] [] [] [] |
+ pies | |
+ popt | [] [] [] [] [] [] [] [] [] |
+ psmisc | [] [] [] |
+ pspp | |
+ pwdutils | [] [] |
+ radius | [] [] |
+ recode | [] [] [] [] [] [] [] [] |
+ rosegarden | () () () () () |
+ rpm | [] [] |
+ rush | |
+ sarg | [] |
+ screem | [] [] |
+ scrollkeeper | [] [] [] [] |
+ sed | [] [] [] [] [] [] [] [] |
+ sharutils | [] [] [] [] [] [] [] |
+ shishi | [] |
+ skencil | [] |
+ solfege | [] [] [] [] |
+ solfege-manual | [] [] |
+ soundtracker | [] [] |
+ sp | [] () |
+ sysstat | [] [] [] [] [] |
+ tar | [] [] [] [] [] [] [] |
+ texinfo | [] [] [] [] |
+ tin | [] |
+ unicode-han-tra... | |
+ unicode-transla... | [] [] |
+ util-linux-ng | [] [] [] [] [] [] |
+ vice | () () () |
+ vmm | [] |
+ vorbis-tools | [] |
+ wastesedge | () () |
+ wdiff | [] |
+ wget | [] [] [] [] [] [] [] [] |
+ wyslij-po | [] [] [] |
+ xchat | [] [] [] [] [] [] [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] [] |
+ +----------------------------------------------------+
+ fi fr ga gl gu he hi hr hu hy id is it ja ka kn
+ 105 121 53 20 4 8 3 5 53 2 120 5 84 67 0 4
+
+ ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne
+ +-----------------------------------------------+
+ a2ps | [] |
+ aegis | |
+ ant-phone | |
+ anubis | [] [] |
+ aspell | [] |
+ bash | |
+ bfd | |
+ bibshelf | [] [] |
+ binutils | |
+ bison | [] |
+ bison-runtime | [] [] [] [] [] |
+ bluez-pin | [] [] [] [] [] |
+ bombono-dvd | |
+ buzztard | |
+ cflow | |
+ clisp | |
+ coreutils | [] |
+ cpio | |
+ cppi | |
+ cpplib | |
+ cryptsetup | |
+ dfarc | [] |
+ dialog | [] [] [] [] [] |
+ dico | |
+ diffutils | [] [] |
+ dink | |
+ doodle | |
+ e2fsprogs | |
+ enscript | |
+ exif | [] |
+ fetchmail | |
+ findutils | |
+ flex | |
+ freedink | [] |
+ gas | |
+ gawk | |
+ gcal | |
+ gcc | |
+ gettext-examples | [] [] [] [] |
+ gettext-runtime | [] |
+ gettext-tools | [] |
+ gip | [] [] |
+ gjay | |
+ gliv | |
+ glunarclock | [] |
+ gnubiff | |
+ gnucash | () () () () |
+ gnuedu | |
+ gnulib | |
+ gnunet | |
+ gnunet-gtk | |
+ gnutls | [] |
+ gold | |
+ gpe-aerial | [] |
+ gpe-beam | [] |
+ gpe-bluetooth | [] [] |
+ gpe-calendar | [] |
+ gpe-clock | [] [] [] [] [] |
+ gpe-conf | [] [] |
+ gpe-contacts | [] [] |
+ gpe-edit | [] |
+ gpe-filemanager | [] [] |
+ gpe-go | [] [] [] |
+ gpe-login | [] |
+ gpe-ownerinfo | [] [] |
+ gpe-package | [] [] |
+ gpe-sketchbook | [] [] |
+ gpe-su | [] [] [] [] [] [] |
+ gpe-taskmanager | [] [] [] [] [] [] |
+ gpe-timesheet | [] [] |
+ gpe-today | [] [] [] [] |
+ gpe-todo | [] [] |
+ gphoto2 | |
+ gprof | [] |
+ gpsdrive | |
+ gramadoir | |
+ grep | |
+ grub | |
+ gsasl | |
+ gss | |
+ gst-plugins-bad | [] [] [] [] |
+ gst-plugins-base | [] [] |
+ gst-plugins-good | [] [] |
+ gst-plugins-ugly | [] [] [] [] [] |
+ gstreamer | |
+ gtick | |
+ gtkam | [] |
+ gtkorphan | [] [] |
+ gtkspell | [] [] [] [] [] [] [] |
+ gutenprint | |
+ hello | [] [] [] |
+ help2man | |
+ hylafax | |
+ idutils | |
+ indent | |
+ iso_15924 | [] [] |
+ iso_3166 | [] [] () [] [] [] [] [] |
+ iso_3166_2 | |
+ iso_4217 | [] [] |
+ iso_639 | [] [] |
+ iso_639_3 | [] |
+ jwhois | [] |
+ kbd | |
+ keytouch | [] |
+ keytouch-editor | [] |
+ keytouch-keyboa... | [] |
+ klavaro | [] |
+ latrine | [] |
+ ld | |
+ leafpad | [] [] [] |
+ libc | [] |
+ libexif | |
+ libextractor | |
+ libgnutls | [] |
+ libgpewidget | [] [] |
+ libgpg-error | |
+ libgphoto2 | |
+ libgphoto2_port | |
+ libgsasl | |
+ libiconv | |
+ libidn | |
+ lifelines | |
+ liferea | |
+ lilypond | |
+ linkdr | |
+ lordsawar | |
+ lprng | |
+ lynx | |
+ m4 | |
+ mailfromd | |
+ mailutils | |
+ make | [] |
+ man-db | |
+ man-db-manpages | |
+ minicom | [] |
+ mkisofs | |
+ myserver | |
+ nano | [] [] |
+ opcodes | |
+ parted | |
+ pies | |
+ popt | [] [] [] |
+ psmisc | |
+ pspp | |
+ pwdutils | |
+ radius | |
+ recode | |
+ rosegarden | |
+ rpm | |
+ rush | |
+ sarg | |
+ screem | |
+ scrollkeeper | [] [] |
+ sed | |
+ sharutils | |
+ shishi | |
+ skencil | |
+ solfege | [] |
+ solfege-manual | |
+ soundtracker | |
+ sp | |
+ sysstat | [] |
+ tar | [] |
+ texinfo | [] |
+ tin | |
+ unicode-han-tra... | |
+ unicode-transla... | |
+ util-linux-ng | |
+ vice | |
+ vmm | |
+ vorbis-tools | |
+ wastesedge | |
+ wdiff | |
+ wget | [] |
+ wyslij-po | |
+ xchat | [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] |
+ +-----------------------------------------------+
+ ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne
+ 20 5 10 1 13 48 4 2 2 4 24 10 20 3 1
+
+ nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr
+ +---------------------------------------------------+
+ a2ps | [] [] [] [] [] [] [] [] |
+ aegis | [] [] [] |
+ ant-phone | [] [] |
+ anubis | [] [] [] |
+ aspell | [] [] [] [] [] |
+ bash | [] [] |
+ bfd | [] |
+ bibshelf | [] [] |
+ binutils | [] [] |
+ bison | [] [] [] |
+ bison-runtime | [] [] [] [] [] [] [] |
+ bluez-pin | [] [] [] [] [] [] [] [] |
+ bombono-dvd | [] () |
+ buzztard | [] [] |
+ cflow | [] |
+ clisp | [] [] |
+ coreutils | [] [] [] [] [] [] |
+ cpio | [] [] [] |
+ cppi | [] |
+ cpplib | [] |
+ cryptsetup | [] |
+ dfarc | [] |
+ dialog | [] [] [] [] |
+ dico | [] |
+ diffutils | [] [] [] [] [] [] |
+ dink | () |
+ doodle | [] [] |
+ e2fsprogs | [] [] |
+ enscript | [] [] [] [] [] |
+ exif | [] [] [] () [] |
+ fetchmail | [] [] [] [] |
+ findutils | [] [] [] [] [] |
+ flex | [] [] [] [] [] |
+ freedink | [] [] |
+ gas | |
+ gawk | [] [] [] [] |
+ gcal | |
+ gcc | [] |
+ gettext-examples | [] [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] [] |
+ gip | [] [] [] [] [] |
+ gjay | |
+ gliv | [] [] [] [] [] [] |
+ glunarclock | [] [] [] [] [] |
+ gnubiff | [] () |
+ gnucash | [] () () () |
+ gnuedu | [] |
+ gnulib | [] [] [] [] |
+ gnunet | |
+ gnunet-gtk | |
+ gnutls | [] [] |
+ gold | |
+ gpe-aerial | [] [] [] [] [] [] [] |
+ gpe-beam | [] [] [] [] [] [] [] |
+ gpe-bluetooth | [] [] |
+ gpe-calendar | [] [] [] [] |
+ gpe-clock | [] [] [] [] [] [] [] [] |
+ gpe-conf | [] [] [] [] [] [] [] |
+ gpe-contacts | [] [] [] [] [] |
+ gpe-edit | [] [] [] |
+ gpe-filemanager | [] [] [] |
+ gpe-go | [] [] [] [] [] [] [] [] |
+ gpe-login | [] [] |
+ gpe-ownerinfo | [] [] [] [] [] [] [] [] |
+ gpe-package | [] [] |
+ gpe-sketchbook | [] [] [] [] [] [] [] |
+ gpe-su | [] [] [] [] [] [] [] [] |
+ gpe-taskmanager | [] [] [] [] [] [] [] [] |
+ gpe-timesheet | [] [] [] [] [] [] [] [] |
+ gpe-today | [] [] [] [] [] [] [] [] |
+ gpe-todo | [] [] [] [] [] |
+ gphoto2 | [] [] [] [] [] [] [] [] |
+ gprof | [] [] [] |
+ gpsdrive | [] [] |
+ gramadoir | [] [] |
+ grep | [] [] [] [] |
+ grub | [] [] [] |
+ gsasl | [] [] [] [] |
+ gss | [] [] [] |
+ gst-plugins-bad | [] [] [] [] [] [] |
+ gst-plugins-base | [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] |
+ gtick | [] [] [] |
+ gtkam | [] [] [] [] [] [] |
+ gtkorphan | [] |
+ gtkspell | [] [] [] [] [] [] [] [] [] [] |
+ gutenprint | [] [] |
+ hello | [] [] [] [] |
+ help2man | [] [] |
+ hylafax | [] |
+ idutils | [] [] [] [] [] |
+ indent | [] [] [] [] [] [] [] |
+ iso_15924 | [] [] [] [] |
+ iso_3166 | [] [] [] [] [] () [] [] [] [] [] [] [] [] |
+ iso_3166_2 | [] [] [] |
+ iso_4217 | [] [] [] [] [] [] [] [] |
+ iso_639 | [] [] [] [] [] [] [] [] [] |
+ iso_639_3 | [] [] |
+ jwhois | [] [] [] [] |
+ kbd | [] [] [] |
+ keytouch | [] [] [] |
+ keytouch-editor | [] [] [] |
+ keytouch-keyboa... | [] [] [] |
+ klavaro | [] [] |
+ latrine | [] [] |
+ ld | |
+ leafpad | [] [] [] [] [] [] [] [] [] |
+ libc | [] [] [] [] |
+ libexif | [] [] () [] |
+ libextractor | |
+ libgnutls | [] [] |
+ libgpewidget | [] [] [] |
+ libgpg-error | [] [] |
+ libgphoto2 | [] [] |
+ libgphoto2_port | [] [] [] [] [] |
+ libgsasl | [] [] [] [] [] |
+ libiconv | [] [] [] [] [] |
+ libidn | [] [] |
+ lifelines | [] [] |
+ liferea | [] [] [] [] [] () () [] |
+ lilypond | [] |
+ linkdr | [] [] [] |
+ lordsawar | |
+ lprng | [] |
+ lynx | [] [] [] |
+ m4 | [] [] [] [] [] |
+ mailfromd | [] |
+ mailutils | [] |
+ make | [] [] [] [] |
+ man-db | [] [] [] |
+ man-db-manpages | [] [] [] |
+ minicom | [] [] [] [] |
+ mkisofs | [] [] [] |
+ myserver | |
+ nano | [] [] [] [] |
+ opcodes | [] [] |
+ parted | [] [] [] [] |
+ pies | [] |
+ popt | [] [] [] [] |
+ psmisc | [] [] [] |
+ pspp | [] [] |
+ pwdutils | [] |
+ radius | [] [] [] |
+ recode | [] [] [] [] [] [] [] [] |
+ rosegarden | () () |
+ rpm | [] [] [] |
+ rush | [] [] |
+ sarg | |
+ screem | |
+ scrollkeeper | [] [] [] [] [] [] [] [] |
+ sed | [] [] [] [] [] [] [] [] [] |
+ sharutils | [] [] [] [] |
+ shishi | [] |
+ skencil | [] [] |
+ solfege | [] [] [] [] |
+ solfege-manual | [] [] [] |
+ soundtracker | [] |
+ sp | |
+ sysstat | [] [] [] [] |
+ tar | [] [] [] [] |
+ texinfo | [] [] [] [] |
+ tin | [] |
+ unicode-han-tra... | |
+ unicode-transla... | |
+ util-linux-ng | [] [] [] [] [] |
+ vice | [] |
+ vmm | [] |
+ vorbis-tools | [] [] |
+ wastesedge | [] |
+ wdiff | [] [] |
+ wget | [] [] [] [] [] [] [] |
+ wyslij-po | [] [] [] |
+ xchat | [] [] [] [] [] [] [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] |
+ +---------------------------------------------------+
+ nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr
+ 135 10 4 7 105 1 29 62 47 91 3 54 46 9 37
+
+ sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW
+ +---------------------------------------------------+
+ a2ps | [] [] [] [] [] | 27
+ aegis | [] | 9
+ ant-phone | [] [] [] [] | 9
+ anubis | [] [] [] [] | 15
+ aspell | [] [] [] | 20
+ bash | [] [] [] | 12
+ bfd | [] | 6
+ bibshelf | [] [] [] | 16
+ binutils | [] [] | 8
+ bison | [] [] | 12
+ bison-runtime | [] [] [] [] [] [] | 29
+ bluez-pin | [] [] [] [] [] [] [] [] | 37
+ bombono-dvd | [] | 4
+ buzztard | [] | 7
+ cflow | [] [] [] | 9
+ clisp | | 10
+ coreutils | [] [] [] [] | 22
+ cpio | [] [] [] [] [] [] | 13
+ cppi | [] [] | 5
+ cpplib | [] [] [] [] [] [] | 14
+ cryptsetup | [] [] | 7
+ dfarc | [] | 9
+ dialog | [] [] [] [] [] [] [] | 30
+ dico | [] | 2
+ diffutils | [] [] [] [] [] [] | 30
+ dink | | 4
+ doodle | [] [] | 7
+ e2fsprogs | [] [] [] | 11
+ enscript | [] [] [] [] | 17
+ exif | [] [] [] | 16
+ fetchmail | [] [] [] | 17
+ findutils | [] [] [] [] [] | 20
+ flex | [] [] [] [] | 15
+ freedink | [] | 10
+ gas | [] | 4
+ gawk | [] [] [] [] | 18
+ gcal | [] [] | 5
+ gcc | [] [] [] | 7
+ gettext-examples | [] [] [] [] [] [] [] | 34
+ gettext-runtime | [] [] [] [] [] [] [] | 29
+ gettext-tools | [] [] [] [] [] [] | 22
+ gip | [] [] [] [] | 22
+ gjay | [] | 3
+ gliv | [] [] [] | 14
+ glunarclock | [] [] [] [] [] | 19
+ gnubiff | [] [] | 4
+ gnucash | () [] () [] () | 10
+ gnuedu | [] [] | 7
+ gnulib | [] [] [] [] | 16
+ gnunet | [] | 1
+ gnunet-gtk | [] [] [] | 5
+ gnutls | [] [] [] | 10
+ gold | [] | 4
+ gpe-aerial | [] [] [] | 18
+ gpe-beam | [] [] [] | 19
+ gpe-bluetooth | [] [] [] | 13
+ gpe-calendar | [] [] [] [] | 12
+ gpe-clock | [] [] [] [] [] | 28
+ gpe-conf | [] [] [] [] | 20
+ gpe-contacts | [] [] [] | 17
+ gpe-edit | [] [] [] | 12
+ gpe-filemanager | [] [] [] [] | 16
+ gpe-go | [] [] [] [] [] | 25
+ gpe-login | [] [] [] | 11
+ gpe-ownerinfo | [] [] [] [] [] | 25
+ gpe-package | [] [] [] | 13
+ gpe-sketchbook | [] [] [] | 20
+ gpe-su | [] [] [] [] [] | 30
+ gpe-taskmanager | [] [] [] [] [] | 29
+ gpe-timesheet | [] [] [] [] [] | 25
+ gpe-today | [] [] [] [] [] [] | 30
+ gpe-todo | [] [] [] [] | 17
+ gphoto2 | [] [] [] [] [] | 24
+ gprof | [] [] [] | 15
+ gpsdrive | [] [] [] | 11
+ gramadoir | [] [] [] | 11
+ grep | [] [] [] | 10
+ grub | [] [] [] | 14
+ gsasl | [] [] [] [] | 14
+ gss | [] [] [] | 11
+ gst-plugins-bad | [] [] [] [] | 26
+ gst-plugins-base | [] [] [] [] [] | 24
+ gst-plugins-good | [] [] [] [] | 24
+ gst-plugins-ugly | [] [] [] [] [] | 29
+ gstreamer | [] [] [] [] | 22
+ gtick | [] [] [] | 13
+ gtkam | [] [] [] | 20
+ gtkorphan | [] [] [] | 14
+ gtkspell | [] [] [] [] [] [] [] [] [] | 45
+ gutenprint | [] | 10
+ hello | [] [] [] [] [] [] | 21
+ help2man | [] [] | 7
+ hylafax | [] | 5
+ idutils | [] [] [] [] | 17
+ indent | [] [] [] [] [] [] | 30
+ iso_15924 | () [] () [] [] | 16
+ iso_3166 | [] [] () [] [] () [] [] [] () | 53
+ iso_3166_2 | () [] () [] | 9
+ iso_4217 | [] () [] [] () [] [] | 26
+ iso_639 | [] [] [] () [] () [] [] [] [] | 38
+ iso_639_3 | [] () | 8
+ jwhois | [] [] [] [] [] | 16
+ kbd | [] [] [] [] [] | 15
+ keytouch | [] [] [] | 16
+ keytouch-editor | [] [] [] | 14
+ keytouch-keyboa... | [] [] [] | 14
+ klavaro | [] | 11
+ latrine | [] [] [] | 10
+ ld | [] [] [] [] | 11
+ leafpad | [] [] [] [] [] [] | 33
+ libc | [] [] [] [] [] | 21
+ libexif | [] () | 7
+ libextractor | [] | 1
+ libgnutls | [] [] [] | 9
+ libgpewidget | [] [] [] | 14
+ libgpg-error | [] [] [] | 9
+ libgphoto2 | [] [] | 8
+ libgphoto2_port | [] [] [] [] | 14
+ libgsasl | [] [] [] | 13
+ libiconv | [] [] [] [] | 21
+ libidn | () [] [] | 11
+ lifelines | [] | 4
+ liferea | [] [] [] | 21
+ lilypond | [] | 7
+ linkdr | [] [] [] [] [] | 17
+ lordsawar | | 1
+ lprng | [] | 3
+ lynx | [] [] [] [] | 17
+ m4 | [] [] [] [] | 19
+ mailfromd | [] [] | 3
+ mailutils | [] | 5
+ make | [] [] [] [] | 21
+ man-db | [] [] [] | 8
+ man-db-manpages | | 4
+ minicom | [] [] | 16
+ mkisofs | [] [] | 9
+ myserver | | 0
+ nano | [] [] [] [] | 21
+ opcodes | [] [] [] | 11
+ parted | [] [] [] [] [] | 15
+ pies | [] [] | 3
+ popt | [] [] [] [] [] [] | 27
+ psmisc | [] [] | 11
+ pspp | | 4
+ pwdutils | [] [] | 6
+ radius | [] [] | 9
+ recode | [] [] [] [] | 28
+ rosegarden | () | 0
+ rpm | [] [] [] | 11
+ rush | [] [] | 4
+ sarg | | 1
+ screem | [] | 3
+ scrollkeeper | [] [] [] [] [] | 27
+ sed | [] [] [] [] [] | 30
+ sharutils | [] [] [] [] [] | 22
+ shishi | [] | 3
+ skencil | [] [] | 7
+ solfege | [] [] [] [] | 16
+ solfege-manual | [] | 8
+ soundtracker | [] [] [] | 9
+ sp | [] | 3
+ sysstat | [] [] | 15
+ tar | [] [] [] [] [] [] | 23
+ texinfo | [] [] [] [] [] | 17
+ tin | | 4
+ unicode-han-tra... | | 0
+ unicode-transla... | | 2
+ util-linux-ng | [] [] [] [] | 20
+ vice | () () | 1
+ vmm | [] | 4
+ vorbis-tools | [] | 6
+ wastesedge | | 2
+ wdiff | [] [] | 7
+ wget | [] [] [] [] [] | 26
+ wyslij-po | [] [] | 8
+ xchat | [] [] [] [] [] [] | 36
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | 63
+ xkeyboard-config | [] [] [] | 22
+ +---------------------------------------------------+
+ 85 teams sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW
+ 178 domains 119 1 3 3 0 10 65 51 155 17 98 7 41 2618
Some counters in the preceding matrix are higher than the number of
visible blocks let us expect. This is because a few extra PO files are
@@ -742,13 +1256,13 @@ distributed as such by its maintainer. There might be an observable
lag between the mere existence a PO file and its wide availability in a
distribution.
- If January 2004 seems to be old, you may fetch a more recent copy of
+ If June 2010 seems to be old, you may fetch a more recent copy of
this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date
matrix with full percentage details can be found at
-`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
+`http://translationproject.org/extra/matrix.html'.
-Using `gettext' in new packages
-===============================
+1.5 Using `gettext' in new packages
+===================================
If you are writing a freely available program and want to
internationalize it you are welcome to use GNU `gettext' in your
@@ -763,6 +1277,6 @@ the use of `gettext' the only thing missing are the translations. The
Free Translation Project is also available for packages which are not
developed inside the GNU project. Therefore the information given above
applies also for every other Free Software Project. Contact
-`translation@iro.umontreal.ca' to make the `.pot' files available to
-the translation teams.
+`coordinator@translationproject.org' to make the `.pot' files available
+to the translation teams.
diff --git a/AUTHORS b/AUTHORS
index 8de80e6d..65398819 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -37,17 +37,20 @@ GNU make porting efforts:
Port to MS-DOS (DJGPP), OS/2, and MS-Windows (native/MinGW) by:
DJ Delorie <dj@delorie.com>
Rob Tulloh <rob_tulloh@tivoli.com>
- Eli Zaretskii <eliz@is.elta.co.il>
+ Eli Zaretskii <eliz@gnu.org>
Jonathan Grant <jg@jguk.org>
Andreas Beuning <andreas.buening@nexgo.de>
Earnie Boyd <earnie@uses.sf.net>
+ Troy Runkel <Troy.Runkel@mathworks.com>
-----------------------------------
Other contributors:
Janet Carson <janet_carson@tivoli.com>
Howard Chu <hyc@highlandsun.com>
+ Ludovic Courtès <ludo@gnu.org>
Paul Eggert <eggert@twinsun.com>
+ Ramon Garcia Fernandez <ramon.garcia.f@gmail.com>
Klaus Heinz <kamar@ease.rhein-main.de>
Michael Joosten
Jim Kelton <jim_kelton@tivoli.com>
@@ -55,19 +58,21 @@ Other contributors:
Tim Magill <tim.magill@telops.gte.com>
Markus Mauhart <qwe123@chello.at>
Greg McGary <greg@mcgary.org>
+ Thien-Thi Nguyen <ttn@gnuvola.org>
Thomas Riedl <thomas.riedl@siemens.com>
Han-Wen Nienhuys <hanwen@cs.uu.nl>
Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
Carl Staelin (Princeton University)
Ian Stewartson (Data Logic Limited)
- Ramon Garcia Fernandez <ramon.garcia.f@gmail.com>
+ David A. Wheeler <dwheeler@dwheeler.com>
+ David Boyce <dsb@boyski.com>
+ Frank Heckenbach <f.heckenbach@fh-soft.de>
With suggestions/comments/bug reports from a cast of ... well ...
hundreds, anyway :)
-------------------------------------------------------------------------------
-Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-2008, 2009, 2010 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 --git a/ChangeLog b/ChangeLog
deleted file mode 100644
index d135d1cd..00000000
--- a/ChangeLog
+++ /dev/null
@@ -1,4018 +0,0 @@
-2010-07-28 Paul Smith <psmith@gnu.org>
-
- Version 3.82 released.
-
- * configure.in: Change release version.
- * NEWS: Change the date.
-
- * read.c (parse_file_seq): Remove GLOB_NOSORT for
- backward-compatibility. We'll add it back in next release.
- * NEWS: Note it.
-
-2010-07-24 Eli Zaretskii <eliz@gnu.org>
-
- * job.c (pid2str) [WINDOWS32]: Fix CPP conditionals for using %Id
- format.
-
-2010-07-18 Paul Smith <psmith@gnu.org>
-
- * configure.in: Switch bsd_signal to AC_CHECK_DECLS() to make sure
- we have a declaration. Fixes Savannah bug #25713 (maybe?)
- * doc/make.texi (Complex Makefile): Cleanup variable assignments.
- (One Shell): New subsection for the .ONESHELL special target.
-
- Patches by Ozkan Sezer <sezeroz@gmail.com>:
-
- * misc.c (strncasecmp): Local implementation for systems without.
- * config.h.W32.template (HAVE_STRNICMP): Define on Windows.
- * configure.in: Check for strncasecmp/strncmpi/strnicmp.
- * job.c [WINDOWS32]: Don't define dup2 on Windows.
- (pid2str): Use "%Id" even with MSVC
- (exec_command): Cast to pid_t when calling pid2str().
- * w32/subproc/sub_proc.c [WINDOWS32]: Include config.h first.
- Use stddef.h on MSVC to get intptr_t.
- * w32/subproc/misc.c [WINDOWS32]: Include config.h first.
- * w32/compat/dirent.c [WINDOWS32]: Include config.h first.
- (readdir): Cast -1 to correct type for d_ino.
- * w32/pathstuff.c [WINDOWS32]: Ensure make.h is included first.
- * make.h [WINDOWS32]: Don't prototype alloca() on Windows.
- Add configuration for strncasecmp().
- * main.c (ADD_SIG) [WINDOWS32]: Avoid warnings in MSVC.
- * config.h.W32.template [WINDOWS32]: Don't warn on unsafe
- functions or variables.
- * NMakefile.template [WINDOWS32]: Remove /MACHINE:I386.
- * main.c (clean_jobserver): Cast due to MSVC brokenness.
- (decode_switches): Ditto.
- * vpath.c (construct_vpath_list): Ditto.
- * rule.c (freerule): Ditto.
- * ar.c (ar_glob): Ditto.
-
-2010-07-16 Boris Kolpackov <boris@codesynthesis.com>
-
- * misc.c (concat): Fix buffer overrun.
-
-2010-07-12 Paul Smith <psmith@gnu.org>
-
- Update copyrights to add 2010.
-
- * build_w32.bat: Support for MSVC Windows x86_64 builds.
- * job.c: Don't define execve() on MSVC/64bit.
- Patch by Viktor Szakats. Fixes Savannah bug #27590.
-
-2010-07-12 Eli Zaretskii <eliz@gnu.org>
-
- * make.h (alloca) [!__GNUC__]: Don't define prototype.
- (int w32_kill): Use pid_t for process ID argument.
- Fixes Savannah bug #27809.
-
-2010-07-12 Paul Smith <psmith@gnu.org>
-
- Integrated new .ONESHELL feature.
- Patch by David Boyce <dsb@boyski.com>. Modified by me.
-
- * NEWS: Add a note about the new feature.
- * job.c (is_bourne_compatible_shell): Determine whether we're
- using a standard POSIX shell or not.
- (start_job_command): Accept '-ec' as POSIX shell flags.
- (construct_command_argv_internal): If one_shell is set and we are
- using a POSIX shell, remove "interior" prefix characters such as
- "@", "+", "-". Also treat "\n" as a special character when
- choosing the slow path, if ONESHELL is set.
- * job.h (is_bourne_compatible_argv): Define the new function.
-
- * make.h (one_shell): New global variable to remember setting.
- * main.c: Declare it.
- * read.c (record_files): Set it.
- * commands.c (chop_commands): If one_shell is set, don't chop
- commands into multiple lines; just keep one line.
-
-2010-07-09 Eli Zaretskii <eliz@gnu.org>
-
- * w32/subproc/sub_proc.c: Include stdint.h.
- (sub_process_t): Use intptr_t for file handles and pid_t for
- process ID.
- (process_pipes, process_init_fd, process_begin): Use intptr_t for
- file handles and pid_t for process ID. Fixes Savannah bug #27809.
- Patch by Ozkan Sezer <sezeroz@gmail.com>
-
- * function.c (abspath): Support absolute file names in UNC format.
- Fixes Savannah bug #30312.
-
- * job.c (pid2str) [WINDOWS32]: Don't use %Id with GCC < 4.x.
- (exec_command) [WINDOWS32]: Use pid2str instead of non-portable
- %Id.
-
- * main.c (handle_runtime_exceptions): Use %p to print addresses,
- to DTRT on both 32-bit and 64-bit hosts. Savannah bug #27809.
-
- * job.c (w32_kill, start_job_command, create_batch_file): Use
- pid_t for process IDs and intptr_t for the 1st arg of
- _open_osfhandle.
- * function.c (windows32_openpipe): Use pid_t for process IDs and
- intptr_t for the 1st arg of _open_osfhandle.
- (func_shell): Use pid_t for process IDs.
- * main.c (main) [WINDOWS32]: Pacify the compiler.
- * config.h.W32.template (pid_t): Add a definition for 64-bit
- Windows builds that don't use GCC. Fixes Savannah bug #27809.
- Patch by Ozkan Sezer <sezeroz@gmail.com>
-
-2010-07-07 Paul Smith <psmith@gnu.org>
-
- * configure.in: Bump to a new prerelease version 3.81.91.
-
-2010-07-06 Paul Smith <psmith@gnu.org>
-
- * main.c (main): Set a default value of "-c" for .SHELLFLAGS.
- * NEWS: Mention the new behavior of .POSIX and the new .SHELLFLAGS
- variable.
- * job.c (construct_command_argv): Retrieve the .SHELLFLAGS value
- and pass it to construct_command_argv_internal().
- (construct_command_argv_internal): If .SHELLFLAGS is non-standard
- use the slow path. Use that value instead of hard-coded "-c".
-
-2010-07-05 Paul Smith <psmith@gnu.org>
-
- * implicit.c (pattern_search): lastslash can be const.
- * dir.c (downcase): Remove unused variable.
- * hash.c (hash_init): Cast sizeof for error message.
- * arscan.c (ar_scan): Cast to char* for WINDOWS32.
- (ar_member_touch): Ditto.
- * ar.c (glob_pattern_p): Avoid symbol collision: open -> opened
- * signame.c (strsignal): Ditto: signal -> sig
- * job.c (create_batch_file): Ditto: error -> error_string
- (pid2str): Portably convert a pid_t into a string
- (reap_children): Use it.
- (start_waiting_job): Use it.
- Savannah bug #27809. Patch by Ozkan Sezer <sezeroz@gmail.com>
-
-2010-07-03 Paul Smith <psmith@gnu.org>
-
- * read.c (parse_file_seq): All archive groups must end with ')' as
- the LAST character in a word. If there is no word ending in ')'
- then it's not an archive group. Fixes Savannah bug #28525.
-
-2010-07-01 Paul Smith <psmith@gnu.org>
-
- * main.c (main): Append optional features using separate calls.
- Not as efficient but not all compilers allow conditionals inside
- macro calls. Fixes Savannah bug #29244.
-
-2010-01-10 Paul Smith <psmith@gnu.org>
-
- * make.h (patheq): Rename strieq() to patheq() for clarity.
- * dir.c (dir_contents_file_exists_p): Use it.
-
- * dir.c (file_impossible): Convert xmalloc/memset to xcalloc.
- * file.c (enter_file): Ditto.
- * job.c (new_job): Ditto.
-
-2009-12-11 Eli Zaretskii <eliz@gnu.org>
-
- * job.c (construct_command_argv_internal) <sh_cmds_dos>
- [WINDOWS32]: Add "echo." and a few more commands that are built
- into cmd.exe. Fixes Savannah bug #28126.
-
- * file.c (lookup_file) [HAVE_DOS_PATHS]: Treat '\\' like we do
- with '/'.
-
-2009-11-15 Paul Smith <psmith@gnu.org>
-
- Patches for VMS provided by Hartmut Becker <Hartmut.Becker@hp.com>
-
- * vmsjobs.c (ctrlYPressed) [VMS]: Deal with CTRL-Y.
- (vmsHandleChildTerm) [VMS]: Ditto.
- (astYHandler) [VMS]: Ditto.
- (tryToSetupYAst) [VMS]: Ditto.
- (child_execute_job) [VMS]: Ditto.
-
- * vmsify.c (trnlog) [VMS]: Fix const errors.
- (vmsify) [VMS]: Ditto.
-
- * readme.vms [VMS]: Update with notes for 3.82.
-
- * job.h (comname) [VMS]: Remember the temporary command filename
-
- * dir.c (vmsify) [VMS]: Fix const errors.
- (vms_hash) [VMS]: Ditto.
- (vmsstat_dir) [VMS]: Ditto.
- (find_directory) [VMS]: Fix case-insensitive option for VMS
- (dir_contents_file_exists_p) [VMS]: Ditto.
- (file_impossible) [VMS]: Ditto.
-
- * config.h-vms.template (HAVE_FDOPEN) [VMS]: Have it.
- (HAVE_STRCASECMP) [VMS]: Ditto.
-
- * arscan.c (VMS_get_member_info) [VMS]: Fix timezone computation.
- (ar_scan) [VMS]: Fix const error.
-
-2009-11-12 Boris Kolpackov <boris@codesynthesis.com>
-
- * vpath.c (vpath_search, selective_vpath_search): Add index arguments
- which allows the caller to get the index of the matching directory.
-
- * make.h (vpath_search): Update prototype.
-
- * remake.c (library_search): Implement linker-compatible library
- search. Use the new VPATH_SEARCH index functionality to keep track
- of the directory index for each match. Select the match with the
- lowest directory index.
-
- * implicit.c (pattern_search): Pass NULL for the index arguments in
- the VPATH_SEARCH call.
-
- * doc/make.texi (Directory Search for Link Libraries): Describe the
- new search behavior.
-
- * NEWS: Add a note about the new behavior.
-
-2009-10-25 Paul Smith <psmith@gnu.org>
-
- * AUTHORS, et.al.: Update copyright years.
-
- * implicit.c (stemlen_compare): Fix qsort() compare bug that
- caused implicit rules with equal stem lengths to be sorted
- indeterminately.
-
-2009-10-24 Paul Smith <psmith@gnu.org>
-
- * main.c (usage): Add --eval to the usage string.
- (switches): Add the --eval switch.
- (main): If --eval is given, add them to the simply-expanded variable
- -*-eval-flags-*- (necessary to allow recursion to work properly).
- (define_makeflags): Add -*-eval-flags-*- to MAKEFLAGS.
-
- * NEWS: Describe the new --eval command line argument.
- * doc/make.texi (Options Summary): Document --eval.
-
- * dep.h: eval_buffer() returns void.
- * read.c (eval_buffer): Ditto.
- (eval): Ditto.
-
- * variable.h (define_variable_cname): New macro for constant
- variable names.
- * default.c (set_default_suffixes): Use it.
- * main.c (main): Ditto.
- (handle_non_switch_argument): Ditto.
- (define_makeflags): Ditto.
- * read.c (read_all_makefiles): Ditto.
- * variable.c (define_automatic_variables): Ditto.
-
- * commands.c (dep_hash_cmp): Avoid casts.
- (dep_hash_1): Ditto.
- (dep_hash_2): Ditto.
-
-2009-10-22 Boris Kolpackov <boris@codesynthesis.com>
-
- * read.c (read_all_makefiles): Mark the default makefile dependency
- dontcare.
-
-2009-10-07 Boris Kolpackov <boris@codesynthesis.com>
-
- * read.c (do_undefine): Free the expanded variable name.
-
- * commands.c (dep_hash_cmp, set_file_variables): Move the order-only
- to normal upgrade logic from dep_hash_cmp to set_file_variables.
-
-2009-10-06 Boris Kolpackov <boris@codesynthesis.com>
-
- * dep.h (uniquize_deps): Remove.
-
- * read.c (uniquize_deps): Merge into set_file_variables in
- commands.c.
- (dep_hash_1, dep_hash_2, dep_hash_cmp): Move to commands.c.
-
- * commands.c (set_file_variables): Avoid modifying the dep
- chain to achieve uniqueness. Fixes savannah bug 25780.
-
- * implicit.c (pattern_search): Instead of re-setting all automatic
- variables for each rule we try, just update $*.
-
-2009-10-06 Boris Kolpackov <boris@codesynthesis.com>
-
- * variable.h (undefine_variable_in_set): New function declaration.
- (undefine_variable_global): New macro.
-
- * variable.c (undefine_variable_in_set): New function implementation.
-
- * read.c (vmodifiers): Add undefine_v modifier.
- (parse_var_assignment): Parse undefine.
- (do_undefine): Handle the undefine directive.
- (eval): Call do_undefine if undefine_v is set.
-
- * main.c (.FEATURES): Add a keyword to indicate the new feature.
-
- * doc/make.texi (Undefine Directive): Describe the new directive.
-
- * NEWS: Add a note about the new directive.
-
-2009-10-05 Boris Kolpackov <boris@codesynthesis.com>
-
- * implicit.c (pattern_search): Initialize file variables only
- if we need to parse a rule that requires the second expansion.
-
-2009-10-03 Paul Smith <psmith@gnu.org>
-
- * make.h: Include <alloca.h> even on systems where __GNUC__ is
- defined. Not sure why it was done the other way.
- Requested by David Boyce <dsb@boyski.com>.
-
-2009-09-30 Boris Kolpackov <boris@codesynthesis.com>
-
- * dep.h (dep): Add the DONTCARE bitfield.
-
- * filedef.h (file):Add the NO_DIAG bitfield.
-
- * read.c (eval_makefile): Set the DONTCARE flag in struct dep,
- not struct file (a file can be a dependency of many targets,
- some don't care, some do).
-
- * remake.c (update_goal_chain): Propagate DONTCARE from struct
- dep to struct file before updating the goal and restore it
- afterwards.
- (update_file): Don't prune the dependency graph if this target
- has failed but the diagnostics hasn't been issued.
- (complain): Scan the file's dependency graph to find the file
- that caused the failure.
- (update_file_1): Use NO_DIAG instead of DONTCARE to decide
- whether to print diagnostics.
-
- Fixes Savannah bugs #15110, #25493, #12686, and #17740.
-
-2009-09-28 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (Pattern Intro): Move the match algorithm
- discussion into the "Pattern Match" node.
- (Pattern Match): Expand on the pattern rule matching algorithm.
-
-2009-09-28 Andreas Buening <andreas.buening@nexgo.de>
-
- * job.c (construct_command_argv_internal) [OS2]: Don't eat too
- much of the command line on a single pass.
-
-2009-09-28 Boris Kolpackov <boris@codesynthesis.com>
-
- * varible.c (create_pattern_var): Insert variables into the
- PATTERN_VARS list in the shortest patterns first order.
-
- * implicit.c (tryrule): Add STEMLEN and ORDER members. These are
- used to sort the rules.
- (stemlen_compare): Compare two tryrule elements.
- (pattern_search): Sort the rules so that they are in the shortest
- stem first order.
-
- * main.c (.FEATURES): Add a keyword to indicate the new behavior.
-
- * doc/make.texi (Pattern-specific Variable Values): Describe the
- new pattern-specific variables application order.
- (Introduction to Pattern Rules): Describe the new pattern rules
- search order.
-
- * NEWS: Add a note about the new behavior.
-
-2009-09-27 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (Double-Colon): Mention that pattern rules with
- double-colons have a different meaning. Savannah bug #27497.
-
-2009-09-27 Juan Manuel Guerrero <juan.guerrero@gmx.de>
-
- * configh.dos.template: Remove unconditional definition of
- SYS_SIGLIST_DECLARED.
- Include <sys/version.h> because ports of GCC 4.3.0 and later no
- longer include it, so macros like __DJGPP_MINOR__ are no longer
- defined automatically.
-
- * Makefile.DOS.template (INCLUDES): Use $(prefix) and the
- corresponding variables to define LIBDIR, INCLUDEDIR and LOCALEDIR
- instead of using the hardcoded ones.
- (SUBDIRS): doc subdir added.
- (INFO_DEPS, DVIS): Values changed to 'make.info' and 'make.dvi'.
- (TEXI2HTML, TEXI2HTML_FLAGS): Removed. Use makeinfo --html to
- create html formated docs. texi2html may not be ported to DOS.
- (make.info, make.dvi, make.ps, make.html): Make targets depend on
- 'make.texi'.
- (.texi.info, .texi, .texi.dvi): Now invoked recursively. Change
- -I switch to look in ./ instead of ./doc.
- (html): Target depend on html-recursive instead of make_1.html.
- (make_1.html): Removed.
- (mostlyclean-aminfo): Use $(srcdir)/doc instead of ./ as prefix.
- (all-recursive): Allow for more than one subdir in the build
- process.
- (mostlyclean-recursive, clean-recursive, distclean-recursive)
- (maintainer-clean-recursive, check-recursive): Enter in doc/ too.
- (tags-recursive): Allow for more than one subdir in the build
- process.
- (info-recursive, dvi-recursive, ps-recursive, html-recursive): New
- targets. Enter into doc/ to produce the targets.
- (all-am): $(INFO_DEPS) replaced by info.
-
-2009-09-26 Paul Smith <psmith@gnu.org>
-
- * read.c (record_files): Use free_ns() to free struct nameseq.
- (eval): Ditto.
-
- * rule.c (freerule): Use free_dep_chain().
-
- * read.c (record_files): Free FILENAMES chain for implicit rules.
- (eval): Static pattern targets go into the string cache.
-
- * function.c (string_glob): Free NAME in the nameseq chain.
-
-2009-09-25 Boris Kolpackov <boris@codesynthesis.com>
-
- * implicit.c (pattern_search): Terminate early if we haven't
- found any rules to try (performance improvement).
-
-2009-09-25 Boris Kolpackov <boris@codesynthesis.com>
-
- * implicit.c (pattern_search): Merge three parallel arrays,
- TRYRULES, MATCHES, and CHECKED_LASTSLASH, into one array
- of struct TRYRULE. In the old version the latter two arrays
- had insufficient length.
-
-2009-09-24 Paul Smith <psmith@gnu.org>
-
- * implicit.c (pattern_search): Add back support for order-only
- prerequisites for secondary expansion implicit rules, that were
- accidentally dropped. If we find a "|", enable order-only mode
- and set IGNORE_MTIME on all deps that are seen afterward.
- (pattern_search): Fix memory leaks: for intermediate files where
- we've already set the file variable and pattern variable sets, be
- sure to either save or free them as appropriate.
-
-2009-09-23 Paul Smith <psmith@gnu.org>
-
- Rework the way secondary expansion is stored, for efficiency.
- This changes secondary expansion so that ONLY WHEN we know we have
- a possibility of needing secondary expansion, do we defer the
- secondary expansion. This means more parsing the deps but we use
- a lot less memory (due to the strcache). Also, this fixes
- Savannah bug #18622.
-
- * read.c (eval): Don't parse the dep string here anymore.
- (record_files): Take the dep argument as an unparsed string. If
- secondary expansion is enabled AND the prereq string has a '$' in
- it, then set NEED_2ND_EXPANSION and keep the entire string.
- Otherwise, parse the dep string here to construct the dep list
- with the names in the strcache.
-
- * misc.c (copy_dep_chain): For NEED_2ND_EXPANSION, we need to
- duplicate the name string (others are in the strcache).
-
- * implicit.c: Remove struct idep and free_idep_chain(): unused.
- (struct patdeps): New structure to store prereq information.
- (pattern_search): Use the NEED_2ND_EXPANSION flag to determine
- which prerequisites need expansion, and expand only those.
-
- * file.c (split_prereqs): Break parse_prereqs() into two parts: this
- and enter_prereqs(). split_prereqs() takes a fully-expanded string
- and splits it into a DEP list, handling order-only prereqs.
- (enter_prereqs): This function enters a list of DEPs into the file
- database. If there's a stem defined, expand any pattern chars.
- (expand_deps): Only try to expand DEPs which have NEED_2ND_EXPANSION
- set. Use the above functions.
- (snap_deps): Only perform second expansion on prereqs that need it,
- as defined by the NEED_2ND_EXPANSION flag.
- (print_prereqs): New function to print the prereqs
- (print_file): Call print_prereqs() rather than print inline.
-
- * hash.h (STRING_COMPARE): Take advantage of strcache() by
- comparing pointers.
- (STRING_N_COMPARE): Ditto.
- (ISTRING_COMPARE): Ditto.
-
- * dep.h (PARSE_FILE_SEQ): New macro to reduce casts.
- (parse_file_seq): Return void*
- * read.c (parse_file_seq): Return void*.
- (eval): Invoke macroized version of parse_file_seq()
- * default.c (set_default_suffixes): Ditto.
- * file.c (split_prereqs): Ditto.
- * function.c (string_glob): Ditto.
- * main.c (main): Ditto.
- * rule.c (install_pattern_rule): Ditto.
-
- * filedef.h: Add split_prereqs(), enter_prereqs(), etc.
-
-2009-09-16 Paul Smith <psmith@gnu.org>
-
- * misc.c (alloc_dep, free_dep): Now that we have xcalloc(),
- convert to macros.
- * dep.h: Create alloc_dep() / free_dep() macros.
-
- * implicit.c (pattern_search): Take advantage of the new
- parse_file_seq() to add the directory prefix to each prereq.
-
- * dep.h: Remove multi_glob() and enhance parse_file_seq() to do it
- all. Avoid reversing chains. Support adding prefixes.
- * read.c (parse_file_seq): Rewrite to support globbing. Allow for
- cached/non-cached results.
- (eval): Remove multi_glob() & invoke new parse_file_seq().
- * rule.c (install_pattern_rule): Ditto.
- * main.c (main): Ditto.
- * implicit.c (pattern_search): Ditto.
- * function.c (string_glob): Ditto.
- * file.c (parse_prereqs): Ditto.
- * default.c (set_default_suffixes): Ditto.
-
- * variable.c (parse_variable_definition): Don't run off the end of
- the string if it ends in whitespace (found with valgrind).
-
- * commands.c (set_file_variables): Keep space for all targets in
- $? if -B is given (found with valgrind).
-
-2009-09-15 Paul Smith <psmith@gnu.org>
-
- * misc.c (concat): Make concat() variadic so it takes >3 arguments.
- (xcalloc): Add new function.
- * make.h: New declarations.
-
- * ar.c (ar_glob_match): New calling method for concat().
- * main.c (main): Ditto.
- (decode_env_switches): Ditto.
- * read.c (eval_makefile): Ditto.
- (tilde_expand): Ditto.
- (parse_file_seq): Ditto.
- * variable.c (target_environment): Ditto.
- (sync_Path_environment): Ditto.
-
- * ar.c (ar_glob_match): Use xcalloc().
- * dir.c (file_impossible): Ditto.
- * file.c (enter_file): Ditto.
- * job.c (new_job): Ditto.
- * read.c (parse_file_seq): Ditto.
- * vmsfunctions.c (opendir): Ditto.
-
-2009-09-14 Rafi Einstein <rafi.einstein@gmail.com> (tiny patch)
-
- * w32/subproc/sub_proc.c (process_begin): Check *ep non-NULL
- inside the loop that looks up environment for PATH.
-
-2009-08-31 Eli Zaretskii <eliz@gnu.org>
-
- * function.c (windows32_openpipe): Update envp after calling
- sync_Path_environment.
-
-2009-08-02 Paul Smith <psmith@gnu.org>
-
- * remake.c (notice_finished_file): Ensure file->cmds is not null
- before looping through them. Fixes Savannah bug #21824.
-
- * doc/make.texi (Wildcard Examples): Clarify when objects is
- wildcard-expanded. Fixes Savannah bug #24509. Patch by Martin Dorey.
- (Include): Clarify the behavior of -include.
- Fixes Savannah bug #18963.
-
-2009-08-01 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (Catalogue of Rules): Clarify where -c, -F,
- etc. come on the command line. Fixes Savannah bug #27093.
-
- * expand.c (expand_argument): If the argument is large enough use
- xmalloc() instead of alloca(). Fixes Savannah bug #27143.
-
- * variable.c (do_variable_definition): Avoid using alloca() to
- hold values, which can be large. Fixes Savannah bug #23960.
-
- * job.c (new_job): Use memmove() instead of strcpy() since both
- pointers are in the same memory block. Fixes Savannah bug #27148.
- Patch by Petr Machata.
-
-2009-07-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * job.c (construct_command_argv_internal): Add "ulimit" and
- "unset" to the sh_cmds for Unixy shells.
-
-2009-07-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure.in: Move side-effects outside AC_CACHE_VAL arguments
- that set make_cv_sys_gnu_glob, so they are also correctly set
- when the cache has been populated before.
-
-2009-07-04 Eli Zaretskii <eliz@gnu.org>
-
- * function.c (func_realpath) [!HAVE_REALPATH]: Require the file to
- exist, as realpath(3) does where it's supported.
-
-2006-07-04 Eli Zaretskii <eliz@gnu.org>
-
- * function.c (IS_ABSOLUTE, ROOT_LEN): New macros.
- (abspath): Support systems that define HAVE_DOS_PATHS (have
- drive letters in their file names). Use IS_PATHSEP instead of a
- literal '/' comparison. Fixes Savannah bug #26886.
-
-2009-06-14 Paul Smith <psmith@gnu.org>
-
- * remake.c (update_file_1): Remember the original file we marked
- as updating, so we can clear that flag again. If we find a target
- via vpath, FILE might change.
- (check_dep): Ditto. Fixes Savannah bug #13529.
- Patch by Reid Madsen <reid.madsen@tek.com>.
-
-2009-06-13 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (MAKEFILES Variable): Be explicit that files
- included by MAKEFILES cannot give default goals.
- * read.c (eval): If set_default is not set, pass the no-default-goal
- value when we read included makefiles. Fixes Savannah bug #13401.
-
- * ar.c (ar_name): Ensure that targets with empty parens aren't
- considered archive member references: archive members must have a
- non-empty "member" string. Fixes Savannah bug #18435.
-
- * function.c (string_glob): Rely on multi_glob() to determine
- whether files exist or not. Remove call to file_exists_p() which
- is not always correct. Fixes Savannah bug #21231.
- * read.c (multi_glob): Add a new argument EXISTS_ONLY; if true
- then only files that really exist will be returned.
- * dep.h: Add new argument to multi_glob().
- * rule.c (install_pattern_rule): Ditto.
- * read.c (eval): Ditto.
- * main.c (main): Ditto.
- * implicit.c (pattern_search): Ditto.
- * file.c (parse_prereqs): Ditto.
- * default.c (set_default_suffixes): Ditto.
-
-2009-06-09 Paul Smith <psmith@gnu.org>
-
- * commands.c (set_file_variables): If always_make_flag is set,
- always add the prereq to $?. Fixes Savannah bug #17825.
-
- * remake.c (update_file_1): When rebuilding deps of FILE, also try
- to rebuild the deps of all the also_make targets for that file.
- Fixes Savannah bug #19108.
-
- * implicit.c (pattern_search): Undo test for is_target, added by
- BorisK on 21 Sep 2004. This goes against step 5c in the "Implicit
- Rule Search Algorithm". Fixes Savannah bug #17752.
-
- * main.c (clean_jobserver): Clear the jobserver_fds options and
- set job_slots to the default when we clean up.
- (define_makeflags): Return the new MAKEFLAGS value.
- (main): Reset MAKEFLAGS in the environment when we re-exec.
- Fixes Savannah bug #18124.
-
-2009-06-08 Paul Smith <psmith@gnu.org>
-
- * read.c (eval): Collapse continuations post-semicolon on target-
- specific variables. Fixes Savannah bug #17521.
-
-2009-06-07 Paul Smith <psmith@gnu.org>
-
- * job.c (reap_children): For older systems without waitpid() (are
- there any of these left?) run wait(2) inside EINTRLOOP to handle
- EINTR errors. Fixes Savannah bug #16401.
-
- * (various): Debug message cleanup. Fixes Savannah bug #16469.
-
- * main.c: Fix bsd_signal() typedef. Fixes Savannah bug #16473.
-
- * file.c (snap_deps): Set SNAPPED_DEPS at the start of snapping,
- not the end, to catch second expansion $(eval ...) defining new
- target/prereq relationships during snap_deps.
- Fixes Savannah bug #24622.
-
- * read.c (record_files): The second-expansion "f->updating" hack
- was not completely correct: if assumed that the target with
- commands always had prerequisites; if one didn't then the ordering
- was messed up. Fixed for now to use f->updating to decide whether
- to preserve the last element in the deps list... but this whole
- area of constructing and reversing the deps list is too confusing
- and needs to be reworked. Fixes Savannah bug #21198.
-
-2009-06-06 Paul Smith <psmith@gnu.org>
-
- * hash.c (hash_insert): Remove useless test for NULL.
- Fixes Savannah bug #21823.
-
- * make.h: Move SET_STACK_SIZE determination to make.h.
- * main.c (main): New global variable, STACK_LIMIT, holds the
- original stack limit when make was started.
- * job.c (start_job_command): Reset the stack limit, if we changed it.
- Fixes Savannah bug #22010.
-
- * remake.c (check_dep): Only set the target's state to not-started
- if it's not already running. Found this while testing -j10 builds
- of glibc: various targets were being rebuilt multiple times.
- Fix from Knut St. Osmundsen; fixes a problem reported in Savannah
- bug #15919.
-
- * read.c (multi_glob): Don't pass GLOB_NOCHECK to glob(3); instead
- handle the GLOB_NOMATCH error. This is to work around Sourceware.org
- Bugzilla bug 10246.
-
-2009-06-04 Paul Smith <psmith@gnu.org>
-
- * read.c (eval): Skip initial whitespace (ffeed, vtab, etc.)
-
- * maintMakefile: Modify access of config and gnulib Savannah
- modules to use GIT instead of CVS.
-
- * main.c (main): Initialize the LENGTH field in SHELL_VAR.
- Fixes Savannah bug #24655.
-
- * read.c (eval_buffer): Don't dereference reading_file if it's NULL;
- this can happen during some invocations of $(eval ...) for example.
- Fixes Savannah bug #24588. Patch by Lars Jessen <ljessen@ljessen.dk>
-
-2009-06-02 Paul Smith <psmith@gnu.org>
-
- * configure.in: Check for fileno()
- * read.c (eval_makefile): If fileno() is available, set CLOSE_ON_EXEC
- for the makefile file so invocations of $(shell ...) don't inherit it.
- Fixes Savannah bug #24277.
-
-2009-06-01 Paul Smith <psmith@gnu.org>
-
- * main.c (main): The previous fix for .DEFAULT_GOAL had issues;
- expansion was handled incorrectly. Rework the default goal
- handling to save the variable only. Remove default_goal_file and
- default_goal_name.
- * read.c (eval): Check default_goal_var, not default_goal_name.
- * read.c (record_target_var): Don't check default_goal_file here.
-
-2009-05-31 Paul Smith <psmith@gnu.org>
-
- * main.c (main): Expand the .DEFAULT_GOAL variable before using
- it, and if the multi_glob() returns nothing (say it expanded to
- nothing but spaces) then don't crash. Fixes Savannah bug #25697.
-
- * doc/make.texi (Quick Reference): Add $(if ..), $(or ..), and
- $(and ..) to the reference. Fixes Savannah bug #25694.
-
- * make.1: Be clear that some recipes will be executed even with -n.
- * doc/make.texi: Ditto. Fixes Savannah bug #25460.
-
- * doc/make.texi (Override Directive): Make more clear how
- overrides and appends interact.
- Elucidates part of Savannah bug #26207.
-
- * read.c (record_target_var): Don't reset the origin on
- target-specific variables; try_variable_definition() will handle
- this correctly. Fixes Savannah bug #26207.
-
- * maintMakefile (do-po-update): Copy PO files into $(top_srcdir).
- Fixes Savannah bug #25712.
-
- * implicit.c (pattern_search): Keep a pointer to the beginning of
- the filename and save that instead of the constructed pointer.
- Fixes Savannah bug #26593.
- Patch by Mark Seaborn <mrs@mythic-beasts.com>
-
-2009-05-30 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (Multi-Line): Add a description of the new abilities
- of define/endef. Rename "Sequences" to "Multi-Line" and fix some
- "command sequence" vs. "recipe" syntax.
- * read.c (do_define): Modify to allow assignment tokens (=, :=, etc.)
- after a define, to create variables with those flavors.
-
-2009-05-25 Paul Smith <psmith@gnu.org>
-
- Reworked the parser for variable assignments to allow multiple
- modifiers, and in any order. Also allows variable and
- prerequisites to be modifier names ('export', 'private', etc.)
-
- * NEWS: Add notes about user-visible changes.
-
- * read.c (struct vmodifiers): Remember what modifiers were seen.
- (parse_var_assignment): New function to parse variable assignments.
- (eval): Call the new function. Handle variable assignments earlier.
-
- * variable.c (parse_variable_definition): Only parse; don't create var.
- (assign_variable_definition): Call parse, then create the var.
-
-2009-05-24 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi: Fix the ISBN for the GNU make manual. Incorrect
- value noticed by Hans Stol <hans.stol@nc3a.nato.int>.
-
-2009-03-14 Eli Zaretskii <eliz@gnu.org>
-
- * w32/pathstuff.c (convert_Path_to_windows32): Fix last change.
- Fixes Savannah bug #25412.
-
- * w32/subproc/sub_proc.c <top level>: Update Copyright years. Add
- prototype for xmalloc.
- (find_file): Accept 3 arguments PATH_VAR, FULL_FNAME, and FULL_LEN
- instead of an LPOFSTRUCT pointer. Use xmalloc instead of malloc.
- Loop over an array of extensions, instead of duplicating the same
- code inline. Use SearchPath followed by CreateFile, instead of
- the obsolete OpenFile. Fixes Savannah bug #17277.
- (process_begin): Find $(PATH) in `envp', and pass a pointer to it
- to `find_file'. Fixes Savannah bug #25662.
-
-2009-03-07 Eli Zaretskii <eliz@gnu.org>
-
- * function.c (func_shell): Don't close pipedes[1] if it is -1.
- Fixes Savannah bug #20495.
-
-2009-02-28 Ralf Wildenhues <address@hidden>
-
- * doc/make.texi (Instead of Execution): Document interaction of
- -t with phony targets.
-
-2009-02-23 Ramon Garcia <ramon.garcia.f@gmail.com>
-
- Introduce a new keyword "private" which applies to target-specific
- variables and prevents their values from being inherited.
-
- * variable.h (struct variable): Add private_var flag to each variable.
- Add a flag to specify which list entry switches to the parent target.
- * variable.c (define_variable_in_set): Initialize private_var flag.
- (lookup_variable): Skip private variables in parent contexts.
- (initialize_file_variables): Set next_is_parent appropriately.
- (print_variable): Show the private_var flag.
- * read.c (eval): Recognize the private keyword.
- (record_target_var): Set private_var.
- * doc/make.texi (Suppressing Inheritance): Add documentation.
-
-2008-10-26 Paul Smith <psmith@gnu.org>
-
- * configure.in: Check for strndup().
- * misc.c (xstrndup): Rename savestring to xstrndup. Use strndup
- if it's available.
- * make.h: Rename savestring to xstrndup.
- * commands.c (chop_commands): Ditto.
- * function.c (func_foreach): Ditto.
- * read.c (eval, record_files): Ditto.
- * variable.c (define_variable_in_set): Ditto.
-
-2008-09-30 Eli Zaretskii <eliz@gnu.org>
-
- * build_w32.bat (GCCBuild): Use "-gdwarf-2 -g3" instead of
- "-gstabs+ -ggdb3".
-
- * w32/subproc/build.bat (GCCBuild): Likewise.
-
-2008-09-30 David Russo <d-russo@ti.com> (tiny change)
-
- * job.c (construct_command_argv_internal): Avoid extra backslash
- in batch-mode Unixy shells. Under DB_JOBS, display the contents
- of the batch file.
-
-2008-05-31 Eli Zaretskii <eliz@gnu.org>
-
- * README.W32.template: Remove obsolete text about non-support for
- -jN without Unixy shell. Remove obsolete text about not supplying
- Visual Studio project files (we do supply them). Modify text to
- prefer GCC builds to MSC builds.
-
-2008-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/make.texi (Empty Targets): Fix typo.
-
-2008-03-27 Paul Smith <psmith@gnu.org>
-
- Fix Savannah bug #22379:
- * ar.c (ar_glob_match): Zero the allocated structure.
- * read.c (parse_file_seq): Ditto.
-
-2008-03-08 Brian Dessent <brian@dessent.net>
-
- * maintMakefile: Update Translation Project location.
-
-2008-01-26 Eli Zaretskii <eliz@gnu.org>
-
- * variable.c (target_environment): Don't use shell_var if its
- `value' field is NULL.
-
-2007-12-22 Eli Zaretskii <eliz@gnu.org>
-
- Suggested by Juan Manuel Guerrero <juan.guerrero@gmx.de>:
-
- * Makefile.DOS.template (info_TEXINFOS): Remove unused variable.
- (TEXINFOS): Value changed to `doc/make.texi'.
- (.SUFFIXES): Use .texi instead of .texinfo.
- (make.info, make.dvi): Depend on doc/make.texi.
- (.texi.info): New target, instead of ".texinfo.info". Change -I
- switch to $(MAKEINFO) to look in doc/. Use --no-split.
- (.texi): New target, instead of ".texinfo". Change -I switch to
- $(MAKEINFO) to look in doc/. Use --no-split.
- (.texi.dvi): New target, instead of ".texinfo.dvi". Change -I
- switch to $(MAKEINFO) to look in doc/.
- (install-info-am, uninstall-info): Don't look for "*.i[0-9]" and
- "*.i[0-9][0-9]" (due to --no-split above).
- (noinst_TEXINFOS, TEXI2HTML, TEXI2HTML_FLAGS): New variables.
- (html, make_1.html): New targets.
- (.PHONY): Add "html".
- (.SUFFIXES): Add .html.
-
-2007-12-22 Juan Manuel Guerrero <juan.guerrero@gmx.de> (tiny change)
-
- * configh.dos.template [__DJGPP__]: Replace HAVE_SYS_SIGLIST with
- HAVE_DECL_SYS_SIGLIST.
-
- * job.c (child_execute_job): Remove __MSDOS__ because MSDOS/DJGPP
- build does not use child_execute_job.
-
- * variable.c (define_automatic_variables) [__MSDOS__]: Always
- export the SHELL environment variable to the child.
-
-2007-12-22 Eli Zaretskii <eliz@gnu.org>
-
- * config.h.W32: Include sys/types.h.
- [!_PID_T_] (pid_t): Define only if not already defined by sys/types.h.
-
- * vpath.c (construct_vpath_list) [HAVE_DOS_PATHS]: Support VPATH
- values that use `:' in drive letters, when PATH_SEPARATOR_CHAR is
- also `:'.
-
-2007-11-04 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi: Convert references to "commands", "command
- lines", and "command script" to "recipe".
- * NEWS: Ditto.
- * commands.c, file.c, job.c, remake.c, read.c, variable.c, main.c:
- Ditto.
-
-2007-10-27 Bruno Haible <bruno@clisp.org>
-
- * remake.c (f_mtime): Print time difference values between 100 and
- ULONG_MAX in fixed-point notation rather than in exponention notation.
-
-2007-10-12 Eli Zaretskii <eliz@gnu.org>
-
- * variable.c (do_variable_definition): Allow $(SHELL) to expand to
- a more complex value than a simple shell: if it's not a default
- shell now then expand it and see if is a default shell then.
-
-2007-10-10 Eli Zaretskii <eliz@gnu.org>
-
- * dir.c (find_directory) [WINDOWS32]: Remove trailing slashes from
- pathnames, with const strings.
- * build_w32.bat [WINDOWS32]: If no config.h.W32 exists, create one
- from the template (used for building from CVS, not a dist).
-
-2007-10-10 Paul Smith <psmith@gnu.org>
-
- * make.h: Add a prototype for w32_kill() (change suggested by
- Yongwei Wu <wuyongwei@gmail.com>).
-
-2007-09-21 Eli Zaretskii <eliz@gnu.org>
-
- * w32/pathstuff.c (convert_Path_to_windows32): Handle quoted
- directories in Path.
-
-2007-09-12 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi: Applied wording cleanups from Savannah patch #6195.
- Provided by Diego Biurrun <diego@biurrun.de>
- (Complex Makefile): Remove .PHONY setting for tar: patch #6196.
- Provided by Diego Biurrun <diego@biurrun.de>
-
-2007-09-11 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (Special Variables): Moved this into the "How to
- Use Variables" chapter. Added a table entry for .RECIPEPREFIX.
- (MAKEFILE_LIST) No longer a section; this was added into the
- "Special Variables" section.
- (Rule Introduction): Reference .RECIPEPREFIX.
- (Simple Makefile): Ditto.
- (Rule Syntax): Ditto.
- (Command Syntax): Ditto.
- (Error Messages): Ditto.
-
-2007-09-10 Paul Smith <psmith@gnu.org>
-
- * commands.c (print_commands): Don't print an extra line in the
- command scripts. Prefix the command scripts with cmd_prefix, not \t.
-
- * read.c (construct_include_path): Add the full string to the cache; we
- were chopping the last char.
-
- * NEWS: Announce the .RECIPEPREFIX special variable.
- * variable.c (lookup_special_var): Rename from handle_special_var().
- (lookup_variable): Call the new name.
- (set_special_var): New function: handle setting of special variables.
- When setting .RECIPEPREFIX, reset the cmd_prefix global variable.
- (do_variable_definition): Call it.
- * make.h (RECIPEPREFIX_DEFAULT): Define the default command prefix char.
- (RECIPEPREFIX_NAME): Define the command prefix special variable name.
- * main.c (main): Create the .RECIPEPREFIX special variable.
- * read.c (eval): Remove the cmd_prefix characters from the command
- scripts here, so they're not stored in the commands array at all,
- rather than waiting and stripping them out during command construction.
- * job.c (construct_command_argv_internal): Don't skip cmd_prefix here.
-
-2007-08-15 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (GNU Free Documentation License): The fdl.texi
- file has had the section info removed, so add some to make.texi
- before we include it.
-
-2007-08-15 Icarus Sparry <savannah@icarus.freeuk.com>
-
- * remake.c (check_dep): Reset the target state for intermediate
- files. They might have been considered before but not updated
- then (order-only for example) but they will be this time.
- Fixes Savannah bug #'s 3330 and 15919.
-
-2007-07-21 Eli Zaretskii <eliz@gnu.org>
-
- Fix Savannah bug #20549:
- * function.c (func_shell): Call construct_command_argv with zero
- value of FLAGS.
- * job.c (construct_command_argv_internal): New argument FLAGS; all
- callers changed.
- [WINDOWS32]: If FLAGS has the COMMANDS_RECURSE bit set, ignore
- just_print_flag.
- * job.h (construct_command_argv_internal): Update prototype.
-
-2007-07-13 Paul Smith <psmith@gnu.org>
-
- * file.c (expand_deps): Use variable_buffer as the start of the
- buffer, not the original pointer (in case it was reallocated).
- Fix suggested by Rafi Einstein <rafi.einstein@formalism-labs.com>.
- Fixes Savannah bug #20452.
-
-2007-07-04 Paul Smith <psmith@gnu.org>
-
- * (ALL FILES): Update to GPLv3.
- * (ALL FILES): Update copyright for 2007.
-
- * main.c (print_version): Move the host type info to the second line.
-
-2007-06-29 Thiemo Seufer <ths@mips.com>
-
- * maintMakefile: Update Translation Project location.
-
-2007-06-13 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (Reading Makefiles): "Expansion of deferred" ->
- "Expansion of a deferred"
- Fixes Savannah bug #20018.
-
- * expand.c (variable_expand_for_file): Preserve the value of
- reading_file rather than setting it to 0 at the end.
- Fixes Savannah bug #20033.
-
-2007-05-11 Paul Smith <psmith@gnu.org>
-
- * job.c (new_job): Add debug info to specify where make found the
- command script it is running to build a target.
- Fixes Savannah bug #18617.
-
- * default.c (default_suffixes,default_suffix_rules,default_variables):
- Add support for Objective C. Fixes Savannah bug #16389.
- Based on a patch provided by Peter O'Gorman <peter@pogma.com>.
-
- * function.c (func_lastword): Initialize p.
-
- * doc/make.texi (Eval Function, Implicit Variables, Special Targets):
- Doc fixes noticed by Bob <twobanjobob@sbcglobal.net>. Patch from
- Dave Korn <dave.korn@artimi.com>
-
-2007-05-08 Paul Smith <psmith@gnu.org>
-
- Fix Savannah bug #19656:
-
- * configure.in: Check for strcasecmp(), strcmpi(), and stricmp().
-
- * make.h: Change all case-insensitive string compares to use
- strcasecmp() (from POSIX). If we don't have that but do have one
- of the others, define strcasecmp to be one of those instead. If
- we don't have any, declare a prototype for our own version.
-
- * misc.c (strcasecmp): Use this if we can't find any native
- case-insensitive string comparison function.
- * vmsfunctions.c: Remove strcmpi(); we'll use misc.c:strcasecmp().
- * main.c (find_and_set_default_shell): Use strcasecmp() instead of
- strcmpi().
- * job.c (_is_unixy_shell, construct_command_argv_internal): Use
- strcasecmp() instead of stricmp().
- * hash.h (ISTRING_COMPARE, return_ISTRING_COMPARE): Use strcasecmp()
- instead of strcmpi().
- * acinclude.m4: Remove the strcasecmp() check from here.
-
-2007-03-21 Paul Smith <psmith@gnu.org>
-
- * configure.in: Don't turn on case-insensitive file system support
- if --disable-... is given. Fixes Savannah bug #19348.
-
-2007-03-19 Paul Smith <psmith@gnu.org>
-
- * ALL: Use the strcache for all file name strings, or other
- strings which we will never free. The goal is to save memory by
- avoiding duplicate copies of strings. However, at the moment this
- doesn't save much memory in most situations: due to secondary
- expansion we actually save prerequisite lists twice (once before
- the secondary expansion, and then again after it's been parsed
- into individual file names in the dep list). We will resolve this
- in a future change, by doing the parsing up-front for targets
- where secondary expansion is not set.
-
- Moving things into the strcache also allows us to use const
- pointers in many more places.
-
-2007-01-03 Paul Smith <psmith@gnu.org>
-
- * make.h (ENULLLOOP): Reset errno after each failed invocation of
- the function, not just the first. Fixes Savannah bug #18680.
-
-2006-11-18 Paul Smith <psmith@gnu.org>
-
- * strcache.c (strcache_add_len): Don't allocate a new buffer
- unless the string is not already nil-terminated. Technically this
- is a violation of the standard, since we may be passed an array
- that is not long enough to test one past. However, in make this
- is never true since we only use nil-terminated strings or
- sub-strings thereof.
-
- * read.c (eval, do_define): Use cmd_prefix instead of '\t'.
-
- * main.c: New global cmd_prefix, defaults to '\t'.
- * job.c (construct_command_argv_internal): Use cmd_prefix instead
- of '\t'.
-
- * dir.c: Constified.
- (dir_contents_file_exists_p): Check for an error return from
- readdir(), just in case.
-
- * commands.c: Constified.
- * default.c: Constified.
- * expand.c: Constified.
- * function.c: Partial constification.
- * variable.c: Partial constification.
- * vmsify.c: Constification. Hard to test this but I hope I didn't
- screw it up!
- * vpath.c: Partial constification.
- * w32/pathstuff.c: Partial constification.
-
-2006-11-16 Eli Zaretskii <eliz@gnu.org>
-
- * main.c (main) [HAVE_DOS_PATHS]: Treat DOS style argv[0] with
- backslashes and drive letters as absolute.
-
-2006-10-22 Paul Smith <psmith@gnu.org>
-
- * main.c (struct command_switch): Use const and void*.
-
-2006-10-21 Paul Smith <psmith@gnu.org>
-
- * ar.c: Constified.
- * arscan.c: Constified.
-
-2006-09-30 Paul Smith <psmith@gnu.org>
-
- * doc/make.texi (MAKEFILE_LIST Variable): Modify reference to
- point to lastword since the example was updated.
- Fixes Savannah bug #16304.
- (Secondary Expansion): Correct example description.
- Fixes Savannah bug #16468.
- (Makefile Contents): Clarify that comments cannot appear within
- variable references or function calls.
- Fixes Savannah bug #16577.
- (Special Targets): Clarify how .NOTPARALLEL works in recursion.
- Fixes Savannah bug #17701.
- Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>:
- (Prerequisite Types): Added an example of using order-only
- prerequisites. Fixes Savannah bug #17880.
- (Rule Syntax): "lise" -> "list"
- (Multiple Rules): ... -> @dots{}
- (Splitting Lines): ditto.
-
- * remake.c (update_file_1): Prereqs that don't exist should be
- considered changed, for the purposes of $?.
- Fixes Savannah bug #16051.
-
- * make.1: Remove extraneous "+".
- Fixes Savannah bug #16652.
-
-2006-09-06 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: Include sys/types.h when checking for sys/wait.h.
-
-2006-08-18 Eli Zaretskii <eliz@gnu.org>
-
- * configure.in (PATH_SEPARATOR_CHAR): Define to the value of
- $PATH_SEPARATOR.
-
- * make.h (PATH_SEPARATOR_CHAR): Define only if still undefined.
- Normally, it is defined in config.h.
-
- * config/dospaths.m4 <ac_cv_dos_paths>: Define to yes on Cygwin as
- well.
-
- * job.c (construct_command_argv_internal) [HAVE_DOS_PATHS]: Define
- sh_chars_sh for Windows platforms that emulate Unix.
-
-2006-05-07 Paul D. Smith <psmith@gnu.org>
-
- * README.OS2.template: Updates provided by Andreas Buening
- <andreas.buening@nexgo.de>.
-
-2006-04-30 Paul D. Smith <psmith@gnu.org>
-
- * make.h: Include <direct.h> if HAVE_DIRECT_H.
- * config.h.W32.template (HAVE_DIRECT_H): Set it if it's available.
-
-2006-04-26 Paul D. Smith <psmith@gnu.org>
-
- * README.cvs: Add a reminder to notify the GNU translation robot.
-
- * doc/make.texi: Change @direcategory (requested by Karl Berry).
-
-2006-04-20 Paul D. Smith <psmith@gnu.org>
-
- * maintMakefile (po-check): Use Perl instead of grep -E, for systems
- that don't have extended grep.
- (cvsclean): Use $(PERL) instead of perl.
-
-2006-04-09 Paul D. Smith <psmith@gnu.org>
-
- * maintMakefile: Add some extra warning options (GCC 4.1 only?)
-
- * expand.c, implicit.c, main.c, read.c: Rename variables so that
- inner-scope variables don't mask outer-scope variables.
-
- * ar.c, arscan.c, commands.c, default.c, dir.c, expand.c, file.c:
- * function.c, getloadavg.c, implicit.c, job.c, main.c, misc.c, read.c:
- * remake.c, remote-cstms.c, rule.c, strcache.c, variable.c:
- * vmsfunctions.c, vmsify.c, vpath.c: Remove all casts of returned
- values from memory allocation functions: they return void* and so
- don't need to be cast. Also remove (char *) casts of arguments to
- xrealloc().
-
- * configure.in: Remove checks for memcpy/memmove/strchr.
-
- * make.h: Remove bcmp/bcopy/bzero/strchr/strrchr macros.
-
- * ar.c, arscan.c, commands.c, dir.c: Convert all bzero/bcopy/bcmp
- calls to memset/memcpy/memmove/memcmp calls.
- * expand.c, file.c, function.c, getloadavg.c, implicit.c: Ditto.
- * job.c, main.c, misc.c, read.c, remake.c, rule.c: Ditto.
- * variable.c, vpath.c: Ditto.
-
- * make.h (EXIT_FAILURE): Should be 1, not 0.
-
-2006-04-06 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: Removed AM_C_PROTOTYPES. Starting now on we
- require an ISO C 1989 standard compiler and runtime library.
-
- * Makefile.am: Remove the ansi2knr feature.
-
- * make.h: Remove the PARAMS() macro definition and all uses of it.
-
- * amiga.h, ar.c, arscan.c: Remove all uses of the PARAMS() macro.
- * commands.c, commands.h, config.h-vms.template: Ditto.
- * dep.h, dir.c, expand.c, filedef.h, function.c: Ditto.
- * implicit.c, job.c, job.h, main.c, read.c, remake.c: Ditto.
- * rule.c, rule.h, variable.h, vmsdir.h, vmsjobs.c, vpath.c: Ditto.
-
- * NEWS: Update.
-
-2006-04-01 Paul D. Smith <psmith@gnu.org>
-
- Version 3.81 released.
-
- * NEWS: Updated for 3.81.
-
- * README.cvs: Mention that vpath builds are not supported out of
- CVS. Fixes Savannah bug #16236.
- Remove update of make.texi from the list of things to do; we use
- version.texi now.
-
-2006-03-26 Paul D. Smith <psmith@gnu.org>
-
- * doc/make.texi: Clean up licensing. Use @copying and version.texi
- support from automake, as described in the Texinfo manual.
-
-2006-03-25 Eli Zaretskii <eliz@gnu.org>
-
- * implicit.c (pattern_search) [HAVE_DOS_PATHS]: Don't compare b
- with lastslash, since the latter points to filename, not to
- target.
- * job.c (construct_command_argv_internal) [HAVE_DOS_PATHS]:
- Declare and define sh_chars_sh[].
-
-2006-03-23 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: Look for build.sh.in in $srcdir so it will be
- built for remote configurations as well.
-
- * Makefile.am: Make sure to clean up build.sh during distclean.
- Fixes Savannah bug #16166.
-
- * misc.c (log_access): Takes a const char *.
- * function.c (fold_newlines): Takes an unsigned int *.
- Both fixes for Savannah bug #16170.
-
-2006-03-22 Boris Kolpackov <boris@kolpackov.net>
-
- * implicit.c (pattern_search): Call set_file_variables only
- if we have prerequisites that need second expansion. Fixes
- Savannah bug #16140.
-
-2006-03-19 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (update_file): Add alloca(0) to clean up alloca'd
- memory on hosts that don't support it directly.
-
- * README.cvs: Add information on steps for making a release (to
- make sure I don't forget any).
-
- * main.c (clean_jobserver): Move jobserver cleanup code into a new
- function.
- (die): Cleanup code was removed from here; call the new function.
- (main): If we are re-execing, clean up the jobserver first so we
- don't leak file descriptors.
- Reported by Craig Fithian <craig.fithian@citigroup.com>
-
-2006-03-17 Paul D. Smith <psmith@gnu.org>
-
- * maintMakefile (do-po-update): Rewrite this rule to clean up and
- allow multiple concurrent runs.
- Patch from Joseph Myers <joseph@codesourcery.com>
-
-2006-03-17 Boris Kolpackov <boris@kolpackov.net>
-
- * dep.h (struct dep): Add the stem field.
- * misc.c (alloc_dep, free_dep): New functions.
- (copy_dep_chain): Copy stem.
- (free_dep_chain): Use free_dep.
- * read.c (record_files): Store stem in the dependency line.
- * file.c (expand_deps): Use stem stored in the dependency line. Use
- free_dep_chain instead of free_ns_chain.
- * implicit.c (pattern_search): Use alloc_dep and free_dep.
- * read.c (read_all_makefiles, eval_makefile, eval): Ditto.
- * main.c (main, handle_non_switch_argument): Ditto.
- * remake.c (check_dep): Ditto.
- * rule.c (convert_suffix_rule, freerule): Ditto.
-
-2006-03-14 Paul D. Smith <psmith@gnu.org>
-
- * expand.c (variable_append): Instead of appending everything then
- expanding the result, we expand (or not, if it's simple) each part
- as we add it.
- (allocated_variable_append): Don't expand the final result.
- Fixes Savannah bug #15913.
-
-2006-03-09 Paul Smith <psmith@gnu.org>
-
- * remake.c (update_file_1): Revert the change of 3 Jan 2006 which
- listed non-existent files as changed. Turns out there's a bug in
- the Linux kernel builds which means that this change causes
- everything to rebuild every time. We will re-introduce this fix
- in the next release, to give them time to fix their build system.
- Fixes Savannah bug #16002.
- Introduces Savannah bug #16051.
-
- * implicit.c (pattern_search) [DOS_PATHS]: Look for DOS paths if
- we *don't* find UNIX "/".
- Reported by David Ergo <david.ergo@alterface.com>
-
-2006-03-04 Eli Zaretskii <eliz@gnu.org>
-
- * variable.c (do_variable_definition) [WINDOWS32]: Call the shell
- locator function find_and_set_default_shell if SHELL came from the
- command line.
-
-2006-02-20 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (merge_variable_set_lists): It's legal for *setlist0
- to be null; don't core in that case.
-
-2006-02-19 Paul D. Smith <psmith@gnu.org>
-
- * commands.c (set_file_variables): Realloc, not malloc, the static
- string values to avoid memory leaks.
-
- * expand.c (recursively_expand_for_file): Only set reading_file to
- an initialized value.
-
- * implicit.c (pattern_search): We need to make a copy of the stem
- if we get it from an intermediate dep, since those get freed.
-
- * file.c (lookup_file) [VMS]: Don't lowercase special targets that
- begin with ".".
- (enter_file) [VMS]: Ditto.
- Patch provided by Hartmut Becker <Hartmut.Becker@hp.com>.
-
-2006-02-24 Eli Zaretskii <eliz@gnu.org>
-
- * job.c (construct_command_argv_internal): Fix last change.
-
- * w32/subproc/sub_proc.c (process_pipe_io): Make dwStdin,
- dwStdout, and dwStderr unsigned int: avoids compiler warnings in
- the calls to _beginthreadex.
-
- * expand.c (recursively_expand_for_file): Initialize `save' to
- prevent compiler warnings.
-
-2006-02-18 Eli Zaretskii <eliz@gnu.org>
-
- * job.c (construct_command_argv_internal): Don't create a temporary
- script/batch file if we are under -n. Call _setmode to switch the
- script file stream to text mode.
-
-2006-02-17 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (merge_variable_set_lists): Don't try to merge the
- global_setlist. Not only is this useless, but it can lead to
- circularities in the linked list, if global_setlist->next in one
- list gets set to point to another list which also ends in
- global_setlist.
- Fixes Savannah bug #15757.
-
-2006-02-15 Paul D. Smith <psmith@gnu.org>
-
- Fix for Savannah bug #106.
-
- * expand.c (expanding_var): Keep track of which variable we're
- expanding. If no variable is being expanded, it's the same as
- reading_file.
- * make.h (expanding_var): Declare it.
- * expand.c (recursively_expand_for_file): Set expanding_var to the
- current variable we're expanding, unless there's no file info in
- it (could happen if it comes from the command line or a default
- variable). Restore it before we exit.
- * expand.c (variable_expand_string): Use the expanding_var file
- info instead of the reading_file info.
- * function.c (check_numeric): Ditto.
- (func_word): Ditto.
- (func_wordlist): Ditto.
- (func_error): Ditto.
- (expand_builtin_function): Ditto.
- (handle_function): Ditto.
-
-2006-02-14 Paul D. Smith <psmith@gnu.org>
-
- * read.c (eval): Even if the included filenames expands to the
- empty string we still need to free the allocated buffer.
-
- * implicit.c (pattern_search): If we allocated a variable set for
- an impossible file, free it.
- * variable.c (free_variable_set): New function.
- * variable.h: Declare it.
-
- * read.c (read_all_makefiles): Makefile names are kept in the
- strcache, so there's never any need to alloc/free them.
- (eval): Ditto.
-
- * main.c (main): Add "archives" to the .FEATURES variable if
- archive support is enabled.
- * doc/make.texi (Special Variables): Document it.
-
-2006-02-13 Paul D. Smith <psmith@gnu.org>
-
- * implicit.c (pattern_search): Add checking for DOS pathnames to
- the pattern rule target LASTSLASH manipulation.
- Fixes Savannah bug #11183.
-
-2006-02-11 Paul D. Smith <psmith@gnu.org>
-
- * (ALL FILES): Updated copyright and license notices.
-
-2006-02-10 Paul D. Smith <psmith@gnu.org>
-
- A new internal capability: the string cache is a read-only cache
- of strings, with a hash table interface for fast lookup. Nothing
- in the cache will ever be freed, so there's no need for reference
- counting, etc. This is the beginning of a full solution for
- Savannah bug #15182, but for now we only store makefile names here.
-
- * strcache.c: New file. Implement a read-only string cache.
- * make.h: Add prototypes for new functions.
- * main.c (initialize_global_hash_tables): Initialize the string cache.
- (print_data_base): Print string cache stats.
- * read.c (eval_makefile): Use the string cache to store makefile
- names. Rewrite the string allocation to be sure we free everything.
-
-2006-02-10 Eli Zaretskii <eliz@gnu.org>
-
- * dir.c (dir_contents_file_exists_p): Don't opendir if the
- directory time stamp didn't change, except on FAT filesystems.
- Suggested by J. David Bryan <jdbryan@acm.org>.
-
-2006-02-09 Paul D. Smith <psmith@gnu.org>
-
- * function.c (func_or): Implement a short-circuiting OR function.
- (func_and): Implement a short-circuiting AND function.
- (function_table_init): Update the table with the new functions.
- * doc/make.texi (Conditional Functions): Changed the "if" section
- to one on general conditional functions. Added documentation for
- $(and ...) and $(or ...) functions.
- * NEWS: Note new $(and ...) and $(or ...) functions.
-
-2006-02-08 Boris Kolpackov <boris@kolpackov.net>
-
- * job.h (struct child): Add the dontcare bitfield.
- * job.c (new_job): Cache dontcare flag.
- * job.c (reap_children): Use cached dontcare flag instead of the
- one in struct file. Fixes Savannah bug #15641.
-
-2006-02-06 Paul D. Smith <psmith@gnu.org>
-
- * vpath.c (selective_vpath_search): If the file we find has a
- timestamp from -o or -W, use that instead of the real time.
- * remake.c (f_mtime): If the mtime is a special token from -o or
- -W, don't overwrite it with the real mtime.
- Fixes Savannah bug #15341.
-
- Updates from Markus Mauhart <qwe123@chello.at>:
-
- * w32/subproc/sub_proc.c (process_begin): Remove no-op tests.
- (process_signal, process_last_err, process_exit_code): Manage
- invalid handle values.
- (process_{outbuf,errbuf,outcnt,errcnt,pipes}): Unused and don't
- manage invalid handles; remove them.
- * job.c (start_job_command) [WINDOWS32]: Jump out on error.
- * config.h.W32.template [WINDOWS32]: Set flags for Windows builds.
- * README.cvs: Updates for building from CVS.
-
-2006-02-05 Paul D. Smith <psmith@gnu.org>
-
- * file.c (enter_file): Keep track of the last double_colon entry,
- to avoid walking the list every time we want to add a new one.
- Fixes Savannah bug #15533.
- * filedef.h (struct file): Add a new LAST pointer.
-
- * dir.c (directory_contents_hash_cmp): Don't use subtraction to do
- the comparison. For 64-bits systems the result of the subtraction
- might not fit into an int. Use comparison instead.
- Fixes Savannah bug #15534.
-
- * doc/make.texi: Update the chapter on writing commands to reflect
- the changes made in 3.81 for backslash/newline and SHELL handling.
-
-2006-02-01 Paul D. Smith <psmith@gnu.org>
-
- * dir.c (dir_contents_file_exists_p) [WINDOWS32]: Make sure
- variable st is not used when it's not initialized.
- Patch from Eli Zaretskii <eliz@gnu.org>.
-
-2006-01-31 Paul D. Smith <psmith@gnu.org>
-
- * README.W32.template: Applied patch #4785 from
- Markus Mauhart <qwe123@chello.at>.
- * README.cvs: Applied patch #4786 from
- Markus Mauhart <qwe123@chello.at>.
- * make_msvc_net2003.vcproj [WINDOWS32]: New version from
- J. Grant <jg@jguk.org>.
-
- * main.c: Update the copyright year in the version output.
- * prepare_w32.bat: Remove this file from the distribution.
-
-2006-01-21 Eli Zaretskii <eliz@gnu.org>
-
- * remake.c (update_goal_chain): Set g->changed instead of
- incrementing it, as it is only 8-bit wide, and could overflow if
- many commands got started in update_file.
-
- * w32/include/sub_proc.h: Add a prototype for process_used_slots.
-
- * w32/subproc/sub_proc.c: Change dimension of proc_array[] to
- MAXIMUM_WAIT_OBJECTS.
- (process_wait_for_any_private): Change dimension of handles[]
- array to MAXIMUM_WAIT_OBJECTS.
- (process_used_slots): New function.
- (process_register): Don't register more processes than the
- available number of slots.
- (process_easy): Don't start new processes if all slots are used up.
-
- * job.c (load_too_high, start_waiting_jobs) [WINDOWS32]: If there
- are already more children than sub_proc.c can handle, behave as if
- the load were too high.
- (start_job_command): Fix a typo in error message when process_easy
- fails.
-
-2006-01-14 Eli Zaretskii <eliz@gnu.org>
-
- * main.c (main) [WINDOWS32]: Don't refuse to run with -jN, even if
- the shell is not sh.exe.
-
- * job.c (create_batch_file): Renamed from create_batch_filename;
- all callers changed. Don't close the temporary file; return its
- file descriptor instead. New arg FD allows to return the file
- descriptor.
- (construct_command_argv_internal): Use _fdopen instead of fopen to
- open the batch file.
-
-2006-01-04 Paul D. Smith <psmith@gnu.org>
-
- * readme.vms: Updates for case-insensitive VMS file systems from
- Hartmut Becker <Hartmut.Becker@hp.com>.
- * dir.c (vms_hash): Ditto.
- * vmsify.c (copyto): Ditto.
- * vmsfunctions.c (readdir): Ditto.
-
- * make.1: Add a section on the exit codes for make.
-
- * doc/make.texi: A number of minor updates to the documentation.
-
-2006-01-03 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (update_file_1): Mark a prerequisite changed if it
- doesn't exist.
-
- * read.c (eval): Be sure to strip off trailing whitespace from the
- prerequisites list properly. Also, initialize all fields in
- struct dep when creating a new one.
-
-2005-12-28 Paul D. Smith <psmith@gnu.org>
-
- * config.h.W32.template [WINDOWS32]: Add in some pragmas to
- disable warnings for MSC.
- Patch by Rob Tulloh <rtulloh@yahoo.com>.
-
-2005-12-17 Eli Zaretskii <eliz@gnu.org>
-
- * doc/make.texi (Execution): Add a footnote about changes in
- handling of backslash-newline sequences. Mention the differences
- on MS-DOS and MS-Windows.
-
- * NEWS: More details about building the MinGW port and a pointer
- to README.W32. Fix the section name that describes the new
- backward-incompatible processing of backslash-newline sequences.
- The special processing of SHELL set to "cmd" is only relevant to
- MS-Windows, not MS-DOS.
-
-2005-12-17 Eli Zaretskii <eliz@gnu.org>
-
- * main.c (handle_runtime_exceptions): Cast exrec->ExceptionAddress
- to DWORD, to avoid compiler warnings.
- * job.c (exec_command): Cast hWaitPID and hPID to DWORD, and
- use %ld in format, to avoid compiler warnings.
-
- * doc/make.texi (Special Targets): Fix a typo.
- (Appending): Fix cross-reference to Setting.
- (Special Variables, Secondary Expansion, File Name Functions)
- (Flavor Function, Pattern Match, Quick Reference): Ensure two
- periods after a sentence.
- (Execution): Add @: after "e.g.".
- (Environment): Fix punctuation.
- (Target-specific, Call Function, Quick Reference): Add @: after "etc."
- (Shell Function, Target-specific): Add @: after "vs."
-
-2005-12-14 Boris Kolpackov <boris@kolpackov.net>
-
- * read.c (record_target_var): Initialize variable's export field
- with v_default instead of leaving it "initialized" by whatever
- garbage happened to be on the heap.
-
-2005-12-12 Paul D. Smith <psmith@gnu.org>
-
- * make.1: Fix some display errors and document all existing options.
- Patch by Mike Frysinger <vapier@gentoo.org>.
-
-2005-12-11 Paul D. Smith <psmith@gnu.org>
-
- * implicit.c (pattern_search): If 2nd expansion is not set for
- this implicit rule, replace the pattern with the stem directly,
- and don't re-expand the variable list. Along with the other
- .SECONDEXPANSION changes below, fixes bug #13781.
-
-2005-12-09 Boris Kolpackov <boris@kolpackov.net>
-
- * implicit.c (pattern_search): Mark other files that this rule
- builds as targets so that they are not treated as intermediates
- by the pattern rule search algorithm. Fixes bug #13022.
-
-2005-12-07 Boris Kolpackov <boris@kolpackov.net>
-
- * remake.c (notice_finished_file): Propagate the change of
- modification time to all the double-colon entries only if
- it is the last one to be updated. Fixes bug #14334.
-
-2005-11-17 Boris Kolpackov <boris@kolpackov.net>
-
- * function.c (func_flavor): Implement the flavor function which
- returns the flavor of a variable.
- * doc/make.texi (Functions for Transforming Text): Document it.
- * NEWS: Add it to the list of new functions.
-
-2005-11-14 Boris Kolpackov <boris@kolpackov.net>
-
- * read.c (construct_include_path): Set the .INCLUDE_DIRS special
- variable.
- * doc/make.texi (Special Variables): Document .INCLUDE_DIRS.
- * NEWS: Add .INCLUDE_DIRS to the list of new special variables.
-
-2005-10-26 Paul Smith <psmith@gnu.org>
-
- * read.c (record_files): Don't set deps flags if there are no deps.
- * maintMakefile: We only need to build the templates when we are
- creating a distribution, so don't do it for "all".
-
-2005-10-24 Paul D. Smith <psmith@gnu.org>
-
- Make secondary expansion optional: its enabled by declaring the
- special target .SECONDEXPANSION.
-
- * NEWS: Update information on second expansion capabilities.
- * doc/make.texi (Secondary Expansion): Document the
- .SECONDEXPANSION special target and its behavior.
- * dep.h (struct dep): Add a flag STATICPATTERN, set to true if the
- prerequisite list was found in a static pattern rule.
- (free_dep_chain): Declare a prototype.
- * file.c (parse_prereqs): New function: break out some complexity
- from expand_deps().
- (expand_deps): If we aren't doing second expansion, replace % with
- the stem for static pattern rules. Call the new function.
- * filedef.h (parse_prereqs): Declare a prototype.
- * implicit.c (pattern_search): Initialize the new staticpattern
- field.
- * main.c (second_expansion): Declare a global variable to remember
- if the special target has been seen. Initialize the new
- staticpattern field for prerequisites.
- * make.h: Extern for second_expansion.
- * misc.c (free_dep_chain): New function: frees a struct dep list.
- * read.c (read_all_makefiles): Initialize the staticpattern field.
- (eval_makefile): Ditto.
- (record_files): Check for the .SECONDEXPANSION target and set
- second_expansion global if it's found.
- Use the new free_dep_chain() instead of doing it by hand.
- Set the staticpattern field for prereqs of static pattern targets.
-
-2005-10-16 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main): Set CURDIR to be a file variable instead of a
- default, so that values of CURDIR inherited from the environment
- won't override the make value.
-
-2005-09-26 Paul D. Smith <psmith@gnu.org>
-
- * job.c (construct_command_argv_internal): If the line is empty
- remember to free the temporary argv strings.
- Fixes bug # 14527.
-
-2005-09-16 Paul D. Smith <psmith@gnu.org>
-
- * job.c (start_job_command): The noerror flag is a boolean (single
- bit); set it appropriately.
- Reported by Mark Eichin <eichin@metacarta.com>
-
-2005-08-29 Paul D. Smith <psmith@gnu.org>
-
- * function.c (func_error): On Windows, output from $(info ...)
- seems to come in the wrong order. Try to force it with fflush().
-
-2005-08-10 Boris Kolpackov <boris@kolpackov.net>
-
- * read.c (record_files): Move code that sets stem for static
- pattern rules out of the if (!two_colon) condition so it is
- also executed for two-colon rules. Fixes Savannah bug #13881.
-
-2005-08-08 Paul D. Smith <psmith@gnu.org>
-
- * make.h: Don't test that __STDC__ is non-0. Some compilers
- (Windows for example) set it to 0 to denote "ISO C + extensions".
- Fixes bug # 13594.
-
-2005-08-07 Paul D. Smith <psmith@gnu.org>
-
- * w32/pathstuff.c (getcwd_fs): Fix warning about assignment in a
- conditional (slightly different version of a fix from Eli).
-
- Fix a bug reported by Michael Matz <matz@suse.de>: patch included.
- If make is running in parallel without -k and two jobs die in a
- row, but not too close to each other, then make will quit without
- waiting for the rest of the jobs to die.
-
- * main.c (die): Don't reset err before calling reap_children() the
- second time: we still want it to be in the error condition.
- * job.c (reap_children): Use a static variable, rather than err,
- to control whether or not the error message should be printed.
-
-2005-08-06 Eli Zaretskii <eliz@gnu.org>
-
- * w32/subproc/sub_proc.c: Include signal.h.
- (process_pipe_io, process_file_io): Pass a pointer to a local
- DWORD variable to GetExitCodeProcess. If the exit code is
- CONTROL_C_EXIT, put SIGINT into pproc->signal.
-
- * job.c [WINDOWS32]: Include windows.h.
- (main_thread) [WINDOWS32]: New global variable.
- (reap_children) [WINDOWS32]: Get the handle for the main thread
- and store it in main_thread.
-
- * commands.c [WINDOWS32]: Include windows.h and w32err.h.
- (fatal_error_signal) [WINDOWS32]: Suspend the main thread before
- doing anything else. When we are done, close the main thread
- handle and exit with status 130.
-
-2005-07-30 Eli Zaretskii <eliz@gnu.org>
-
- * w32/subproc/sub_proc.c (process_begin): Don't pass a NULL
- pointer to fprintf.
-
- * main.c (find_and_set_default_shell): If found a DOSish shell,
- set sh_found and the value of default_shell, and report the
- findings in debug mode.
-
- * job.c (construct_command_argv_internal): Check unixy_shell, not
- no_default_sh_exe, to decide whether to use Unixy or DOSish
- builtin commands.
-
- * README.W32: Update with info about the MinGW build.
-
- * build_w32.bat: Support MinGW.
-
- * w32/subproc/build.bat: Likewise.
-
- * w32/subproc/sub_proc.c (process_easy): Fix format strings for
- printing DWORD args.
-
- * function.c (windows32_openpipe): Fix format strings for printing
- DWORD args.
-
- * job.c (reap_children) [WINDOWS32]: Don't declare 'status' and
- 'reap_mode'.
- (start_job_command): Fix format string for printing the result of
- process_easy.
- (start_job_command) [WINDOWS32]: Do not define.
- (exec_command): Fix format string for printing HANDLE args.
-
- * main.c (handle_runtime_exceptions): Fix sprintf format strings
- to avoid compiler warnings.
- (open_tmpfile): Declare fd only if HAVE_FDOPEN is defined.
- (Note: some of these fixes were submitted independently by J. Grant)
-
-2005-07-30 J. Grant <jg@jguk.org>
-
- * prepare_w32.bat: Copy config.h.w32 to config.h if not exist.
- * make_msvc_net2003.vcproj, make_msvc_net2003.sln: MSVC Project files.
- * Makefile.am (EXTRA_DIST): Add MSVC Project files.
-
-2005-07-15 Paul Smith <psmith@gnu.org>
-
- * job.c (construct_command_argv_internal) [DOS,WINDOWS32,OS/2]: If
- we don't have a POSIX shell, then revert to the old
- backslash-newline behavior (where they are stripped).
- Fixes bug #13665.
-
-2005-07-08 Paul D. Smith <psmith@gnu.org>
-
- * config.h.W32.template: Reorder to match the standard config.h,
- for easier comparisons.
- From J. Grant <jg@jguk.org>
-
- * maintMakefile: Remove .dep_segment before overwriting it, in
- case it's not writable or noclobber is set.
- * expand.c (variable_expand_string): Cast result of pointer
- arithmetic to avoid a warning.
- * main.c (switches): Add full-fledged final initializer.
-
-2005-07-06 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: IRIX has _sys_siglist. Tru64 UNIX has __sys_siglist.
- * signame.c (strsignal): If we found _sys_siglist[] or
- __sys_siglist[] use those instead of sys_siglist[].
- From Albert Chin <china@thewrittenword.com>
-
-2005-07-04 Paul D. Smith <psmith@gnu.org>
-
- * config.h-vms.template [VMS]: Latest VMS has its own glob() and
- globfree(); set up to use the GNU versions.
- From Martin Zinser <zinser@zinser.no-ip.info>
-
-2005-07-03 Paul D. Smith <psmith@gnu.org>
-
- From J. Grant <jg@jguk.org>:
-
- * README.W32.template: Update the Windows and tested MSVC versions.
- * NMakefile.template (CFLAGS_any): Change warning level from W3 to W4.
- * w32/subproc/NMakefile (CFLAGS_any): Ditto.
- * build_w32.bat: Ditto.
- * w32/subproc/build.bat: Ditto.
-
-2005-06-28 Paul D. Smith <psmith@gnu.org>
-
- * signame.c: HAVE_DECL_* macros are set to 0, not undef, if the
- declaration was checked but not present.
-
-2005-06-27 Paul D. Smith <psmith@gnu.org>
-
- * dir.c (find_directory): Change type of fs_serno/fs_flags/fs_len
- to unsigned long. Fixes Savannah bug #13550.
-
- * w32/subproc/sub_proc.c: Remove (HANDLE) casts on lvalues.
- (process_pipe_io): Initialize tStdin/tStdout/tStderr variables.
- Fixes Savannah bug #13551.
-
-2005-06-26 Paul D. Smith <psmith@gnu.org>
-
- * make.h: Fix bug in ANSI_STRING/strerror() handling; only define
- it if ANSI_STRING is not set.
-
-2005-06-25 Paul D. Smith <psmith@gnu.org>
-
- * read.c (eval): If no filenames are passed to any of the
- "include" variants, don't print an error.
- * doc/make.texi (Include): Document this.
- Fixes Savannah bug #1761.
-
- * job.c (construct_command_argv_internal): Sanitize handling of
- backslash/newline pairs according to POSIX: that is, keep the
- backslash-newline in the command script, but remove a following
- TAB character, if present. In the fast path, make sure that the
- behavior matches what the shell would do both inside and outside
- of quotes. In the slow path, quote the backslash and put a
- literal newline in the string.
- Fixes Savannah bug #1332.
- * doc/make.texi (Execution): Document the new behavior and give
- some examples.
- * NEWS: Make a note of the new behavior.
-
- * make.h [WINDOWS32]: #include <direct.h>.
- Fixes Savannah bug #13478.
-
- * remake.c (name_mtime): If the stat() of a file fails and the -L
- option was given and the file is a symlink, take the best mtime of
- the symlink we can get as the mtime of the file and don't fail.
- Fixes Savannah bug #13280.
-
- * read.c (find_char_unquote): Accept a new argument IGNOREVARS.
- If it's set, then don't stop on STOPCHARs or BLANKs if they're
- inside a variable reference. Make this function static as it's
- only used here.
- (eval): Call find_char_unquote() with IGNOREVARS set when we're
- parsing an unexpanded line looking for semicolons.
- Fixes Savannah bug #1454.
- * misc.c (remove_comments): Move this to read.c and make it static
- as it's only used there. Call find_char_unquote() with new arg.
- * make.h: Remove prototypes for find_char_unquote() and
- remove_comments() since they're static now.
-
- * main.c (main): If we see MAKE_RESTARTS in the environment, unset
- its export flag and obtain its value. When we need to re-exec,
- increment the value and add it into the environment.
- * doc/make.texi (Special Variables): Document MAKE_RESTARTS.
- * NEWS: Mention MAKE_RESTARTS.
- * main.c (always_make_set): New variable. Change the -B option to
- set this one instead.
- (main): When checking makefiles, only set always_make_flag if
- always_make_set is set AND the restarts flag is 0. When building
- normal targets, set it IFF always_make_set is set.
- (main): Avoid infinite recursion with -W, too: only set what-if
- files to NEW before we check makefiles if we've never restarted
- before. If we have restarted, set what-if files to NEW _after_ we
- check makefiles.
- Fixes Savannah bug #7566:
-
-2005-06-17 Paul D. Smith <psmith@gnu.org>
-
- * default.c: Change VMS implicit rules to use $$$$ instead of $$
- in the prerequisites list.
-
-2005-06-12 Paul D. Smith <psmith@gnu.org>
-
- Fix Savannah bug # 1328.
-
- * configure.in: Check for atexit().
- * misc.c (close_stdout): Test stdout to see if writes to it have
- failed. If so, be sure to exit with a non-0 error code. Based on
- code found in gnulib.
- * make.h: Prototype.
- * main.c (main): Install close_stdout() with atexit().
-
-2005-06-10 Paul D. Smith <psmith@gnu.org>
-
- VMS build updates from Hartmut Becker <Hartmut.Becker@hp.com>:
-
- * vmsjobs.c [VMS]: Updates to compile on VMS: add some missing
- headers; make vmsWaitForChildren() static; extern vmsify().
- * job.c [VMS]: Move vmsWaitForChildren() prototype to be global.
- Don't create child_execute_job() here (it's in vmsjobs.c).
- * makefile.vms (job.obj) [VMS]: Add vmsjobs.c as a prerequisite.
-
-2005-06-09 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (push_new_variable_scope): File variables point
- directly to the global_setlist variable. So, inserting a new
- scope in front of that has no effect on those variables: they
- don't go through current_variable_set_list. If we're pushing a
- scope and the current scope is global, push it "the other way" so
- that the new setlist is in the global_setlist variable, and
- next points to a new setlist with the global variable set.
- (pop_variable_scope): Properly undo a push with the new
- semantics.
- Fixes Savannah bug #11913.
-
-2005-05-31 Boris Kolpackov <boris@kolpackov.net>
-
- * job.c (reap_children): Don't die of the command failed but
- the dontcare flag is set. Fixes Savannah bug #13216.
-
- * implicit.c (pattern_search): When creating a target from
- an implicit rule match, lookup pattern target and set precious
- flag in a newly created target. Fixes Savannah bug #13218.
-
-2005-05-13 Paul D. Smith <psmith@gnu.org>
-
- Implement "if... else if... endif" syntax.
-
- * read.c (eval): Push all checks for conditional words ("ifeq",
- "else", etc.) down into the conditional_line() function.
- (conditional_line): Rework to allow "else if..." clause. New
- return value -2 for lines which are not conditionals. The
- ignoring flag can now also be 2, which means "already parsed a
- true branch". If that value is seen no other branch of this
- conditional can be considered true. In the else parsing if there
- is extra text after the else, invoke conditional_line()
- recursively to see if it's another conditional. If not, it's an
- error. If so, raise the conditional value to this level instead
- of creating a new conditional nesting level. Special check for
- "else" and "endif", which aren't allowed on the "else" line.
- * doc/make.texi (Conditional Syntax): Document the new syntax.
-
-2005-05-09 Paul D. Smith <psmith@gnu.org>
-
- * Makefile.am (EXTRA_make_SOURCES): Add vmsjobs.c
- (MAYBE_W32): Rework how SUBDIRS are handled so that "make dist"
- recurses to the w32 directory, even on non-Windows systems. Use
- the method suggested in the automake manual.
- * configure.in: Add w32/Makefile to AC_CONFIG_FILES.
- * maintMakefile (gnulib-url): They moved the texinfo.tex files.
-
-2005-05-07 Paul D. Smith <psmith@gnu.org>
-
- * main.c (die): If we're dying with a fatal error (not that a
- command has failed), write back any leftover tokens before we go.
-
- * job.c (set_child_handler_action_flags): If there are jobs
- waiting for the load to go down, set an alarm to go off in 1
- second. This allows us to wake up from a potentially long-lasting
- read() and start a new job if the load has gone down. Turn it off
- after the read.
- (job_noop): Dummy signal handler function.
- (new_job): Invoke it with the new semantics.
-
- * docs/make.texi: Document secondary expansion. Various cleanups
- and random work.
-
-2005-05-03 Paul D. Smith <psmith@gnu.org>
-
- Rename .DEFAULT_TARGET to .DEFAULT_GOAL: in GNU make terminology
- the targets which are to ultimately be made are called "goals";
- see the GNU make manual. Also, MAKECMDGOALS, etc.
-
- * filedef.h, read.c, main.c: Change .DEFAULT_TARGET to
- .DEFAULT_GOAL, and default_target_name to default_goal_name.
- * doc/make.texi (Special Variables): Document .DEFAULT_GOAL.
-
-2005-05-02 Paul D. Smith <psmith@gnu.org>
-
- * job.c, vmsjobs.c (vmsWaitForChildren, vms_redirect,
- vms_handle_apos, vmsHandleChildTerm, reEnableAst, astHandler,
- tryToSetupYAst, child_execute_job) [VMS]: Move VMS-specific
- functions to vmsjobs.c. #include it into jobs.c.
-
- Grant Taylor <gtaylor@picante.com> reports that -j# can lose
- jobserver tokens. I found that this happens when an exported
- recursive variable contains a $(shell ...) function reference: in
- this situation we could "forget" to write back a token.
-
- * job.c, job.h: Add variable jobserver_tokens: counts the tokens
- we have. It's not reliable to depend on the number of children in
- our linked list so keep a separate count.
- (new_job): Check jobserver_tokens rather than children &&
- waiting_jobs. Increment jobserver_tokens when we get one.
- (free_child): If jobserver_tokens is 0, internal error. If it's
- >1, write a token back to the jobserver pipe (we don't write a
- token for the "free" job). Decrement jobserver_tokens.
-
- * main.c: Add variable master_job_slots.
- (main): Set it to hold the number of jobs requested if we're the
- master process, when using the jobserver.
- (die): Sanity checks: first test jobserver_tokens to make sure
- this process isn't holding any tokens we didn't write back.
- Second, if master_job_slots is set count the tokens left in the
- jobserver pipe and ensure it's the same as master_job_slots (- 1).
-
-2005-04-24 Paul D. Smith <psmith@gnu.org>
-
- Grant Taylor <gtaylor@picante.com> reports that -j# in conjunction
- with -l# can lose jobserver tokens, because waiting jobs are not
- consulted properly when checking for the "free" token.
-
- * job.c (free_child): Count waiting_jobs as having tokens.
- * job.c (new_job): Ditto. Plus, call start_waiting_jobs() here to
- handle jobs waiting for the load to drop.
-
-2005-04-23 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main): Be careful to not core if a variable setting in
- the environment doesn't contain an '='. This is illegal but can
- happen in broken setups.
- Reported by Joerg Schilling <schilling@fokus.fraunhofer.de>.
-
-2005-04-12 Paul D. Smith <psmith@gnu.org>
-
- The second expansion feature causes significant slowdown. Timing
- a complex makefile (GCC 4.1) shows a slowdown from .25s to just
- read the makefile before the feature, to 11+s to do the same
- operations after the feature. Additionally, memory usage
- increased drastically. To fix this I added some intelligence that
- avoids the overhead of the second expansion unless it's required.
-
- * dep.h: Add a new boolean field, need_2nd_expansion.
-
- * read.c (eval): When creating the struct dep for the target,
- check if the name contains a "$"; if so set need_2nd_expansion to 1.
- (record_files): If there's a "%" in a static pattern rule, it gets
- converted to "$*" so set need_2nd_expansion to 1.
-
- * file.c (expand_deps): Rework to be more efficient. Only perform
- initialize_file_variables(), set_file_variables(), and
- variable_expand_for_file() if the need_2nd_expansion is set.
-
- * implicit.c (pattern_search): Default need_2nd_expansion to 0.
- (pattern_search): Ditto.
- * main.c (handle_non_switch_argument): Ditto.
- (main): Ditto.
- * read.c (read_all_makefiles): Ditto.
- (eval_makefile): Ditto.
-
-2005-04-07 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main) [WINDOWS32]: Export PATH to sub-shells, not Path.
- * variable.c (sync_Path_environment): Ditto.
- Patch by Alessandro Vesely. Fixes Savannah bug #12209.
-
- * main.c (main): Define the .FEATURES variable.
- * NEWS: Announce .FEATURES.
- * doc/make.texi (Special Variables): Document .FEATURES.
-
- * remake.c (check_dep): If a file is .PHONY, update it even if
- it's marked intermediate. Fixes Savannah bug #12331.
-
-2005-03-15 Boris Kolpackov <boris@kolpackov.net>
-
- * file.c (expand_deps): Factor out the second expansion and
- prerequisite line parsing logic from snap_deps().
-
- * file.c (snap_deps): Use expand_deps(). Expand and parse
- prerequisites of the .SUFFIXES special target first. Fixes
- Savannah bug #12320.
-
-2005-03-13 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main) [MSDOS]: Export SHELL in MSDOS. Requested by Eli
- Zaretskii.
-
-2005-03-11 Paul D. Smith <psmith@gnu.org>
-
- * signame.c (strsignal): HAVE_DECL_SYS_SIGLIST is 0 when not
- available, not undefined (from Earnie Boyd).
-
-2005-03-10 Boris Kolpackov <boris@kolpackov.net>
-
- * implicit.c (pattern_search): Mark an intermediate target as
- precious if it happened to be a prerequisite of some (other)
- target. Fixes Savannah bug #12267.
-
-2005-03-09 Paul D. Smith <psmith@gnu.org>
-
- * read.c (eval_makefile): Add alloca(0).
- (eval_buffer): Ditto.
-
-2005-03-09 Boris Kolpackov <boris@kolpackov.net>
-
- * main.c (main): Use o_file instead of o_default when defining
- the .DEFAULT_TARGET special variable.
- * read.c (eval): Use define_variable_global() instead of
- define_variable() when setting new value for the .DEFAULT_TARGET
- special variable. Fixes Savannah bug #12266.
-
-2005-03-04 Boris Kolpackov <boris@kolpackov.net>
-
- * imlicit.c (pattern_search): Mark files for which an implicit
- rule has been found as targets. Fixes Savannah bug #12202.
-
-2005-03-04 Paul D. Smith <psmith@gnu.org>
-
- * AUTHORS: Update.
- * doc/make.texi (Automatic Variables): Document $|.
-
-2005-03-03 Boris Kolpackov <boris@kolpackov.net>
-
- * read.c (record_files): Instead of substituting % with
- actual stem value in dependency list replace it with $*.
- This fixes stem triple expansion bug.
-
- * implicit.c (pattern_search): Copy stem to a separate
- buffer and make it a properly terminated string. Assign
- this buffer instead of STEM (which is not terminated) to
- f->stem. Instead of substituting % with actual stem value
- in dependency list replace it with $*. This fixes stem
- triple expansion bug.
-
-2005-03-01 Paul D. Smith <psmith@gnu.org>
-
- * commands.c (fatal_error_signal) [WINDOWS32]: Don't call kill()
- on Windows, as it takes a handle not a pid. Just exit.
- Fix from patch #3679, provided by Alessandro Vesely.
-
- * configure.in: Update check for sys_siglist[] from autoconf manual.
- * signame.c (strsignal): Update to use the new autoconf macro.
-
-2005-03-01 Boris Kolpackov <boris@kolpackov.net>
-
- * read.c (record_files): Add a check for the list of prerequisites
- of a static pattern rule being empty. Fixes Savannah bug #12180.
-
-2005-02-28 Paul D. Smith <psmith@gnu.org>
-
- * doc/make.texi (Text Functions): Update docs to allow the end
- ordinal for $(wordlist ...) to be 0.
- * function.c (func_wordlist): Fail if the start ordinal for
- $(wordlist ...) is <1. Matches documentation.
- Resolves Savannah support request #103195.
-
- * remake.c (update_goal_chain): Fix logic for stopping in -q:
- previously we were stopping when !-q, exactly the opposite. This
- has been wrong since version 1.34, in 1994!
- (update_file): If we got an error don't break out to run more
- double-colon rules: just return immediately.
- Fixes Savannah bug #7144.
-
-2005-02-27 Paul D. Smith <psmith@gnu.org>
-
- * misc.c (end_of_token): Make argument const.
- * make.h: Update prototype.
-
- * function.c (abspath, func_realpath, func_abspath): Use
- PATH_VAR() and GET_PATH_MAX instead of PATH_MAX.
- * dir.c (downcase): Use PATH_VAR() instead of PATH_MAX.
- * read.c (record_files): Ditto.
- * variable.c (do_variable_definition): Ditto.
-
- * function.c (func_error): Create a new function $(info ...) that
- simply prints the message to stdout with no extras.
- (function_table_init): Add new function to the table.
- * NEWS: Add $(info ...) reference.
- * doc/make.texi (Make Control Functions): Document it.
-
- New feature: if the system supports symbolic links, and the user
- provides the -L/--check-symlink-time flag, then use the latest
- mtime between the symlink(s) and the target file.
-
- * configure.in (MAKE_SYMLINKS): Check for lstat() and
- readlink(). If both are available, define MAKE_SYMLINKS.
- * main.c: New variable: check_symlink_flag.
- (usage): Add a line for -L/--check-symlink-times to the help string.
- (switches): Add -L/--check-symlink-times command line argument.
- (main): If MAKE_SYMLINKS is not defined but the user specified -L,
- print a warning and disable it again.
- * make.h: Declare check_symlink_flag.
- * remake.c (name_mtime): If MAKE_SYMLINKS and check_symlink_flag,
- if the file is a symlink then check each link in the chain and
- choose the NEWEST mtime we find as the mtime for the file. The
- newest mtime might be the file itself!
- * NEWS: Add information about this new feature.
- * doc/make.texi (Options Summary): Add -L/--check-symlink-times docs.
-
- Avoid core dumps described in Savannah bug # 12124:
-
- * file.c: New variable snapped_deps remember whether we've run
- snap_deps().
- (snap_deps): Set it.
- * filedef.h: Extern it.
- * read.c (record_files): Check snapped_deps; if it's set then
- we're trying to eval a new target/prerequisite relationship from
- within a command script, which we don't support. Fatal.
-
-2005-02-28 Boris Kolpackov <boris@kolpackov.net>
-
- Implementation of the .DEFAULT_TARGET special variable.
-
- * read.c (eval): If necessary, update default_target_name when
- reading rules.
- * read.c (record_files): Update default_target_file if
- default_target_name has changed.
- * main.c (default_target_name): Define.
- * main.c (main): Enter .DEFAULT_TARGET as make variable. If
- default_target_name is set use default_target_file as a root
- target to make.
- * filedef.h (default_target_name): Declare.
- * dep.h (free_dep_chain):
- * misc.c (free_dep_chain): Change to operate on struct nameseq
- and change name to free_ns_chain.
- * file.c (snap_deps): Update to use free_ns_chain.
-
-2005-02-27 Boris Kolpackov <boris@kolpackov.net>
-
- Implementation of the second expansion in explicit rules,
- static pattern rules and implicit rules.
-
- * read.c (eval): Refrain from chopping up rule's dependencies.
- Store them in a struct dep as a single dependency line. Remove
- the code that implements SySV-style automatic variables.
-
- * read.c (record_files): Adjust the code that handles static
- pattern rules to expand all percents instead of only the first
- one. Reverse the order in which dependencies are stored so that
- when the second expansion reverses them again they appear in
- the makefile order (with some exceptions, see comments in
- the code). Remove the code that implements SySV-style automatic
- variables.
-
- * file.c (snap_deps): Implement the second expansion and chopping
- of dependency lines for explicit rules.
-
- * implicit.c (struct idep): Define an auxiliary data type to hold
- implicit rule's dependencies after stem substitution and
- expansion.
-
- * implicit.c (free_idep_chain): Implement.
-
- * implicit.c (get_next_word): Implement helper function for
- parsing implicit rule's dependency lines into words taking
- into account variable expansion requests. Used in the stem
- splitting code.
-
- * implicit.c (pattern_search): Implement the second expansion
- for implicit rules. Also fixes bug #12091.
-
- * commands.h (set_file_variables): Declare.
- * commands.c (set_file_variables): Remove static specifier.
-
- * dep.h (free_dep_chain): Declare.
- * misc.c (free_dep_chain): Implement.
-
- * variable.h (variable_expand_for_file): Declare.
- * expand.c (variable_expand_for_file): Remove static specifier.
-
- * make.h (strip_whitespace): Declare.
- * function.c (strip_whitespace): Remove static specifier.
-
-2005-02-26 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main): Check for ferror() when reading makefiles from stdin.
- Apparently some shells in Windows don't close pipes properly and
- require this check.
-
-2005-02-24 Jonathan Grant <jg@jguk.org>
-
- * configure.in: Add MinGW configuration options, and extra w32 code
- directory.
- * Makefile.am: Add MinGW configuration options, and extra w32 code
- directory.
- * main.c: Determine correct program string (after last \ without .exe).
- * subproc/sub_proc.c: `GetExitCodeProcess' from incompatible pointer
- type fix x2
- * w32/Makefile.am: Import to build win32 lib of sub_proc etc.
- * subproc/w32err.c: MSVC thread directive not applied to MinGW builds.
- * tests/run_make_tests.pl, tests/test_driver.pl: MSYS testing
- environment support.
-
-2004-04-16 Dmitry V. Levin <ldv@altlinux.org>
-
- * function.c (func_shell): When initializing error_prefix, check
- that reading file name is not null. This fixes long-standing
- segfault in cases like "make 'a1=$(shell :)' 'a2:=$(a1)'".
-
-2005-02-09 Paul D. Smith <psmith@gnu.org>
-
- * maintMakefile: Update the CVS download URL to simplify them.
- Also, the ftp://ftp.gnu.org/GNUinfo site was removed so I'm
- downloading the .texi files from Savannah now.
-
- Fixed these issues reported by Markus Mauhart <qwe123@chello.at>:
-
- * main.c (handle_non_switch_argument): Only add variables to
- command_variables if they're not already there: duplicate settings
- waste space and can be confusing to read.
-
- * w32/include/sub_proc.h: Remove WINDOWS32. It's not needed since
- this header is never included by non-WINDOWS32 code, and it
- requires <config.h> to define which isn't always included first.
-
- * dir.c (read_dirstream) [MINGW]: Use proper macro names when
- testing MINGW32 versions.
-
- * main.c (log_working_directory): flush stdout to be sure the WD
- change is printed before any stderr messages show up.
-
-2005-02-01 Paul D. Smith <psmith@gnu.org>
-
- * maintMakefile (po_repo): Update the GNU translation site URL.
-
-2004-12-01 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main): Change char* env_shell to struct variable shell_var.
- * variable.c (target_environment): Use new shell_var.
-
-2004-11-30 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: The old way we avoided creating build.sh from
- build.sh.in before build.sh.in exists doesn't work anymore; we
- have to use raw M4 (thanks to Andreas Schwab <schwab@suse.de> for
- the help!). This also keeps automake from complaining.
- * Makefile.am (README): Add a dummy target so automake won't
- complain that this file doesn't exist when we checkout from CVS.
- * maintMakefile (.dep_segment): Rewrite this rule since newer
- versions of automake don't provide DEP_FILES.
-
-2004-11-30 Boris Kolpackov <boris@kolpackov.net>
-
- Implementation of `realpath' and `abspath' built-in functions.
-
- * configure.in: Check for realpath.
- * function.c (abspath): Return an absolute file name that does
- not contain any `.' or `..' components, nor repeated `/'.
- * function.c (func_abspath): For each name call abspath.
- * function.c (func_realpath): For each name call realpath
- from libc or delegate to abspath if realpath is not available.
- * doc/make.texi (Functions for File Names): Document new functions.
- * doc/make.texi (Quick Reference): Ditto.
-
-2004-11-28 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main) [WINDOWS32]: Remove any trailing slashes from -C
- arguments. Fixes bug #10252.
-
- Fix for bug #1276: Handle SHELL according to POSIX requirements.
-
- * main.c (main): Set SHELL to v_noexport by default. Remember the
- original environment setting of SHELL in the env_shell variable.
- * main.h: Export new env_shell variable.
- * variable.c (target_environment): If we find a v_noexport
- variable for SHELL, add a SHELL variable with the env_shell value.
- * doc/make.texi (Quick Reference): Document the POSIX behavior.
- * doc/make.texi (Variables/Recursion): Ditto.
-
-2004-11-28 Paul D. Smith <psmith@gnu.org>
-
- * main.c (find_and_set_default_shell) [WINDOWS32]: check for
- equality of "cmd"/"cmd.exe", not inequality. Fixes bug #11155.
- Patch by Alessandro Vesely.
-
-2004-11-12 Paul D. Smith <psmith@gnu.org>
-
- * job.c (child_execute_job) [VMS]: Don't treat "#" as a comment on
- the command line if it's inside a string.
- Patch by: Hartmut Becker <Hartmut.Becker@hp.com>
-
-2004-10-21 Boris Kolpackov <boris@kolpackov.net>
-
- * function.c (func_lastword): New function: return last word
- from the list of words.
- * doc/make.texi: Document $(lastword ). Fix broken links in
- Quick Reference section.
-
-2004-10-06 Paul D. Smith <psmith@gnu.org>
-
- Apply patch from Alessandro Vesely, provided with bug # 9748.
- Fix use of tmpnam() to work with Borland C.
-
- * job.c (construct_command_argv_internal) [WINDOWS32]: Remove
- construction of a temporary filename, and call new function
- create_batch_filename().
- (create_batch_filename) [WINDOWS32]: New function to create a
- temporary filename.
-
-2004-10-05 Boris Kolpackov <boris@kolpackov.net>
-
- * read.c (record_target_var): Expand simple pattern-specific
- variable.
- * variable.c (initialize_file_variables): Do not expand simple
- pattern-specific variable.
-
-2004-09-28 Boris Kolpackov <boris@kolpackov.net>
-
- * remake.c (update_file_1): When rebuilding makefiles inherit
- dontcare flag from a target that triggered update.
-
-2004-09-27 Boris Kolpackov <boris@kolpackov.net>
-
- * variable.c (initialize_file_variables): Mark pattern-specific
- variable as a per-target and copy export status.
-
-2004-09-21 Boris Kolpackov <boris@kolpackov.net>
-
- * file.c (snap_deps): Mark .PHONY prerequisites as targets.
-
- * implicit.c (pattern_search): When considering an implicit rule's
- prerequisite check that it is actually a target rather then
- just an entry in the file hashtable.
-
-2004-09-21 Paul D. Smith <psmith@gnu.org>
-
- * read.c (readstring): Fix some logic errors in backslash handling.
- (eval): Remove some unnecessary processing in buffer handling.
- (record_target_var): Assert that parse_variable_definition() succeeded.
- Reported by: Markus Mauhart <qwe123@chello.at>.
-
- * misc.c: Removed the sindex() function. All instances of this
- function were trivially replaceable by the standard strstr()
- function, and that function will always have better (or certainly
- no worse) performance than the very simple-minded algorithm
- sindex() used. This can matter with complex makefiles.
- * make.h: Remove the prototype for sindex().
- * function.c (subst_expand): Convert sindex() call to strstr().
- This means we no longer need to track the TLEN value so remove that.
- (func_findstring): Convert sindex() to strstr().
- * commands.c (chop_commands): Convert sindex() calls to strstr().
- Suggested by: Markus Mauhart <qwe123@chello.at>.
-
- * main.c (find_and_set_default_shell) [WINDOWS32]: Implement the
- idea behind Savannah Patch #3144 from david.baird@homemail.com.
- If SHELL is set to CMD.EXE then assume it's batch-mode and
- non-unixy. I wrote the code differently from the patch, though,
- to make it safer. This also resolves bug #9174.
-
-2004-09-20 Paul D. Smith <psmith@gnu.org>
-
- * expand.c (variable_expand_string): Modify to invoke
- patsubst_expand() instead of subst_expand(); the latter didn't
- handle suffix patterns correctly.
- * function.c (subst_expand): Remove the SUFFIX_ONLY parameter; it
- was used only from variable_expand_string() and is no longer used
- there.
- (func_subst): Ditto, on call to subst_expand().
- (patsubst_expand): Require the percent pointers to point to the
- character after the %, not to the % itself.
- * read.c (record_files): New call criteria for patsubst_expand().
- * variable.h: Remove SUFFIX_ONLY from subst_expand() prototype.
- This is to fix a bug reported by Markus Mauhart <qwe123@chello.at>.
-
-2004-09-19 Paul D. Smith <psmith@gnu.org>
-
- * function.c (subst_expand): Fix a check in by_word: look for a
- previous blank if we're beyond the beginning of the string, not
- the beginning of the word.
- Bugs reported by Markus Mauhart <qwe123@chello.at>.
-
-2004-05-16 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (update_goal_chain): Change the argument specifying
- whether we're rebuilding makefiles to be a global variable,
- REBUILDING_MAKEFILES.
- (complain): Extract the code that complains about no rules to make
- a target into a separate function.
- (update_file_1): If we tried to rebuild a file during the makefile
- rebuild phase and it was dontcare, then no message was printed.
- If we then try to build the same file during the normal build,
- print a message this time.
- (remake_file): Don't complain about un-remake-able files when
- we're rebuilding makefiles.
-
-2004-05-11 Paul D. Smith <psmith@gnu.org>
-
- * job.c (construct_command_argv_internal): OS/2 patches from
- Andreas Buening <andreas.buening@nexgo.de>.
-
-2004-05-10 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (update_file): Don't walk the double-colon chain unless
- this is a double-colon rule. Fix suggested by Boris Kolpackov
- <boris@kolpackov.net>.
-
- * makefile.vms (CFLAGS): Remove glob/globfree (see readme.vms docs)
- * readme.vms: New section describing OpenVMS support and issues.
- * default.c (default_variables): Add support for IA64.
- * job.c (tryToSetupYAst) [VMS]: On VMS running make in batch mode
- without some privilege aborts make with the error
- %SYSTEM-F-NOPRIV. It happens when setting up a handler for
- pressing Ctrl+Y and the input device is no terminal. The change
- catches this error and just continues.
-
- Patches by Hartmut Becker <Hartmut.Becker@hp.com>
-
-2004-04-25 Paul D. Smith <psmith@gnu.org>
-
- * commands.c (set_file_variables): Set $< properly in the face of
- order-only prerequisites.
- Patch from Boris Kolpackov <boris@kolpackov.net>
-
-2004-04-21 Bob Byrnes <byrnes@curl.com>
-
- * main.c (main): Notice failures to remake makefiles.
-
-2004-03-28 Paul D. Smith <psmith@gnu.org>
-
- Patches for Acorn RISC OS by Peter Naulls <peter@chocky.org>
-
- * job.c: No default shell for RISC OS.
- (load_too_high): Hard-code the return to 1.
- (construct_command_argv_internal): No sh_chars or sh_cmds.
- * getloadavg.c: Don't set LOAD_AVE_TYPE on RISC OS.
-
-2004-03-20 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (do_variable_definition): Don't append from the
- global set if a previous non-appending target-specific variable
- definition exists. Reported by Oliver Schmidt <oschmidt@gmx.net>
- (with fix).
-
- * expand.c (reference_variable): Don't give up on variables with
- no value that have the target-specific append flag set: they might
- have a value after all. Reported by Oliver Schmidt
- <oschmidt@gmx.net> (with fix) and also by Maksim A. Nikulin
- <nikulin@dx1cmd.inp.nsk.su>.
-
- * rule.c (count_implicit_rule_limits): Don't delete patterns which
- refer to absolute pathnames in directories that don't exist: some
- portion of the makefile could create those directories before we
- match the pattern. Fixes bugs #775 and #108.
-
- Fixes from Jonathan R. Grant <jg-make@jguk.org>:
-
- * main.c (main): Free makefile_mtimes if we have any.
- * README.W32.template: Update documentation for the current status
- of the MS-Windows port.
- * NMakefile.template (MAKE): Add "MAKE = nmake". A conflicting
- environment variable is sometimes already defined which causes the
- build to fail.
- * main.c (debug_signal_handler): Only define this function if
- SIGUSR1 is available.
-
- Fixes for OS/2 from Andreas Beuning <andreas.buening@nexgo.de>:
-
- * configure.in [OS/2]: Relocate setting of HAVE_SA_RESTART for OS/2.
- * README.OS2.template: Documentation updates.
- * build.template: Add LIBINTL into LOADLIBES. Add $CFLAGS to the
- link line for safety.
- * maintMakefile (build.sh.in): Remove an extraneous ")".
- * job.c (child_execute_job): Close saved FDs.
- * job.c (exec_command) [OS/2]: exec_command(): If the command
- can't be exec'ed and if the shell is not Unix-sh, then try again
- with argv = { "cmd", "/c", ... }. Normally, this code is never
- reached for the cmd shell unless the command really doesn't exist.
- (construct_command_argv_internal) [OS/2]: The code for cmd
- handling now uses new_argv = { "cmd", "/c", "original line", NULL}.
- The CMD builtin commands are case insensitive so use strcasecmp().
-
-2004-03-19 Paul D. Smith <psmith@gnu.org>
-
- * read.c (do_define): Re-order line counter increment so the count
- is accurate (we were losing one line per define). Reported by
- Dave Yost <Dave@Yost.com>.
-
-2004-03-06 Paul D. Smith <psmith@gnu.org>
-
- * configure.in (HAVE_ANSI_COMPILER): Define if we have an ANSI/ISO
- compiler.
- * make.h: Convert uses of __STDC__ to HAVE_ANSI_COMPILER.
- * misc.c (message,error,fatal): Ditto.
- * configh.dos.template: Define HAVE_ANSI_COMPILER.
- * config.h.W32.template: Ditto.
- * config.h-vms.template: Ditto.
- * config.ami.template: Ditto.
-
-2004-03-04 Paul D. Smith <psmith@gnu.org>
-
- * README.template: Add a note about broken /bin/sh on SunOS
- 4.1.3_U1 & 4.1.4. Fix up Savannah links.
-
- * misc.c (message, error, fatal): Don't use "..." if we're using
- varargs. ansi2knr should handle this but it doesn't work: it
- translates "..." to va_dcl etc. but _AFTER_ the preprocessor is
- done. On many systems (SunOS for example) va_dcl is a #define.
- So, force the use of the non-"..." version on pre-ANSI compilers.
-
- * maintMakefile (sign-dist): Create some rules to help automate
- the new GNU ftp upload method.
-
-2004-02-24 Paul D. Smith <psmith@gnu.org>
-
- * config.h.W32.template: Add HAVE_STDARG_H
- * config.h-vms.template: Ditto.
- * config.ami.template: Ditto.
-
-2004-02-23 Jonathan Grant <jg-make@jguk.org>
-
- * README.W32.template: Add a notation about -j with BATCH_MODE_ONLY.
- * build_w32.bat: Remove extra "+".
-
-2004-02-23 Paul D. Smith <psmith@gnu.org>
-
- * make.h: Create an UNUSED macro to mark unused parameters.
- * (many): Clean up warnings by applying UNUSED, fixing
- signed/unsigned incompatibilities, etc.
-
- * acinclude.m4 (AC_STRUCT_ST_MTIM_NSEC): Add quoting to silence
- autoconf warnings.
- * filedef.h: Name the command_state enumeration.
- * file.c (set_command_state): Use the enumeration in the function
- argument.
-
- * configure.in: Explicitly set SET_MAKE to empty, to disable
- MAKE=make even when no make already exists. Fix bug #3823.
-
-2004-02-22 Paul D. Smith <psmith@gnu.org>
-
- * maintMakefile: Perl script to clean up all non-CVS files. Use
- it on all the subdirectories for the cvs-clean target.
-
- * main.c (decode_switches): Require non-empty strings for all our
- string command-line options. Fixes Debian bug # 164165.
-
- * configure.in: Check for stdarg.h and varargs.h.
- * make.h (USE_VARIADIC): Set this if we can use variadic functions
- for printing messages.
- * misc.c: Check USE_VARIADIC instead of (obsolete) HAVE_STDVARARGS.
- (message): Ditto.
- (error): Ditto.
- (fatal): Ditto.
-
- A number of patches for OS/2 support from Andreas Buening
- <andreas.buening@nexgo.de>:
-
- * job.c (child_handler) [OS/2]: Allow this on OS/2 but we have to
- disable the SIGCHLD handler.
- (reap_children) [OS/2]: Remove special handling of job_rfd.
- (set_child_handler_action_flags) [OS/2]: Use this function in OS/2.
- (new_job) [OS/2]: Disable the SIGCHLD handler on OS/2.
- * main.c (main) [OS/2]: Special handling for paths in OS/2.
- * configure.in [OS/2]: Force SA_RESTART for OS/2.
- * Makefile.am (check-regression): Use $(EXEEXT) for Windows-type
- systems.
-
-2004-02-21 Paul D. Smith <psmith@gnu.org>
-
- * w32/subproc/sub_proc.c (process_easy) [W32]: Christoph Schulz
- <mail@kristov.de> reports that if process_begin() fails we don't
- handle the error condition correctly in all cases.
- * w32/subproc/w32err.c (map_windows32_error_to_string): Make sure
- to have a newline on the message.
-
- * job.c (construct_command_argv_internal): Add "test" to UNIX
- sh_cmds[]. Fixes Savannah bug # 7606.
-
-2004-02-04 Paul D. Smith <psmith@gnu.org>
-
- * job.c (vms_handle_apos) [VMS]: Fix various string handling
- situations in VMS DCL. Fixes Savannah bug #5533. Fix provided by
- Hartmut Becker <Hartmut.Becker@hp.com>.
-
-2004-01-21 Paul D. Smith <psmith@gnu.org>
-
- * job.c (load_too_high): Implement an algorithm to control the
- "thundering herd" problem when using -l to control job creation
- via the load average. The system only recomputes the load once a
- second but we can start many jobs in a second. To solve this we
- keep track of the number of jobs started in the last second and
- apply a weight to try to guess what a correct load would be.
- The algorithm was provided by Thomas Riedl <thomas.riedl@siemens.com>.
- Also fixes bug #4693.
- (reap_children): Decrease the job count for this second.
- (start_job_command): Increase the job count for this second.
-
- * read.c (conditional_line): Expand the text after ifn?def before
- checking to see if it's a single word. Fixes bug #7257.
-
-2004-01-09 Paul D. Smith <psmith@gnu.org>
-
- * file.c (print_file): Recurse to print all targets in
- double-colon rules. Fixes bug #4518, reported (with patch) by
- Andrew Chatham <chatham@google.com>.
-
-2004-01-07 Paul D. Smith <psmith@gnu.org>
-
- * acinclude.m4: Remove make_FUNC_SETVBUF_REVERSED.
- * configure.in: Change make_FUNC_SETVBUF_REVERSED to
- AC_FUNC_SETVBUF_REVERSED.
-
- * doc/make.texi (Target-specific): Fix Savannah bug #1772.
- (MAKE Variable): Fix Savannah bug #4898.
-
- * job.c (construct_command_argv_internal): Add "!" to the list of
- shell escape chars. POSIX sh allows it to appear before a
- command, to negate the exit code. Fixes bug #6404.
-
- * implicit.c (pattern_search): When matching an implicit rule,
- remember which dependencies have the ignore_mtime flag set.
- Original fix provided in Savannah patch #2349, by Benoit
- Poulot-Cazajous <Benoit.Poulot-Cazajous@jaluna.com>.
-
-2003-11-22 Paul D. Smith <psmith@gnu.org>
-
- * README.W32.template (Outputs): Clarification on -j with
- BATCH_MODE_ONLY_SEHLL suggested by Jonathan R. Grant
- <jg-make@jguk.org>.
-
-2003-11-02 Paul D. Smith <psmith@gnu.org>
-
- * function.c (func_if): Strip all the trailing whitespace from the
- condition, then don't expand it. Fixed bug # 5798.
-
- * expand.c (recursively_expand_for_file): If we're expanding a
- variable with no file context, then use the variable's context.
- Fixes bug # 6195.
-
-2003-10-21 Paul D. Smith <psmith@gnu.org>
-
- * main.c (log_working_directory): Add newlines to printf()s.
-
- * README.cvs: Add a note to ignore warnings during autoreconf.
-
- * maintMakefile (po_repo): Set a new URL for PO file updates.
- (get-config/config.guess get-config/config.sub): Get these files
- from the Savannah config project instead of ftp.gnu.org.
-
-2003-10-05 Paul Eggert <eggert@twinsun.com>
-
- * main.c (main): Avoid potential subscript error if environ has
- short strings.
-
-2003-08-22 Paul D. Smith <psmith@gnu.org>
-
- * misc.c (xmalloc, xrealloc): Add one to 0 sizes, to cater to
- systems which don't yet implement the C89 standard :-/.
-
-2003-07-18 Paul D. Smith <psmith@gnu.org>
-
- * dir.c (directory_contents_hash_1, directory_contents_hash_1)
- [WINDOWS32]: Initialize hash.
-
-2003-06-19 Earnie Boyd <earnie@uses.sf.net>
-
- * dir.c (read_dirstream): Provide a workaround for broken versions of
- the MinGW dirent structure.
-
-2003-05-30 Earnie Boyd <earnie@users.sf.net>
-
- * w32/include/dirent.h: Add __MINGW32__ filter.
-
-2003-05-30 Earnie Boyd <earnie@users.sf.net>
-
- * make.h: Add global declaration of *make_host.
- * main.c (print_usage): Remove local declaration of *make_host.
- (print_version): Display "This program built for ..." after Copyright
- notice.
-
-2003-05-30 Earnie Boyd <earnie@users.sf.net>
-
- * doc/make.texi: Change "ifinfo" to "ifnottex" as suggested by the
- execution of "makeinfo --html make.texi".
-
-2003-04-30 Paul D. Smith <psmith@gnu.org>
-
- * build.template: Make some changes to maybe allow this script to
- work on DOS/Windows/OS2 systems. Suggested by Andreas Buening.
-
- * README.OS2.template: New file for OS/2 support. Original
- contributed by Andreas Buening.
- * configure.in: Invoke new pds_AC_DOS_PATHS macro to test for
- DOS-style paths.
-
-2003-04-19 Paul D. Smith <psmith@gnu.org>
-
- Fix bug #1405: allow a target to match multiple pattern-specific
- variables.
-
- * rule.c (create_pattern_var, lookup_pattern_var): Move these to
- variable.c, where they've always belonged.
- * rule.h: Move the prototypes and struct pattern_var as well.
- * variable.c (initialize_file_variables): Invoke
- lookup_pattern_var() in a loop, until no more matches are found.
- If a match is found, create a new variable set for the target's
- pattern variables. Then merge the contents of each matching
- pattern variable set into the target's pattern variable set.
- (lookup_pattern_var): Change this function to be usable
- in a loop. It takes a starting position: if NULL, start at the
- beginning; if non-NULL, start with the pattern variable after that
- position, and return the next matching pattern.
- (create_pattern_var): Create a unique instance of
- pattern-specific variables for every definition in the makefile.
- Don't combine the same pattern together. This allows us to
- process the variable handling properly even when the same pattern
- is used multiple times.
- (parse_variable_definition): New function: break out the parsing
- of a variable definition line from try_variable_definition.
- (try_variable_definition): Call parse_variable_definition to
- parse.
- (print_variable_data_base): Print out pattern-specific variables.
- * variable.h (struct variable): Remember when a variable is
- conditional. Also remember its flavor.
- (struct pattern_var): Instead of keeping a variable set, we just
- keep a single variable for each pattern.
- * read.c (record_target_var): Each pattern variable contains only a
- single variable, not a set, so create it properly.
- * doc/make.texi (Pattern-specific): Document the new behavior.
-
-2003-04-17 Paul D. Smith <psmith@gnu.org>
-
- * dir.c (file_exists_p) [VMS]: Patch provided with Bug #3018 by
- Jean-Pierre Portier <portierjp2@free.fr>. I don't understand the
- file/directory naming rules for VMS so I can't tell whether this
- is correct or not.
-
-2003-04-09 Paul D. Smith <psmith@gnu.org>
-
- * configure.in (HAVE_DOS_PATHS): Define this on systems that need
- DOS-style pathnames: backslash separators and drive specifiers.
-
-2003-03-28 Paul D. Smith <psmith@gnu.org>
-
- * file.c (snap_deps): If .SECONDARY with no targets is given, set
- the intermediate flag on all targets. Fixes bug #2515.
-
-2003-03-24 Paul D. Smith <psmith@gnu.org>
-
- * configure.in, Makefile.am, glob/Makefile.am, doc/Makefile.am:
- Upgrade to autoconf 2.57 and automake 1.7.3.
-
- * job.c: More OS/2 changes from Andreas Buening.
-
- * file.c (print_file): Fix variable initialization.
- Fixes bug #2892.
-
- * remake.c (notice_finished_file):
-
- * make.h (ENULLLOOP): Set errno = 0 before invoking the command;
- some calls (like readdir()) return NULL in valid situations
- without resetting errno. Fixes bug #2846.
-
-2003-02-25 Paul D. Smith <psmith@gnu.org>
-
- Port to OS/2 (__EMX__) by Andreas Buening <andreas.buening@nexgo.de>.
-
- * job.c (_is_unixy_shell) [OS/2]: New function.
- Set default shell to /bin/sh.
- (reap_children): Close the job_rfd pipe here since we don't use a
- SIGCHLD handler.
- (set_child_handler_action_flags): define this to empty on OS/2.
- (start_job_command): Close the jobserver pipe and use
- child_execute_job() instead of fork/exec.
- (child_execute_job): Rewrite to handle stdin/stdout FDs and spawn
- rather than exec'ing, then reconfigure stdin/stdout.
- (exec_command): Rewrite to use spawn instead of exec. Return the
- PID of the child.
-
- * main.c (main) [OS/2]: Call initialize_main(). Handle argv[0] as
- in DOS. Handle the TEMP environment variable as in DOS. Don't
- use a SIGCHLD handler on OS/2. Choose a shell as in DOS. Don't
- use -j in DOS mode. Use child_execute_job() instead of
- exec_command().
-
- * function.c (func_shell) [OS/2]: Can't use fork/exec on OS/2: use
- spawn() instead.
-
- * job.h [OS/2]: Move CLOSE_ON_EXEC here from job.c. Add
- prototypes that return values.
-
- * remake.c (f_mtime) [OS/2]: Handle FAT timestamp offsets for OS/2.
-
- * read.c (readline) [OS/2]: Don't handle CRLF specially on OS/2.
- * default.c (default_suffixes) [OS/2]: Set proper default suffixes
- for OS/2.
- * vpath.c (construct_vpath_list) [OS/2]: Handle OS/2 paths like
- DOS paths.
-
-2003-02-24 Paul D. Smith <psmith@gnu.org>
-
- * default.c [VMS]: New default rules for .cxx -> .obj compiles.
- * job.c (child_execute_job) [VMS]: New code for handling spawn().
- (child_execute_job) [VMS]: Handle error status properly.
- Patches provided by Hartmut Becker <Hartmut.Becker@compaq.com>.
-
- * function.c (func_shell): Use EINTRLOOP() while reading from the
- subshell pipe (Fixes bug #2502).
- * job.c (free_child): Use EINTRLOOP() while writing tokens to the
- jobserver pipe.
- * main.c (main): Ditto.
-
-2003-01-30 Paul D. Smith <psmith@gnu.org>
-
- * read.c (eval): eval() was not fully reentrant, because the
- collapsed buffer was static. Change it to be an automatic
- variable so that eval() can be invoked recursively.
- Fixes bug # 2238.
- (eval): Apply patch # 1022: fix memory reference error on long
- target-specific variable lines.
- Patch provided by Steve Brown <Steve.Brown@macquarie.com>.
-
- * function.c (check_numeric): Combine the is_numeric() function
- into this function, since it's only called from one place.
- Constify this function. Have it print the incorrect string in the
- error message. Fixes bug #2407.
- (strip_whitespace): Constify.
- (func_if): Constify.
- * expand.c (expand_argument): Constify.
-
-2003-01-29 Paul D. Smith <psmith@gnu.org>
-
- Fix bug # 2169, also reported by other people on various systems.
-
- * make.h: Some systems, such as Solaris and PTX, do not fully
- implement POSIX-compliant SA_RESTART functionality; important
- system calls like stat() and readdir() can still fail with EINTR
- even if SA_RESTART has been set on the signal handler. So,
- introduce macros EINTRLOOP() and ENULLLOOP() which can loop on
- EINTR for system calls which return -1 or 0 (NULL), respectively,
- on error.
- Also, remove the old atomic_stat()/atomic_readdir() and
- HAVE_BROKEN_RESTART handling.
-
- * configure.in: Remove setting of HAVE_BROKEN_RESTART.
-
- * arscan.c (ar_member_touch): Use EINTRLOOP() to wrap fstat().
- * remake.c (touch_file): Ditto.
-
- * commands.c (delete_target): Use EINTRLOOP() to wrap stat().
- * read.c (construct_include_path): Ditto.
- * remake.c (name_mtime): Ditto.
- * vpath.c (selective_vpath_search): Ditto.
- * dir.c (find_directory): Ditto.
- (local_stat): Ditto.
- (find_directory): Use ENULLLOOP() to wrap opendir().
- (dir_contents_file_exists_p): Use ENULLLOOP() to wrap readdir().
-
- * misc.c: Remove HAVE_BROKEN_RESTART, atomic_stat(), and
- atomic_readdir() handling.
-
-2003-01-22 Paul D. Smith <psmith@gnu.org>
-
- * function.c (func_call): Fix Bug #1744. If we're inside a
- recursive invocation of $(call ...), mask any of the outer
- invocation's arguments that aren't used by this one, so that this
- invocation doesn't "inherit" them accidentally.
-
-2002-12-05 Paul D. Smith <psmith@gnu.org>
-
- * function.c (subst_expand): Valery Khamenia reported a
- pathological performance hit when doing substitutions on very
- large values with lots of words: turns out we were invoking
- strlen() a ridiculous number of times. Instead of having each
- call to sindex() call strlen() again, keep track of how much of
- the text we've seen and pass the length to sindex().
-
-2002-11-19 Paul D. Smith <psmith@gnu.org>
-
- * README.cvs, configure.in: Upgrade to require autoconf 2.56.
-
-
-2002-11-16 Paul D. Smith <psmith@gnu.org>
-
- * NMakefile.template (OBJS): Add hash.c object file.
- * SMakefile.template (srcs): Ditto.
- * Makefile.ami (objs): Ditto.
- * build_w32.bat: Ditto.
-
- * Makefile.DOS.template: Remove extra dependencies.
-
-2002-10-25 Paul D. Smith <psmith@gnu.org>
-
- * expand.c (install_variable_buffer): New function. Install a new
- variable_buffer context and return the previous one.
- (restore_variable_buffer): New function. Free the current
- variable_buffer context and put a previously saved one back.
- * variable.h: Prototypes for {install,restore}_variable_buffer.
- * function.c (func_eval): Push a new variable_buffer context
- before we eval, then restore the old one when we're done.
- Fixes Bug #1517.
-
- * read.c (install_conditionals): New function. Install a new
- conditional context and return the previous one.
- (restore_conditionals): New function. Free the current
- conditional context and put a previously saved one back.
- (eval): Use the {install,restore}_conditionals for "include"
- handling.
- (eval_buffer): Use {install,restore}_conditionals to preserve the
- present conditional state before we evaluate the buffer.
- Fixes Bug #1516.
-
- * doc/make.texi (Quick Reference): Add references to $(eval ...)
- and $(value ...).
- (Recursion): Add a variable index entry for CURDIR.
-
- * README.cvs: Update to appropriate versions.
- * Makefile.am (nodist_loadavg_SOURCES): automake gurus point out I
- don't need to copy loadavg.c: automake is smart enough to create
- it for me. Still have a bug in automake related to ansi2knr tho.
-
-2002-10-14 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (notice_finished_file): Only touch targets if they have
- at least one command (as per POSIX). Resolve Bug #1418.
-
- * *.c: Convert to using ANSI C-style function definitions.
- * Makefile.am: Enable the ansi2knr feature of automake.
- * configure.in: ditto.
-
-2002-10-13 Paul D. Smith <psmith@gnu.org>
-
- * commands.c (set_file_variables): Bug #1379: Don't use alloca()
- for automatic variable values like $^, etc. In the case of very
- large lists of prerequisites this causes problems. Instead reuse
- a static buffer (resizeable) for each variable.
-
- * read.c (eval): Fix Bug #1391: allow "export" keyword in
- target-specific variable definitions. Check for it and set an
- "exported" flag.
- (record_target_var): Set the export field to v_export if the
- "exported" flag is set.
- * doc/make.texi (Target-specific): Document the ability to use
- "export".
-
- * doc/make.texi: Change the name of the section on automatic
- variables from "Automatic" to "Automatic Variables". Added text
- clarifying the scope of automatic variables.
-
-2002-10-04 Paul D. Smith <psmith@gnu.org>
-
- * read.c (eval): Allow SysV $$@ variables to use {} braces as well
- as () braces.
- (record_files): Ditto.
-
- * expand.c (variable_expand_string): In $(A:x=y) expansion limit
- the search for the '=' to only within the enclosing parens.
-
-2002-10-03 Paul D. Smith <psmith@gnu.org>
-
- Version 3.80 released.
-
- * dir.c: Change hash functions to use K&R function definition style.
- * function.c: Ditto.
- * read.c: Ditto.
- * variable.c: Ditto.
-
- Update to automake 1.7.
-
- * Makefile.am (AUTOMAKE_OPTIONS): Update to require 1.7.
- (pdf): Remove this target as automake now provides one.
-
- * configure.in: Change AM_CONFIG_HEADER to AC_CONFIG_HEADERS.
-
-2002-09-30 Martin P.J. Zinser <zinser@decus.de>
-
- * makefile.com: Updates for GNU make 3.80.
- * makefile.vms: Ditto.
-
-2002-09-23 Paul D. Smith <psmith@gnu.org>
-
- * read.c (enum make_word_type): Remove w_comment.
- (get_next_mword): Don't treat comment characters as special; where
- this function is used we will never see a comment (it's stripped
- before we get here) and treating comments specially means that
- targets like "foo\#bar" aren't handled properly.
-
-2002-09-18 Paul D. Smith <psmith@gnu.org>
-
- * doc/make.texi (Bugs): Update with some info on Savannah, etc.
-
- * read.c (eval): Expansion of arguments to export/unexport was
- ignoring all arguments after the first one. Change the algorithm
- to expand the whole line once, then parse the results.
-
-2002-09-17 Paul D. Smith <psmith@gnu.org>
-
- Fix Bug #940 (plus another bug I found while looking at this):
-
- * read.c (record_target_var): enter_file() will add a new entry if
- it's a double-colon target: we don't want to do that in this
- situation. Invoke lookup_file() and only enter_file() if it does
- not already exist. If the file we get back is a double-colon then
- add this variable to the "root" double-colon target.
-
- * variable.c (initialize_file_variables): If this file is a
- double-colon target but is not the "root" target, then initialize
- the root and make the root's variable list the parent of our
- variable list.
-
-2002-09-13 Paul D. Smith <psmith@gnu.org>
-
- * doc/make.texi (MAKE Variable): Add some indexing for "+".
-
- * hash.c (round_up_2): Get rid of a warning.
-
-2002-09-12 Paul D. Smith <psmith@gnu.org>
-
- * Makefile.am (loadavg_SOURCES, loadavg.c): Tiptoe around automake
- so it doesn't complain about getloadavg.c.
-
- * commands.c (set_file_variables): Make sure we always alloca() at
- least 1 character for the value of $? (for '\0').
-
-2002-09-11 Paul D. Smith <psmith@gnu.org>
-
- * hash.h (STRING_COMPARE, ISTRING_COMPARE, STRING_N_COMPARE): Fix
- macro to use RESULT instead of the incorrect _RESULT_.
-
- * make.h (HAVE_BROKEN_RESTART): Add prototypes for atomic_stat()
- and atomic_readdir(). We need to #include dirent.h to get this to
- work.
- * misc.c (atomic_readdir): Fix typos.
-
-2002-09-10 Paul D. Smith <psmith@gnu.org>
-
- * read.c (eval): Expand variable lists given to export and
- unexport, so that "export $(LIST_OF_VARIABLES)" (etc.) works.
- (conditional_line): Ditto for "ifdef". Fixes bug #103.
-
- * doc/make.texi (Variables/Recursion): Document this.
- (Conditional Syntax): And here.
-
-2002-09-09 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: Check for memmove().
-
-2002-09-07 Paul D. Smith <psmith@gnu.org>
-
- * configure.in (HAVE_BROKEN_RESTART): Define this on PTX systems;
- Michael Sterrett <msterret@coat.com> reports that while it has
- SA_RESTART, it does not work properly.
-
- * misc.c (atomic_stat): If HAVE_BROKEN_RESTART, create a function
- that invokes stat() and loops to do it again if it returns EINTR.
- (atomic_readdir): Ditto, with readdir().
-
- * make.h (stat, readdir): If HAVE_BROKEN_RESTART, alias stat()
- and readdir() to atomic_stat() and atomic_readdir().
-
-2002-09-04 Paul D. Smith <psmith@gnu.org>
-
- * implicit.c (pattern_search): Daniel <barkalow@reputation.com>
- reports that GNU make sometimes doesn't recognize that targets can
- be made, when directories can be created as prerequisites. He
- reports that changing the order of predicates in the DEP->changed
- flag test so that lookup_file() is always performed, solves this
- problem.
-
-2002-08-08 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: Require a newer version of gettext.
-
- * misc.c (perror_with_name): Translate the format string (for
- right-to-left language support).
- (pfatal_with_name): Ditto.
-
- * main.c: Create a static array of strings to store the usage
- text. This is done to facilitate translations.
- (struct command_switch): Remove argdesc and description fields.
- (switches): Remove values for obsolete fields.
- (print_usage): Print each element of the usage array.
-
- * hash.c: Change function definitions to be K&R style.
-
-2002-08-02 Paul D. Smith <psmith@gnu.org>
-
- * NEWS: Remove the mention of .TARGETS; we aren't going to publish
- this one because it's too hard to get right. We'll look at it for
- a future release.
- * main.c (main): Don't create the .TARGETS variable.
- * variable.c (handle_special_var): Don't handle .TARGETS.
-
-2002-08-01 Paul D. Smith <psmith@gnu.org>
-
- * main.c (switches): Add a new option, -B (--always-make). If
- specified, make will rebuild all targets that it encounters even
- if they don't appear to be out of date.
- (always_make_flag): New flag.
- * make.h: Extern always_make_flag.
- * remake.c (update_file_1): Check always_make_flag; if it's set we
- will always rebuild any target we can, even if none of its
- prerequisites are newer.
- * NEWS: Mention it.
-
- * doc/make.texi (Shell Function): Make it clear that make
- variables marked as "export" are not passed to instances of the
- shell function.
-
- Add new introspection variable .VARIABLES and .TARGETS.
-
- * variable.c (handle_special_var): New function. If the variable
- reference passed in is "special" (.VARIABLES or .TARGETS),
- calculate the new value if necessary. .VARIABLES is handled here:
- walk through the hash of defined variables and construct a value
- which is a list of the names. .TARGETS is handled by
- build_target_list().
- (lookup_variable): Invoke handle_special_var().
- * file.c (build_target_list): Walk through the hask of known files
- and construct a list of the names of all the ones marked as
- targets.
- * main.c (main): Initialize them to empty (and as simple variables).
- * doc/make.texi (Special Variables): Document them.
- * NEWS: Mention them.
-
- * variable.h (struct variable): Add a new flag "exportable" which
- is true if the variable name is valid for export.
- * variable.c (define_variable_in_set): Set "exportable" when a new
- variable is defined.
- (target_environment): Use the "exportable" flag instead of
- re-checking the name here... an efficiency improvement.
-
-2002-07-31 Paul D. Smith <psmith@gnu.org>
-
- * config.h-vms.template: Updates to build on VMS. Thanks to
- Brian_Benning@aksteel.com for helping verify the build.
- * makefile.com: Build the new hash.c file.
- * hash.h: Use strcpmi(), not stricmp(), in the
- HAVE_CASE_INSENSITIVE_FS case.
-
-2002-07-30 Paul D. Smith <psmith@gnu.org>
-
- * hash.h (ISTRING_COMPARE, return_ISTRING_COMPARE): Add missing
- backslashes to the HAVE_CASE_INSENSITIVE_FS case.
- Reported by <Brian_Benning@aksteel.com>.
-
-2002-07-10 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (pop_variable_scope): Remove variable made unused by
- new hash infrastructure.
- * read.c (dep_hash_cmp): Rewrite this to handle ignore_mtime
- comparisons as well as name comparisons.
- * variable.h: Add a prototype for new hash_init_function_table().
- * file.c (lookup_file): Remove variables made unused by new hash
- infrastructure.
- * dir.c (directory_contents_hash_2): Missing return of hash value.
- (dir_contents_file_exists_p): Remove variables made unused by new
- hash infrastructure.
-
-
- Installed Greg McGary's integration of the hash functions from the
- GNU id-utils package:
-
-2002-07-10 Greg McGary <greg@mcgary.org>
-
- * scripts/functions/filter-out: Add literals to to the
- pattern space in order to add complexity, and trigger
- use of an internal hash table. Fix documentation strings.
- * scripts/targets/INTERMEDIATE: Reverse order of files
- passed to expected `rm' command.
-
-2002-07-10 Greg McGary <greg@mcgary.org>
-
- * Makefile.am (SRCS): Add hash.c (noinst_HEADERS): Add hash.h
- * hash.c: New file, taken from id-utils.
- * hash.h: New file, taken from id-utils.
-
- * make.h (HASH, HASHI): Remove macros.
- (find_char_unquote): Change arglist in decl.
- (hash_init_directories): New function decl.
- * variable.h (hash.h): New #include.
- (MAKELEVEL_NAME, MAKELEVEL_LENGTH): New constants.
- * filedef.h (hash.h): New #include.
- (struct file) [next]: Remove member.
- (file_hash_enter): Remove function decl.
- (init_hash_files): New function decl.
-
- * ar.c (ar_name): Delay call to strlen until needed.
- * main.c (initialize_global_hash_tables): New function.
- (main): Call it. Use MAKELEVEL_NAME & MAKELEVEL_LENGTH.
- * misc.c (remove_comments): Pass char constants to find_char_unquote.
- * remake.c (notice_finished_file): Update last_mtime on `prev' chain.
-
- * dir.c (hash.h): New #include.
- (struct directory_contents) [next, files]: Remove members.
- [ctime]: Add member for VMS. [dirfiles]: Add hash-table member.
- (directory_contents_hash_1, directory_contents_hash_2,
- directory_contents_hash_cmp): New functions.
- (directories_contents): Change type to `struct hash_table'.
- (struct directory) [next]: Remove member.
- (directory_hash_1, directory_hash_2, directory_hash_cmp): New funcs.
- (directory): Change type to `struct hash_table'.
- (struct dirfile) [next]: Remove member.
- [length]: Add member. [impossible]: widen type to fill alignment gap.
- (dirfile_hash_1, dirfile_hash_2, dirfile_hash_cmp): New functions.
- (find_directory): Use new hash table package.
- (dir_contents_file_exists_p): Likewise.
- (file_impossible): Likewise.
- (file_impossible_p): Likewise.
- (print_dir_data_base): Likewise.
- (open_dirstream): Likewise.
- (read_dirstream): Likewise.
- (hash_init_directories): New function.
-
- * file.c (hash.h): New #include.
- (file_hash_1, file_hash_2, file_hash_cmp): New functions.
- (files): Change type to `struct hash_table'.
- (lookup_file): Use new hash table package.
- (enter_file): Likewise.
- (remove_intermediates): Likewise.
- (snap_deps): Likewise.
- (print_file_data_base): Likewise.
-
- * function.c
- (function_table_entry_hash_1, function_table_entry_hash_2,
- function_table_entry_hash_cmp): New functions.
- (lookup_function): Remove `table' argument.
- Use new hash table package.
- (struct a_word) [chain, length]: New members.
- (a_word_hash_1, a_word_hash_2, a_word_hash_cmp): New functions.
- (struct a_pattern): New struct.
- (func_filter_filterout): Pass through patterns noting boundaries
- and '%', if present. Note a_word length. Use a hash table if
- arglists are large enough to justify cost.
- (function_table_init): Renamed from function_table.
- (function_table): Declare as `struct hash_table'.
- (FUNCTION_TABLE_ENTRIES): New constant.
- (hash_init_function_table): New function.
-
- * read.c (hash.h): New #include.
- (read_makefile): Pass char constants to find_char_unquote.
- (dep_hash_1, dep_hash_2, dep_hash_cmp): New functions.
- (uniquize_deps): Use hash table to efficiently identify duplicates.
- (find_char_unquote): Accept two char-constant stop chars, rather
- than a string constant, avoiding zillions of calls to strchr.
- Tighten inner search loops to test only for desired delimiters.
-
- * variable.c (variable_hash_1, variable_hash_2,
- variable_hash_cmp): New functions.
- (variable_table): Declare as `struct hash_table'.
- (global_variable_set): Remove initialization.
- (init_hash_global_variable_set): New function.
- (define_variable_in_set): Use new hash table package.
- (lookup_variable): Likewise.
- (lookup_variable_in_set): Likewise.
- (initialize_file_variables): Likewise.
- (pop_variable_scope): Likewise.
- (create_new_variable_set): Likewise.
- (merge_variable_sets): Likewise.
- (define_automatic_variables): Likewise.
- (target_environment): Likewise.
- (print_variable_set): Likewise.
-
-2002-07-10 Paul D. Smith <psmith@gnu.org>
-
- Implement the SysV make syntax $$@, $$(@D), and $$(@F) in the
- prerequisite list. A real SysV make will expand the entire
- prerequisites list _twice_: we don't do that as it's a big
- backward-compatibility problem. We only replace those specific
- variables.
-
- * read.c (record_files): Replace any $@, $(@D), and $(@F) variable
- references left in the list of prerequisites. Check for .POSIX as
- we record targets, so we can disable non-POSIX behavior while
- reading makefiles as well as running them.
- (eval): Check the prerequisite list to see if we have anything
- that looks like a SysV prerequisite variable reference.
-
-2002-07-09 Paul D. Smith <psmith@gnu.org>
-
- * doc/make.texi (Prerequisite Types): Add a new section describing
- order-only prerequisites.
-
- * read.c (uniquize_deps): If we have the same file as both a
- normal and order-only prereq, get rid of the order-only prereq,
- since the normal one supersedes it.
-
-2002-07-08 Paul D. Smith <psmith@gnu.org>
-
- * AUTHORS: Added Greg McGary to the AUTHORS file.
- * NEWS: Blurbed order-only prerequisites.
- * file.c (print_file): Show order-only deps properly when printing
- the database.
-
- * maintMakefile: Add "update" targets for wget'ing the latest
- versions of various external files. Taken from Makefile.maint in
- autoconf, etc.
-
- * dosbuild.bat: Somehow we got _double_ ^M's. Remove them.
- Reported by Eli Zaretskii <eliz@is.elta.co.il>.
-
-2002-07-07 Paul D. Smith <psmith@gnu.org>
-
- * po/*.po: Remove. We'll use wget to retrieve them at release
- time.
-
- * variable.c (do_variable_definition) [W32]: On W32 using cmd
- rather than a shell you get an exception. Make sure we look up
- the variable. Patch provided by Eli Zaretskii <eliz@is.elta.co.il>.
-
- * remake.c (notice_finished_file): Fix handling of -t flag.
- Patch provided by Henning Makholm <henning@makholm.net>.
-
- * implicit.c (pattern_search): Some systems apparently run short
- of stack space, and using alloca() in this function caused an
- overrun. I modified it to use xmalloc() on the two variables
- which seemed like they might get large. Fixes Bug #476.
-
- * main.c (print_version): Update copyright notice to conform with
- GNU standards.
- (print_usage): Update help output.
-
- * function.c (func_eval): Create a new make function, $(eval
- ...). Expand the arguments, put them into a buffer, then invoke
- eval_buffer() on the resulting string.
- (func_quote): Create a new function, $(quote VARNAME). Inserts
- the value of the variable VARNAME without expanding it any
- further.
-
- * read.c (struct ebuffer): Change the linebuffer structure to an
- "eval buffer", which can be either a file or a buffer.
- (eval_makefile): Move the code in the old read_makefile() which
- located a makefile into here: create a struct ebuffer with that
- information. Have it invoke the new function eval() with that
- ebuffer.
- (eval_buffer): Create a new function that creates a struct ebuffer
- that holds a string buffer instead of a file. Have it invoke
- eval() with that ebuffer.
- (eval): New function that contains the guts of the old
- read_makefile() function: this function parses makefiles. Obtains
- data to parse from the provided ebuffer. Some modifications to
- make the flow of the function cleaner and clearer. Still could
- use some work here...
- (do_define): Takes a struct ebuffer instead of a FILE*. Read the
- contents of the define/endef variable from the ebuffer.
- (readstring): Read the next line from a string-style ebuffer.
- (readline): Read the next line from an ebuffer. If it's a string
- ebuffer, invoke readstring(). If it's a FILE* ebuffer, read it
- from the file.
-
- * dep.h (eval_buffer): Prototype eval_buffer();
-
- * variable.c (do_variable_definition): Make sure that all
- non-target-specific variables are registered in the global set.
- If we're invoked from an $(eval ...) we might be inside a $(call
- ...) or other function which has pushed a variable scope; we still
- want to define our variables from evaluated makefile code in the
- global scope.
-
-2002-07-03 Greg McGary <greg@mcgary.org>
-
- * dep.h (struct dep) [ignore_mtime]: New member.
- [changed]: convert to a bitfield.
- * implicit.c (pattern_search): Zero ignore_mtime.
- * main.c (main, handle_non_switch_argument): Likewise.
- * rule.c (convert_suffix_rule): Likewise.
- * read.c (read_all_makefiles, read_makefile, multi_glob): Likewise.
- (read_makefile): Parse '|' in prerequisite list.
- (uniquize_deps): Consider ignore_mtime when comparing deps.
- * remake.c (update_file_1, check_dep): Don't force remake for
- dependencies that have d->ignore_mtime.
- * commands.c (FILE_LIST_SEPARATOR): New constant.
- (set_file_variables): Don't include a
- prerequisite in $+, $^ or $? if d->ignore_mtime.
- Define $|.
-
-2002-06-18 Paul D. Smith <psmith@gnu.org>
-
- * make.texinfo: Updates for next revision. New date/rev/etc.
- Recreate all Info menus. Change license on the manual to the GNU
- Free Documentation License. A number of typos.
- (Variables Simplify): Don't use "-" before it's defined.
- (Automatic Prerequisites): Rewrite the target example to work
- properly if the compile fails. Remove incorrect comments about
- how "set -e" behaves.
- (Text Functions): Move the "word", "wordlist", "words", and
- "firstword" functions here, from "File Name Functions".
- * make-stds.texi: Update from latest GNU version.
- * fdl.texi: (created) Import the latest GNU version.
-
-2002-06-06 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (do_variable_definition): New function: extract the
- part of try_variable_definition() that actually sets the value
- into a separate function.
- (try_variable_definition): Call do_variable_definition() after
- parsing the variable definition string.
- (define_variable_in_set): Make the name argument const.
-
- * variable.h (enum variable_flavor): Make public.
- (do_variable_definition): Create prototype.
-
- * read.c (read_all_makefiles): Create a new built-in variable,
- MAKEFILE_LIST.
- (read_makefile): Add each makefile read in to this variable value.
-
-2002-05-18 Eli Zaretskii <eliz@is.elta.co.il>
-
- * Makefile.DOS.template: Tweak according to changes in the
- distribution. Add back the dependencies of *.o files.
-
- * configh.dos.template: Synchronize with config.h.in.
-
-2002-05-09 Paul D. Smith <psmith@gnu.org>
-
- * file.c (file_timestamp_now): Use K&R function declaration.
-
- * getloadavg.c (getloadavg): Merge setlocale() fix from sh-utils
- getloadavg.c. Autoconf thinks QNX is SVR4-like, but it isn't, so
- #undef it. Remove predefined setup of NLIST_STRUCT. Decide
- whether to include nlist.h based on HAVE_NLIST_H. Change obsolete
- NLIST_NAME_UNION to new HAVE_STRUCT_NLIST_N_UN_N_NAME.
- * configure.in (NLIST_STRUCT): Define this if we have nlist.h and
- nlist.n_name is a pointer rather than an array.
-
- * acinclude.m4 (make_FUNC_SETVBUF_REVERSED): Grab the latest
- version of AC_FUNC_SETVBUF_REVERSED from autoconf CVS.
- * configure.in: Use it instead of the old version.
-
- * main.c (main): Prefer setvbuf() to setlinebuf().
-
-2002-05-08 Paul D. Smith <psmith@gnu.org>
-
- * Makefile.am (make_LDADD): Add GETLOADAVG_LIBS.
- (loadavg_LDADD): Ditto.
-
-2002-04-29 Paul D. Smith <psmith@gnu.org>
-
- * expand.c (recursively_expand_for_file): Rename
- recursively_expand() to recursively_expand_for_file() and provide
- an extra argument, struct file. If the argument is provided, set
- the variable scope to that of the file before expanding.
- * variable.h (recursively_expand): Make this a macro that invokes
- recursively_expand_for_file() with a NULL file pointer.
- * variable.c (target_environment): Call the renamed function and
- provide the current file context.
- Fixes Debian bug #144306.
-
-2002-04-28 Paul D. Smith <psmith@gnu.org>
-
- Allow $(call ...) user-defined variables to be self-referencing
- without throwing an error. Allows implementation of transitive
- closures, among other possibly useful things.
- Requested by: Philip Guenther <guenther@sendmail.com>
-
- * variable.h (struct variable): Add a new field: exp_count, and
- new macros to hold its size and maximum value.
- (warn_undefined): Make this a macro.
- * variable.c (define_variable_in_set): Initialize it.
- * expand.c (recursively_expand): If we detect recursive expansion
- of a variable, check the exp_count field. If it's greater than 0
- allow the recursion and decrement the count.
- (warn_undefined): Remove this (now a macro in variable.h).
- * function.c (func_call): Before we expand the user-defined
- function, modify its exp_count field to contain the maximum
- number of recursive calls we'll allow. After the call, reset it
- to 0.
-
-2002-04-21 Paul D. Smith <psmith@gnu.org>
-
- Modified to use latest autoconf (2.53), automake (1.6.1), and
- gettext (0.11.1). We're using gettext's new "external" support,
- to avoid including libintl source with GNU make.
-
- * README.cvs: New file. Explain how to build GNU make from CVS.
-
- * configure.in: Modify checking for the system glob library.
- Use AC_EGREP_CPP instead of AC_TRY_CPP. Remove the setting of
- GLOBDIR (we will always put "glob" in SUBDIRS, so automake
- etc. will manage it correctly). Set an automake conditional
- USE_LOCAL_GLOB to decide whether to compile the glob library.
-
- * getloadavg.c (main): Include make.h in the "TEST" program to
- avoid warnings.
-
- * Makefile.am: Remove special rules for loadavg. Replace them
- with Automake capabilities for building extra programs.
-
- * signame.c: This file does nothing if the system provide
- strsignal(). If not, it implements strsignal(). If the system
- doesn't define sys_siglist, then we make our own; otherwise we use
- the system version.
- * signame.h: Removed.
-
- * main.c (main): No need to invoke signame_init(). Update copyright.
-
- * ABOUT-NLS: Removed.
- * gettext.c: Removed.
- * gettext.h: Get a simplified copy from the gettext package.
- * po/*: Created.
- * i18n/*.po: Moved to po/.
- * i18n/: Removed.
-
- * config/*: Created. Contains package configuration helper files.
- * config.guess, config.sub: Moved to config directory.
-
- * configure.in (AC_CONFIG_FILES): Add po/Makefile.in, config/Makefile.
- Rework to use new-style autoconf features. Use the "external"
- mode for gettext. Make the build.sh config file conditional on
- whether build.sh.in exists, to avoid autoconf errors.
- * acinclude.m4: Removed almost all macros as being obsolete.
- Rewrote remaining macros to use AC_DEFINE.
- * acconfig.h: Removed.
-
- * Makefile.am (EXTRA_DIST): Add config/config.rpath. Use a
- conditional to handle customs support. Remove special handling
- for i18n features.
-
-2002-04-20 Paul D. Smith <psmith@gnu.org>
-
- * function.c (func_call): Don't mark the argument variables $1,
- etc. as recursive. They've already been fully expanded so
- there's no need to do it again, and doing so strips escaped $'s.
- Reported by Sebastian Glita <glseba@yahoo.com>.
-
- * remake.c (notice_finished_file): Walk through double-colon
- entries via the prev field, not the next field!
- Reported by Greg McGary <greg@mcgary.org>.
-
- * main.c (main): If the user specifies -q and asks for a specific
- target which is a makefile, we got an assert. In that case it
- turns out we should continue normally instead.
-
- * i18n/de.po, i18n/fr.po: Installed an updated translation.
-
- * i18n/he.po: Installed a new translation.
-
-2002-01-07 Paul D. Smith <psmith@gnu.org>
-
- * i18n/es.po, i18n/ru.po: Installed an updated translation.
-
-2001-12-04 Paul D. Smith <psmith@gnu.org>
-
- * i18n/ja.po: Installed an updated translation.
-
-2001-09-06 Paul Eggert <eggert@twinsun.com>
-
- * configure.in (AC_CHECK_HEADERS): Add sys/resource.h.
- (AC_CHECK_FUNCS): Add getrlimit, setrlimit.
-
- * main.c: Include <sys/resource.h> if it, getrlimit, and setrlimit
- are available.
- (main): Get rid of any avoidable limit on stack size.
-
-2001-09-04 Paul D. Smith <psmith@gnu.org>
-
- * i18n/da.po: Installed an updated translation.
-
-2001-08-03 Paul D. Smith <psmith@gnu.org>
-
- * i18n/fr.po: Installed an updated translation.
- Resolves Debian bug #106720.
-
-2001-06-13 Paul D. Smith <psmith@gnu.org>
-
- * i18n/da.po, configure.in (ALL_LINGUAS): Installed a new
- translation.
-
-2001-06-11 Paul D. Smith <psmith@gnu.org>
-
- * i18n/ko.po: Installed a new translation.
-
-2001-05-06 Paul D. Smith <psmith@gnu.org>
-
- Modify the EINTR handling.
-
- * job.c (new_job): Reorganize the jobserver algorithm. Reorder
- the way in which we manage the file descriptor/signal handler race
- trap to be more efficient.
-
-2001-05-06 Paul Eggert <eggert@twinsun.com>
-
- Restart almost all system calls that are interrupted, instead
- of worrying about EINTR. The lone exception is the read() for
- job tokens.
-
- * configure.in (HAVE_SA_RESTART): New macro.
- (MAKE_JOBSERVER): Define to 1 only if HAVE_SA_RESTART.
- * main.c (main): Use SA_RESTART instead of the old,
- nonstandard SA_INTERRUPT.
-
- * configure.in (AC_CHECK_FUNCS): Add bsd_signal.
- * main.c (bsd_signal): New function or macro,
- if the implementation doesn't supply it.
- (The bsd_signal function will be in POSIX 1003.1-200x.)
- (HANDLESIG): Remove.
- (main, FATAL_SIG): Use bsd_signal instead of signal or HANDLESIG.
-
- * make.h (EINTR_SET): Remove.
- (SA_RESTART): New macro.
-
- * arscan.c (ar_member_touch): Don't worry about EINTR.
- * function.c (func_shell): Likewise.
- * job.c (reap_children, free_child, new_job): Likewise.
- * main.c (main): Likewise.
- * remake.c (touch_file, name_mtime): Likewise.
-
- * arscan.c (ar_member_touch): Fix bug uncovered by EINTR removal;
- if fstat failed with errno!=EINTR, the error was ignored.
-
- * job.c (set_child_handler_action_flags): New function.
- (new_job): Use it to temporarily clear the SIGCHLD action flags
- while reading the token.
-
-2001-05-02 Paul D. Smith <psmith@gnu.org>
-
- * job.c (start_job_command): Don't add define/endef per-line flags
- to the top-level flags setting.
-
-2001-04-03 Paul D. Smith <psmith@gnu.org>
-
- * arscan.c (VMS_get_member_info,ar_scan) [VMS]: VMS sets the low
- bit on error, so check for odd return values, not non-0 return
- values.
- (VMS_get_member_info): Calculate the timezone differences correctly.
- Reported by John Fowler <jfowler@nyx.net>.
-
-
-2001-03-14 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (lookup_variable) [VMS]: Null-terminate the variable
- value before invoking define_variable().
- Reported by John Fowler <jfowler@nyx.net>.
-
-2001-02-07 Paul D. Smith <psmith@gnu.org>
-
- * read.c (record_target_var): If we reset the variable due to a
- command-line variable setting overriding it, turn off the "append"
- flag.
-
-2001-01-17 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (lookup_variable) [VMS]: When getting values from the
- environment, allocate enough space for the _value_ plus escapes,
- not enough space for the name plus escapes :-/.
- Reported by John Fowler <jfowler@nyx.net>.
-
- * remake.c (f_mtime): Removed the "***" prefix from the mod time
- warnings that make generates, so it doesn't look like an error.
- Reported by Karl Berry <karl@gnu.org>.
-
-
- Fix for PR/2020: Rework appended target-specific variables. I'm
- fairly confident this algorithm is finally correct.
-
- * expand.c (allocated_variable_append): Rewrite. Instead of
- expanding each appended variable then adding all the expanded
- strings together, we append all the unexpanded values going up
- through the variable set contexts, then expand the final result.
- This behaves just like non-target-specific appended variable
- values, while the old way didn't in various corner cases.
- (variable_append): New function: recursively append the unexpanded
- value of a variable, walking from the outermost variable scope to
- the innermost.
- * variable.c (lookup_variable): Remove the code that looked up the
- variable set list if the found variable was "append". We don't
- need this anymore.
- (lookup_variable_in_set): Make this non-static so we can use it
- elsewhere.
- (try_variable_definition): Use lookup_variable_in_set() rather
- than faking out current_variable_set_list by hand (cleanup).
- * variable.h: Add a prototype for the now non-static
- lookup_variable_in_set().
-
-2000-11-17 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (f_mtime) [WINDOWS32]: On various advice, I changed the
- WINDOWS32 port to assume timestamps can be up to 3 seconds away
- before throwing a fit.
-
-2000-11-17 Paul D. Smith <psmith@gnu.org>
-
- * read.c (readline): CRLF calculations had a hole, if you hit the
- buffer grow scenario just right. Reworked the algorithm to avoid
- the need for len or lastlen at all. Problem description with
- sample code chages provided by Chris Faylor <cgf@redhat.com>.
-
-2000-10-24 Paul D. Smith <psmith@gnu.org>
-
- * gettext.c (SWAP): Declare this with the prototype, otherwise
- some systems don't work (non-32-bit? Reported for Cray T3E).
- Reported by Thorstein Thorsteinsson <thor@signe.teokem.lu.se>.
-
-2000-10-05 Paul D. Smith <psmith@gnu.org>
-
- * acinclude.m4 (AM_LC_MESSAGES): Remove undefined macro
- AM_LC_MESSAGES; it doesn't seem to do anything anyway??
-
- * i18n/gl.po, configure.in (ALL_LINGUAS): New Galician translation.
-
-2000-09-22 Paul D. Smith <psmith@gnu.org>
-
- * gettext.c: Don't #define _GETTEXT_H here; we only include some
- parts of the real gettext.h here, and we expect to really include
- the real gettext.h later. If we keep this #define, it's ignored.
-
-2000-09-21 Paul D. Smith <psmith@gnu.org>
-
- * main.c (log_working_directory): Rework the text to use complete
- sentences, to make life simpler for the translators.
-
-2000-08-29 Paul D. Smith <psmith@gnu.org>
-
- * file.c (remove_intermediates): Print a debug message before we
- remove intermediate files, so the user (if she uses -d) knows
- what's going on.
-
-2000-08-21 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (try_variable_definition): Change how we handle
- target-specific append variable defns: instead of just setting the
- value, expand it as an append _but_ only within the current
- target's context. Otherwise we lose all but the last value if the
- variable is appended more than once within the current target
- context. Fixes PR/1831.
-
-2000-08-16 Paul D. Smith <psmith@gnu.org>
-
- * function.c (func_shell): Nul-terminate the buffer before
- printing an exec error message (just in case it's not!).
- Fixes PR/1860, reported by Joey Hess <joey@valinux.com>.
-
-2000-07-25 Paul D. Smith <psmith@gnu.org>
-
- * job.c (construct_command_argv_internal): Add "~" to the list of
- sh_chars[] which disallow optimizing out the shell call.
-
-2000-07-23 Paul Eggert <eggert@twinsun.com>
-
- * NEWS, make.texinfo: Document .LOW_RESOLUTION_TIME, which
- supersedes --disable-nsec-timestamps.
- * make.texinfo: Consistently use "time stamp" instead of "timestamp".
- * README: Remove --disable-nsec-timestamps.
-
- * filedef.h (struct file.low_resolution_time): New member.
- * file.c (snap_deps): Add support for .LOW_RESOLUTION_TIME.
- * remake.c (update_file_1):
- Avoid spurious rebuilds due to low resolution time stamps,
- generalizing the earlier code that applied only to archive members.
- (f_mtime): Archive members always have low resolution time stamps.
-
- * configure.in: Remove --disable-nsec-timestamps, as this has
- been superseded by .LOW_RESOLUTION_TIME.
-
-2000-07-23 Paul Eggert <eggert@twinsun.com>
-
- * configure.in (enable_nsec_timestamps): Renamed from
- make_cv_nsec_timestamps, since enable/disable options
- shouldn't be cached.
-
-2000-07-23 Bruno Haible <haible@clisp.cons.org>
- and Paul Eggert <eggert@twinsun.com>
-
- * file.c (file_timestamp_now):
- Use preprocessor-time check for FILE_TIMESTAMP_HI_RES
- so that clock_gettime is not linked unless needed.
-
- * filedef.h (FILE_TIMESTAMP_HI_RES):
- Remove definition; "configure" now does this.
-
- * configure.in (jm_AC_TYPE_UINTMAX_T): Move up,
- to before high resolution file timestamp check,
- since that check now uses uintmax_t.
- (FILE_TIMESTAMP_HI_RES): Define to nonzero if the code should use
- high resolution file timestamps.
- (HAVE_CLOCK_GETTIME): Do not define if !FILE_TIMESTAMP_HI_RES,
- so that we don't link in clock_gettime unnecessarily.
-
-2000-07-17 Paul D. Smith <psmith@gnu.org>
-
- * i18n/ja.po: New version of the translation file.
-
-2000-07-07 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (f_mtime): If NO_FLOAT is defined, don't bother with
- the offset calculation.
- (name_mtime): Replace EINTR test with EINTR_SET macro.
-
-2000-07-07 Paul Eggert <eggert@twinsun.com>
-
- Fix for PR/1811:
-
- * remake.c (update_file_1):
- Avoid spurious rebuilds of archive members due to their
- timestamp resolution being only one second.
- (f_mtime): Avoid spurious warnings of timestamps in the future due to
- the clock's resolution being lower than file timestamps'.
- When warning about future timestamps, report only the discrepancy,
- not the absolute value of the timestamp and the current time.
-
- * file.c (file_timestamp_now): New arg RESOLUTION.
- * filedef.h (file_timestamp_now): Likewise.
- (FILE_TIMESTAMP_NS): Now returns int. All uses changed.
-
-2000-07-05 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (lookup_variable) [VMS]: Remove vestigial references
- to listp. Fixes PR/1793.
-
-2000-06-26 Paul Eggert <eggert@twinsun.com>
-
- * Makefile.am (MAINTAINERCLEANFILES): New macro, with stamp-pot in it.
-
- * dir.c (vms_hash): Ensure ctype macro args are nonnegative.
-
- * remake.c (f_mtime): Remove unused var memtime.
-
-2000-06-25 Martin Buchholz <martin@xemacs.org>
-
- * make.texinfo, NEWS, TODO.private: Minor spelling corrections.
- Ran spell-check on make.texinfo.
-
-2000-06-23 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main): Replace EXIT_SUCCESS, EXIT_FAILURE, and
- EXIT_TROUBLE with MAKE_SUCCESS, MAKE_FAILURE, and MAKE_TROUBLE.
- * make.h: Define these macros.
-
- * Version 3.79.1 released.
-
- * configure.in: Add a new option, --disable-nsec-timestamps, to
- avoid using sub-second timestamps on systems that support it. It
- can lead to problems, e.g. if your makefile relies on "cp -p".
- * README.template: Document the issue with "cp -p".
-
- * config.guess, config.sub: Updated.
-
-
-
-See ChangeLog.2, available in the CVS repository at:
-
- http://savannah.gnu.org/cvs/?group=make
-
-for earlier changes.
-
-
-Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 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 <http://www.gnu.org/licenses/>.
diff --git a/ChangeLog.1 b/ChangeLog.1
deleted file mode 100644
index 793d8e50..00000000
--- a/ChangeLog.1
+++ /dev/null
@@ -1,4999 +0,0 @@
-Tue Oct 29 20:57:36 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.62.
-
- * remake.c (update_file_1): Check for deps still running before
- giving up if any dep has failed.
-
-Sat Oct 26 16:20:00 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * make.h [uts]: #undef S_ISREG and S_ISDIR if defined.
-
-Fri Oct 25 19:50:39 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.60.17.
-
-Thu Oct 24 16:58:36 1991 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
-
- * job.c (start_job): Don't check for empty cmds before tweaking the
- command_ptr. Just let construct_command_argv do it.
-
-Tue Oct 22 20:21:03 1991 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
-
- * remake.c, arscan.c [POSIX]: <fcntl.h> instead of <sys/file.h>.
-
- * make.h [POSIX]: Declare vfork as pid_t.
-
-Mon Oct 21 15:37:30 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.60.16.
-
- * job.c (construct_command_argv, construct_command_argv_internal):
- Take new 2nd arg RESTP. If non-NULL, stop parsing at newline, and
- store addr of the NL in *RESTP.
- (start_job): Don't chop expanded cmd lines up; use above code to do it.
- * function.c (expand_function: `shell'): Pass RESTP==NULL.
-
-Sat Oct 19 15:36:34 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.60.15.
-
-Fri Oct 18 15:26:55 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * job.c (start_job): If on the same cmds->command_lines elt, look
- at cmds->lines_recurse[CHILD->command_line - 1] instead of
- [CHILD->command_line].
-
- * dir.c [sgi]: <sys/dir.h>, not ndir or anything else.
-
-Thu Oct 17 16:28:55 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * file.c (print_file_data_base): Remove unused var.
-
- * make.h [NeXT]: No #define ANSI_STRING.
-
-Tue Oct 15 20:08:41 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.60.14.
-
-Fri Oct 11 16:23:52 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * make.h: Use PATH_MAX for getwd defn.
-
- * make.h: Move getcwd/getwd outside of #ifndef POSIX, and make it
- #if USG||POSIX.
-
-Thu Oct 10 11:53:31 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.60.13.
-
- * read.c (read_all_makefiles): When processing MAKEFILES, save the
- malloc'd ptr to be freed, instead of freeing part-way thru it.
-
- * remake.c (update_file_1): Don't tweak FILE->also_make.
- (update_file): Do it here. After calling update_file_1, set the
- command_state, update_status, and updated members of each also_make
- elt to FILE's values.
-
-Tue Oct 8 14:56:04 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * Version 3.60.12.
-
- * remake.c (notice_finished_file): Set command_state of FILE and
- its also_make chain to cs_finished here.
- * commands.c (execute_file_commands), job.c (child_handler),
- remake.c (remake_file): Don't set it before calling
- notice_finished_file.
-
- * file.h (struct file): Changed `also_make' to struct dep *.
- * job.c (delete_child_targets), file.c (print_file_data_base),
- remake.c (notice_finished_file), implicit.c (pattern_search):
- Use dep chain instead of array of file names.
-
-Mon Oct 7 17:04:33 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.60.11.
-
- * arscan.c: Declare open.
- * misc.c: Declare {get,set}{re,}[ug]id.
- * variable.c (target_environment): Declare getenv.
-
-Sat Oct 5 15:13:03 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * make.h [NeXT]: <string.h> instead of <strings.h>.
-
-Fri Oct 4 16:05:41 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * default.c (default_suffixes, defualt_suffix_rules): Add .texi
- just like .texinfo.
-
- * Version 3.60.10.
-
- * job.c: Move vfork decl into make.h.
-
-Fri Sep 27 18:45:30 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * compatMakefile (glob/libglob.a): Pass CC value to submake.
-
-Thu Sep 26 00:08:15 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * load.c (load_average): Made not static.
-
- * load.c [ultrix && vax]: Define LDAV_TYPE and LDAV_CVT for Ultrix 4.2.
-
-Tue Sep 24 00:17:20 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.60.9.
-
- * read.c (record_files): Warn about extra cmds even if the target's
- name begins with a dot. I think the lusers can handle this.
-
-Mon Sep 23 22:33:26 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * make.h, arscan.c: Don't declare bcmp, bzero, or bcopy if they're
- #define'd.
- * make.h: Declare write and open.
-
- * default.c (default_suffixes, default_suffix_rules,
- default_variables): Add .C just like .cc.
- * make.texinfo (Catalogue of Rules): Document .C.
-
- * make.man (-w): Fix gramo.
-
-Fri Sep 20 17:18:16 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * make.h: No text after #endif.
-
-Sun Sep 15 16:20:46 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * Version 3.60.8.
-
- * implicit.c (pattern_search): In the second pass, recurse on rule
- deps that don't have a %. Why did I make it not do this?
-
-Fri Sep 14 18:29:39 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * read.c (record_files): For extra cmds, use the last ones given.
- If the target's name doesn't begin with a dot (bletch!!), emit a
- two-line warning, one line giving the old cmds' location and the
- other the new cmds' location.
-
- * misc.c (makefile_error, makefile_fatal): New fns.
- * make.h: Declare them.
- * Use them instead of error/fatal for all msgs including a file
- name and line number.
-
-Thu Sep 13 16:35:54 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * make.h: Declare define_default_variables.
- Declare ar_parse_name, instead of ar_name_parse (M-t).
-
-Mon Sep 10 18:35:40 1991 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
-
- * Version 3.60.7.
-
- * make.texinfo (Variables: Setting): Say whitespace is removed if
- "immediately after =", rather than simply "after =".
-
- * job.c: Don't declare wait #ifdef POSIX.
-
- * make.h [__GNUC__]: #undef alloca and then #define it.
-
- * main.c (main): When pruning makefiles which might loop from the
- read_makefiles chain, look at all `prev' entries of double-colon rules.
-
-Fri Sep 7 00:41:53 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * main.c (main): Only remove makefiles with cmds but no deps from
- the list of makefiles to be rebuilt if they are :: targets.
- : targets with cmds and no deps are not dangerous.
-
-Wed Sep 5 17:35:51 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * compatMakefile (defines): Add comment that some compilers take
- ENUM_BITFIELDS but produce bogus code.
- (LOAD_AVG): Fix examples to \ "s.
- (LOADLIBES): Add comment that SGI Irix needs -lmld for nlist.
-
-Tue Sep 4 20:26:26 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.60.6.
-
-Fri Aug 30 19:34:04 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * remake.c (update_file_1): When checking the command_state of
- deps, check through the prev chain.
- (update_goal_chain): When a target is finished, start checking its
- prev (if it has one) instead.
-
-Wed Aug 7 17:32:03 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * rule.c (convert_to_pattern): Allow files with deps to define
- suffix rules (really this time).
-
-Mon Aug 5 17:09:21 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * misc.c (user_access, make_access): Do saved-IDs (USG) flavor
- #ifdef POSIX.
-
- * file.c (enter_file): Strip ./s here.
- * read.c (parse_file_seq): Not here.
-
-Tue Jul 23 23:34:30 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * compatMakefile: Added comment that -lPW alloca is broken on HPUX.
-
-Thu Jul 18 03:10:41 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.60.5.
-
- * read.c (read_makefile): Ignore lines containing chars that are
- all isspace, not just all isblank.
-
- * make.texinfo (Copying): @include gpl.texinfo, rather than copying
- the text.
- * gpl.texinfo: New file (symlink to /gd/gnu/doc/gpl.texinfo).
- * GNUmakefile: Put gpl.texinfo in distribution.
-
-Tue Jul 16 12:50:35 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * make.h: #define _GNU_SOURCE before including headers.
- Include <ctype.h> and define isblank if <ctype.h> doesn't.
- * commands.c: Don't include <ctype.h> here.
- * *.c: Use isblank instead of explicit ' ' || '\t'.
-
-Mon Jul 15 17:43:38 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * function.c (expand_function: `filter'/`filter-out'): Fixed to not
- loop infinitely.
-
-Fri Jul 12 12:18:12 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * function.c (expand_function: `filter'/`filter-out'): Rewritten to
- handle filter-out of multiple patterns properly. Also no longer
- mallocs and reallocs for temp array; uses alloca and a linked-list
- instead.
-
-Wed Jul 10 22:34:54 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.60.4.
-
- * make.texinfo: Moved some @groups that were outside @examples to
- be inside them.
-
- * load.c [apollo] (load_average): Define using special syscall for
- Apollo DOMAIN/OS SR10.n.
-
-Thu Jul 4 12:32:53 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * make.texinfo (Missing): Added Unix excessive implicit rule
- search; mention that POSIX.2 doesn't require any of the missing
- features.
- (Top): Updated printed manual price to $15.
-
-Wed Jul 3 18:17:50 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * file.c (rename_file): Carry over last_mtime when merging files.
- * remake.c (f_mtime): Tail-recurse after renaming VPATH file, to
- check for saved date in existing renamed-to file.
-
- * remote-cstms.c (start_remote_job): Use PATH_VAR.
-
- * commands.c [POSIX || __GNU_LIBRARY__]: Don't declare getpid.
-
- * compatMakefile (glob-{clean,realclean}): Run clean/realclean in glob.
- (clean, realclean): Require those.
-
- * make.h: Always declare environ.
- Don't declare old glob functions.
-
- * GNUmakefile: Make no-lib deps for load.c and remote.c.
-
-Tue Jul 2 18:35:20 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.60.3.
-
-Mon Jul 1 16:58:30 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * read.c (multi_glob): Don't pass GLOB_QUOTE flag to glob.
-
- * make.h [POSIX]: Include <unistd.h>, and don't declare things that
- should be there.
-
- * main.c (main) [USG && sgi]: malloc a buffer for broken sgi stdio.
-
-Sat Jun 29 11:22:21 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * function.c (expand_function: `shell'): Use alloca for the error
- msg buffer, instead of assuming an arbitrary max size.
-
-Fri Jun 28 18:15:08 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * job.c [POSIX] (search_path): Do real 1003.1 goop to get NGROUPS_MAX.
-
-Wed Jun 26 11:04:44 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * default.c (define_default_variables): New fn.
- (install_default_implicit_rules): Code for above fn moved there.
- * main.c (main): Do define_default_variables before reading the
- makefile.
-
-Tue Jun 25 17:30:46 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * main.c (main): Quote ; in MAKEOVERRIDES.
-
-Tue Jun 18 13:56:30 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * compatMakefile: Fixed typo in comment.
-
-Tue Jun 11 00:14:59 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * Version 3.60.2.
-
-Mon Jun 10 14:46:37 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * make.h: Always include <sys/types.h>.
- [POSIX]: Include <limits.h> and #define MAXPATHLEN to be PATH_MAX.
-
- * default.c (default_suffix_rules: .texinfo.dvi): Use $(TEXI2DVI).
- (default_variables): Define TEXI2DVI.
-
-Thu Jun 6 16:49:19 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.60.1.
-
- * make.h (SIGNAL): Cast handler arg to SIGHANDLER type.
-
-Wed Jun 5 06:00:43 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * read.c (multi_glob): Use POSIX.2 `glob' function.
- If a glob pattern matches nothing, leave it as is (a la sh, bash).
- Also, if can't find USER for ~USER, leave it as is (a la bash).
-
-Mon Jun 3 16:36:00 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * compatMakefile: Rewrote comments about -Ds to be easier to use.
-
- * make.h, arscan.c, remake.c, main.c, dir.c, job.c: Changed tests
- of _POSIX_SOURCE to POSIX.
-
- * job.c: Take getdtablesize out of #ifdef __GNU_LIBRARY__.
- Put separately #ifdef USG.
-
- * COPYING: Replaced with version 2.
- * Changed copyright notices to refer to GPL v2.
-
-Thu May 30 00:31:11 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * make.h: Don't declare sigblock for POSIX.
-
- * main.c (main, log_working_directory) [USG]: Get getcwd failure
- mode from errno, not passed buffer like BSD getwd.
-
- * misc.c (child_access): New fn to set access for a child process;
- like user_access, but you can't change back.
- * make.h: Declare it.
- * job.c (exec_command): Use it in place of user_access.
-
-Wed May 29 23:28:48 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * default.c (default_variables) [pyr]: PC = pascal.
-
-Tue May 28 20:24:56 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * variable.c (print_variable): Put a newline before `endef'.
-
-Sat May 25 02:39:52 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.60.
-
-Wed May 22 19:41:37 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.59.5.
-
-Thu May 16 13:59:24 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * main.c (main): Do USGr3 setvbuf behavior #ifdef APOLLO.
- Don't handle SIGCHLD #ifdef USG (Apollo is USG but defines SIGCHLD).
-
-Fri May 10 14:59:33 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * remake.c [sgi]: Don't include <sys/file.h>.
-
-Wed May 8 01:54:08 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * make.h (SIGHANDLER): #define as (void *) #if __STDC__,
- else (int (*)()).
- (SIGNAL): Use it to cast return value.
- * main.c (main): Cast SIG_IGN to SIGHANDLER when comparing.
- * job.c (block_signals, unblock_signals): Use SIGNAL instead of signal.
-
- * main.c: Declare mktemp to return char*, not int.
-
- * job.c (new_job): Don't increment files_remade.
- * remake.c (notice_finished_file): Do it here.
-
- * read.c (do_define): Don't clobber DEFINITION[-1] on empty defns.
- Free storage that is no longer needed.
-
-Wed Apr 24 20:49:48 1991 Roland McGrath (roland at churchy.gnu.ai.mit.edu)
-
- * misc.c (message): New fn to print informational msgs with
- leading "make: " or "make[N]: ".
- * make.h: Declare it.
- * remake.c (update_file): Use it instead of printf.
-
-Fri Apr 19 05:52:45 1991 Roland McGrath (roland at churchy.gnu.ai.mit.edu)
-
- * main.c (main): When there are no targets, if there were no
- makefiles, print a different error message, which mentions makefiles.
-
-Tue Apr 16 03:22:45 1991 Roland McGrath (roland at geech.gnu.ai.mit.edu)
-
- * remake.c (update_file): Print "nothing to be done" instead of "is
- up to date" if FILE->cmds == 0.
-
- * job.c [!WIFEXITED]: Define if not already defined.
-
-Thu Apr 11 18:00:50 1991 Roland McGrath (roland at wookumz.gnu.ai.mit.edu)
-
- * arscan.c (ar_name_equal): Fixed truncation comparison.
-
-Tue Apr 2 16:17:35 1991 Roland McGrath (roland at churchy.gnu.ai.mit.edu)
-
- * glob.c: Use common version from djm.
- * dir.c: Snarfed #ifdef mess for <dirent.h> or whatever from glob.c.
- (dir_file_exists_p): Ignore directory entries with d_ino==0.
-
-Mon Apr 1 20:49:45 1991 Roland McGrath (roland at albert.gnu.ai.mit.edu)
-
- * Version 3.59.4.
-
-Fri Mar 29 19:16:18 1991 Roland McGrath (roland at albert.gnu.ai.mit.edu)
-
- * job.c (free_child): Free CHILD->environment and its elts.
-
-Sat Mar 23 14:08:09 1991 Roland McGrath (roland at albert.gnu.ai.mit.edu)
-
- * read.c (read_makefile): Don't ignore lines containing only
- comments if they start with a tab. Such lines should be passed to
- the shell for it to decide about the comments.
-
- * job.c (free_child): Free CHILD->command_lines and its elts, not
- CHILD->commands (which is obsolete).
- * job.h, job.c: Remove obsolete `commands' member of `struct child'.
-
-Sun Mar 17 18:40:53 1991 Roland McGrath (roland at albert.ai.mit.edu)
-
- * remake.c (update_file): Print a msg for a top-level up-to-date
- phony target (a different one than for a real file).
-
- * read.c (conditional_line): Boundary check so we don't check the
- value of the -1th elt of the stack (which is bogus).
-
-Sat Mar 16 16:58:47 1991 Roland McGrath (roland at albert.ai.mit.edu)
-
- * read.c (conditional_line): Don't evaluate an if* when we're
- already ignoring. Instead, just push a new level, with a value of
- 1, to keep ignoring.
-
-Tue Mar 12 00:16:52 1991 Roland McGrath (roland at geech.ai.mit.edu)
-
- * Version 3.59.3.
-
-Mon Mar 11 23:56:57 1991 Roland McGrath (roland at geech.ai.mit.edu)
-
- * job.c (construct_command_argv_internal): Quote backslashes
- when building the shell -c line.
-
-Fri Mar 8 01:40:18 1991 Roland McGrath (roland at geech.ai.mit.edu)
-
- * job.c (exec_command): Call user_access rather than setgid(getgid()).
-
- * misc.c (remove_comments): Renamed from collapse_line; took out
- collapse_continuations call.
- * make.h: Change decl.
- * read.c (read_makefile): Collapse continuations on the line buffer
- immediately after reading it. Call remove_comments rather than
- collapse_line (which is now defunct).
-
-Thu Feb 21 18:06:51 1991 Roland McGrath (mcgrath at cygint.cygnus.com)
-
- * misc.c (user_access, make_access): New fns to toggle btwn permissions
- for user data (files and spawning children), and permissions for make
- (for taking the load average, mostly).
- * make.h: Declare them.
- * job.c (start_job): Call make_access before wait_to_start_job, and
- user_access after.
- * main.c (main): Call user_access before doing much.
-
-Mon Feb 3 15:02:03 1991 Roland McGrath (roland at albert.ai.mit.edu)
-
- * Version 3.59.2.
-
-Tue Jan 29 20:30:50 1991 Roland McGrath (roland at cygint.cygnus.com)
-
- * read.c (read_all_makefiles): Use allocated_variable_expand to expand
- `$(MAKEFILES)', since the results are used across calls to
- read_makefile, which could clobber them.
-
-Wed Jan 23 00:24:10 1991 Roland McGrath (roland at cygint.cygnus.com)
-
- * main.c (main): Call install_default_implicit_rules after reading
- makefiles, not before.
- * default.c (install_default_implicit_rules): If a suffix-rule file
- entry has cmds, don't give it any from default_suffix_rules.
-
-Fri Jan 17 17:39:49 1991 Roland McGrath (roland at albert.ai.mit.edu)
-
- * arscan.c: Added support for AIX archives.
-
- * remake.c: Don't include ar.h.
- * main.c: Removed unused atol decl.
- * arscan.c (ar_scan): Declare arg FUNCTION to return long int.
- * ar.c (ar_touch): Don't perror for an invalid archive.
- * make.h: Declare lseek as long int.
-
- * job.c [hpux]: Define getdtablesize a la USG.
-
-Sun Jan 12 21:08:34 1991 Roland McGrath (roland at albert.ai.mit.edu)
-
- * Version 3.59.1.
-
-Fri Jan 10 03:48:08 1991 Roland McGrath (roland at albert.ai.mit.edu)
-
- * job.c (search_path): Take new arg, place to put full pathname (rather
- than mallocing it).
- (exec_command): Pass it, using auto storage.
-
- * main.c (print_version): Updated copyright years.
-
-Wed Jan 8 19:46:19 1991 Roland McGrath (roland at albert.ai.mit.edu)
-
- * job.c [_POSIX_SOURCE]: Just #include <sys/wait.h>, and define macro
- WAIT_NOHANG in terms of waitpid.
- [!_POSIX_SOURCE && (HAVE_SYS_WAIT || !USG)]: Don't #include <signal.h>
- (make.h does).
- Define macro WAIT_NOHANG in terms of wait3.
- (child_handler): #ifdef on WAIT_NOHANG, not HAVE_SYS_WAIT || !USG.
- Use WAIT_NOHANG macro instead of wait3.
-
- * file.h (struct file.command_state): Remove unused elt.
-
-Wed Dec 26 18:10:26 1990 Roland McGrath (roland at albert.ai.mit.edu)
-
- * commands.c (set_file_variables): If FILE got its commands from
- .DEFAULT, make $< == $@ (4.3 BSD/POSIX.2d11 compat).
-
-Mon Dec 24 17:36:27 1990 Roland McGrath (roland at albert.ai.mit.edu)
-
- * default.c (default_variables): Rename 2nd LINK.s defn to LINK.S.
-
-Fri Dec 14 15:05:25 1990 Roland McGrath (roland at albert.ai.mit.edu)
-
- * vpath.c (selective_vpath_search): Check for makefile-mentioned before
- checking for actual existence. The old order loses if the containing
- directory doesn't exist (but a rule might make it).
-
- * make.h [__GNUC__]: Don't #define alloca if already #define'd.
-
- * rule.c (convert_to_pattern): Don't look at the target constructed for
- the empty rule when making the null-suffix rule. Construct it over
- again, since the former may have been freed already.
-
-Thu Dec 13 17:21:03 1990 Roland McGrath (roland at churchy.ai.mit.edu)
-
- * make.h [__GNU_LIBRARY__]: Include <unistd.h> to get random fn decls.
-
-Wed Dec 12 17:12:59 1990 Roland McGrath (roland at churchy.ai.mit.edu)
-
- * make.h, arscan.c, glob.c: Only include <memory.h> #ifdef USG.
-
- * variable.c (define_variable_in_set): Replace env_overrides check that
- wasn't really redundant (undoing Sep 28 change). Add comment saying
- why this check is necessary.
-
- * job.c, main.c [DGUX]: Needs siglist like USG.
-
-Mon Dec 11 01:19:29 1990 Roland McGrath (roland at albert.ai.mit.edu)
-
- * default.c [M_XENIX]: For rules that are different for Xenix, use the
- generic Unix version #ifdef __GNUC__.
-
- * main.c [M_XENIX]: Use USGr3-style setvbuf call.
-
- * read.c (find_percent): Do backslash folding correctly, not leaving
- extra crud on the end of the string.
-
-Sun Dec 10 21:48:36 1990 Roland McGrath (roland at albert.ai.mit.edu)
-
- * job.c: Don't declare wait3 if it's #defined.
-
- * GNUmakefile, compatMakefile, make.texinfo: Change make-info
- to make.info.
-
-Thu Dec 7 21:20:01 1990 Roland McGrath (roland at churchy.ai.mit.edu)
-
- * make.h [STDC_HEADERS || __GNU_LIBRARY__ || _POSIX_SOURCE]: Use
- ANSI <string.h> and names for str/mem functions.
- Use <stdlib.h> to declare misc fns rather than explicit decls.
- [_POSIX_SOURCE]: Don't declare kill (<signal.h> will).
- Include <sys/types.h> before <signal.h> because some braindead
- nonconformant 1003.1 implementation needs it.
- * misc.c: Don't declare malloc, realloc. Do it in make.h.
- * arscan.c, glob.c: Use sequence for string fns from make.h verbatim.
- * make.h (S_ISDIR, S_ISREG): Declare if necessary.
- * commands.c (delete_child_targets), job.c (search_path), read.c
- (construct_include_path): Use S_ISfoo(m) instead of
- (m & S_IFMT) == S_IFfoo.
- * dir.c, glob.c [_POSIX_SOURCE]: Use dirent.
-
-Wed Nov 29 22:53:32 1990 Roland McGrath (roland at geech.ai.mit.edu)
-
- * Version 3.59.
-
-Tue Nov 28 16:00:04 1990 Roland McGrath (roland at churchy.ai.mit.edu)
-
- * arscan.c (ar_name_equal) [APOLLO]: Don't do `.o' hacking. On Apollos
- the full file name is elsewhere, and there is no length restriction (or
- so I'm told).
-
-Thu Nov 23 17:33:11 1990 Roland McGrath (roland at albert.ai.mit.edu)
-
- * load.c [hp300 && BSD] (LDAV_CVT): Define for this system.
-
-Tue Nov 21 07:58:40 1990 Roland McGrath (roland at albert.ai.mit.edu)
-
- * read.c (record_files): Fix trivial bug with deciding to free storage
- for a file name.
-
-Thu Nov 16 06:21:38 1990 Roland McGrath (roland at geech.ai.mit.edu)
-
- * compatMakefile ($(bindir)/make): Install it setgid kmem.
-
-Thu Nov 1 16:12:55 1990 Roland McGrath (roland at churchy.ai.mit.edu)
-
- * GNUmakefile (make-*.tar.Z): Use `h' option to tar (dereference
- symlinks), to grab texinfo.tex from wherever it lives.
-
-Tue Oct 30 16:15:20 1990 Roland McGrath (roland at churchy.ai.mit.edu)
-
- * Version 3.58.13.
-
-Fri Oct 26 14:33:34 1990 Roland McGrath (roland at churchy.ai.mit.edu)
-
- * GNUmakefile: make-*.tar.Z: Include texinfo.tex.
-
-Tue Oct 23 19:34:33 1990 Roland McGrath (roland at churchy.ai.mit.edu)
-
- * main.c (define_makeflags): When there are no flags to write, make
- sure the array has two leading nulls, since `MAKEFLAGS' is defined from
- &flags[1].
-
- * main.c (default_keep_going_flag): New variable (constant one).
- (command_switches: -k, -S): Use above for default value.
- (define_makeflags): Only write flag/flag_off switches if they are on,
- and either there is no default value, or they are not the default.
-
-Mon Oct 22 16:14:44 1990 Roland McGrath (roland at churchy.ai.mit.edu)
-
- * main.c (struct command_switch): New member `no_makefile'.
- (command_switches: -n, -q, -t): Set no_makefile == 1.
- (define_makeflags): Take new arg MAKEFILE: if nonzero, don't use
- options whose `no_makefile' flags are set.
- (main): Call define_makeflags with MAKEFILE==1 before remaking
- makefiles, and again with MAKEFILE==0 before remaking goals.
-
-Tue Oct 2 17:16:45 1990 Roland McGrath (roland at geech.ai.mit.edu)
-
- * Version 3.58.12.
-
-Mon Oct 1 15:43:23 1990 Roland McGrath (roland at churchy.ai.mit.edu)
-
- * arscan.c [HPUX]: Use PORTAR==1 format.
-
-Sat Sep 29 16:38:05 1990 Roland McGrath (roland at churchy.ai.mit.edu)
-
- * make.h, remake.c, arscan.c: Don't declare `open'.
-
-Fri Sep 28 04:46:23 1990 Roland McGrath (roland at churchy.ai.mit.edu)
-
- * variable.c (define_variable_in_set): Remove redundant -e check.
-
-Wed Sep 26 00:28:59 1990 Roland McGrath (roland at geech.ai.mit.edu)
-
- * job.c (start_job): Set RECURSIVE from the right elt of
- CHILD->file->cmds->lines_recurse.
-
- * commands.c (chop_commands): Don't botch the line count for allocating
- CMDS->lines_recurse.
-
- * Version 3.58.11.
-
- * job.c (start_job): Don't always increment CHILD->command_line! Only
- do it when CHILD->command_ptr has run out! (Dumb bug. Sigh.)
-
-Thu Sep 20 02:18:51 1990 Roland McGrath (roland at geech.ai.mit.edu)
-
- * GNUmakefile [ARCH]: Give explicit rule for remote.{c,dep} to use
- variable `REMOTE' for more flags.
- ($(prog)): Link in $(LOADLIBES).
-
-Wed Sep 19 02:30:36 1990 Roland McGrath (roland at churchy.ai.mit.edu)
-
- * commands.h (struct commands): New member `ncommand_lines', the number
- of elts in `command_lines' et al.
- * commands.c (chop_commands): Set `ncommand_lines' elt of CMDS, and
- don't put a nil pointer at the end of `command_lines'.
- * job.h (struct child): New member `command_lines' to hold
- variable-expanded command lines.
- * job.c (new_job): Store expanded command lines in `command_lines'
- member of new child. Don't clobber FILE->cmds.
- (start_job): Use CHILD->command_lines in place of
- CHILD->file->cmds->command_lines.
-
- * variable.h, variable.c, job.c, expand.c: Undo yesterday's change,
- which is no longer necessary since we have cleverly avoided the issue.
-
- * job.c (start_job): Don't variable-expand each command line.
- (new_job): Do them all here, storing the expansions in the array.
-
-Tue Sep 18 01:23:13 1990 Roland McGrath (roland at churchy.ai.mit.edu)
-
- * variable.h (struct variable): Remove `expanding' member.
- * variable.c (define_variable_in_set): Don't initialize it.
- * expand.c (struct variable_expanding): New type, a linked list
- containing `struct variable' pointers.
- (variables_expanding): New variable, the chain of variables currently
- being expanded.
- (recursively_expand): Don't test and set `expanding' member.
- Instead, run through the `variables_expanding' chain looking for a link
- referring to V to find self-reference. Add a new link to the chain,
- describing V, before recursive expansion, and pop it off afterward.
- * job.c (child_handler): Save `variables_expanding' and clear it before
- calling start_job, and restore it afterward. This avoids major lossage
- when the SIGCHLD comes in the middle of variable expansion.
-
-Mon Sep 17 14:46:26 1990 Roland McGrath (roland at geech.ai.mit.edu)
-
- * job.c, commands.c: Don't define sigmask.
- * make.h: Put it here instead.
-
- * variable.c (target_environment): If `.NOEXPORT' was specified as a
- target, only export command-line and environment variables, and
- file-origin variables that were in the original environment.
-
- * make.man: Add missing ?roff control for `-I' option description.
-
-Thu Sep 13 14:10:02 1990 Roland McGrath (roland at churchy.ai.mit.edu)
-
- * load.c [UMAX]: Move #include <sys/sysdefs.h> to [not UMAX_43].
-
-Wed Sep 12 15:10:15 1990 Roland McGrath (roland at churchy.ai.mit.edu)
-
- * expand.c (recursively_expand): Don't use `reading_filename' and
- `reading_lineno_ptr' if they're nil.
-
-Thu Aug 30 17:32:50 1990 Roland McGrath (roland at geech)
-
- * Version 3.58.10.
-
-Tue Aug 28 04:06:29 1990 Roland McGrath (roland at churchy.ai.mit.edu)
-
- * job.c [USG] (unknown_children_possible): New variable, set nonzero
- when it's possible for children not in the `children' chain to die.
- (block_signals) [USG]: Set it.
- (unblock_signals) [USG]: Clear it.
- (child_handler) [USG]: Don't complain about unknown children if
- `unknown_children_possible' is set.
-
- * read.c (do_define): Make sure there's enough space for the newline,
- so we don't write off the end of allocated space.
-
- * arscan.c (ar_name_equal): Fixed to work when MEM is AR_NAMELEN-1 but
- NAME is not the same length.
-
-Sat Aug 25 16:17:14 1990 Roland McGrath (roland at geech)
-
- * job.c (construct_command_argv_internal): Use a static char array for
- a constant, since old C has no auto aggregate initializers.
-
-Thu Aug 23 16:11:03 1990 Roland McGrath (roland at churchy.ai.mit.edu)
-
- * job.c (search_path): If PATH is nil or "" use a default path.
-
-Wed Aug 22 01:05:32 1990 Roland McGrath (roland at churchy.ai.mit.edu)
-
- * Version 3.58.9.
-
- * job.c (exec_command): Don't take PATH and SHELL args. Get them from
- ENVP.
- (child_execute_job): Don't take FILE arg, and don't pass path and shell
- to exec_command.
- (start_job): Don't pass FILE arg to child_execute_job.
- * function.c (expand_function: `shell'): Ditto.
- * main.c (main): Don't pass path and shell to exec_command.
-
-Fri Aug 17 23:17:27 1990 Roland McGrath (roland at geech)
-
- * job.c (construct_command_argv_internal): New fn broken out of
- construct_command_argv. Takes strings SHELL and IFS instead of doing
- variable expansion for them. Recurse to make an argv for SHELL,
- passing SHELL==0. When SHELL==0, don't recurse for shell argv; make a
- simple one using /bin/sh.
- (construct_command_argv): Do the variable expansions and call above.
-
-Thu Aug 16 19:03:14 1990 Roland McGrath (roland at geech)
-
- * read.c (multi_glob): For ~USER/FILE, if USER isn't found, don't
- change the file name at all.
-
-Tue Aug 7 18:33:28 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * function.c (expand_function: `suffix'/`notdir'): Don't kill the last
- space if we never wrote one.
-
- * function.c (expand_function: `suffix'): Retain the dot, like the
- documentation says.
-
-Mon Aug 6 14:35:06 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.58.8.
-
- * main.c (decode_switches): For positive_int and floating cases, move
- SW past the arg (and don't set it to ""), so another switch can follow.
-
-Fri Aug 3 00:43:15 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * job.c (child_execute_job): Use unblock_signals instead of
- push_signals_blocked_p (0).
-
- * main.c (fatal_signal_mask): New variable, mask of signals caught with
- fatal_error_signal.
- (main): Set it.
- * job.c ({block,unblock}_children): Renamed to {block,unblock}_signals.
- Block/unblock both child signal and signals in fatal_signal_mask.
- (children_blocked_p_{stack,max,depth}, {push,pop}_children_blocked_p):
- Renamed from children to signals. Use {block,unblock}_signals instead
- of {block,unblock}_children.
- * commands.c (fatal_error_signal), job.c (wait_for_children, new_job,
- child_execute_job, main, log_working_directory), function.c
- (expand_function: `shell'), job.h: Rename {push,pop}_children_blocked_p
- to {push,pop}_signals_blocked_p.
- * job.c (child_handler): Call {block,unblock}_signals instead of just
- {block,unblock}_remote_children. We need to block the fatal signals.
-
-Thu Aug 2 22:41:06 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * main.c, function.c: Fixed typos in comments.
-
- * file.c (print_file_data_base): Fix computation of avg files/bucket.
-
-Tue Jul 31 22:11:14 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.58.7.
-
-Wed Jul 25 16:32:38 1990 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * arscan.c (ar_name_equal): Fixed to really do it right.
- (ar_member_pos): Fixed order of args.
- * ar.c (ar_member_date_1): Ditto.
-
-Fri Jul 20 15:30:26 1990 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * arscan.c (ar_name_equal): Rewritten. Accounts for a possible
- trailing slash in MEM.
-
- * remake.c (f_mtime): Keep track of whether ARNAME is used and free it
- if not. Also free MEMNAME.
- * ar.c (ar_member_date, ar_touch): Ditto.
-
- * arscan.c (arscan) [HPUX or hpux]: Treat same as USGr3 PORTAR==1.
-
- * make.h: If NSIG is not defined, but _NSIG is, #define NSIG _NSIG.
-
- * compatMakefile: Don't use $* in explicit rules.
-
- * default.c (default_variables: "PREPROCESS.S"): Include $(CPPFLAGS).
-
- * remake.c (f_mtime): If FILE is an ar ref, get the member modtime.
-
- * function.c (string_glob): Terminate the string properly when it's
- empty.
-
-Wed Jul 18 11:26:56 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.58.6.
-
- * commands.c (set_file_variables): Fixed computation for ^F/?F elt len.
-
-Sat Jul 14 13:41:24 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * job.c (construct_command_argv): Always use
- allocated_variable_expand_for_file instead of variable_expand_for_file
- because we might be called from inside a variable expansion (for the
- `shell' function).
-
- * function.c (expand_function: `shell'): Free the arglist's storage
- correctly. construct_command_argv only allocates ARGV and ARGV[0].
-
- * job.c (children_blocked_p_idx): Renamed to children_blocked_p_depth.
- (push_children_blocked_p, pop_children_blocked_p): Use ..._depth
- instead of ..._idx, and do it right!
-
-Wed Jul 11 15:35:43 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * make.h (SIGNAL): New macro to replace `signal' calls. Does arg and
- ret value casts to (void *) #ifdef __STDC__ to avoid conflicts btwn
- ANSI and BSD `signal' and handler types.
- * main.c (main), job.c (child_handler): Use it.
-
-Fri Jul 6 00:00:38 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * ar.c (ar_member_date, ar_touch): Pass 2nd arg to f_mtime.
-
- * read.c (read_makefile): Search the include path for MAKEFILES
- variable makefiles (TYPE == 1), like it says in the manual.
-
- * file.h (struct file), main.c (struct command_switch): Remove trailing
- commas from enums.
-
- * commands.c (execute_file_commands): Remove unused variables.
- * commands.h: Declare chop_commands.
- * make.h: Declare uniquize_deps.
- * main.c (main): Remove unused variable.
- (decode_switches): Remove unused label.
- * remake.c: Include "ar.h" for ar_parse_name decl.
- * implicit.c (try_implicit_rule): Remove unused variable.
- * function.c (expand_function: `shell'): Declare fork, pipe.
- * ar.c: Declare ar_name_equal.
-
- * GNUmakefile: If using gcc, add warning flags to CFLAGS.
-
- * remake.c: Remove decl of ar_member_date, since it's done in make.h.
-
- * remake.c (f_mtime): For ar refs, allow the archive to be found via
- VPATH search if we're searching, and change the ar ref accordingly.
-
- * ar.c (ar_parse_name): New global fn to parse archive-member
- references into the archive and member names.
- (ar_member_date, ar_touch): Use it.
- * make.h: Declare it.
-
- * remake.c (f_mtime): After doing rename_file, do check_renamed instead
- of assuming rename_file will always set FILE->renamed (which it won't).
-
- * vpath.c (selective_vpath_search): Only accept prospective files that
- don't actually exist yet are mentioned in a makefile if the file we are
- searching for isn't a target.
-
-Wed Jul 4 04:11:55 1990 Roland McGrath (mcgrath at helen.Berkeley.EDU)
-
- * remake.c (update_goal_chain): Do check_renamed after calling
- file_mtime.
- (check_dep): Ditto after update_file.
-
- * file.c (rename_file): Prettied up long message for merging cmds.
-
- * remake.c (update_file_1): Get each dep file's modtime, and allow for
- it being renamed, before checking for a circular dep, since a renaming
- may have introduced one.
-
-Tue Jul 3 18:15:01 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * ar.c (ar_touch): Don't free ARNAME since enter_file holds onto the
- storage.
-
- * function.c (string_glob): Don't leave a trailing space.
-
- * read.c (do_define): Allow leading whitespace before `endef'.
-
-Mon Jul 2 14:10:16 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * implicit.c (pattern_search): No longer take NAME arg. Instead take
- ARCHIVE flag. If ARCHIVE is nonzero, FILE->name is of the form
- "LIB(MEMBER)"; rule for "(MEMBER)" is searched for, and LASTSLASH is
- set to nil. Since NAME was only non-nil when it was the archive member
- name passed by try_implicit_rule, this change easily allows turning off
- LASTSLASH checking for archive members without excessive kludgery.
- (try_implicit_rule): Pass ARCHIVE flag instead of file name.
-
- * Version 3.58.5.
-
- * commands./c (set_file_variables): Don't kill last char of $(^D) elts.
-
-Sat Jun 30 00:53:38 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * ar.c (ar_member_date): Don't free ARNAME since enter_file holds onto
- the storage.
-
- * arscan.c (ar_scan) [sun386 && PORTAR == 1]: Treat like USGr3.
-
-Wed Jun 27 14:38:49 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * main.c (main): Put a newline on the debugging message when deciding
- not to remake a makefile to avoid a possible loop.
- Only decide not to remake makefiles that have commands (as well as
- being targets and having no deps).
-
-Fri Jun 22 12:35:37 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * default.c (default_variables): Define `LINK.s' and `LINK.S'.
- (default_suffix_rules): Define .S.o rule.
-
- * job.c (construct_command_argv): If we decide to go the slow route,
- free all storage for the chopped args.
- (start_job): Free the argument list's storage correctly.
- construct_command_argv only allocates ARGV and ARGV[0].
-
-Tue Jun 19 18:27:43 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.58.4.
-
-Fri Jun 15 21:12:10 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * glob.c: New version from ai-lab which doesn't do [^abc].
-
-Thu Jun 7 00:30:46 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * dir.c: Copied dirent vs direct et al mess from glob.c.
-
- * glob.c: Replaced with updated version from djm.
- * glob.c: Check macro DIRENT instead of _POSIX_SOURCE for <dirent.h>.
- __GNU_LIBRARY__ implies DIRENT and STDC_HEADERS.
-
-Thu May 31 22:19:49 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * vpath.c (vpath_search): Don't stop the loop if a pattern matches but
- the search fails. All matching patterns have their paths searched
- (like it says in the manual).
-
- * make.texinfo (Rules: Directory Search: Selective Search): Say that
- multiple `vpath' directives with the same pattern DO accumulate, not
- supersede earlier ones.
-
- * vpath.c (print_vpath_data_base): Increment the count of vpaths on
- each loop iteration, rather than letting it stay zero.
-
- * Version 3.58.3.
-
- * job.c (block_children, unblock_children): Made static.
- (push_children_blocked_p, pop_children_blocked_p): New functions to
- push and pop whether children are blocked or not.
- * job.h: Declare push_children_blocked_p, pop_children_blocked_p and
- not block_children, unblock_children.
- * commands.c (fatal_error_signal), job.c (wait_for_children, new_job,
- child_execute_job), main.c (main, log_working_directory): Use sequences
- of push_children_blocked_p (1) and pop_children_blocked_p () instead of
- explicitly blocking and unblocking children.
- * function.c (expand_function: `shell'): Don't unblock children. The
- push-pop sequence in wait_for_children makes it unnecessary.
-
-Tue May 29 21:30:00 1990 Roland McGrath (mcgrath at helen.Berkeley.EDU)
-
- * read.c (do_define): Don't include the last newline in the definition.
-
- * function.c (expand_function: `shell'): Call construct_command_argv
- before forking and don't fork if it returns nil. Free the argument
- list's storage before finishing.
-
- * job.c (start_job): Free the storage for the child's argument list
- in the parent side of the fork after the child has been spawned.
-
- * job.c (start_job): If construct_command_argv returns nil, go to the
- next command line.
-
- * job.c (construct_command_argv): Use the shell if the command contains
- an unterminated quote.
-
-Wed May 23 19:54:10 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.58.2.
-
- * read.c (read_makefile): Parse "override define" correctly.
-
-Thu May 17 15:25:58 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * arscan.c [USG]: Don't declare memcpy and memcmp. <memory.h> should
- do this anyway (and lack of declarations is harmless).
-
- * remote-customs.c: Renamed to remote-cstms.c for System V.
- * remote.c [CUSTOMS]: Changed accordingly.
-
-Sun May 13 14:38:39 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * GNUmakefile: Use same cmds for doc tar.Z as for dist tar.Z (so the
- contents go in make-N.NN).
-
-Thu Apr 26 19:33:25 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * Version 3.58.1.
-
-Wed Apr 25 20:27:52 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * job.c (init_siglist): Don't do SIGUSR1 and SIGUSR2 if they are the
- same as SIGIO and SIGURG (true on Cray).
-
-Tue Apr 24 20:26:41 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * arscan.c (ar_scan): Do behavior for PORTAR == 1 and USGr3 also
- #ifdef APOLLO.
-
-Wed Apr 11 10:00:39 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * job.c (exec_command): Set the effective GID to the real GID. Somehow
- this code got lost.
-
- * implicit.c (pattern_search): Use the right index variable when
- seeing if we need to expand FILE->also_make.
-
-Sun Mar 4 09:18:58 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * Version 3.58.0.
-
- * remake.c (remake_file): Treat non-targets without commands under -t
- the same as anything else without commands.
-
-Sat Feb 24 17:46:04 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * default.c (default_variables: PREPROCESS.S): Removed $< from defn.
-
- * main.c (main): Ignore arguments that are the empty string, rather
- than feeding them to enter_file and barfing therein.
-
-Wed Feb 14 16:28:37 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * main.c (main): Call construct_include_path after doing chdirs.
-
-Thu Feb 8 13:43:44 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * Version 3.58.
-
-Sat Feb 3 22:06:55 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * Version 3.57.7.
-
- * make.texinfo (Implicit: Catalogue of Rules): For RCS, noted that
- working files are never overwritten by the default rule.
-
-Thu Feb 1 17:27:54 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * rule.c (count_implicit_rule_limits): Redid loop control to not run
- twice on freed rules.
-
- * GNUmakefile: Made `.dep' files be architecture-specific too.
-
- * main.c (main, log_working_directory) [USG]: Block children around
- calls to `getwd' (actually `getcwd' on USG), because that function
- sometimes spawns a child running /bin/pwd on USG.
-
-Tue Jan 30 14:02:50 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * function.c (subst_expand): Pay attention to SUFFIX_ONLY, putz.
-
-Wed Jan 24 21:03:29 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * make.man: Fixed repeated word.
-
- * make.texinfo (Missing): Reworded a buggy sentence.
-
-Mon Jan 22 12:39:22 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * main.c (print_version): Added 1990 to copyright notice.
-
- * Version 3.57.6.
-
-Sat Jan 20 11:52:01 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * file.c (rename_file): Don't free the storage for the old name, since
- it might not have been malloc'd.
-
- * job.c (construct_command_argv): Call
- allocated_variable_expand_for_file instead of variable_expand_for_file
- to expand `$(SHELL)'.
-
- * make.texinfo (Bugs): Change address from roland@wheaties.ai.mit.edu
- to roland@prep.ai.mit.edu.
-
-Tue Jan 16 19:22:33 1990 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * Version 3.57.5.
-
-Sun Jan 14 16:48:01 1990 Roland McGrath (mcgrath at helen.Berkeley.EDU)
-
- * job.c (start_job): Only call wait_to_start_job for the first command
- line in each sequence.
-
-Thu Jan 4 14:27:20 1990 Roland McGrath (mcgrath at helen.Berkeley.EDU)
-
- * load.c [LDAV_BASED] (wait_to_start_job): Loop while job_slots_used >
- 0, not > 1.
-
- * job.c (search_path): Don't return a pointer to local storage.
- Allocate data space for the pathname instead.
-
- * function.c (expand_function: `shell'): Don't write garbage if the
- child wrote no output.
-
-Wed Jan 3 15:28:30 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.57.4.
-
- * file.h (struct file): New member `renamed', a `struct file *' that is
- the place this file has been renamed to (or nil).
- (check_renamed): Macro to check for a file having been renamed.
- Dereferences the renaming and sets the given variable.
- * file.c (rename_file): Completely rewritten. Renames in place if
- possible, or moves FILE to a different hash bucket if there is no
- existing file with the new name. If there is an existing file with the
- new name, FILE is merged into it and FILE->renamed is set to point to
- it.
- * variable.c (merge_variable_sets): New fn to merge two variable sets.
- (merge_variable_set_lists): New fn to merge two variable set lists.
- * variable.h: Declare merge_variable_set_lists.
- * remake.c (update_file_1, check_dep): Run `check_renamed' after
- calling file_mtime, check_dep.
- (update_file): Same after update_file_1.
- (update_goal_chain, update_file_1, check_dep): Same after update_file.
-
- * read.c (uniquize_deps): New fn, broken out of record_files, to remove
- duplicate deps from a chain.
- (record_files): Use it.
- * implicit.c (pattern_search): Use uniquize_deps.
-
- * file.h (file_mtime_1): New macro, like file_mtime, but take second
- arg, passed to f_mtime.
- (file_mtime): Implement as file_mtime_1 (file, 1).
- (file_mtime_no_search): New macro: file_mtime (file, 0).
- * remake.c (f_mtime): Take new arg SEARCH. Only do VPATH and `-lNAME'
- searching if it is nonzero.
- * main.c (main): Use file_mtime_no_search for makefiles.
- * remake.c (update_goal_chain): Use file_mtime_no_search if MAKEFILES.
-
- * main.c (printed_version): New variable, init'd to zero.
- (print_version): Set it to nonzero before returning.
- (die): If -v and !printed_version, call print_version before clean up
- and death.
-
- * main.c (log_working_directory): Keep track of whether or not the
- "Entering" message has been printed, and return without printing the
- "Leaving" message if not.
-
- * main.c (decode_switches): Don't complain about missing args before
- checking for a noarg_value elt in the command_switch structure.
-
-Tue Jan 2 15:41:08 1990 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * make.texinfo (Commands: Recursion: Options/Recursion): Document
- special case of -j.
-
- * make.texinfo, main.c, job.c: Changed copyright notices to include
- 1990.
-
- * make.texinfo (Top): Fixed introductory paragraph, which said that
- `make' itself (instead of the manual) has various chapters.
- (Variables: Advanced: Substitution Refs): When pxref'ing about
- `patsubst', use node `Text Functions', not `Functions'.
- Add an xref about `patsubst' after description of $(var:a%b=c%d).
- (Functions: Syntax of Functions): Explain why mixing delimiters in
- function/var refs is unwise. Clarify fn arg evaluation order.
- (Options): Reworded sentence about `-e'.
- (Implicit: Implicit Variables): Don't say `RM' is unused.
- Say the dflt values for the flag vars is empty unless otherwise noted,
- since some have defaults.
- (Implicit: Pattern Rules: Pattern Examples): Clarified use of $< and $@
- in first example.
- (Implicit: Last Resort): Don't say the .DEFAULT example creates files
- "silently". It's automatic, but not silent.
- (Implicit: Search Algorithm): Fixed confusing ungrammatical sentence
- for item 5.1.
- (Archives: Archive Update): Added missing `next' pointer.
- (Archives: Archive Symbols): Note that GNU `ar' deals with this
- automatically.
-
- * job.c (search_path): New fn, to search for an executable file in a
- search path (broken out of exec_command).
- (exec_command): Take fourth arg, the shell program to use (if
- necessary). Use search_path for the program, and the shell program.
- Pass args "file args ..." to shell program (with no -c), where FILE is
- the full pathname of the program (script) to be run.
- (child_execute_job): Pass shell program to exec_command.
- * main.c (main): Ditto.
-
- * main.c (main): Don't write a message if exec_command returns, because
- it will never return.
-
-Fri Dec 22 16:19:58 1989 Roland McGrath (mcgrath at hecuba.Berkeley.EDU)
-
- * default.c (default_variables: "LINK.cc"): Use $(C++FLAGS) instead of
- $(CFLAGS).
-
-Wed Dec 20 09:58:48 1989 Roland McGrath (mcgrath at hecuba.Berkeley.EDU)
-
- * job.c (new_job): If start_job set the child's `command_state' to
- `cs_finished', call notice_finished_file.
-
-Sun Dec 17 19:45:41 1989 Roland McGrath (mcgrath at hecuba.Berkeley.EDU)
-
- * Version 3.57.3.
-
-Wed Dec 13 17:57:12 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * rule.c (convert_to_pattern): Accept files with dependencies as
- suffix rules.
-
-Thu Nov 30 15:47:13 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * Version 3.57.2.
-
- * function.c (expand_function: `shell'): Don't clobber BUFFER and then
- try to free it.
-
- * remake.c (update_file_1): Took code to force remake of nonexistent
- deps out of #if 0, and changed the test to nonexistent non-intermediate
- deps. In version 4, I think removing this test completely will
- implement the new feature that if a: b and b: c and c is newer than a,
- b need not be remade.
-
-Sun Nov 26 16:12:41 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * compatMakefile (load.o, remote.o): Use $*.c instead of explicit file
- names so that using VPATH works.
-
-Tue Nov 21 14:57:18 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.57.1.
-
-Fri Nov 10 03:28:40 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * remake.c (check_dep): Set *MUST_MAKE_PTR if FILE does not exist after
- being updated. (The exact opposite test was here before; why???)
- (update_file_1): Set a dep's `changed' member after updating it if it
- is phony and has commands (because they will then always be executed).
-
-Thu Nov 9 13:47:12 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * load.c [UMAX]: #ifdef UMAX_43 include different headers for the
- `inq_stats' call.
- * compatMakefile (LOAD_AVG): Document UMAX_43.
-
- * Version 3.57.0.
-
- * commands.c (chop_commands): New function to chop commands into lines.
- * job.c (new_job): Break that code out, and call chop_commands.
- * remake.c (remake_file): Call chop_commands before looking at
- FILE->cmds->any_recurse.
-
- * make.texinfo (Running: Goals): Don't say that the default target
- won't be taken from an included makefile.
-
- * remake.c (update_file_1): #if 0 out setting MUST_MAKE if a dep
- doesn't exist.
-
-Fri Nov 3 15:53:03 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * Version 3.57.
-
- * variable.c (try_variable_definition): Don't calculate useless value.
-
- * main.c (define_makeflags): Fixed -j propagation.
-
- * commands.c (execute_file_commands): Removed unused variable.
-
-Sun Oct 29 11:11:15 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * commands.c (execute_file_commands): If the commands are empty, call
- notice_finished_file before returning.
-
-Sat Oct 28 23:06:32 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * remake.c (update_file_1): Don't always update a target that has no
- deps. Only do this for double-colon targets.
-
-Wed Oct 25 16:36:16 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * main.c (main) [hpux]: hpux == HPUX.
- * compatMakefile (defines): Document that HPUX should be defined.
-
-Tue Oct 24 19:19:48 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.56.8.
-
- * job.c (exec_command): Fixed what mode bits are checked.
-
- * remake.c (update_file_1): "No cmds and no deps actually changed"
- loses if ! FILE->is_target.
-
- * make.texinfo (Variables: Setting): Don't say that spaces after a
- variable definition are ignored (since they aren't).
-
-Mon Oct 23 14:34:23 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.56.7.
-
- * remake.c (update_file_1): If, after being updated, any dependency
- does not exist, remake the target.
-
- * remake.c (update_file_1): Always update if FILE has commands but no
- deps.
-
- * commands.c (execute_file_commands): If we return early because there
- are no commands, set FILE->updated.
-
-Thu Oct 19 18:47:37 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * arscan.c (ar_scan) [M_XENIX]: Don't run atoi or atol on the
- `struct ar_hdr' members that are int or long int on Xenix.
-
-Sat Oct 14 10:43:03 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * arscan.c (ar_scan): Cosmetic clean ups.
- (ar_name_equal): New function to compare names, handling truncated
- member names and special `.o' truncation.
- (ar_member_pos): Use ar_name_equal.
- * ar.c (ar_member_date_1): Use ar_name_equal.
-
- * Version 3.56.6.
-
- * file.h (struct file): Made `update_status' a `short int', and moved
- it before `command_state' so the bitfields can be packed better.
-
- * remake.c (files_remade): Made global.
- (notice_finished_file): Don't increment files_remade.
- * job.c (new_job): Do.
-
- * job.c (start_job): Don't return a value. Always set
- CHILD->file->command_state to either cs_running or cs_finished.
- (new_job, child_handler): Don't expect start_job to return a value.
- Instead, look at the file's command_state.
-
- * commands.c (chop_commands): Merged into job.c (new_job).
- * commands.h: Don't declare chop_commands.
-
- * job.c (start_job): Made static.
- (new_job): New function to create a `struct child' and call start_job.
- (free_child): New function to free a `struct child'.
- (child_handler, new_job): Call it.
- * job.h: Don't declare start_job. Do declare new_job.
- * commands.c (execute_file_commands): Call new_job.
-
- * commands.c (execute_file_commands): Don't set FILE->update_status if
- start_job fails.
-
- * function.c (expand_function): Don't use `reading_filename' and
- `reading_lineno_ptr' if they're nil.
-
-Fri Oct 13 18:16:00 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * read.c (find_semicolon): New function to look for an unquoted ; not
- preceded by an unquoted # in a string.
- (read_makefile): Call it before expanding the line. If it finds a ;,
- cut the line short there before expanding it. If not, call it again
- after expanding.
-
- * commands.c (execute_file_commands): Don't check FILE->command_state.
- We won't get called unless it's cs_not_started.
-
- * read.c (read_makefile): Call collapse_line on the variable-expanded
- rule line after checking for ; and #.
-
- * job.c (start_job): When there are no more commands, always return 0.
- * commands.c (execute_file_commands): Don't put the new child in the
- `children' chain unless FILE->command_state is cs_running.
-
- * read.c (read_makefile): Rewrote ;-handling to only do it once (why
- did I do it twice??) and to check for a # before the ;.
-
- * job.c (start_job): Set CHILD->file->update_status to 0 when we run
- out of commands. Set it to 1 before returning failure.
- (child_handler): Don't set C->file->update_status to 0 when start_job
- returns success and commands are not running.
-
- * read.c (read_makefile): If there is a # before the ; for commands,
- forget the ; and commands.
-
-Thu Oct 12 15:48:16 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * job.c (child_execute_job): Pass -c to the shell.
-
-Wed Oct 11 18:41:10 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.56.5.
-
- * main.c (define_makeflags): Cleaned up to keep better track of dashes
- written, etc.
-
- * function.c (expand_function: `shell'): When converting newlines to
- spaces in output, search with `index' calls rather than a simple loop.
-
- * main.c (main): Make sure stdout is line-buffered.
-
- * main.c (decode_switches): Always check for missing switch arg.
-
-Mon Oct 9 17:17:23 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.56.4.
-
-Sat Oct 7 00:32:25 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * commands.c (set_file_variables): #ifdef NO_ARCHIVES, still set $@ and
- $%.
-
- * commands.c (set_file_variables): Include a trailing slash in the
- directory variables (@D, etc.).
-
- * job.c (child_handler): Call notice_finished_file after changing a
- child's state to `cs_finished'.
- * remake.c (update_file_1): Don't call notice_finished_file if
- FILE->command_state == cs_finished.
-
-Wed Oct 4 16:09:33 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.56.3.
-
-Tue Oct 3 21:09:51 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * read.c (read_all_makefiles): When setting elements of MAKEFILES from
- the contents of read_makefiles, make sure we're using the right
- element.
-
- * dir.c, glob.c [USGr3 || DIRENT]: Don't define d_ino as d_fileno.
-
- * Version 3.56.2.
-
- * remake.c (update_file_1): Return zero after calling remake_file if
- FILE->command_state != cs_finished. Test update_status thoroughly.
-
- * commands.c (execute_file_commands): Don't call notice_finished_file.
-
- * remake.c (remake_file): Return immediately after calling
- execute_file_commands.
-
-Sat Sep 30 14:57:05 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.56.1 (alpha).
-
- * file.h (struct file): Made `update_status' not be a bitfield, since
- some broken compilers don't handle it right.
-
- * function.c (expand_function: `join'): Don't clobber the pointers and
- then try to free them.
-
- * job.c (exec_command): Fixed & vs = precedence problem.
-
-Thu Sep 28 17:29:56 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * remake.c (update_file_1): Fixed typo in debugging output.
-
- * remake.c (library_file_mtime): Search for /usr/local/lib/libLIB.a
- after /usr/lib/libLIB.a.
-
-Tue Sep 26 16:07:58 1989 Roland McGrath (mcgrath at helen.Berkeley.EDU)
-
- * read.c (conditional_line): For `ifeq (a, b)', swallow space after the
- comma.
-
-Sun Sep 24 13:25:32 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * function.c (patsubst_function): If BY_WORD and the match is not a
- full word, update the text pointer correctly.
-
- * function.c (expand_function: `word'): Don't lose track of the second
- arg's expansion and free something else instead.
-
-Fri Sep 22 16:15:29 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.56.
-
-Thu Sep 21 14:28:42 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * main.c (main): Make an array of the mtimes of the makefiles before
- updating them, and compare their file_mtimes against this later. Don't
- re-exec if a makefile was successfully updated but didn't change. If a
- makefile failed to be remade and no longer exists, die. If a makefile
- failed to be remade, but changed anyway, re-exec. If a makefile failed
- to be remade, but is unchanged, continue on.
-
-Wed Sep 20 18:02:07 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.55.6.
-
- * implicit.c (pattern_search): Maintain an array CHECK_LASTSLASH of the
- CHECK_LASTSLASH flag values used to match each member of TRYRULES.
- When making FILE->stem, if CHECKED_LASTSLASH[FOUNDRULE], prepend the
- part of FILENAME before LASTSLASH.
-
-Tue Sep 19 17:44:08 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * dir.c (dir_file_exists_p): Check for FILENAME being nil before
- checking for it being "".
-
- * main.c (define_makeflags): Fixed test for whether a flag/flag_off
- option was non-default. Also changed to generate a string that Unix
- Make will grok (except for FP/int values and new flags).
-
- * job.c (child_execute_job): Don't use the shell's -c option.
- Also fixed an off-by-one bug in the ARGV -> shell arg list copying.
-
-Mon Sep 18 15:17:31 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.55.5.
-
- * read.c (parse_file_seq): Check the beginning of the file name for a
- `./', not the two chars after the end of the name (Q rather than P).
-
- * job.c (child_execute_job): Include all of ARGV in the arg list for
- the shell.
-
- * main.c (define_makeflags): Don't include floating and positive_int
- options in !PF.
-
- * job.c (exec_command): Set the effective gid to the real gid before
- execing.
-
- * job.c (child_execute_job): Don't clobber the arg list when execing
- the shell.
-
-Sun Sep 17 15:27:19 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * main.c (define_makeflags): Moved all the checking inside the switch.
-
- * load.c [LDAV_BASED] (load_average): When we can't get the load
- average, return zero instead of running off the end.
-
- * file.c: Include variables.h.
- * job.c: Declare dup2 and {block,unblock}_remote_children.
- * file.h: Declare f_mtime.
- * job.c: Don't declare construct_command_argv, since job.h does.
- * function.c, main.c, load.c, remake.c: Include job.h.
- * load.c [LDAV_BASED] (load_average): Declare nlist.
- * variable.h: Declare print_file_variables.
- * job.c [!USG]: Don't declare sigsetmask.
- [!USG]: Declare getdtablesize.
- Don't declare load_average. Do declare wait_to_start_job.
- Declare vfork, gete[gu]id, execve.
- * commands.c: Declare remote_kill, getpid.
- * make.h: Declare kill, exit, sigblock, pipe, close, ctime, open,
- lseek, read.
- * make.h [not USG]: Declare sigsetmask.
- * job.h: Declare wait_for_children and {block,unblock}_children.
-
- * dir.c (dir_file_exists_p): If FILENAME is nil, read in the whole
- directory.
- (find_directory): When we want to read in the whole directory, call
- dir_file_exists_p with nil instead of "".
-
- * file.h (struct file), job.h (struct child),
- variable.h (struct variable): Use bitfields for flags.
- * make.h (ENUM_BITFIELD): If GCC or #ifdef ENUM_BITFIELDS, define as
- :BITS, else empty.
- * compatMakefile (defines): Document ENUM_BITFIELDS.
-
-Sat Sep 16 12:38:58 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.55.4 (alpha).
-
- * GNUmakefile (dist): Depend on default and doc.
-
- * load.c [LDAV_BASED]: Include <nlist.h> rather than <a.out.h>; #ifdef
- NLIST_NAME_UNION, use n_un.n_name instead of n_name.
- * compatMakefile (LOAD_AVG): Document NLIST_NAME_UNION.
-
- * job.c [USG-ish]: Don't redefine WIF{SIGNALED,EXITED} if they're
- already defined.
-
-Fri Sep 15 13:59:42 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * glob.c, dir.c [USGr3 or DIRENT]: If neither d_ino, nor d_fileno is
- defined, define d_ino as d_fileno.
-
-Thu Sep 14 18:29:38 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * job.c: Don't declare exec_command static.
-
- * make.texinfo (Name Index): Changed title to include directives.
-
- * Version 3.55.3 (alpha).
-
- * make.texinfo (Running: Options): Document -e.
-
- * main.c (main): Always give imported environment variables origin
- `o_env'.
- * variable.c (define_variable_in_set): Under -e, if ORIGIN, or an
- existing variable's origin, is `o_env', make it `o_env_override'.
-
- * load.c: Use the symbol KERNEL_FILE_NAME instead of KERNEL_FILE.
- * compatMakefile: Changed the comment for `LOAD_AVG' accordinly.
-
-Thu Sep 7 16:46:26 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.55.2 (alpha).
-
- * variable.c (print_variable_set), rule.c (print_rule_data_base),
- file.c (print_file_data_base): If NO_FLOAT is defined, don't use
- floating-point for printing statistics.
- * compatMakefile (defines): Document NO_FLOAT.
-
- * make.h (HASH): New macro to add the hashing value of one char to a
- variable.c.
- * file.c (lookup_file, enter_file, rename_file): Use it.
- * dir.c (find_directory, dir_file_exists_p, file_impossible_p): Ditto.
- * variable.c (define_variable_in_set, lookup_variable): Same here.
-
- * variable.c, file.c, dir.c: Don't define *_BUCKETS if they are already
- defined.
-
- * compatMakefile (defines): Added comment about defining NO_ARCHIVES.
- (ARCHIVES, ARCHIVES_SRC): New variables for {ar,arscan}.[oc].
- (objs, srcs): Use $(ARCHIVES) and $(ARCHIVES_SRC).
- * commands.c (set_file_variables), dir.c (file_exists_p),
- remake.c (touch_file, name_mtime), implicit.c (try_implicit_rule,
- pattern_search), make.h: If NO_ARCHIVES is #defined, don't do any
- archive stuff.
-
- * commands.c (set_file_variables): Don't kill the last char of
- directory names in $([@*<%?^]D).
-
-Wed Sep 6 15:23:11 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * default.c (default_terminal_rules {%:: %,v}, {%:: RCS/%,v}): Don't
- run co if the target exists.
-
- * glob.c (glob_match): [!xyz], rather than [^xyz], means none of [xyz].
-
- * glob.c: Misc minor cosmetic changes.
-
-Tue Sep 5 14:49:56 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU)
-
- * load.c [LDAV_BASED] (load_average): Check for == -1, rather than < 0
- to see if lseek fails. On some systems, `avenrun' is at an offset >
- (2**31)-1, and lseek succeeds, returning a negative value.
-
-Mon Sep 4 11:07:58 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU)
-
- * rule.c (new_pattern_rule): Return `int' instead of `void': nonzero if
- the passed rule was used, zero if not.
- (install_pattern_rule): Pay attention to the return from
- new_pattern_rule, and don't set the rule's `terminal' flag or give it
- commands unless it's used.
- (create_pattern_rule): Same idea.
-
- * dir.c (find_directory): Removed unused variable.
-
- * commands.c (execute_file_commands): Removed unused variable.
-
- * read.c (record_files): Don't use NAME after freeing it.
-
-Sat Sep 2 00:33:19 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU)
-
- * Version 3.55.1 (alpha).
-
- * function.c (string_glob): Don't add spaces after file names that
- aren't added. (Also means don't add spaces without checking the size
- of the buffer.)
-
- * remake.c (update_goal_chain): Don't remove makefiles with cmds and no
- deps from the chain.
- * main.c (main): Do it here, before calling update_goal_chain.
-
- * remake.c (update_goal_chain): When updating fails, change STATUS even
- if MAKEFILES is set. Also stop remaking when updating fails if not
- under -k and MAKEFILES is not set.
-
- * remake.c (remake_file, update_file_1, notice_finished_file),
- commands.c (execute_file_commands), make.h, commands.h: The functions
- remake_file, notice_finished_file, and execute_file_commands no longer
- return values, and their callers no longer expect values returned.
-
- * remake.c (notice_finished_file): Don't set FILE's modtime to now if
- it is a non-target with no commands.
-
-Fri Sep 1 00:04:39 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU)
-
- * read.c (read_all_makefiles): After freeing each element on MAKEFILES,
- replace it with the name stored in read_makefiles by read_makefile.
-
- * remake.c (update_file_1): Don't decide not to remake if FILE has no
- cmds and no deps actually changed if FILE doesn't have any deps.
-
- * file.c (remove_intermediate): Remove precious files that also have
- the `dontcare' flag set.
-
- * remake.c (update_file_1): Don't always remake if FILE has cmds but no
- deps; only if FILE is double-colon. (I don't know why this should be
- done for double-colon targets, but that's what Unix make does.)
-
- * load.c [LDAV_BASED] (load_average): Write error messages if the
- various system calls fail. Keep track of if we've failed before.
- The first time we fail, write a message saying -l won't be enforced.
- The first time we succeed after having failed, write a message saying
- -l will be enforced again.
-
- * remake.c [USG]: Don't #include <sys/file.h>
-
- * load.c [generic Unix LDAV_BASED]: #include <fcntl.h> #ifdef USG,
- else <sys/file.h> instead.
-
- * job.c [USG && !USGr3 && !HAVE_DUP2]: Remove redundant
- #include <errno.h> and declaration of `errno'.
- [...] (dup2): Fixed so it won't always lose.
-
- * default.c (default_suffix_rules: .texinfo.dvi): Copy, rather than
- move, the aux and index files, so the TeX run can use them.
-
- * compatMakefile: Remove redundant comment.
-
- * load.c [generic Unix LDAV_BASED]: Include <a.out.h> instead of
- <nlist.h>, since the `struct nlist' declaration in <nlist.h> varies
- more than the one in <a.out.h>.
- (load_average): Use the `n_un.n_name' field of the `struct nlist',
- since the <a.out.h> declaration uses the union.
-
- * main.c (main): For the temporary files made for stdin makefiles, set
- the `intermediate' and `dontcare' flags.
- * file.c (remove_intermediates): Don't print any messages for files
- whose `dontcare' flag is set. (The only files that will be
- intermediate and `dontcare' will be the temporary files made for stdin
- makefiles.)
-
- * job.c (exec_command): Made global.
- * job.h: Declare it.
- * main.c (main): Use exec_command when re-execing.
-
- * make.h: Declare environ.
- * make.c: Don't.
-
- * job.c (child_execute_job): New function to perform everything done in
- the child side of a fork (for a job or `shell' function).
- (start_job): Call it.
- * job.h: Declare construct_command_argv and child_execute_job.
- * function.c (expand_function: `shell'): Use child_execute_job.
-
-Thu Aug 31 18:42:51 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU)
-
- * function.c (expand_function: `shell'): Remove a trailing newline
- instead of turning it into a space.
-
- * main.c (main): Do init_siglist #ifdef HAVE_SIGLIST.
-
- * job.c [WTERMSIG || (USG && !HAVE_SYS_WAIT)]: Test each W* macro
- separately and define all those that aren't defined.
-
-Sat Aug 26 15:13:21 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * ar.c (ar_name): Return zero for `(foo)'.
-
- * Version 3.55.
-
- * make.texinfo (Rules: Multiple Targets): Make this node's `next'
- pointer point to `Static Pattern'.
- * make.texinfo (Makefiles: MAKEFILES Variable): Make this node's `prev'
- pointer point to `Makefile Names'.
-
- * make.1: Renamed to make.man.
- * compatMakefile: Define `mandir' and `manext'.
- (install): Depend on $(mandir)/make.$(manext).
- ($(mandir)/make.$(manext)): Depend on make.man and copy it to $@.
- ($(bindir)/make): Use `make' rather than $<; so Unix make can grok it.
-
-Thu Aug 24 03:35:48 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * variable.c (target_environment): Allow variables that start with
- underscores.
-
-Wed Aug 23 22:50:32 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * variable.c (target_environment): Reject variables that don't start
- with letters.
-
-Tue Aug 22 04:14:29 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * GNUmakefile (make-$(version).tar.Z): Put make.1 (the Unix manual
- page) in the tar file.
-
- * variable.c (target_environment): Don't write variables with origin
- o_default (i.e., ones from default.c).
- * make.texinfo (Commands: Recursion: Variables/Recursion): Document
- that default variables are not put in the environment.
-
- * remake.c (update_file_1): Remake all targets with commands but no
- deps.
-
-Sat Aug 19 06:03:16 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * remake.c (update_file_1): In the final loop, set the deps'
- `changed' members if they are newer than FILE.
-
- * remake.c (update_goal_chain): Under -d, print a message if we decide
- not to remake a makefile so as to avoid a possible infinite loop.
-
-Fri Aug 18 20:30:14 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * remake.c (remake_file): Cleaned up.
-
- * commands.c (execute_file_commands): If the commands are empty, set
- FILE->update_status to zero before returning.
-
- * remake.c (notice_finished_file): Set `last_mtime' fields to zero
- instead of calling name_mtime; file_mtime will do that later if anybody
- cares.
-
-Thu Aug 17 10:01:11 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * make.texinfo (Rules: Wildcards: Wildcard Examples): Give this node a
- `prev' pointer.
-
- * Version 3.54.9 (alpha).
-
- * make.texinfo: Fixed some @nodes.
-
- * remake.c (check_dep): Don't set *MUST_MAKE_PTR if FILE doesn't exist
- after running update_file.
-
- * remake.c (notice_finished_file): If FILE has no commands, pretend its
- modtime is now.
-
- * remake.c (update_file_1): In the loops that call update_file on the
- deps, compare modtimes before and after (unless deps are still being
- made) and set the deps' `changed' members. Do not set the `changed'
- members in the loop that prints the newer/older debugging messages.
- * remake.c (update_file_1): If no deps changed and FILE has no
- commands, decide it doesn't need remaking.
-
- * remake.c (update_file_1): Print a debugging message if we take
- commands from default_file.
-
- * make.texinfo (Rules: Directory Search: Selective Search): Removed
- note about warning for `vpath' with a constant pathname, since it isn't
- warned about anymore.
-
- * remake.c (update_goal_chain): If MAKEFILES, remove makefiles which
- are targets and have no deps.
- * make.texinfo (Makefiles: Remaking Makefiles): Document that makefiles
- will not be remade if they are targets but have no dependencies.
-
-Tue Aug 15 00:00:08 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu)
-
- * remake.c (notice_finished_file): Increment files_remade for non-phony
- files if they didn't exist before (even if they still don't).
-
- * job.c: Include <errno.h> and declare errno.
-
- * job.c (exec_command): If the execve fails with ENOEXEC (Exec format
- error), return instead of exiting the child process.
-
- * job.c (start_job): In the child side, if exec_command fails, try
- using the shell.
-
- * job.c (start_job): In the child side, call unblock_children instead
- of sigsetmask.
-
- * remake.c (notice_finished_file): Under -n or -q, always increment
- files_remade for non-phony files.
-
- * rule.c (intall_pattern_rule): Use find_percent.
-
- * vpath.c (vpath_search): Pass the `percent' members to
- pattern_matches.
-
-Mon Aug 14 23:30:24 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu)
-
- * vpath.c (struct vpath): New member `percent', to hold a pointer into
- the pattern where the % is.
- (construct_vpath_list): Call find_percent on the pattern and set the
- new `percent' member.
- * read.c (read_makefile): Don't run find_percent on `vpath' directive
- patterns.
-
- * function.c (pattern_matches): Take new arg PERCENT, a pointer into
- PATTERN where the % is. If PERCENT is nil, copy PATTERN into local
- space and run find_percent on it.
- (expand_function: `filter', `filter-out'): Pass new arg to
- pattern_matches.
- * read.c (record_files): Pass PATTERN_PERCENT to pattern_matches for
- static pattern rules. Save the percent pointer into implicit rule
- targets, and pass them to create_pattern_rule.
- * rule.c (convert_to_pattern): Pass new arg to create_pattern_rule.
- (create_pattern_rule): Take new arg TARGET_PERCENTS, nil or an array of
- pointers into the corresponding elements of TARGETS, where the %s are.
-
-Sun Aug 13 00:29:19 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * Version 3.54.8.
-
- * README.templatate, README-doc.template: New files, turned into README
- and README-doc to go into the two distribution tar files.
- * GNUmakefile: Added a rule to edit the version number in
- README.template and README-doc.template, producing README and
- README-doc.
-
- * remake.c (update_goal_chain): If -n or -q is in effect for a
- makefile, and it got updated, don't change STATUS, so we can still
- return -1 (meaning nothing was done). This avoids an infinite loop on
- "make -n Makefile".
-
-Sat Aug 12 23:14:24 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * remake.c (notice_finished_file): Treat -q the same as -n.
-
- * remake.c (update_goal_chain): Fixed handling of return from
- update_file. If -n or -q is in effect, ignore it.
-
- * job.c (start_job): Don't test for -t. We should never get called in
- that case.
-
-Fri Aug 11 04:09:14 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * function.c (expand_function): Removed unused variables.
- (handle_function): Removed unused variable.
-
- * main.c (main): Removed unused variable.
-
-Wed Aug 9 09:37:10 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * Version 3.54.7.
-
- * remake.c (notice_finished_file): If FILE's modtime actually changed,
- increment files_remade.
- (remake_file): Don't increment files_remade.
-
- * remake.c (update_file): Don't print "up to date" messages for
- phony files.
-
- * job.c (child_handler): Don't set C->file->update_status to 1 if
- start_job returns nonzero under -n or -t.
-
- * expand.c (variable_expand): Count parens in $(foo:a=b) refs.
-
- * main.c: Removed old declaration of `glob_tilde' (which hasn't existed
- for a few months).
-
-Tue Aug 8 23:53:43 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * job.c (exec_command): Fixed to not ignore the last path component and
- to do the right thing with an empty path.
-
-Fri Aug 4 15:58:19 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * remake.c (library_file_mtime): Look for libLIB.a, not /libLIB.a.
- Do VPATH search on libLIB.a, not /usr/lib/libLIB.a
-
-Thu Aug 3 20:42:00 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * job.c [HAVE_SYS_WAIT or not USG]: If WIFSIGNALED is not defined by
- <sys/wait.h>, define it as (WTERMSIG != 0).
-
-Tue Aug 1 19:25:34 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * remake.c (remake_file): If FILE has no commands and is a target,
- don't set its time to now. The time gets reset by notice_finished_file
- anyway, and it isn't needed since check_dep checks for nonexistence.
-
- * Version 3.54.6.
-
- * read.c (read_makefile): Don't read off the end of the string after an
- `include'.
-
- * job.c (exec_command): New function to search the path for a file and
- execute it.
- (start_job): Use exec_command rather than execvp.
-
- * read.c (read_makefile): Expand `include' directive args before
- parsing them. Allow trailing whitespace after filename.
-
- * variable.c (target_environment): Put makelevel + 1, rather than
- makelevel, in the `MAKELEVEL' envariable.
-
-Sat Jul 29 10:27:04 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * remake.c (notice_finished_file): Don't get the new modtime of phony
- files.
-
- * remake.c (remake_file): Run commands instead of touching under -t if
- FILE->cmds->any_recurse is set.
-
- * commands.h (struct commands): Add new member `any_recurse', to be set
- nonzero if any `lines_recurse' element is nonzero.
- * commands.c (chop_commands): Set the `any_recurse' member.
-
- * commands.c (execute_file_commands): Split chopping of commands into
- lines into new function chop_commands.
- * commands.h: Declare chop_commands.
-
- * read.c (read_makefile): Test for a line beginning with a tab after
- checking for conditional lines, but before all other checks.
-
-Fri Jul 28 18:10:29 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * read.c (read_makefile): Match directives against collapsed line
- and use that for their args.
-
- * read.c (read_makefile): Warn about extra text after `include'.
-
-Tue Jul 25 14:34:25 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * make.texinfo (Rules: Directory Search: Selective Search): Fixed
- example to use correct `vpath' syntax.
-
-Mon Jul 24 12:10:58 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * Version 3.54.5.
-
- * job.c (start_job): In the child side, unblock SIGCHLD.
-
-Fri Jul 21 18:25:59 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * make.h: Don't include <sys/types.h> #ifdef sun.
-
-Mon Jul 17 14:29:10 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * implicit.c (pattern_search): If ar_name (FILENAME), don't check for
- directory names.
-
- * job.c (wait_for_children): Changed "waiting for children" message to
- "waiting for unfinished jobs".
-
-Fri Jul 14 13:17:13 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * load.c (load_average): Use an unsigned offset into kmem.
-
-Thu Jul 13 18:44:49 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * variable.c (pop_variable_scope): Don't free the head of the chain of
- variables in each bucket twice.
-
-Tue Jul 11 06:45:24 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * GNUmakefile: Include COPYING in the doc tar file.
-
- * variable.c, read.c, misc.c, job.c, function.c: Replace some identical
- "for" loops with next_token or end_of_token calls.
-
-Mon Jul 10 16:55:08 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * Version 3.54.4.
-
- * compatMakefile: Documented new conditionals.
-
- * job.c: Don't define sys_siglist if HAVE_SIGLIST is defined.
- Don't define dup2 if HAVE_DUP2 is defined.
-
- * job.c (child_handler): Interpret the return from start_job correctly.
-
- * remake.c (update_file_1): Don't write "target not remade because of
- errors" message under -n or -q.
-
- * read.c: Declare getpwnam.
-
- * glob.c: Use <dirent.h> if DIRENT is defined.
- [USG]: Don't declare memcpy, since <memory.h> does.
-
-Fri Jul 7 20:53:13 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * misc.c (collapse_line): Copy the line over in the right place.
-
-Fri Jul 7 18:33:24 1989 Roland McGrath (fsf at void.ai.mit.edu)
-
- * remake.c: Conditionalize inclusion of <sys/file.h> on not
- USG, since HP-UX defines a `struct file' there.
-
-Fri Jul 7 12:11:30 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * job.c: If WTERMSIG is defined by <sys/wait.h>, define WAIT_T as int,
- and don't define other macros; this covers HP-UX.
- If WTERMSIG is not defined, use int or union wait based on USG and
- HAVE_SYS_WAIT; this covers BSD and SysV.
-
- * Version 3.54.3 (alpha).
-
- * job.c [USG and not USGr3]: Include <errno.h> and declare errno.
-
- * job.c (unblock_children [USG]): Declare child_handler.
-
- * job.c: Renamed WRETCODE to WEXITSTATUS.
- [HAVE_SYS_WAIT or not USG]: Undefine WTERMSIG, WCOREDUMP, and
- WEXITSTATUS before defining them. The HP-UX <sys/wait.h> defines them.
-
- * main.c (main): If there are no goals, fatal AFTER printing the data
- base under -p.
-
-Thu Jul 6 22:43:33 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu)
-
- * glob.c [USG]: #define rindex as strrchr.
-
- * job.c [USG]: Include <sys/param.h> and #define getdtablesize() as
- NOFILE.
-
-Wed Jul 5 09:36:00 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * Version 3.54.2 (alpha).
-
- * expand.c (variable_expand): When expanding recursive variable
- references (${${a}}), use the correct delimiters in the constructed
- variable reference.
-
-Mon Jul 3 18:29:26 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu)
-
- * compatMakefile: Clear out and redefine the .SUFFIXES list because
- silly Sun 4 make defines .cps.h.
-
- * compatMakefile: Fix comment about -DNO_MINUS_C_MINUS_O.
-
- * remake.c: Include <sys/file.h> for O_* on 4.2.
-
- * commands.c: Define sigmask if it's not defined.
-
-Fri Jun 30 07:33:08 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu)
-
- * remake.c (remake_file): Don't always increment files_remade.
-
- * variable.c (push_new_variable_scope): Zero the new variable hash
- table.
-
-Thu Jun 29 17:14:32 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * expand.c (variable_expand): When terminating the variable expansion
- buffer, use variable_buffer_output instead of a simply zero store,
- because the buffer may need to be enlarged.
-
-Wed Jun 28 16:53:47 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * Version 3.54.
-
- * default.c (default_suffixes): Added `.ln'.
- (default_suffix_rules): Changed lint rules to use -C.
-
-Thu Jun 22 20:49:35 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * job.c (start_job): Set `environ' to CHILD->environment before execing
- in the child process!
-
-Tue Jun 20 17:23:13 1989 Roland McGrath (roland at spiff.ai.mit.edu)
-
- * compatMakefile: Put job.h and rule.h in `srcs'.
-
- * Version 3.53.
-
-Mon Jun 19 16:25:18 1989 Roland McGrath (roland at spiff.ai.mit.edu)
-
- * job.c (start_job): If there are no more commands, return nonzero
- under -n or -t.
-
- * compatMakefile (make): Pass `-f' to mv.
-
- * GNUmakefile: If `ARCH' or `machine' is defined, make $(ARCH)/*.o and
- $(ARCH)/make instead of *.o and make.
-
- * function.c (string_glob): Don't try to use freed storage!
-
- * read.c (readline): If there is only one byte of space in the buffer,
- enlarge the buffer before reading more.
-
- * arscan.c [M_XENIX]: Miscellaneous minor changes for Xenix.
-
-Sun Jun 18 13:07:45 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * GNUmakefile (depend): Split commands into two lines so they won't be
- so long when variable-expanded.
-
- * compatMakefile: Documented MINUS_C_MINUS_O meaning. The line
- describing it got removed when the USG/wait stuff was documented.
-
-Sat Jun 17 22:56:54 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * Version 3.52.
-
-Mon Jun 12 17:45:11 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * remake.c (check_dep): Drop circular dependencies instead of fataling.
- (update_file_1 already does this.)
-
- * default.c (default_suffix_rules): For .s -> .o, put the -o flag to
- the assembler before the source file name.
-
-Sun Jun 11 12:00:52 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * Version 3.51.
-
- * make.texinfo (Features): Noted 1003.2 requirement of `+' meaning.
-
- * file.c (remove_intermediates): If !SIG, write a single "rm" command
- line, listing all files.
-
- * read.c (read_makefile): Don't free the storage for the passed
- filename, since it might not be malloc'd. When doing an included
- makefile, free the name's storage.
- (read_all_makefiles): Use variable_expand to find the value of
- `MAKEFILES'. Free the storage for the names of -f makefiles.
- (read_makefile): Allocate storage for the makefile name in the
- `struct file' in read_makefiles.
-
- * make.texinfo (Running: Instead of Execution): Document the effect of
- + and $(MAKE)/${MAKE}.
-
- * make.texinfo (Functions: Foreach Function): Document that if the
- iteration variable was undefined before the `foreach' call, it will be
- undefined after the call.
-
- * commands.c: Split into commands.c, job.h, and job.c.
-
- * rule.c (try_implicit_rule, pattern_search): Moved to new file
- implicit.c.
-
- * rule.c: Split into rule.h, rule.c, and default.c.
- * default.c (install_default_pattern_rules): Renamed to
- install_default_implicit_rules.
- * make.h, main.c (main): Renamed uses.
-
- * make.c: Renamed to misc.c.
-
- * make.c (main, log_working_directory, decode_switches,
- decode_env_switches, define_makeflags, die, print_version,
- print_data_base): Moved to new file main.c.
-
- * commands.c (execute_file_commands): Don't collapse backslash-newlines
- here. When chopping the commands up into lines, don't chop at
- backslash-newlines.
- (start_job): Collapse backslash-newlines after printing the line.
-
- * commands.c (start_job): Don't collapse backslash-newlines here.
- (execute_file_commands): Collapse backslash-newlines before chopping
- the commands up into lines.
-
- * commands.c (set_file_variables): Initialize the length counters for
- $^ and $? to zero!
-
- * commands.c (start_job): Use vfork instead of fork. Someone else says
- the child and parent DO have separate file descriptors.
-
- * variable.c: Split internals into variable.c, function expansion into
- function.c, and variable expansion into expand.c.
- * function.c (handle_function): New function to check for a function
- invocation and expand it.
- * expand.c (variable_expand): Use handle_function.
- * variable.c (push_new_variable_scope): New function to push a new
- empty variable set onto the current setlist.
- (pop_variable_scope): New function to pop the topmost set from the
- current setlist and free its storage.
- * function.c (expand_function: `foreach'): Push a new variable scope
- for the iteration variable and pop the scope when finished.
- * variable.h: Declare new functions.
- * variable.c (initialize_variable_output): New function to return a
- pointer to the beginning of the output buffer.
- (save_variable_output): New function to save the variable output state.
- (restore_variable_output): New function to restore it.
- * expand.c (variable_expand): Use initialize_variable_output.
- (allocated_variable_expand): Use {save,restore}_variable_output.
- * variable.c (current_setlist): Renamed to current_variable_set_list
- and made global.
-
-Sat Jun 10 00:11:25 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * remake.c (library_file_mtime): Check for libNAME.a in the current
- directory before doing VPATH search.
-
- * variable.c (print_variable_set): Don't write "# Variables", and write
- fewer blank lines.
- (print_variable_data_base): Precede the variables with "# Variables".
-
- * make.c (main): Print the data base under -p after doing everything
- else, just before exitting. This way it gets info determined in
- updating the goal targets.
-
- * variable.c (print_variable_data_base): Split into print_variable,
- which prints one variable, and print_variable_set, which prints a set.
- Replaced with a call to print_variable_set for the global set.
- (print_file_variables): New function to print a given file's local
- variables.
-
- * file.c (print_file_data_base): Call print_file_variables to print
- each file's local variables.
-
- * commands.c (set_file_variables): Actually define the values for
- the $^ and $? variables!!!
-
- * make.texinfo (Implicit: Pattern Rules: Automatic): Document new D and
- F versions of $^ and $?.
-
- * commands.c (start_job): In the child fork, use getdtablesize and a
- loop to close all file descriptors other than 0, 1, and 2. We need to
- do this since not only the bad stdin pipe, but also some directories,
- may be open.
-
- * commands.c (start_job): Use fork instead of vfork, because a vfork
- parent and child share file descriptors, and our child needs to diddle
- with stdin.
-
- * variable.c (initialize_file_variables): When created a new variable
- set, zero out the hash table.
-
- * variable.c (target_environment): Don't use variables whose names are
- not made up of alphanumerics and underscores.
-
- * remake.c (update_file_1): Set the `parent' member of each dependency
- to FILE before updating it.
-
- * file.h (struct file): Add `parent' member.
-
- * variable.c (initialize_file_variables): Don't take second arg PARENT.
- Use FILE->parent instead. If FILE->parent->variables is nil, recurse
- to initialize it.
-
- * variable.h: Declare {allocated_}variable_expand_for_file.
-
- * variable.c (allocated_variable_expand): Now
- allocated_variable_expand_for_file, calling variable_expand_for_file,
- and taking second arg FILE.
- (allocated_variable_expand): New function, a wrapper around
- allocated_variable_expand_for_file, passing a nil second arg.
-
-Fri Jun 9 12:11:45 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * commands.c (start_job): On the child side of the fork, always close
- the bad stdin file descriptor.
-
- * commands.c (struct child): New member `environment', to hold the
- environment for the child.
- (execute_file_commands): Set the new childs `environment' member to nil
- before calling start_job.
- (start_job): Set up CHILD->environment before running the commands if
- it is nil.
-
- * make.c (main): Don't call new_environ. `shell' functions will now be
- run with the environment make was called with.
-
- * commands.c (child_handler): Don't check C->command_ptr before calling
- start_job since we now have to check C->file->cmds->command_lines and
- it's easier to let start_job handle all that.
-
- * commands.c (struct child): New member `command_line', to hold an
- index into file->cmds->command_lines.
- (execute_file_commands): Set the new child's `command_line' to 0 and
- its `commands' and `commands_ptr' to nil.
- (start_job): When CHILD->command_ptr runs out, increment
- CHILD->command_line and run the corresponding line from
- CHILD->file->cmds->command_lines. Run it even under -t, -q, or -n if
- the CHILD->file->cmds->lines_recurse element for that line is set.
-
- * commands.c (execute_file_commands): Chop CMDS up into lines, setting
- its `command_lines' and `lines_recurse' members, if it wasn't already
- chopped.
-
- * commands.h (struct commands): New members `command_lines' and
- `lines_recurse'. The first is an array of chopped-up lines; the second
- is an array of flags, each nonzero if the corresponding line is
- recursive.
-
- * variable.c (variable_expand_for_file): If FILE is nil, just do a
- vanilla variable_expand.
- (expand_function: `shell'): Pass second arg (as nil) to
- construct_command_argv.
-
- * commands.c (construct_command_argv): Use variable_expand_for_file on
- `$(SHELL)' and `$(IFS)' instead of lookup_variable to check those
- variables. This handles file-local and recursive values correctly.
- To support this, take an additional argument FILE.
-
- * variable.c (initialize_file_variables): New function to initialize
- FILE's variable set list from PARENT's setlist. PARENT is the
- immediate dependent that caused FILE to be remade, or nil if FILE is a
- goal. (When user-level per-file variables are implemented, PARENT
- should be passed as nil when defining per-file variables.)
-
- * variable.c (variable_expand_for_file): New function to expand a line
- using the variable set of a given file, and reporting error messages
- for the file and line number of that file's commands.
-
- * variable.h: Don't declare lookup_variable_for_file.
-
- * variable.c (lookup_variable_*): Turned back into lookup_variable. It
- now uses current_setlist.
- (global_setlist): New static `struct variable_set_list', a setlist
- containing global_variable_set.
- (current_setlist): New static `struct variable_set_list *', a pointer
- to the current variable set list.
- (define_variable): Define in the current top-level set, not the global
- set.
-
- * commands.c (set_file_variables): New function to set up the automatic
- variables for a file in its own variable set.
- (execute_file_commands): Use set_file_variables.
-
- * variable.c (new_environ): Replaced with target_environment, taking an
- argument FILE, and returning an environment for FILE's commands.
-
- * variable.c, variable.h: Remove all global special variable pointers.
-
- * variable.c (define_variable_for_file): New function like
- define_variable, but takes additional arg FILE, and defines the
- variable in the variable set at the top of FILE's chain.
- (lookup_variable_for_file): New function like lookup_variable, but
- takes additional arg FILE, and looks the variable up in all of FILE's
- variable sets.
-
- * file.h (struct file): New member `variables', a `struct
- variable_set_list' containing the list of variable sets used in the
- expansion of the file's commands.
-
- * variable.c (variables): Replaced with static `struct variable_set'
- global_variable_set.
- (define_variable): Now define_variable_in_set, taking additional
- argument SET, the `struct variable_set' to define it in.
- (define_variable): Use define_variable_in_set with global_variable_set.
- (lookup_variable): Now lookup_variable_in_set, taking additional
- argument SET, the `struct variable_set' to look it up in.
- (lookup_variable): Use lookup_variable_in_set with global_variable_set.
- (lookup_variable_in_setlist): New function to look up a variable in a
- `struct variable_set_list' using lookup_variable_in_set.
-
- * variable.h (struct variable_set): New structure, containing a hash
- table and the number of hash buckets.
- (struct variable_set_list): New structure, containing a link for a
- linked-list, and a `struct variable_set'.
-
- * commands.c (start_job): Under -n, return what the recursive start_job
- call returns, since it might actually start a child.
-
- * make.texinfo (Rules: Wildcards): Document ~ and ~USER expansion.
-
- * commands.c (execute_file_commands): If start_job returns
- failure, but -t is set, set FILE->update_status to success.
- (start_job): If -t is set, and the commands are not recursive, return
- failure (is is done for -q).
-
- * remake.c (touch_file): New function to touch FILE.
- (remake_file): Use touch_file. When touching a file, still do
- execute_file_commands.
-
- * remake.c (remake_file): Don't check question_flag (-q), since we
- can't know here if the commands are recursive.
-
- * commands.c (start_job): Don't use the `recursive' member of
- CHILD->file->cmds. Instead, check for leading +s and $(MAKE) or
- ${MAKE} in the command line here.
-
- * commands.h (struct commands): Remove `recursive' member.
-
- * rule.c (install_default_pattern_rules): Remove use of `recursive'
- member.
-
- * read.c (record_files): Don't check commands from $(MAKE) and set
- their `recursive' member.
-
- * commands.c (fatal_error_signal): Treat SIGQUIT like SIGINT, SIGHUP,
- and SIGTERM, but don't send it to ourselves because it will cause a
- core dump.
-
-Thu Jun 8 20:30:04 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.50.
-
- * variable.c (variable_expand): Use allocated_variable_expand instead
- of expand_argument in a few places.
-
- * variable.c (allocated_variable_expand): Do static variable shuffling
- here instead of using expand_argument.
- (expand_argument): Use allocated_variable_expand.
-
- * variable.c (recursively_expand): New function to recursively expand
- its argument (a `struct variable'), returning the malloc'd value.
- (variable_expand): Use recursively_expand.
-
-Sun May 28 12:49:27 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * make.c (main): Fixed buggy fix in deciding to increase space for
- command-line variable definitions. (First it never did it, then it
- always did it; now it does it when necessary.)
-
-Sat May 27 14:01:54 1989 Roland McGrath (mcgrath at hecuba.Berkeley.EDU)
-
- * make.c (main): Fixed bug in deciding to increase space for
- command-line variable definitions.
-
-Fri May 26 15:48:01 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * read.c (multi_glob): Use allocated_expand_variable for checking
- `HOME' variable for ~ expansion, since this may be called from inside a
- `wildcard' function expansion.
-
- * variable.h: Declare allocated_expand_variable.
-
- * variable.c (allocated_expand_variable): New function to do variable
- expansion in an allocated buffer, rather than the static one.
-
- * make.c (main): Don't set glob_tilde (it no longer exists).
-
- * variable.c (string_glob): Use multi_glob and parse_file_seq.
-
- * read.c (multi_glob): Do ~ expansion here.
-
- * glob.c (glob_tilde, glob_filename): Removed ~ expansion.
-
- * variable.c (define_variable, lookup_variable): Use a smarter hashing
- algorithm (the same one used for files and directories).
- (VARIABLE_BUCKETS): Increased to 523.
-
- * file.c (enter_file, lookup_file, rename_file): Use a smarter hashing
- algorithm, spreading the bits about somewhat.
-
- * make.c (log_working_directory): Under `-p', precede the directory
- message with a `#'.
-
- * make.c (print_version): Under `-p', precede each line with a `#'.
- (print_data_base): Precede the header line with a `#' and include the
- date and time on it.
-
- * vpath.c (print_vpath_data_base): Precede non-directive
- lines with `#'s.
-
- * commands.c (print_commands): Precede the non-command line with a `#'.
-
- * rule.c (print_rule_data_base), file.c (print_file_data_base): Precede
- non-rule lines with `#'s.
-
- * dir.c (print_dir_data_base): Precede all lines with `#'s.
-
- * variable.c (print_variable_data_base): Changed format so that it can
- be makefile input. Lines that are not variable definitions are
- preceded with `#'. Nonrecursive variable definitions are made with all
- dollar signs doubled to reproduce the initial value. Recursive
- variable definitions containing newlines are done with `define'
- directives. Nonrecursive variable definitions containing newlines, and
- variable names containing :, =, or newlines, will come out garbled.
-
-Wed May 24 00:20:04 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.49.
-
-Tue May 23 19:18:00 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * variable.c (expand_function: `filter'/`filter-out'): Use
- find_percent instead of pattern_p.
-
- * variable.c (expand_function: `patsubst'): Pass new args (both nil)
- to patsubst_expand.
- (variable_expand): For $(var:pat%=rep%) references, pass new args to
- patsubst_expand so as to avoid find_percent and thus disallow
- quoting the %s.
-
- * read.c (record_files): Pass new args to patsubst_expand.
-
- * variable.c (patsubst_expand): Take two new args: PATTERN_PERCENT
- and REPLACE_PERCENT. Each of these, if non-nil, means that PATTERN
- (or REPLACE) has already been run through find_percent, and
- PATTERN_PERCENT (or REPLACE_PERCENT) is the result.
-
- * make.h: Declare find_percent instead of pattern_p.
-
- * read.c (pattern_p): Changed to find_percent, returning a pointer
- to the %, or nil if there is none.
- (record_files): Take another arg, PATTERN_PERCENT, a pointer to the
- % in PATTERN.
- (read_makefile): Pass PATTERN_PERCENT to record_files.
-
- * make.texinfo (Rules: Static Pattern: Static Usage,
- Rules: Directory Search: Selective Search,
- Functions: Text Functions): Documented that `%' can be quoted.
-
- * variable.c (expand_function: `filter'/`filter-out'): Use pattern_p
- to allow quoted %s in patterns.
-
- * variable.c (patsubst_expand): Use pattern_p on PATTERN and REPLACE
- to allow quoted %s. Quoting backslashes are removed from REPLACE
- even if PATTERN contains no unquoted %.
-
- * read.c (pattern_p): Made global.
- * make.h: Declare pattern_p.
-
- * read.c (pattern_p): New function to search for an unquoted % in a
- string. Backslashes quote %s and backslashes. Quoting backslashes
- are removed from the string by compacting it into itself. Returns
- nonzero if an unquoted % was found, zero if not.
- (record_files): Use pattern_p to check for implicit rules.
- (read_makefile): Use pattern_p to check for static pattern rules.
- Also use it to allow quoted %s in `vpath' patterns; warn about
- `vpath' patterns with no %s.
-
-Mon May 22 16:31:52 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * glob.c (glob_filename): Replace a `1' with the `l' that should
- have been there. This incidentally stops it from dumping core.
-
- * glob.c (glob_filename): If the path is just a directory, with no
- file name pattern, return the directory alone.
-
- * glob.c (glob_tilde): New global variable (int), defaults to zero.
- (glob_filename): If glob_tilde is nonzero, expand ~ or ~USER.
-
- * variable.c (string_glob): Keep a static allocated buffer for file
- names taken from the list, instead of allocating and freeing one
- every time.
-
-Fri May 19 18:06:26 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * make.c (decode_switches): Get floating numbers from the right string.
-
-Sun May 14 13:48:04 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * commands.c (delete_child_targets): When deleting `also_make'
- files, include the target's name in the message:
- make: *** [foo] Deleting file `bar'
-
-Sat May 13 17:34:26 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * make.c (max_load_average, default_load_average): Default to -1.
-
- * load.c (wait_to_start_job): Return if max_load_average is < 0.0,
- not equal.
-
-Fri May 12 16:08:05 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * variable.c (variable_buffer_output): Don't try to do pointer
- arithmetic between objects not in the same array.
-
-Wed May 10 15:55:29 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * rule.c [M_XENIX] (default_suffix_rules, default_variables): Minor
- changes to allow for strange compiler syntax.
-
- * rule.c (default_variables): Don't include "> $@" in
- $(PREPROCESS.S), since it's already in the .S.s rule.
-
- * file.c (enter_file): Make a new double-colon file the `prev'
- member of the bottom `prev' file (the one whose `prev' is nil).
-
- * read.c (do_define): Append newlines after copying the lines into
- the value buffer, so we end up with a trailing newline.
-
- * make.c (print_version): If the global variable
- `remote_description' is not nil or "", append "-%s" (its value) to
- the version number.
- * remote-*.c: Define remote_description appropriately.
-
-Sun May 7 15:15:53 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * commands.c (error_status): Converted to new function child_error,
- taking new arguments TARGET_NAME and IGNORED, and writing an error
- message: "*** [target] Error 1" (or signal #, etc.), appending
- " (ignored)" if IGNORED is nonzero.
- (child_handler): Use child_error instead of error_status.
-
- * compatMakefile (all): Don't depend on `doc'.
-
- * compatMakefile (clean): Don't remove make-info*.
- (realclean): New rule, depends on `clean', removes tags, TAGS,
- and all Info and TeX files.
-
-Thu May 4 17:00:46 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * variable.c (print_variable_data_base), file.c
- (print_file_data_base), rule.c (print_rule_data_base),
- Use floating-point for averages and percentages.
-
- * make.c (print_data_base): Print messages before and after the data
- base information.
-
- * commands.c (print_commands): Changed output format to separate
- lines in commands and prefix them with tabs.
-
- * dir.c (print_dir_data_base): Changed output format slightly.
-
- * vpath.c (struct vpath, construct_vpath_list,
- selective_vpath_search): Remove the `exists' member and its uses.
-
- * vpath.c (print_vpath_data_base): New function to print all
- selective and general VPATH search paths (for -p).
-
- * make.c (print_data_base): Call print_vpath_data_base.
-
- * file.c (print_file_data_base): Changed format to look more like a
- makefile rule. Now reports all information in the `struct file'.
-
- * rule.c (print_rule_data_base): Changed format of display from:
- %: (terminal)
- depends on: RCS/%,v
- to:
- %: RCS/%,v
- is terminal.
- references nonexistent subdirectory.
- Also include number and percent that refer to nonexistent
- subdirectories.
-
-Thu Apr 27 15:45:40 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * make.c (main): Figure out the level of recursion before writing
- the `Entering directory' message.
- * variable.c (define_automatic_variables): Don't figure out the
- level of recursion from `MAKELEVEL'. It's now done in main.
-
- * Version 3.48.
-
-Wed Apr 26 16:39:17 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * commands.c (child_handler): Set `update_status' to zero when there
- are no more commands.
-
- * make.c (log_working_directory): If MAKELEVEL > 0, indicate the
- recurson in the message (make[1]: ...).
-
- * commands.c (child_handler): Change status to `cs_finished' when
- commands fail.
-
- * commands.c (start_job): Return 0 (success) if there were no more
- commands for the child.
- (child_handler): Change the status to `cs_finished' when start_job
- fails to start the commands.
-
- * make.c (main): Don't handle SIGEMT if it's not defined.
- Do handle SIGDANGER if it is defined.
-
- * commands.c (child_handler): Reorganized inner loop so that it
- doesn't try to inspect the child before finding it.
-
-Tue Apr 25 16:28:24 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * make.c (end_of_token): Fixed bug wherein backslashes caused
- immediate return.
-
- * Version 3.47.
-
- * make.texinfo (Implicit: Pattern Rules: Automatic): Document
- setting of `$*' for explicit rules. Add note clarifying that
- automatic variables, though referred to in the documentation as
- `$<', etc. are no different than `$(<)', etc.
-
-Fri Apr 21 18:00:12 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * file.c (enter_file): Don't strip leading `./'s.
-
- * read.c (parse_file_seq): Strip leading `./'s.
-
-Thu Apr 13 17:26:41 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * make.texinfo (Commands: Parallel, Running: Options): Document that
- -l with no argument removes a previous load limit.
-
- * make.c (struct command_switch): New member `default_value'.
- (default_job_slots): Default value (of 1) for -j.
- (default_load_average): Default value (of 0, unlimited) for -l.
- (command_switches): Use default values for -j and -l.
- Also, -l without an arg now means no load limit.
- (define_makeflags): Don't write positive_int or floating options
- whose values are their defaults.
-
- * make.c (main): Under -w, write a `Leaving directory' message
- before re-execing.
-
-Tue Apr 11 16:46:29 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.46.
-
- * Makefile: Provide an easy place for system-specific definitions
- (-DUSG, etc.) and extra object files (for whatever).
-
- * make.texinfo: Miscellaneous fixes from RMS.
-
-Mon Apr 10 19:31:34 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * rule.c (pattern_search): Put rules with `subdir' flags set in
- TRYRULES, since these might be valid with VPATHs. In the TRYRULES
- loop, don't do lookup_file or file_exists_p calls for dependencies
- of rules with `subdir' flags set, but still do vpath_search calls
- and intermediate-file searches.
-
-Thu Apr 6 16:33:00 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * make.texinfo (Implicit: Pattern Rules: Automatic): Document the
- new definition of $* for explicit rules.
-
- * commands.c (execute_file_commands): If FILE->stem is nil, figure
- out if FILE->name ends in a suffix in the .SUFFIXES list; if so,
- store the name sans suffix in FILE->stem (and $*).
-
-Wed Apr 5 15:24:48 1989 Roland McGrath (mcgrath at helen.Berkeley.EDU)
-
- * file.c (remove_intermediates): Don't use `file_exists_p' to check
- for the existence of intermediate files, because the hashed
- directories will probably be out of date.
-
- * commands.c (child_handler): Free the good stdin before running the
- next command line.
-
- * commands.c [USG] (init_siglist): Don't case SIGEMT if it's not
- defined. Do case SIGDANGER (for IBM RT) if it is defined.
-
- * commands.c: Changed `SYS_WAIT' to `HAVE_SYS_WAIT'.
- (child_handler): Use `wait3' if HAVE_SYS_WAIT is #defined.
-
- * file.c (enter_file): If any `./'s are stripped off, allocate a new
- copy of the shortened name.
-
- * rule.c (pattern_search): Allocate the right length strings for
- `also_make' members.
-
-Sat Apr 1 13:28:38 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.45.
-
- * GNUmakefile: Make a separate tarfile of the DVI and info files.
-
- * make.c (define_makeflags): If a switch that takes an argument has
- its default value, put the switch in MAKEFLAGS with no arguments.
-
- * make.c (command_switches): Pass `-l' in MAKEFLAGS.
-
-Wed Mar 29 17:50:05 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * GNUmakefile: Don't include the DVI and info files in the dist.
-
- * commands.c (child_handler): Don't call
- check_changed_{directories,vpaths}.
-
- * make.h: Don't declare check_changed_{directories,vpaths}.
-
- * vpath.c (check_changed_vpaths): Removed this function.
-
- * dir.c (struct directory): Remove `modtime' member.
- (find_directory): Don't set `modtime' member.
- (check_changed_directories): Removed this function.
-
- * remake.c (update_file_1): Set FILE->command_state to cs_finished
- if it didn't need to be remade.
-
- * remake.c (update_file): Only write the "up to date" message if the
- target went from `not_started' state to `finished' state without
- incrementing the count of files remade.
-
- * commands.c [USG] (init_siglist): If both SIGCHLD and SIGCLD are
- defined, don't put them both in the `switch'.
-
-Tue Mar 28 15:37:02 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * file.c (rename_file): Change FILE's name!!!
-
- * rule.c (create_pattern_rule): Set the `terminal' member of the new
- rule after calling new_pattern_rule, which zeros it.
-
- * rule.c (default_variables): Use $(C++) in $(COMPILE.cc)!
-
-Sun Mar 26 15:52:30 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Makefile: Added a `clean' target.
-
-Fri Mar 24 15:08:46 1989 Roland McGrath (mcgrath at helen.Berkeley.EDU)
-
- * Version 3.44.
-
- * file.c (rename_file): If a `struct file' for the renamed-to name
- exists, and it is a target or has deps or commands, barf.
- If not just remove the old one for put in the new one.
-
- * remake.c (update_file_1, check_dep): Changed it back so that equal
- modtimes to NOT make dependencies be considered newer. RCS checks
- out files with equal modtimes as the RCS files, so this screws it.
-
- * make.h, glob.c: If __GNUC__ is defined, use __builtin_alloca.
-
- * Makefile: Use variables `ALLOCA' and `ALLOCASRC' so systems
- without a good standard alloca can get it from the Emacs
- distribution (or somewhere).
-
- * dir.c: Don't include <sys/stat.h>, since make.h does.
-
- * make.c: Removed debugging version of getwd.
-
-Thu Mar 23 16:16:27 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.43.
-
- * remake.c (update_file_1): If a dependency loop is found, don't
- fatal. Emit an error message and remove the dependency.
-
- * remake.c (library_file_mtime): Fixed to use the right names.
- (update_file_1, check_dep): Consider a dependency "newer" than its
- dependent if they have the same modification time.
-
-Wed Mar 22 19:31:35 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * file.c (remove_intermediates): Don't try to remove nonexistent files.
-
-Mon Mar 20 10:21:22 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.42.
-
- * rule.c (default_variables): Set F77 to $(FC) and F77FLAGS to
- $(FFLAGS) so explicit rules expecting these (which are in System V)
- will work. However, there is no way to make setting these affect
- the implicit rules, unless we trash FC and FFLAGS (which BSD uses).
- [USG]: Set GET to `get' rather than `/usr/sccs/get'.
-
-Sun Mar 19 20:00:27 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * vpath.c (construct_vpath_list): Don't replace VPATH[ELEM] with
- dir_name (V), because the latter may get freed.
-
-Sat Mar 18 15:01:39 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.41.
-
- * make.texinfo: Cleaned-up edition 0.1 Beta from RMS and Bob Chassell.
-
- * file.c (rename_file): If a file with the new name already existed,
- use the same storage space, after freeing the old file's name, deps,
- and `also_make' member, preserving the link in the chain.
- Also write an error message telling the user to report the incident;
- I don't think this should be able to happen, but I'm not sure.
-
- * file.c (rename_file): Don't add the hash values of the old and new
- names together! Reset HASHVAL before computing the second value.
-
- * dir.c (check_changed_directories): Zero the new file hash table
- after allocating it.
-
- * dir.c (dir_file_exists_p): If FILENAME is "", return 1 if the
- directory exists.
-
- * vpath.c (check_changed_vpaths): New function to run through the
- search paths of all VPATHs, making the `exists' members correspond
- to reality.
-
- * commands.c (child_handler): Call check_changed_vpaths.
-
- * make.h: Declare check_changed_vpaths.
-
- * vpath.c (struct vpath): New element `exists', an array of char
- flags; exists[N] is nonzero if searchpath[N] exists.
- (construct_vpath_list): Set the `exists' member.
- (selective_vpath_search): Don't search directories whose `exists'
- elements are zero.
-
- * read.c (read_makefile): Set the `dontcare' flag of makefiles
- from the MAKEFILES variable if they were not mentioned anywhere but
- in the MAKEFILES variable.
-
- * read.c (read_makefile): Don't write an error message if fopen
- fails for a makefile from the MAKEFILES variable.
-
- * dir.c (struct directory): Add `modtime' member to record the
- modification time of the directory when it was opened.
- (check_changed_directories): New function to check all known
- directories; if their modtimes have changed since they were opened,
- their file tables are cleared and they are reset to be read in.
-
- * commands.c (child_handler): Call check_changed_directories before
- returning.
- make.h: Declare check_changed_directories.
-
-Tue Mar 14 20:07:13 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.40.
-
- * make.c (print_version): Made the copyright say 1988, 1989.
-
- * read.c (read_all_makefiles): Don't set *MAKEFILES to the name of
- the end of the read_makefiles chain, since the latter may be from an
- included makefile. (Why did I do this before?)
-
- * make.c (main): Set argv[0] to "" if it was nil. Don't put the
- command-line variable definitions into argv[0], only into the MAKE
- variable!
-
-Sun Mar 5 20:44:08 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * ar.c (ar_member_date, ar_touch): Remove the trailing ) from the
- member name.
-
-Fri Mar 3 18:15:15 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * commands.c (construct_command_argv): Initialize NEW_ARGV to 0. At
- `slow' label, if NEW_ARGV is not 0, free it; then allocate 4 strings.
-
-Tue Feb 28 14:29:39 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.39.
-
- * COPYING, make.texinfo: New GNU General Public License, version 1.
-
- * *.c, *.h, Makefile: New copyright notices for the new GNU General
- Public License, version 1.
-
- * commands.c [USG]: Define WRETCODE correctly (again).
-
- * variable.c (expand_function: `shell'): Don't capture the standard
- error output of the shell command.
-
- * ar.c (ar_touch, ar_member_date): Allocate MEMNAME with the right
- length.
-
- * load.c [not UMAX] (load_average): Don't clobber the first nlist
- member when trying to set the second!
-
-Thu Feb 23 13:13:53 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * commands.c (child_handler): Really ignore errors under -i and for
- - lines, don't just print a different message.
-
- * make.c (decode_switches): Fixed handling of arguments (or lack
- thereof) to switches.
-
-Wed Feb 22 16:25:39 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * commands.c (construct_command_argv): Don't clobber LINE when
- checking the IFS variable.
-
-Sun Feb 19 11:17:07 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * load.c [UMAX, not NO_LDAV] (load_average): Return 0.0 rather than
- randomness when calls fail.
-
- * Version 3.38.
-
- * commands.c (fatal_error_signal): If handling a user kill signal
- (TERM, INT, HUP), wait for the children without printing the
- "Waiting for children" message, since they will die quickly.
-
- * Version 3.37.
-
- * remote-stub.c (remote_status): Take another arg, BLOCK. If this
- is nonzero block waiting for remote children. If not, return 0 if
- we would have to block.
-
- * commands.c (child_handler) [not USG]: If called as a signal
- handler, use wait3 and don't block.
- [USG]: If called as a signal handler, return after handling one child.
-
-Sat Feb 18 13:37:04 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * file.c (snap_deps): Process all double-colon entries of each file,
- not just the first one.
-
- * Version 3.36.
-
- * remote-stub.c: remote.c renamed.
- remote.c: Just include remote-stub.c
-
- * commands.c (child_handler): If we were called as a signal handler,
- return after handling one child.
-
- * commands.c [not USG]: Include <signal.h> and define `sigmask' if
- <signal.h> doesn't.
- (block_children, unblock_children): Use sigmask rather than
- bitshifting explicitly (and incorrectly).
-
- * remote.c (remote_kill): New function to send a signal to a
- remote child.
-
- * commands.c (fatal_error_signal): If we get a SIGTERM, send one to
- each living child. If we get a SIGTERM, SIGINT, or SIGHUP, delete
- all pending targets before waiting for children.
- (struct child): Add new member `deleted'.
- (start_job): Initialize `deleted' member to 0.
- (delete_child_targets): New function to delete a given child's
- targets, unless the `deleted' flag in the `struct child' says they
- have already been deleted. Sets this flag before returning.
-
-Thu Feb 16 18:32:07 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * commands.c [USG]: Define `WRETCODE' correctly (X & 0xff00).
-
-Tue Feb 14 16:05:00 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * commands.c (construct_command_argv): Don't make the 0th element of
- the argument list be "sh" when executing /bin/sh, because start_job
- uses the 0th element as the program name.
-
-Sun Feb 12 17:42:05 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.35.
-
- * read.c (readline): Put a null in the beginning of the buffer
- before starting the reading loop.
-
- * read.c (read_makefile): Made main reading loop while
- !feof (infile), and removed EOF check after calling readline.
-
-Sun Feb 5 19:52:38 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * remote.c (block_remote_children, unblock_remote_children): New
- (stub) functions to block and restore asynchronous notification of
- remote child death.
-
- * commands.c (block_children): Call block_remote_children.
- (unblock_children): Call unblock_remote_children.
- (child_handler): If called as a signal handler, block remote
- children on entry and unblock them before returning.
-
- * commands.c (child_handler): For unknown children, if they are
- remote, give their remote ID; if local, give their PID and make's.
-
- * commands.c (execute_file_command): Don't put a new child in the
- chain unless start_job succeeds. Block children before calling
- start_job, and unblock them after putting the child in the chain and
- incrementing `job_slots_used' (if start_job succeeded).
-
- * commands.c (block_children, unblock_children): Make these globally
- visible (not `static').
- commands.h: Declare block_children and unblock_children.
-
- * variable.c (expand_function: `shell'): Use
- `shell_function_completed'. Block children before forking and
- unblock after `shell_function_pid' is set properly and
- `shell_functon_completed' is reset to 0.
-
- * commands.c (child_handler): When the child of the `shell' function
- completes, set `shell_function_completed' to 1 if it actually ran,
- or -1 if it didn't (due to fork or exec failure).
-
- * commands.c (block_children, unblock_children): New functions to
- block and unblock the child termination signal.
- (wait_for_children): Use block_children and unblock_children.
- (execute_file_commands): Block children around the critical section
- wherein a new child is put on the chain.
-
- * make.c (main): Change the environment to contain the correct
- MAKELEVEL before re-execing.
-
-Sat Feb 4 18:28:48 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.34.
-
-Fri Feb 3 16:36:49 1989 Roland McGrath (mcgrath at helen.Berkeley.EDU)
-
- * rule.c (default_variables): Fixed $(LINK.c).
-
-Wed Feb 1 18:05:07 1989 Roland McGrath (mcgrath at pepper.Berkeley.EDU)
-
- * Version 3.33.
-
- * version.c: Removed copyright notice, since this is a one-line file.
-
- * commands.c (error_status): Made it return BUF, rather than running
- off the end (this apparently worked on Sun 3s for some reason).
-
- * ar.c, commands.c, dep.h, load.c, make.c, make.h, read.c, remake.c,
- rule.c, variable.c, Makefile: Changed copyrght notices to cover 1989.
-
-Mon Jan 30 15:51:28 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * Version 3.32.
-
-Fri Jan 27 20:09:24 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * remake.c (remake_file): Don't touch phony targets.
-
- * rule.c (convert_to_pattern): Fixed an incorrect length passed to
- savestring.
-
- * variable.c (expand_function: `shell'): Close the read side of the
- pipe on the parent side of the fork.
-
- * commands.c (start_job): On the child of the fork, close the
- BAD_STDIN fd if we're not using it.
-
- * read.c (record_files): A file beginning with a dot can be a
- default target if it also contains a slash (as in `../foo').
-
- * commands.c (wait_for_children): For BSD, block SIGCHLD rather than
- ignoring it to avoid a race condition when child_handler is returning.
-
- * commands.c (child_handler): Do blocking waits.
- (error_status): Return a string describing exit status. (Split out
- of child_handler).
-
- * read.c (multi_glob): Change VECTOR to VEC for Alliant.
-
-Thu Jan 5 00:06:51 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * Version 3.31.
-
- * make.texinfo (Features): Noted $(foo:PAT=SUB) from SunOS 4.0.
-
- * make.texinfo (Options/Recursion): -d and -p go in the environment.
-
- * load.c: Include "commands.h".
-
-Wed Jan 4 17:49:25 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * make.c (switches): -d and -p can come from the environment and are
- put into it.
-
- * read.c (record_files): Fixed the checking for duplicate deps so it
- doesn't clobber the first one.
-
- * make.texinfo: Documented default implicit rule changes.
-
- * rule.c: Revamped default suffix rules. They now use Sun's style
- of using variables `COMPILE.c', `LINK.c', etc. for each suffix, and
- use `TARGET_ARCH' and `TARGET_MACH' variable where appropriate.
- Also support Modula-2 compilation (suffixes .sym, .def, and .mod).
- Ratfor Yacc support is gone, since nobody has yacc -r.
- All EFL support is gone, since nobody uses EFL.
-
- * ar.c, arscan.c: Don't assume `long int' and `int' are the same.
-
- * commands.c [USG]: Fixed wait status bit encoding.
- [USG and not USGr3] (dup2): Define this for SysVr2.
-
- * make.h, dep.h, make.c [iAPX286]: Make allowances for this
- brain-damaged compiler.
-
- * make.texinfo (Variables: Flavors): Fixed a typo.
-
-Tue Jan 3 18:09:31 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * ar.c (ar_member_date, ar_touch): Truncate member names to 15 chars.
-
- * Version 3.30.
-
- * commands.c [SYS_WAIT]: If this is defined, use BSD <sys/wait.h>
- and wait3 even if USG.
-
- * read.c (record_files): Defining .DEFAULT with no deps or commands
- clears its commands.
-
- * rule.c (default_suffixes): Added `.sh'.
- (default_suffix_rules): Added single-suffix .sh rule, copies source
- to target and makes target executable.
- make.texinfo (Catalogue of Rules): Documented .sh rule and its use
- in conjunction with SCCS.
-
- * rule.c (set_default_suffixes): Define variable `SUFFIXES' to the
- default list ("" under -r).
- make.texinfo (Suffix Rules): Document `SUFFIXES' variable.
-
- * rule.c (default_variables), make.texinfo (Implicit Variables):
- Variable AR defaults to `ar', ARFLAGS to `rv', and RM to `rm -f'.
-
- * rule.c (install_default_pattern_rules): Default variables are made
- recursive.
- (default_variables): Added "CPP", defined to "$(CC) -E".
- (default_suffixes): Added `.S', before `.s'.
- (default_suffix_rules): New rule for .S to .s, runs CPP.
- All rules that use CPP now include "$(CPPFLAGS)".
- make.texinfo (Catalogue of Implicit Rules, Implicit Variables):
- Documented above changes.
-
- * commands.c [USG] (sys_siglist): Don't define.
- [USG] (init_siglist): New function to initialize sys_siglist.
-
- * make.texinfo (Variables: Reference): Documented `$(foo:PAT=SUB)'
- references.
-
- * variable.c (variable_expand): A reference `$(foo:PAT=SUB)' is
- equivalent to `$(patsubst PAT,SUB,$(foo))'.
-
- * variable.c (variable_expand): Free the storage for the expansion
- of a recursive variable when it is nod longer needed.
-
- * variable.c (variable_expand): When checking for `$($(foo))', use
- lindex so as not to search for the second `$' outside the parens.
-
- * make.c (struct stringlist, main, decode_switches): Changed `index'
- member to `idx'.
-
-Sat Dec 24 16:02:32 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * commands.c (wait_for_children [USG]): Handle SIGCLD with SIG_DFL,
- rather than SIG_IGN. Ignoring SIGCLD reportedly makes wait return -1.
-
- * arscan.c [USGr3]: Define PORTAR to 1 (as with sun386).
- (ar_scan [USGr3]): Remove trailing slashes from member names.
-
-Thu Dec 22 17:54:05 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * make.texinfo (Makefiles: Overriding Makefiles): New node
- documenting use of .DEFAULT to have one makefile defer unmakeable
- targets to another.
-
- * make.texinfo (Implicit: Using Implicit, Implicit: Last Resort):
- Mention empty commands and xref node `Empty Commands'.
-
-Wed Dec 21 20:12:40 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * Version 3.29.
-
- * make.c (struct command_switch, command_switches, et al): New
- member `noarg_value', if not nil, ptr to value to use if no arg is
- given to a switch that would otherwise require one. The -j option
- can now be given w/o an arg, to mean infinite jobs.
- * commands.c: If job_slots is zero, infinite jobs.
-
- * read.c (read_all_makefiles, read_makefile): Make makefiles precious.
-
- * make.c (decode_switches): For a positive_int or floating option,
- if we moved to the next argument word, but found no argument for the
- option, move back to the correct word.
-
- * make.c (decode_switches): If we got any unknown options, die after
- processing all arguments.
-
- * GNUmakefile: Moved `include depend' to the end, so the default
- goal will be set before then.
-
- * load.c (wait_to_start_job [Unix, UMAX]): Merged into one version
- under #ifdef LDAV_BASED. Only loop while we have jobs running.
- Sleep for increasing amounts (increase one second per iteration)
- before checking the load average (after the first check).
- Get the load average from function load_average.
- (wait_to_start_job [not LDAV_BASED]): Always return.
- (load_average [UMAX]): Fetch load average for Encore UMAX.
- (load_average [not NO_LDAV]): Fetch load average from /dev/kmem.
- [not NO_LDAV]: Define LDAV_BASED.
-
-Tue Dec 20 18:54:50 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * Version 3.28.
-
- * commands.c (wait_for_children): Take second arg, ERROR. If
- nonzero, and there are children, print a message on stderr.
- (execute_file_commands, fatal_error_signal): Pass second arg.
- * make.c (die), remake.c (update_goal_chain), variable.c
- (expand_function: `shell'): Ditto.
-
-Sat Dec 17 01:05:38 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * commands.c (start_job): Call wait_to_start_job before forking.
-
- * load.c (load_average): Converted to wait_to_start_job.
-
- * remote.c: New file for remote execution functions.
- (start_remote_job_p): Return nonzero if the next job should be run
- remotely.
- (start_remote_job): Start a remote job and return an ID for it.
- (remote_status): Get status of dead remote children.
-
-Fri Dec 16 16:51:07 1988 Roland McGrath (mcgrath at hecuba.Berkeley.EDU)
-
- * commands.c (start_job): If start_remote_job_p () returns nonzero,
- call start_remote_job to start the job rather than fork and exec.
- (child_handler):
-
- * commands.c (execute_file_commands): Moved load average checking to
- start_job.
-
- * commands.c (child_handler: USG): Record the pid wait returns.
-
- * load.c (UMAX): Added some #include's needed for UMAX.
-
- * read.c (multi_glob), variable.c (string_glob): Ignore a (char **)
- -1 return from glob_filename.
-
- * variable.c (variable_expand): Make sure we don't increment past
- the end of the string we were passed.
-
- * variable.c (variable_expand): Terminate the expansion.
-
- * file.c (rename_file): If there is already a file under the new
- name, set its contents equal to FILE's (ick).
-
- * variable.c (define_automatic_variables): Pass all the args to
- define_variable when defining MAKELEVEL!
-
- * commands.c (execute_file_commands): If max_load_average > 0, and
- we have children running, don't start up another child until the
- load average goes below max_load_average.
-
- * make.c: New variable `max_load_average'.
- (struct command_switch, decode_switches, decode_env_switches):
- Handle floating-point (double) args.
- (command_switches): Added `-l' switch to set `max_load_average'.
-
- * load.c (load_average): New file and function to return a double
- that is the current load average (1.00 scale).
- * GNUmakefile, oldMakefile: Pass flags in $(LOAD_AVG) for load.c.
-
-Thu Dec 15 15:22:08 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * Makefile: Renamed to oldMakefile.
- * GNUmakefile: Make Makefile from oldMakefile and depend.
-
- * read.c (read_all_makefiles): When putting the default makefiles in
- the read_makefiles chain so they will be remade, put them in the
- right order.
-
- * remake.c (update_goal_chain): If MAKEFILES is nonzero, always make
- in serial, and return as soon as one goal whose `changed' member is
- nonzero is successfully remade.
-
- * commands.c: Don't include <sys/fcntl.h>.
-
- * commands.c (construct_command_argv): Added ` to sh_chars.
-
- * make.h: Don't declare construct_makeflags.
-
- * make.c (main): Set up MAKEFLAGS and MFLAGS and make an environment
- both before and after reading the makefiles, so the makefiles can
- use them and possible change them, and later children will get the
- right information.
- (construct_makeflags): Replaced with define_makeflags (static void),
- which defines the two variables.
- * variable.c (define_automatic_variables): Don't define MAKEFLAGS
- and MFLAGS.
-
-Mon Dec 12 14:40:31 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU)
-
- * Version 3.27.
-
- * commands.c (child_handler): Reset the handler to ourselves when
- called for USG, since it has no safe signals.
-
- * commands.c: For USG, use an int rather than a `union wait' for
- wait calls, and dissect it with bitmasks.
- (child_handler): No wait3 system call in USG. Since we can't
- protect from hanging, always return immediately if we have no
- children we know about and we're not running a `shell' function.
- (There is still the danger of hanging waiting for a child that died
- without our being notified.)
-
- * remake.c: Include <fcntl.h> instead of <sys/file.h>. What we need
- is really in <fcntl.h>, and while BSD <sys/file.h> includes
- <fcntl.h>, USG doesn't.
-
- * make.c (main): Figure out the program name before doing anything
- which might need it (in a call to error or fatal).
-
- * dir.c, glob.c: Use `struct dirent' and <dirent.h> for USGr3.
-
- * arscan.c (ar_scan): Added missing & before buf (which is an int)
- if SARMAG is not defined (SysV).
-
-Fri Dec 9 18:44:13 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU)
-
- * Version 3.26.
-
- * dir.c (find_directory, dir_file_exists_p): Keep track of how many
- directories we have open and don't let it be more than
- MAX_OPEN_DIRECTORIES (currently 10).
-
- * variable.c (expand_function: `foreach'): Use expand_argument
- rather than variable_expand so each repetition doesn't clobber the
- last!!!
-
-Mon Dec 5 15:58:46 1988 Roland McGrath (mcgrath at hecuba.Berkeley.EDU)
-
- * Version 3.25.
-
- * Makefile: Define `install' target.
-
- * GNUmakefile: Don't include GNUmakefile or depend in the
- distribution file.
-
-Wed Nov 30 15:53:42 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU)
-
- * commands.c (execute_file_commands): Don't clobber a null into
- random storage if there were no $^ and/or $? words.
-
- * remake.c (check_dep): Set *MUST_MAKE_PTR nonzero if a dependency
- doesn't exist.
-
- * ar.c (ar_member_date, ar_touch): Make sure the modtime of the
- archive file itself is known before we fetch or change the modtime
- of one of its members.
-
- * read.c (read_makefile): Expand variable and function references
- before parsing rules so variable can contain special characters
- (colons and semicolons).
-
-Sat Nov 26 11:36:31 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * variable.c (expand_function: `filter', `filter-out'): Fixed so
- that filter-out works right.
-
- * variable.c (expand_function: `filter', `filter-out'): Made these
- functions use each word of their first argument as a pattern.
-
-Fri Nov 25 10:51:47 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.24.
-
- * read.c (record_files): If a target is listed more than once in a
- single rule (that defines commands), give a warning message rather
- than the counter-intuitive message saying commands were already
- defined (in the same place).
-
- * make.c (fatal, error): Made them both take 6 args since there is
- at least one error message that need that many. Too bad vfprintf is
- not universal!
-
- * Version 3.23.
-
- * read.c (read_makefile): Moved the construction of the `struct
- commands' into record_files. Call record_files before recursing for an
- included makefile so the higher-up will determine the default goal.
- (record_files): Take arguments COMMANDS, COMMANDS_IDX and
- COMMANDS_STARTED and construct a `struct commands.
-
-Thu Nov 24 14:36:33 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.22.
-
- * make.c (main): Made it a fatal error if we can't move back to the
- directory we started in before re-execing.
-
- * make.c (main): Get the current directory before doing anything
- else, so we know it even if we don't need it for the value of
- `MAKE', since we might want it when re-execing.
-
-Wed Nov 23 13:34:44 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * Version 3.21.
-
- * read.c (record_files): Eliminate duplicate deps in a chain.
-
- * variable.c (expand_function: `sort'): Pass the right number to
- qsort, not one less.
-
- * remake.c (remake_file): Always call notice_finished_file if
- FILE->command_state == cs_finished.
-
- * commands.c (execute_file_commands): Call notice_finished_file to
- set FILE's status correctly when start_job fails (because it's out
- of commands or running under -n).
-
-Fri Nov 18 15:31:12 1988 Roland McGrath (mcgrath at saffron.Berkeley.EDU)
-
- * Version 3.20.
-
- * remake.c (update_file_1): Set the `update_status' of FILE to
- nonzero and set FILE's `updated' bit if we have decided to give up
- on remaking FILE because of errors in the dependencies.
-
- * rule.c (pattern_search): Debugging messages use `dependency' (vs.
- `dependent') properly.
-
- * make.texinfo (Conditionals: Conditional Syntax): Function index
- entries for `ifndef' and `ifneq'.
-
- * variable.c (define_automatic_variables): Define `MAKELEVEL' to the
- decimal number of the makelevel, since it may be malformed or blank.
-
- * remake.c (remake_file): Call notice_finished_file after touching.
-
-Sat Nov 12 19:29:34 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * Version 3.19.
-
- * GNUmakefile (dist): Pass the `-f' flag to compress.
-
- * vpath.c (build_vpath_lists): Check for VPATHS being nil after
- constructing the general VPATH list from the `VPATH' variable.
-
-Fri Nov 11 08:02:26 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * make.c (fatal, error): Made error messages for recursive runs be
- shorter.
-
-Thu Nov 10 16:51:36 1988 Roland McGrath (mcgrath at basil.Berkeley.EDU)
-
- * Version 3.18.
-
- * read.c (read_makefile): Made it eat leading spaces and formfeeds
- (but not tabs), like it's documented to.
-
- * read.c (read_makefile): Let included makefiles determine the
- default goal, as is done by System V Make.
-
-Tue Nov 1 19:03:08 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * variable.c (new_environ): Don't increment VCNT when a variable is
- rejected.
-
-Fri Oct 28 16:54:15 1988 Roland McGrath (mcgrath at basil.Berkeley.EDU)
-
- * Version 3.17.
-
- * rule.c (convert_to_pattern): Don't use the same storage for a name
- in two rules since new_pattern_rule may free this storage when a
- rule is discarded.
-
- * rule.c (new_pattern_rule): Undid useless change I made Oct 25.
-
-Thu Oct 27 19:17:53 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * Version 3.16.
-
- * GNUmakefile, Makefile: Fixed a typo in a comment.
- * Makefile: Removed malloc.o from object file list.
-
- * variable.c: Removed old debugging #define's for xmalloc and
- xrealloc so non-ANSI cpp's won't barf.
-
- * make.c (main): Made local array for temp file name static so
- compilers that don't do auto aggregate initialization won't barf.
-
- * read.c: Removed static declaration of copy_dep_chain since it is
- no longer static.
-
-Tue Oct 25 16:59:30 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU)
-
- * rule.c (new_pattern_rule): If we threw out the new rule because it
- matched an old one and OVERRIDE was zero, don't put the freed
- pointer in the chain!
-
-Wed Oct 19 15:07:43 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU)
-
- * Version 3.15.
-
- * variable.c (expand_function: `sort'): Don't do the sorting and
- writing out if there were no words in the first place.
-
- * remake.c (remake_file): Only fail with a "no way to make" message
- for a dependency (non-target) file. If we don't know how to remake
- a target file, pretend it was successfully remade and is very new.
-
- * remake.c (remake_file): Don't increment `files_remade' for a
- non-target file we don't know how to remake.
-
- * read.c (record_files): Don't die with "both : and :: entries" for
- a file whose `is_target' flag is not set.
-
-Tue Oct 18 17:24:11 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * variable.c (expand_function: `patsubst', `subst'): Free the right
- things!
-
- * variable.c (expand_function: `subst'): Don't clobber the
- pointer to the end of the second arg and then try to use it!!!
-
-Mon Oct 17 16:44:45 1988 Roland McGrath (mcgrath at catnip.Berkeley.EDU)
-
- * variable.c (expand_function: `patsubst'): Don't clobber the
- pointer to the end of the second arg and then try to use it!!!
-
- * variable.c (expand_function: `word' function): Made it parse its
- second argument correctly.
-
- * ar.c (ar_touch): Return 1 rather than -1 for on errors.
-
-Sat Oct 15 15:12:16 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * Version 3.14.
-
- * GNUmakefile: Removed explicit rule for make.dvi since the built-in
- implicit rule now works.
-
- * rule.c (default_suffix_rules): Fixed .texinfo.dvi rule yet again
- so that it really works, now that parens are counted.
-
- * remake.c (update_file_1): Set FILE's `updated' flag after calling
- remake_file if it failed or finished immediately.
-
- * remake.c (update_file): Use the `updated' flag rather than the
- command state to decide if a file was fully considered, and
- therefore might give an "up to date" message.
-
- * variable.c (expand_function): Made all functions that take more
- than one argument count parens of the appropriate flavor in their
- args and ignore commands nested in parens.
-
-Fri Oct 14 18:35:00 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * read.c (read_all_makefiles): Pass second arg to read_makefile for
- default makefiles.
-
-Thu Oct 13 16:40:08 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * Version 3.13.
-
- * GNUmakefile: Added an explicit rule for make.dvi since the
- built-in .texinfo.dvi implicit rule is screwed up.
-
- * rule.c (default_suffix_rules): Added a comment that the
- .texinfo.dvi rule does not work because of an ahem, feature of Make
- that at some point will be fixed--er, enhanced to alleviate this
- difficulty.
-
- * rule.c (default_suffix_rules): Fixed Texinfo -> DVI rule (again).
-
- * make.texinfo (Commands: Execution): Documented new competing for
- standard input among children.
-
- * commands.c (struct child): Added `good_stdin' flag to tell if this
- child has the stdin that doesn't point into nirvana.
- (good_stdin_used): New variable to tell if any child has the good
- standard input.
- (child_handler): Reset `good_stdin_used' if a dead child's
- `good_stdin' flag is set.
- (start_job): Give the new child the good standard input if
- `good_stdin_used' is no set, and set the child's `good_stdin' flag
- appropriately.
-
- * rule.c (default_suffix_rules): Changed Texinfo -> DVI rule to work
- better (I hope).
-
- * read.c (read_all_makefiles): Stop reading default makefiles after
- one is found.
-
- * read.c (read_makefile): Reset `reading_filename' and
- `reading_lineno_ptr' after recursing for an included makefile.
-
- * GNUmakefile: New GNU Make-specific makefile that does everything
- Makefile does plus distribution stuff, and doesn't contain any hacks
- to try to work with Unix make.
-
- * Makefile: Removed distribution stuff.
-
- * make.c (main): Use mktemp to construct the names of temporary
- files used for standard input makefiles.
-
- * make.c (main): Don't turn standard input into a broken pipe.
-
- * commands.c (start_job): Keep two extra file descriptors around: a
- good standard input, and a bad one that reads from a broken pipe.
- On the child side of the fork, if there are other children, give
- this one the broken pipe so they won't compete; if this is the only
- one, give it the good standard input.
-
- * make.h: Declare notice_finished_file.
-
- * commands.c (execute_file_commands): Use noticed_finished_file
- after waiting for the child when there is only one job slot.
-
- * remake.c (notice_finished_file): New function to re-check mtime's
- and such things to be done when commands finish.
- (update_file_1): Use notice_finished_file.
-
- * commands.c (child_handler, execute_file_commands): Use new
- variable `job_slots_used' to record the number of jobs currently
- running, rather than diddling with `job_slots'.
- (execute_file_commands): Increment `job_slots_used' before calling
- start_job and decrement it on failure to avoid race condition.
- If there is only one job slot, wait for the child to finish and
- return its status so commands are run in linear order, as if there
- were no parallelism.
-
-Wed Oct 12 15:59:03 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * remake.c (remake_file): Don't print a "No way to make" message for
- targets whose `dontcare' flags are set.
-
- * read.c (read_all_makefiles): Set the `dontcare' flag of the
- `struct file' each default makefile added to the chain.
-
- * file.h (struct file): Add `dontcare' member.
-
- * read.c (read_all_makefiles): When no default makefiles are found,
- put the names of all those tried in the `read_makefiles' chain so
- they will be updated if possible, giving their `struct dep's'
- `changed' members the value of 0 so we won't care if they cannot be
- found or remade.
-
- * make.texinfo (Makefiles: Remaking Makefiles): Documented that
- default makefiles will be remade if not found.
-
- * read.c (read_all_makefiles): If no default makefiles can be found,
- go through the list of default names, trying to make one, stopping
- if one is made.
-
- * remake.c (remake_file): Set STATUS to 0 after successfully touching.
-
- * dir.c (file_impossible, file_impossible_p): Don't clobber FILENAME
- to "" and then try to to a strcmp on it!!!
-
-Mon Oct 10 16:09:18 1988 Roland McGrath (mcgrath at cinnamon.Berkeley.EDU)
-
- * make.c (main): Don't do `dir_load (".")'.
-
- * rule.c (count_implicit_rule_limits), vpath.c
- (construct_vpath_list): Test the existence of a given directory by
- `dir_file_exists_p (DIR, ".")' and assume that if this returns zero,
- it means the directory really does not exist.
-
- * dir.c (struct dirdata): Replaced with `struct directory' for
- directories, each containing a chain of `struct dirfiles', one for
- each file (real or impossible).
- (dir_load): Removed.
- (find_directory): New function to find the `struct directory' for a
- named directory and return it (possibly creating a new one).
- (dir_file_exists_p): Read the directory on the fly if its stream is
- still valid (and ever was) if the file we're looking for is not
- already in the hash tables.
- (file_impossible, file_impossible_p, dir_name, print_dir_data_base):
- Use the new directory/file scheme.
-
- * make.texinfo: Miscellaneous editorial changes and clarifiactions.
-
- * commands.c (struct child): Remove `environ' member.
- (child_handler, start_job, execute_file_commands): Remove use of
- `environ' member and new_environ.
-
- * make.c (main): Call new_environ after reading makefiles.
-
- * variable.h: Declare `new_environ' to return void.
-
- * variable.c (new_environ): Put the environment in `environ' and
- return void.
-
-Fri Oct 7 15:48:39 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU)
-
- * Version 3.12.
-
- * Makefile: Don't make the uncompressed tar file.
-
- * variable.c (expand_function: `shell' function): Made it not expect
- read to null-terminate the buffer.
-
- * Makefile: Made it use a temporary symlink to . rather than a
- temporary directory to make the distribution tar file.
-
-Thu Oct 6 17:52:35 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.11.
-
- * make.texinfo: Fixed a line that got garbaged somehow.
-
-Mon Oct 3 16:14:39 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * make.c (main): Try to move back to the directory we started in
- before re-exec ourself.
-
- * remake.c (update_file_1): A double-colon target with no deps
- always needs to be remade.
-
- * remake.c (remake_file): Changed "No way to make" message to say
- `target' rather than `file'.
-
-Sun Oct 2 12:50:47 1988 Roland McGrath (mcgrath at catnip.Berkeley.EDU)
-
- * remake.c (update_file_1): Set FILE->update_status to the return
- value of remake_file.
-
- * rule.c (convert_to_pattern): Fixed swapped lengths passed to
- xmalloc for source/target suffixes.
-
- * make.texinfo: Documented that MAKEFLAGS and MFLAGS are read in
- from makefiles. Updated the `Features' section a bit.
-
- * make.c (main): Read switches from MAKEFLAGS and MFLAGS variables
- after reading in makefiles.
-
- * make.c (main): Put a line "/tmp/foo:;" rather than ".PHONY:
- /tmp/foo" in front of temp files made for stdin makefiles.
-
- * remake.c (update_file): Test the state of the right `struct file'
- for double-colon files.
-
- * make.c (main): Put a ".PHONY: /tmp/foo" line in front of temp
- files made for stdin makefiles so they won't be remade when we
- re-exec. Kludge-o-matic!!
-
- * remake.c (update_goal_chain): Judge files as being finished based
- on their `updated' flag, not their state.
-
- * read.c (read_makefile): Don't check for FILENAME being "-".
- (read_all_makefiles): Set each element of MAKEFILES to the name put
- in READ_MAKEFILES by read_makefile, since read_makefile may free the
- storage for the name it is passed, and someone might want to look at
- the elements of MAKEFILES again.
-
- * make.c (main): For each `-f' flag with arg `-' (standard input),
- read standard input into a temp file and pass the temp file's name
- to read_all_makefiles, after making sure it will not be remade.
-
- * make.c (construct_makeflags): Always put out `-j1'.
-
-Sat Oct 1 00:19:59 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * commands.c (execute_file_commands): If commands are nothing but
- whitespace, set the state to `cs_finished' before returning 0.
-
- * make.c (decode_switches): Allocate space for args in stringlists
- so they can be freed later.
-
- * make.h: Declare `makelevel'.
-
- * variable.c (makelevel): Moved to make.c (and made global).
-
- * make.c (fatal, error): Print the makelevel if it's > 0.
- (perror_with_name): Use error rather than calling fprintf directly.
- (pfatal_with_name): Use fatal rather than fprintf and die.
-
- * variable.c (new_environ): Don't put default variables (origin
- `o_default') into the environment; they just take up space.
-
- * read.c (read_makefile): Don't add FILENAME to the chain of read
- makefiles if it's "-" (standard input).
-
- * remake.c (update_goal_chain): Set STATUS correctly when nothing
- happens (as well as in all other situations).
-
- * make.c (construct_makeflags): Put a `-' before each switch and
- spaces between them.
-
- * Version 3.10.
-
- * commands.c (wait_for_children): Don't check if `children' is nil.
- This is the case when waiting for the child of a `shell' function.
-
- * dir.c (dir_load): Don't add a hash-table entry for directory
- DIRNAME and filename "" if DIRNAME doesn't exist.
-
- * commands.c (execute_file_commands): Return 0 after start_job
- returns 1 (failure) under the -n flag.
-
- * remake.c (remake_file): Set the state to `cs_finished' when not
- calling execute_file_commands.
-
- * remake.c (update_goal_chain): Second arg is now MAKEFILES, nonzero
- meaning to disable -t, -q, and -n for each target unless the target
- was also given on the command-line.
-
- * read.c (read_makefile): Enter the `struct file's for the makefiles
- added to the `read_makefiles' `struct dep' chain.
-
- * remake.c (update_goal_chain): Made it not enter the files for the
- goals in the chain. It will already have been done.
-
- * rule.c (convert_to_pattern): Null-terminate the names of targets
- and deps of the pattern rules properly.
-
-Fri Sep 30 18:56:20 1988 Roland McGrath (mcgrath at nutmeg.Berkeley.EDU)
-
- * make.c (main): Call install_default_pattern_rules.
-
- * make.h: Declare copy_dep_chain.
-
- * read.c (copy_dep_chain): Moved to make.c (and made global).
-
- * make.c (main): Call update_goal_chain to update goals.
- Update read makefiles and re-exec self if they change.
-
- * remake.c (update_file): Make this function static.
- (update_goal_chain): New function to update a `struct dep' chain of
- goals, waiting until they are all finished before returning.
-
- * make.h: Don't declare update_file. Declare update_goal_chain.
-
- * make.c (main): Call snap_deps, etc. that were in read_all_makefiles.
-
- * read.c (find_makefile): Removed this function.
- (read_all_makefiles): Don't update makefiles, don't diddle with
- pattern rules, don't call snap_deps, etc. Return a `struct dep'
- chain of all makefiles read.
- (read_makefile): Now takes two args: FILENAME and TYPE, which is 0
- for a normal makefile, 1 for MAKEFILES variable or 2 for an included
- makefile. Add a `struct dep' containing the name of the makefile
- (as it was found in the search path for type 2s), and TYPE in the
- `changed' member to the global `read_makefiles' chain.
-
- * make.h, rule.c (displace_pattern_rules,
- add_displaced_pattern_rules): Removed these functions.
-
- * read.c (read_makefile): Variable-expand the name of an `include'd
- makefile before calling find_makefile on it.
-
- * file.c (snap_deps): If the `struct file' for a `struct dep'
- already exists, free the `struct dep's `name' member before setting
- it to nil (since this info is in the `struct file').
-
- * read.c (copy_dep_chain): Made it copy each name rather than
- leaving multiple `struct dep's with the same pointers.
-
-Thu Sep 29 19:08:13 1988 Roland McGrath (mcgrath at catnip.Berkeley.EDU)
-
- * make.c (decode_switches): Fixed second decode_env_switches call to
- use correct length of "MFLAGS" (6, not 5).
-
- * read.c (read_makefile): Don't stop reading when readline returns
- zero lines read. Only stop when the stream reaches EOF. This makes
- it recognize the last line of a makefile without a newline.
-
- * remake.c (remake_file): If we don't know how to make FILE, set its
- command state to `cs_finished'.
-
- * remake.c (update_file): Don't write the "up to date" message if
- update_file_1 returned a nonzero status.
-
-Wed Sep 28 16:30:07 1988 Roland McGrath (mcgrath at catnip.Berkeley.EDU)
-
- * commands.c (child_handler): Set the `update_status' member
- properly for ignored errors.
-
- * rule.c (convert_to_pattern): Made it not care about if the target
- suffix comes before the source suffix in the .SUFFIXES list.
-
- * make.texinfo: Misc editorial changes.
-
- * commands.c (wait_for_children): Return immediately if `children'
- is nil (there are no children).
-
-Tue Sep 27 15:33:14 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU)
-
- * Version 3.09.
-
- * commands.c (struct child): New member `command_ptr' to hold the
- current position in the commands. The `commands' member is never
- changed.
- (start_job, child_handler, execute_file_commands): Use new method
- for `commands' and `command_ptr' members.
-
- * make.c (decode_env_switches): Skip past an invalid letter (instead
- of looping forever).
-
- * commands.c (struct child): Add `environ' member to hold the
- environment for this child.
- (execute_file_commands): Get a new environment from new_environ and
- put in the the new `struct child's `environ' member.
- (child_handler): When freeing a child, free its `commands' member, the
- elements of its `environ' array and its `environ' member itself.
- (start_job): Set `environ' to the child's `environ' member before
- exec'ing the command.
-
- * variable.h, variable.c (new_environ): Made it return the new
- environment, not putting it in `environ'.
-
- * remake.c (update_file): Don't give a "is up to date" message
- unless no files were remade and the state went from `cs_not_started'
- to `cs_finished', so repeat calls to finish jobs won't get the message.
-
-Mon Sep 26 16:26:08 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU)
-
- * Version 3.08.
-
- * make.texinfo (Commands: Execution): Documented that children will
- be waited for rather than killed.
-
- * commands.c (fatal_error_signal): Wait for children.
- (kill_children): Removed this function.
-
- * make.c (main, die): Wait for children to die, don't kill them.
-
- * variable.c (expand_function): Use wait_for_children.
-
- * make.c (main): Use wait_for_children rather than child_handler.
-
- * commands.c (wait_for_children): New function to block waiting for
- children, insuring that child_handler is not called recursively.
- (execute_file_commands, kill_children): Use wait_for_children.
-
- * commands.c (child_handler): Start up additional commands in a
- sequence after an ignored error.
-
- * remake.c (update_file): Don't print "`foo' is up to date" messages
- when update_file_1 returns while commands are executing.
-
- * remake.c (update_file_1): Pass the file name to name_mtime, not
- the bloody `struct file', dammit!!
-
- * commands.c (child_handler): Print out the "*** ..." error message
- when not under -i. (I somehow forgot this.)
-
- * remake.c (update_file_1): Use name_mtime rather than file_mtime to
- re-get the mtime of a file whose commands have finished.
-
- * make.c (command_switches, decode_switches, decode_env_switches):
- Make all switches that take string args allow them right after the
- switch letter.
-
- * commands.c (child_handler): Check for a child being the `shell'
- function's command returning and set the global variable for
- expand_function to check.
-
- * variable.c (expand_function): For the `shell' function, instead of
- waiting for the child shell ourselves, let child_handler do it and
- loop around waiting for something to happen.
-
- * make.c (print_version): Made the copyright year static, not dynamic.
-
- * make.h, make.c: Remove construct_argv function.
-
- * make.c (main): Say "no goal target" instead of "no target".
-
- * make.texinfo (Commands: Parallel): Don't send SIGKILL.
-
- * commands.c (kill_children): Don't send SIGKILL to children that
- aren't killed by the first signal.
-
- * make.c (main), commands.c (kill_children): Decide between SIGCHLD
- and SIGCLD based on whether or not SIGCHLD is defined, not on USG.
-
- * Makefile: Link make with $(LOADLIBES).
-
- * read.c (construct_include_path): Fixed another bad xrealloc call.
-
- * make.c (decode_switches): Fixed an xrealloc call with no first arg.
-
-Sat Sep 24 01:16:21 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * Version 3.07.
-
- * remake.c (update_file_1): If deps are running, set state to
- `cs_deps_running' and return 0. If deps are done, run commands.
-
- * commands.c (child_handler): Made it delete non-precious targets
- killed by fatal signals.
-
- * make.texinfo: Documented parallelism.
-
-Fri Sep 23 16:52:27 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU)
-
- * remake.c (update_file_1): Don't return if FILE's state is
- `cs_deps_running'. In that case, we need to run through and check
- the states of all our dependencies.
-
- * commands.c (execute_file_commands): Decrement `job_slots' after
- starting a new job to run file commands.
-
- * commands.c (start_job): Made it set the state to `cs_running'.
-
- * make.c (main): Fixed usage of `g', `lastgoal', and `goals' in the
- goal-making loop.
-
- * commands.c (child_handler): When commands finish, set the
- corresponding file's `update_status' and `updated' flags as
- appropriate, and reset the modtimes of the file and any `also_make'
- files it has.
-
- * remake.c (remake_file): Don't re-set `last_mtime' and set `updated'.
-
- * commands.c (fatal_error_signal): Don't swallow all the children
- with a loop around `wait ((union wait *) 0)'!!!
-
- * make.c (struct command_switch): Added `positive_int' type.
- (switches): Added -j (job_slots).
- (construct_makeflags, decode_switches, decode_env_switches):
- Handle`positive_int'-type switches.
-
- * glob.c (glob_vector): Rename local variable `vector' to `VeCtOr'.
- This is said to avoid a conflict with some system's global `vector'
- variable.
-
- * variable.c (expand_function): Made the `shell' function use
- construct_command_argv and do its own child control and piping.
-
- * make.c (main): Turn standard input into a broken pipe after
- reading in all makefiles (the last time it will be needed).
-
- * commands.c (struct child): Remove `pipe_fd' member. We don't use
- pipes any more.
- (start_job): Return 0 for success, 1 or failure (rather than void).
- Don't use pipes. Don't turn the child's stdin into a broken pipe.
- (child_handler): Print "*** Error" messages when necessary.
- Die on failed commands when -k was not given.
- (execute_file_commands): Check the return of start_job and remove
- the child from the chain and return failure if it is nonzero.
-
- * make.c (die): New function to clean up and exit.
- (fatal, pfatal_with_name): Use die.
-
-Thu Sep 22 14:27:11 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU)
-
- * commands.c (struct child): Added `commands', `pipe_fd', and
- `noerror' members to keep track of info about a command thread.
- (start_job): New function to start a job and update the argument
- `struct child' to reflect its status.
- (execute_file_commands): Merged run_file_commands back in.
- Made it use new start_job function.
-
- * rule.c (freerule): Don't free the `struct commands' of the
- discarded rule. It may be used in more than one place.
-
- * commands.c (execute_command_line): Made it not try to delete the
- possibly partly-made file. The child_handler function will do this.
- (fatal_error_signal): Ditto + call kill_children.
-
- * make.h: Declare job_slots.
-
- * make.c (main): Collect goals in a dep chain and run through this
- chain waiting for a child, eliminating finished goals, updating all
- remaining goals, and quitting if they fail and not -k.
-
- * commands.c (child_handler): If called with SIG < 0, - SIG is the
- max number of children to bury.
-
- * commands.c (child_handler): If called with SIG as zero,
- block waiting for running children.
- (kill_children): Call child_handler with zero rather than SIGCHLD.
-
- * remake.c (update_file_1): Use the `command_state' member of FILE
- and its dependencies to determine what commands are running, what to
- do, etc. If commands or dep commands are running when we are
- called, return success (0). If commands finished since the last
- time we were called, return their status.
-
- * commands.h: Declare kill_children.
-
- * commands.c: Define `struct child' to keep track of child
- processes, with the chain in `children'.
- (child_handler): New function to catch child-termination signals
- (SIGCHLD, or SIGCLD for USG), store the returned status in the
- appropriate structure, take the now-obsolete `struct child' out of
- the chain, and free its storage.
- (execute_file_commands): Put all of the stuff invloving running the
- commands into new function run_file_commands. Execute_file_commands
- now does process management for the commands, while
- run_file_commands (which is run in a subprocess) runs the commands.
- (kill_children): New function to kill all running children by
- sending them signal SIG. If there are any children still living
- after they are all sent SIG, they are all sent SIGKILL.
-
- * make.c (main): Catch SIGCHLD (SIGCLD for USG) with child_handler.
-
- * commands.h: Declare child_handler function.
-
- * commands.c (execute_file_commands): Check the `command_state'
- member of FILE and return 0 if it is `cs_running' or
- `cs_deps_running' and return the stored status if it is `cs_finished'.
-
- * file.h (struct file): Added `command_state' member.
-
- * commands.c (execute_command_line): Add `$' to the list of
- characters special to the shell.
-
-Wed Sep 21 15:57:41 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU)
-
- * read.c (read_all_makefiles): Call convert_to_pattern before
- recomputing the limits after adding the displaced rules.
-
- * make.c (main): Move calls to snap_deps, convert_to_pattern, and
- build_vpath_lists to read_all_makefiles.
-
- * read.c (read_all_makefiles): Install the default pattern rules
- before checking to remake the makefiles, displace these rules before
- reading in the makefiles, and then add the displaced rules to the
- chain after reading in all the makefiles.
-
- * make.c (main): Don't call install_default_pattern_rules or
- count_implicit_rule_limits.
-
- * make.h: Declare displace_pattern_rules and
- add_displaced_pattern_rules.
-
- * rule.c (displace_pattern_rules, add_displaced_pattern_rules): New
- functions to stow the chain and add the stowed chain on the end of
- the current chain.
-
- * make.texinfo (Implicit: Search Algorithm): Fixed PREV reference.
-
- * make.c (main): Call construct_include_path right after decoding
- the switches.
-
- * read.c (find_makefile): Use rename_file.
-
- * file.h: Declare rename_file.
-
- * file.c (rename_file): New function to rename a `struct file' and
- put it in the correct hash bucket.
-
- * read.c (find_makefile): New function to find and update a makefile.
- (read_all_makefilese): Use find_makefile.
- (read_makefile): Don't do updating. Removed UPDATEIT arg.
-
- * remake.c (update_file_1): Took out setting the `updated' member to
- -1 rather than 1 sometimes.
-
- * make.c (main): Made it print version info before doing anything else.
-
- * remake.c (library_file_mtime, f_mtime): Removed use of last two
- arguments to vpath_search.
-
- * rule.c (pattern_search): Removed use of last two arguments
- to vpath_search.
-
- * vpath.c (vpath_search, selective_vpath_search): Removed unused
- DIRPREFIX and DPLEN args.
-
- * read.c (read_makefile): Also turn off -n when updating makefiles.
-
-Tue Sep 20 17:01:10 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU)
-
- * Makefile: Put tags files in the tarfile.
-
- * read.c (read_makefile): Get the modtime of the makefile via a stat
- call so that a later file_mtime call won't do VPATH search for it.
-
- * read.c (read_makefile): Don't turn off -t and -q if the makefile
- was a command-line target.
-
- * make.c (main): Enter command-line targets as files and set their
- `cmd_target' members.
-
- * file.h (struct file): Added `cmd_target' member.
-
- * read.c (read_makefile): Temporarily turn off -t and -q while
- updating makefiles.
-
- * make.c (main): Don't use arg 0 from other_args (which is now
- argv[0]; i.e., the program's name).
-
- * read.c (read_makefile): Only return nonzero if commands were
- actually run to remake the makefile.
-
- * remake.c (update_file_1): Set FILE->updated to -1 if no commands
- were actually run (because no update was done or -t was given).
-
- * make.c (decode_switches): Fixed bug wherein xrealloc was passed
- bad args if it tried to expand other_args->list.
-
- * read.c (read_all_makefiles): Made it not look at the `MAKE'
- variable, just use argv[0].
-
-Sun Sep 18 17:34:11 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU)
-
- * read.c (rerun_make): New function to re-exec make.
-
- * make.c (construct_makeflags, construct_argv): New functions to
- construct the `MAKEFLAGS' variable and to construct an arg list from
- parsed info.
-
- * read.c (read_makefile): New arg UPDATEIT, if nonzero, says to
- update the makefile as a target before reading it in. When reading
- included makefiles, pass this as zero. Now returns nonzero if the
- makefile was updated, zero if not.
- (read_all_makefiles): Pass a nonzero UPDATEIT arg to read_makefile
- for all default and -f makefiles and all makefiles from the
- `MAKEFILES' variable. If any of the makefiles has changed, re-exec
- self to re-read them.
-
- * remake.c (update_file): Print a "File `foo' up to date'" message
- under -p.
-
- * commands.c (execute_file_commands): Allocate one byte for each of
- $^ and $< rather than zero if they are to be empty.
-
-Fri Sep 16 13:59:59 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * Version 3.06.
-
- * make.c (command_switches): Fixed entry for `-o' switch.
-
- * make.texinfo: Renamed -c switch to -C.
-
- * make.c: Renamed -c switch to -C.
-
- * Miscellaneous de-linting.
-
- * read.c (record_files): Made it not free the storage for the name
- if it started with `./' and was therefore not quite the same as in
- the `struct file'.
-
- * read.c (record_files): If commands were specified twice, the error
- message specifies in what files and at what line numbers.
-
- * make.c (main): If any of the signals we usually fatal on were
- ignored by the parent (probably a shell), ignore them.
-
- * make.c (main): Print version info for -v, -p, or -d.
- (print_data_base): Don't print version info. It will be done in main.
-
- * variable.c: Increased number of hash buckets to 257.
-
- * file.c: Increased number of hash buckets to 1007.
-
- * rule.c (count_implicit_rule_limits): Moved comptation of
- `maxsuffix' to convert_to_pattern, since that function uses
- `maxsuffix', and must be called before count_implicit_rule_limits.
-
- * rule.c (pattern_search): If an existent (non-intermediate)
- dependendency was found via a terminal rule, set its
- `tried_implicit' flag, so it will never have implicit rule search done.
-
- * glob.c: Bug fix to avoid alloca(0).
-
- * arscan.c: USG and Sun386i fixes.
-
-Thu Sep 15 19:40:26 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU)
-
- * make.texinfo: Fixed some typos and spelling errors.
-
-Wed Sep 7 14:20:39 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU)
-
- * make.c (decode_switches): Fixed bug wherein a bad option would
- give a useless error message and loop forever.
-
-Tue Sep 6 14:36:02 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * make.texinfo: Documented `shell' function.
-
- * variable.c (expand_function): New function `shell', does
- backquote-style command expansion of its arg.
-
- * commands.c (execute_command_line): Second arg OUTBUF, if not nil,
- gets filled in with a malloc'd buffer containing the piped stdout of
- the command.
- (execute_file_commands): Use above (pass nil).
-
-Mon Sep 5 17:03:49 1988 Roland McGrath (mcgrath at hecuba.Berkeley.EDU)
-
- * Makefile: Added copyright notice.
- Added a comment about defining `NO_MINUS_C_MINUS_O' if necessary.
-
- * Version 3.05.
-
- * rule.c (default_suffix_rules): Don't pass `-o' switches with `-c'
- switches if `NO_MINUS_C_MINUS_O' is #define'd.
-
- * make.texinfo: Documented `GNUmakefile'.
-
- * read.c (read_all_makefiles): Made it try default makefile
- `GNUmakefile' before others.
-
- * make.texinfo: Added new-style Texinfo header thingies.
-
-Sat Sep 3 18:09:39 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * Version 3.04.
-
- * make.texinfo (Chained Rules): Added a @cindex about using
- .PRECIOUS to preserve intermediate files.
-
- * remake.c (update_file_1): Made it not just return before executing
- commands under -p.
-
- * rule.c (default_pattern_rules, default_variables): Made it use
- `$(AR)' for `ar r' (to put files in archives).
-
- * vpath.c (build_vpath_lists): Made it recursively expand the
- `VPATH' variable (by using variable_expand instead of lookup_variable).
-
- * read.c (conditional_line): Made it not swallow whitespace after
- the comma in an `ifeq' using the `(a,b)' syntax.
-
- * rule.c (count_implicit_rule_limits): Made it not crash if a
- pattern rule dep begins with `/'.
-
-Sun Aug 28 15:51:12 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU)
-
- * make.texinfo: Clarified that the arg to the `origin' function is a
- variable *name*, not a reference.
-
- * make.texinfo: Clarified that both -Idir and -I dir are allowed.
-
-Sat Aug 27 13:49:28 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * remake.c (remake_file): Made touching phonies work right.
-
-Wed Aug 24 20:40:48 1988 Roland McGrath (mcgrath at nutmeg.Berkeley.EDU)
-
- * make.texinfo: Removed reference to `RANLIB' variable.
-
- * Version 3.03.
-
- * variables.c (expand_function): Added `origin' function.
- * make.texinfo: Documented same.
-
- * read.c (record_files): Made double-colon entries work.
-
-Sat Aug 20 21:09:39 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * make.c (collapse_continuations): Bug fix from RMS.
-
- * rule.c (install_default_pattern_rules): Made it set the
- `in_use' flag of the created rules to zero, rather than letting
- it be random garbage.
-
- * rule.c (pattern_search): Fixed putting `also make' targets into
- file strucutres.
-
- * read.c (record_files): Fixed bug which made double-colon entries
- make it read off into space.
-
- * make.c (decode_switches): Made it understand `ignored' switches
- rather than dumping core.
-
-Sun Aug 14 16:49:00 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * read.c (read_makefile): Made `include' filenames be
- variable-expanded.
-
- * read.c (read_makefile): Fixed an error message.
-
- * read.c (read_makefile): Made it accept ^L's as whitespace.
- * make.c (next_token, end_of_token): Ditto.
-
- * vpath.c (vpath_search): Fixed it so that the general VPATH (from
- the variable) is always checked, even if a selective VPATH (from a
- directive) matched the filename.
-
-Sat Aug 13 14:20:46 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * make.c (decode_switches, main): Made the command switches be
- processed from a table of switches, variables, and types. No
- functions are passed argc and argv any more. They are passed arrays
- of strings they need to process.
- * read.c (read_all_makefiles): Made it take an array rather than
- argc and argv.
- (construct_include_path): Ditto.
-
- * make.c (collapse_continuations): Made it work right (I hope).
-
- * make.texinfo: Minor editorial changes.
-
- * read.c (read_makefile): Minor speed improvement by freeing and
- then mallocing something rather than reallocing it to avoid the
- unnecessary bcopy.
-
-Thu Aug 11 00:10:43 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * make.texinfo: Fixed some unquoted @'s.
-
- * make.texinfo: Documented multiple-target pattern rules.
- Miscellaneous minor editorial changes and corrections.
-
- * make.texinfo (Implicit: Catalogue of Rules): Removed the list of
- variables. That's what the next section is for.
- (Implicit: Implicit Variables): Made it agree with reality.
-
-Wed Aug 10 00:55:39 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * variable.c (print_variable_data_base): Fixed bug which made -p
- dump core. (This was a really idiotic bug.)
-
- * rule.c (pattern_search): Fixed a bug which made it make the
- `also_make' member of the file in question nil if the first of
- the successful rule's targets was the matching one.
- Made it use only as much storage as necessary in the `also_make'
- member.
- (create_pattern): Made it use only as much storage as necessary in
- the `lens' and `suffixes' members of the created rule.
-
- * remake.c (library_file_mtime): Made it `static'.
-
- * file.c: Added a declaration for `errno', which is declared in some
- <errno.h>'s, but not all.
-
- * file.h (struct file): Added `also_make' member for multiple-target
- implicit rules.
- * rule.c (pattern_search): Made it put the names of files updated by
- the given file's commands in its `also_make' member.
- * remake.c (update_file_1): Made it mark the files in a file's
- `also_make' member as updated when the file is updated.
-
- * variable.c (try_variable_definition): Fixed a bug which made it
- define a variable with the name of the whole definition when there
- was no space before the = or :=.
-
- * make.texinfo (Features): Made the changes which were made in RCS
- revision 2.7 but somehow lost since then. Added -W.
-
-Tue Aug 9 10:04:50 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * variable.h: Added `o_default' to `enum variable_origin'.
- * variable.c (print_variable_data_base): Made it print the origins of
- the variables.
- * rule.c (install_default_pattern_rules): Made it define the default
- variables with origin `o_default'.
-
- * make.texinfo: Documented -W.
-
- * make.c (decode_switches, main): Added the -W flag to give files a
- time-stamp of now, for a `what if' effect when used with -n.
-
- * commands.c (print_commands): Made it say `(built-in)' for commands
- that are built into the default ruleset.
-
- * read.c (record_file): Made .SUFFIXES get its deps frontwards (again).
- * rule.c (set_default_suffixes, convert_to_pattern): Made it read
- .SUFFIXES's deps frontwards, so the converted rules will not be in
- reverse order.
-
- * rule.c (new_pattern_rule): Fixed a bug wherein it would keep
- searching after it had removed a matching rule and ended up diddling
- with freed storage.
-
- * rule.c (freerule): Made it take the given rule off the chain.
- (new_pattern_rule, count_implicit_rule_limits): Use freerule to
- remove rules from the chain.
-
- * vpath.c (construct_vpath_list): Made it return after cleaning out
- all previous searchpaths when given a nil DIRPATH arg, so it won't
- go into the construction code and dump core dereferencing a nil
- pointer.
-
- * variable.c (patsubst_expand): Fixed a bug which made it not match
- correctly and sometimes dump core.
-
-Mon Aug 8 16:35:48 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * rule.c (default_suffix_rules): Made the .texinfo.dvi rule remove
- the files used in the comparison to determine whether or not a
- second TeX run is necessary.
-
- * make.texinfo: Fixed some overfull TeX hboxes.
-
- * make.texinfo (Implicit: Catalogue of Rules): Fixed a Texinfo error.
-
- * rule.c (create_pattern_rule): Fixed bug wherein index was not
- being passed its second arg.
-
- * read.c (getline): Merged back into readline.
-
- * rule.c (default_suffixes, default_suffix_rules,
- default_variables): Added .texinfo.info rule.
- * make.texinfo (Implicit: Catalogue of Rules): Documented
- .texinfo.dvi and .texinfo.info rules.
-
- * make.texinfo (Top): Changed `last updated' date to be correct (for
- the last time it was updated, not today). Changed `for version
- 3.00' since it's not going to be called that.
-
-Sat Aug 6 19:51:10 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * commands.c (print_commands): Added this function to print the
- contents of a `struct commands' for -p.
- * rule.c (print_rule_data_base): Use above.
- * file.c (print_file_data_base): Ditto.
-
- * rule.c (count_implicit_rule_limits, new_pattern_rule,
- install_pattern_rule, print_rule_data_base): Made it understand the
- changed `struct rule' and act accordingly.
- (freerule): Added this function to free all the storage used by a rule.
-
- * rule.c (pattern_search): Made it grok multiple targets of pattern
- rules. The matching is done properly, but at present, only the
- matching pattern's target is used to give deps and commands.
-
-Fri Aug 5 18:00:29 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * rule.c (struct rule): Changed name, namelen, and patsuffix members
- to targets, lens, and suffixes, which are arrays, for multiple targets.
- (create_pattern_rule): Now takes first arg TARGETS, a nil-terminated
- array of targets, rather than a single target and patsuffix pointer.
-
- * read.c (record_files): If it finds an implicit pattern rule, it
- collects all the targets into an array and passes the whole thing to
- create_pattern_rule. If there are non-pattern targets, it is a
- fatal error.
-
-Tue Aug 2 15:06:38 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * make.c (readline): Split backslash-newline checking from reading
- and buffer-expanding.
- (getline): Created to do the reading and buffer-expanding formerly
- done in readline.
-
- * rule.c (pattern_search): Made it reject nonterminal match-anything
- rules when a specific rule has matched, rather than rejecting
- terminal match-anything rules in this case.
-
- * rule.c (convert_to_pattern): Fixed a bug caused when the change to
- make it only recognize two-suffix rules whose target suffixes
- precede their dependency suffixes which made it work in the opposite
- direction (even worse than it started out).
-
- * rule.c (pattern_search): Made it reject nonterminal match-anything
- rules as intermediate targets when searching for both real and
- intermediate dependencies, rather than only when searching for
- intermediate ones.
-
-Sun Jul 31 00:33:56 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * rule.c (convert_to_pattern): Made it only recognize two-suffix
- rules whose target suffix comes before the dependency suffix in the
- .SUFFIXES list.
-
- * variable.c (define_automatic_variables): Made all automatic
- variables be defined with origin `o_automatic'.
-
- * variable.h: Added `o_automatic' to `enum variable_origin'
-
- * file.c (remove_intermediates): Made it not print an error message
- if the error was that the file does not exist.
-
- * rule.c: Removed `recursive' member from `struct rule'.
-
- * remake.c (library_file_mtime): Made it not use the directory hash
- functions, as reading in and hashing /usr/lib and /lib is slow and
- most likely unnecessary.
-
- * remake.c (remake_file): Changed message from ``No specification
- for making'' to ``No way to make'' so it will be short enough that
- most filenames will fit on a line.
- Made it look at the `recursive' member of the `struct commands',
- rather than of the `struct file' (which no longer has one).
-
- * commands.c (execute_file_commands): Made it look at the
- `recursive' member of the `struct commands', rather than of the
- `struct file' (which no longer has one).
-
- * file.h: Removed `recursive' member from `struct file'.
-
- * commands.h: Added `recursive' member to `struct commands'.
-
- * dep.h: Removed unused `quotedparen' member from `struct nameseq'
- and `struct dep'.
-
- * read.c (dequote): Removed this function.
- (multi_glob): Removed reference to `quotedparen' member of
- a `struct nameseq' and calls to dequote.
-
- * read.c (record_files): Made it set the stem for $* for all static
- pattern rules, not just those with commands given at that time.
- Removed check for recursive commands.
- Made it check for pairs of .SUFFIXES dependencies to reject as
- default goals as well as single ones (that don't start with dots).
- (read_makefile): Added checks for recursive commands to set
- the `recursive' flag in the `struct commands'.
-
-Sat Jul 30 15:47:23 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * make.c (find_next_token): Made the LENGTHPTR arg optionally nil.
-
- * make.c: Removed `files_made' variable which is defined static in
- remake.c and used only there.
- (main): Cleaned up somewhat.
- (decode_switches): Cleaned up a bit. Made an unknown option be a
- non-fatal error.
- (decode_env_switches): Made LEN arg unsigned. Cleaned up.
- (print_version): Made it say ``see the source'' rather than ``see
- the source file'', since there is more than one.
-
- * file.h: Made `num_intermediates' declared unsigned.
-
- * file.c: Made `num_intermediates' variable unsigned.
- (remove_intermediates): Removed unused FORMAT arg.
- (enter_file): Made it handle double-colon files properly, adding the
- new entry as the old entry's prev pointer.
-
- * dir.c: Re-indented the `struct dir' definition to be right.
- (dir_load): Cleaned up slighty.
- (file_exists_p): Removed comment saying we could use `access', since
- that is a bad idea (except for setuid programs). Cleaned up slightly.
-
- * commands.c: Changed some comments slightly.
- (execute_file_commands): Cleaned up a bit. Changed some comments,
- added others. Moved freeing of storage for $^ and $? to the same
- place as for the other automatic variables.
- (execute_command_line): Made `#' trigger a shell.
- Added some comments. Cleaned up a bit. Put all the special chars
- that trigger shells into an array easily changeable at the top.
-
- * ar.c: Added comments explaining each function.
- (ar_scan_1): Merged into ar_member_date.
- (ar_member_date): Changed call to ar_scan_1 to the body of that
- function.
- (ar_member_date_1): Simplified to a ?: expression rather than an
- if-else statement.
- (ar_member_touch): Changed error handling around a bit.
- None of these errors are fatal now.
-
- * variable.c (subst_expand): Added a new arg BY_WORD, to do substs
- only on full words.
- (patsubst_expand): Fixed bug which made calls whose patterns
- contained no `%' to not work correctly, by using above.
- (variable_expand): Pass extra arg to `subst_expand'.
-
- * variable.c (expand_function): Fixed bug which made `foreach' calls
- with one-word lists run off into never-never land.
-
-Fri Jul 29 20:12:36 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * variable.c (expand_function): Made a very minor speed improvement
- by avoiding an unnecessary strlen call.
-
-Wed Jul 27 16:01:47 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * rule.c (default_suffixes): Rearranged the list somewhat; added
- `.el' and `.elc' to speed things up (especially when building
- Emacs), for the same reason `.h' is there.
-
- * read.c (record_files): Changed `lineno' from `long' to
- `unsigned int'.
-
-Sun Jul 24 02:15:30 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * variable.c (expand_function): Eliminated use of `wstok'
- because it is non-reentrant and unreliable.
- Fixed a minor bug which would cause something not to be freed.
- * make.c (wstok): Removed `wstok' because it is no longer used.
-
- * variable.c (expand_function): Made `foreach' function put
- spaces between output texts like it's supposed to.
-
-Sat Jul 23 17:32:55 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * rule.c (default_suffixes, default_suffix_rules): Added rule
- to make %.dvi from %.texinfo.
-
- * dir.c (print_dir_data_base): Made it say a bit more.
-
-Fri Jul 22 23:13:16 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * make.c (print_data_base): Split this function up into one
- for each thing.
- * variable.c (print_variable_data_base): One of the above.
- * rule.c (print_rule_data_base): Ditto.
- * file.c (print_file_data_base): Ditto.
- * dir.c (print_dir_data_base): Ditto.
-
- * rule.c (install_pattern_rule): Fixed a bug which caused the
- terminal and recursive flags to always be zero for rules
- entered by this function.
-
- * make.texinfo (Rules: Double-colon): Added a paragraph
- explaining the purpose of double-colon rules.
-
- * make.texinfo (Implicit: Catalogue of Rules): Updated to
- reflect new C++, TeX, Web, and Texinfo rules. Other slight
- editorial changes.
-
- * commands.c (execute_file_commands): Fixed a bug wherein
- random memory could get written for files with no deps.
-
-Wed Jul 20 19:30:31 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * read.c (readline): Fix bug wherein it would not recognize a
- backslash-newline if the buffer filled up and was enlarged
- right before reading the newline.
-
-Tue Jul 19 19:55:02 1988 Roland McGrath (mcgrath at chilli.Berkeley.EDU)
-
- * read.c: Added default suffix rules for .cc (using $(C++),
- which defaults to `g++', and $(C++FLAGS)), .tex, .dvi, .web
- and .cweb (using $(TEX), $(WEAVE), $(TANGLE), $(CWEAVE) and
- $(CTANGLE)).
-
-Sat Jul 16 21:24:28 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * Made error formats use %u rather than %ld for line numbers,
- which are now unsigned int's rather than long's.
-
- * read.c (conditional_line): Fixed some bugs caused by use of
- unsigned int rather than int in one place.
-
- * read.c (conditional_line): Put the info about active
- conditionals in a struct.
- (read_makefile): Make a new struct of info about conditionals
- for included makefiles and restore the old one after the
- included makefile has been read.
-
- * read.c (read_makefile): Don't try to read a makefile with
- name "" after giving an error message because an `include'
- directive gave no filename.
-
- * read.c (read_makefile): Give an error message for
- non-whitespace text after the filename in an `include' directive.
-
- * make.c (error): Take five args, like `fatal'. It managed to
- lose with only two. Is there a better way to do this without vfprintf?
-
- * read.c (read_makefile): Commands consisting of only
- whitespace are not the same as no commands. I thought I'd
- fixed this bug months ago; it seems to have come back.
-
- * make.c (collapse_continuations): All whitespace around a
- backslash-newline combination is turned into a single space.
-
- * Added COPYING file and copyright notices to all files.
-
- * make.texinfo (Running: Goals): Fix a typo.
-
- * read.c (do_define): Take an arg for the origin of the
- variable being defined.
- (read_makefile): Grok `override define'.
-
- * make.texinfo (Variables: Override Directive, Defining):
- Document the `override define' combination directive.
-
- * ar.c (ar_member_date): Make a 0 return from `ar_scan' return
- (time_t) -1 (nonexistent file), rather than (time_t) 0, which,
- when put in the `struct file', makes `file_mtime' try to get
- the mtime over and over again.
-
- * variable.c (pattern_matches): Fix a bug that made patterns
- not beginning with `%' never match.
-
-Fri Jul 15 21:01:44 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
-
- * Took Make out of RCS.
-
- * Split the monolithic `make.c' into several smaller files.
-
-
-
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009 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 <http://www.gnu.org/licenses/>.
diff --git a/ChangeLog.2 b/ChangeLog.2
deleted file mode 100644
index 1b3cc427..00000000
--- a/ChangeLog.2
+++ /dev/null
@@ -1,6654 +0,0 @@
-2000-06-22 Paul D. Smith <psmith@gnu.org>
-
- * job.c (start_job_command): Increment commands_started before the
- special check for ":" (empty command) to avoid spurious "is up to
- date" messages. Also move the test for question_flag after we
- expand arguments, and only stop if the expansion provided an
- actual command to run, not just whitespace. This fixes PR/1780.
-
-2000-06-21 Paul D. Smith <psmith@gnu.org>
-
- * read.c (read_makefile): If we find a semicolon in the target
- definition, remember where it was. If the line turns out to be a
- target-specific variable, add back the semicolon and everything
- after it. Fixes PR/1709.
-
-2000-06-19 Paul D. Smith <psmith@gnu.org>
-
- * config.h-vms.template: #define uintmax_t for this system.
- * config.ami.template: Ditto.
- * config.h.W32.template: Ditto.
-
- * configure.in: We don't use select(2) anymore, so don't bother
- checking for it.
- * acconfig.h: Ditto.
- * acinclude.m4: Ditto.
-
- * file.c (all_secondary): New static global; if 1 it means
- .SECONDARY with no prerequisites was seen in the makefile.
- (snap_deps): Set it appropriately.
- (remove_intermediates): Check it.
- (num_intermediates): Remove this global, it's not used anywhere.
- (considered): Move this to remake.c and make it static.
-
- * NEWS: Document the change to .SECONDARY.
- * make.texinfo (Special Targets): Document the change to .SECONDARY.
-
- * implicit.c (pattern_search): Remove the increment of
- num_intermediates; it's not used.
- * filedef.h: Remove num_intermediates and considered.
-
- * function.c (handle_function): If the last argument was empty, we
- were pretending it didn't exist rather than providing an empty
- value. Keep looking until we're past the end, not just at the end.
-
- * implicit.c (pattern_search): Multi-target implicit rules weren't
- expanding the "also made" targets correctly if the pattern didn't
- contain a slash but the target did; in that case the directory
- part wasn't being added back to the stem on the "also made"
- targets. Reported by Seth M LaForge <sethml@newtonlabs.com>, with
- a patch.
-
-2000-06-17 Eli Zaretskii <eliz@is.elta.co.il>
-
- * Makefile.DOS.template (DESTDIR, bindir, datadir, libdir)
- (infodir, mandir, includedir): Support installation under a
- non-default DESTDIR.
-
- * remake.c (f_mtime): Fix the spelling of __MSDOS__.
-
- * configh.DOS.template (HAVE_FDOPEN, HAVE_MKSTEMP): Define.
-
-2000-06-14 Paul D. Smith <psmith@gnu.org>
-
- * acinclude.m4 (pds_WITH_GETTEXT): rewrite fp_WITH_GETTEXT and
- rename it to avoid confusion. This version is very specific: it
- won't accept any gettext that isn't GNU. If the user doesn't
- explicitly ask for the included gettext, we look to see if the
- system gettext is GNU (testing both the actual libintl library,
- and the libintl.h header file). Only if the system gettext is
- really GNU gettext will we allow it to be used.
- (pds_CHECK_SYSTEM_GETTEXT): A helper function.
-
-2000-06-13 Paul D. Smith <psmith@gnu.org>
-
- * gettext.h: If we have libintl.h, use that instead of any of the
- contents of gettext.h. We won't check for libintl.h unless we're
- using the system gettext.
-
- * function.c (func_word): Clarify error message.
-
-2000-06-10 Paul Eggert <eggert@twinsun.com>
-
- Support nanosecond resolution on hosts with 64-bit time_t and
- uintmax_t (e.g. 64-bit Sparc Solaris), by splitting
- FILE_TIMESTAMP into a 30-bit part for nanoseconds, with the
- rest for seconds, if FILE_TIMESTAMP is at least 64 bits wide.
-
- * make.h: Always define FILE_TIMESTAMP to be uintmax_t, for
- simplicity.
-
- * filedef.h (FILE_TIMESTAMP_HI_RES, FILE_TIMESTAMP_LO_BITS)
- (UNKNOWN_MTIME, NONEXISTENT_MTIME, OLD_MTIME)
- (ORDINARY_MTIME_MIN, ORDINARY_MTIME_MAX): New macros.
- (FILE_TIMESTAMP_STAT_MODTIME): Now takes fname arg. All uses changed.
- (FILE_TIMESTAMP_DIV, FILE_TIMESTAMP_MOD)
- (FILE_TIMESTAMP_FROM_S_AND_NS): Remove.
- (FILE_TIMESTAMP_S, FILE_TIMESTAMP_NS): Use shifts instead of
- multiplication and division. Offset the timestamps by
- ORDINARY_MTIME_MIN.
- (file_timestamp_cons): New decl.
- (NEW_MTIME): Now just the maximal timestamp value, as we no longer use
- -1 to refer to nonexistent files.
-
- * file.c (snap_deps, print_file): Use NONEXISTENT_MTIME,
- UNKNOWN_MTIME, and OLD_MTIME instead of magic constants.
- * filedef.h (file_mtime_1): Likewise.
- * main.c (main): Likewise.
- * remake.c (update_file_1, notice_finished_file, check_dep)
- (f_mtime, name_mtime, library_search): Likewise.
- * vpath.c (selective_vpath_search): Likewise.
-
- * remake.c (f_mtime): Do not assume that (time_t) -1 equals
- NONEXISTENT_MTIME. When futzing with time stamps, adjust by
- multiples of 2**30, not 10**9. Do not calculate timestamp
- adjustments on DOS unless they are needed.
-
- * commands.c (delete_target): Do not assume that
- FILE_TIMESTAMP_S yields -1 for a nonexistent file, as that is
- no longer true with the new representation.
-
- * file.c (file_timestamp_cons): New function, replacing
- FILE_TIMESTAMP_FROM_S_AND_NS. All uses changed.
- (file_timestamp_now): Use FILE_TIMESTAMP_HI_RES instead of 1 <
- FILE_TIMESTAMPS_PER_S to determine whether we're using hi-res
- timestamps.
- (print_file): Print OLD_MTIME values as "very old" instead of
- as a timestamp.
-
-2000-05-31 Paul Eggert <eggert@twinsun.com>
-
- * remake.c (name_mtime): Check for stat failures. Retry if EINTR.
-
-2000-05-24 Paul D. Smith <psmith@gnu.org>
-
- * main.c (decode_switches): The "positive_int" switch uses atoi()
- which succeeds for any input, and doesn't notice if extra,
- non-digit text is after the number. This causes make to mis-parse
- command lines like "make -j 5foo" as "make -j5" (ignoring "foo"
- completely) instead of "make -j0 5foo" (where "5foo" is a
- target). Fix this by checking the value by hand. We could use
- strtol() if we were sure of having it; this is the only
- questionable use of atoi() I found so we'll just stick with that.
- Fixes PR/1716.
-
- * i18n/ja.po, i18n/nl.po, i18n/pt_BR.po: New translation files.
- * configure.in (ALL_LINGUAS): Added pt_BR.
-
-2000-05-22 Paul Eggert <eggert@twinsun.com>
-
- * remake.c (f_mtime): Fix bug when handling future odd
- timestamps in the WINDOWS32 case. Do not bother initializing
- static var to zero. Simplify code that works around WINDOWS32
- and __MSDOS__ time skew brain damage.
-
-2000-05-22 Paul Eggert <eggert@twinsun.com>
-
- * job.c: Don't include time.h, as make.h already does this.
-
-2000-05-22 Paul Eggert <eggert@twinsun.com>
-
- * configure.in (AC_CHECK_HEADERS): Add sys/time.h.
- (AC_HEADER_TIME): Add.
- (clock_gettime): Prefer -lrt to -lposix4, for Solaris 7.
- (gettimeofday): Add check for standard version of gettimeofday.
- This merges changes written by Paul D. Smith.
-
- * file.c (file_timestamp_now): Use gettimeofday if available
- and if clock_gettime does not work. Don't bother with
- high-resolution clocks if file timestamps have only one-second
- resolution.
-
- * make.h <sys/time.h>: Include, conditionally on the usual
- TIME_WITH_SYS_TIME and HAVE_SYS_TIME_H macros. This is needed
- for gettimeofday.
-
-2000-05-20 Paul D. Smith <psmith@gnu.org>
-
- * read.c (read_makefile): We weren't keeping makefile names around
- unless there was a rule defined in them; but now we need to keep
- them for variables as well. Forget trying to be fancy: just keep
- every makefile name we successfully open.
-
- * remote-cstms.c (start_remote_job_p): Change DB_EXTRA (?) to DB_JOBS.
-
-2000-05-17 Paul Eggert <eggert@twinsun.com>
-
- * commands.c (chop_commands): Ensure ctype macro args are nonnegative.
- * expand.c (variable_expand_string): Likewise.
- * function.c (subst_expand, lookup_function, msdos_openpipe):
- Likewise.
- * job.c (vms_redirect, start_job_command, new_job, child_execute_job,
- construct_command_argv_internal, construct_command_argv): Likewise.
- * main.c (decode_env_switches, quote_for_env): Likewise.
- * misc.c (collapse_continuations, end_of_token, end_of_token_w32,
- next_token): Likewise.
- * read.c (read_makefile, do_define, conditional_line,
- find_char_unquote,get_next_mword): Likewise.
- * variable.c (try_variable_definition): Likewise.
- * vpath.c (construct_vpath_list): Likewise.
- * w32/pathstuff.c (convert_vpath_to_windows32): Likewise.
-
-2000-05-10 Eli Zaretskii <eliz@is.elta.co.il>
-
- * main.c (main) [__MSDOS__]: Add SIGFPE to signals we block when
- running child programs, to prevent Make from dying on Windows 9X
- when the child triggers an FP exception.
-
-2000-05-08 Paul D. Smith <psmith@gnu.org>
-
- * dir.c (find_directory) [WINDOWS32]: If we strip a trailing "\"
- from the directory name, remember to add it back. The argument
- might really be inside a longer string (e.g. %Path%) and if you
- don't restore the "\" it'll be truncated permanently. Fixes PR/1722.
- Reported by <steven@surfcast.com>
-
-2000-05-02 Paul D. Smith <psmith@gnu.org>
-
- * job.c (construct_command_argv_internal) [WINDOWS32]: Added "rd"
- and "rmdir" to the list of command.com commands.
- Reported by Elod Horvath <Elod_Horvath@lnotes5.bankofny.com>
-
-2000-04-24 Paul D. Smith <psmith@gnu.org>
-
- * i18n/ja.po: New translation file from the Japanese language team.
-
-2000-04-18 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (f_mtime): If ar_member_date() returns -1 (the member
- doesn't exist), then return (FILE_TIMESTAMP)-1 rather than
- returning the timestamp calculated from the value -1. Fixes PR/1696.
- Reported by Gilles Bourhis <Gilles.Bourhis@univ-rennes1.fr>.
-
-2000-04-17 Paul D. Smith <psmith@gnu.org>
-
- * config.h.W32.template: Add LOCALEDIR macro resolving to "".
- * w32/subproc/sub_proc.c (process_begin): Remove reference to
- debug_flag; change it to a DB() call. Fixes PR/1700.
- Reported by Jim Smith <jwksmith@attglobal.net>
-
-2000-04-17 Bruno Haible <haible@clisp.cons.org>
-
- * arscan.c [BeOS]: Add replacement for nonexistent <ar.h> from GNU
- binutils.
-
-2000-04-11 Paul D. Smith <psmith@gnu.org>
-
- * function.c (expand_builtin_function): If no arguments were
- provided, just quit early rather than changing each function to
- test for this.
- (function_table[]): Change the min # of arguments to 0 for all
- those functions for which it makes sense (currently everything
- that used to take a minimum of 1 argument, except $(call ...)).
- Fixes PR/1689.
-
-2000-04-09 Eli Zaretskii <eliz@is.elta.co.il>
-
- * README.DOS: Add instructions to install a binary distro.
- Mention latest versions of Windows.
-
-2000-04-07 Eli Zaretskii <eliz@is.elta.co.il>
-
- * main.c (main): Rename TMP_TEMPLATE into DEFAULT_TMPDIR, and use
- it for the directory of the temporary file. If P_tmpdir is
- defined, use it in preference to "/tmp/". Try $TMPDIR, $TEMP, and
- $TMP in the environment before defaulting to DEFAULT_TMPDIR.
- (print_version): Add year 2000 to the Copyright line.
-
-2000-04-04 Paul D. Smith <psmith@gnu.org>
-
- * Version 3.79 released.
-
- * make.texinfo: Update documentation with new features for 3.79.
-
- * function.c (func_wordlist): Don't re-order arguments to
- wordlist.
-
-2000-04-03 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (f_mtime): Archive member timestamps are stored as
- time_t, without nanoseconds. But, f_mtime() wants to return
- nanosecond info on those systems that support it. So, convert the
- return value of ar_member_date() into a FILE_TIMESTAMP, using 0 as
- the nanoseconds.
-
-2000-03-28 Paul D. Smith <psmith@gnu.org>
-
- * Version 3.78.92 released.
-
- * build.template: Updates for gettext support; some bugs fixed.
-
-2000-03-27 Paul D. Smith <psmith@gnu.org>
-
- * config.guess, config.sub: Updated from config CVS archive at
- :pserver:anoncvs@subversions.gnu.org:/home/cvs as of today.
-
- * read.c (record_files): Check if expanding a static pattern
- rule's prerequisite pattern leaves an empty string as the
- prerequisite, and issue an error if so. Fixes PR/1670.
- (read_makefile): Store the starting linenumber for a rule in
- TGTS_STARTED.
- (record_waiting_files): Use the TGTS_STARTED value for the file
- location passed to record_file() instead of the current
- linenumber, so error messages list the line where the target was
- defined instead of the line after the end of the rule definition.
-
- * remake.c (start_updating, finish_updating, is_updating): Fix
- PR/1671; circular dependencies in double-colon rules are not
- diagnosed. These macros set the updating flag in the root
- double-colon file instead of the current one, if it's part of a
- double-colon list. This solution provided by Tim Magill
- <magill@gate.net>; I just changed the macro names :).
- (update_file_1): Call them.
- (check_dep): Call them.
-
- The change to not automatically evaluate the $(call ...)
- function's arguments breaks recursive use of call. Although using
- $(if ...) and $(foreach ...) in $(call ...) macros is important,
- the error conditions generated are simply to obscure for me to
- feel comfortable with. If a method is devised to get both
- working, we'll revisit. For now, remove this change.
-
- * function.c (function_table): Turn on the expand bit for func_call.
- (func_call): Don't expand arguments for builtin functions; that
- will have already been done.
-
-2000-03-26 Paul D. Smith <psmith@gnu.org>
-
- * file.c (remove_intermediates): Never remove targets explicitly
- requested on the command-line by checking the cmd_target flag.
- Fixed PR/1669.
-
-2000-03-23 Paul Eggert <eggert@twinsun.com>
-
- * filedef.h (FILE_TIMESTAMP_STAT_MODTIME): Use st_mtime instead of
- st_mtim.tv_sec; the latter doesn't work on Unixware.
-
-2000-03-18 Paul D. Smith <psmith@gnu.org>
-
- * file.c (file_hash_enter): If we're trying to change a file into
- itself, just return. We used to assert this wasn't true, but
- someone came up with a weird case involving archives. After
- playing with it for a while I decided it was OK to ignore it.
-
- * default.c: Define COFLAGS to empty to avoid spurious warnings.
-
- * filedef.h: Change #if ST_MTIM_NSEC to #ifdef; this is a macro
- containing the name of the nsec field, not true/false.
- * make.h: Ditto.
- Reported by Marco Franzen <Marco.Franzen@Thyron.com>.
-
-2000-03-08 Tim Magill <magill@gate.net>
-
- * remake.c (update_file): Return the exit status of the pruned
- file when pruning, not just 0. Fixes PR/1634.
-
-2000-02-24 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: Close a minor potential security hole; if you're
- reading makefiles from stdin (who does that?) you could run into a
- race condition with the temp file using mktemp() or tmpnam(). Add
- a check for mkstemp() and fdopen().
- * main.c (open_tmpfile): New function to open a temporary file.
- If we have mkstemp() (and fdopen()), use that. If not use
- mktemp() or tmpnam(). If we have fdopen(), use open() to open the
- file O_CREAT|O_EXCL. If not, fall back to normal fopen() (insecure).
- (main): Call it.
- * job.c (child_execute_job) [VMS]: Call it.
-
- * variable.c (lookup_variable): If we find a variable which is
- being expanded, then note it but keep looking through the rest of
- the set list to see if we can find one that isn't. If we do,
- return that. If we don't, return the original. Fix for PR/1610.
-
- While implementing this I realized that it also solves PR/1380 in
- a much more elegant way. I don't know what I was smoking before.
- So, remove the hackage surrounding the original fix for that (see
- below). Change this function back to lookup_variable and remove
- the extra setlist argument.
- * variable.h (recursively_expand_setlist): Remove the macro,
- rename the prototype, and remove the extra setlist argument.
- (lookup_variable): Ditto.
- * expand.c (recursively_expand): Rename and remove the extra
- setlist argument.
- (reference_variable): Use lookup_variable() again.
- (allocated_variable_append): Remove the extra setlist argument.
-
-2000-02-21 Paul D. Smith <psmith@gnu.org>
-
- * README.template: A few updates.
-
- * i18n/de.po: New version from the German translation team.
-
-2000-02-09 Paul D. Smith <psmith@gnu.org>
-
- * Version 3.78.91 released.
-
-2000-02-07 Paul D. Smith <psmith@gnu.org>
-
- * read.c (read_makefile): Reset *p2 to ':', not *colonp. If any
- filenames contained backslashes the resulting output (without
- backslashes) will be shorter, so setting *colonp doesn't change
- the right character. Fix for PR/1586.
-
- For += target-specific variables we need to remember which
- variable set we found the variable in, so we can start looking
- from there in the next iteration (otherwise we might see it again
- in recursively_expand and fail!). This is turning into a hack; if
- it gets any worse we'll have to rethink this entire algorithm...
- implementing expansion of these references separately from the
- "normal" expansion, say, instead of using the same codepath.
- Actually, it's already "worse enough" :-/.
- Fix for PR/1380.
-
- * variable.h (recursively_expand_setlist): Rename
- recursively_expand to add a struct variable_set_list argument, and
- make a macro for recursively_expand.
- (lookup_variable_setlist): Rename lookup_variable to add a struct
- variable_set_list argument, and make a macro for lookup_variable.
-
- * expand.c (recursively_expand_setlist): Take an extra struct
- variable_set_list argument and pass it to allocated_variable_append().
- (reference_variable): Use lookup_variable_setlist() and pass the
- returned variable_set_list to recursively_expand_setlist.
- (allocated_variable_append): Take an extra setlist argument and
- use this as the starting place when searching for the appended
- expansion. If it's null, use current_variable_set_list as before.
-
- * variable.c (lookup_variable_setlist): If the LISTP argument is
- not nil, set it to the list containing the variable we found.
-
-2000-02-04 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (print_variable): Write out filename/linenumber
- information for the variable definition if present.
- (define_variable_in_set): Store filename information if provided.
- (define_variable, define_variable_for_file): Removed.
- (try_variable_definition): Use define_variable_loc() to keep
- variable definition location information.
- * read.c (read_makefile): Keep variable definition location info.
- (do_define): Ditto.
- (record_target_var): Ditto.
- * variable.h (define_variable_in_set): New fileinfo argument.
- (define_variable, define_variable_loc, define_variable_for_file):
- Declare new macros.
-
- Fix PR/1407:
-
- * filedef.h (struct file): Rename patvar to pat_variables and make
- it just a variable_set_list; we need our own copy of the pattern
- variable's variable set list here to avoid overwriting the global
- one.
- * variable.c (initialize_file_variables): Move the instantiation
- of the pat_variables pointer here. Only do the search after we're
- done reading the makefiles so we don't search too early. If
- there's a pat_variables value, set up the variables next ptr.
- * expand.c (variable_expand_for_file): Remove the setup of the
- pat_variables info; it's done earlier now to ensure the parent's
- pattern variables are set up correctly as well.
-
-2000-02-03 Paul D. Smith <psmith@gnu.org>
-
- * job.c (sh_chars_dos) [WINDOWS32]: Add "&" as a shell
- metacharacter for the W32 DOS shell.
- Reported by Warren Jones <wjones@tc.fluke.com>.
-
-2000-02-02 Paul D. Smith <psmith@gnu.org>
-
- Fixes for the OpenVMS port from Hartmut Becker <becker@rto.dec.com>
-
- * config.h-vms [VMS]: Define LOCALEDIR to something; needed for
- the expansion of bindtextdomain() even though it's a no-op.
- * vmsfunctions.c (strcmpi): Remove duplicate definition of strcmpi().
- (readdir): Use DB() instead of testing debug_flag.
- * dir.c (file_impossible) [VMS]: Search "p" not "name".
- * job.c [VMS]: Switch from debug_flag to the new DB macro. Add
- some i18n _() macros (even though VMS doesn't yet support it).
-
- * function.c (patsubst_expand): Change "len" to not be unsigned to
- avoid type mismatches.
-
- * main.c (main): Declare signame_init() if we're going to call it.
-
-2000-01-29 Eli Zaretskii <eliz@is.elta.co.il>
-
- * Makefile.DOS.template: Track changes in Makefile.in
- (install-recursive, uninstall-recursive): Add missing targets.
- (DESTDIR): Define.
- (install-binPROGRAMS, uninstall-binPROGRAMS): Use $(DESTDIR).
-
- * default.c (default_variables) [__MSDOS__]: Define CXX to gpp.
-
-2000-01-27 Paul D. Smith <psmith@gnu.org>
-
- * gettext.c: Some warning cleanups, and a fix for systems which
- don't define HAVE_ALLOCA (the workaround code was included
- twice).
-
-2000-01-26 Paul D. Smith <psmith@gnu.org>
-
- * Version 3.78.90 released.
-
-2000-01-25 Paul D. Smith <psmith@gnu.org>
-
- Change gettext support to use the simplified version in libit 0.7.
-
- * getopt.c, make.h: Use gettext.h instead of libintl.h.
- * ABOUT-NLS, gettext.h, gettext.c: New files from libit 0.7.
- Modified to remove some static declarations which aren't defined.
- * acconfig.h: Use new gettext #defines.
- * acinclude.m4: Add fp_WITH_GETTEXT; remove AM_GNU_GETTEXT.
- * configure.in: Call fp_WITH_GETTEXT instead.
- * Makefile.am: New gettext stuff. Also force inclusion of glob
- files for systems which have LIBC glob.
-
- * i18n/Makefile.am, i18n/.cvsignore: New dir for translation files.
- * i18n/de.po, i18n/es.po, i18n/fr.po, i18n/ko.po, i18n/nl.po:
- * i18n/pl.po, i18n/ru.po: Import translations already done for
- earlier versions of GNU make. Thanks for that work!!
-
- * po/Makefile.in.in, po/POTFILES.in: Removed.
-
-2000-01-23 Paul D. Smith <psmith@gnu.org>
-
- * main.c (decode_debug_flags): If debug_flag is set, enable all
- debugging levels.
- (debug_flag): Resurrect this flag variable.
- (switches): Make -d give the old behavior of turning on all
- debugging. Change --debug alone to emit basic debugging and take
- optional arguments to expand debugging.
- * NEWS: Document the new debugging options.
-
- * remake.c (no_rule_error): Remove this function. This tries to
- fix a real problem--see the description with the introduction of
- this function below. However, the cure is worse than the disease
- and this approach won't work.
- (remake_file): Put the code from no_rule_error back here.
- (update_file_1): Remove call to no_rule_error.
-
- * filedef.h (struct file): Remove mfile_status field.
-
-2000-01-22 Paul D. Smith <psmith@gnu.org>
-
- Integrate GNU gettext support.
-
- * configure.in: Add AM_GNU_GETTEXT.
- * Makefile.am: Add options for setting LOCALEDIR, -Iintl, etc.
- * acinclude.m4: Add gettext autoconf macros.
- * acconfig.h: Add new gettext #defines.
- * make.h: Include libintl.h. Make sure _() and N_() macros are
- declared. Make gettext() an empty macro is NLS is disabled.
- * main.c (struct command_switch switches[]): Can't initialize
- static data with _() (gettext calls), so use N_() there then use
- gettext() directly when printing the strings.
- * remake.c (no_rule_error): The string constants can't be static
- when initializing _() macros.
- * file.c (print_file): Reformat a few strings to work better for
- translation.
- * po/POTFILES.in, po/Makefile.in.in: New files. Take
- Makefile.in.in from the latest GNU tar distribution, as that
- version works better than the one that comes with gettext.
- * NEWS: Mention i18n ability.
-
-2000-01-21 Paul D. Smith <psmith@gnu.org>
-
- Installed patches for the VMS port.
- Patches provided by: Hartmut Becker <Hartmut.Becker@compaq.com>
-
- * readme.vms, arscan.c, config.h-vms, default.c, dir.c, file.c:
- * implicit.c, job.c, make.h, makefile.com, makefile.vms, rule.c:
- * variable.c, vmsdir.h, vmsfunctions.c, vmsify.c, glob/glob.c:
- * glob/glob.h: Installed patches. See readme.vms for details.
-
-2000-01-14 Andreas Schwab <schwab@suse.de>
-
- * dir.c (read_dirstream): Initialize d_type if it exists.
-
-2000-01-11 Paul D. Smith <psmith@gnu.org>
-
- Resolve PR/xxxx: don't automatically evaluate the $(call ...)
- function's arguments. While we're here, clean up argument passing
- protocol to always use simple nul-terminated strings, instead of
- sometimes using offset pointers to mark the end of arguments.
- This change also fixes PR/1517.
- Reported by Damien GIBOU <damien.gibou@st.com>.
-
- * function.c (struct function_table_entry): Remove the negative
- required_args hack; put in explicit min and max # of arguments.
- (function_table): Add in the max value. Turn off the expand bit
- for func_call.
- (expand_builtin_function): Test against minimum_args instead of
- the obsolete required_args.
- (handle_function): Rewrite this. We don't try to be fancy and
- pass one style of arguments to expanded functions and another
- style to non-expanded functions: pass pointers to nul-terminated
- strings to all functions.
- (func_call): Rewrite this. If we are invoking a builtin function
- and it's supposed to have its arguments expanded, do that (since
- it's not done by handle_function for $(call ...) anymore). For
- non-builtins, just add the variables as before but mark them as
- recursive so they'll be expanded later, as needed.
- (func_if): All arguments are vanilla nul-terminated strings:
- remove trickery with "argv[1]-1".
- (func_foreach): Ditto.
-
- * expand.c (expand_argument): If the second arg is NULL, expand
- the entire first argument.
-
- * job.c (new_job): Zero the child struct. This change was just
- made to keep some heap checking software happy, not because there
- was an actual bug (the important memory was being cleared properly).
-
-1999-12-15 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (print_variable): Print the variable with += if the
- append flag is set.
-
- * implicit.c (pattern_search): Remove the extra check of the
- implicit flag added on 8/24/1998. This causes problems and the
- reason for the change was better resolved by the change made to
- check_deps() on 1998-08-26. This fixes PR/1423.
-
-1999-12-08 Paul D. Smith <psmith@gnu.org>
-
- * dir.c (dir_setup_glob): On 64 bit ReliantUNIX (5.44 and above)
- in LFS mode, stat() is actually a macro for stat64(). Assignment
- doesn't work in that case. So, stat is a macro, make a local
- wrapper function to invoke it.
- (local_stat): Wrapper function, if needed.
- Reported by Andrej Borsenkow <Andrej.Borsenkow@mow.siemens.ru>.
-
-1999-12-02 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (update_file): Move the considered test outside the
- double-colon loop, _but_ make sure we test the double_colon target
- not the "current" target. If we stop early because one
- double-colon target is running, mark all the rest considered and
- try to start their prerequisites (so they're marked considered).
- Fix for PR/1476 suggested by Tim Magill <tim.magill@telops.gte.com>.
-
-1999-11-22 Rob Tulloh <rob_tulloh@dev.tivoli.com>
-
- * function.c (windows32_openpipe, func_shell): Correct Windows32
- problem where $(shell nosuchfile) would incorrectly exit make. The
- fix is to print the error and let make continue.
- Reported by David Masterson <David.Masterson@kla-tencor.com>.
-
- * w32/subproc/misc.c (arr2envblk): Memory leak fix.
-
-1999-11-21 Paul D. Smith <psmith@gnu.org>
-
- Rework GNU make debugging to provide different levels of output.
-
- * NEWS: mention it.
- * debug.h: New file. Define various debugging levels and macros.
- * function.c, implicit.c, job.c, main.c, misc.c, read.c, remake.c
- * remote-cstms.c, vmsfunctions.c: Replace all code depending on
- debug_flag with invocations of debugging macros.
- * make.h: Remove debug_flag and DEBUGPR, add db_level.
-
-1999-11-18 Paul Eggert <eggert@twinsun.com>
-
- * acinclude.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a problem
- with the QNX 4.25 shell, which doesn't propagate exit status of
- failed commands inside shell assignments.
-
-1999-11-17 Paul D. Smith <psmith@gnu.org>
-
- * function.c (func_if): Find the end of the arg list by testing
- the next item for NULL; any other test is not correct.
- Reported by Graham Reed <grahamr@algorithmics.com> (PR/1429).
-
- Fix += when used in a target-specific variable context.
-
- * variable.h: New bitfield APPEND set if we have a +=
- target-specific variable.
-
- * variable.c (try_variable_definition): Add an argument to specify
- if we're trying a target-specific variable. If we are and it's an
- append style, don't append it, record it as normal recursive, but
- set the APPEND flag so it'll be expanded later.
- * main.c (handle_non_switch_argument): Use new
- try_variable_definition() signature.
- * read.c (read_makefile,record_target_var): Ditto.
-
- * expand.c (allocated_variable_append): New function: like
- allocated_variable_expand(), but we expand the same variable name
- in the context of the ``next'' variable set, then we append this
- expanded value.
- (recursively_expand): Invoke it, if the APPEND bit is set.
-
-1999-11-10 Paul D. Smith <psmith@gnu.org>
-
- * file.c (snap_deps): If the .NOTPARALLEL target is defined, turn
- off parallel builds for this make only (still allow submakes to be
- run in parallel).
- * main.c: New variable, ``not_parallel''.
- * make.h: Add an extern for it.
- * job.c (new_job): Test NOT_PARALLEL as well as JOB_SLOTS.
- * NEWS: Add info on .NOTPARALLEL.
- * make.texinfo (Special Targets): Document it.
-
- * configure.in (GLOBDIR): Set to "glob" if we need to build the
- glob library.
- * Makefile.am (SUBDIRS): Use the GLOBDIR variable instead of
- "glob" so we don't try to build glob if we don't need to (if we
- have GLIBC glob). Reported by Lars Hecking <lhecking@nmrc.ucc.ie>.
-
- * main.c (main): Don't put "***" in the clock skew warning
- message. Reported by karl@gnu.org.
-
- * make.h: Remove unneeded signal setup.
-
- * signame.c: Remove extraneous #includes; some versions of Ultrix
- don't protect against multiple inclusions and it causes compile
- errors. Reported by Simon Burge <simonb@thistledown.com.au>.
-
-1999-10-15 Paul D. Smith <psmith@gnu.org>
-
- * main.c (quote_for_env): Rename from quote_as_word().
-
- * make.h, *.c: Prefer strchr() and strrchr() in the code
- rather than index() and rindex(). Define strchr/strrchr in terms
- of index/rindex if the former aren't supported.
-
- * default.c (CHECKOUT,v): Replace the fancy, complicated
- patsubst/filter expression with a simple $(if ...) expression.
-
- * main.c (print_usage): Add the bug reporting mailing address to
- the --help output, as per the GNU coding standards.
- Reported by Paul Eggert <eggert@twinsun.com>.
-
- * README.customs: Installed information on running Customs-ized
- GNU make and setuid root, collected by Ted Stern <stern@tera.com>.
-
- * read.c (read_all_makefiles): PR/1394: Mark the end of the next
- token in the MAKEFILES value string _before_ we dup it.
-
-1999-10-13 Paul D. Smith <psmith@gnu.org>
-
- * configure.in (make_cv_sys_gnu_glob): We used to add the -Iglob
- flag to CPPFLAGS, but that loses if the user specifies his own
- CPPFLAGS; this one gets added _after_ his and if he happens to
- have an old or broken glob.h--boom. Instead, put it in GLOBINC
- and SUBST it.
-
- * Makefile.am (INCLUDES): Add @GLOBINC@ to the INCLUDES macro;
- these things get on the compile line well before the user's
- CPPFLAGS.
-
-1999-10-12 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (notice_finished_file): If we get here and -n is set,
- see if all the command lines are marked recursive. If so, then we
- ran every command there is, so check the mtime on this file just
- like we would normally. If not, we assume the command we didn't
- run would updates the target and set mtime of the target to "very new".
-
- * job.c (start_job_command): Update lines_flags in the file's cmds
- structure with any per-line tokens we found (`@', `-', `+').
-
-1999-10-08 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (initialize_file_variables): Always recurse to
- initialize the parent's file variables: the parent might not have
- any rules to run so it might not have been initialized before
- this--we need this to set up the chain properly for
- target-specific variables.
-
-1999-09-29 Paul Eggert <eggert@twinsun.com>
-
- * main.c (quote_as_word): Always quote for decode_env_switches
- instead of for the shell, so that arguments with strange
- characters are are passed to submakes correctly. Remove
- double_dollars arg; we always double dollars now. All callers
- changed.
- (decode_env_switches): Don't run off the end of an environment
- variable whose contents ends in a unescaped backslash.
-
-1999-09-23 Paul D. Smith <psmith@gnu.org>
-
- * commands.c, function.c, job.c, read.c: Cast arguments to
- ctype.h functions/macros to _unsigned_ char for portability.
-
- * remake.c, function.c: Compiler warning fixes: the second
- argument to find_next_token() should be an _unsigned_ int*.
- Reported by Han-Wen Nienhuys <hanwen@cs.uu.nl>.
-
-1999-09-23 Paul D. Smith <psmith@gnu.org>
-
- * Version 3.78.1 released.
-
- * make.texinfo: Update version/date stamp.
-
- * main.c (main): Argh. For some reason we were closing _all_ the
- jobserver pipes before we re-exec'd due to changed makefiles.
- This means that any re-exec got a "jobserver unavailable" error :-/.
- I can't believe we didn't notice this before.
-
-1999-09-22 Paul D. Smith <psmith@gnu.org>
-
- * Version 3.78 released.
-
- * main.c (main): Only fail on multiple --jobserver-fds options if
- they aren't all the same. Some makefiles use things like
- $(MAKE) $(MFLAGS) which will cause multiple, identical copies of
- --jobserver-fds to show up.
-
-1999-09-16 Paul D. Smith <psmith@gnu.org>
-
- * main.c (define_makeflags): Zero out FLAGSTRING to avoid
- uninitialized memory reads when checking *p != '-' in the loop.
-
-1999-09-15 Paul D. Smith <psmith@gnu.org>
-
- * Version 3.77.97 released.
-
- * configure.in (MAKE_HOST): AC_SUBST this so it will go into the
- makefile.
- * Makefile.am (check-local): Print a success banner if the check
- succeeds.
- (check-regression): A bit of fine-tuning.
-
-1999-09-15 Eli Zaretskii <eliz@is.elta.co.il>
-
- * README.DOS.template: Document requirements for the test suite.
- * Makefile.DOS.template: Updates to allow the test suite to run
- from "make check".
-
- * main.c (main): Handle it if argv[0] isn't an absolute path.
-
-1999-09-13 Paul D. Smith <psmith@gnu.org>
-
- * Version 3.77.96 released.
-
- * Makefile.am (loadavg): Use CPPFLAGS, etc. to make sure we get
- all the right #defines to compile.
- (check-regression): Look for the regression test suite in the make
- package itself. If we're building remotely, use symlinks to make
- a local copy.
- (dist-hook): Put the test suite into the tar file.
-
- * configure.in: Look for perl for the test suite.
-
-1999-09-10 Paul Eggert <eggert@twinsun.com>
-
- * acinclude.m4 (AC_SYS_LARGEFILE_FLAGS): If on HP-UX 10.20 or
- later, and using GCC, define __STDC_EXT__; this works around a
- bug in GCC 2.95.1.
-
-1999-09-08 Paul D. Smith <psmith@gnu.org>
-
- * main.c (print_version): Ugh. GLIBC's configure tries to check
- make version strings and is too aggressive with their matching
- expressions. I've struck a deal with them to leave the version
- output as-is for 3.78, and they'll change their configure checks
- so that I can change this back in the future.
-
-1999-09-07 Eli Zaretskii <eliz@is.elta.co.il>
-
- * job.c (construct_command_argv_internal) [__MSDOS__]: Add "echo"
- and "unset" to the list of builtin shell commands.
-
- * configh.DOS.template (MAKE_HOST): Define to "i386-pc-msdosdjgpp"
- which is the canonical name of the DJGPP host.
-
-1999-09-05 Paul D. Smith <psmith@gnu.org>
-
- * Version 3.77.95 released.
-
- * make.texinfo (Make Errors): Document some new jobserver error
- messages.
-
-1999-09-04 Eli Zaretskii <eliz@is.elta.co.il>
-
- * make.texinfo (Make Errors): Document the hint about 8 spaces
- instead of a TAB.
- (Call Function, Quick Reference): Use @code{$(1)}, not @var.
-
- * main.c (main) [__MSDOS__]: Say "on this platform" instead of "on
- MS-DOS", since the MSDOS version could run on Windows.
-
-1999-09-03 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (notice_finished_file): Always set mtime_before_update
- if it's not been set, not just if we ran some rules. Otherwise we
- may have a situation where a target's prerequisite was rebuilt but
- not changed, so this target's rules weren't run, then
- update_goal_chain() sees mtime_before_update != last_mtime and
- thinks that the top-level target changed when it really didn't.
- This can cause an infinite loop when remaking makefiles.
- (update_goal_chain): If we get back to the top and we don't know
- what the goal's last_mtime was, find it now. We need to know so
- we can compare it to mtime_before_update later (this is only
- crucial when remaking makefiles--should we only do it then?)
-
-1999-09-02 Paul D. Smith <psmith@gnu.org>
-
- * read.c (read_makefile): If "override" appears as the first
- prerequisite, look further to ensure this is really a
- target-specific variable definition, and not just some
- prerequisite named "override".
-
-1999-09-01 Paul D. Smith <psmith@gnu.org>
-
- * function.c (IS_PATHSEP) [WINDOWS32]: Allow backslash separators
- for W32 platforms.
- * read.c (record_files) [WINDOWS32]: Allow backslash separators
- for W32 platforms.
- * implicit.c (pattern_search) [WINDOWS32]: Allow backslash
- separators for W32 platforms.
-
- * configure.in (MAKE_HOST): Define it to be the canonical build
- host info, now that we need AC_CANONICAL_HOST anyway (for large
- file support).
- * version.c (make_host): Define a variable to MAKE_HOST so we're
- sure to get it from the local config.h.
- * main.c (print_version): Use it in the version information.
- * config.ami.template: Add MAKE_HOST.
- * configh.dos.template: Ditto.
- * config.h.W32.template: Ditto.
- * config.h-vms.template: Ditto.
-
- * main.c (main): Close the jobserver file descriptors if we need
- to re-exec ourselves.
- Also print more reasonable error if users force -jN for submakes.
- This may be common for a while until people use the jobserver
- feature. If it happens, we ignore the existing jobserver stuff
- and use whatever they specified on the commandline.
- (define_makeflags): Fixed a long-standing bug: if a long name
- only option comes immediately after a single letter option with no
- argument, then the option string is constructed incorrectly. For
- example, with -w and --jobserver-fds you get "-w-jobserver-fds..."
- instead of "-w --jobserver-fds..."; add in an extra " -".
-
- * make.texinfo (Phony Targets): Add another example of using
- .PHONY with subdirectories/recursive make.
-
-1999-08-30 Paul D. Smith <psmith@gnu.org>
-
- * README.W32.template: Renamed from README.W32 so it's
- autogenerated during the dist. A few minor modifications.
-
- * configure.in: Check for kstat_open before AC_FUNC_GETLOADAVG
- since the latter needs to know whether the former exists to give
- an accurate result.
-
-1999-08-26 Rob Tulloh <rob_tulloh@dev.tivoli.com>
-
- * NMakefile [WINDOWS32]: Now more robust. If you change a file
- under w32/subproc, the make.exe will be relinked. Also added some
- tests to make sure erase commands won't fail when executed in a
- pristine build environment.
-
- * w32/subproc/sub_proc.c [WINDOWS32]: Added support for
- HAVE_CYGWIN_SHELL. If you are using the Cygwin B20.1 release, it
- is now possible to have have native support for this shell without
- having to rely on klutzy BATCH_MODE_ONLY_SHELL.
-
- * config.h.W32 [WINDOWS32]: Added HAVE_CYGWIN_SHELL macro which
- users can define if they want to build make to use this shell.
-
- * README.W32 [WINDOWS32]: Added informaton about
- HAVE_CYGWIN_SHELL. Cleaned up text a bit to make it more current.
-
-1999-08-26 Paul Eggert <eggert@twinsun.com>
-
- Support large files in AIX, HP-UX, and IRIX.
-
- * acinclude.m4 (AC_LFS): Remove. Superseded by AC_SYS_LARGEFILE.
- (AC_SYS_LARGEFILE_FLAGS, AC_SYS_LARGEFILE_SPACE_APPEND,
- AC_SYS_LARGEFILE_MACRO_VALUE, AC_SYS_LARGEFILE): New macros.
- (jm_AC_TYPE_UINTMAX_T): Check for busted compilers that can't
- shift or divide unsigned long long.
- (AM_PROG_CC_STDC): New macro; a temporary workaround of a bug in
- automake 1.4.
-
- * configure.in (AC_CANONICAL_HOST): Add; required by new
- AC_SYS_LARGEFILE.
- (AC_SYS_LARGEFILE): Renamed from AC_LFS.
- (AM_PROG_CC_STDC): Add.
-
- * config.guess, config.sub: New files, needed for AC_CANONICAL_HOST.
-
-1999-08-25 Paul Eggert <eggert@twinsun.com>
-
- * make.h (CHAR_MAX): New macro.
- * main.c (struct command_switch): c is now int,
- so that it can store values greater than CHAR_MAX.
- (switches): Replace small numbers N with CHAR_MAX+N-1,
- to avoid problems with non-ASCII character sets.
- (short_option): New macro.
- (init_switches, print_usage, define_makeflags): Use it instead of
- isalnum.
-
-1999-08-25 Paul D. Smith <psmith@gnu.org>
-
- * Version 3.77.94 released.
-
- * main.c (main) [__MSDOS__]: If the user uses -j, warn that it's
- not supported and reset it.
-
- * make.h (ISDIGIT): Obtained this from the textutils distribution.
- * main.c (decode_switches): Use it.
- * function.c (is_numeric): Use it.
-
- * main.c (struct command_switch): Store the switch char in an
- unsigned char to shut up GCC about using it with ctype.h macros.
- Besides, it _is_ always unsigned.
-
-1999-08-24 Paul D. Smith <psmith@gnu.org>
-
- * make.texinfo: Change "dependency" to "prerequisite" and
- "dependencies" to "prerequisites". Various other cleanups related
- to the terminology change.
- * file.c: Change debugging and error messages to use
- "prerequisite" instead of "dependency".
- * implicit.c: Ditto.
- * remake.c: Ditto.
- * NEWS: Document it.
-
-1999-08-23 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (update_file): Move the considered check into the
- double-colon rule loop, so we consider double-colon rules
- individually (otherwise after the first is pruned, the rest won't
- get run).
-
- * README.template: Minor changes.
-
- Remove the debugging features of the jobserver, so it no longer
- writes distinct tokens to the pipe. Thus, we don't need to store
- the token we get. A side effect of this is to remove a potential
- "unavailable token" situation: make-1 invokes make-2 with its
- special token and make-3 with a normal token; make-2 completes.
- Now we're waiting for make-3 but using 2 tokens; our special token
- is idle. In the new version we don't have special tokens per se,
- we merely decide if we already have a child or not. If we don't,
- we don't need a token. If we do, we have to get one to run the
- next child. Similar for putting tokens back: if we're cleaning up
- the last child, we don't put a token back. Otherwise, we do.
-
- * main.c: Add a new, internal flag --jobserver-fds instead of
- overloading the meaning of -j. Remove job_slots_str and add the
- stringlist jobserver_fds.
- (struct command_switch): We don't need the int_string type.
- (switches[]): Add a new option for --jobserver-fds and remove
- conditions around -j. Make the description for the former 0 so it
- doesn't print during "make --help".
- (main): Rework jobserver parsing. If we got --jobserver-fds
- make sure it's valid. We only get one and job_slots must be 0.
- If we're the toplevel make (-jN without --jobserver-fds) create
- the pipe and write generic tokens.
- Create the stringlist struct for the submakes.
- Clean up the stringlist where necessary.
- (init_switches): Remove int_string handling.
- (print_usage): Don't print internal flags (description ptr is 0).
- (decode_switches): Remove int_string handling.
- (define_makeflags): Remove int_string handling.
-
- * job.c: Remove my_job_token flag and all references to the
- child->job_token field.
- (free_job_token): Remove this and merge it into free_child().
- (reap_children): Rework the "reaped a child" logic slightly.
- Don't call defunct free_job_token anymore. Always call
- free_child, even if we're dying.
- (free_child): If we're not freeing the only child, put a token
- back in the pipe. Then, if we're dying, don't bother to free.
- (new_job): If we are using the jobserver, loop checking to see if
- a) there are no children or b) we get a token from the pipe.
-
- * job.h (struct child): Remove the job_token field.
-
-1999-08-20 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (try_variable_definition): Allocate for variable
- expansion in f_append with a simple variable: if we're looking at
- target-specific variables we don't want to trash the buffer.
- Noticed by Reiner Beninga <Reiner.Beninga@mchp.siemens.de>.
-
-1999-08-16 Eli Zaretskii <eliz@is.elta.co.il>
-
- * main.c (main) [__MSDOS__]: Mirror any backslashes in argv[0], to
- avoid problems in shell commands that use backslashes as escape
- characters.
-
-1999-08-16 Paul D. Smith <psmith@gnu.org>
-
- * Version 3.77.93 released.
-
-1999-08-13 Paul D. Smith <psmith@gnu.org
-
- * function.c (func_if): New function $(if ...) based on the
- original by Han-Wen but reworked quite a bit.
- (function_table): Add it.
- * NEWS: Introduce it.
- * make.texinfo (If Function): Document it.
-
- * job.c (free_job_token): Check for EINTR when writing tokens to
- the jobserver pipe.
-
-1999-08-12 Paul D. Smith <psmith@gnu.org>
-
- Another jobserver algorithm change. We conveniently forgot that
- the blocking bit is shared by all users of the pipe, it's not a
- per-process setting. Since we have many make processes all
- sharing the pipe we can't use the blocking bit as a signal handler
- flag. Instead, we'll dup the pipe's read FD and have the SIGCHLD
- handler close the dup'd FD. This will cause the read() to fail
- with EBADF the next time we invoke it, so we know we need to reap
- children. We then re-dup and reap.
-
- * main.c (main): Define the job_rfd variable to hold the dup'd FD.
- Actually dup the read side of the pipe. Don't bother setting the
- blocking bit on the file descriptor.
- * make.h: Declare the job_rfd variable.
- * job.c (child_handler): If the dup'd jobserver pipe is open,
- close it and assign -1 to job_rfd to notify the main program that
- we got a SIGCHLD.
- (start_job_command): Close the dup'd FD before exec'ing children.
- Since we open and close this thing so often it doesn't seem
- worth it to use the close-on-exec bit.
- (new_job): Remove code for testing/setting the blocking bit.
- Instead of EAGAIN, test for EBADF. If the dup'd FD has been
- closed, re-dup it before we reap children.
-
- * function.c (func_shell): Be a little more accurate about the
- length of the error string to allocate.
-
- * expand.c (variable_expand_for_file): If there's no filenm info
- (say, from a builtin command) then reset reading_file to 0.
-
-1999-08-09 Paul D. Smith <psmith@gnu.org>
-
- * maintMakefile: Use g in sed (s///g) to replace >1 variable per
- line.
-
- * Makefile.DOS.template [__MSDOS__]: Fix mostlyclean-aminfo to
- remove the right files.
-
-1999-08-01 Eli Zaretskii <eliz@is.elta.co.il>
-
- * function.c (msdos_openpipe) [__MSDOS__]: *Really* return a FILE
- ptr.
-
-1999-08-01 Paul D. Smith <psmith@gnu.org>
-
- New jobserver algorithm to avoid a possible hole where we could
- miss SIGCHLDs and get into a deadlock. The original algorithm was
- suggested by Roland McGrath with a nice refinement by Paul Eggert.
- Many thanks as well to Tim Magill and Howard Chu, who also
- provided many viable ideas and critiques. We all had a fun week
- dreaming up interesting ways to use and abuse UNIX syscalls :).
-
- Previously we could miss a SIGCHLD if it happened after we reaped
- the children but before we re-entered the blocking read. If this
- happened to all makes and/or all children, make would never wake
- up.
-
- We avoid this by having the SIGCHLD handler reset the blocking bit
- on the jobserver pipe read FD (normally read does block in this
- algorithm). Now if the handler is called between the time we reap
- and the time we read(), and there are no tokens available, the
- read will merely return with EAGAIN instead of blocking.
-
- * main.c (main): Set the blocking bit explicitly here.
- * job.c (child_handler): If we have a jobserver pipe, set the
- non-blocking bit for it.
- (start_waiting_job): Move the token stuff back to new_job; if we
- do it here then we're not controlling the number of remote jobs
- started!
- (new_job): Move the check for job slots to _after_ we've created a
- child structure. If the read returns without getting a token, set
- the blocking bit then try to reap_children.
-
- * make.h (EINTR_SET): Define to test errno if EINTR is available,
- or 0 otherwise. Just some code cleanup.
- * arscan.c (ar_member_touch): Use it.
- * function.c (func_shell): Use it.
- * job.c (reap_children): Use it.
- * remake.c (touch_file): Use it.
-
-1999-07-28 Paul D. Smith <psmith@gnu.org>
-
- * make.h: Define _() and N_() macros as passthrough to initiate
- NLS support.
- * <all>: Add _()/N_() around translatable strings.
-
-1999-07-27 Paul D. Smith <psmith@gnu.org>
-
- * read.c: Make sure make.h comes before other headers.
-
-1999-07-26 Paul D. Smith <psmith@gnu.org>
-
- * make.texinfo (Quick Reference): Update with the new features.
-
-1999-07-25 Eli Zaretskii <eliz@is.elta.co.il>
-
- * remake.c [__MSDOS__]: Don't include variables.h, it's already
- included.
-
- * function.c (msdos_openpipe) [__MSDOS__]: Return FILE ptr.
- (func_shell) [__MSDOS__]: Fix the argument list.
-
- * Makefile.DOS.template: Update from Makefile.in.
-
- * README.DOS.template: Configure command fixed.
-
- * configh.dos.template: Update to provide definitions for
- uintmax_t, fd_set_size_t, and HAVE_SELECT.
-
-1999-07-24 Paul D. Smith <psmith@gnu.org>
-
- * Version 3.77.91 released.
-
- * configure.in: Changes to the boostrapping code: if build.sh.in
- doesn't exist configure spits an error and generates an empty
- build.sh file which causes make to be confused.
- * maintMakefile: Don't build README early.
-
-1999-07-23 Paul D. Smith <psmith@gnu.org>
-
- * job.c (my_job_token): This variable controls whether we've
- handed our personal token to a subprocess or not. Note we could
- probably infer this from the value of job_slots_used, but it's
- clearer to just keep it separately. Job_slots_used isn't really
- relevant when running the job server.
- (free_job_token): New function: free a job token. If we don't
- have one, no-op. If we have the personal token, reclaim it. If
- we have another token, write it back to the pipe.
- (reap_children): Call free_job_token.
- (free_child): Call free_job_token.
- (start_job_command): Remove duplicate test for '+' in the command.
- If we don't appear to be running a recursive make, close the
- jobserver filedescriptors.
- (start_waiting_job): If our personal token is available, use that
- instead of going to the server pipe.
- (*): Add the token value to many debugging statements, and print
- the child target name in addition to the ptr hex value.
- Change the default "no token" value from '\0' to '-' so it looks
- better in the output.
-
- * main.c (main): Install the child_handler with sigaction()
- instead of signal() if we have it. On SysV systems, signal() uses
- SysV semantics which are a pain. But sigaction() always does what
- we want.
- (main): If we got job server FDs from the environment, test them
- to see if they're open. If not, the parent make closed them
- because it didn't think we were a submake. Print a warning and
- suggestion to use "+" on the submake invocation, and hard-set to
- -j1 for this instance of make.
- (main): Change the algorithm for assigning slots to be more
- robust. Previously make checked to see if it thought a subprocess
- was a submake and if so, didn't give it a token. Since make's
- don't consume tokens we could spawn many of makes fighting for a
- small number of tokens. Plus this is unreliable because submakes
- might not be recognized by the parent (see above) then all the
- tokens could be used up by unrecognized makes, and no one could
- run. Now every make consumes a token from its parent. However,
- the make can also use this token to spawn a child. If the make
- wants more than one, it goes to the jobserver pipe. Thus there
- will never be more than N makes running for -jN, and N*2 processes
- (N makes and their N children). Every make can always run at
- least one job, and we'll never deadlock. (Note the closing of the
- pipe for non-submakes also solves this, but this is still a better
- algorithm.) So! Only put N-1 tokens into the pipe, since the
- topmost make keeps one for itself.
-
- * configure.in: Find sigaction. Disable job server support unless
- the system provides it, in addition to either waitpid() or
- wait3().
-
-1999-07-22 Rob Tulloh <rob_tulloh@dev.tivoli.com>
-
- * arscan.c (ar_member_touch) [WINDOWS32]: The ar_date field is a
- string on Windows, not a timestamp.
-
-1999-07-21 Paul D. Smith <psmith@gnu.org>
-
- * Version 3.77.90 released.
-
- * Makefile.am (AUTOMAKE_OPTIONS): Require automake 1.4.
-
- * function.c: Rearrange so we don't need to predeclare the
- function_table array; K&R C compilers don't like that.
-
- * acinclude.m4 (AC_FUNC_SELECT): Ouch; this requires an ANSI C
- compiler! Change to work with K&R compilers as well.
-
- * configure.in (AC_OUTPUT): Put build.sh back. I don't know how I
- thought it would work this way :-/. We'll have to think of
- something else.
- * Makefile.am: Remove rule to create build.sh.
-
- * default.c (default_suffix_rules): Rearrange the default command
- lines to conform to POSIX rules (put the filename argument $<
- _after_ the OUTPUT_OPTION, not before it).
-
- * various: Changed !strncmp() calls to strneq() macros.
-
- * misc.c (sindex): Make slightly more efficient.
-
- * dir.c (file_impossible): Change savestring(X,strlen(X)) to xstrdup().
- * implicit.c (pattern_search): Ditto.
- * main.c (enter_command_line_file): Ditto.
- (main): Ditto.
- * misc.c (copy_dep_chain): Ditto.
- * read.c (read_makefile): Ditto.
- (parse_file_seq): Ditto.
- (tilde_expand): Ditto.
- (multi_glob): Ditto.
- * rule.c (install_pattern_rule): Ditto.
- * variable.c (define_variable_in_set): Ditto.
- (define_automatic_variables): Ditto.
- * vpath.c (construct_vpath_list): Ditto.
-
- * misc.c (xrealloc): Some reallocs are non-standard: work around
- them in xrealloc by calling malloc if PTR is NULL.
- * main.c (main): Call xrealloc() directly instead of testing for
- NULL.
-
- * function.c (func_sort): Don't try to free NULL; some older,
- non-standard versions of free() don't like it.
-
- * configure.in (--enable-dmalloc): Install some support for using
- dmalloc (http://www.dmalloc.com/) with make. Use --enable-dmalloc
- with configure to enable it.
-
- * function.c (function_table_entry): Whoops! The function.c
- rewrite breaks backward compatibility: all text to a function is
- broken into arguments, and extras are ignored. So $(sort a,b,c)
- returns "a"! Etc. Ouch. Fix it by making a positive value in
- the REQUIRED_ARGS field mean exactly that many arguments to the
- function; any "extras" are considered part of the last argument as
- before. A negative value means at least that many, but may be
- more: in this case all text is broken on commas.
- (handle_function): Stop when we've seen REQUIRED_ARGS args, if >0.
- (expand_builtin_function): Compare number of args to the absolute
- value of REQUIRED_ARGS.
-
-1999-07-20 Paul D. Smith <psmith@gnu.org>
-
- * job.c (start_job_command): Ensure that the state of the target
- is cs_running. It might not be if we skipped all the lines due to
- -n (for example).
-
- * commands.c (execute_file_commands): If we discover that the
- command script is empty and succeed early, set cs_running so the
- modtime of the target is still rechecked.
-
- * rule.c (freerule): Free the dependency list for the rule.
-
- * implicit.c (pattern_search): When turning an intermediate file
- into a real target, keep the also_make list.
- Free the dep->name if we didn't use it during enter_file().
-
-1999-07-16 Paul D. Smith <psmith@gnu.org>
-
- * read.c (read_makefile): Don't allocate the commands buffer until
- we're sure we found a makefile and won't return early (mem leak).
-
- * job.c (start_job_command): Broken #ifdef test: look for F_SETFD,
- not FD_SETFD. Close-on-exec isn't getting set on the bad_stdin
- file descriptor and it's leaking :-/.
- * getloadavg.c (getloadavg): Ditto.
-
-1999-07-15 Paul D. Smith <psmith@gnu.org>
-
- * read.c (read_makefile): Fix some potential memory stomps parsing
- `define' directives where no variable name is given.
-
- * function.c (func_call): Rename from func_apply. Various code
- cleanup and tightening.
- (function_table): Add "call" as a valid builtin function.
-
- * make.texinfo (Call Function): Document it.
-
- * NEWS: Announce it.
-
-1999-07-09 Eli Zaretskii <eliz@is.elta.co.il>
-
- * variable.c (try_variable_definition) [__MSDOS__, WINDOWS32]:
- Treat "override SHELL=" the same as just "SHELL=".
-
-1999-07-09 Paul D. Smith <psmith@gnu.org>
-
- * job.c (start_waiting_job): Don't get a second job token if we
- already have one; if we're waiting on the load to go down
- start_waiting_job() might get called twice on the same file.
-
- * filedef.h (struct file): Add new field, mtime_before_update.
- When notice_finished_file runs it assigns the cached last_mtime to
- this field.
- * remake.c (update_goal_chain): Notice that a file wasn't updated
- by asking if it changed (g->changed) and comparing the current
- cached time (last_mtime) with the previous one, stored in
- mtime_before_update. The previous check ("did last_mtime changed
- during the run of update_file?") fails for parallel builds because
- last_mtime is set during reap_children, before update_file is run.
- This causes update_goal_chain to always return -1 (nothing
- rebuilt) when running parallel (-jN). This is OK during "normal"
- builds since our caller (main) treats these cases identically in
- that case, but if when rebuilding makefiles the difference is very
- important, as it controls whether we re-exec or not.
- * file.c (file_hash_enter): Copy the mtime_before_update field.
- (snap_deps): Initialize mtime_before_update to -1.
- * main.c (main): Initialize mtime_before_update on old (-o) and
- new (-W) files.
-
-1999-07-08 Paul D. Smith <psmith@gnu.org>
-
- * main.c (switches): Define a new switch -R (or
- --no-builtin-variables). This option disables the defining of all
- the GNU make builtin variables.
- (main): If -R was given, force -r as well.
- * default.c (define_default_variables): Test the new flag.
- * make.h: Declare global flag.
- * make.texinfo (Options Summary): Document the new option.
- (Implicit Variables): Ditto.
-
-1999-07-06 Paul D. Smith <psmith@gnu.org>
-
- * make.texinfo (Options Summary): Correct examples in
- --print-data-base option summary (problem reported by David Morse
- <morse@nichimen.com>).
-
- * arscan.c: Add support for archives in Windows (VC++). Frank
- Libbrecht <frankl@abzx.belgium.hp.com> provided info on how to do
- this.
- * NMakefile.template (CFLAGS_any): Remove NO_ARCHIVES from the
- compile line.
- * build_w32.bat: Ditto.
-
- * remake.c (no_rule_error): Fix -include/sinclude so it doesn't
- give errors if you try to -include the same file twice.
- (updating_makefiles): New variable: we need to know this info in
- no_rule_error() so we know whether to print an error or not.
- (update_file_1): Unconditionally call no_rule_error(), don't try
- to play games with the dontcare flag.
-
-1999-06-14 Paul D. Smith <psmith@gnu.org>
-
- * make.texinfo (Remaking Makefiles): Add a description of how to
- prevent implicit rule searches for makefiles.
-
- * make.1: Remove statement that make continues processing when -v
- is given.
-
-1999-06-14 Paul D. Smith <psmith@gnu.org>
-
- * read.c (read_makefile): Cast -1 arguments to
- variable_expand_string() to long. Alexandre Sauve
- <Alexandre.SAUVE@ifp.fr> reports that without casts, this breaks
- on a NEC SUPER-UX SX-4 system (and it's wrong without a cast
- anyway). Of course, (a) I'd really love to start using function
- prototypes, and (b) there's a whole slew of issues related to int
- vs. long and signed vs. unsigned in the length handling of
- variable buffers, etc. Gross. Needs a complete mucking-out.
- * expand.c (variable_expand): Ditto.
-
- * acinclude.m4 (AC_FUNC_SELECT): Slight enhancement for AIX 3.2 by
- Lars Hecking <lhecking@nmrc.ucc.ie>.
-
- * read.c (get_next_mword): Allow colons to be escaped in target
- names: fix for regression failure.
-
-1999-04-26 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main): Reset read_makefiles to empty after processing so
- we get the right error message.
-
-1999-04-25 Paul D. Smith <psmith@gnu.org>
-
- * make.texinfo: Updates to @dircategory and @direntry suggested by
- Karl Berry <karl@cs.umb.edu>.
-
-1999-04-23 Eli Zaretskii <eliz@is.elta.co.il>
-
- * job.c (start_job_command) [__MSDOS__]: Call unblock_sigs before
- turning off dos_command_running, so child's signals produce the
- right effect.
-
- * commands.c (fatal_error_signal) [__MSDOS__]: Use EXIT_FAILURE
- instead of 1.
-
-1999-04-18 Eli Zaretskii <eliz@is.elta.co.il>
-
- * configh.dos.template: Update to recognize that version 2.02 of
- DJGPP contains sys_siglist stuff.
-
-1999-04-14 Paul D. Smith <psmith@gnu.org>
-
- * make.texinfo (Options/Recursion): Document the job server.
- (Parallel): Tweaks.
-
-1999-04-13 Paul D. Smith <psmith@gnu.org>
-
- Implement a new "job server" feature; the implementation was
- suggested by Howard Chu <hyc@highlandsun.com>.
-
- * configure.in (job-server): New disable option for job server
- support--it's enabled by default. If it works well this will go
- away.
-
- * NEWS: Summarize the new feature.
-
- * acconfig.h: New definition MAKE_JOBSERVER if job server support
- is enabled.
- * config.h-vms.template: Undef MAKE_JOBSERVER for this port.
- * config.h.W32.template: Ditto.
- * config.ami.template: Ditto.
-
- * main.c (struct command_switch): Add a new type: int_string.
- (switches[]) Use int_string for -j if MAKE_JOBSERVER.
- (init_switches): Initialize the new int_string switch type.
- (print_usage): New function, extracted from decode_switches().
- (decode_switches): Call it. Decode the new int_string switch type.
- (define_makeflags): Add new int_string switch data to MAKEFLAGS.
- (job_fds[]) Array to contain the pipe file descriptors.
- (main): Parse the job_slots_str option results. If necessary,
- create the pipe and seed it with tokens. Set the non-blocking bit
- for the read fd. Enable the signal handler for SIGCHLD even if we
- have a non-hanging wait; it's needed to interrupt the select() in
- job.c:start_waiting_job().
-
- * make.h: Declare job_fds[].
-
- * job.h (struct child): Add job_token field to store the token for
- this job (if any).
-
- * job.c (reap_children): When a child is fully reaped, release the
- token back into the pipe.
- (free_child): If the child to be freed still has a token, put it
- back.
- (new_job): Initialize the job_token member.
- (start_waiting_job): For local jobs, if we're using the pipe, get
- a token before we check the load, etc. We do this by performing a
- non-blocking read in a loop. If the read fails, no token is
- available. Do a select on the fd to wait for a token. We need to
- re-enable the signal handler for SIGCHLD even if we have a
- non-hanging waitpid() or wait3(), so that the signal will
- interrupt the select() and we can wake up to reap children.
- (child_handler): Re-enable the signal handler. The count is still
- kept although it's not needed or used unless you don't have
- waitpid() or wait3().
-
-1999-04-10 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main): Reset the considered bit on all the makefiles if
- something failed to update; we need to examine them again if they
- appear as normal targets in order to get the proper error message.
-
-1999-04-09 Paul D. Smith <psmith@gnu.org>
-
- Performance enhancement from Tim Magill <tim.magill@telops.gte.com>.
-
- * remake.c (update_file): If you have large numbers of
- dependencies and you run in parallel, make can spend considerable
- time each pass through the graph looking at branches it has
- already seen. Since we only reap_children() when starting a pass,
- not in the middle, if a branch has been seen already in that pass
- nothing interesting can happen until the next pass. So, we toggle
- a bit saying whether we've seen this target in this pass or not.
- (update_goal_chain): Initially set the global considered toggle to
- 1, since all targets initialize their boolean to 0. At the end of
- each pass, toggle the global considered variable.
- * filedef.h (struct file): Per-file considered toggle bit.
- * file.c: New global toggle variable considered.
-
-1999-04-05 Paul D. Smith <psmith@gnu.org>
-
- * arscan.c (ar_scan): Added support for ARFZMAG (compressed
- archives?) for Digital UNIX C++. Information provided by
- Patrick E. Krogel <pekrogel@mtu.edu>.
- (ar_member_touch): Ditto.
-
-1999-04-03 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (f_mtime): If: a) we found a file and b) we didn't
- create it and c) it's not marked as an implicit target and d) it
- is marked as an intermediate target, then it was so marked due to
- an .INTERMEDIATE special target, but it already existed in the
- directory. In this case, unset the intermediate flag so we won't
- delete it when make is done. It feels like it would be cleaner to
- put this check in update_file_1() but I worry it'll get missed...
-
-1999-04-01 Paul D. Smith <psmith@gnu.org>
-
- * job.c (construct_command_argv_internal): Use bcopy() to copy
- overlapping strings, rather than strcpy(). ISO C says the latter
- is undefined. Found this in a bug report from 1996! Ouch!
-
-1999-03-31 Paul D. Smith <psmith@gnu.org>
-
- * read.c (readline): Ignore carriage returns at the end of the
- line, to allow Windows-y CRLF line terminators.
-
-1999-03-30 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: Don't put build.sh here, since build.sh.in doesn't
- exist initially. This cause autoreconf and automake to fail when
- run on a clean CVS checkout. Instead, we create build.sh in the
- Makefile (see below).
-
- * Makefile.am: Remove BUILT_SOURCES; this is no longer relevant.
- Put those files directly into EXTRA_DIST so they're distributed.
- Create a local build rule to create build.sh.
- Create a local maintainer-clean rule to delete all the funky
- maintainers files.
-
- * maintMakefile: Makefile.in depends on README, since automake
- fails if it doesn't exist. Also don't remove glob/Makefile.in
- here, as it causes problems.
-
-1999-03-26 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: Substitute GLOBLIB if we need the link the
- glob/libglob.a library.
- * Makefile.am (make_LDADD): Use the subst variable GLOBLIB so we
- don't link the local libglob.a at all if we don't need it.
- * build.template: Don't compile glob/*.o unless we want globlib.
- * maintMakefile (build.sh.in): Substitute the glob/*.o files
- separately.
-
-1999-03-25 Paul D. Smith <psmith@gnu.org>
-
- * make.texinfo: Various typos and additions, pointed out by James
- G. Sack <jsack@dornfeld.com>.
-
-1999-03-22 Paul D. Smith <psmith@gnu.org>
-
- * make.texinfo (Functions): Add a new section documenting the new
- $(error ...) and $(warning ...) functions. Also updated copyright
- dates.
- * NEWS: Updated for the new functions.
- * function.c (func_error): Implement the new $(error ...) and
- $(warning ...) functions.
- (function_table): Insert new functions into the table.
- (func_firstword): Don't call find_next_token() with argv[0]
- itself, since that function modifies the pointer.
- * function.c: Cleanups and slight changes to the new method of
- calling functions.
-
-1999-03-20 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-
- * function.c: Rewrite to use one C function per make function,
- instead of a huge switch statement. Also allows some cleanup of
- multi-architecture issues, and a cleaner API which makes things
- like func_apply() simple.
-
- * function.c (func_apply): Initial implementation. Expand either
- a builtin function or a make variable in the context of some
- arguments, provided as $1, $2, ... $N.
-
-1999-03-19 Eli Zaretskii <eliz@is.elta.co.il>
-1999-03-19 Rob Tulloh <rob_tulloh@dev.tivoli.com>
-
- * job.c (construct_command_argv_internal): Don't treat _all_
- backslashes as escapes, only those which really escape a special
- character. This allows most normal "\" directory separators to be
- treated normally.
-
-1999-03-05 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: Check for a system strdup().
- * misc.c (xstrdup): Created. Suggestion by Han-Wen Nienhuys
- <hanwen@cs.uu.nl>.
- * make.h: Prototype xstrdup().
- * remake.c (library_search): Use it.
- * main.c (main): Use it.
- (find_and_set_default_shell): Use it.
- * job.c (construct_command_argv_internal): Use it.
- * dir.c (find_directory): Use it.
-
- * Makefile.am, configure.in: Use AC_SUBST_FILE to insert the
- maintMakefile instead of "include", to avoid automake 1.4
- incompatibility.
-
-1999-03-04 Paul D. Smith <psmith@gnu.org>
-
- * amiga.c, amiga.h, ar.c, arscan.c, commands.c, commands.h,
- * default.c, dep.h, dir.c, expand.c, file.c, filedef.h, function.c,
- * implicit.c, job.c, job.h, main.c, make.h, misc.c, read.c, remake.c
- * remote-cstms.c, remote-stub.c, rule.h, variable.c, variable.h,
- * vpath.c, Makefile.ami, NMakefile.template, build.template,
- * makefile.vms: Updated FSF address in the copyright notice.
-
- * variable.c (try_variable_definition): If we see a conditional
- variable and we decide to set it, re-type it as recursive so it
- will be expanded properly later.
-
-1999-02-22 Paul D. Smith <psmith@gnu.org>
-
- * NEWS: Mention new .LIBPATTERNS feature.
-
- * make.texinfo (Libraries/Search): Describe the use and
- ramifications of the new .LIBPATTERNS variable.
-
- * remake.c (library_search): Instead of searching only for the
- hardcoded expansion "libX.a" for a library reference "-lX", we
- obtain a list of patterns from the .LIBPATTERNS variable and
- search those in order.
-
- * default.c: Added a new default variable .LIBPATTERNS. The
- default for UNIX is "lib%.so lib%.a". Amiga and DOS values are
- also provided.
-
- * read.c: Remove bogus HAVE_GLOB_H references; always include
- vanilla glob.h.
-
-1999-02-21 Paul D. Smith <psmith@gnu.org>
-
- * function.c (expand_function): Set value to 0 to avoid freeing it.
- * variable.c (pop_variable_scope): Free the value of the variable.
- (try_variable_definition): For simple variables, use
- allocated_variable_expand() to avoid stomping on the variable
- buffer when we still need it for other things.
-
- * arscan.c: Modified to support AIX 4.3 big archives. The changes
- are based on information provided by Phil Adams
- <padams@austin.ibm.com>.
-
-1999-02-19 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: Check to see if the GNU glob library is already
- installed on the system. If so, _don't_ add -I./glob to the
- compile line. Using the system glob code with the local headers
- is very bad mojo!
- Rewrite SCCS macros to use more autoconf facilities.
-
- * Makefile.am: Move -Iglob out of INCLUDES; it'll get added to
- CPPFLAGS by configure now.
- Automake 1.4 introduced its own "include" feature which conflicts
- with the maintMakefile stuff. A hack that seems to work is add a
- space before the include :-/.
-
- * build.template: Move -Iglob out of the compile line; it'll get
- added to CPPFLAGS by configure now.
-
-1999-02-16 Glenn D. Wolf <Glenn_Wolf@email.sps.mot.com>
-
- * arscan.c (ar_scan) [VMS]: Initialized VMS_member_date before
- calling lbr$get_index since if the archive is empty,
- VMS_get_member_info won't get called at all, and any leftover date
- will be used. This bug shows up if any member of any archive is
- made, followed by a dependency check on a different, empty
- archive.
-
-1998-12-13 Martin Zinser <zinser@decus.decus.de>
-
- * config.h-vms [VMS]: Set _POSIX_C_SOURCE. Redefine the getopt
- functions so we don't use the broken VMS versions.
- * makefile.com [VMS]: Allow debugging.
- * dir.c (dir_setup_glob) [VMS]: Don't extern stat() on VMS.
-
-1998-11-30 Paul D. Smith <psmith@gnu.org>
-
- * signame.c (init_sig): Check the sizes of signals being set up to
- avoid array overwrites (if the system headers have problems).
-
-1998-11-17 Paul D. Smith <psmith@gnu.org>
-
- * read.c (record_files): Clean up some indentation.
-
-1998-11-08 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-
- * rule.c (print_rule_data_base): Fix arguments to fatal() call.
-
-1998-10-13 Paul D. Smith <psmith@gnu.org>
-
- * job.c (start_job_command): If the command list resolves to no
- chars at all (e.g.: "foo:;$(empty)") then command_ptr is NULL;
- quit early.
-
-1998-10-12 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
-
- * rule.c (print_rule_data_base): Ignore num_pattern_rules if it is
- zero.
-
-1998-10-09 Paul D. Smith <psmith@gnu.org>
-
- * read.c (read_makefile): Allow non-empty lines to expand to the
- empty string after variable, etc., expansion, and be ignored.
-
-1998-09-21 Paul D. Smith <psmith@gnu.org>
-
- * job.c (construct_command_argv_internal): Only add COMMAND.COM
- "@echo off" line for non-UNIXy shells.
-
-1998-09-09 Paul D. Smith <psmith@gnu.org>
-
- * w32/subproc/sub_proc.c: Add in missing HAVE_MKS_SHELL tests.
-
-1998-09-04 Paul D. Smith <psmith@gnu.org>
-
- * read.c (read_makefile): If we hit the "missing separator" error,
- check for the common case of 8 spaces instead of a TAB and give an
- extra comment to help people out.
-
-1998-08-29 Paul Eggert <eggert@twinsun.com>
-
- * configure.in (AC_STRUCT_ST_MTIM_NSEC):
- Renamed from AC_STRUCT_ST_MTIM.
-
- * acinclude.m4 (AC_STRUCT_ST_MTIM_NSEC): Likewise.
- Port to UnixWare 2.1.2 and pedantic Solaris 2.6.
-
- * acconfig.h (ST_MTIM_NSEC):
- Renamed from HAVE_ST_MTIM, with a new meaning.
-
- * filedef.h (FILE_TIMESTAMP_FROM_S_AND_NS):
- Use new ST_MTIM_NSEC macro.
-
-1998-08-26 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (check_dep): For any intermediate file, not just
- secondary ones, try implicit and default rules if no explicit
- rules are given. I'm not sure why this was restricted to
- secondary rules in the first place.
-
-1998-08-24 Paul D. Smith <psmith@gnu.org>
-
- * make.texinfo (Special Targets): Update documentation for
- .INTERMEDIATE: if used with no dependencies, then it does nothing;
- old docs said it marked all targets as intermediate, which it
- didn't... and which would be silly :).
-
- * implicit.c (pattern_search): If we find a dependency in our
- internal tables, make sure it's not marked intermediate before
- accepting it as a found_file[].
-
-1998-08-20 Paul D. Smith <psmith@gnu.org>
-
- * ar.c (ar_glob): Use existing alpha_compare() with qsort.
- (ar_glob_alphacompare): Remove it.
-
- Modify Paul Eggert's patch so we don't abandon older systems:
-
- * configure.in: Warn the user if neither waitpid() nor wait3() is
- available.
-
- * job.c (WAIT_NOHANG): Don't syntax error on ancient hosts.
- (child_handler, dead_children): Define these if WAIT_NOHANG is not
- available.
- (reap_children): Only track the dead_children count if no
- WAIT_NOHANG. Otherwise, it's a boolean.
-
- * main.c (main): Add back signal handler if no WAIT_NOHANG is
- available; only use default signal handler if it is.
-
-1998-08-20 Paul Eggert <eggert@twinsun.com>
-
- Install a more robust signal handling mechanism for systems which
- support it.
-
- * job.c (WAIT_NOHANG): Define to a syntax error if our host
- is truly ancient; this should never happen.
- (child_handler, dead_children): Remove.
- (reap_children): Don't try to keep separate track of how many
- dead children we have, as this is too bug-prone.
- Just ask the OS instead.
- (vmsHandleChildTerm): Fix typo in error message; don't mention
- child_handler.
-
- * main.c (main): Make sure we're not ignoring SIGCHLD/SIGCLD;
- do this early, before we could possibly create a subprocess.
- Just use the default behavior; don't have our own handler.
-
-1998-08-18 Eli Zaretskii <eliz@is.elta.co.il>
-
- * read.c (read_makefile) [__MSDOS__, WINDOWS32]: Add code to
- recognize library archive members when dealing with drive spec
- mess. Discovery and initial fix by George Racz <gracz@mincom.com>.
-
-1998-08-18 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: Check for stdlib.h explicitly (some hosts have it
- but don't have STDC_HEADERS).
- * make.h: Use HAVE_STDLIB_H. Clean up some #defines.
- * config.ami: Re-compute based on new config.h.in contents.
- * config.h-vms: Ditto.
- * config.h.W32: Ditto.
- * configh.dos: Ditto.
-
- * dir.c (find_directory) [WINDOWS32]: Windows stat() fails if
- directory names end with `\' so strip it.
-
-1998-08-17 Paul D. Smith <psmith@gnu.org>
-
- * make.texinfo: Added copyright year to the printed copy. Removed
- the price from the manual. Change the top-level reference to
- running make to be "Invoking make" instead of "make Invocation",
- to comply with GNU doc standards.
-
- * make.h (__format__, __printf__): Added support for these in
- __attribute__ macro.
- (message, error, fatal): Use ... prototype form under __STDC__.
- Add __format__ attributes for printf-style functions.
-
- * configure.in (AC_FUNC_VPRINTF): Check for vprintf()/_doprnt().
-
- * misc.c (message, error, fatal): Add preprocessor stuff to enable
- creation of variable-argument functions with appropriate
- prototypes, that works with ANSI, pre-ANSI, varargs.h, stdarg.h,
- v*printf(), _doprnt(), or none of the above. Culled from GNU
- fileutils and slightly modified.
- (makefile_error, makefile_error): Removed (merged into error() and
- fatal(), respectively).
- * amiga.c: Use them.
- * ar.c: Use them.
- * arscan.c: Use them.
- * commands.c: Use them.
- * expand.c: Use them.
- * file.c: Use them.
- * function.c: Use them.
- * job.c: Use them.
- * main.c: Use them.
- * misc.c: Use them.
- * read.c: Use them.
- * remake.c: Use them.
- * remote-cstms.c: Use them.
- * rule.c: Use them.
- * variable.c: Use them.
-
- * make.h (struct floc): New structure to store file location
- information.
- * commands.h (struct commands): Use it.
- * variable.c (try_variable_definition): Use it.
- * commands.c: Use it.
- * default.c: Use it.
- * file.c: Use it.
- * function.c: Use it.
- * misc.c: Use it.
- * read.c: Use it.
- * rule.c: Use it.
-
-1998-08-16 Paul Eggert <eggert@twinsun.com>
-
- * filedef.h (FILE_TIMESTAMP_PRINT_LEN_BOUND): Add 10, for nanoseconds.
-
-1998-08-16 Paul Eggert <eggert@twinsun.com>
-
- * filedef.h (FLOOR_LOG2_SECONDS_PER_YEAR): New macro.
- (FILE_TIMESTAMP_PRINT_LEN_BOUND): Tighten bound, and try to
- make it easier to understand.
-
-1998-08-14 Paul D. Smith <psmith@gnu.org>
-
- * read.c (read_makefile): We've already unquoted any colon chars
- by the time we're done reading the targets, so arrange for
- parse_file_seq() on the target list to not do so again.
-
-1998-08-05 Paul D. Smith <psmith@gnu.org>
-
- * configure.in: Added glob/configure.in data. We'll have the glob
- code include the regular make config.h, rather than creating its
- own.
-
- * getloadavg.c (main): Change return type to int.
-
-1998-08-01 Paul Eggert <eggert@twinsun.com>
-
- * job.c (reap_children): Ignore unknown children.
-
-1998-07-31 Paul D. Smith <psmith@gnu.org>
-
- * make.h, filedef.h, dep.h, rule.h, commands.h, remake.c:
- Add prototypes for functions. Some prototypes needed to be moved
- in order to get #include order reasonable.
-
-1998-07-30 Paul D. Smith <psmith@gnu.org>
-
- * make.h: Added MIN/MAX.
- * filedef.h: Use them; remove FILE_TIMESTAMP_MIN.
-
-1998-07-30 Paul Eggert <eggert@twinsun.com>
-
- Add support for sub-second timestamp resolution on hosts that
- support it (just Solaris 2.6, so far).
-
- * acconfig.h (HAVE_ST_MTIM, uintmax_t): New undefs.
- * acinclude.m4 (jm_AC_HEADER_INTTYPES_H, AC_STRUCT_ST_MTIM,
- jm_AC_TYPE_UINTMAX_T): New defuns.
- * commands.c (delete_target): Convert file timestamp to
- seconds before comparing to archive timestamp. Extract mod
- time from struct stat using FILE_TIMESTAMP_STAT_MODTIME.
- * configure.in (C_STRUCT_ST_MTIM, jm_AC_TYPE_UINTMAX_T): Add.
- (AC_CHECK_LIB, AC_CHECK_FUNCS): Add clock_gettime.
- * file.c (snap_deps): Use FILE_TIMESTAMP, not time_t.
- (file_timestamp_now, file_timestamp_sprintf): New functions.
- (print_file): Print file timestamps as FILE_TIMESTAMP, not
- time_t.
- * filedef.h: Include <inttypes.h> if available and if HAVE_ST_MTIM.
- (FILE_TIMESTAMP, FILE_TIMESTAMP_STAT_MODTIME, FILE_TIMESTAMP_MIN,
- FILE_TIMESTAMPS_PER_S, FILE_TIMESTAMP_FROM_S_AND_NS,
- FILE_TIMESTAMP_DIV, FILE_TIMESTAMP_MOD, FILE_TIMESTAMP_S,
- FILE_TIMESTAMP_NS, FILE_TIMESTAMP_PRINT_LEN_BOUND): New macros.
- (file_timestamp_now, file_timestamp_sprintf): New decls.
- (struct file.last_mtime, f_mtime, file_mtime_1, NEW_MTIME):
- time_t -> FILE_TIMESTAMP.
- * implicit.c (pattern_search): Likewise.
- * vpath.c (vpath_search, selective_vpath_search): Likewise.
- * main.c (main): Likewise.
- * remake.c (check_dep, name_mtime, library_search, f_mtime): Likewise.
- (f_mtime): Use file_timestamp_now instead of `time'.
- Print file timestamp with file_timestamp_sprintf.
- * vpath.c (selective_vpath_search): Extract file time stamp from
- struct stat with FILE_TIMESTAMP_STAT_MODTIME.
-
-1998-07-28 Paul D. Smith <psmith@gnu.org>
-
- * Version 3.77 released.
-
- * dosbuild.bat: Change to DOS CRLF line terminators.
-
- * make-stds.texi: Update from latest version.
-
- * make.texinfo (Options Summary): Clarify that the -r option
- affects only rules, not builtin variables.
-
-1998-07-27 Paul D. Smith <psmith@gnu.org>
-
- * make.h: Make __attribute__ resolve to empty for non-GCC _and_
- for GCC pre-2.5.x.
-
- * misc.c (log_access): Print UID/GID's as unsigned long int for
- maximum portability.
-
- * job.c (reap_children): Print PIDs as long int for maximum
- portability.
-
-1998-07-24 Eli Zaretskii <eliz@is.elta.co.il>
-
- * Makefile.DOS (*_INSTALL, *_UNINSTALL): Replace `true' with `:'.
-
-1998-07-25 Paul D. Smith <psmith@gnu.org>
-
- * Version 3.76.94 released.
-
-1998-07-23 Paul D. Smith <psmith@gnu.org>
-
- * config.h.W32.template: Make sure all the #defines of macros here
- have a value (e.g., use ``#define HAVE_STRING_H 1'' instead of
- just ``#define HAVE_STRING_H''. Keeps the preprocessor happy in
- some contexts.
-
- * make.h: Remove __attribute__((format...)) stuff; using it with
- un-prototyped functions causes older GCC's to fail.
-
- * Version 3.76.93 released.
-
-1998-07-22 Paul D. Smith <psmith@gnu.org>
-
- * file.c (print_file_data_base): Fix average calculation.
-
-1998-07-20 Paul D. Smith <psmith@gnu.org>
-
- * main.c (die): Postpone the chdir() until after
- remove_intermediates() so that intermediate targets with relative
- pathnames are removed properly.
-
-1998-07-17 Paul D. Smith <psmith@gnu.org>
-
- * filedef.h (struct file): New flag: did we print an error or not?
-
- * remake.c (no_rule_error): New function to print error messages,
- extraced from remake_file().
-
- * remake.c (remake_file): Invoke the new error print function.
- (update_file_1): Invoke the error print function if we see that we
- already tried this target and it failed, but that an error wasn't
- printed for it. This can happen if a file is included with
- -include or sinclude and couldn't be built, then later is also
- the dependency of another target. Without this change, make just
- silently stops :-/.
-
-1998-07-16 Paul D. Smith <psmith@gnu.org>
-
- * make.texinfo: Removed "beta" version designator.
- Updated ISBN for the next printing.
-
-1998-07-13 Paul Eggert <eggert@twinsun.com>
-
- * acinclude.m4: New AC_LFS macro to determine if special compiler
- flags are needed to allow access to large files (e.g., Solaris 2.6).
- * configure.in: Invoke it.
-
-1998-07-08 Eli Zaretskii <eliz@is.elta.co.il>
-
- * Makefile.DOS: track changes in Makefile.in.
-
-1998-07-07 Paul D. Smith <psmith@gnu.org>
-
- * remote-cstms.c (start_remote_job): Move gethostbyaddr() to the
- top so host is initialized early enough.
-
- * acinclude.m4: New file. Need some special autoconf macros to
- check for network libraries (-lsocket, -lnsl, etc.) when
- configuring Customs.
-
- * configure.in (make_try_customs): Invoke new network libs macro.
-
-1998-07-06 Paul D. Smith <psmith@gnu.org>
-
- * Version 3.76.92 released.
-
- * README.customs: Added to the distribution.
-
- * configure.in (make_try_customs): Rewrite to require an installed
- Customs library, rather than looking at the build directory.
-
- * Makefile.am (man_MANS): Install make.1.
- * make.1: Renamed from make.man.
-
- * make.texinfo (Bugs): New mailing list address for GNU make bug
- reports.
-
-1998-07-02 Paul D. Smith <psmith@gnu.org>
-
- * Version 3.76.91 released.
-
- * default.c: Added default rule for new-style RCS master file
- storage; ``% :: RCS/%''.
- Added default rules for DOS-style C++ files with suffix ".cpp".
- They use the new LINK.cpp and COMPILE.cpp macros, which are set by
- default to be equal to LINK.cc and COMPILE.cc.
-
-1998-06-19 Eli Zaretskii <eliz@is.elta.co.il>
-
- * job.c (start_job_command): Reset execute_by_shell after an empty
- command was skipped.
-
-1998-06-09 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main): Keep track of the temporary filename created when
- reading a makefile from stdin (-f-) and attempt to remove it
- as soon as we know we're not going to re-exec. If we are, add it
- to the exec'd make's cmd line with "-o" so the exec'd make doesn't
- try to rebuild it. We still have a hole: if make re-execs then
- the temporary file will never be removed. To fix this we'd need
- a brand new option that meant "really delete this".
- * AUTHORS, getopt.c, getopt1.c, getopt.h, main.c (print_version):
- Updated mailing addresses.
-
-1998-06-08 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main): Andreas Luik <luik@isa.de> points out that the
- check for makefile :: rules with commands but no dependencies
- causing a loop terminates incorrectly.
-
- * maintMakefile: Make a template for README.DOS to update version
- numbers.
-
-1998-05-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * remake.c (update_file_1): Don't free the memory for the
- dependency structure when dropping a circular dependency.
-
-1998-05-30 Eli Zaretskii <eliz@is.elta.co.il>
-
- * dir.c (file_exists_p, file_impossible_p, file_impossible)
- [__MSDOS__, WINDOWS32]: Retain trailing slash in "d:/", and make
- dirname of "d:foo" be "d:".
-
-1998-05-26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * read.c (read_makefile): Avoid running past EOS when scanning
- file name after `include'.
-
-1998-05-26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * make.texinfo (Flavors): Correct description of conditional
- assignment, which is not equivalent to ifndef.
- (Setting): Likewise.
-
-1998-05-24 Paul D. Smith <psmith@gnu.org>
-
- * arscan.c (ar_name_equal): strncmp() might be implemented as a
- macro, so don't put preprocessor conditions inside the arguments
- list.
-
-1998-05-23 Eli Zaretskii <eliz@is.elta.co.il>
-
- * read.c (read_makefile) [__MSDOS__, WINDOWS32]: Skip colons in
- drive specs when parsing targets, target-specific variables and
- static pattern rules. A colon can only be part of drive spec if
- it is after the first letter in a token.
-
-1998-05-22 Eli Zaretskii <eliz@is.elta.co.il>
-
- * remake.c (f_mtime) [__MSDOS__]: Allow up to 3 sec of skew before
- yelling bloody murder.
-
- * dosbuild.bat: Use -DINCLUDEDIR= and -DLIBDIR= where appropriate.
-
- * read.c (parse_file_seq): Combine the special file-handling code
- for WINDOWS32 and __MSDOS__ into a single snippet.
- (get_next_mword) [__MSDOS__, WINDOWS32]: Allow a word to include a
- colon as part of a drive spec.
-
- * job.c (batch_mode_shell) [__MSDOS__]: Declare.
-
-1998-05-20 Paul D. Smith <psmith@gnu.org>
-
- * Version 3.76.90 released.
-
-1998-05-19 Paul D. Smith <psmith@gnu.org>
-
- * make.texinfo (Make Errors): Added a new appendix describing
- common errors make might generate and how to resolve them (or at
- least more information on what they mean).
-
- * maintMakefile (NMAKEFILES): Use the new automake 1.3 feature
- to create a dependency file to construct Makefile.DOS, SMakefile,
- and NMakefile.
- (.dep_segment): Generate the dependency fragment file.
-
-1998-05-14 Paul D. Smith <psmith@gnu.org>
-
- * make.man: Minor changes.
-
-1998-05-13 Paul D. Smith <psmith@gnu.org>
-
- * function.c (pattern_matches,expand_function): Change variables
- and types named "word" to something else, to avoid compilation
- problems on Cray C90 Unicos.
- * variable.h: Modify the function prototype.
-
-1998-05-11 Rob Tulloh <rob_tulloh@tivoli.com>
-
- * job.c (construct_command_argv_internal) [WINDOWS32]: Turn off
- echo when using a batch file, and make sure the command ends in a
- newline.
-
-1998-05-03 Paul D. Smith <psmith@gnu.org>
-
- * configure.in (make_try_customs): Add some customs flags if the
- user configures custom support.
-
- * job.c, remote-cstms.c: Merge in changes for custom library.
-
- * remote-stub.c: Add option to stub start_remote_job_p().
-
-1998-05-01 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (f_mtime): Install VPATH+ handling for archives; use
- the hname field instead of the name field, and rehash when
- appropriate.
-
-1998-04-30 Paul D. Smith <psmith@gnu.org>
-
- * rule.c (print_rule_data_base): Print out any pattern-specific
- variable values into the rules database.
-
- * variable.c (print_variable_set): Make this variable extern, to
- be called by print_rule_data_base() for pattern-specific variables.
-
- * make.texinfo (Pattern-specific): Document pattern-specific
- variables.
-
-1998-04-29 Paul D. Smith <psmith@gnu.org>
-
- * expand.c (variable_expand_for_file): Make static; its only
- called internally. Look up this target in the list of
- pattern-specific variables and insert the variable set into the
- queue to be searched.
-
- * filedef.h (struct file): Add a new field to hold the
- previously-found pattern-specific variable reference. Add a new
- flag to remember whether we already searched for this file.
-
- * rule.h (struct pattern_var): New structure for storing
- pattern-specific variable values. Define new function prototypes.
-
- * rule.c: New variables pattern_vars and last_pattern_var for
- storage and handling of pattern-specific variable values.
- (create_pattern_var): Create a new pattern-specific variable value
- structure.
- (lookup_pattern_var): Try to match a target to one of the
- pattern-specific variable values.
-
-1998-04-22 Paul D. Smith <psmith@gnu.org>
-
- * make.texinfo (Target-specific): Document target-specific
- variables.
-
-1998-04-21 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (define_variable_in_set): Made globally visible.
- (lookup_variable_in_set): New function: like lookup_variable but
- look only in a specific variable set.
- (target_environment): Use lookup_variable_in_set() to get the
- correct export rules for a target-specific variable.
- (create_new_variable_set): Create a new variable set, and just
- return it without installing it anywhere.
- (push_new_variable_scope): Reimplement in terms of
- create_new_variable_set.
-
- * read.c (record_target_var): Like record_files, but instead of
- files create a target-specific variable value for each of the
- listed targets. Invoked from read_makefile() when the target line
- turns out to be a target-specific variable assignment.
-
-1998-04-19 Paul D. Smith <psmith@gnu.org>
-
- * read.c (read_makefile): Rewrite the entire target parsing
- section to implement target-specific variables. In particular, we
- cannot expand the entire line as soon as it's read in, since we
- may want to evaluate parts of it with different variable contexts
- active. Instead, start expanding from the beginning until we find
- the `:' (or `::'), then determine what kind of line this is and
- continue appropriately.
-
- * read.c (get_next_mword): New function to parse a makefile line
- by "words", considering an entire variable or function as one
- word. Return the type read in, along with its starting position
- and length.
- (enum make_word_type): The types of words that are recognized by
- get_next_mword().
-
- * variable.h (struct variable): Add a flag to specify a per-target
- variable.
-
- * expand.c: Make variable_buffer global. We need this during the
- new parsing of the makefile.
- (variable_expand_string): New function. Like variable_expand(),
- but start at a specific point in the buffer, not the beginning.
- (variable_expand): Rewrite to simply call variable_expand_string().
-
-1998-04-13 Paul D. Smith <psmith@gnu.org>
-
- * remake.c (update_goal_chain): Allow the rebuilding makefiles
- step to use parallel jobs. Not sure why this was disabled:
- hopefully we won't find out :-/.
-
-1998-04-11 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main): Set the CURDIR makefile variable.
- * make.texinfo (Recursion): Document it.
-
-1998-03-17 Paul D. Smith <psmith@gnu.org>
-
- * misc.c (makefile_fatal): If FILE is nil, invoke plain fatal().
- * variable.c (try_variable_definition): Use new feature.
-
-1998-03-10 Paul D. Smith <psmith@gnu.org>
-
- * main.c (main): Don't pass included, rebuilt makefiles to
- re-exec'd makes with -o. Reopens a possible loop, but it caused
- too many problems.
-
-1998-03-02 Paul D. Smith <psmith@gnu.org>
-
- * variable.c (try_variable_definition): Implement ?=.
- * make.texinfo (Setting): Document it.
-
-1998-02-28 Eli Zaretskii <eliz@is.elta.co.il>
-
- * job.c (start_job_command): Reset execute_by_shell after an empty
- command, like ":", has been seen.
-
-Tue Oct 07 15:00:00 1997 Phil Brooks <phillip_brooks@hp.com>
-
- * make.h [WINDOWS32]: make case sensitivity configurable
- * dir.c [WINDOWS32]: make case sensitivity configurable
- * README.W32: Document case sensitivity
- * config.ami: Share case warping code with Windows
-
-Mon Oct 6 18:48:45 CDT 1997 Rob Tulloh <rob_tulloh@dev.tivoli.com>
-
- * w32/subproc/sub_proc.c: Added support for MKS toolkit shell
- (turn on HAVE_MKS_SHELL).
- * read.c [WINDOWS32]: Fixed a problem with multiple target rules
- reported by Gilbert Catipon (gcatipon@tibco.com). If multiple
- path tokens in a rule did not have drive letters, make would
- incorrectly concatenate the 2 tokens together.
- * main.c/variable.c [WINDOWS32]: changed SHELL detection code to
- follow what MSDOS did. In addition to watching for SHELL variable
- updates, make's main will attempt to default the value of SHELL
- before and after makefiles are parsed.
- * job.c/job.h [WINDOWS32]: The latest changes made to enable use
- of the GNUWIN32 shell from make could cause make to fail due to a
- concurrency condition between parent and child processes. Make
- now creates a batch file per job instead of trying to reuse the
- same singleton batch file.
- * job.c/job.h/function.c/config.h.W32 [WINDOWS32]: Renamed macro
- from HAVE_CYGNUS_GNUWIN32_TOOLS to BATCH_MODE_ONLY_SHELL. Reworked
- logic to reduce complexity. WINDOWS32 now uses the unixy_shell
- variable to detect Bourne-shell compatible environments. There is
- also a batch_mode_shell variable that determines whether not
- command lines should be executed via script files. A WINDOWS32
- system with no sh.exe installed would have unixy_shell set to
- FALSE and batch_mode_shell set to TRUE. If you have a unixy shell
- that does not behave well when invoking things via 'sh -c xxx',
- you may want to turn on BATCH_MODE_ONLY_SHELL and see if things
- improve.
- * NMakefile: Added /D DEBUG to debug build flags so that unhandled
- exceptions could be debugged.
-
-Mon Oct 6 00:04:25 1997 Rob Tulloh <rob_tulloh@dev.tivoli.com>
-
- * main.c [WINDOWS32]: The function define_variable() does not
- handle NULL. Test before calling it to set Path.
- * main.c [WINDOWS32]: Search Path again after makefiles have been
- parsed to detect sh.exe.
- * job.c [WINDOWS32]: Added support for Cygnus GNU WIN32 tools.
- To use, turn on HAVE_CYGNUS_GNUWIN32_TOOLS in config.h.W32.
- * config.h.W32: Added HAVE_CYGNUS_GNUWIN32_TOOLS macro.
-
-Sun Oct 5 22:43:59 1997 John W. Eaton <jwe@bevo.che.wisc.edu>
-
- * glob/glob.c (glob_in_dir) [VMS]: Globbing shouldn't be
- case-sensitive.
- * job.c (child_execute_job) [VMS]: Use a VMS .com file if the
- command contains a newline (e.g. from a define/enddef block).
- * vmsify.c (vmsify): Return relative pathnames wherever possible.
- * vmsify.c (vmsify): An input string like "../.." returns "[--]".
-
-Wed Oct 1 15:45:09 1997 Rob Tulloh <rob_tulloh@tivoli.com>
-
- * NMakefile: Changed nmake to $(MAKE).
- * subproc.bat: Take the make command name from the command
- line. If no command name was given, default to nmake.
- * job.c [MSDOS, WINDOWS32]: Fix memory stomp: temporary file names
- are now always created in heap memory.
- * w32/subproc/sub_proc.c: New implementation of make_command_line()
- which is more compatible with different Bourne shell implementations.
- Deleted the now obsolete fix_command_line() function.
- * main.c [WINDOWS32]: Any arbitrary spelling of Path can be
- detected. Make will ensure that the special spelling `Path' is
- inserted into the environment when the path variable is propagated
- within itself and to make's children.
- * main.c [WINDOWS32]: Detection of sh.exe was occurring too
- soon. The 2nd check for the existence of sh.exe must come after
- the call to read_all_makefiles().
-
-Fri Sep 26 01:14:18 1997 <zinser@axp602.gsi.de>
-
- * makefile.com [VMS]: Fixed definition of sys.
- * readme.vms: Comments on what's changed lately.
-
-Fri Sep 26 01:14:18 1997 John W. Eaton <jwe@bevo.che.wisc.edu>
-
- * read.c (read_all_makefiles): Allow make to find files named
- "MAKEFILE" with no extension on VMS.
- * file.c (lookup_file): Lowercase filenames on VMS.
-
-1997-09-29 Paul D. Smith <psmith@baynetworks.com>
-
- * read.c (read_makefile): Reworked target detection again; the old
- version had an obscure quirk.
-
-Fri Sep 19 09:20:49 1997 Paul D. Smith <psmith@baynetworks.com>
-
- * Version 3.76.1 released.
-
- * Makefile.am: Add loadavg files to clean rules.
-
- * configure.in (AC_OUTPUT): Remove stamp-config; no longer needed.
- * Makefile.ami (distclean): Ditto.
- * SMakefile (distclean): Ditto.
-
- * main.c (main): Arg count should be int, not char! Major braino.
-
-Tue Sep 16 10:18:22 1997 Paul D. Smith <psmith@baynetworks.com>
-
- * Version 3.76 released.
-
-Tue Sep 2 10:07:39 1997 Paul D. Smith <psmith@baynetworks.com>
-
- * function.c (expand_function): When processing $(shell...)
- translate a CRLF (\r\n) sequence as well as a newline (\n) to a
- space. Also remove an ending \r\n sequence.
- * make.texinfo (Shell Function): Document it.
-
-Fri Aug 29 12:59:06 1997 Rob Tulloh <rob_tulloh@tivoli.com>
-
- * w32/pathstuff.c (convert_Path_to_windows32): Fix problem where
- paths which contain single character entries like `.' are not
- handled correctly.
-
- * README.W32: Document path handling issues on Windows systems.
-
-Fri Aug 29 02:01:27 1997 Paul D. Smith <psmith@baynetworks.com>
-
- * Version 3.75.93.
-
-Thu Aug 28 19:39:06 1997 Rob Tulloh <rob_tulloh@tivoli.com>
-
- * job.c (exec_command) [WINDOWS32]: If exec_command() is invoked
- from main() to re-exec make, the call to execvp() would
- incorrectly return control to parent shell before the exec'ed
- command could run to completion. I believe this is a feature of
- the way that execvp() is implemented on top of WINDOWS32 APIs. To
- alleviate the problem, use the supplied process launch function in
- the sub_proc library and suspend the parent process until the
- child process has run. When the child exits, exit the parent make
- with the exit code of the child make.
-
-Thu Aug 28 17:04:47 1997 Paul D. Smith <psmith@baynetworks.com>
-
- * Makefile.DOS.template (distdir): Fix a line that got wrapped in
- email.
-
- * Makefile.am (loadavg): Give the necessary cmdline options when
- linking loadavg.
-
- * configure.in: Check for pstat_getdynamic for getloadvg on HP.
-
- * job.c (start_job_command) [VMS, _AMIGA]: Don't perform empty
- command optimization on these systems; it doesn't make sense.
-
-Wed Aug 27 17:09:32 1997 Paul D. Smith <psmith@baynetworks.com>
-
- * Version 3.75.92
-
-Tue Aug 26 11:59:15 1997 Paul D. Smith <psmith@baynetworks.com>
-
- * main.c (print_version): Add '97 to copyright years.
-
- * read.c (do_define): Check the length of the array before looking
- at a particular offset.
-
- * job.c (construct_command_argv_internal): Examine the last byte
- of the previous arg, not the byte after that.
-
-Sat Aug 23 1997 Eli Zaretskii <eliz@is.elta.co.il>
-
- * Makefile.DOS.template: New file (converted to Makefile.DOS in
- the distribution).
-
- * configure.bat: Rewrite to use Makefile.DOS instead of editing
- Makefile.in. Add support for building from outside of the source
- directory. Fail if the environment block is too small.
-
- * configh.dos: Use <sys/config.h>.
-
- * README.DOS: Update instructions.
-
-Fri Aug 22 1997 Eli Zaretskii <eliz@is.elta.co.il>
-
- * job.c (start_job_command) [__MSDOS__]: Don't test for "/bin/sh"
- literally, use value of unixy_shell instead.
-
- * filedef.h (NEW_MTIME): Use 1 less than maximum possible value if
- time_t is unsigned.
-
-Sat Aug 16 00:56:15 1997 John W. Eaton <jwe@bevo.che.wisc.edu>
-
- * vmsify.c (vmsify, case 11): After translating `..' elements, set
- nstate to N_OPEN if there are still more elements to process.
- (vmsify, case 2): After translating `foo/bar' up to the slash,
- set nstate to N_OPEN, not N_DOT.
-
-Fri Aug 8 15:18:09 1997 John W. Eaton <jwe@bevo.che.wisc.edu>
-
- * dir.c (vmsstat_dir): Leave name unmodified on exit.
- * make.h (PATH_SEPARATOR_CHAR): Set to comma for VMS.
- * vpath.c: Fix comments to refer to path separator, not colon.
- (selective_vpath_search): Avoid Unixy slash handling for VMS.
-
-Thu Aug 7 22:24:03 1997 John W. Eaton <jwe@bevo.che.wisc.edu>
-
- * ar.c [VMS]: Don't declare ar_member_touch.
- Delete VMS version of ar_member_date.
- Enable non-VMS versions of ar_member_date and ar_member_date_1 for
- VMS too.
- * arscan.c (VMS_get_member_info): New function.
- (ar_scan): Provide version for VMS systems.
- (ar_name_equal): Simply compare name and mem on VMS systems.
- Don't define ar_member_pos or ar_member_touch on VMS systems.
-
- * config.h-vms (pid_t, uid_t): Don't define.
-
- * remake.c: Delete declaration of vms_stat.
- (name_mtime): Don't call vms_stat.
- (f_mtime) [VMS]: Funky time value manipulation no longer necessary.
-
- * file.c (print_file): [VMS] Use ctime, not cvt_time.
-
- * make.h [VMS]: Don't define POSIX.
-
- * makefile.com (filelist): Include ar and arscan.
- Also include them in the link commands.
- Don't define NO_ARCHIVES in cc command.
-
- * makefile.vms (ARCHIVES, ARCHIVES_SRC): Uncomment.
- (defines): Delete NO_ARCHIVES from list.
-
- * remake.c (f_mtime): Only check to see if intermediate file is
- out of date if it also exists (i.e., mtime != (time_t) -1).
-
- * vmsdir.h (u_long, u_short): Skip typedefs if using DEC C.
-
-Fri Jun 20 23:02:07 1997 Rob Tulloh <rob_tulloh@tivoli.com>
-
- * w32/subproc/sub_proc.c: Get W32 sub_proc to handle shebang
- (#!/bin/sh) in script files correctly.
- Fixed a couple of memory leaks.
- Fixed search order in find_file() (w32/subproc/sub_proc.c) so that
- files with extensions are preferred over files without extensions.
- Added search for files with .cmd extension too.
- * w32/subproc/misc.c (arr2envblk): Fixed memory leak.
-
-Mon Aug 18 09:41:08 1997 Paul D. Smith <psmith@baynetworks.com>
-
- * Version 3.75.91
-
-Fri Aug 15 13:50:54 1997 Paul D. Smith <psmith@baynetworks.com>
-
- * read.c (do_define): Remember to count the newline after the endef.
-
-Thu Aug 14 23:14:37 1997 Paul D. Smith <psmith@baynetworks.com>
-
- * many: Rewrote builds to use Automake 1.2.
-
- * AUTHORS: New file.
- * maintMakefile: Contains maintainer-only make snippets.
- * GNUmakefile: This now only runs the initial auto* tools.
- * COPYING,texinfo.tex,mkinstalldirs,install-sh: Removed (obtained
- automatically by automake).
- * compatMakefile: Removed (not needed anymore).
- * README,build.sh.in: Removed (built from templates).
- * config.h.in,Makefile.in: Removed (built by tools).
-
-Wed Aug 13 02:22:08 1997 Paul D. Smith <psmith@baynetworks.com>
-
- * make.texinfo: Updates for DOS/Windows information (Eli Zaretskii)
- * README,README.DOS: Ditto.
-
- * remake.c (update_file_1,f_mtime): Fix GPATH handling.
- * vpath.c (gpath_search): Ditto.
-
- * file.c (rename_file): New function: rehash, but also rename to
- the hashname.
- * filedef.h: Declare it.
-
- * variable.c (merge_variable_set_lists): Remove free() of variable
- set; since various files can share variable sets we don't want to
- free them here.
-
-Tue Aug 12 10:51:54 1997 Paul D. Smith <psmith@baynetworks.com>
-
- * configure.in: Require autoconf 2.12
-
- * make.texinfo: Replace all "cd subdir; $(MAKE)" examples with a
- more stylistically correct "cd subdir && $(MAKE)".
-
- * main.c: Global variable `clock_skew_detected' defined.
- (main): Print final warning if it's set.
- * make.h: Declare it.
- * remake.c (f_mtime): Test and set it.
-
- * job.c (start_job_command): Add special optimizations for
- "do-nothing" rules, containing just the shell no-op ":". This is
- useful for timestamp files and can make a real difference if you
- have a lot of them (requested by Fergus Henderson <fjh@cs.mu.oz.au>).
-
- * configure.in,Makefile.in: Rewrote to use the new autoconf
- program_transform_name macro.
-
- * function.c (function_strip): Strip newlines as well as spaces
- and TABs.
-
-Fri Jun 6 23:41:04 1997 Rob Tulloh <rob_tulloh@tivoli.com>
-
- * remake.c (f_mtime): Datestamps on FAT-based files are rounded to
- even seconds when stored, so if the date check fails on WINDOWS32
- systems, see if this "off-by-one" error is the problem.
-
- * General: If your TZ environment variable is not set correctly
- then all your timestamps will be off by hours. So, set it!
-
-Mon Apr 7 02:06:22 1997 Paul D. Smith <psmith@baynetworks.com>
-
- * Version 3.75.1
-
- * compatMakefile (objs): Define & use the $(GLOB) variable so
- that it's removed correctly from build.sh.in when it's built.
-
- * configure.in: On Solaris we can use the kstat_*() functions to
- get load averages without needing special permissions. Add a
- check for -lkstat to see if we have it.
-
- * getloadavg.c (getloadavg): Use HAVE_LIBKSTAT instead of SUN5 as
- the test to enable kstat_open(), etc. processing.
-
-Fri Apr 4 20:21:18 1997 Eli Zaretskii <eliz@is.elta.co.il>
-
- * <lots>: Fixes to work in the DJGPP DOS environment.
-
-Mon Mar 31 02:42:52 1997 Paul D. Smith <psmith@baynetworks.com>
-
- * function.c (expand_function): Added new function $(wordlist).
-
- * make.texinfo (Filename Functions): Document $(wordlist) function.
-
- * vpath.c (build_vpath_lists): Construct the GPATH variable
- information in the same manner we used to construct VPATH.
- (gpath_search): New function to search GPATH.
-
- * make.h: Declare the new function.
-
- * remake.c (update_file_1): Call it, and keep VPATH if it's found.
-
- * make.texinfo (Search Algorithm): Document GPATH variable.
-
-Sun Mar 30 20:57:16 1997 Paul D. Smith <psmith@baynetworks.com>
-
- * main.c (handle_non_switch_argument): Defined the MAKECMDGOALS
- variable to contain the user options passed in on the cmd line.
-
- * make.texinfo (Goals): Document MAKECMDGOALS variable.
-
- * remake.c (f_mtime): Print a warning if we detect a clock skew
- error, rather than failing.
-
- * main.c (main): If we rebuild any makefiles and need to re-exec,
- add "-o<mkfile>" options for each makefile rebuilt to avoid
- infinite looping.
-
-Fri Mar 28 15:26:05 1997 Paul D. Smith <psmith@baynetworks.com>
-
- * job.c (construct_command_argv_internal): Track whether the last
- arg in the cmd string was empty or not (Roland).
- (construct_command_argv_internal): If the shell line is empty,
- don't do anything (Roland).
-
- * glob/glob.h,glob/glob.c,glob/fnmatch.c,glob/fnmatch.h: Install
- the latest changes from the GLIBC version of glob (Ulrich Drepper).
-
- * getloadavg.c,make-stds.texi: New version (Roland).
-
- * (ALL): Changed WIN32 to W32 or WINDOWS32 (RMS).
-
-Mon Mar 24 15:33:34 1997 Rob Tulloh <rob_tulloh@tivoli.com>
-
- * README.W32: Describe preliminary FAT support.
-
- * build_w32.bat: Use a variable for the final exe name.
-
- * dir.c (find_directory): W32: Find the filesystem type.
- (dir_contents_file_exists_p): W32: for FAT filesystems, always
- rehash since FAT doesn't change directory mtime on change.
-
- * main.c (handle_runtime_exceptions): W32: Add an
- UnhandledExceptionFilter so that when make bombs due to ^C or a
- bug, it won't cause a GUI requestor to pop up unless debug is
- turned on.
- (main): Call it.
-
-Mon Mar 24 00:57:34 1997 Paul D. Smith <psmith@baynetworks.com>
-
- * configure.in, config.h.in, config.ami, config.h-vms, config.h.w32:
- Check for memmove() function.
-
- * make.h (bcopy): If memmove() available, define bcopy() to use it.
- Otherwise just use bcopy(). Don't use memcpy(); it's not guaranteed
- to handle overlapping moves.
-
- * read.c (read_makefile): Fix some uninitialized memory reads
- (reported by Purify).
-
- * job.c (construct_command_argv_internal): Use bcopy() not
- strcpy(); strcpy() isn't guaranteed to handle overlapping moves.
-
- * Makefile.in: Change install-info option ``--infodir'' to
- ``--info-dir'' for use with new texinfo.
-
- * function.c (expand_function): $(basename) and $(suffix) should
- only search for suffixes as far back as the last directory (e.g.,
- only the final filename in the path).
-
-Sun Mar 23 00:13:05 1997 Paul D. Smith <psmith@baynetworks.com>
-
- * make.texinfo: Add @dircategory/@direntry information.
- (Top): Remove previous reference to (dir) (from RMS).
- (Static Usage): Add "all:" rule to example.
- (Automatic Dependencies): fix .d file creation example.
-
- * Install VPATH+ patch:
-
- * filedef.h (struct file): Add in hname field to store the hashed
- filename, and a flag to remember if we're using the vpath filename
- or not. Renamed a few functions for more clarity.
-
- * file.c (lookup_file,enter_file,file_hash_enter): Store filenames
- in the hash table based on their "hash name". We can change this
- while keeping the original target in "name".
- (rehash_file): Renamed from "rename_file" to be more accurate.
- Changes the hash name, but not the target name.
-
- * remake.c (update_file_1): Modify -d output for more detailed
- VPATH info. If we don't need to rebuild, use the VPATH name.
- (f_mtime): Don't search for vpath if we're ignoring it. Call
- renamed function rehash_file. Call name_mtime instead of
- file_mtime, to avoid infinite recursion since the file wasn't
- actually renamed.
-
- * implicit.c (pattern_search): if we find an implicit file in
- VPATH, save the original name not the VPATH name.
-
- * make.texinfo (Directory Search): Add a section on the new VPATH
- functionality.
-
-Sun Dec 1 18:36:04 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * dir.c (file_exists_p, file_impossible, file_impossible_p): If
- dirname is empty replace it by the name of the root directory.
- Note that this doesn't work (yet) for W32, Amiga, or VMS.
-
-Tue Oct 08 13:57:03 1996 Rob Tulloh <tulloh@tivoli.com>
-
- * main.c (main): W32 bug fix for PATH vars.
-
-Tue Sep 17 1996 Paul Eggert <eggert@twinsun.com>
-
- * filedef.h (NEW_MTIME): Don't assume that time_t is a signed
- 32-bit quantity.
-
- * make.h: (CHAR_BIT, INTEGER_TYPE_SIGNED, INTEGER_TYPE_MAXIMUM,
- INTEGER_TYPE_MINIMUM): New macros.
-
-Tue Aug 27 01:06:34 1996 Roland McGrath <roland@baalperazim.frob.com>
-
- * Version 3.75 released.
-
- * main.c (print_version): Print out bug-reporting address.
-
-Mon Aug 26 19:55:47 1996 Roland McGrath <roland@baalperazim.frob.com>
-
- * main.c (print_data_base): Don't declare ctime; headers do it for us
- already.
-
-Sun Jul 28 15:37:09 1996 Rob Tulloh (tulloh@tivoli.com)
-
- * w32/pathstuff.c: Turned convert_vpath_to_w32() into a
- real function. This was done so that VPATH could contain
- white space separated pathnames. Please note that directory
- paths (in VPATH/vpath context) containing white space are not
- supported (just as they are not under Unix). See README.W32
- for suggestions.
-
- * w32/include/pathstuff.h: Added prototype for the new
- function convert_vpath_to_w32. Deleted macro for same.
-
- * README.W32: Added some notes about why I chose not to try
- and support pathnames which contain white space and some
- workaround suggestions.
-
-Thu Jul 25 19:53:31 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
-
- * GNUmakefile (mkdep-nolib): Use -MM option unconditionally.
-
- * Version 3.74.7.
-
- * main.c (define_makeflags): Back up P to point at null terminator
- when killing final space and dash before setting MFLAGS.
-
- From Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>:
- * dir.c [__MSDOS__ && DJGPP > 1]: Include <libc/dosio.h> and defin
- `__opendir_flags' initialized to 0.
- (dosify) [__MSDOS__ && DJGPP > 1]: Return name unchanged if _USE_LFN.
- (find_directory) [__MSDOS__ && DJGPP > 1]: If _USE_LGN, set
- __opendir_flags to __OPENDIR_PRESERVE_CASE.
-
- * vmsfunctions.c (vms_stat): `sys$dassgn (DevChan);' added by kkaempf.
-
- * GNUmakefile (w32files): Add NMakefile.
-
- * NMakefile (LDFLAGS_debug): Value fixed by tulloh.
-
-Sat Jul 20 12:32:10 1996 Klaus Kämpf (kkaempf@progis.de)
-
- * remake.c (f_mtime) [VMS]: Add missing `if' conditional for future
- modtime check.
- * config.h-vms, makefile.vms, readme.vms, vmsify.c: Update address.
-
-Sat Jul 20 05:29:43 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
-
- * configure.in: Require autoconf 2.10 or later.
-
-Fri Jul 19 16:57:27 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
-
- * Version 3.74.6.
-
- * GNUmakefile (w32files): New variable.
- (distfiles): Add it.
- * w32: Updated by Rob Tulloh.
-
- * makefile.vms (LOADLIBES): Fix typo.
-
-Sun Jul 14 12:59:27 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
-
- * job.c (construct_command_argv_internal): Fix up #else, #endifs.
-
- * configh.dos: Define HAVE_DIRENT_H instead of DIRENT.
-
- * remake.c (f_mtime): Don't compare MTIME to NOW if MTIME == -1.
-
- * Version 3.74.5.
-
- * main.c (main): Exit with status 2 when update_goal_chain returns 2.
-
-Sat Jun 22 14:56:05 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
-
- * configure.in: Don't check for _sys_siglist.
- * make.h [HAVE__SYS_SIGLIST]: Don't test this; just punt if there is
- no strsignal or sys_siglist.
-
- * read.c (conditional_line): Strip ws in `ifeq (a , b)' so it is the
- same as `ifeq (a, b)'.
-
- * job.c (reap_children): Don't call die if handling_fatal_signal.
-
- * file.c (file_hash_enter): Allow renaming :: to : when latter is
- non-target, or : to :: when former is non-target.
-
- * job.c (start_job_command): Call block_sigs.
- (block_sigs): New function, broken out of start_job_command.
- (reap_children): Block fatal signals around removing dead child from
- chain and adjusting job_slots_used.
- * job.h: Declare block_sigs.
-
- * remote-stub.c (remote_setup, remote_cleanup): New (empty) functions.
- * main.c (main): Call remote_setup.
- (die): Call remote_cleanup.
-
- * job.c (reap_children): Quiescent value of shell_function_pid is
- zero, not -1.
-
- * main.c (print_version): Add 96 to copyright years.
-
-Sat Jun 15 20:30:01 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * read.c (find_char_unquote): Avoid calling strlen on every call
- just to throw away the value most of the time.
-
-Sun Jun 2 12:24:01 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
-
- * main.c (decode_env_switches): Prepend '-' to ARGV[1] if it contains
- no '=', regardless of ARGC.
- (define_makeflags): Elide leading '-' from MAKEFLAGS value if first
- word is short option, regardless of WORDS.
-
-Wed May 22 17:24:51 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
-
- * makefile.vms: Set LOADLIBES.
- * makefile.com (link_using_library): Fix typo.
-
-Wed May 15 17:37:26 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
-
- * dir.c (print_dir_data_base): Use %ld dev and ino and cast them to
- long.
-
-Wed May 15 10:14:14 CDT 1996 Rob Tulloh <tulloh@tivoli.com>
-
- * dir.c: W32 does not support inode. For now, fully qualified
- pathname along with st_mtime will be keys for files.
- Fixed problem where vpath can be confused when files
- are added to a directory after the directory has already been
- read in. The code now attempts to reread the directory if it
- discovers that the datestamp on the directory has changed since
- it was cached by make. This problem only seems to occur on W32
- right now so it is lumped under port #ifdef WINDOWS32.
-
- * function.c: W32: call subproc library (CreateProcess()) instead of
- fork/exec.
-
- * job.c: W32: Added the code to do fork/exec/waitpid style processing
- on W32 systems via calls to subproc library.
-
- * main.c: W32: Several things added here. First, there is code
- for dealing with PATH and SHELL defaults. Make tries to figure
- out if the user has %PATH% set in the environment and sets it to
- %Path% if it is not set already. Make also looks to see if sh.exe
- is anywhere to be found. Code path through job.c will change
- based on existence of a working Bourne shell. The checking for
- default shell is done twice: once before makefiles are read in
- and again after. Fall back to MSDOS style execution mode if no sh.exe
- is found. Also added some debug support that allows user to pause make
- with -D switch and attach a debugger. This is especially useful for
- debugging recursive calls to make where problems appear only in the
- sub-make.
-
- * make.h: W32: A few macros and header files for W32 support.
-
- * misc.c: W32: Added a function end_of_token_w32() to assist
- in parsing code in read.c.
-
- * read.c: W32: Fixes similar to MSDOS which allow colon to
- appear in filenames. Use of colon in filenames would otherwise
- confuse make.
-
- * remake.c: W32: Added include of io.h to eliminate compiler
- warnings. Added some code to default LIBDIR if it is not set
- on W32.
-
- * variable.c: W32: Added support for detecting Path/PATH
- and converting them to semicolon separated lists for make's
- internal use. New function sync_Path_environment()
- which is called in job.c and function.c before creating a new
- process. Caller must set Path in environment since we don't
- have fork() to do this for us.
-
- * vpath.c: W32: Added detection for filenames containing
- forward or backward slashes.
-
- * NMakefile: W32: Visual C compatible makefile for use with nmake.
- Use this to build GNU make the first time on Windows NT or Windows 95.
-
- * README.W32: W32: Contains some helpful notes.
-
- * build_w32.bat: W32: If you don't like nmake, use this the first
- time you build GNU make on Windows NT or Windows 95.
-
- * config.h.W32: W32 version of config.h
-
- * subproc.bat: W32: A bat file used to build the
- subproc library from the top-level NMakefile. Needed because
- WIndows 95 (nmake) doesn't allow you to cd in a make rule.
-
- * w32/include/dirent.h
- * w32/compat/dirent.c: W32: opendir, readdir, closedir, etc.
-
- * w32/include/pathstuff.h: W32: used by files needed functions
- defined in pathstuff.c (prototypes).
-
- * w32/include/sub_proc.h: W32: prototypes for subproc.lib functions.
-
- * w32/include/w32err.h: W32: prototypes for w32err.c.
-
- * w32/pathstuff.c: W32: File and Path/Path conversion functions.
-
- * w32/subproc/build.bat: W32: build script for subproc library
- if you don't wish to use nmake.
-
- * w32/subproc/NMakefile: W32: Visual C compatible makefile for use
- with nmake. Used to build subproc library.
-
- * w32/subproc/misc.c: W32: subproc library support code
- * w32/subproc/proc.h: W32: subproc library support code
- * w32/subproc/sub_proc.c: W32: subproc library source code
- * w32/subproc/w32err.c: W32: subproc library support code
-
-Mon May 13 14:37:42 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
-
- * Version 3.74.4.
-
- * GNUmakefile (vmsfiles): Fix typo.
-
- * GNUmakefile (amigafiles): Add amiga.h.
-
-Sun May 12 19:19:43 1996 Aaron Digulla <digulla@fh-konstanz.de>
-
- * dir.c: New function: amigafy() to fold filenames
- Changes HASH() to HASHI() to fold filenames on Amiga.
- Stringcompares use strieq() instead of streq()
- The current directory on Amiga is "" instead of "."
- * file.c: Likewise.
-
- * amiga.c: New function wildcard_expansion(). Allows to use
- Amiga wildcards with $(wildcard )
-
- * amiga.h: New file. Prototypes for amiga.c
-
- * function.c: Use special function wildcard_expansion() for
- $(wildcard ) to allow Amiga wildcards
- The current directory on Amiga is "" instead of "."
-
- * job.c: No Pipes on Amiga, too
- (load_too_high) Neither on Amiga
- ENV variable on Amiga are in a special directory and are not
- passed as third argument to main().
-
- * job.h: No envp on Amiga
-
- * make.h: Added HASHI(). This is the same as HASH() but converts
- it's second parameter to lowercase on Amiga to fold filenames.
-
- * main.c: (main), variable.c Changed handling of ENV-vars. Make
- stores now the names of the variables only and reads their contents
- when they are accessed to reflect that these variables are really
- global (ie. they CAN change WHILE make runs !) This handling is
- made in lookup_variable()
-
- * Makefile.ami: renamed file.h to filedep.h
- Updated dependencies
-
- * read.c: "find_semicolon" is declared as static but never defined.
- No difference between Makefile and makefile on Amiga; added
- SMakefile to *default_makefiles[].
- (read_makefile) SAS/C want's two_colon and pattern_percent be set
- before use.
- The current directory on Amiga is "" instead of "."
- Strange #endif moved.
-
- * README.Amiga: updated feature list
-
- * SMakefile: Updated dependencies
-
- * variable.c: Handling of ENV variable happens inside lookup_variable()
-
-Sat May 11 17:58:32 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
-
- * variable.c (try_variable_definition): Count parens in lhs variable
- refs to avoid seeing =/:=/+= inside a ref.
-
-Thu May 9 13:54:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
-
- * commands.c (fatal_error_signal) [SIGQUIT]: Make SIGQUIT check
- conditional.
-
- * main.c (main): Use unsigned for fread return.
-
- * read.c (parse_file_seq): Use `int' for char arg to avoid widening
- conflict issues.
- * dep.h: Fix prototype.
-
- * function.c (expand_function) [_AMIGA]: Fix some typos.
- (patsubst_expand): Make len vars unsigned.
-
- * GNUmakefile (globfiles): Add AmigaDOS support files.
- (distfiles): Add $(amigafiles).
- (amigafiles): New variable.
-
-Thu Nov 7 10:18:16 1995 Aaron Digulla <digulla@fh-konstanz.de>
-
- * Added Amiga support in commands.c, dir.c, function.c,
- job.c, main.c, make.h, read.c, remake.c
- * commands.c: Amiga has neither SIGHUP nor SIGQUIT
- * dir.c: Amiga has filenames with Upper- and Lowercase,
- but "FileName" is the same as "filename". Added strieq()
- which is use to compare filenames. This is like streq()
- on all other systems. Also there is no such thing as
- "." under AmigaDOS.
- * function.c: On Amiga, the environment is not passed as envp,
- there are no pipes and Amiga can't fork. Use my own function
- to create a new child.
- * job.c: default_shell is "" (The system automatically chooses
- a shell for me). Have to use the same workaround as MSDOS for
- running batch commands. Added HAVE_SYS_PARAM_H. NOFILE isn't
- known on Amiga. Cloned code to run children from MSDOS. Own
- version of sh_chars[] and sh_cmds[]. No dup2() or dup() on Amiga.
- * main.c: Force stack to 20000 bytes. Read environment from ENV:
- device. On Amiga, exec_command() does return, so I exit()
- afterwards.
- * make.h: Added strieq() to compare filenames.
- * read.c: Amiga needs special extension to have passwd. Only
- one include-dir. "Makefile" and "makefile" are the same.
- Added "SMakefile". Added special code to handle device names (xxx:)
- and "./" in rules.
- * remake.c: Only one lib-dir. Amiga link-libs are named "%s.lib"
- instead of "lib%s.a".
- * main.c, rule.c, variable.c: Avoid floats at all costs.
- * vpath.c: Get rid of as many alloca()s as possible.
-
-Thu May 9 13:20:43 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
-
- * read.c (read_makefile): Grok `sinclude' as alias for `-include'.
-
-Wed Mar 20 09:52:27 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
-
- * GNUmakefile (vmsfiles): New variable.
- (distfiles): Include $(vmsfiles).
-
-Tue Mar 19 20:21:34 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
-
- Merged VMS port from Klaus Kaempf <kkaempf@didymus.rmi.de>.
- * make.h (PARAMS): New macro.
- * config.h-vms: New file.
- * makefile.com: New file.
- * makefile.vms: New file.
- * readme.vms: New file.
- * vmsdir.h: New file.
- * vmsfunctions.c: New file.
- * vmsify.c: New file.
- * file.h: Renamed to filedef.h to avoid conflict with VMS system hdr.
- * ar.c: Added prototypes and changes for VMS.
- * commands.c: Likewise.
- * commands.h: Likewise.
- * default.c: Likewise.
- * dep.h: Likewise.
- * dir.c: Likewise.
- * expand.c: Likewise.
- * file.c: Likewise.
- * function.c: Likewise.
- * implicit.c: Likewise.
- * job.c: Likewise.
- * job.h: Likewise.
- * main.c: Likewise.
- * make.h: Likewise.
- * misc.c: Likewise.
- * read.c: Likewise.
- * remake.c: Likewise.
- * remote-stub.c: Likewise.
- * rule.c: Likewise.
- * rule.h: Likewise.
- * variable.c: Likewise.
- * variable.h: Likewise.
- * vpath.c: Likewise.
- * compatMakefile (srcs): Rename file.h to filedef.h.
-
-Sat Aug 19 23:11:00 1995 Richard Stallman <rms@mole.gnu.ai.mit.edu>
-
- * remake.c (check_dep): For a secondary file, try implicit and
- default rules if appropriate.
-
-Wed Aug 2 04:29:42 1995 Richard Stallman <rms@mole.gnu.ai.mit.edu>
-
- * remake.c (check_dep): If an intermediate file exists,
- do consider its actual date.
-
-Sun Jul 30 00:49:53 1995 Richard Stallman <rms@mole.gnu.ai.mit.edu>
-
- * file.h (struct file): New field `secondary'.
- * file.c (snap_deps): Check for .INTERMEDIATE and .SECONDARY.
- (remove_intermediates): Don't delete .SECONDARY files.
-
-Sat Mar 2 16:26:52 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
-
- * compatMakefile (srcs): Add getopt.h; prepend $(srcdir)/ to getopt*.
-
-Fri Mar 1 12:04:47 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
-
- * Version 3.74.3.
-
- * remake.c (f_mtime): Move future modtime check before FILE is
- clobbered by :: loop.
-
- * dir.c: Use canonical code from autoconf manual for dirent include.
- [_D_NAMLEN]: Redefine NAMLEN using this.
- (dir_contents_file_exists_p): Use NAMLEN macro.
- (read_dirstream) [_DIRENT_HAVE_D_NAMLEN]: Only set d_namlen #if this.
-
- * compatMakefile (objs): Add missing backslash.
-
-Wed Feb 28 03:56:20 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
-
- * default.c (default_terminal_rules): Remove + prefix from RCS cmds.
- (default_variables): Put + prefix in $(CHECKOUT,v) value instead.
-
- * remake.c (f_mtime): Check for future timestamps; give error and mark
- file as "failed to update".
-
-Fri Jan 12 18:09:36 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * job.c: Don't declare unblock_sigs; job.h already does.
-
-Sat Jan 6 16:24:44 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * acconfig.h (HAVE_SYSCONF_OPEN_MAX): #undef removed.
-
- * job.c (NGROUPS_MAX): Don't try to define this macro.
-
-Fri Dec 22 18:44:44 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * compatMakefile (GETOPT, GETOPT_SRC, GLOB): Variables removed.
- (objs, srcs): Include their values here instead of references.
-
-Thu Dec 14 06:21:29 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Version 3.74.2.
-
- * job.c (reap_children): Call unblock_sigs after start_job_command.
-
-Thu Dec 14 07:22:03 1995 Roland McGrath <roland@duality.gnu.ai.mit.edu>
-
- * dir.c (dir_setup_glob): Don't use lstat; glob never calls it anyway.
- Avoid & before function names to silence bogus sunos4 compiler.
-
- * configure.in: Remove check for `sysconf (_SC_OPEN_MAX)'.
-
-Tue Dec 12 00:48:42 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Version 3.74.1.
-
- * dir.c (read_dirstream): Fix braino: fill in the buffer when not
- reallocating it!
-
-Mon Dec 11 22:26:15 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * misc.c (collapse_continuations): Fix skipping of trailing \s so
- it can never dereference before the beginning of the array.
-
- * read.c (find_semicolon): Function removed.
- (read_makefile): Don't use find_semicolon or remove_comments for
- rule lines. Use find_char_unquote directly and handle quoted comments
- properly.
-
- * default.c: Remove all [M_XENIX] code.
-
- * dir.c [HAVE_D_NAMLEN]: Define this for __GNU_LIBRARY__ > 1.
- (D_NAMLEN): Macro removed.
- (FAKE_DIR_ENTRY): New macro.
- (dir_contents_file_exists_p): Test HAVE_D_NAMLEN instead of using
- D_NAMLEN.
- (read_dirstream): Return a struct dirent * for new glob interface.
- (init_dir): Function removed.
- (dir_setup_glob): New function.
- * main.c (main): Don't call init_dir.
- * read.c (multi_glob): Call dir_setup_glob on our glob_t and use
- GLOB_ALTDIRFUNC flag.
-
- * misc.c (safe_stat): Function removed.
- * read.c, commands.c, remake.c, vpath.c: Use plain stat instead of
- safe_stat.
-
-Sat Nov 25 20:35:18 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * job.c [HAVE_UNION_WAIT]: Include sys/wait.h.
-
- * main.c (log_working_directory): Made global.
- Print entering msg only once.
- * make.h (log_working_directory): Declare it.
- * misc.c (message): Take new arg PREFIX. Print "make: " only if
- nonzero. Call log_working_directory.
- * remake.c: Pass new arg in `message' calls.
- * job.c (start_job_command): Pass new arg to `message'; fix
- inverted test in that call.
-
-Tue Nov 21 19:01:12 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * job.c (start_job_command): Use `message' to print the command,
- and call it with null if the command is silent.
- * remake.c (touch_file): Use message instead of printf.
-
-Tue Oct 10 14:59:30 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * main.c (enter_command_line_file): Barf if NAME is "".
-
-Sat Sep 9 06:33:20 1995 Roland McGrath <roland@whiz-bang.gnu.ai.mit.edu>
-
- * commands.c (delete_target): Ignore unlink failure if it is ENOENT.
-
-Thu Aug 17 15:08:57 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * configure.in: Don't check for getdtablesize.
- * job.c (getdtablesize): Remove decls and macros.
-
-Thu Aug 10 19:10:03 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * main.c (define_makeflags): Omit command line variable
- definitions from MFLAGS value.
-
- * arscan.c (ar_scan) [AIAMAG]: Check for zero MEMBER_OFFSET,
- indicating a valid, but empty, archive.
-
-Mon Aug 7 15:40:03 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * dir.c (file_impossible_p): Correctly reset FILENAME to name
- within directory before hash search.
-
- * job.c (child_error): Do nothing if IGNORED under -s.
-
- * job.c (exec_command): Correctly use ARGV[0] for script name when
- running shell directly.
-
-Tue Aug 1 14:39:14 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * job.c (child_execute_job): Close STDIN_FD and STDOUT_FD after
- dup'ing from them. Don't try to close all excess descriptors;
- getdtablesize might return a huge value. Any open descriptors in
- the parent should have FD_CLOEXEC set.
- (start_job_command): Set FD_CLOEXEC flag on BAD_STDIN descriptor.
-
-Tue Jun 20 03:47:15 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * read.c (read_all_makefiles): Properly append default makefiles
- to the end of the `read_makefiles' chain.
-
-Fri May 19 16:36:32 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Version 3.74 released.
-
-Wed May 10 17:43:34 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Version 3.73.3.
-
-Tue May 9 17:15:23 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * compatMakefile ($(infodir)/make.info): Make sure $$dir is set in
- install-info cmd.
-
-Wed May 3 15:56:06 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * file.c (print_file): Grok update_status of 1 for -q.
-
-Thu Apr 27 12:39:35 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Version 3.73.2.
-
-Wed Apr 26 17:15:57 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * file.c (remove_intermediates): Fix inverted test to bail under
- -n for signal case. Bail under -q or -t.
- Skip files with update_status==-1.
-
- * job.c (job_next_command): Skip empty lines.
- (new_job): Don't test the return of job_next_command.
- Just let start_waiting_job handle the case of empty commands.
-
-Wed Apr 19 03:25:54 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * function.c [__MSDOS__]: Include <fcntl.h>. From DJ Delorie.
-
- * Version 3.73.1.
-
-Sat Apr 8 14:53:24 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * remake.c (notice_finished_file): Set FILE->update_status to zero
- if it's -1.
-
-Wed Apr 5 00:20:24 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Version 3.73 released.
-
-Tue Mar 28 13:25:46 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * main.c (main): Fixed braino in assert.
-
- * Version 3.72.13.
-
-Mon Mar 27 05:29:12 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * main.c: Avoid string in assert expression. Some systems are broken.
-
-Fri Mar 24 00:32:32 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * main.c (main): Handle 1 and 2 returns from update_goal_chain
- makefile run properly.
-
- * Version 3.72.12.
-
- * main.c (handle_non_switch_argument): New function, broken out of
- decode_switches.
- (decode_switches): Set optind to 0 to reinitialize getopt, not to 1.
- When getopt_long returns EOF, break the loop and handle remaining args
- with a simple second loop.
-
- * remake.c (remake_file): Set update_status to 2 instead of 1 for
- no rule to make. Mention parent (dependent) in error message.
- (update_file_1): Handle FILE->update_status == 2 in -d printout.
- * job.c (start_job_command, reap_children): Set update_status to 2
- instead of 1 for failed commands.
-
-Tue Mar 21 16:23:38 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * job.c (search_path): Function removed (was already #if 0'd out).
- * configure.in: Remove AC_TYPE_GETGROUPS; nothing needs it any more.
-
-Fri Mar 17 15:57:40 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * configure.bat: Write @CPPFLAGS@ translation.
-
-Mon Mar 13 00:45:59 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * read.c (parse_file_seq): Rearranged `l(a b)' -> `l(a) l(b)' loop
- to not skip the elt immediately preceding `l(...'.
-
-Fri Mar 10 13:56:49 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Version 3.72.11.
-
- * read.c (find_char_unquote): Make second arg a string of stop
- chars instead of a single stop char. Stop when any char in the
- string is hit. All callers changed.
- (find_semicolon): Pass stop chars "#;" to one find_char_unquote call,
- instead of using two calls. If the match is not a ; but a #,
- return zero.
- * misc.c: Changed find_char_unquote callers here too.
-
- * Version 3.72.10.
-
- * read.c (read_makefile, parse_file_seq): Fix typo __MS_DOS__ ->
- __MSDOS__.
-
- * GNUmakefile (globfiles): Add glob/configure.bat.
- (distfiles): Add configh.dos, configure.bat.
-
-Wed Mar 8 13:10:57 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- Fixes for MS-DOS from DJ Delorie.
- * read.c (read_makefile, parse_file_seq) [__MS_DOS__]: Don't see :
- as separator in "C:\...".
- * configh.dos (STDC_HEADERS): Define only if undefined.
- (HAVE_SYS_PARAM_H): Don't define this.
- (HAVE_STRERROR): Define this.
- * job.c (construct_command_argv_internal) [__MSDOS__]: Fix typos.
-
- * Version 3.72.9.
-
- * main.c (decode_switches): Reset optind to 1 instead of 0.
-
-Tue Mar 7 17:31:06 1995 Roland McGrath <roland@geech.gnu.ai.mit.edu>
-
- * main.c (decode_switches): If non-option arg is "-", ignore it.
-
-Mon Mar 6 23:57:38 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Version 3.72.8.
-
-Wed Feb 22 21:26:36 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Version 3.72.7.
-
-Tue Feb 21 22:10:43 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * main.c (main): Pass missing arg to tmpnam.
-
- * configure.in: Check for strsignal.
- * job.c (child_error): Use strsignal.
- * main.c (main): Don't call signame_init #ifdef HAVE_STRSIGNAL.
-
- * misc.c (strerror): Fix swapped args in sprintf.
-
-Mon Feb 13 11:50:08 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * configure.in (CFLAGS, LDFLAGS): Don't set these variables.
-
-Fri Feb 10 18:44:12 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * main.c (print_version): Add 95 to copyright years.
-
- * Version 3.72.6.
-
- * job.c (start_job_command): Remember to call notice_finished_file
- under -n when not recursing. To do this, consolidate that code
- under the empty command case and goto there for the -n case.
-
-Tue Feb 7 13:36:03 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * make.h [! STDC_HEADERS]: Don't declare qsort. Sun headers
- declare it int.
-
-Mon Feb 6 17:37:01 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * read.c (read_makefile): For bogus line starting with tab, ignore
- it if blank after removing comments.
-
- * main.c: Cast results of `alloca' to `char *'.
- * expand.c: Likewise.
-
-Sun Feb 5 18:35:46 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Version 3.72.5.
-
- * configure.in: Check for mktemp.
- * main.c (main) [! HAVE_MKTEMP]: Use tmpnam instead of mktemp.
-
- * configure.in (make_cv_sysconf_open_max): New check for `sysconf
- (_SC_OPEN_MAX)'.
- * acconfig.h: Added #undef HAVE_SYSCONF_OPEN_MAX.
- * job.c [HAVE_SYSCONF_OPEN_MAX] (getdtablesize): Define as macro
- using sysconf.
-
-Fri Jan 27 04:42:09 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * remake.c (update_file_1): When !MUST_MAKE, don't set
- FILE->update_status to zero before calling notice_finished_file.
- (notice_finished_file): Touch only when FILE->update_status is zero.
- (remake_file): Set FILE->update_status to zero after not calling
- execute_file_command and deciding to touch instead.
-
-Thu Jan 26 01:29:32 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * main.c (debug_signal_handler): New function; toggles debug_flag.
- (main): Handle SIGUSR1 with that.
-
-Mon Jan 16 15:46:56 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * compatMakefile (realclean): Remove Info files.
-
-Sun Jan 15 08:23:09 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Version 3.72.4.
-
- * job.c (start_job_command): Save and restore environ around vfork
- call.
- (search_path): Function #if 0'd out.
- (exec_command): Use execvp instead of search_path.
-
- * expand.c (variable_expand): Rewrote computed variable name and
- substitution reference handling to be simpler. First expand the
- entire text between the parens if it contains any $s, then examine
- the result of that for subtitution references and do no further
- expansion while parsing them.
-
- * job.c (construct_command_argv_internal): Handle " quoting too,
- when no backslash, $ or ` characters appear inside the quotes.
-
- * configure.in (union wait check): If WEXITSTATUS and WTERMSIG are
- defined, just use int.
-
-Tue Jan 10 06:27:27 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * default.c (default_variables) [__hpux]: Remove special
- definition of ARFLAGS. Existence of the `f' flag is not
- consistent across HPUX versions; and one might be using GNU ar
- anyway.
-
- * compatMakefile (clean): Don't remove Info files.
-
- * compatMakefile (check): Remove gratuitous target declaration.
-
-Sat Jan 7 11:38:23 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * compatMakefile (ETAGS, CTAGS): Don't use -t.
-
- * arscan.c (ar_name_equal) [cray]: Subtract 1 like [__hpux].
-
- * main.c (decode_switches): For --help, print usage to stdout.
-
-Mon Dec 5 12:42:18 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Version 3.72.3.
-
- * remake.c (update_file_1): Do set_command_state (FILE,
- cs_not_started) only if old state was deps_running.
-
-Mon Nov 28 14:24:03 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * job.c (start_waiting_job): Use set_command_state.
-
- * build.template (CPPFLAGS): New variable.
- (prefix, exec_prefix): Set from @...@.
- (compilation loop): Pass $CPPFLAGS to compiler.
-
- * GNUmakefile (build.sh.in): Make it executable.
-
- * GNUmakefile (globfiles): Add configure.in, configure.
-
- * Version 3.72.2.
-
- * configure.in (AC_OUTPUT): Don't write glob/Makefile.
-
- * configure.in (AC_CHECK_SYMBOL): Use AC_DEFINE_UNQUOTED.
-
- * configure.in: Don't check for ranlib.
-
-Tue Nov 22 22:42:40 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * remake.c (notice_finished_file): Only mark also_make's as
- updated if really ran cmds.
-
-Tue Nov 15 06:32:46 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * configure.in: Put dnls before random whitespace.
-
-Sun Nov 13 05:02:25 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * compatMakefile (CPPFLAGS): New variable, set from @CPPFLAGS@.
- (RANLIB): Variable removed.
- (prefix, exec_prefix): Set these from @...@.
- (.c.o): Use $(CPPFLAGS).
- (glob/libglob.a): Don't pass down variables to sub-make.
- glob/Makefile should be configured properly by configure.
- (distclean): Remove config.log and config.cache (autoconf stuff).
-
-Mon Nov 7 13:58:06 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * acconfig.h: Add #undef HAVE_UNION_WAIT.
- * configure.in: Converted to Autoconf v2.
- * dir.c: Test HAVE_DIRENT_H, HAVE_SYS_DIR_H, HAVE_NDIR_H instead
- of DIRENT, SYSDIR, NDIR.
- * build.sh.in (prefix, exec_prefix): Set these from @...@.
- (CPPFLAGS): New variable, set from @CPPFLAGS@.
- (compiling loop): Pass $CPPFLAGS before $CFLAGS.
- * install.sh: File renamed to install-sh.
-
- * main.c (define_makeflags): When no flags, set WORDS to zero.
-
-Sun Nov 6 18:34:01 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Version 3.72.1.
-
- * main.c (define_makeflags): Terminate properly when FLAGSTRING is
- empty.
-
-Fri Nov 4 16:02:51 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Version 3.72.
-
-Tue Nov 1 01:18:10 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Version 3.71.5.
-
- * job.c (start_job_command): When ARGV is nil, only set
- update_state and call notice_finished_file if job_next_command
- returns zero.
-
- * job.c (start_job_command): Call notice_finished_file for empty
- command line.
-
-Thu Oct 27 02:02:45 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * file.c (snap_deps): Set COMMANDS_SILENT for .SILENT, not
- COMMANDS_NOERROR.
-
-Wed Oct 26 02:14:10 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Version 3.71.4.
-
-Tue Oct 25 22:49:24 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * file.c (snap_deps): Set command_flags bits in all :: entries.
-
-Mon Oct 24 18:47:50 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * make.h (posix_pedantic): Declare it.
- * main.c (main): Move checks .IGNORE, .SILENT, .POSIX to
- snap_deps.
- * file.c (snap_deps): Check .IGNORE, .SILENT, .POSIX here instead
- of in main. If .IGNORE has deps, OR COMMANDS_NOERROR into their
- command_flags and don't set -i. Likewise .SILENT.
- * job.c (start_job_command): In FLAGS initialization, OR in
- CHILD->file->command_flags.
- * file.h (struct file): New member `command_flags'.
-
-Sun Oct 16 01:01:51 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * main.c (switches): Bump flag values for --no-print-directory and
- --warn-undefined-variables, so neither is 1 (which indicates a
- nonoption argument).
-
-Sat Oct 15 23:39:48 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * main.c (main): Add missing code in .IGNORE test.
-
-Mon Oct 10 04:09:03 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * variable.c (define_automatic_variables): Define +D and +F.
-
-Sat Oct 1 04:07:48 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * main.c (main): Define hidden automatic variable with command
- vars, and MAKEOVERRIDES to a reference to that.
- (define_makeflags): If posix_pedantic, write a reference to that
- instead.
-
-Thu Sep 29 00:14:26 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * main.c (posix_pedantic): New variable.
- (main): Set posix_pedantic if .POSIX is a target.
- Fix .IGNORE and .SILENT checks to require is_target.
-
- * commands.c (set_file_variables): Define new automatic variable
- $+, like $^ but before calling uniquize_deps.
-
- * job.c (reap_children): Call delete_child_targets for non-signal
- error if .DELETE_ON_ERROR is a target.
-
-Tue Sep 27 01:57:14 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Version 3.71.3.
-
-Mon Sep 26 18:16:55 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * job.c (reap_children): Don't change C->file->command_state when
- dying. Test it only after calling start_job_command for a new
- command line. When no more cmds, just set C->file->update_status.
- (start_job_command): When the last line is empty or under -n, set
- C->file->update_status.
- (start_waiting_job): Grok cs_not_started after start_job_command
- as success.
- (new_job): Set C->file->update_status when there are no cmds.
- (job_next_command): When out of lines, don't set
- CHILD->file->update_status or CHILD->file->command_state.
-
- * main.c (quote_as_word): Renamed from shell_quote. Take new arg;
- if nonzero, also double $s.
- (main): Define MAKEOVERRIDES from command_variables here.
- (define_makeflags): Don't use command_variables here; instead write a
- reference $(MAKEOVERRIDES) in MAKEFLAGS. Make vars recursive.
-
- * dir.c [__MSDOS__]: Fixed typo.
-
- * vpath.c (selective_vpath_search): Reset EXISTS when stat fails.
-
-Sat Sep 10 03:01:35 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * remake.c: Include <assert.h> and use assert instead of printfs
- and abort.
-
- * main.c (decode_switches): Loop until optind hits ARGC, not just
- until getopt_long returns EOF. Initialize C to zero before loop;
- in loop if C is EOF, set optarg from ARGV[optind++], else call
- getopt_long.
- (decode_env_switches): Use variable_expand instead of
- allocated_variable_expand. Allocate a fresh buffer to copy split
- words into; scan characters by hand to break words and
- debackslashify.
- (shell_quote): New function.
- (define_makeflags): Allocate doubled space for switch args, and command
- variable names and values; use shell_quote to quote those things.
-
-Fri Sep 9 01:37:47 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * Version 3.71.2.
-
- * acconfig.h: Add HAVE_SYS_SIGLIST and HAVE__SYS_SIGLIST.
-
- * main.c (decode_switches): The non-option return from getopt is
- 1, not 0.
- (command_variables): New type and variable.
- (decode_switches, decode_env_switches): After making a variable
- definition, record the struct variable pointer in the
- command_variables chain.
- (define_makeflags): If ALL, write variable definitions for
- command_variables.
-
- * main.c (other_args): Variable removed.
- (goals, lastgoal): New static variables (moved from auto in main).
- (main): Don't process OTHER_ARGS at all.
- Don't set variable MAKEOVERRIDES at all; define MAKE to just
- $(MAKE_COMMAND).
- (init_switches): Prepend a - {return in order} instead of a +
- {require order}.
- (decode_switches): Don't set OTHER_ARGS at all.
- Grok '\0' return from getopt_long as non-option argument; try
- variable definition and (if !ENV) enter goal targets here.
- (decode_env_switches): Use allocated_variable_expand to store value.
- Use find_next_token to simplify word-splitting loop. Don't
- prepend a dash to uninterpreted value. Instead, if split into
- only one word, try variable definition and failing that prepend a
- dash to the word and pass it to decode_switches as a single arg.
-
-Wed Sep 7 03:02:46 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * remake.c (notice_finished_file): Only recheck modtimes if
- FILE->command_state was cs_running on entry (meaning the commands
- actually just ran).
- (update_file_1): Whenever we set FILE->update_status, call
- notice_finished_file instead of just set_command_state.
- * job.c (start_job_command): Whenever we set
- CHILD->file->update_status, call notice_finished_file instead of
- just set_command_state.
-
-Tue Sep 6 19:13:54 1994 Roland McGrath <roland@geech.gnu.ai.mit.edu>
-
- * default.c: Add missing ".
-
- * job.c: Changed all assignments of command_state members to calls
- to set_command_state.
- * remake.c: Likewise.
- * file.c (set_command_state): New function.
- * file.h: Declare set_command_state.
-
- * main.c (init_switches): Put a + first in options.
-
-Mon Jul 25 18:07:46 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- Merge MSDOS/GO32 port from DJ Delorie <dj@ctron.com>.
- * vpath.c: Changed all uses of ':' to PATH_SEPARATOR_CHAR.
- * main.c (directory_before_chdir): New variable, moved out of main
- (was local).
- (main) [__MSDOS__]: Look for \ or : to delimit last component of
- PROGRAM. Don't frob ARGV[0] before setting MAKE_COMMAND variable.
- (die): Change back to `directory_before_chdir' before dying.
- * make.h (PATH_SEPARATOR_CHAR): New macro; differing defns for
- [__MSDOS__] and not.
- * job.c [__MSDOS__]: Include <process.h>.
- [__MSDOS__] (dos_pid, dos_status, dos_bname, dos_bename,
- dos_batch_file): New variables.
- (reap_children) [__MSDOS__]: Don't call wait; just examine those vars.
- (unblock_sigs) [__MSDOS__]: Do nothing.
- (start_job_command) [__MSDOS__]: Use spawnvpe instead of vfork & exec.
- (load_too_high) [__MSDOS__]: Always return true.
- (search_path) [__MSDOS__]: Check for : or / in FILE to punt.
- Use PATH_SEPARATOR_CHAR instead of ':'.
- (construct_command_argv_internal) [__MSDOS__]: Wholly different
- values for sh_chars and sh_cmds. Wholly new code to handle shell
- scripts.
- * function.c (expand_function: `shell') [__MSDOS__]: Wholly new
- implementation.
- * dir.c [__MSDOS__] (dosify): New function.
- (dir_contents_file_exists_p) [__MSDOS__]: Call it on FILENAME and
- process the result instead of FILENAME itself.
- (file_impossible_p) [__MSDOS__]: Likewise.
- * default.c [__MSDOS__]: Define GCC_IS_NATIVE.
- (default_suffix_rules) [__MSDOS__]: Use `y_tab.c' instead of `y.tab.c'.
- (default_variables) [GCC_IS_NATIVE]: Set CC and CXX to `gcc', YACC to
- `bison -y', and LEX to `flex'.
- * configure.bat, configh.dos: New files.
- * commands.c (fatal_error_signal) [__MSDOS__]: Just remove
- intermediates and exit.
-
- * commands.c (set_file_variables): Add parens in length
- computation in .SUFFIXES dep loop to quiet compiler warning. From
- Jim Meyering.
-
- * read.c (read_makefile): Free FILENAME if we allocated it. From
- Jim Meyering.
-
-Mon Jul 4 17:47:08 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * misc.c (safe_stat): New function, EINTR-safe wrapper around stat.
- * vpath.c (selective_vpath_search): Use safe_stat in place of stat.
- * read.c (construct_include_path): Use safe_stat in place of stat.
- * job.c (search_path): Use safe_stat in place of stat.
- * dir.c (find_directory): Use safe_stat in place of stat.
- * commands.c (delete_target): Use safe_stat in place of stat.
- * arscan.c (ar_member_touch) [EINTR]: Do EINTR looping around fstat.
- * remake.c (name_mtime): Use safe_stat in place of stat.
- (touch_file) [EINTR]: Do EINTR looping around fstat.
-
-Fri Jun 24 05:40:24 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * read.c (read_makefile): Check for a shell command first, and
- then strip leading tabs before further checking if it's not a
- shell command line.
-
- * make.h [__arm]: Undefine POSIX.
- [!__GNU_LIBRARY__ && !POSIX && !_POSIX_VERSION]: Don't declare system
- functions that return int.
-
- * job.c (construct_command_argv_internal): After swallowing a
- backslash-newline combination, if INSTRING is set goto string_char
- (new label) for normal INSTRING handling code.
-
-Sat Jun 4 01:11:20 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * configure.in: Don't check for sys_siglist and _sys_siglist with
- AC_HAVE_FUNCS. Instead use two AC_COMPILE_CHECKs.
-
-Mon May 23 18:20:38 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.71.1 released.
-
- * make.h [!__GNU_LIBRARY__ && !POSIX]: Also test #ifndef
- _POSIX_VERSION for these declarations.
-
- * misc.c [GETLOADAVG_PRIVILEGED] [POSIX]: Remove bogus #ifndefs
- around #undefs of HAVE_SETREUID and HAVE_SETREGID.
-
-Sat May 21 16:26:38 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.71 released.
-
- * misc.c [GETLOADAVG_PRIVILEGED] [POSIX]: Don't test [HAVE_SETUID]
- and [HAVE_SETGID]. Every system has those, and configure doesn't
- check for them.
-
- * make.h [_POSIX_VERSION]: Don't #define POSIX #ifdef ultrix.
-
- * compatMakefile (loadavg): Depend on and use loadavg.c instead of
- getloadavg.c.
- (loadavg.c): Link or copy it from getloadavg.c.
- (distclean): Remove loadavg.c.
-
-Mon May 16 22:59:04 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.70.4.
-
- * misc.c [GETLOADAVG_PRIVILEGED] [! POSIX]: Undefine HAVE_SETEUID
- and HAVE_SETEGID.
-
- * default.c (default_terminal_rules): In SCCS rules, put
- $(SCCS_OUTPUT_OPTION) before $<. On some systems -G is grokked
- only before the file name.
- * configure.in (SCCS_GET_MINUS_G check): Put -G flag before file name.
-
-Tue May 10 16:27:38 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * job.c (construct_command_argv_internal): Swallow
- backslash-newline combinations inside '' strings too.
-
-Thu May 5 04:15:10 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * read.c (do_define): Call collapse_continuations on each line
- before all else.
-
-Mon Apr 25 19:32:02 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * job.c (construct_command_argv_internal): Notice newline inside
- '' string when RESTP is non-null.
-
-Fri Apr 22 17:33:30 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.70.3.
-
- * remake.c (update_goal_chain): Reset FILE to G->file after the
- double-colon loop so it is never null for following code.
-
- * read.c (read_makefile): Fix `override define' parsing to skip
- whitespace after `define' properly.
-
- * compatMakefile (srcdir): Define as @srcdir@; don't reference
- $(VPATH).
- (glob/Makefile): New target.
-
-Thu Apr 21 16:16:55 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.70.2.
-
- * misc.c (remove_comments): Use find_char_unquote.
- * make.h (find_char_unquote): Declare it.
- * read.c (find_char_unquote): New function, generalized from
- find_percent.
- (find_percent, find_semicolon, parse_file_seq): Use that.
-
-Wed Apr 20 18:42:39 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * implicit.c (pattern_search): Always allocate new storage for
- FILE->stem. It is not safe to store STEM's address because it
- might be auto storage.
-
- * configure.in: Check for seteuid and setegid.
- * misc.c [HAVE_SETEUID]: Declare seteuid.
- [HAVE_SETEGID]: Declare setegid.
- (make_access, user_access) [HAVE_SETEUID]: Use seteuid.
- [HAVE_SETEGID]: Use setegid.
-
- * remake.c (update_goal_chain): Set STATUS to FILE->update_status,
- to preserve whether it's 2 for error or 1 for -q trigger. When
- STATUS gets nonzero and -q is set, always stop immediately.
- * main.c (main, decode_switches): Die with 2 for errors.
- (main): Accept 2 return from update_goal_chain and die with that.
- * misc.c (fatal, makefile_fatal): Die with 2; 1 is reserved for -q
- answer.
- * job.c (reap_children): Die with 2 for error.
- (start_job_command): Set update_status to 2 for error. Set it to
- 1 when we would run a command and question_flag is set.
-
- * read.c (read_makefile): Don't mark makefiles as precious. Just
- like other targets, they can be left inconsistent and in need of
- remaking by aborted commands.
-
- * read.c (read_makefile): Write no error msg for -include file.
-
-Tue Apr 5 05:22:19 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * commands.c (fatal_error_signal): Don't unblock signals.
-
- * file.h (struct file): Change member `double_colon' from flag to
- `struct file *'.
- * read.c (record_files): Set double_colon pointer instead of flag.
- * main.c (main): When disqualifying makefiles for updating, use
- double_colon pointer to find all entries for a file.
- * file.c (enter_file): If there is already a double-colon entry
- for the file, set NEW->double_colon to that pointer.
- (file_hash_enter): Use FILE->double_colon to find all entries to
- set name.
- * remake.c (update_goal_chain): Do inner loop on double-colon entries.
- (update_file): Use FILE->double_colon pointer to find all entries.
- (f_mtime): Likewise.
- (notice_finished_file): Propagate mtime change to all entries.
-
- * variable.c (try_variable_definition): Return after abort.
-
-Fri Apr 1 18:44:15 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * read.c (read_makefile): Remove unused variable.
- (parse_file_seq): When removing an elt that is just `)', properly
- fix up the previous elt's next pointer.
-
-Mon Mar 28 18:31:49 1994 Roland McGrath (roland@mole.gnu.ai.mit.edu)
-
- * configure.in: Do AC_SET_MAKE.
- * GNUmakefile (Makefile.in): Edit MAKE assignment into @SET_MAKE@.
-
-Fri Mar 4 00:02:32 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * function.c (subst_expand): If BY_WORD or SUFFIX_ONLY is set and
- the search string is the empty string, find a match at the end of
- each word (using end_of_token in place of sindex).
-
- * misc.c (end_of_token): Don't treat backslashes specially; you
- can no longer escape blanks with backslashes in export, unexport,
- and vpath. This was never documented anyway.
-
-Thu Mar 3 23:53:46 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * read.c (read_makefile): Variable name for `define' is not just
- first token; use whole rest of line and strip trailing blanks.
-
-Wed Feb 16 16:03:45 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.70.1.
-
- * read.c (read_makefile): Add -d msg stating args.
-
- * read.c (read_makefile): Use isspace to skip over leading
- whitespace, and explicitly avoid skipping over tabs. Don't want
- to skip just spaces though; formfeeds et al should be skipped.
-
- * default.c (default_variables) [__hpux]: Add f in ARFLAGS.
-
- * arscan.c (ar_name_equal) [__hpux]: Subtract 2 instead of 1 from
- sizeof ar_name for max length to compare.
-
- * misc.c [GETLOADAVG_PRIVILEGED] [POSIX]: Undefine HAVE_SETREUID
- #ifdef HAVE_SETUID; likewise HAVE_SETREGID and HAVE_SETGID.
-
- * main.c (main): Call user_access after setting `program', in case
- it needs to use it in an error message.
-
- * read.c (read_makefile): Ignore an empty line starting with a tab.
-
-Thu Feb 10 21:45:31 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * configure.in (AC_SYS_SIGLIST_DECLARED): Use this instead of
- AC_COMPILE_CHECK that is now its contents.
-
-Fri Feb 4 16:28:54 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * make.h: #undef strerror after #include <string.h>.
- [! ANSI_STRING]: Declare strerror.
-
-Thu Feb 3 02:21:22 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * misc.c (strerror): #undef any macro before function definition.
-
-Mon Jan 31 19:07:23 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * variable.c (try_variable_definition): Calculate BEG before loop
- to strip blanks by decrementing END. Don't decr END to before BEG.
-
- * read.c (read_makefile): Skip over leading space characters, but
- not tabs, after removing continuations and comments (it used to
- use isspace).
-
-Tue Jan 25 16:45:05 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * variable.c (define_automatic_variables): In $(@D) et al, use
- patsubst to remove trailing slash.
-
- * commands.c (delete_target): New function, broken out of
- delete_child_targets. Check for archive members and give special msg.
- (delete_child_targets): Use delete_target.
-
-Mon Jan 17 17:03:22 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * default.c (default_suffix_rules): Use $(TEXI2DVI_FLAGS) in
- texi2dvi rules. Use $(MAKEINFO_FLAGS) in makeinfo rules.
-
-Tue Jan 11 19:29:55 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * GNUmakefile (tarfiles): Omit make-doc.
- (make-$(version).tar): Include make.info*.
-
-Fri Jan 7 16:27:00 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * compatMakefile (configure, config.h.in): Comment out rules.
-
-Thu Jan 6 18:08:08 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * compatMakefile (binprefix, manprefix): New variables.
- (instname): Variable removed.
- (install): Use $({bin,man}prefix)make in place of $(instname).
- File targets likewised renamed.
-
-Mon Jan 3 17:50:25 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.70 released.
-
-Thu Dec 23 14:46:54 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.69.3.
-
- * read.c (parse_file_seq): Inside multi-word archive ref
- translation loop, check NEW1==0 at end and break out of the loop.
-
- * GNUmakefile (make-$(version).tar): Distribute install.sh.
- * install.sh: New file.
-
- * configure.in (SCCS_GET_MINUS_G check): Put redirection for admin
- cmds outside subshell parens, to avoid "command not found" msgs
- from the shell.
-
-Wed Dec 22 17:00:43 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * configure.in (SCCS_GET_MINUS_G check): Put -G flag last in get cmd.
- Redirect output & error from get to /dev/null.
- Fix reversed sense of test.
-
-Fri Dec 17 15:31:36 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * configure.in (SCCS_GET_MINUS_G check): Use parens instead of
- braces inside if condition command; some shells lose.
-
-Thu Dec 16 15:10:23 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.69.2.
-
- * arscan.c [M_UNIX]: Move #undef M_XENIX for PORTAR stuff.
- (PORTAR) [M_XENIX]: Define to 0 instead of 1.
-
- * main.c (define_makeflags): Only export MAKEFLAGS if !ALL.
-
-Wed Dec 15 17:47:48 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * main.c (main): Cast result of pointer arith to unsigned int
- before passing to define_variable for envars. Matters when
- sizeof(unsigned)!=sizeof(ptrdiff_t).
-
-Tue Dec 14 14:21:16 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * configure.in: Add new check for SCCS_GET_MINUS_G.
- * config.h.in: Add #undef SCCS_GET_MINUS_G.
- * default.c (default_terminal_rules): Use `$(SCCS_OUTPUT_OPTION)' in
- place of `-G $@' in SCCS commands.
- (default_variables) [SCCS_GET_MINUS_G]: Define SCCS_OUTPUT_OPTION
- to "-G$@".
-
- * configure.in (AC_OUTPUT): Put touch stamp-config in second arg
- (so it goes in config.status), rather than afterward.
-
- * ar.c (ar_member_date): Don't call enter_file on the archive file
- if it doesn't exist (by file_exists_p).
-
- * compatMakefile ($(infodir)/make.info): Replace `$$d/foo.info'
- with `$$dir/make.info' in install-info invocation (oops).
-
- * vpath.c (construct_vpath_list): Only set LASTPATH set PATH when
- we do not unlink and free PATH.
-
- * file.c (print_file_data_base): Fix inverted calculation for
- average files per hash bucket.
-
- * read.c (readline): When we see a NUL, give only a warning and
- synthesize a newline to terminate the building line (used to
- fatal). Move fgets call into the loop condition, and after the
- loop test ferror (used to test !feof in the loop).
-
-Fri Dec 3 16:40:31 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * configure.in: Check for strerror in AC_HAVE_FUNCS.
-
-Thu Dec 2 15:37:50 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- Differentiate different flavors of missing makefile error msgs,
- removing gratuitous `fopen: ' and giving caller for included makefiles.
- * misc.c [! HAVE_STRERROR]: Define our own strerror here.
- (perror_with_name, pfatal_with_name): Use strerror instead of
- replicating its functionality.
- * read.c (read_makefile): Return int instead of void.
- (read_all_makefiles, read_makefile): Change callers to notice zero
- return and give error msg.
-
-Thu Nov 11 11:47:36 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.69.1.
-
- * default.c: Put `-G $@' before $< in SCCS cmds.
-
-Wed Nov 10 06:06:14 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * read.c (read_makefile): After trying a variable defn, notice if
- the line begins with a tab, and diagnose an error.
-
-Sun Nov 7 08:07:37 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.69.
-
-Wed Nov 3 06:54:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.68.10.
-
- * implicit.c (try_implicit_rule): Look for a normal rule before an
- archive rule.
-
-Fri Oct 29 16:45:28 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * function.c (expand_function: `sort'): Double NWORDS when it
- overflows, instead of adding five.
-
- * compatMakefile (clean): Remove loadavg.
-
-Wed Oct 27 17:58:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.68.9.
-
- * file.h (NEW_MTIME): Define new macro.
- * main.c (main): Set time of NEW_FILES to NEW_MTIME, not to
- current time returned from system. Removed variable NOW.
- * remake.c (notice_finished_file): Use NEW_MTIME in place of
- current time here too.
-
-Tue Oct 26 19:45:35 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.68.8.
-
- * remake.c (update_file_1): Don't clear MUST_MAKE when FILE has no
- cmds and !DEPS_CHANGED unless also !NOEXIST.
-
-Mon Oct 25 15:25:21 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * read.c (parse_file_seq): When converting multi-word archive
- refs, ignore a word beginning with a '('.
-
-Fri Oct 22 02:53:38 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * configure.in: Check for sys/timeb.h.
- * make.h [HAVE_SYS_TIMEB_H]: Test this before including it.
-
-Thu Oct 21 16:48:17 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.68.7.
-
- * rule.c (convert_suffix_rule): New local TARGPERCENT. Set it to
- TARGNAME+1 for "(%.o)", to TARGNAME for "%.?". Use it in place of
- TARGNAME to initialize PERCENTS[0].
-
-Mon Oct 18 06:49:35 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * configure.in: Use AC_HAVE_HEADERS(unistd.h) instead of AC_UNISTD_H.
- Remove AC_USG; it is no longer used.
-
- * file.c (print_file): New function, broken out of
- print_file_data_base.
- (print_file_data_base): Call it.
- * rule.c (print_rule): New function, broken out of
- print_rule_data_base.
- (print_rule_data_base): Call it.
-
-Thu Oct 14 14:54:03 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * default.c (install_default_suffix_rules): New function, broken
- out of install_default_implicit_rules.
- (install_default_implicit_rules): Move suffix rule code there.
- * make.h: Declare install_default_suffix_rules.
- * main.c (main): Call install_default_suffix_rules before reading
- makefiles. Move convert_to_pattern call before
- install_default_implicit_rules.
-
- * job.h (struct child): Make `pid' member type `pid_t' instead of
- `int'.
-
- * compatMakefile (RANLIB): New variable, set by configure.
- (glob/libglob.a): Pass RANLIB value down to submake.
-
- Fixes for SCO 3.2 "devsys 4.2" from pss@tfn.com (Peter Salvitti).
- * make.h: Include <sys/timeb.h> before <time.h> for SCO lossage.
- * job.c [! getdtablesize] [! HAVE_GETDTABLESIZE]: If NOFILE is not
- defined but NOFILES_MAX is, define it to be that.
-
-Mon Oct 11 19:47:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * GNUmakefile (make-$(version).tar): Depend on acconfig.h, so it
- is distributed.
-
-Sun Oct 3 15:15:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * default.c (default_terminal_rules): Add `-G $@' to SCCS get cmds.
-
-Tue Sep 28 14:18:20 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * job.c (construct_command_argv_internal): Add ^ to SH_CHARS; it
- is another symbol for | in some shells.
- * main.c (main): Add it to CMD_DEFS quoting list as well.
-
-Mon Sep 20 18:05:24 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * job.c (construct_command_argv_internal): Remove '=' from
- SH_CHARS. Only punt on '=' if it is unquoted in a word before the
- first word without an unquoted '='.
-
- * main.c (define_makeflags): Set v_export for MAKEFLAGS.
-
-Fri Sep 17 00:37:18 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * remake.c (update_file_1): Use .DEFAULT cmds for phony targets.
-
- * make.h [_AIX && _POSIX_SOURCE]: Define POSIX.
-
- * commands.c (delete_child_targets): Don't delete phony files.
-
- * job.c (start_job_command): Set COMMANDS_RECURSE in FLAGS if we
- see a `+' at the beginning of the command line.
-
-Thu Sep 9 17:57:14 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.68.6.
-
-Wed Sep 8 20:14:21 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * main.c (define_makeflags): Define MAKEFLAGS with o_file, not o_env.
-
-Mon Aug 30 12:31:58 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * expand.c (variable_expand): Fatal on an unterminated reference.
-
-Thu Aug 19 16:27:53 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.68.5.
-
- * variable.c (define_automatic_variables): Define new o_default
- variable `MAKE_VERSION' from version_string and remote_description.
-
- * make.h (version_string, remote_description): Declare these here.
- * main.c: Don't declare version_string.
- (print_version): Don't declare remote_description.
-
-Wed Aug 18 15:01:24 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * read.c (read_makefile): Free space pointed to by CONDITIONALS
- before restoring the old pointer.
-
-Mon Aug 16 17:33:36 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * compatMakefile ($(objs)): Depend on config.h.
-
- * GNUmakefile (build.sh.in): Depend on compatMakefile.
-
- * configure.in: Touch stamp-config after AC_OUTPUT.
-
-Fri Aug 13 16:04:22 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.68.4.
-
-Thu Aug 12 17:18:57 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * make.h: Include <config.h> instead of "config.h".
-
-Wed Aug 11 02:35:25 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * main.c (main): Make all variables interned from ENVP be v_export.
- * variable.c (try_variable_definition): In v_default case, don't
- check for an o_file variable that `getenv' finds.
-
- * job.c (reap_children): New local variable ANY_LOCAL; set it
- while setting ANY_REMOTE. If !ANY_LOCAL, don't wait for local kids.
-
- * main.c (main): Don't call decode_env_switches on MFLAGS. DOC THIS.
-
- * function.c (expand_function): #if 0 out freeing of ENVP since it
- is environ.
-
-Mon Aug 9 17:37:20 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.68.3.
-
- * remote-stub.c (remote_status): Set errno to ECHILD before return.
- * job.c (reap_children): Scan the chain for remote children and
- never call remote_status if there are none.
-
- * function.c (expand_function: `shell'): #if 0 out calling
- target_environment; just set ENVP to environ instead.
-
- * job.c (reap_children): Check for negative return from
- remote_status and fatal for it.
- When blocking local child wait returns 0, then try a blocking call
- to remote_status.
-
-Tue Aug 3 00:19:00 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * compatMakefile (clean): Delete make.info* and make.dvi here.
- (distclean): Not here.
-
- * dep.h (RM_*): Use #defines instead of enum to avoid lossage from
- compilers that don't like enum values used as ints.
-
-Mon Aug 2 16:46:34 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * compatMakefile (loadavg): Add $(LOADLIBES).
-
-Sun Aug 1 16:01:15 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.68.2.
-
- * compatMakefile (loadavg, check-loadavg): New targets.
- (check): Depend on check-loadavg.
-
- * compatMakefile (glob/libglob.a): Depend on config.h.
-
- * misc.c (log_access): Write to stderr instead of stdout.
-
-Fri Jul 30 00:07:02 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.68.1.
-
-Thu Jul 29 23:26:40 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * configure.in (SYS_SIGLIST_DECLARED): In test program include
- <unistd.h> #ifdef HAVE_UNISTD_H.
-
- * compatMakefile (.PHONY): Put after `all' et al.
-
- * configure.in: Add AC_IRIX_SUN.
-
-Wed Jul 28 17:41:12 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.68.
-
-Mon Jul 26 14:36:49 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.67.8.
-
-Sun Jul 25 22:09:08 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.67.7.
-
- * compatMakefile ($(infodir)/make.info): Don't use $(instname).
- Run install-info script if present.
-
-Fri Jul 23 16:03:50 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * make.h [STAT_MACROS_BROKEN]: Test this instead of [uts].
-
- * configure.in: Add AC_STAT_MACROS_BROKEN.
-
-Wed Jul 14 18:48:11 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.67.6.
-
- * read.c (read_makefile): Recognize directive `-include', like
- `include' but sets RM_DONTCARE flag.
-
- * variable.c (target_environment): If FILE is nil, use
- current_variable_set_list in place of FILE->variables.
- * function.c (expand_function: `shell'): Get an environment for
- the child from target_environment instead of using environ.
-
- * dep.h: Declare read_all_makefiles here.
- (RM_*): Define new enum constants.
- * read.c (read_makefile): Second arg is FLAGS instead of TYPE.
- Treat it as a bit mask containing RM_*.
- (read_all_makefiles): For default makefiles, set D->changed to
- RM_DONTCARE instead of 1.
- * main.c: Don't declare read_all_makefiles here.
- (main): Check `changed' member of read_makefiles elts for RM_*
- flags instead of specific integer values.
-
-Mon Jul 12 22:42:17 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * make.h [sequent && i386]: #undef POSIX. From trost@cse.ogi.edu.
-
-Thu Jul 8 19:51:23 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * vpath.c (construct_vpath_list): If ELEM is zero 0, free PATTERN
- as well as VPATH.
- (build_vpath_lists): Empty `vpaths' around construct_vpath_list
- call for $(VPATH). Expand $(strip $(VPATH)), not just $(VPATH).
-
- * rule.c (convert_suffix_rule): Use alloca instead of xmalloc for
- PERCENTS, whose storage is not consumed by create_pattern_rule.
-
- * make.h [__mips && _SYSTYPE_SVR3]: #undef POSIX.
-
-Wed Jun 30 18:11:40 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.67.5.
-
- * rule.c (max_pattern_targets): New variable.
- (count_implicit_rule_limits): Compute its value.
- * rule.h: Declare it.
- * implicit.c (pattern_search): Make TRYRULES max_target_patterns
- times bigger. Move adding new TRYRULES elt inside the inner
- targets loop, so each matching target gets its own elt in MATCHES
- and CHECKED_LASTSLASH.
-
- * file.c (remove_intermediates): If SIG!=0 say `intermediate file'
- instead of just `file' in error msg.
-
-Fri Jun 25 14:55:15 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * job.c (construct_command_argv): Turn off
- --warn-undefined-variables around expansion of SHELL and IFS.
- * read.c (tilde_expand): Likewise for HOME.
- (read_all_makefiles): Likewise for MAKEFILES.
- * vpath.c (build_vpath_lists): Likewise for VPATH.
-
- * main.c (warn_undefined_variables_flag): New flag variable.
- (switches): Add --warn-undefined-variables.
- * make.h (warn_undefined_variables_flag): Declare it.
- * expand.c (warn_undefined): New function.
- (reference_variable): Call it if the variable is undefined.
- (variable_expand): In substitution ref, call warn_undefined if the
- variable is undefined.
-
- * default.c (default_pattern_rules): Add `%.c: %.w %.ch' and
- `%.tex: %.w %.ch' rules.
- (default_suffix_rules: .w.c, .w.tex): Pass three args: $< - $@.
- (default_suffixes): Add `.ch'.
-
-Mon Jun 21 17:55:39 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * default.c (default_suffixes): Replace `.cweb' with `.w'.
- (default_suffix_rules): Rename `.cweb.c' and `.cweb.tex' to `.w.c'
- and `.w.tex'.
-
-Fri Jun 11 14:42:09 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * compatMakefile ($(bindir)/$(instname)): Add missing backslash.
-
-Thu Jun 10 18:14:08 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.67.4.
-
- * read.c (multi_glob): Don't free OLD and OLD->name in the
- FOUND!=0 fork. Use new block-local variable F instead of
- clobbering OLD.
-
- * ar.c (glob_pattern_p): New function, snarfed from glob/glob.c.
- (ar_glob): Call it; return nil immediately if MEMBER_PATTERN
- contains no metacharacters.
-
-Wed Jun 9 16:25:35 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * ar.c (ar_glob{_match,_alphacompare}): New function.
-
- * dep.h [! NO_ARCHIVES]: Declare it.
- * read.c (multi_glob) [! NO_ARCHIVES]: Use it on archive member elts.
-
- * read.c (read_makefile): Pass flag (1) to parse_file_seq, not to
- multi_glob (which doesn't take a 3rd arg).
- * rule.c (install_pattern_rule): Likewise.
- * default.c (set_default_suffixes): Here too.
- * function.c (string_glob): Don't pass gratuitous arg to multi_glob.
-
- * read.c (parse_file_seq) [! NO_ARCHIVES]: Add post-processing
- loop to translate archive refs "lib(a b)" into "lib(a) lib(b)".
-
-Mon Jun 7 19:26:51 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * compatMakefile (installdirs): Actually pass directory names.
- ($(bindir)/$(instname)): Test chgrp&&chmod exit status with `if';
- if it fails, echo a warning msg, but don't make the rule fail.
-
- * read.c (tilde_expand): New function, broken out of tilde_expand.
- (multi_glob): Call it.
- (construct_include_path): Expand ~ in directory names.
- * dep.h: Declare tilde_expand.
- * main.c (enter_command_line_file): Expand ~ at the start of NAME.
- (main): Expand ~ in -C args.
- * read.c (read_makefile): Expand ~ in FILENAME unless TYPE==2.
-
-Fri Jun 4 13:34:47 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * main.c (decode_env_switches): Use xmalloc instead of alloca for ARGS.
-
- * main.c (main): Put result of alloca in temporary variable with
- simple assignment, to make SGI compiler happy.
-
-Thu Jun 3 20:15:46 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.67.3.
-
- * main.c (main): Before re-execing, remove intermediate files, and
- print the data base under -p. Sexier debugging message.
-
- * implicit.c (pattern_search): Allocate an extra copy of the name
- of a winning intermediate file when putting it in FOUND_FILES.
-
-Wed Jun 2 16:38:08 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * read.c (read_makefile): Pass flag (1) to parse_file_seq, not to
- multi_glob (which doesn't take a 3rd arg).
-
- * dir.c (dir_contents_file_exists_p): When reading dirents, ignore
- chars within D_NAMLEN that are NULs.
-
- * main.c (decode_switches): Don't savestring ARGV[0] to put it
- into `other_args'.
- For string switch, don't savestring `optarg'.
- (main): Don't free elts of makefiles->list that are "-".
- Use alloca'd rather than savestring'd storage for elts of
- makefiles->list that are temporary file names.
- * read.c (read_all_makefiles): Don't free *MAKEFILES.
- * file.c (enter_file): Don't strip `./'s.
- * main.c (enter_command_line_file): New function.
- (main): Use it in place of enter_file for command-line goals from
- other_files, and for old_files and new_files.
-
-Mon May 31 18:41:40 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.67.2.
-
- * compatMakefile (.SUFFIXES): Add .info.
- ($(infodir)/$(instname).info): Find make.info* in cwd if there,
- else in $srcdir. Use basename to remove dir name from installed name.
-
-Thu May 27 17:35:02 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * implicit.c (pattern_search): When interning FOUND_FILES, try
- lookup_file first; if found, free the storage for our copy of the name.
-
-Wed May 26 14:31:20 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.67.1.
-
- * main.c (decode_switches): In usage msg, write `--switch=ARG' or
- `--switch[=OPTARG]' rather than `--switch ARG' or `--switch [ARG]'.
-
-Mon May 24 16:17:31 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * rule.c (convert_suffix_rule): New function.
- (convert_to_pattern): Use it instead of doing all the work here
- several times.
- For target suffix `.a', generate both the archive magic rule and
- the normal rule.
-
- * compatMakefile (distclean): Remove stamp-config.
-
-Sat May 22 16:15:18 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.67.
-
- * file.c (remove_intermediates): Don't write extra space after `rm'.
-
- * main.c (struct command_switch.type): Remove `usage_and_exit'.
- (print_usage_flag): New variable.
- (switches: --help): Make type `flag', to set print_usage_flag.
- (init_switches): Remove `usage_and_exit' case.
- (decode_switches): Likewise.
- (decode_switches): Print usage if print_usage_flag is set.
- When printing usage, die with status of BAD.
- (main): Die with 0 if print_version_flag.
-
-Fri May 21 16:09:28 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.66.
-
-Wed May 19 21:30:44 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * compatMakefile (installdirs): New target.
- (install): Depend on it.
-
-Sun May 16 20:15:07 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.65.2.
-
-Fri May 14 16:40:09 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * vpath.c (construct_vpath_list): In removal loop for DIRPATH==0,
- set LASTPATH to PATH, not NEXT.
-
- * dir.c (read_dirstream): Break out of loop after incrementing
- DS->buckets such that it reaches DIRFILE_BUCKETS; avoid trying to
- dereference DS->contents->files[DIRFILE_BUCKETS].
-
- * read.c (read_makefile): Clear no_targets after reading a
- targetful rule line.
-
- * main.c (main): If print_version_flag is set, exit after printing
- the version.
- (switches): Change --version docstring to say it exits.
-
- * make.h [butterfly]: #undef POSIX.
-
-Wed May 12 15:20:21 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.65.1.
-
- * arscan.c (ar_scan) [! AIAMAG]: Don't declare LONG_NAME.
- [AIAMAG]: Pass TRUNCATE flag arg to (*FUNCTION), always zero.
-
- * function.c (handle_function): Use fatal instead of
- makefile_fatal when reading_filename is nil.
-
- * configure.in: Add AC_GETGROUPS_T.
- * job.c (search_path): Use GETGROUPS_T in place of gid_t.
-
-Sun May 9 15:41:25 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.65.
-
-Fri May 7 18:34:56 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * function.c (handle_function): Fatal for unmatched paren.
-
-Thu May 6 16:13:41 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.64.3.
-
- * commands.c (handling_fatal_signal): New variable.
- (fatal_error_signal): Set it.
- * job.c (reap_children): Avoid nonreentrant operations if that is set.
- * make.h: Declare handling_fatal_signal.
-
- * expand.c (reference_variable): New function, snippet of code
- broken out of simple-reference case of variable_expand.
- (variable_expand): Use it for simple refs.
- (variable_expand): When checking for a computed variable name,
- notice a colon that comes before the final CLOSEPAREN. Expand
- only up to the colon, and then replace the pending text with a
- copy containing the expanded name and fall through to subst ref
- handling.
- (variable_expand): Don't bother expanding the name if a colon
- appears before the first $.
- (expand_argument): Use alloca instead of savestring.
- (variable_expand): For subst ref, expand both sides of = before
- passing to [pat]subst_expand. Use find_percent instead of lindex
- to check the lhs for a %.
-
-Wed May 5 14:45:52 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.64.2.
-
-Mon May 3 17:00:32 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * arscan.c (ar_name_equal) [AIAMAG]: Abort if TRUNCATED is nonzero.
-
- * read.c (read_makefile): Pass extra arg of 1 to parse_file_seq,
- not to multi_glob.
-
-Thu Apr 29 19:47:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.64.1.
-
- * arscan.c (ar_scan): New local flag var LONG_NAME. Set it when
- we read the member name in any of the fashions that allow it to be
- arbitrarily long. Pass its negation to FUNCTION.
- (describe_member): Take TRUNCATED from ar_scan and print it.
- (ar_name_equal): Take new arg TRUNCATED; if nonzero, compare only
- the first sizeof (struct ar_hdr.ar_name) chars.
- (ar_member_pos): Take TRUNCATED from ar_scan, pass to ar_name_equal.
- * ar.c (ar_member_date_1): Likewise.
-
-Wed Apr 28 21:18:22 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * job.c (reap_children): Before calling start_job_command to start
- the next command line, reset C->remote by calling start_remote_job_p.
-
-Mon Apr 26 15:56:15 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * arscan.c (ar_scan): New local var NAMEMAP.
- In loop, rename NAME to NAMEBUF; new var NAME is a pointer; new
- flag IS_NAMEMAP. When extracting the member name, always put a
- null at its end first. If the name is "//" or "/ARFILENAMES", set
- IS_NAMEMAP. If we have already read in NAMEMAP, and NAME looks
- like " /N", get full name from NAMEMAP+N.
- Else if NAME looks like "#1/N", read N chars from the
- elt data to be the full name. At end of loop, if IS_NAMEMAP, read
- the elt's data into alloca'd NAMEMAP.
- (ar_name_equal): #if 0 truncating code.
-
- * make.h: Don't declare vfork at all. It returns int anyway,
- unless <unistd.h> declared it; and we conflicted with some systems.
-
- * main.c (define_makeflags): If FLAGSTRING[1] is '-', define
- MAKEFLAGS to all of FLAGSTRING, not &FLAGSTRING[1]. Don't want to
- define it to something like "-no-print-directory".
- Use %g format instead of %f for floating-valued things.
-
-Thu Apr 22 18:40:58 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * GNUmakefile (Makefile.in): Use a substitution ref on nolib-deps
- to change remote-%.dep to remote-stub.dep.
-
-Wed Apr 21 15:17:54 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.64.
-
-Fri Apr 16 14:22:22 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * compatMakefile (install): Remove - prefix from chgrp+chmod.
-
- * Version 3.63.8.
-
-Thu Apr 15 18:24:07 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acconfig.h: New file; contains "#undef SCCS_GET" for autoheader.
- * configure.in: If /usr/sccs/get exists, define SCCS_GET to that,
- else to "get".
- * default.c (default_variables): Set GET to macro SCCS_GET.
-
- * read.c (parse_file_seq): Take extra arg STRIP; strip `./' only
- if nonzero. I hope this is the last time this argument is added
- or removed.
- (read_makefile): Pass it 1 when parsing include file names.
- Pass it 1 when parsing target file names.
- Pass it 1 when parsing static pattern target pattern names.
- * rule.c (install_pattern_rule): Pass it 1 when parsing rule deps.
- * default.c (set_default_suffixes): Pass it 1 when parsing
- default_suffixes.
- * function.c (string_glob): Pass it 0 here.
-
-Wed Apr 14 11:32:05 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * misc.c (log_access): New function.
- ({init,user,make,child}_access): Call it.
- (child_access): Abort if !access_inited.
-
- * main.c (switches: --no-print-directory): Use 1 instead of -1 for
- single-letter option.
- (init_switches, decode_switches, define_makeflags): An option with
- no single-letter version is no longer indicated by a value of -1;
- instead a value that is !isalnum.
- (init_switches): Don't put such switches into the string, only
- into the long_option table.
-
- * make.h [!NSIG] [!_NSIG]: #define NSIG 32.
-
- * job.c [HAVE_WAITPID]: Remove #undef HAVE_UNION_WAIT. AIX's
- bsdcc defined WIF* to use union wait.
-
- * main.c (struct command_switch): Change member `c' to type int.
- (switches): Make const.
- (decode_switches): Use `const struct command_switch *'.
- (define_makeflags): Likewise.
-
- * default.c (default_suffix_rules): Add `-o $@' to makeinfo rules.
-
-Mon Apr 12 12:30:04 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.63.7.
-
- * configure.in (AC_HAVE_HEADERS): Check for string.h and memory.h.
- Removed AC_MEMORY_H.
- * make.h [USG, NeXT]: Don't test these.
- [HAVE_STRING_H]: Test this to include string.h and define ANSI_STRING.
- [HAVE_MEMORY_H]: Test this instead of NEED_MEMORY_H.
- [! ANSI_STRING]: Put decls of bcopy et al here.
- [sparc]: Don't test this for alloca.h; HAVE_ALLOCA_H is sufficient.
- [HAVE_SIGSETMASK]: Test this rather than USG.
- [__GNU_LIBRARY__ || POSIX]: Don't #include <unistd.h> again.
- * main.c (main): Handle SIGCHLD if defined, and SIGCLD if defined.
- It doesn't hurt to do both if they are both defined, and testing
- USG is useless.
- * dir.c: Rationalize directory header conditionals.
- * arscan.c [HAVE_FCNTL_H]: Test this rather than USG || POSIX.
-
- * default.c (default_suffixes): Add `.txinfo'.
- (default_suffix_rules): Add `.txinfo.info' and `.txinfo.dvi' rules.
-
- * variable.c (try_variable_definition): Replace RECURSIVE flag
- with enum FLAVOR, which can be simple, recursive, or append.
- Recognize += as append flavor. Set new variable VALUE in a switch
- on FLAVOR. For append flavor, prepend the variable's old value.
- If the variable was previously defined recursive, set FLAVOR to
- recursive; if it was defined simple, expand the new value before
- appending it to the old value. Pass RECURSIVE flag to
- define_variable iff FLAVOR == recursive.
-
- * variable.c (try_variable_definition): Use alloca and bcopy for
- NAME, instead of savestring. Might as well use stack storage
- since we free it immediately anyway.
-
-Thu Apr 8 18:04:43 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * job.c (start_waiting_jobs): Move decl of JOB outside of loop.
-
- * main.c (define_makeflags): Rename `struct flag' member `switch'
- to `cs', which is not a reserved word.
-
-Wed Apr 7 15:30:51 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * job.c (new_job): Call start_waiting_jobs first thing.
- (start_waiting_job): Changed return type from void to int.
- Return 0 when putting the child on the waiting_jobs chain.
- (start_waiting_jobs): Don't check load and job_slots here.
- Always take a job off the chain and call start_waiting_job on it;
- give up and return when start_waiting_job returns zero.
-
- * main.c (define_makeflags: struct flag): Change member `char c' to
- `struct command_switch *switch'.
- (ADD_FLAG): Set that to CS instead of CS->c.
- If CS->c is -1, increment FLAGSLEN for the long name.
- When writing out FLAGS, handle FLAGS->switch->c == -1 and write
- the long name instead.
-
- * compatMakefile (stamp-config): New target of old config.h rule.
- Touch stamp-config after running config.status.
- (config.h): Just depend on stamp-config, and have empty commands.
-
-Mon Apr 5 20:14:02 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * job.c [HAVE_WAITPID]: #undef HAVE_UNION_WAIT.
-
- * configure.in (AC_HAVE_FUNCS): Check for psignal.
-
-Fri Apr 2 17:15:46 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * main.c (long_option_aliases): Remove "new"; it is already an
- unambiguous prefix of "new-file".
-
-Sun Mar 28 16:57:17 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.63.6.
-
-Wed Mar 24 14:26:19 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * vpath.c (selective_vpath_search): When adding the
- name-within-directory at the end of NAME, and we don't add a
- slash, don't copy FILENAME in one char too far into NAME.
-
- * variable.c (define_automatic_variables): Find default_shell's
- length with strlen, not numerology.
-
-Wed Mar 17 20:02:27 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * main.c (define_makeflags): Add the elts of a string option in
- reverse order, so they come out right when reversed again.
-
-Fri Mar 12 15:38:45 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * compatMakefile (make.info): Use `-o make.info'.
-
-Thu Mar 11 14:13:00 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * compatMakefile (REMOTE): Set to @REMOTE@; change comments to
- reflect new use.
- (objs): Replace remote.o with remote-$(REMOTE).o.
- (srcs): Replace remote.c with remote-$(REMOTE).c.
- (remote.o): Rule removed.
-
- * configure.in (REMOTE): Subst this in Makefile et al; default "stub".
- Use AC_WITH to grok --with-customs arg to set REMOTE=cstms.
- * GNUmakefile (build.sh.in): Filter out remote-% from objs list.
- * build.template (REMOTE): New var; set to @REMOTE@.
- (objs): Add remote-${REMOTE}.o.
-
-Wed Mar 10 15:12:24 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.63.5.
-
- * implicit.c (pattern_search): Fix "dependent"->"dependency" in
- "Rejecting impossible" -d msg.
-
- * file.c (file_hash_enter): New local vars {OLD,NEW}BUCKET. Store
- mod'd values there; never mod {OLD,NEW}HASH.
-
-Mon Mar 8 13:32:48 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * remake.c [eta10]: Include <fcntl.h> instead of <sys/file.h>.
-
- * compatMakefile (VPATH): Set this to @srcdir@.
- (srcdir): Set this to $(VPATH).
-
- * main.c (main): New local var DIRECTORY_BEFORE_CHDIR. Save in it
- a copy of CURRENT_DIRECTORY after the first getcwd. Use it
- instead of CURRENT_DIRECTORY when chdir'ing back before re-execing.
-
- * remake.c (notice_finished_file): Pass missing SEARCH arg to f_mtime.
-
- * read.c (read_makefile): Remove extraneous arg to parse_file_seq.
-
-Mon Feb 22 14:19:38 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * compatMakefile ($(infodir)/$(instname).info): Use , instead of /
- as the sed delimiter char.
-
-Sun Feb 21 14:11:04 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.63.4.
-
- * rule.h (struct rule): Removed `subdir' member.
- * rule.c (new_pattern_rule): No need to clear it.
- (count_implicit_rule_limits): Set the `changed' flag in each dep
- that refers to a nonexistent directory. No longer set rule-global
- `subdir' flag with that information.
- (print_rule_data_base): Don't record info on `subdir' flags.
-
- * implicit.c (pattern_search): Check the DEP->changed flag rather
- than the (now gone) RULE->subdir flag. Also test CHECK_LASTSLASH;
- if it is set, the file might exist even though the DEP->changed
- flag is set.
-
- * rule.c (count_implicit_rule_limits): Pass "", not ".", as file
- name arg to dir_file_exists_p to check for existence of directory.
-
- * implicit.c (pattern_search): Inside dep-finding loop, set
- CHECK_LASTSLASH from the value recorded in CHECKED_LASTSLASH[I],
- rather than computing it anew.
-
- * commands.c (set_file_variables): Must alloca space for PERCENT
- and copy it, to avoid leaving the trailing `)' in the value.
-
- * misc.c (remove_comments): Fixed backslash-checking loop
- condition to allow it to look at the first char on the line.
- P2 >= LINE, not P2 > LINE.
-
- * compatMakefile ($(bindir)/$(instname)): Before moving $@.new to
- $@, rm $@.old and mv $@ to $@.old.
-
- * variable.c (try_variable_definition): Take new args FILENAME and
- LINENO. Fatal if the variable name is empty.
- * read.c (read_makefile): Change callers.
- * main.c (main): Likewise.
-
- * compatMakefile (group): Define to @KMEM_GROUP@, autoconf magic
- that configure will replace with the group owning /dev/kmem.
-
-Mon Feb 8 14:26:43 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * vpath.c (vpath_search): Take second arg MTIME_PTR, pass thru to
- selective_vpath_search.
- (selective_vpath_search): Take second arg MTIME_PTR.
- If the dir cache thinks a file exists, stat it to make sure, and
- put the modtime in *MTIME_PTR.
- * remake.c (library_search): Take second arg MTIME_PTR.
- When we find a match, record its mtime there.
- Pass MTIME_PTR through to vpath_search to do same.
- (f_mtime): Pass &MTIME as new 2nd arg to {vpath,library}_search;
- store it in FILE->last_mtime if set nonzero.
- * implicit.c (pattern_search): Pass nil 2nd arg to vpath_search.
-
- * compatMakefile (remote.o): Prepend `$(srcdir)/' to `remote-*.c',
- so globbing looks somewhere it will find things.
-
- * compatMakefile ($(infodir)/$(instname).info): Install `make.info*'
- not `$(srcdir)/make.info*'; no need to use basename.
-
-Fri Feb 5 12:52:43 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.63.3.
-
- * compatMakefile (install): Add missing ;\s.
-
- Make -, @, and + prefixes on a pre-expanded command line affect
- all lines in the expansion, not just the first.
- * commands.h (struct commands): Replace `lines_recurse' member
- with `lines_flags'.
- (COMMANDS_{RECURSE,SILENT,NOERROR}): New macros, bits to set in
- that flag byte.
- * commands.c (chop_commands): Set `lines_flags' instead of
- `lines_recurse'. Record not only + but also @ and - prefixes.
- * remake.c (notice_finished_file): Check the COMMANDS_RECURSE bit
- in FILE->cmds->lines_flags, rather than FILE->cmds->lines_recurse.
- * job.c (start_job_command): Replaced RECURSIVE and NOPRINT local
- var with FLAGS; initialize it to the appropriate `lines_flags' byte.
- Set CHILD->noerror if the COMMANDS_NOERROR bit is set in FLAGS.
- Set the COMMANDS_SILENT bit in FLAGS for a @ prefix.
-
- * remake.c (update_goal_chain): Set G->file to its prev after
- checking for G being finished, since that check needs to examine
- G->file.
-
- * configure.in (union wait check) [HAVE_WAITPID]: Try using
- waitpid with a `union wait' STATUS arg. If waitpid and union wait
- don't work together, we should not use union wait.
-
- * Version 3.63.2.
-
- * remake.c (update_goal_chain): When G->file->updated, move
- G->file to its prev. We aren't finished until G->file is nil.
-
-Thu Feb 4 12:53:04 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * main.c (starting_directory): New global variable.
- (main): Set it to cwd after doing -Cs.
- (log_working_directory): Use it, rather than computing each time.
- * make.h: Declare it.
-
- * compatMakefile (SHELL): Define to /bin/sh for losing Unix makes.
-
- * main.c (decode_env_switches): Allocate (1 + LEN + 1) words for
- ARGV, rather than LEN words plus one byte.
-
-Wed Feb 3 18:13:52 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * compatMakefile ($(bindir)/$(instname)): Put - before
- install_setgid command line, so its failure won't be an error.
- (infodir): New variable.
- (install): Depend on $(infodir)/$(instname).info.
- ($(infodir)/$(instname).info): New target.
-
- * read.c (read_makefile): If FILENAMES is nil when we see a line
- starting with a tab, don't treat it as a command. Just fall
- through, rather than giving an error.
-
- * read.c (read_makefile): If the NO_TARGETS flag is set when we see a
- command line, don't clear it before continuing. We want
- subsequent command lines to be ignored as well.
-
- * job.c (new_job): Before expanding each command line, collapse
- backslash-newline combinations that are inside var or fn references.
-
-Mon Feb 1 16:00:13 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * compatMakefile (exec_prefix): Default to $(prefix), not /usr/local.
-
- * compatMakefile (make.info): Pass -I$(srcdir) to makeinfo.
-
- * job.c [POSIX] (unblock_sigs): Made global.
- [!POSIX] (unblock_sigs): Move defns to job.h.
- * job.h [POSIX] (unblock_sigs): Declare.
-
-Sun Jan 31 19:11:05 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * read.c (read_makefile): In vpath parsing, after finding the
- pattern token, take entire rest of line as the search path, not
- just the next token.
-
- * compatMakefile (remote.o): Depend on remote-*.c.
-
-Thu Jan 28 16:40:29 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * commands.c (set_file_variables): Don't define any F or D versions.
- * variable.c (define_automatic_variables): Define them here as
- recursively-expanded variables that use the dir and notdir funcs.
-
- * variable.c (target_environment): In v_default case, don't export
- o_default or o_automatic variables.
-
- * configure.in (union wait check): Remove ` and ' inside C code;
- they confuse the shell script.
-
-Mon Jan 25 13:10:42 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.63.1.
-
- * vpath.c (construct_vpath_list): When skipping further processing
- of an elt that is ".", don't also skip the code that pushes P past
- the next separator.
-
- * compatMakefile (distclean): Don't remove make-*.
-
- * configure.in (HAVE_UNION_WAIT): Try to use WEXITSTATUS if it's
- defined. If one cannot use WEXITSTATUS with a `union wait'
- argument, we don't want to believe the system has `union wait' at all.
-
- * remake.c (update_file): Do nothing to print "up to date" msgs.
- (update_goal_chain): Do it here instead.
- Use the `changed' flag of each goal's `struct dep' to keep track
- of whether files_remade (now commands_started) changed around a
- call to update_file for that goal.
- When a goal is finished, and its file's update_status is zero (i.e.,
- success or nothing done), test the `changed' flag and give an "up
- to date" msg iff it is clear.
- * make.h (files_remade): Renamed to commands_started.
- * remake.c: Changed defn.
- (update_goal_chain): Changed uses.
- * job.c (start_job_command): Increment commands_started here.
- (reap_children): Not here.
-
- * remake.c (update_goal_chain): Don't do anything with files'
- `prev' members. update_file now completely handles this.
-
- * variable.c (target_environment): Don't expand recursive
- variables if they came from the environment.
-
- * main.c (define_makeflags): For flags with omitted optional args,
- store {"", 0} with ADD_FLAG. When constructing FLAGSTRING, a flag
- so stored cannot have more flags appended to the same word.
-
-Fri Jan 22 14:46:16 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * variable.c (print_variable_set): In vars/bucket calculation,
- don't spuriously multiply by 100.
-
- * Version 3.63.
-
- * job.c [!HAVE_UNION_WAIT] (WTERMSIG, WCOREDUMP, WEXITSTATUS):
- Don't define if already defined.
-
- * remake.c (update_file): Don't keep track of the command_state before
- calling update_file_1. Remove local variable COMMANDS_FINISHED,
- and don't test it to decide to print the "is up to date" msg.
- Testing for files_remade having changed should always be sufficient.
- The old method lost when we are called in the goal chain run on a
- makefile, because the makefile's command_state is already
- `cs_finished' from the makefile chain run.
-
- * misc.c [HAVE_SETRE[GU]ID]: Test these to decl setre[gu]id.
-
- * configure.in: Rewrote wait checking.
- Use AC_HAVE_HEADERS to check for <sys/wait.h>.
- Use AC_HAVE_FUNCS to check for waitpid and wait3.
- Use a compile check to test just for `union wait'.
- * job.c: Rewrote conditionals accordingly.
- [HAVE_WAITPID]: Test this only to define WAIT_NOHANG.
- [HAVE_WAIT3]: Likewise.
- [HAVE_UNION_WAIT]: Test this to define WAIT_T and W*.
-
- * configure.in: Set CFLAGS and LDFLAGS before all checks.
-
- * dir.c: Add static forward decls of {open,read}_dirstream.
-
-Thu Jan 21 17:18:00 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.62.31.
-
- * job.c [NGROUPS_MAX && NGROUPS_MAX==0]: #undef NGROUPS_MAX.
-
- * compatMakefile (CFLAGS, LDFLAGS): Set to @CFLAGS@/@LDFLAGS@.
- * build.template (CFLAGS, LDFLAGS): Same here.
- * configure.in: AC_SUBST(CFLAGS) and LDFLAGS.
- Set them to -g if not defined in the environment.
-
- * remake.c (library_search): Use LIBNAME consistently, setting it
- only once, to be the passed name sans `-l'.
- Pass new var FILE to be modified by vpath_search.
-
-Mon Jan 18 14:53:54 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.62.30.
-
- * job.c (start_waiting_jobs): Return when job_slots_used is equal to
- job_slots.
-
- * configure.in: Add AC_CONST for the sake of getopt.
-
- * read.c (read_makefile): Continue after parsing `override'
- directive, rather than falling through to lossage.
- Check for EOL or blank after "override define".
-
- * compatMakefile (.c.o, remote.o): Put $(CFLAGS) after other switches.
-
-Fri Jan 15 12:52:52 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.62.29.
-
- * main.c (define_makeflags): After writing everything into
- FLAGSTRING, only back up two chars if [-1] is a dash, meaning we
- just wrote " -". Always terminate the string at *P.
-
- * remake.c (library_search): When constructing names in std dirs,
- use &(*LIB)[2] for the stem, not LIBNAME (which points at the
- buffer we are writing into!).
-
-Thu Jan 14 13:50:06 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * read.c (read_makefile): Set IN_IGNORED_DEFINE for "override
- define" when IGNORING is true.
-
- * compatMakefile (distclean): Remove config.status and build.sh.
-
-Wed Jan 13 16:01:12 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.62.28.
-
- * misc.c (xmalloc, xrealloc): Cast result of malloc/realloc to
- (char *).
-
- * arscan.c (ar_scan) [AIAMAG]: Cast read arg to (char *).
-
- * variable.c (define_automatic_variables): Override SHELL value for
- origin o_env_override as well as o_env.
-
- * GNUmakefile (build.sh.in): Don't replace %globobjs%. Instead,
- add the names of the glob objects (w/subdir) to %objs%.
- * build.template (globobjs): Removed.
- Take basename of $objs before linking.
-
-Tue Jan 12 12:31:06 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.62.27.
-
- * configure.in (AC_OUTPUT): Also edit build.sh.
- * build.template: New file.
- * GNUmakefile (build.sh.in): New rule to create it from build.template.
- (make-$(version).tar.Z): Depend on build.sh.in.
-
- * main.c (die): Call print_data_base if -p.
- (main): Don't call it here.
-
- * compatMakefile (defines): Add @DEFS@. configure should turn this
- into -DHAVE_CONFIG_H.
-
-Mon Jan 11 14:39:23 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.62.26.
-
- * misc.c (init_access): Surround with #ifdef GETLOADAVG_PRIVILEGED.
- ({make,user,child}_access) [! GETLOADAVG_PRIVILEGED]: Make no-op.
- * compatMakefile (install_setgid): New var, set by configure.
- (install): Install setgid $(group) only if $(install_setgid) is true.
-
-Fri Jan 8 15:31:55 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * job.c (load_too_high): If getloadavg fails with errno==0, give a
- message saying that load limits are not supported.
-
- * vpath.c (construct_vpath_list): Rewrote path deletion code to
- not try to use PATH's next link after freeing PATH.
-
- * main.c (define_makeflags): Rewritten; now handles string-valued
- option, and has no arbitrary limits.
- (switches): Set `toenv' flag for -I and -v.
-
- * main.c (decode_env_switches): Cast return value of alloca to char *.
-
- * misc.c (child_access) [HAVE_SETREUID, HAVE_SETREGID]: Use
- setre[gu]id in place of set[gu]id.
-
-Wed Jan 6 15:06:12 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * main.c (main): Define MAKEOVERRIDES, MAKE, and MAKE_COMMAND with
- origin o_default.
-
- * make.h [POSIX]: Don't test this to use ANSI_STRING.
- Testing STDC_HEADERS should be sufficient.
-
- * job.h: Declare start_waiting_jobs.
-
- * read.c (read_makefile): Add missing parens in if stmt that find
- conditional directives.
-
- * main.c (main): Declare init_dir.
- * implicit.c (pattern_search): Always use two % specs in a
- DEBUGP2, and always pass two non-nil args.
- Cast field width args to int.
- Add missing parens in !RULE->subdir if stmt.
- * function.c (expand_function, patsubst_expand): Add parens around
- assignments inside `while' stmts.
- * commands.c (print_commands): Cast field width args to int.
-
- * read.c (do_define): Cast return value of alloca to (char *).
-
- * main.c (init_switches): New function, broken out of decode_switches.
- (decode_switches): Take new arg ENV. If set, ignore non-option
- args; print no error msgs; ignore options with clear `env' flags.
- (decode_env_switches): Rewritten to chop envar value into words
- and pass them to decode_switches.
- (switches): Set `env' flag for -I and -v.
-
- * dir.c (init_dir): Cast free to __glob_closedir_hook's type.
-
-Tue Jan 5 14:52:15 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.62.25.
-
- * job.c [HAVE_SYS_WAIT || !USG]: Don't #include <sys/time.h> and
- <sys/resource.h>. <sys/time.h> interacts badly with <time.h>, and
- we don't need these anyway.
-
- * configure.in (AC_HAVE_FUNCS): Check for setre[gu]id.
- * misc.c ({user,make}_access): Test #ifndef HAVE_SETRE[GU]ID, not
- #ifdef POSIX || USG. SunOS 4.1 is supposedly POSIX.1 compliant,
- but its set[gu]id functions aren't; its setre[gu]id functions work.
-
- * misc.c ({user,make,child}_access): Give name of caller in error msgs.
-
- * job.c (load_too_high): Say "cannot enforce load limit" in error msg.
-
- * configure.in: Call AC_PROG_CC.
- * compatMakefile (CC): Define to @CC@ (autoconf magic).
-
- * compatMakefile: Add .NOEXPORT magic target.
-
-Mon Jan 4 17:00:03 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * main.c (print_version): Updated copyright to include 93.
-
-Thu Dec 31 12:26:15 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * make.h [_AIX]: Don't declare alloca.
-
-Tue Dec 29 13:45:13 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.62.24.
-
- * compatMakefile (objs): Add signame.o.
- (srcs): Add signame.[ch].
-
- * compatMakefile (srcs): Add config.h.in.
- (remote.o): Add -I. before -I$(srcdir).
-
-Mon Dec 28 15:51:26 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.62.23.
-
- * read.c (readline): Fatal when LEN==0, indicating a line starting
- with a NUL.
- (readline): Take new arg LINENO, for use in error msg.
- (read_makefile, do_define): Pass it.
-
- * compatMakefile (glob/libglob.a): Pass -DHAVE_CONFIG_H in CPPFLAGS.
- (.c.o): Add -I. before -I$(srcdir).
-
-Wed Dec 23 12:12:04 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * read.c (read_makefile): Accept and ignore a rule with no targets.
-
- * compatMakefile (ALLOCA_SRC): New variable.
- (srcs): Include its value.
-
- * read.c (struct conditional): Renamed member `max_ignoring' to
- `allocated'; added new member `seen_else'.
- (conditional_line): Initialize seen_else flag when starting an `if...';
- set it when we see an `else'; fatal if set when we see `else'.
- (read_makefile): Fatal "missing `endif'" if there are any pending
- conditionals, not just if we are still ignoring.
-
-Tue Dec 22 15:36:28 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * compatMakefile (manext): Set to 1, not l.
- ($(mandir)/$(instname).$(manext)): Use $(srcdir) for make.man in cmds.
-
- * file.c (file_hash_enter): Don't call uniquize_deps here.
- * read.c (record_files): Likewise.
- * implicit.c (pattern_search): Likewise.
- * commands.c (set_file_variables): Call it only here.
-
- * default.c (default_variables) [__convex__]: FC=fc.
-
- * variable.c (target_environment): Expand the values of recursively
- expanded variables when putting them into the environment.
- * expand.c (recursively_expand): Made global.
- * make.h (recursively_expand): Declare it.
-
- * remake.c (check_dep): Set FILE->command_state to cs_deps_running
- when a dep's command_state is cs_running or cs_deps_running.
-
- * read.c (read_makefile): Changed error msg for spurious cmds to
- not say "first target".
-
-Sun Dec 20 17:56:09 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * configure.in: Do AC_CONFIG_HEADER right after AC_INIT.
- * make.h (HAVE_CONFIG_H): #include "config.h", then #define this.
- * compatMakefile (config.h, configure, config.h.in): New rules.
- (defines): Removed @DEFS@.
-
-Thu Dec 17 16:11:40 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * compatMakefile (realclean): Just depend on distclean; no cmds.
- (distclean): Do what realclean did before; also remove Makefile and
- config.h; don't remove configure.
- (info, dvi): New targets; depend on make.{info,dvi}.
- (doc): Removed target.
- (MAKEINFO, TEXI2DVI): New vars.
- (make.info, make.dvi): Use them instead of explicit cmds.
-
-Wed Dec 16 16:25:24 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * configure.in: Added fcntl.h to AC_HAVE_HEADERS. getloadavg cares.
-
-Wed Dec 9 15:21:01 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * main.c (long_option_aliases): Add --new-file alias for -W.
-
- * default.c (default_variables): Change all C++ to CXX and C++FLAGS
- to CXXFLAGS.
-
- * read.c (do_define): Expand the variable name before using it.
-
- * main.c (main): Define variable "MAKE_COMMAND" to argv[0];
- define "MAKE=$(MAKE_COMMAND) $(MAKEOVERRIDES)" always.
-
- * remake.c (library_search): Search for libNAME.a in cwd; look in
- vpath before looking in standard dirs, not after.
- Changed order of std dirs to: /lib, /usr/lib, ${prefix}/lib.
-
-Mon Nov 23 14:57:34 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * default.c (default_pattern_rules, default_terminal_rules): Added
- brackets around initializers.
-
- * variable.c (try_variable_definition): Don't check for LINE[0]=='\t'.
- (try_variable_definition): Expand the name before defining the var.
-
- * job.c (init_siglist): Removed function.
- Removed decl of `sys_siglist'.
- * make.h [! HAVE_SYS_SIGLIST]: #include "signame.h".
- [HAVE_SYS_SIGLIST && !SYS_SIGLIST_DECLARED]: Declare sys_siglist
- only under these conditions.
- * main.c (main): Don't declare init_siglist.
- (main) [! HAVE_SYS_SIGLIST]: Call signame_init instead of init_siglist.
-
-Wed Nov 18 14:52:51 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * read.c (record_files): Don't try to append to FIRSTDEPS if it's
- nil; instead just set it to MOREDEPS.
-
-Mon Nov 16 17:49:17 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * vpath.c (construct_vpath_list): Initialize P to DIRPATH before
- loop that sets MAXELEM.
-
-Fri Nov 13 18:23:18 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.62.22.
-
-Thu Nov 12 15:45:31 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * job.c (start_job_command): Under -n, increment files_remade after
- processing (i.e., printing) all command lines.
-
-Tue Nov 10 15:33:53 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * read.c (record_files): Append new deps if this rule has no
- commands; prepend them to existing deps if this rule has no commands.
-
- * dir.c (open_dirstream): Return nil if DIR->contents->files is nil.
-
- * read.c (parse_file_seq): Removed last arg STRIP. Always strip `./'s.
- (read_makefile): Changed callers.
- * function.c (string_glob): Likewise.
- * rule.c (install_pattern_rule): Likewise.
-
-Mon Nov 9 17:50:16 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * remake.c (files_remade): Made global.
- (notice_finished_file): Don't increment files_remade here; this
- function gets called in many situations where no remaking was in
- fact done.
- * job.c (reap_children): Do it here instead, when we know that
- actual commands have been run for the file.
- * make.h (files_remade): Declare it.
-
-Thu Nov 5 18:26:10 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * vpath.c (construct_vpath_list): Allow blanks as well as colons to
- separate elts in the search path.
-
- * read.c (read_makefile): Don't fatal on extra tokens in `vpath'.
- The search path can contain spaces now.
-
-Tue Nov 3 20:44:32 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * compatMakefile (check): New target; no-op.
-
- * file.c (file_hash_enter): Mod OLDHASH by FILE_BUCKETS after
- testing for OLDHASH==0 but before using the value.
- (rename_file): Don't mod OLDHASH by FILE_BUCKETS before passing it
- to file_hash_enter.
-
- * file.c (rename_file): Notice when OLDFILE->cmds came from
- default.c, and don't try to print ->filename in that case.
-
-Sun Oct 25 01:48:23 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * remake.c (update_file): Don't process F->also_make here.
- (notice_finished_file): Don't process FILE->also_make if no attempt
- to update FILE was actually made.
- Fixed to call f_mtime directly to refresh their modtimes.
-
-Sat Oct 24 22:08:59 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * read.c (find_percent): Don't increment P again after skipping
- an escaped %.
-
- * expand.c (variable_expand): In call to patsubst_expand, don't
- find `%'s ourselves; let that function do it.
-
- * read.c (read_makefile: record_waiting_files): Don't call
- record_files if FILENAMES is nil.
- (read_makefile): All alternatives in the parsing, except for rule
- lines, fall through to the end of the loop. At the end of the
- loop, do record_waiting_files so we notice later spurious cmds.
-
-Fri Oct 23 15:57:37 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * variable.c (define_automatic_variables): Free old value of SHELL
- before replacing it.
-
-Thu Oct 15 18:57:56 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * compatMakefile (.c.o): Add -I$(srcdir)/glob to flags.
-
- * dir.c (open_dirstream): Cast return value to __ptr_t.
-
- * default.c (default_variables: "GET") [_IBMR2]: Use USG defn.
-
- * make.h (MAXPATHLEN): Moved out of #ifndef POSIX.
- (GET_PATH_MAX): Moved from #ifdef POSIX to #ifdef PATH_MAX #else.
- Define as (get_path_max ()).
- [! PATH_MAX] (NEED_GET_PATH_MAX): Define.
- [! PATH_MAX] (get_path_max): Declare fn.
- * misc.c [NEED_GET_PATH_MAX] (get_path_max): New function.
-
-Mon Oct 12 13:34:45 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.62.21.
-
- * job.c (sys_siglist): Only declare #ifndef SYS_SIGLIST_DECLARED.
- * make.h [! HAVE_SYS_SIGLIST && HAVE__SYS_SIGLIST]: #define
- SYS_SIGLIST_DECLARED.
-
- * dir.c (file_impossible): When initializing DIR->contents, set
- DIR->contents->dirstream to nil.
-
- * compatMakefile (GLOB): Define new variable.
- (objs): Use it, rather than glob/libglob.a explicitly.
-
- * read.c (parse_file_seq): When stripping "./", handle cases like
- ".///foo" and "./////".
- * file.c (lookup_file, enter_file): Likewise.
-
-Sun Oct 11 17:00:35 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * dir.c (struct dirstream, {open,read}_dirstream): New
- data type and functions to read a directory sequentially.
- (init_dir): New function to hook it into glob.
- * main.c (main): Call init_dir.
-
- * compatMakefile (objs): Added glob/libglob.a.
- * configure.in: Remove code to test for glob.
-
-Fri Oct 9 12:08:30 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * read.c (record_files): Generalized test for NAME pointing
- somewhere into F->name.
-
- * variable.c (define_variable_in_set): Free old value when replacing.
-
- * read.c (do_define): Free the linebuffer before returning.
- (record_files): When clearing .SUFFIXES deps, free their data.
- (multi_glob): Free OLD and its data when replacing it with results
- of glob run.
-
- * commands.c (set_file_variables): Use alloca in place of xmalloc
- for temp space for $^, $?, et al.
-
- * dir.c (struct directory): New member `contents' replaces `files'
- and `dirstream'.
- (struct directory_contents): New type.
- (directories_contents): New hash table.
- (dir_struct_file_exists_p): Take a struct directory_contents.
- (dir_file_exists_p): Pass it the `contents' member of the dir found.
- (dir_struct_file_exists_p): Renamed to dir_contents_file_exists_p;
- made static. Return 0 if DIR is nil (meaning it couldn't be stat'd).
- (dir_file_exists_p, find_directory): Change all callers.
- (file_impossible): Use DIR->contents, initializing it if nil.
- (print_dir_data_base): Use DIR->contents, and print out device and
- inode numbers with each directory.
-
- * Changes for performance win from John Gilmore <gnu@cygnus.com>:
- * dir.c (DIRECTORY_BUCKETS): Increase to 199.
- (DIRFILE_BUCKETS): Decrease to 107.
- (find_directory): Allocate and zero a multiple of
- sizeof (struct dirfile *), not of sizeof (struct dirfile).
- (dir_struct_file_exists_p): New function, nearly all code from
- dir_file_exists_p.
- (dir_file_exists_p): Just call find_directory+dir_struct_file_exists_p.
- * vpath.c (selective_vpath_search): Remove redundant
- dir_file_exists_p call.
-
- * configure.in: Comment out glob check; always use our code.
-
-Fri Oct 2 19:41:20 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * make.h [! HAVE_SYS_SIGLIST && HAVE__SYS_SIGLIST]: #define
- HAVE_SYS_SIGLIST; after doing #define sys_siglist _sys_siglist, we
- do have it.
-
-Wed Sep 30 19:21:01 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * main.c (main): Don't do -w automatically if -s.
-
-Tue Sep 29 21:07:55 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * main.c (printed_version): Move variable inside print_version.
- (print_version): Return immediately if printed_version is set.
- (die): Don't test printed_version here.
- (decode_switches): Under -v, do print_version before giving usage.
- (DESCRIPTION_COLUMN): New macro.
- (decode_switches): Use it when printing the usage message.
- Leave at least two spaces between options and their descriptions.
-
-Fri Sep 25 13:12:42 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.62.20.
-
-Wed Sep 16 16:15:22 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * read.c (read_makefile): Save errno value from trying to open
- FILENAME, and restore it before erring; otherwise we get the errno
- value from the last elt of the search path.
-
-Tue Sep 15 15:12:47 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * main.c (long_option_aliases): Add --stop for -S.
-
- * read.c (word1eq): Do strncmp before dereferencing someplace that
- may be out in space.
-
-Wed Sep 9 15:50:41 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * remake.c (notice_finished_file): If all the command lines were
- recursive, don't do the touching.
-
- * job.c (start_job_command): Don't check for + here.
- * commands.c (chop_commands): Do it here instead.
-
- * default.c (default_terminal_rules): Prepend + to cmds for RCS.
-
-Wed Sep 2 17:53:08 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * compatMakefile (objs): Include $(ALLOCA).
-
- * make.h [CRAY]: Move #define signal bsdsignal to before #includes.
-
-Thu Aug 27 17:45:43 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
-
- * read.c (default_include_directories): Add INCLUDEDIR first.
- * compatMakefile (includedir): Define.
- (defines): Add -D for INCLUDEDIR="$(includedir)".
-
- * read.c (read_makefile): Grok multiple files in `include';
- globbing too.
-
- * remake.c (library_search): New function.
- (library_file_mtime): Remove function.
- (f_mtime): Use library_search instead of library_file_mtime.
- * compatMakefile (libdir): Define.
- (defines): Add -D for LIBDIR="$(libdir)".
- * make.texinfo (Libraries/Search): Document change.
-
- * file.c (rename_file): Fix file_hash_enter call with missing arg.
-
-Wed Aug 26 17:10:46 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.62.19.
-
- * main.c (main): Set command_state to cs_finished for temp files
- made for stdin makefiles.
-
- * main.c (decode_switches): Don't tell getopt to return non-option
- args in order.
- Ignore an argument of `-'.
-
-Thu Aug 20 13:36:04 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * job.c (start_job_command): If (touch_flag && !RECURSIVE), ignore
- the command line and go to the next.
- (notice_finished_file): Under -t, touch FILE.
- * remake.c (remake_file): Don't touch it here.
-
-Wed Aug 19 16:06:09 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * function.c (pattern_matches): Use temporary for strlen (WORD)
- instead of two function calls.
-
- * compatMakefile (LOAD_AVG): Remove variable and comments.
-
-Tue Aug 18 14:58:58 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * make.texinfo (Running): Node renamed to `make Invocation'.
-
-Fri Aug 14 12:27:10 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * arscan.c (ar_name_equal): Don't compare [MAX-3..MAX] if
- NAMELEN != MEMLEN.
-
-Thu Aug 13 17:50:09 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.62.18.
-
- * main.c: Don't #include <time.h>; make.h already does.
-
-Mon Aug 10 17:03:01 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * implicit.c (pattern_search): Fixed copying of suffix when building
- also_make elts.
-
- * function.c (expand_function: `shell'): Make sure BUFFER is
- null-terminated before replacing newlines.
-
- * compatMakefile (mandir): Use man$(manext), not always manl.
-
-Sun Aug 2 01:42:50 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * rule.c (new_pattern_rule): Not static.
- * rule.h: Declare it.
-
- * file.c (file_hash_enter): New function, most code from rename_file.
- (rename_file): Call it.
- * file.h (file_hash_enter): Declare it.
-
- * dep.h: Doc fix.
-
-Thu Jul 30 15:40:48 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * main.c (decode_switches): Handle usage_and_exit when building
- long options vector.
-
- * default.c (default_terminal_rules): Make RCS rules use $(CHECKOUT,v).
- (default_variables): Define CHECKOUT,v (hairy).
-
- * make.h [!HAVE_SYS_SIGLIST && HAVE__SYS_SIGLIST]: #define
- sys_siglist to _sys_siglist.
-
-Sun Jul 26 16:56:32 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * NEWS: Add header and tail copyright info like Emacs NEWS.
-
- * make.h [ANSI_STRING]: Don't #define index, rindex, bcmp, bzero,
- bcopy if already #define'd.
- [STDC_HEADERS] (qsort, abort, exit): Declare here.
- [! __GNU_LIBRARY__ && !POSIX]: Not here.
-
- * make.h [_AIX]: #pragma alloca first thing.
-
- * job.c (start_waiting_job): Set the command_state to cs_running
- when we queue a job on waiting_jobs.
-
-Fri Jul 24 02:16:28 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * variable.c (define_automatic_variables): Use "" instead of nil
- for empty value.
-
-Thu Jul 23 22:31:18 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.62.17.
-
- * main.c (struct command_switch.type): Add alternative usage_and_exit.
- (command_switches): Add -h/--help.
-
-Thu Jul 16 14:27:50 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * GNUmakefile (make-$(version).tar.Z): Include NEWS, not CHANGES.
- * README.template: Mention NEWS.
- * CHANGES: Renamed to NEWS.
-
- * main.c [! STDC_HEADERS] [sun]: Don't declare exit.
-
-Tue Jul 14 18:48:41 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * main.c (main): Set -o files' command_states to cs_finished.
-
- * rule.c (count_implicit_rule_limits): Decrement num_pattern_rules
- when tossing a rule.
-
- * main.c (main): Use alloca only in simple local var assignment,
- for braindead SGI compiler.
-
- * rule.c (print_rule_data_base): Barf if num_pattern_rules is
- inconsistent with the number computed when listing them.
-
-Mon Jul 13 17:51:53 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * commands.c (set_file_variables): For $? and $^ elts that are archive
- member refs, use member name only.
-
-Fri Jul 10 00:05:04 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * variable.h (struct variable.export): Add new alternative v_ifset.
- * variable.c (target_environment): Check for it.
- (define_automatic_variables): Set it for MAKEFILES.
-
-Thu Jul 9 21:24:28 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * compatMakefile (objs): Remove getloadavg.o; $(extras) gets it.
- (remote.o): Use $(srcdir)/remote.c, not $remote.c<.
- (distclean, mostlyclean): New targets.
-
-Tue Jul 7 19:12:49 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.62.16.
-
- * compatMakefile (config.status): Remove rule.
-
- * job.c (start_waiting_job): Free C after using C->file, not before.
-
-Sat Jul 4 20:51:49 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * commands.c, job.c, main.c, make.h, remote-cstms.c: Use #ifdef
- HAVE_* instead of #ifndef *_MISSING.
- * configure.in: Use AC_HAVE_FUNCS instead of AC_MISSING_FUNCS (gone).
-
-Thu Jul 2 18:47:52 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * main.c (main): makelevel>0 or -C implies -w.
-
-Tue Jun 30 20:50:17 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * file.c, job.c, function.c: Don't #include <errno.h>.
- make.h: Do it here instead.
- * arscan.c (ar_member_touch): Don't declare errno.
-
-Thu Jun 25 17:06:55 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * GNUmakefile (make-$(version).tar.Z): Depend on INSTALL, configure.in.
-
- * remake.c (update_file): If commands or deps are running after
- update_file_1 returns, break out of the :: rule (->prev) loop and
- just return.
-
- * job.c (job_next_command): New function; code from start_job.
- (start_job_command): Renamed from start_job. Call job_next_command
- and recurse for empty command lines and -n.
- (start_waiting_job): Call start_job_command, not start_job.
- (new_job): Call job_next_command to prime the child structure, and
- then call start_waiting_job.
- (reap_children): Use job_next_command and start_job_command.
- (start_waiting_job): Call start_remote_job_p here, and store its
- result in C->remote. If zero, check the load average and
- maybe put C on waiting_jobs.
- (start_job_command): Test CHILD->remote rather than calling
- start_remote_job_p. Don't do load avg checking at all here.
-
- * main.c (main): Don't handle SIGILL, SIGIOT, SIGEMT, SIGBUS,
- SIGSEGV, SIGFPE or SIGTRAP.
-
- * compatMakefile (glob/libglob.a): Don't pass srcdir to sub-make.
- configure will set it in glob/Makefile.
-
-Wed Jun 24 19:40:34 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * dir.c [DIRENT] (direct): Don't define to dirent.
- [! DIRENT] (direct): Define to dirent.
- (dir_file_exists_p): Use struct dirent instead of struct direct.
-
- * make.h (getcwd): No space between macro and ( for args!
-
- * job.c (start_job): Don't put the job on waiting_jobs if
- job_slots_used==0.
-
- * make.texinfo (Missing): Shortened title.
-
-Tue Jun 23 18:42:21 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * file.c (remove_intermediates): Print "rm" commands under -n.
-
-Mon Jun 22 16:20:02 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.62.15.
-
-Fri Jun 19 16:20:26 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * arscan.c [M_UNIX]: #undef M_XENIX.
-
-Wed Jun 17 17:59:28 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * default.c (default_terminal_rules): Put @ prefix on RCS cmds.
-
-Tue Jun 16 19:24:17 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * compatMakefile (getloadavg.o): Removed special rule.
- (CFLAGS): Don't include $(defines).
- (.c.o): Define suffix rule.
- (glob/libglob.a): Pass CPPFLAGS=$(defines) to submake.
- (GETOPT_SRC, srcs, tagsrcs): Prefix files with $(srcdir)/.
-
- * arscan.c (ar_name_equal): Moved local vars inside #if'd block.
-
- * make.h (max): Removed.
- * expand.c (variable_buffer_output): Don't use it.
-
- * compatMakefile (INSTALL): Define.
- (Makefile): New rule to make from Makefile.in.
- (srcdir): Define.
- (VPATH): Define.
- (getloadavg.o, remote.o): Use autoconf $foo< hack.
-
- * commands.c (fatal_error_signal): Removed return.
-
-Mon Jun 15 17:42:51 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.62.14.
-
- * make.texinfo (Summary): New node.
- (Special Targets): Mention .EXPORT_ALL_VARIABLES here.
-
- * variable.c (max): Moved to make.h.
-
- * compatMakefile (objs, srcs): Added ar & arscan.
-
- * job.c (start_waiting_job): New function, 2nd half of new_job.
- (new_job): Call it.
- (start_waiting_jobs): New function.
- * remake.c (update_goal_chain): Call start_waiting_jobs at the top
- of the main loop.
- * compatMakefile (objs, srcs): Removed load, added getloadavg.
-
-Fri Jun 12 19:33:16 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * job.c (load_too_high): New function. Uses getloadavg.
- (waiting_jobs): New variable.
- (start_job): Don't call wait_to_start_job. Instead, if
- load_too_high returns nonzero, add the child to the
- `waiting_jobs' chain and return without starting the job.
-
-Thu Jun 11 00:05:28 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * expand.c (variable_buffer_output): Made global again.
- * variable.h: And declare it.
-
- * arscan.c (PORTAR): Define for all systems if PORT5AR is not defined.
- (AR_NAMELEN, AR_TRAILING_SLASH): Removed.
- (ar_scan): Don't use it. Don't #ifdef AR_TRAILING_SLASH; just look
- for a slash in the archive at run time.
- (ar_name_equal): Rewrote .o hacking to not use AR_NAMELEN, and to
- cope with trailing-slash and non-trailing-slash archives.
-
- * main.c (main) [! SETVBUF_REVERSED]: Test this instead of USGr3 et al.
- [SETVBUF_REVERSED]: Always allocate a buffer ourselves.
-
- * load.c (load_average) [sgi]: Use sysmp call.
-
- * compatMakefile (INSTALL_DATA, INSTALL_PROGRAM): Define.
- ($(bindir)/$(instname), $(mandir)/make.$(manext)): Use them.
-
- * make.h [HAVE_VFORK_H]: #include <vfork.h>.
- (vfork, VFORK_NAME): Don't define.
- * job.c (start_job): Use "vfork" in place of VFORK_NAME.
-
- * make.h [HAVE_LIMITS_H, HAVE_SYS_PARAM_H]: If #define'd, #include
- the each file. Rearranged PATH_MAX hacking.
- * job.c: Rearranged NGROUPS_MAX hacking.
-
- * remake.c (fstat, time): Don't declare.
-
- * compatMakefile (defines): Value is @DEFS@.
- (LOADLIBES): Value is @LIBS@.
- (extras): Value is @LIBOBJS@.
- (ARCHIVES, ARCHIVES_SRC, ALLOCASRC): Removed.
- * arscan.c, ar.c: Surround body with #ifndef NO_ARCHIVES.
-
- * misc.c [! HAVE_UNISTD_H]: Test instead of !POSIX to decl get*id.
-
- * make.h [GETCWD_MISSING]: Test instead of !USG && !POSIX et al.
- (getcwd): Just declare if present. If not, declare as a macro
- using getwd, and declare getwd.
- [PATH_MAX] (GET_PATH_MAX): #define to PATH_MAX.
- * main.c (main, log_working_directory): Use getcwd instead of getwd.
-
- * main.c (main) [SETLINEBUF_MISSING]: Test this instead of USG.
-
- * make.h (SIGHANDLER, SIGNAL): Removed.
- (RETSIGTYPE): Define if not #define'd.
- * main.c (main): Use signal in place of SIGNAL.
-
- * main.c [SYS_SIGLIST_MISSING]: Test instead of USG.
-
- * job.c (search_path) [GETGROUPS_MISSING]: Test instead of USG.
- [HAVE_UNISTD_H]: Test instead of POSIX to not decl getgroups.
-
- * main.c [! HAVE_UNISTD_H]: Test instead of !POSIX to decl chdir.
- [! STDC_HEADERS]: Test instead of !POSIX to decl exit & atof.
-
- * job.c (child_handler), commands.c (fatal_error_signal): Return
- RETSIGTYPE instead of int.
- * main.c (main): Declare fatal_error_signal and child_handler here
- to return RETSIGTYPE; removed top-level decl of former.
-
- * commands.c (fatal_error_signal), job.c (unblock_sigs, start_job),
- main.c [SIGSETMASK_MISSING]: Test this instead of USG.
-
-Wed Jun 10 22:06:13 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * job.c [HAVE_WAITPID]: Test this instead of USG.
- [! HAVE_UNISTD_H]: Test this instead of !POSIX to declare misc fns.
- (GID_T): Don't #define.
- (search_path): Use gid_t instead of GID_T.
- [GETDTABLESIZE_MISSING, SYS_SIGLIST_MISSING, DUP2_MISSING]: Test
- these individually instead of USG for all.
- * make.h (ctime): Don't declare. #include time.h instead.
- [HAVE_UNISTD_H]: #include <unistd.h> and #define POSIX #ifdef
- _POSIX_VERSION.
- * dir.c [__GNU_LIBRARY__] (D_NAMLEN): Define to use d_namlen member.
- * make.h [NEED_MEMORY_H]: Only include memory.h #ifdef this.
-
- * arscan.c: Removed #ifdef mess about string.h et al.
- Just #include make.h instead.
- * make.h (fstat, atol): Declare.
-
- * commands.c (fatal_error_signal): Don't use sigmask to check for
- propagated signals; use ||s instead.
- (PROPAGATED_SIGNAL_MASK): Removed.
- (fatal_error_signal) [POSIX]: Use sigprocmask in place of sigsetmask.
-
- * variable.c (variable_buffer, variable_buffer_length,
- initialize_variable_output, variable_output): Moved to expand.c;
- made all static.
- (struct output_state, save_variable_output,
- restore_variable_output): Removed.
- * expand.c (initialize_variable_output): Put a NUL at the beginning
- of the new buffer after allocating it.
- (allocated_variable_expand_for_file): Don't use
- {save,restore}_variable_output. Do it by hand instead, keeping
- state on the stack instead of malloc'ing it.
- (allocated_variable_expand): Removed.
- * variable.h (allocated_variable_expand): Define here as macro.
- (variable_buffer_output, initialize_variable_output,
- save_variable_output, restore_variable_output): Removed decls.
-
- * read.c (conditional_line): For an if cmd, if any elt of the
- conditionals stack is ignoring, just push a new level that ignores
- and return 1; don't evaluate the condition.
-
-Thu Jun 4 21:01:20 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * main.c (main): Put #ifdef's around frobbing SIGSYS and SIGBUS.
-
- * job.c (getdtablesize): Don't declare or #define if already #define'd.
-
-Wed Jun 3 23:42:36 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * file.c (snap_deps): If `.EXPORT_ALL_VARIABLES' is a target, set
- export_all_variables.
- * make.texinfo (Variables/Recursion): Document .EXPORT_ALL_VARIABLES.
-
-Tue Jun 2 21:08:35 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.62.13.
-
- * commands.c (set_file_variables): Calculate length for ^D and ?D
- individually, making sure to give them at least enough space for "./".
-
- * make.h [CRAY]: #define signal to bsdsignal.
-
- * default.c (default_variables) [CRAY]: Define PC, SEGLDR,
- CF77PPFLAGS, CF77PP, CFT, CF, and FC.
-
- * arscan.c (AR_HDR_SIZE): Define to sizeof (struct ar_hdr), if it
- wasn't defined by <ar.h>.
-
-Thu May 28 00:56:53 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.62.12.
-
-Tue May 26 01:26:30 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * rule.c (new_pattern_rule): Initialize LASTRULE to nil, not
- pattern_rules.
-
-Mon May 25 19:02:15 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * main.c (decode_switches): Initialize all the long_option elt members.
-
-Thu May 21 16:34:24 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
-
- * make.texinfo (Text Functions): Correct filter-out description.
-
-Tue May 19 20:50:01 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * compatMakefile (realclean): Don't remove backup files.
-
- * main.c (decode_switches): Allocate ARGC+1 elts in `other_args'.
-
-Sun May 17 16:38:48 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * Version 3.62.11.
-
-Thu May 14 16:42:33 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * job.c (reap_children): Don't die if wait returns EINTR.
-
-Wed May 13 18:28:25 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * job.c (reap_children): Always run the next command for a
- successful target. If we are going to die, we don't want to leave
- the target partially made.
-
-Tue May 12 00:39:19 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * job.c (construct_command_argv_internal): After loop, if we only
- have one word, check it for being a shell command.
-
- * main.c (decode_switches): Allocate ARGC slots in other_args to
- begin with, so we never need to worry about growing it.
- If we get a non-option arg and POSIXLY_CORRECT is in the
- environment, break out of the loop. After the loop, add all remaining
- args to other_args list.
-
- * main.c (decode_switches): For positive_int and floating switches
- when optarg is nil, use next arg if it looks right (start with a
- digit, or maybe decimal point for floating).
-
- * variable.c (define_automatic_variables): Always set SHELL to
- default if it comes from the environment. Set its export bit.
- * make.texinfo (Environment): Document change.
-
-Mon May 11 00:32:46 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * Version 3.62.10.
-
- * compatMakefile (tags, TAGS): Use vars for cmds.
- (ETAGS, CTAGS): Define.
-
- * main.c (decode_switches): If a switches elt has a nil long_name,
- make the long option name elt be "".
- Fixed loop to not ignore all the options.
-
- * make.texinfo (Option Summary): Added long options.
-
- * main.c (switches): Changed -m's description to "-b".
- (decode_switches): When printing the usage message, don't print
- switches whose descriptions start with -.
- When constructing the list of names for switch -C, search the
- switches vector for switches whose descriptions are "-C".
-
- * main.c (switches): Call -S --no-keep-going, not --dont-keep-going.
- Call -I --include-dir, not --include-path.
- (long_option_aliases): Added --new == -W, --assume-new == -W,
- --assume-old == -o, --max-load == -l, --dry-run == -n, --recon == -n,
- --makefile == -f.
-
- * main.c (switches): Removed bogus "silent" elt.
- (long_option_aliases): Define new var.
- (decode_switches): Add long_option_aliases onto the end of the long
- options vector created for getopt_long.
- Look through long_option_aliases for extra names to list
- in usage message.
-
-Sat May 9 00:21:05 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * main.c (log_working_directory): Fixed to properly not print the
- leaving message when we haven't printed the entering message.
-
-Fri May 8 21:55:35 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * main.c (struct command_switch): Added elts `long_name',
- `description', and `argdesc'.
- (switches): Added initializers for new members.
- (decode_switches): Rewritten to use getopt_long.
- * compatMakefile (GETOPT, GETOPT_SRC): Define.
- (objs, srcs): Include them.
-
- * job.c (child_died): Renamed to dead_children; made static.
- (child_handler): Increment dead_children instead of setting child_died.
- (reap_children): Decrement dead_children instead of clearing
- child_died. The point of all this is to avoid printing "waiting
- for unfinished jobs" when we don't actually need to block.
- This happened when multiple SIGCHLDs before reap_children was called.
-
- * job.c (reap_children): If ERR is set, so we don't call start_job
- on the child being reaped, instead set its command_state to
- cs_finished.
- (reap_children, child_handler, new_job): I added several
- debugging printf's while fixing this. I left them in if (debug_flag)
- because they may be useful for debugging this stuff again.
-
-Wed May 6 22:02:37 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * read.c (read_makefile): v_export is not 1.
-
-Mon May 4 17:27:37 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.62.9.
-
- * variable.c (export_all_variables): New variable.
- (target_environment): Export variables whose `export' member is
- v_default if export_all_variables is set and their names are benign.
- * variable.h: Declare export_all_variables.
- * read.c (read_makefile): If export or unexport is given with no
- args, set or clear export_all_variables, respectively.
-
- * variable.c (target_environment): Exclude MAKELEVEL in the loop,
- so it isn't duplicated when we add it at the end.
-
-Sun May 3 17:44:48 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.62.8.
-
- * variable.h (struct variable): Added new member `export'.
- * variable.c (define_variable_in_set): Initialize it to v_default.
- (target_environment): Don't check for .NOEXPORT.
- Export variables whose `export' member is v_default and that would
- have been exported under .NOEXPORT, and variables whose `export'
- member is v_export.
- (try_variable_definition): Return the variable defined.
- * variable.h (try_variable_definition): Changed decl.
- * read.c (read_makefile): Recognize `export' and `unexport' directives.
-
-Fri May 1 11:39:38 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * main.c (main) [POSIX]: Reversed args to sigaddset.
-
-Thu Apr 30 17:33:32 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * job.c [POSIX || !USG] (unblock_sigs): New fn.
- (start_job): Block signals before forking.
- (new_job): Unblock signals after putting the new child on the chain.
- * main.c (main) [POSIX]: Use sigset_t fatal_signal_set instead of
- int fatal_signal_mask.
-
- * load.c [sgi] (LDAV_CVT): Define.
-
-Wed Apr 29 17:15:59 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * Version 3.62.7.
-
- * load.c (load_average) [sgi]: Clear the high bit of the address
- from the symbol table before looking it up in kmem.
-
- * misc.c (fatal, makefile_fatal): Put *** in fatal error messages.
- (remake_file): No longer needed in message here.
-
- * main.c (die): Call reap_children with BLOCK==1.
-
-Tue Apr 28 20:44:35 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * rule.c (freerule): Don't set LASTRULE->next if LASTRULE is nil.
-
-Sun Apr 26 15:09:51 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * rule.c (count_implicit_rule_limits): Initialize LASTRULE to nil,
- not to head of chain. Extract next ptr before we might do
- freerule, and use that for next iteration.
- (freerule): Still do next ptr frobbing if LASTRULE is nil.
-
-Tue Apr 21 03:16:29 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * job.c (child_error): Removed extra %s from error msg format.
-
- * Version 3.62.6.
-
- * job.c (reap_children): Don't start later commands in a sequence
- if ERR is nonzero.
-
- * job.c (new_job): Always call reap_children with BLOCK==0 first thing.
-
- * job.c (reap_children): New function; work that used to be done in
- child_handler.
- (child_died): New global var.
- (child_handler): Now just sets child_died.
- (wait_for_children): Removed.
- (unknown_children_possible, block_signals, unblock_signals,
- push_signals_blocked_p, pop_signals_blocked_p): Removed.
- (child_execute_job): Removed call to unblock_signals.
- (new_job): Removed calls to push_signals_blocked_p and
- pop_signals_blocked_p.
- * job.h: Declare reap_children, not wait_for_children.
- * commands.c (fatal_error_signal), job.c (new_job),
- load.c [LDAV_BASED] (wait_to_start_job), main.c (die),
- remake.c (update_goal_chain), function.c (expand_function: `shell'):
- Changed wait_for_children calls to reap_children.
- Some needed to be loops to wait for all children to die.
- * commands.c (fatal_error_signal), main.c (main,
- log_working_directory), function.c (expand_function): Removed calls
- to push_signals_blocked_p and pop_signals_blocked_p.
- * job.h: Removed decls.
-
- * job.h: Added copyright notice.
-
-Wed Apr 15 02:02:40 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * job.c (child_error): No *** for ignored error.
-
-Tue Apr 14 18:31:21 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * implicit.c (DEBUGP2): Use do ... while (0) instead of if ... else to
- avoid compiler warnings.
-
- * read.c (parse_file_seq): Don't remove ./ when it is followed by a
- blank.
-
-Mon Apr 13 21:56:15 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * make.h (DEBUGPR): Use do ... while (0) instead of if ... else to
- avoid compiler warnings.
-
- * remake.c (notice_finished_file): Run file_mtime on the also_make
- files, so vpath_search can happen.
-
- * GNUmakefile (tests): Use perl test suite from csa@sw.stratus.com.
- (alpha-files): Include test suite tar file.
-
-Fri Apr 3 00:50:13 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * Version 3.62.5.
-
-Wed Apr 1 05:31:18 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * remake.c (update_file, update_file_1): Do check_renamed on elts
- of dep chains when traversing them. Something unrelated might have
- renamed one of the files the dep chain points to.
-
- * file.c (rename_file): If FILE has been renamed, follow its
- `renamed' ptr, so we get to the final real FILE. Using the renamed
- ones loses because they are not in the hash table, so the removal
- code loops infinitely.
-
- * read.c (read_all_makefiles): Clobber null terminator into
- MAKEFILES expansion, so string passed to read_makefile is properly
- terminated.
-
-Mon Mar 30 20:18:02 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * commands.c (set_file_variables): $* for archive member with
- explicit cmds is stem of member, not of whole `lib(member)'.
-
-Thu Mar 26 15:24:38 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * Version 3.62.4.
-
-Tue Mar 24 05:20:51 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * rule.c (new_pattern_rule): Rules are identical only if all their
- targets match (regardless of order).
-
-Wed Mar 11 13:49:54 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * remake.c (remake_file): Changed error "no way to make" to "no
- rule to make". Fiat Hugh.
-
- * make.texinfo (Last Resort): Describe %:: rules and new .DEFAULT
- behavior.
-
- * remake.c (update_file_1): Only use .DEFAULT cmds if FILE is not a
- target.
-
-Tue Mar 10 18:13:13 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
-
- * remote-stub.c, remote-cstms.c (start_remote_job): Take new arg,
- environment to pass to child.
- * job.c (start_job): Pass it.
-
-Mon Mar 9 19:00:11 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * file.c (enter_file): Also strip ./s here, to get command-line
- target names.
-
- * remote-cstms.c: Add comment telling people to leave me alone.
-
- * compatMakefile (manpage install): Remove target before copying.
-
-Tue Mar 3 18:43:21 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * make.texinfo (Missing): Renamed to "Incompatibilities and ...".
- Added paragraph describing $? incompatibility with Unix and POSIX.2.
-
-Sun Mar 1 15:50:54 1992 Roland McGrath (roland@nutrimat.gnu.ai.mit.edu)
-
- * function.c (expand_function: `shell'): Don't declare fork or pipe.
- Use vfork instead of fork.
-
-Tue Feb 25 22:05:32 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
-
- * make.texinfo (Chained Rules): Clarify .PRECIOUS to save
- intermediate files.
-
- * load.c [sun] (LDAV_CVT): Define to divide by FSCALE.
-
-Sun Feb 16 02:05:16 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
-
- * Version 3.62.3.
-
-Sat Feb 15 17:12:20 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
-
- * compatMakefile (makeinfo): Use emacs batch-texinfo-format fn.
-
-Fri Feb 14 00:11:55 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
-
- * read.c (read_makefile): Correctly handle define & endef in ifdefs.
-
- * read.c (record_files): Pass arg for %s in error msg.
-
- * main.c (main) [__IBMR2, POSIX]: Use correct (a la USGr3) setvbuf
- call.
-
-Wed Feb 12 12:07:39 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
-
- * make.texinfo (Libraries/Search): Say it does /usr/local/lib too.
-
-Sun Feb 9 23:06:24 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * read.c (read_makefile): Check for extraneous `endef' when ignoring.
-
-Thu Feb 6 16:15:48 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Version 3.62.2.
-
-Tue Feb 4 20:04:46 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * job.c (construct_command_argv_internal): Correctly ignore
- whitespace after backslash-NL.
-
-Fri Jan 31 18:30:05 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * compatMakefile: Ignore errors from chgrp and chmod when installing.
-
-Wed Jan 29 18:13:30 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * main.c (main): When setting MAKELEVEL in the env to re-exec,
- allocate space so as not to clobber past the end of the old string.
-
- * make.h [HAVE_ALLOCA_H]: Include <alloca.h>
- * compatMakefile (defines): Document HAVE_ALLOCA_H.
-
-Mon Jan 20 13:40:05 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * make.h [VFORK_MISSING]: Use fork instead.
- * compatMakefile (defines): Document same.
-
- * job.c (construct_command_argv_internal): Don't create an empty
- arg if backslash-NL is at beginning of word.
-
-Sun Jan 19 16:26:53 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * main.c [DGUX]: Call setvbuf as for USGr3.
-
- * job.c (construct_command_argv_internal): Notice correctly that
- backslash-NL is the end of the arg (because it is replaced with a
- space).
-
-Thu Jan 16 18:42:38 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * job.c (construct_command_argv_internal): If SHELL is nil, set it
- to default_shell before proceeding.
-
- * make.h [sgi]: No alloca.h, after all.
-
-Wed Jan 15 12:30:04 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * read.c (multi_glob): Cons up the chain of the results of glob
- from back to front, so it comes out in forward order.
-
- * job.c (construct_command_argv_internal): Don't eat char following
- backslash-NL.
-
-Mon Jan 13 19:16:56 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * Version 3.62.1.
-
- * default.c (default_variables) [ultrix]: GET=get, like USG.
-
- * job.c (construct_command_argv_internal): Remove tabs following
- backslash-NL combos in the input line, so they don't show up when
- that line is printed.
-
- * read.c (read_makefile): Don't collapse_continuations the line on
- input; do it on the copy we do remove_comments on.
- For rule lines, collapse_continuations the line after chopping
- ";cmds" off the end, so we don't eat conts in the cmds.
- Give error for ";cmds" with no rule.
- * job.c (construct_command_argv_internal): Eat backslash-NL combos
- when constructing the line to recurse on for slow, too.
-
-Sat Jan 11 02:20:27 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * file.c (enter_file): Don't strip leading `./'s.
- * read.c (parse_file_seq): Take new arg STRIP; if nonzero, do it here.
- * default.c (set_default_suffixes), function.c (string_glob),
- read.c (read_makefile), rule.c (install_pattern_rule): Change callers.
-
- * default.c (default_variables) [_IBMR2]: FC=xlf
-
- * job.c (construct_command_argv_internal): Turn backslash-NL and
- following whitespace into a single space, rather than just eating
- the backslash.
-
- * make.texinfo (Copying): @include gpl.texinfo, rather than
- duplicating its contents.
-
-Fri Nov 8 20:06:03 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * job.c (construct_command_argv_internal): Make sure not to bother
- processing an empty line.
-
- * Version 3.62.0.
-
- * job.c (construct_command_argv_internal): Always recurse for slow;
- simple case didn't handle finding newlines.
-
-Tue Nov 5 18:51:10 1991 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
-
- * job.c (construct_command_argv_internal): Set RESTP properly when
- slow; don't \ify past a newline.
-
-Fri Nov 1 19:34:28 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * make.h [sgi]: #include <alloca.h>.
-
-
-
-See ChangeLog.1, available in the CVS repository at:
-
- http://savannah.gnu.org/cvs/?group=make
-
-for earlier changes.
-
-
-Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2005, 2006, 2007 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 <http://www.gnu.org/licenses/>.
diff --git a/Makefile.DOS b/Makefile.DOS
index 58c950c9..43753e40 100644
--- a/Makefile.DOS
+++ b/Makefile.DOS
@@ -1,8 +1,7 @@
# -*-Makefile-*- template for DJGPP
# Makefile.in generated automatically by automake 1.2 from Makefile.am
#
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-# 2004, 2005, 2006, 2007, 2008, 2009, 2010 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
@@ -72,13 +71,13 @@ PACKAGE = make
PERL = perl
RANLIB = ranlib
REMOTE = stub
-VERSION = 3.82
+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 implicit.c job.c main.c misc.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
@@ -89,7 +88,7 @@ INCLUDES = -I$(srcdir)/glob -DLIBDIR=\"$(prefix)$(libdir)\" -DINCLUDEDIR=\"$(pre
BUILT_SOURCES = README build.sh-in
-EXTRA_DIST = $(BUILT_SOURCES) $(man_MANS) README.customs remote-cstms.c make-stds.texi texinfo.tex SCOPTIONS SMakefile Makefile.ami README.Amiga config.ami amiga.c amiga.h NMakefile README.DOS configh.dos configure.bat makefile.com README.W32 build_w32.bat config.h-W32 subproc.bat make.lnk config.h-vms makefile.vms readme.vms vmsdir.h vmsfunctions.c vmsify.c
+EXTRA_DIST = $(BUILT_SOURCES) $(man_MANS) README.customs remote-cstms.c make-stds.texi texinfo.tex SCOPTIONS SMakefile Makefile.ami README.Amiga config.ami amiga.c amiga.h NMakefile README.DOS configh.dos configure.bat makefile.com README.W32 build_w32.bat config.h-W32 subproc.bat make.lnk config.h-vms makefile.vms README.VMS vmsdir.h vmsfunctions.c vmsify.c gmk-default.scm gmk-default.h
SUBDIRS = glob doc
mkinstalldirs = ${exec_prefix}/bin/gmkdir -p
@@ -104,7 +103,7 @@ DEFS = -I. -I$(srcdir) -I.
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 implicit.o job.o main.o misc.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 =
@@ -123,7 +122,7 @@ man1dir = $(mandir)/man1
MANS = $(man_MANS)
NROFF = nroff
-DIST_COMMON = README ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL Makefile.am Makefile.in NEWS acconfig.h aclocal.m4 alloca.c build.sh-in config.h-in configure configure.in getloadavg.c
+DIST_COMMON = README ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL Makefile.am Makefile.in NEWS acconfig.h aclocal.m4 alloca.c build.sh-in config.h-in configure configure.ac getloadavg.c
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
@@ -507,7 +506,7 @@ html
#
dist-hook:
(cd $(srcdir); \
- w32=`find w32 -follow \( -name CVS -prune \) -o -type f -print`; \
+ w32=`find w32 -follow \( -name .git -prune \) -o -type f -print`; \
tar chf - $$w32) \
| (cd $(distdir); tar xfBp -)
@@ -594,60 +593,66 @@ check-regression:
# dummy
# .deps/ar.Po
-ar.o: ar.c make.h config.h \
+ar.o: ar.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
filedef.h hash.h dep.h \
# .deps/arscan.Po
-arscan.o: arscan.c make.h config.h \
+arscan.o: arscan.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
# .deps/commands.Po
-commands.o: commands.c make.h config.h \
+commands.o: commands.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- dep.h filedef.h hash.h variable.h job.h \
+ filedef.h hash.h dep.h \
+ variable.h job.h output.h \
commands.h
# .deps/default.Po
-default.o: default.c make.h config.h \
+default.o: default.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- filedef.h hash.h variable.h rule.h dep.h \
- job.h \
+ filedef.h hash.h variable.h rule.h dep.h job.h output.h \
commands.h
# .deps/dir.Po
-dir.o: dir.c make.h config.h \
+dir.o: dir.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- hash.h \
+ hash.h filedef.h dep.h \
# .deps/expand.Po
-expand.o: expand.c make.h config.h \
+expand.o: expand.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- filedef.h hash.h \
- job.h \
- commands.h variable.h \
- rule.h
+ filedef.h hash.h job.h output.h \
+ commands.h variable.h rule.h
# .deps/file.Po
-file.o: file.c make.h config.h \
+file.o: file.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- dep.h filedef.h \
- hash.h job.h \
+ filedef.h hash.h dep.h job.h output.h \
commands.h variable.h \
debug.h
# .deps/function.Po
-function.o: function.c make.h config.h \
+function.o: function.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- filedef.h hash.h variable.h dep.h job.h \
+ filedef.h hash.h \
+ variable.h dep.h job.h output.h \
commands.h debug.h
# .deps/getloadavg.Po
@@ -659,96 +664,144 @@ getopt.o: getopt.c config.h \
# .deps/getopt1.Po
getopt1.o: getopt1.c config.h getopt.h \
+# .deps/guile.Po
+guile.o: guile.c makeint.h config.h \
+ gnumake.h \
+ getopt.h \
+ gettext.h \
+ debug.h filedef.h hash.h \
+ dep.h variable.h \
+ gmk-default.h
+
# .deps/hash.Po
-hash.o: hash.c make.h config.h \
+hash.o: hash.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
hash.h
# .deps/implicit.Po
-implicit.o: implicit.c make.h config.h \
+implicit.o: implicit.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- filedef.h hash.h rule.h dep.h debug.h \
- variable.h job.h \
+ filedef.h hash.h rule.h \
+ dep.h debug.h variable.h job.h output.h \
commands.h
# .deps/job.Po
-job.o: job.c make.h config.h \
+job.o: job.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- job.h \
- debug.h filedef.h hash.h commands.h \
+ job.h output.h \
+ debug.h filedef.h hash.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
+# .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
+
# .deps/loadavg-getloadavg.Po
# dummy
# .deps/main.Po
-main.o: main.c make.h config.h \
+main.o: main.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- dep.h filedef.h hash.h variable.h job.h \
- commands.h rule.h debug.h getopt.h \
+ filedef.h hash.h dep.h \
+ variable.h job.h output.h \
+ commands.h rule.h debug.h \
+ getopt.h
# .deps/misc.Po
-misc.o: misc.c make.h config.h \
+misc.o: misc.c makeint.h config.h \
+ gnumake.h \
+ getopt.h \
+ gettext.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 \
- dep.h debug.h
+ job.h output.h \
# .deps/read.Po
-read.o: read.c make.h config.h \
+read.o: read.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- dep.h filedef.h hash.h job.h \
- commands.h variable.h rule.h debug.h \
+ filedef.h hash.h dep.h job.h output.h \
+ commands.h variable.h rule.h \
+ debug.h
# .deps/remake.Po
-remake.o: remake.c make.h config.h \
+remake.o: remake.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
filedef.h hash.h job.h \
- commands.h dep.h variable.h debug.h \
+ output.h \
+ commands.h dep.h variable.h \
+ debug.h
# .deps/remote-cstms.Po
# dummy
# .deps/remote-stub.Po
-remote-stub.o: remote-stub.c make.h config.h \
+remote-stub.o: remote-stub.c makeint.h \
+ config.h \
+ gnumake.h \
getopt.h \
gettext.h \
filedef.h hash.h job.h \
+ output.h \
commands.h
# .deps/rule.Po
-rule.o: rule.c make.h config.h \
+rule.o: rule.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- dep.h filedef.h \
- hash.h job.h \
- commands.h variable.h \
- rule.h
+ filedef.h hash.h dep.h job.h output.h \
+ commands.h variable.h rule.h
# .deps/signame.Po
-signame.o: signame.c make.h config.h \
+signame.o: signame.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
# .deps/strcache.Po
-strcache.o: strcache.c make.h config.h \
+strcache.o: strcache.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
hash.h
# .deps/variable.Po
-variable.o: variable.c make.h config.h \
+variable.o: variable.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- dep.h filedef.h \
- hash.h job.h \
- commands.h variable.h \
- rule.h
+ filedef.h hash.h dep.h job.h output.h \
+ commands.h variable.h rule.h
# .deps/version.Po
version.o: version.c config.h
@@ -757,7 +810,9 @@ version.o: version.c config.h
# dummy
# .deps/vpath.Po
-vpath.o: vpath.c make.h config.h \
+vpath.o: vpath.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- filedef.h hash.h variable.h
+ filedef.h hash.h \
+ variable.h
diff --git a/Makefile.DOS.template b/Makefile.DOS.template
deleted file mode 100644
index a42e5885..00000000
--- a/Makefile.DOS.template
+++ /dev/null
@@ -1,588 +0,0 @@
-# -*-Makefile-*- template for DJGPP
-# Makefile.in generated automatically by automake 1.2 from Makefile.am
-#
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-# 2004, 2005, 2006, 2007, 2008, 2009, 2010 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 <http://www.gnu.org/licenses/>.
-
-SHELL = /bin/sh
-
-srcdir = .
-VPATH = $(srcdir)
-# $DJDIR is defined automatically by DJGPP to point
-# to the root of the DJGPP installation tree.
-prefix = /dev/env/DJDIR
-exec_prefix = ${prefix}
-
-bindir = /bin
-datadir = /share
-libdir = /lib
-infodir = /info
-mandir = /man
-includedir = /include
-oldincludedir = c:/djgpp/include
-
-DESTDIR = /dev/env/DJDIR
-
-pkgdatadir = $(datadir)/make
-pkglibdir = $(libdir)/make
-pkgincludedir = $(includedir)/make
-localedir = $(datadir)/locale
-
-INSTALL = ${exec_prefix}/bin/ginstall -c
-INSTALL_PROGRAM = ${exec_prefix}/bin/ginstall -c
-INSTALL_DATA = ${exec_prefix}/bin/ginstall -c -m 644
-INSTALL_SCRIPT = ${exec_prefix}/bin/ginstall -c
-transform = s,x,x,
-
-# This will fail even if they don't have a Unix-like shell (stock DOS
-# shell doesn't know about `false'). The only difference is that they
-# get "Error -1" instead of "Error 1".
-EXIT_FAIL = false
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-EXEEXT = .exe
-OBJEXT = o
-
-AR = ar
-AWK = gawk
-CC = gcc
-CPP = gcc -E
-LIBOBJS =
-MAKEINFO = ${exec_prefix}/bin/makeinfo
-PACKAGE = make
-PERL = perl
-RANLIB = ranlib
-REMOTE = stub
-VERSION = %VERSION%
-
-AUTOMAKE_OPTIONS = 1.2
-
-bin_PROGRAMS = %PROGRAMS%$(EXEEXT)
-
-make_SOURCES = %SOURCES%
-# This should include the glob/ prefix
-libglob_a_SOURCES = %GLOB_SOURCES%
-make_LDADD = glob/libglob.a
-
-man_MANS = make.1
-
-INCLUDES = -I$(srcdir)/glob -DLIBDIR=\"$(prefix)$(libdir)\" -DINCLUDEDIR=\"$(prefix)$(includedir)\" -DLOCALEDIR=\"$(prefix)$(localedir)\"
-
-BUILT_SOURCES = README build.sh-in
-
-EXTRA_DIST = $(BUILT_SOURCES) $(man_MANS) README.customs remote-cstms.c make-stds.texi texinfo.tex SCOPTIONS SMakefile Makefile.ami README.Amiga config.ami amiga.c amiga.h NMakefile README.DOS configh.dos configure.bat makefile.com README.W32 build_w32.bat config.h-W32 subproc.bat make.lnk config.h-vms makefile.vms readme.vms vmsdir.h vmsfunctions.c vmsify.c
-
-SUBDIRS = glob doc
-mkinstalldirs = ${exec_prefix}/bin/gmkdir -p
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = build.sh
-PROGRAMS = $(bin_PROGRAMS)
-
-MAKE_HOST = i386-pc-msdosdjgpp
-
-
-DEFS = -I. -I$(srcdir) -I.
-CPPFLAGS = -DHAVE_CONFIG_H
-LDFLAGS =
-LIBS =
-make_OBJECTS = %OBJECTS%
-make_DEPENDENCIES = glob/libglob.a
-make_LDFLAGS =
-libglob_a_LIBADD =
-libglob_a_OBJECTS = %GLOB_OBJECTS%
-noinst_LIBRARIES = glob/libglob.a
-CFLAGS = -O2 -g
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
-LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
-TEXI2DVI = texi2dvi
-TEXINFO_TEX = $(srcdir)/config/texinfo.tex
-INFO_DEPS = doc/make.info
-DVIS = doc/make.dvi
-TEXINFOS = doc/make.texi
-noinst_TEXINFOS = doc/fdl.texi doc/make-stds.texi
-man1dir = $(mandir)/man1
-MANS = $(man_MANS)
-
-NROFF = nroff
-DIST_COMMON = README ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL Makefile.am Makefile.in NEWS acconfig.h aclocal.m4 alloca.c build.sh-in config.h-in configure configure.in getloadavg.c
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP = --best
-SOURCES = $(make_SOURCES)
-OBJECTS = $(make_OBJECTS)
-HEADERS = $(wildcard $(srcdir)/*.h)
-
-default: all
-
-.SUFFIXES:
-.SUFFIXES: .c .dvi .info .o .obj .ps .texi .tex .html
-
-mostlyclean-hdr:
-
-clean-hdr:
-
-distclean-hdr:
- -rm -f config.h
-
-maintainer-clean-hdr:
-
-mostlyclean-binPROGRAMS:
-
-clean-binPROGRAMS:
- -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-
-distclean-binPROGRAMS:
-
-maintainer-clean-binPROGRAMS:
-
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(bindir)
- @list='$(bin_PROGRAMS)'; for p in $$list; do if test -f $$p; then echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p | sed '$(transform)'`"; $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p | sed '$(transform)'`; else :; fi; done
-
-uninstall-binPROGRAMS:
- $(NORMAL_UNINSTALL)
- list='$(bin_PROGRAMS)'; for p in $$list; do rm -f $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`.exe; done
-
-.c.o:
- $(COMPILE) -c $<
-
-clean-noinstLIBRARIES:
- -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT) *$(EXEEXT) make.new core
-
-clean-compile:
-
-distclean-compile:
- -rm -f *.tab.c *_tab.c
-
-maintainer-clean-compile:
-
-make$(EXEEXT): $(make_OBJECTS) $(make_DEPENDENCIES)
- @command.com /c if exist make del make
- @command.com /c if exist make.exe del make.exe
- $(LINK) $(make_LDFLAGS) $(make_OBJECTS) $(make_LDADD) $(LIBS)
-
-# Documentation
-
-make.info: make.texi
-make.dvi: make.texi
-make.ps: make.dvi make.texi
-make.html: make.texi
-
-
-DVIPS = dvips
-
-.texi.info:
- @command.com /c if exist make.info* del make.info*
- @command.com /c if exist make.i* del make.i*
- $(MAKEINFO) -I$(srcdir) --no-split $< -o ./$@
-
-.texi:
- @command.com /c if exist make.info* del make.info*
- @command.com /c if exist make.i* del make.i*
- $(MAKEINFO) -I$(srcdir) --no-split $< -o ./$@
-
-.texi.dvi:
- TEXINPUTS="$(srcdir);$$TEXINPUTS" MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
-
-.dvi.ps:
- $(DVIPS) $< -o $@
-
-# Other documentation formats
-
-html: html-recursive
-
-.texi.html:
- @command.com /c if exist make.html* del make.html*
- $(MAKEINFO) --html -I$(srcdir) --no-split $< -o ./$@
-
-install-info-am: $(INFO_DEPS)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(infodir)
- @for file in $(INFO_DEPS); do iifile=`echo $$file | sed "s|doc/||"`; d=$(srcdir); for ifile in `cd $$d && echo $$file`; do if test -f $$d/$$ifile; then echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$iifile"; $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$iifile; else : ; fi; done; done
- @$(POST_INSTALL)
- @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then for file in $(INFO_DEPS); do iifile=`echo $$file | sed "s|doc/||"`; echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$iifile"; install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$iifile || :; done; else : ; fi
-
-uninstall-info:
- $(PRE_UNINSTALL)
- @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then ii=yes; else ii=; fi; for file in $(INFO_DEPS); do test -z $ii || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; done
- $(NORMAL_UNINSTALL)
- for file in $(INFO_DEPS); do (cd $(DESTDIR)$(infodir) && rm -f $$file); done
-
-dist-info: $(INFO_DEPS)
- for base in $(INFO_DEPS); do d=$(srcdir); for file in `cd $$d && eval echo $$base*`; do test -f $(distdir)/$$file || ln $$d/$$file $(distdir)/$$file 2> /dev/null || cp -p $$d/$$file $(distdir)/$$file; done; done
-
-mostlyclean-aminfo:
- -rm -f $(srcdir)/doc/make.aux $(srcdir)/doc/make.cp $(srcdir)/doc/make.cps $(srcdir)/doc/make.dvi \
- $(srcdir)/doc/make.fn $(srcdir)/doc/make.fns $(srcdir)/doc/make.ky $(srcdir)/doc/make.kys \
- $(srcdir)/doc/make.ps $(srcdir)/doc/make.log $(srcdir)/doc/make.pg $(srcdir)/doc/make.toc \
- $(srcdir)/doc/make.tp $(srcdir)/doc/make.tps $(srcdir)/doc/make.vr $(srcdir)/doc/make.vrs \
- $(srcdir)/doc/make.op $(srcdir)/doc/make.tr $(srcdir)/doc/make.cv $(srcdir)/doc/make.cn \
- $(srcdir)/doc/make.html
-
-clean-aminfo:
-
-distclean-aminfo:
-
-maintainer-clean-aminfo:
- for i in $(INFO_DEPS); do rm -f $$i*; done
-
-install-man1:
- $(mkinstalldirs) $(DESTDIR)$(man1dir)
- @list='$(man1_MANS)'; \
- l2='$(man_MANS)'; for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
- done; \
- for i in $$list; do \
- if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
- else file=$$i; fi; \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
- $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
- done
-
-uninstall-man1:
- @list='$(man1_MANS)'; \
- l2='$(man_MANS)'; for i in $$l2; do \
- case "$$i" in \
- *.1*) list="$$list $$i" ;; \
- esac; \
- done; \
- for i in $$list; do \
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
- echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
- rm -f $(DESTDIR)$(man1dir)/$$inst; \
- done
-install-man: $(MANS)
- @$(NORMAL_INSTALL)
- $(MAKE) install-man1
-uninstall-man:
- @$(NORMAL_UNINSTALL)
- $(MAKE) uninstall-man1
-
-# Assume that the only thing to do in glob is to build libglob.a,
-# but do a sanity check: if $SUBDIRS will ever have more than
-# a single directory, yell bloody murder.
-all-recursive:
-ifeq ($(findstring glob, $(SUBDIRS)), glob)
- @command.com /c if not exist glob\\nul md glob
- @echo Making all in glob
- $(MAKE) -C glob -f ../Makefile INCLUDES='-I$(srcdir) -I$(srcdir)/glob' DEFS='-I.. -I$(srcdir)' VPATH=$(srcdir)/glob libglob.a
-endif
-
-$(SUBDIRS):
- command.com /c md $@
-
-libglob.a: $(libglob_a_OBJECTS)
- command.com /c if exist libglob.a del libglob.a
- $(AR) cru libglob.a $(libglob_a_OBJECTS) $(libglob_a_LIBADD)
- $(RANLIB) libglob.a
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive check-recursive:
-ifeq ($(words $(SUBDIRS)), 2)
- @echo Making $(shell echo $@ | sed s/-recursive//) in glob
- $(MAKE) -C glob -f ../Makefile $(shell echo $@ | sed s/-recursive//)-am
- @echo Making $(shell echo $@ | sed s/-recursive//) in doc
- $(MAKE) -C doc -f ../Makefile $(shell echo $@ | sed s/-recursive//)-am
-else
- @echo FATAL: There is more than two directory in "($(SUBDIRS))"
- @$(EXIT_FAIL)
-endif
-
-tags-in-glob: $(libglob_a_SOURCES)
- etags $(addprefix $(srcdir)/,$^) -o ./glob/TAGS
-
-tags-recursive:
-ifeq ($(words $(SUBDIRS)), 2)
- $(MAKE) tags-in-glob
-else
- @echo FATAL: There is more than two directory in "($(SUBDIRS))"
- @$(EXIT_FAIL)
-endif
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES)
- mkid $(srcdir)/$(SOURCES) $(srcdir)/$(libglob_a_SOURCES) ./config.h $(HEADERS)
-
-TAGS: tags-recursive $(HEADERS) $(srcdir)/$(SOURCES) config.h $(TAGS_DEPENDENCIES)
- etags -i ./glob/TAGS $(ETAGS_ARGS) $(srcdir)/$(SOURCES) ./config.h $(HEADERS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
- -rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- rm -rf $(distdir)
- GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
- mkdir $(distdir)/=build
- mkdir $(distdir)/=inst
- dc_install_base=`cd $(distdir)/=inst && pwd`; cd $(distdir)/=build && ../configure --srcdir=.. --prefix=$$dc_install_base && $(MAKE) && $(MAKE) dvi && $(MAKE) check && $(MAKE) install && $(MAKE) installcheck && $(MAKE) dist
- rm -rf $(distdir)
- @echo "========================"; echo "$(distdir).tar.gz is ready for distribution"; echo "========================"
-dist: distdir
- -chmod -R a+r $(distdir)
- GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
- rm -rf $(distdir)
-dist-all: distdir
- -chmod -R a+r $(distdir)
- GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
- rm -rf $(distdir)
-distdir: $(DISTFILES)
- rm -rf $(distdir)
- mkdir $(distdir)
- -chmod 777 $(distdir)
- @for file in $(DISTFILES); do d=$(srcdir); test -f $(distdir)/$$file || ln $$d/$$file $(distdir)/$$file 2> /dev/null || cp -p $$d/$$file $(distdir)/$$file; done; for subdir in $(SUBDIRS); do test -d $(distdir)/$$subdir || mkdir $(distdir)/$$subdir || exit 1; chmod 777 $(distdir)/$$subdir; (cd $$subdir && $(MAKE) top_distdir=../$(top_distdir)/$$subdir distdir=../$(distdir)/$$subdir distdir) || exit 1; done
- $(MAKE) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info
- $(MAKE) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook
-
-info: info-recursive
-info-recursive:
-ifeq ($(findstring doc, $(SUBDIRS)), doc)
- @command.com /c if not exist doc\\nul md doc
- @echo Making all in doc
- $(MAKE) -C doc -f ../Makefile VPATH=$(srcdir)/doc make.info
-endif
-
-dvi: dvi-recursive
-dvi-recursive:
-ifeq ($(findstring doc, $(SUBDIRS)), doc)
- @command.com /c if not exist doc\\nul md doc
- @echo Making all in doc
- $(MAKE) -C doc -f ../Makefile VPATH=$(srcdir)/doc make.dvi
-endif
-
-ps: ps-recursive
-ps-recursive:
-ifeq ($(findstring doc, $(SUBDIRS)), doc)
- @command.com /c if not exist doc\\nul md doc
- @echo Making all in doc
- $(MAKE) -C doc -f ../Makefile VPATH=$(srcdir)/doc make.ps
-endif
-
-html-recursive:
-ifeq ($(findstring doc, $(SUBDIRS)), doc)
- @command.com /c if not exist doc\\nul md doc
- @echo Making all in doc
- $(MAKE) -C doc -f ../Makefile VPATH=$(srcdir)/doc make.html
-endif
-
-check: all-am check-recursive check-local
- @:
-installcheck: installcheck-recursive
-all-recursive-am: config.h
- $(MAKE) all-recursive
-
-all-am: Makefile $(PROGRAMS) config.h info
-
-install-exec-am: install-binPROGRAMS
-
-install-data-am: install-info-am
-
-uninstall-am: uninstall-binPROGRAMS uninstall-info
-
-install-exec: install-exec-recursive install-exec-am
- @$(NORMAL_INSTALL)
-
-install-data: install-data-recursive install-data-am
- @$(NORMAL_INSTALL)
-
-install-recursive uninstall-recursive:
- @:
-
-install: install-recursive install-exec-am install-data-am
- @:
-
-uninstall: uninstall-recursive uninstall-am
-
-all: all-recursive-am all-am
-
-install-strip:
- $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
-installdirs: installdirs-recursive
- $(mkinstalldirs) $(bindir) $(infodir)
-
-
-mostlyclean-generic:
- -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -rm -f Makefile $(DISTCLEANFILES)
- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
- -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-mostlyclean-am: mostlyclean-hdr mostlyclean-binPROGRAMS mostlyclean-compile mostlyclean-aminfo mostlyclean-tags mostlyclean-generic
-
-clean-am: clean-hdr clean-binPROGRAMS clean-compile clean-aminfo clean-tags clean-generic mostlyclean-am
-
-distclean-am: distclean-hdr distclean-binPROGRAMS distclean-compile distclean-aminfo distclean-tags distclean-generic clean-am
-
-maintainer-clean-am: maintainer-clean-hdr maintainer-clean-binPROGRAMS maintainer-clean-compile maintainer-clean-aminfo maintainer-clean-tags maintainer-clean-generic distclean-am
-
-mostlyclean: mostlyclean-recursive mostlyclean-am
-
-clean: clean-noinstLIBRARIES clean-recursive clean-am
-
-distclean: distclean-recursive distclean-am
- rm -f config.status
-
-maintainer-clean: maintainer-clean-recursive maintainer-clean-am
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
- rm -f config.status
-
-.PHONY: default mostlyclean-hdr distclean-hdr clean-hdr \
-maintainer-clean-hdr mostlyclean-binPROGRAMS distclean-binPROGRAMS \
-clean-binPROGRAMS maintainer-clean-binPROGRAMS uninstall-binPROGRAMS \
-install-binPROGRAMS mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile install-info-am uninstall-info \
-mostlyclean-aminfo distclean-aminfo clean-aminfo \
-maintainer-clean-aminfo install-data-recursive uninstall-data-recursive \
-install-exec-recursive uninstall-exec-recursive installdirs-recursive \
-uninstalldirs-recursive all-recursive check-recursive check-am \
-installcheck-recursive info-recursive dvi-recursive \
-mostlyclean-recursive distclean-recursive clean-recursive \
-maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir \
-mostlyclean-depend distclean-depend clean-depend \
-maintainer-clean-depend info dvi check-local installcheck \
-all-recursive-am all-am install-exec-am install-data-am uninstall-am \
-install-exec install-data install uninstall all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean \
-html
-
-
-# --------------- Local DIST Section
-
-# Install the w32 subdirectory
-#
-dist-hook:
- (cd $(srcdir); \
- w32=`find w32 -follow \( -name CVS -prune \) -o -type f -print`; \
- tar chf - $$w32) \
- | (cd $(distdir); tar xfBp -)
-
-# --------------- Local CHECK Section
-
-# Note: check-loadavg is NOT a prerequisite of check-local, since
-# there's no uptime utility, and the test it does doesn't make sense
-# on MSDOS anyway.
-check-local: check-shell check-regression
- @banner=" Regression PASSED: GNU Make $(VERSION) ($(MAKE_HOST)) built with $(CC) "; \
- dashes=`echo "$$banner" | sed s/./=/g`; \
- echo; \
- echo "$$dashes"; \
- echo "$$banner"; \
- echo "$$dashes"; \
- echo
-
-.PHONY: check-loadavg check-shell check-regression
-
-# > check-shell
-#
-# check-shell is designed to fail if they don't have a Unixy shell
-# installed. The test suite requires such a shell.
-check-shell:
- @echo If Make says Error -1, you do not have Unix-style shell installed
- @foo=bar.exe :
-
-# > check-loadavg
-#
-loadavg: loadavg.c config.h
- @rm -f loadavg
- $(LINK) -DTEST $(make_LDFLAGS) loadavg.c $(LIBS)
-# We copy getloadavg.c into a different file rather than compiling it
-# directly because some compilers clobber getloadavg.o in the process.
-loadavg.c: getloadavg.c
- ln $(srcdir)/getloadavg.c loadavg.c || \
- cp $(srcdir)/getloadavg.c loadavg.c
-check-loadavg: loadavg
- @echo The system uptime program believes the load average to be:
- -uptime
- @echo The GNU load average checking code believes:
- -./loadavg
-
-# > check-regression
-#
-# Look for the make test suite, and run it if found. Look in MAKE_TEST if
-# specified, or else in the srcdir or the distdir, their parents, and _their_
-# parents.
-#
-check-regression:
- @if test -f "$(srcdir)/tests/run_make_tests"; then \
- if $(PERL) -v >/dev/null 2>&1; then \
- case `cd $(srcdir); pwd` in `pwd`) : ;; \
- *) test -d tests || mkdir tests; \
- for f in run_make_tests run_make_tests.pl test_driver.pl scripts; do \
- rm -rf tests/$$f; cp -pr $(srcdir)/tests/$$f tests; \
- done ;; \
- esac; \
- echo "cd tests && $(PERL) ./run_make_tests.pl -make ../make.exe $(MAKETESTFLAGS)"; \
- cd tests && $(PERL) ./run_make_tests.pl -make ../make.exe $(MAKETESTFLAGS); \
- else \
- echo "Can't find a working Perl ($(PERL)); the test suite requires Perl."; \
- fi; \
- else \
- echo "Can't find the GNU Make test suite ($(srcdir)/tests)."; \
- fi
-
-# --------------- Maintainer's Section
-
-# Note this requires GNU make. Not to worry, since it will only be included
-# in the Makefile if we're in the maintainer's environment.
-#include $(srcdir)/maintMakefile
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
-
-# --------------- DEPENDENCIES
diff --git a/Makefile.am b/Makefile.am
index 92acdc28..204ab320 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,6 @@
# This is a -*-Makefile-*-, or close enough
#
-# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010 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
@@ -32,6 +31,7 @@ endif
SUBDIRS = glob config po doc $(MAYBE_W32)
bin_PROGRAMS = make
+include_HEADERS = gnumake.h
if USE_CUSTOMS
remote = remote-cstms.c
@@ -39,18 +39,19 @@ else
remote = remote-stub.c
endif
-
make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c \
- function.c getopt.c getopt1.c implicit.c job.c main.c \
- misc.c read.c remake.c $(remote) rule.c signame.c \
- strcache.c variable.c version.c vpath.c hash.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)
EXTRA_make_SOURCES = vmsjobs.c remote-stub.c remote-cstms.c
-noinst_HEADERS = commands.h dep.h filedef.h job.h make.h rule.h variable.h \
- debug.h getopt.h gettext.h hash.h
+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
-make_LDADD = @LIBOBJS@ @ALLOCA@ $(GLOBLIB) @GETLOADAVG_LIBS@ @LIBINTL@
+make_LDADD = @LIBOBJS@ @ALLOCA@ $(GLOBLIB) @GETLOADAVG_LIBS@ @LIBINTL@ \
+ $(GUILE_LIBS)
# Only process if target is MS-Windows
if WINDOWSENV
make_LDADD += $(W32LIB)
@@ -61,6 +62,7 @@ man_MANS = make.1
DEFS = -DLOCALEDIR=\"$(localedir)\" -DLIBDIR=\"$(libdir)\" -DINCLUDEDIR=\"$(includedir)\" @DEFS@
AM_CPPFLAGS = $(GLOBINC)
+AM_CFLAGS = $(GUILE_CFLAGS)
# Only process if target is MS-Windows
if WINDOWSENV
AM_CPPFLAGS += $(W32INC)
@@ -76,20 +78,14 @@ EXTRA_DIST = README build.sh.in $(man_MANS) \
README.DOS Makefile.DOS configure.bat dosbuild.bat configh.dos\
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
+ README.VMS makefile.vms makefile.com config.h-vms \
+ vmsdir.h vmsfunctions.c vmsify.c \
+ gmk-default.scm gmk-default.h
# This is built during configure, but behind configure's back
DISTCLEANFILES = build.sh
-# Forward targets
-
-html:
- cd doc && $(MAKE) $(AM_MAKEFLAGS) $@
-
-.PHONY: html
-
# --------------- Internationalization Section
localedir = $(datadir)/locale
@@ -100,8 +96,8 @@ localedir = $(datadir)/locale
#
# Whether or not make needs to be installed setgid.
-# The value should be either `true' or `false'.
-# On many systems, the getloadavg function (used to implement the `-l'
+# The value should be either 'true' or 'false'.
+# On many systems, the getloadavg function (used to implement the '-l'
# switch) will not work unless make is installed setgid kmem.
#
inst_setgid = @NEED_SETGID@
@@ -117,19 +113,28 @@ install-exec-local:
echo "chgrp $(inst_group) $$app && chmod g+s $$app"; \
else \
echo "$$app needs to be owned by group $(inst_group) and setgid;"; \
- echo "otherwise the \`-l' option will probably not work."; \
+ echo "otherwise the '-l' option will probably not work."; \
echo "You may need special privileges to complete the installation"; \
echo "of $$app."; \
fi; \
else true; fi
+# --------------- Generate the Guile default module content
+
+guile.$(OBJEXT): gmk-default.h
+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 '";') > $@
+
# --------------- Local DIST Section
# Install the w32 and tests subdirectories
#
dist-hook:
(cd $(srcdir); \
- sub=`find w32 tests -follow \( -name CVS -prune -o -name .cvsignore -o -name work -prune \) -o \( -name \*.orig -o -name \*.rej -o -name \*~ -prune \) -o -type f -print`; \
+ sub=`find w32 tests -follow \( -name .git -o -name .deps -o -name work -o -name .gitignore -o -name \*.orig -o -name \*.rej -o -name \*~ -o -name Makefile \) -prune -o -type f -print`; \
tar chf - $$sub) \
| (cd $(distdir); tar xfBp -)
@@ -167,19 +172,19 @@ loadavg_LDADD = @GETLOADAVG_LIBS@
#
MAKETESTFLAGS =
-check-regression:
- @if test -f "$(srcdir)/tests/run_make_tests"; then \
+check-regression: tests/config-flags.pm
+ @if test -f '$(srcdir)/tests/run_make_tests'; then \
if $(PERL) -v >/dev/null 2>&1; then \
- case `cd $(srcdir); pwd` in `pwd`) : ;; \
+ case `cd '$(srcdir)'; pwd` in `pwd`) : ;; \
*) test -d tests || mkdir tests; \
rm -f srctests; \
- if ln -s "$(srcdir)/tests" srctests; then \
+ if ln -s '$(srcdir)/tests' srctests; then \
for f in run_make_tests run_make_tests.pl test_driver.pl scripts; do \
rm -f tests/$$f; ln -s ../srctests/$$f tests; \
done; fi ;; \
esac; \
- echo "cd tests && $(PERL) ./run_make_tests.pl -make ../make$(EXEEXT) $(MAKETESTFLAGS)"; \
- cd tests && $(PERL) ./run_make_tests.pl -make ../make$(EXEEXT) $(MAKETESTFLAGS); \
+ echo "cd tests && $(PERL) ./run_make_tests.pl -srcdir $(abs_srcdir) -make ../make$(EXEEXT) $(MAKETESTFLAGS)"; \
+ cd tests && $(PERL) ./run_make_tests.pl -srcdir '$(abs_srcdir)' -make '../make$(EXEEXT)' $(MAKETESTFLAGS); \
else \
echo "Can't find a working Perl ($(PERL)); the test suite requires Perl."; \
fi; \
@@ -191,7 +196,7 @@ check-regression:
# --------------- Maintainer's Section
# Tell automake that I haven't forgotten about this file and it will be
-# created before we build a distribution (see maintMakefile in the CVS
+# created before we build a distribution (see maintMakefile in the Git
# distribution).
README:
diff --git a/Makefile.ami b/Makefile.ami
index 8cc67dfe..7c561a32 100644
--- a/Makefile.ami
+++ b/Makefile.ami
@@ -1,10 +1,9 @@
# -*-Makefile-*- for GNU make on Amiga
#
-# NOTE: If you have no `make' program at all to process this makefile, run
-# `build.sh' instead.
+# NOTE: If you have no 'make' program at all to process this makefile, run
+# 'build.sh' instead.
#
-# Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010 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
@@ -32,18 +31,18 @@ CPPFLAGS =
LDFLAGS =
# Define these for your system as follows:
-# -DNO_ARCHIVES To disable `ar' archive support.
+# -DNO_ARCHIVES To disable 'ar' archive support.
# -DNO_FLOAT To avoid using floating-point numbers.
# -DENUM_BITFIELDS If the compiler isn't GCC but groks enum foo:2.
# Some compilers apparently accept this
# without complaint but produce losing code,
# so beware.
# NeXT 1.0a uses an old version of GCC, which required -D__inline=inline.
-# See also `config.h'.
+# See also 'config.h'.
defines =
# Which flavor of remote job execution support to use.
-# The code is found in `remote-$(REMOTE).c'.
+# The code is found in 'remote-$(REMOTE).c'.
REMOTE = stub
# If you are using the GNU C library, or have the GNU getopt functions in
@@ -77,9 +76,9 @@ prefix =
# Common prefix for machine-dependent installed files.
exec_prefix =
-# Directory to install `make' in.
+# Directory to install 'make' in.
bindir = sc:c
-# Directory to find libraries in for `-lXXX'.
+# Directory to find libraries in for '-lXXX'.
libdir = lib:
# Directory to search by default for included makefiles.
includedir = include:
@@ -89,20 +88,20 @@ infodir = doc:
mandir = t:
# Number to put on the man page filename.
manext = 1
-# Prefix to put on installed `make' binary file name.
+# Prefix to put on installed 'make' binary file name.
binprefix =
-# Prefix to put on installed `make' man page file name.
+# Prefix to put on installed 'make' man page file name.
manprefix = $(binprefix)
# Whether or not make needs to be installed setgid.
-# The value should be either `true' or `false'.
-# On many systems, the getloadavg function (used to implement the `-l'
+# The value should be either 'true' or 'false'.
+# On many systems, the getloadavg function (used to implement the '-l'
# switch) will not work unless make is installed setgid kmem.
install_setgid = false
# Install make setgid to this group so it can read /dev/kmem.
group = sys
-# Program to install `make'.
+# Program to install 'make'.
INSTALL_PROGRAM = copy
# Program to install the man page.
INSTALL_DATA = copy
@@ -118,21 +117,24 @@ TEXI2DVI = texi2dvi
ETAGS = etags -w
CTAGS = ctags -w
-objs = commands.o job.o dir.o file.o misc.o main.o read.o remake.o \
- rule.o implicit.o default.o variable.o expand.o function.o \
- vpath.o version.o ar.o arscan.o signame.o strcache.o hash.o \
- remote-$(REMOTE).o $(GETOPT) $(ALLOCA) $(extras)
+#guile = guile.o
+
+objs = commands.o job.o dir.o file.o misc.o main.o read.o remake.o \
+ rule.o implicit.o default.o variable.o expand.o function.o \
+ vpath.o version.o ar.o arscan.o signame.o strcache.o hash.o \
+ remote-$(REMOTE).o $(GETOPT) $(ALLOCA) $(extras) $(guile)
+
srcs = $(srcdir)commands.c $(srcdir)job.c $(srcdir)dir.c \
$(srcdir)file.c $(srcdir)getloadavg.c $(srcdir)misc.c \
$(srcdir)main.c $(srcdir)read.c $(srcdir)remake.c \
$(srcdir)rule.c $(srcdir)implicit.c $(srcdir)default.c \
$(srcdir)variable.c $(srcdir)expand.c $(srcdir)function.c \
$(srcdir)vpath.c $(srcdir)version.c $(srcdir)hash.c \
- $(srcdir)remote-$(REMOTE).c \
- $(srcdir)ar.c $(srcdir)arscan.c $(srcdir)strcache.c \
- $(srcdir)signame.c $(srcdir)signame.h $(GETOPT_SRC) \
- $(srcdir)commands.h $(srcdir)dep.h $(srcdir)filedep.h \
- $(srcdir)job.h $(srcdir)make.h $(srcdir)rule.h \
+ $(srcdir)guile.c $(srcdir)remote-$(REMOTE).c \
+ $(srcdir)ar.c $(srcdir)arscan.c $(srcdir)strcache.c \
+ $(srcdir)signame.c $(srcdir)signame.h $(GETOPT_SRC) \
+ $(srcdir)commands.h $(srcdir)dep.h $(srcdir)filedep.h \
+ $(srcdir)job.h $(srcdir)makeint.h $(srcdir)rule.h \
$(srcdir)variable.h $(ALLOCA_SRC) $(srcdir)config.h.in
@@ -142,7 +144,7 @@ srcs = $(srcdir)commands.c $(srcdir)job.c $(srcdir)dir.c \
all: make
info: make.info
dvi: make.dvi
-# Some makes apparently use .PHONY as the default goal if it is before `all'.
+# Some makes apparently use .PHONY as the default goal if it is before 'all'.
.PHONY: all check info dvi
make.info: make.texinfo
@@ -179,8 +181,6 @@ glob/libglob.a: FORCE config.h
cd glob; $(MAKE) libglob.a
FORCE:
-tagsrcs = $(srcs) $(srcdir)remote-*.c
-
.PHONY: install installdirs
install: installdirs \
$(bindir)$(binprefix)make $(infodir)make.info \
@@ -196,7 +196,7 @@ $(bindir)$(binprefix)make: make
echo "chgrp $(group) $@.new && chmod g+s $@.new"; \
else \
echo "$@ needs to be owned by group $(group) and setgid;"; \
- echo "otherwise the \`-l' option will probably not work."; \
+ echo "otherwise the '-l' option will probably not work."; \
echo "You may need special privileges to install $@."; \
fi; \
else true; fi
@@ -213,9 +213,9 @@ $(infodir)make.info: make.info
`echo $@ | sed "s,make.info\$$,$$name,"`; \
done
# Run install-info only if it exists.
-# Use `if' instead of just prepending `-' to the
+# Use 'if' instead of just prepending '-' to the
# line so we notice real errors from install-info.
-# We use `$(SHELL) -c' because some shells do not
+# We use '$(SHELL) -c' because some shells do not
# fail gracefully when there is an unknown command.
if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
if [ -r ./make.info ]; then dir=.; else dir=$(srcdir); fi; \
@@ -266,42 +266,43 @@ glob-clean glob-realclean:
.NOEXPORT:
# The automatically generated dependencies below may omit config.h
-# because it is included with ``#include <config.h>'' rather than
-# ``#include "config.h"''. So we add the explicit dependency to make sure.
+# because it is included with '#include <config.h>' rather than
+# '#include "config.h"'. So we add the explicit dependency to make sure.
$(objs): config.h
# Automatically generated dependencies will be put at the end of the file.
# Automatically generated dependencies.
-commands.o: commands.c make.h dep.h filedef.h variable.h job.h \
+commands.o: commands.c makeint.h dep.h filedef.h variable.h job.h \
commands.h
-job.o: job.c make.h job.h filedef.h commands.h variable.h
-dir.o: dir.c make.h
-file.o: file.c make.h dep.h filedef.h job.h commands.h variable.h
-misc.o: misc.c make.h dep.h
-main.o: main.c make.h dep.h filedef.h variable.h job.h commands.h \
+job.o: job.c makeint.h job.h filedef.h commands.h variable.h
+dir.o: dir.c makeint.h
+file.o: file.c makeint.h dep.h filedef.h job.h commands.h variable.h
+misc.o: misc.c makeint.h dep.h
+main.o: main.c makeint.h dep.h filedef.h variable.h job.h commands.h \
getopt.h
-read.o: read.c make.h dep.h filedef.h job.h commands.h variable.h \
+guile.o: guile.c makeint.h dep.h debug.h variable.h gmk-default.h
+read.o: read.c makeint.h dep.h filedef.h job.h commands.h variable.h \
glob/glob.h
-remake.o: remake.c make.h filedef.h job.h commands.h dep.h
-rule.o: rule.c make.h dep.h filedef.h job.h commands.h variable.h \
+remake.o: remake.c makeint.h filedef.h job.h commands.h dep.h
+rule.o: rule.c makeint.h dep.h filedef.h job.h commands.h variable.h \
rule.h
-implicit.o: implicit.c make.h rule.h dep.h filedef.h
-default.o: default.c make.h rule.h dep.h filedef.h job.h commands.h \
+implicit.o: implicit.c makeint.h rule.h dep.h filedef.h
+default.o: default.c makeint.h rule.h dep.h filedef.h job.h commands.h \
variable.h
-variable.o: variable.c make.h dep.h filedef.h job.h commands.h \
+variable.o: variable.c makeint.h dep.h filedef.h job.h commands.h \
variable.h
-expand.o: expand.c make.h filedef.h job.h commands.h variable.h
-function.o: function.c make.h filedef.h variable.h dep.h job.h \
+expand.o: expand.c makeint.h filedef.h job.h commands.h variable.h
+function.o: function.c makeint.h filedef.h variable.h dep.h job.h \
commands.h amiga.h
-vpath.o: vpath.c make.h filedef.h variable.h
-strcache.o: strcache.c make.h hash.h
+vpath.o: vpath.c makeint.h filedef.h variable.h
+strcache.o: strcache.c makeint.h hash.h
version.o: version.c
-ar.o: ar.c make.h filedef.h dep.h
-arscan.o: arscan.c make.h
+ar.o: ar.c makeint.h filedef.h dep.h
+arscan.o: arscan.c makeint.h
signame.o: signame.c signame.h
-remote-stub.o: remote-stub.c make.h filedef.h job.h commands.h
+remote-stub.o: remote-stub.c makeint.h filedef.h job.h commands.h
getopt.o: getopt.c
getopt1.o : getopt1.c getopt.h
getloadavg.o: getloadavg.c
-amiga.o: amiga.c make.h variable.h amiga.h
+amiga.o: amiga.c makeint.h variable.h amiga.h
diff --git a/Makefile.in b/Makefile.in
index 6481e996..e2310fe8 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -17,8 +16,7 @@
# This is a -*-Makefile-*-, or close enough
#
-# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010 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
@@ -36,6 +34,51 @@
VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -61,70 +104,108 @@ bin_PROGRAMS = make$(EXEEXT)
@WINDOWSENV_TRUE@am__append_2 = $(W32INC)
check_PROGRAMS = loadavg$(EXEEXT)
subdir = .
-DIST_COMMON = README $(am__configure_deps) $(noinst_HEADERS) \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/config.h.in $(top_srcdir)/configure ABOUT-NLS \
- AUTHORS COPYING ChangeLog INSTALL NEWS alloca.c getloadavg.c
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/configure $(am__configure_deps) \
+ $(srcdir)/config.h.in $(top_srcdir)/tests/config-flags.pm.in \
+ getloadavg.c alloca.c $(top_srcdir)/config/depcomp \
+ $(include_HEADERS) $(noinst_HEADERS) ABOUT-NLS AUTHORS COPYING \
+ INSTALL NEWS README $(top_srcdir)/config/ar-lib \
+ $(top_srcdir)/config/compile $(top_srcdir)/config/config.guess \
+ $(top_srcdir)/config/config.rpath \
+ $(top_srcdir)/config/config.sub \
+ $(top_srcdir)/config/install-sh $(top_srcdir)/config/missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/dospaths.m4 \
$(top_srcdir)/config/gettext.m4 $(top_srcdir)/config/iconv.m4 \
- $(top_srcdir)/config/isc-posix.m4 \
+ $(top_srcdir)/config/intlmacosx.m4 \
$(top_srcdir)/config/lib-ld.m4 \
$(top_srcdir)/config/lib-link.m4 \
$(top_srcdir)/config/lib-prefix.m4 $(top_srcdir)/config/nls.m4 \
$(top_srcdir)/config/po.m4 $(top_srcdir)/config/progtest.m4 \
- $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.in
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
-mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_FILES = tests/config-flags.pm
CONFIG_CLEAN_VPATH_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \
+ "$(DESTDIR)$(includedir)"
PROGRAMS = $(bin_PROGRAMS)
nodist_loadavg_OBJECTS = loadavg-getloadavg.$(OBJEXT)
loadavg_OBJECTS = $(nodist_loadavg_OBJECTS)
loadavg_DEPENDENCIES =
am__make_SOURCES_DIST = ar.c arscan.c commands.c default.c dir.c \
- expand.c file.c function.c getopt.c getopt1.c implicit.c job.c \
- main.c misc.c read.c remake.c remote-stub.c remote-cstms.c \
- rule.c signame.c strcache.c variable.c version.c vpath.c \
- hash.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-stub.c remote-cstms.c
@USE_CUSTOMS_FALSE@am__objects_1 = remote-stub.$(OBJEXT)
@USE_CUSTOMS_TRUE@am__objects_1 = remote-cstms.$(OBJEXT)
am_make_OBJECTS = ar.$(OBJEXT) arscan.$(OBJEXT) commands.$(OBJEXT) \
default.$(OBJEXT) dir.$(OBJEXT) expand.$(OBJEXT) \
file.$(OBJEXT) function.$(OBJEXT) getopt.$(OBJEXT) \
- getopt1.$(OBJEXT) implicit.$(OBJEXT) job.$(OBJEXT) \
- main.$(OBJEXT) misc.$(OBJEXT) read.$(OBJEXT) remake.$(OBJEXT) \
- $(am__objects_1) rule.$(OBJEXT) signame.$(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)
+ vpath.$(OBJEXT) hash.$(OBJEXT) $(am__objects_1)
make_OBJECTS = $(am_make_OBJECTS)
am__DEPENDENCIES_1 =
@WINDOWSENV_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
make_DEPENDENCIES = @LIBOBJS@ @ALLOCA@ $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_2)
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = $(nodist_loadavg_SOURCES) $(make_SOURCES) \
$(EXTRA_make_SOURCES)
DIST_SOURCES = $(am__make_SOURCES_DIST) $(EXTRA_make_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -146,25 +227,56 @@ am__nobase_list = $(am__nobase_strip_setup); \
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
man1dir = $(mandir)/man1
NROFF = nroff
MANS = $(man_MANS)
-HEADERS = $(noinst_HEADERS)
+HEADERS = $(include_HEADERS) $(noinst_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- distdir dist dist-all distcheck
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ cscope distdir dist dist-all distcheck
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+ $(LISP)config.h.in
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
+CSCOPE = cscope
DIST_SUBDIRS = glob config po doc w32
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
- { test ! -d "$(distdir)" \
- || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr "$(distdir)"; }; }
+ if test -d "$(distdir)"; then \
+ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -rf "$(distdir)" \
+ || { sleep 5 && rm -rf "$(distdir)"; }; \
+ else :; fi
+am__post_remove_distdir = $(am__remove_distdir)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
@@ -192,11 +304,16 @@ am__relativize = \
reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
GZIP_ENV = --best
+DIST_TARGETS = dist-bzip2 dist-gzip
distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_LDFLAGS = @AM_LDFLAGS@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@@ -216,16 +333,21 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GLOBINC = @GLOBINC@
GLOBLIB = @GLOBLIB@
GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
+GUILE_CFLAGS = @GUILE_CFLAGS@
+GUILE_LIBS = @GUILE_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
KMEM_GROUP = @KMEM_GROUP@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
@@ -238,8 +360,8 @@ LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MAKE_HOST = @MAKE_HOST@
MKDIR_P = @MKDIR_P@
-MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEED_SETGID = @NEED_SETGID@
OBJEXT = @OBJEXT@
@@ -252,6 +374,9 @@ PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
POSUB = @POSUB@
RANLIB = @RANLIB@
REMOTE = @REMOTE@
@@ -261,10 +386,13 @@ STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -321,21 +449,24 @@ ACLOCAL_AMFLAGS = -I config
@WINDOWSENV_TRUE@W32INC = -I $(top_srcdir)/w32/include
@WINDOWSENV_TRUE@W32LIB = -Lw32 -lw32
SUBDIRS = glob config po doc $(MAYBE_W32)
+include_HEADERS = gnumake.h
@USE_CUSTOMS_FALSE@remote = remote-stub.c
@USE_CUSTOMS_TRUE@remote = remote-cstms.c
make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c \
- function.c getopt.c getopt1.c implicit.c job.c main.c \
- misc.c read.c remake.c $(remote) rule.c signame.c \
- strcache.c variable.c version.c vpath.c hash.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)
EXTRA_make_SOURCES = vmsjobs.c remote-stub.c remote-cstms.c
-noinst_HEADERS = commands.h dep.h filedef.h job.h make.h rule.h variable.h \
- debug.h getopt.h gettext.h hash.h
+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
make_LDADD = @LIBOBJS@ @ALLOCA@ $(GLOBLIB) @GETLOADAVG_LIBS@ @LIBINTL@ \
- $(am__append_1)
+ $(GUILE_LIBS) $(am__append_1)
man_MANS = make.1
AM_CPPFLAGS = $(GLOBINC) $(am__append_2)
+AM_CFLAGS = $(GUILE_CFLAGS)
# Extra stuff to include in the distribution.
EXTRA_DIST = README build.sh.in $(man_MANS) \
@@ -345,8 +476,9 @@ EXTRA_DIST = README build.sh.in $(man_MANS) \
README.DOS Makefile.DOS configure.bat dosbuild.bat configh.dos\
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
+ README.VMS makefile.vms makefile.com config.h-vms \
+ vmsdir.h vmsfunctions.c vmsify.c \
+ gmk-default.scm gmk-default.h
# This is built during configure, but behind configure's back
@@ -358,8 +490,8 @@ DISTCLEANFILES = build.sh
#
# Whether or not make needs to be installed setgid.
-# The value should be either `true' or `false'.
-# On many systems, the getloadavg function (used to implement the `-l'
+# The value should be either 'true' or 'false'.
+# On many systems, the getloadavg function (used to implement the '-l'
# switch) will not work unless make is installed setgid kmem.
#
inst_setgid = @NEED_SETGID@
@@ -383,21 +515,21 @@ all: config.h
.SUFFIXES:
.SUFFIXES: .c .o .obj
-am--refresh:
+am--refresh: Makefile
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
- $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
&& exit 0; \
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu Makefile
+ $(AUTOMAKE) --foreign Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -419,10 +551,8 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
config.h: stamp-h1
- @if test ! -f $@; then \
- rm -f stamp-h1; \
- $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
- else :; fi
+ @test -f $@ || rm -f stamp-h1
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
@@ -434,16 +564,22 @@ $(srcdir)/config.h.in: $(am__configure_deps)
distclean-hdr:
-rm -f config.h stamp-h1
+tests/config-flags.pm: $(top_builddir)/config.status $(top_srcdir)/tests/config-flags.pm.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
- while read p p1; do if test -f $$p; \
- then echo "$$p"; echo "$$p"; else :; fi; \
+ while read p p1; do if test -f $$p \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
- sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
@@ -464,7 +600,8 @@ uninstall-binPROGRAMS:
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
- -e 's/$$/$(EXEEXT)/' `; \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bindir)" && rm -f $$files
@@ -474,12 +611,14 @@ clean-binPROGRAMS:
clean-checkPROGRAMS:
-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
-loadavg$(EXEEXT): $(loadavg_OBJECTS) $(loadavg_DEPENDENCIES)
+
+loadavg$(EXEEXT): $(loadavg_OBJECTS) $(loadavg_DEPENDENCIES) $(EXTRA_loadavg_DEPENDENCIES)
@rm -f loadavg$(EXEEXT)
- $(LINK) $(loadavg_OBJECTS) $(loadavg_LDADD) $(LIBS)
-make$(EXEEXT): $(make_OBJECTS) $(make_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(loadavg_OBJECTS) $(loadavg_LDADD) $(LIBS)
+
+make$(EXEEXT): $(make_OBJECTS) $(make_DEPENDENCIES) $(EXTRA_make_DEPENDENCIES)
@rm -f make$(EXEEXT)
- $(LINK) $(make_OBJECTS) $(make_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(make_OBJECTS) $(make_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -499,12 +638,16 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/function.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/guile.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/implicit.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/job.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/load.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loadapi.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loadavg-getloadavg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/output.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/read.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remake.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remote-cstms.Po@am__quote@
@@ -518,39 +661,46 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vpath.Po@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
loadavg-getloadavg.o: getloadavg.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(loadavg_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT loadavg-getloadavg.o -MD -MP -MF $(DEPDIR)/loadavg-getloadavg.Tpo -c -o loadavg-getloadavg.o `test -f 'getloadavg.c' || echo '$(srcdir)/'`getloadavg.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/loadavg-getloadavg.Tpo $(DEPDIR)/loadavg-getloadavg.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='getloadavg.c' object='loadavg-getloadavg.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(loadavg_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT loadavg-getloadavg.o -MD -MP -MF $(DEPDIR)/loadavg-getloadavg.Tpo -c -o loadavg-getloadavg.o `test -f 'getloadavg.c' || echo '$(srcdir)/'`getloadavg.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/loadavg-getloadavg.Tpo $(DEPDIR)/loadavg-getloadavg.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='getloadavg.c' object='loadavg-getloadavg.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(loadavg_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o loadavg-getloadavg.o `test -f 'getloadavg.c' || echo '$(srcdir)/'`getloadavg.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(loadavg_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o loadavg-getloadavg.o `test -f 'getloadavg.c' || echo '$(srcdir)/'`getloadavg.c
loadavg-getloadavg.obj: getloadavg.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(loadavg_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT loadavg-getloadavg.obj -MD -MP -MF $(DEPDIR)/loadavg-getloadavg.Tpo -c -o loadavg-getloadavg.obj `if test -f 'getloadavg.c'; then $(CYGPATH_W) 'getloadavg.c'; else $(CYGPATH_W) '$(srcdir)/getloadavg.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/loadavg-getloadavg.Tpo $(DEPDIR)/loadavg-getloadavg.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='getloadavg.c' object='loadavg-getloadavg.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(loadavg_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT loadavg-getloadavg.obj -MD -MP -MF $(DEPDIR)/loadavg-getloadavg.Tpo -c -o loadavg-getloadavg.obj `if test -f 'getloadavg.c'; then $(CYGPATH_W) 'getloadavg.c'; else $(CYGPATH_W) '$(srcdir)/getloadavg.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/loadavg-getloadavg.Tpo $(DEPDIR)/loadavg-getloadavg.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='getloadavg.c' object='loadavg-getloadavg.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(loadavg_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o loadavg-getloadavg.obj `if test -f 'getloadavg.c'; then $(CYGPATH_W) 'getloadavg.c'; else $(CYGPATH_W) '$(srcdir)/getloadavg.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(loadavg_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o loadavg-getloadavg.obj `if test -f 'getloadavg.c'; then $(CYGPATH_W) 'getloadavg.c'; else $(CYGPATH_W) '$(srcdir)/getloadavg.c'; fi`
install-man1: $(man_MANS)
@$(NORMAL_INSTALL)
- test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
- @list=''; test -n "$(man1dir)" || exit 0; \
- { for i in $$list; do echo "$$i"; done; \
- l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
- sed -n '/\.1[a-z]*$$/p'; \
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man1dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.1[a-z]*$$/p'; \
+ fi; \
} | while read p; do \
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; echo "$$p"; \
@@ -579,27 +729,49 @@ uninstall-man1:
sed -n '/\.1[a-z]*$$/p'; \
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
- test -z "$$files" || { \
- echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+install-includeHEADERS: $(include_HEADERS)
+ @$(NORMAL_INSTALL)
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
+ done
+
+uninstall-includeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -614,57 +786,12 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -680,12 +807,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -697,15 +819,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -714,9 +832,31 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscope: cscope.files
+ test ! -s cscope.files \
+ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+clean-cscope:
+ -rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+ -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(DISTFILES)
@case `sed 15q $(srcdir)/NEWS` in \
@@ -725,19 +865,6 @@ distdir: $(DISTFILES)
echo "NEWS not updated; not releasing" 1>&2; \
exit 1;; \
esac
- @list='$(MANS)'; if test -n "$$list"; then \
- list=`for p in $$list; do \
- if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
- if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
- if test -n "$$list" && \
- grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
- echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
- grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
- echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
- echo " typically \`make maintainer-clean' will remove them" >&2; \
- exit 1; \
- else :; fi; \
- else :; fi
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -771,13 +898,10 @@ distdir: $(DISTFILES)
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
@@ -809,36 +933,41 @@ distdir: $(DISTFILES)
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
- $(am__remove_distdir)
+ tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+ $(am__post_remove_distdir)
-dist-lzma: distdir
- tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
- $(am__remove_distdir)
+dist-lzip: distdir
+ tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
+ $(am__post_remove_distdir)
dist-xz: distdir
- tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
- $(am__remove_distdir)
+ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
+ $(am__post_remove_distdir)
dist-tarZ: distdir
+ @echo WARNING: "Support for shar distribution archives is" \
+ "deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
dist-shar: distdir
+ @echo WARNING: "Support for distribution archives compressed with" \
+ "legacy program 'compress' is deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
-dist dist-all: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
- $(am__remove_distdir)
+dist dist-all:
+ $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
+ $(am__post_remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
@@ -849,8 +978,8 @@ distcheck: dist
GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.lzma*) \
- lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+ *.tar.lz*) \
+ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
@@ -860,17 +989,19 @@ distcheck: dist
*.zip*) \
unzip $(distdir).zip ;;\
esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
+ chmod -R a-w $(distdir)
+ chmod u+w $(distdir)
+ mkdir $(distdir)/_build $(distdir)/_inst
chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ && ../configure \
+ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
+ --srcdir=.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
@@ -893,13 +1024,21 @@ distcheck: dist
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
&& cd "$$am__cwd" \
|| exit 1
- $(am__remove_distdir)
+ $(am__post_remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
- @$(am__cd) '$(distuninstallcheck_dir)' \
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+ @test -n '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: trying to run $@ with an empty' \
+ '$$(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ $(am__cd) '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
@@ -922,7 +1061,7 @@ check: check-recursive
all-am: Makefile $(PROGRAMS) $(MANS) $(HEADERS) config.h
installdirs: installdirs-recursive
installdirs-am:
- for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(includedir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
@@ -935,10 +1074,15 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
@@ -967,13 +1111,15 @@ dvi: dvi-recursive
dvi-am:
+html: html-recursive
+
html-am:
info: info-recursive
info-am:
-install-data-am: install-man
+install-data-am: install-includeHEADERS install-man
install-dvi: install-dvi-recursive
@@ -1020,39 +1166,33 @@ ps: ps-recursive
ps-am:
-uninstall-am: uninstall-binPROGRAMS uninstall-man
+uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \
+ uninstall-man
uninstall-man: uninstall-man1
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check-am \
- ctags-recursive install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am am--refresh check check-am check-local clean \
- clean-binPROGRAMS clean-checkPROGRAMS clean-generic ctags \
- ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-hook \
- dist-lzma dist-shar dist-tarZ dist-xz dist-zip distcheck \
- distclean distclean-compile distclean-generic distclean-hdr \
- distclean-tags distcleancheck distdir distuninstallcheck dvi \
- dvi-am html html-am info info-am install install-am \
- install-binPROGRAMS install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-exec-local \
- install-html install-html-am install-info install-info-am \
- install-man install-man1 install-pdf install-pdf-am install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-binPROGRAMS uninstall-man \
- uninstall-man1
-
+.MAKE: $(am__recursive_targets) all check-am install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+ am--refresh check check-am check-local clean clean-binPROGRAMS \
+ clean-checkPROGRAMS clean-cscope clean-generic cscope \
+ cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
+ dist-gzip dist-hook dist-lzip dist-shar dist-tarZ dist-xz \
+ dist-zip distcheck distclean distclean-compile \
+ distclean-generic distclean-hdr distclean-tags distcleancheck \
+ distdir distuninstallcheck dvi dvi-am html html-am info \
+ info-am install install-am install-binPROGRAMS install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-exec-local install-html \
+ install-html-am install-includeHEADERS install-info \
+ install-info-am install-man install-man1 install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs installdirs-am \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \
+ uninstall-includeHEADERS uninstall-man uninstall-man1
-# Forward targets
-
-html:
- cd doc && $(MAKE) $(AM_MAKEFLAGS) $@
-
-.PHONY: html
install-exec-local:
@if $(inst_setgid); then \
@@ -1061,19 +1201,28 @@ install-exec-local:
echo "chgrp $(inst_group) $$app && chmod g+s $$app"; \
else \
echo "$$app needs to be owned by group $(inst_group) and setgid;"; \
- echo "otherwise the \`-l' option will probably not work."; \
+ echo "otherwise the '-l' option will probably not work."; \
echo "You may need special privileges to complete the installation"; \
echo "of $$app."; \
fi; \
else true; fi
+# --------------- Generate the Guile default module content
+
+guile.$(OBJEXT): gmk-default.h
+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 '";') > $@
+
# --------------- Local DIST Section
# Install the w32 and tests subdirectories
#
dist-hook:
(cd $(srcdir); \
- sub=`find w32 tests -follow \( -name CVS -prune -o -name .cvsignore -o -name work -prune \) -o \( -name \*.orig -o -name \*.rej -o -name \*~ -prune \) -o -type f -print`; \
+ sub=`find w32 tests -follow \( -name .git -o -name .deps -o -name work -o -name .gitignore -o -name \*.orig -o -name \*.rej -o -name \*~ -o -name Makefile \) -prune -o -type f -print`; \
tar chf - $$sub) \
| (cd $(distdir); tar xfBp -)
@@ -1096,19 +1245,19 @@ check-loadavg: loadavg$(EXEEXT)
@echo The GNU load average checking code thinks:
-./loadavg$(EXEEXT)
-check-regression:
- @if test -f "$(srcdir)/tests/run_make_tests"; then \
+check-regression: tests/config-flags.pm
+ @if test -f '$(srcdir)/tests/run_make_tests'; then \
if $(PERL) -v >/dev/null 2>&1; then \
- case `cd $(srcdir); pwd` in `pwd`) : ;; \
+ case `cd '$(srcdir)'; pwd` in `pwd`) : ;; \
*) test -d tests || mkdir tests; \
rm -f srctests; \
- if ln -s "$(srcdir)/tests" srctests; then \
+ if ln -s '$(srcdir)/tests' srctests; then \
for f in run_make_tests run_make_tests.pl test_driver.pl scripts; do \
rm -f tests/$$f; ln -s ../srctests/$$f tests; \
done; fi ;; \
esac; \
- echo "cd tests && $(PERL) ./run_make_tests.pl -make ../make$(EXEEXT) $(MAKETESTFLAGS)"; \
- cd tests && $(PERL) ./run_make_tests.pl -make ../make$(EXEEXT) $(MAKETESTFLAGS); \
+ echo "cd tests && $(PERL) ./run_make_tests.pl -srcdir $(abs_srcdir) -make ../make$(EXEEXT) $(MAKETESTFLAGS)"; \
+ cd tests && $(PERL) ./run_make_tests.pl -srcdir '$(abs_srcdir)' -make '../make$(EXEEXT)' $(MAKETESTFLAGS); \
else \
echo "Can't find a working Perl ($(PERL)); the test suite requires Perl."; \
fi; \
@@ -1119,7 +1268,7 @@ check-regression:
# --------------- Maintainer's Section
# Tell automake that I haven't forgotten about this file and it will be
-# created before we build a distribution (see maintMakefile in the CVS
+# created before we build a distribution (see maintMakefile in the Git
# distribution).
README:
diff --git a/NEWS b/NEWS
index 523c9a7f..7e11787e 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,6 @@
GNU make NEWS -*-indented-text-*-
History of user-visible changes.
- 28 July 2010
+ 05 Oct 2014
See the end of this file for copyrights and conditions.
@@ -9,7 +9,132 @@ manual, which is contained in this distribution as the file doc/make.texi.
See the README file and the GNU make manual for instructions for
reporting bugs.
-Version 3.82
+Version 4.1 (05 Oct 2014)
+
+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=105&set=custom
+
+* New variables: $(MAKE_TERMOUT) and $(MAKE_TERMERR) are set to non-empty
+ values if stdout or stderr, respectively, are believed to be writing to a
+ terminal. These variables are exported by default.
+
+* Allow a no-text-argument form of the $(file ...) function. Without a text
+ argument nothing is written to the file: it is simply opened in the
+ requested mode, then closed again.
+
+* Change the fatal error for mixed explicit and implicit rules, that was
+ introduced in GNU make 3.82, to a non-fatal error. However, this syntax is
+ still deprecated and may return to being illegal in a future version of GNU
+ make. Makefiles that rely on this syntax should be fixed.
+ See https://savannah.gnu.org/bugs/?33034
+
+
+Version 4.0 (09 Oct 2013)
+
+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=101&set=custom
+
+* WARNING: Backward-incompatibility!
+ If .POSIX is specified, then make adheres to the POSIX backslash/newline
+ handling requirements, which introduces the following changes to the
+ standard backslash/newline handling in non-recipe lines:
+ * Any trailing space before the backslash is preserved
+ * Each backslash/newline (plus subsequent whitespace) is converted to a
+ single space
+
+* New feature: GNU Guile integration
+ This version of GNU make can be compiled with GNU Guile integration.
+ GNU Guile serves as an embedded extension language for make.
+ See the "Guile Function" section in the GNU Make manual for details.
+ Currently GNU Guile 1.8 and 2.0+ are supported. In Guile 1.8 there is no
+ support for internationalized character sets. In Guile 2.0+, scripts can be
+ encoded in UTF-8.
+
+* New command line option: --output-sync (-O) enables grouping of output by
+ target or by recursive make. This is useful during parallel builds to avoid
+ mixing output from different jobs together giving hard-to-understand
+ results. Original implementation by David Boyce <dsb@boyski.com>.
+ Reworked and enhanced by Frank Heckenbach <f.heckenbach@fh-soft.de>.
+ Windows support by Eli Zaretskii <eliz@gnu.org>.
+
+* New command line option: --trace enables tracing of targets. When enabled
+ the recipe to be invoked is printed even if it would otherwise be suppressed
+ by .SILENT or a "@" prefix character. Also before each recipe is run the
+ makefile name and linenumber where it was defined are shown as well as the
+ prerequisites that caused the target to be considered out of date.
+
+* New command line option argument: --debug now accepts a "n" (none) flag
+ which disables all debugging settings that are currently enabled.
+
+* New feature: The "job server" capability is now supported on Windows.
+ Implementation contributed by Troy Runkel <Troy.Runkel@mathworks.com>
+
+* New feature: The .ONESHELL capability is now supported on Windows. Support
+ added by Eli Zaretskii <eliz@gnu.org>.
+
+* New feature: "!=" shell assignment operator as an alternative to the
+ $(shell ...) function. Implemented for compatibility with BSD makefiles.
+ Note there are subtle differences between "!=" and $(shell ...). See the
+ description in the GNU make manual.
+ WARNING: Backward-incompatibility!
+ Variables ending in "!" previously defined as "variable!= value" will now be
+ interpreted as shell assignment. Change your assignment to add whitespace
+ between the "!" and "=": "variable! = value"
+
+* New feature: "::=" simple assignment operator as defined by POSIX in 2012.
+ This operator has identical functionality to ":=" in GNU make, but will be
+ portable to any implementation of make conforming to a sufficiently new
+ version of POSIX (see http://austingroupbugs.net/view.php?id=330). It is
+ not necessary to define the .POSIX target to access this operator.
+
+* New feature: Loadable objects
+ This version of GNU make contains a "technology preview": the ability to
+ load dynamic objects into the make runtime. These objects can be created by
+ the user and can add extended functionality, usable by makefiles.
+
+* New function: $(file ...) writes to a file.
+
+* New variable: $(GNUMAKEFLAGS) will be parsed for make flags, just like
+ MAKEFLAGS is. It can be set in the environment or the makefile, containing
+ GNU make-specific flags to allow your makefile to be portable to other
+ versions of make. Once this variable is parsed, GNU make will set it to the
+ empty string so that flags will not be duplicated on recursion.
+
+* New variable: `MAKE_HOST' gives the name of the host architecture
+ make was compiled for. This is the same value you see after 'Built for'
+ when running 'make --version'.
+
+* Behavior of MAKEFLAGS and MFLAGS is more rigorously defined. All simple
+ flags are grouped together in the first word of MAKEFLAGS. No options that
+ accept arguments appear in the first word. If no simple flags are present
+ MAKEFLAGS begins with a space. Flags with both short and long versions
+ always use the short versions in MAKEFLAGS. Flags are listed in
+ alphabetical order using ASCII ordering. MFLAGS never begins with "- ".
+
+* Setting the -r and -R options in MAKEFLAGS inside a makefile now works as
+ expected, removing all built-in rules and variables, respectively.
+
+* If a recipe fails, the makefile name and linenumber of the recipe are shown.
+
+* A .RECIPEPREFIX setting is remembered per-recipe and variables expanded
+ in that recipe also use that recipe prefix setting.
+
+* In -p output, .RECIPEPREFIX settings are shown and all target-specific
+ variables are output as if in a makefile, instead of as comments.
+
+* On MS-Windows, recipes that use ".." quoting will no longer force
+ invocation of commands via temporary batch files and stock Windows
+ shells, they will be short-circuited and invoked directly. (In
+ other words, " is no longer a special character for stock Windows
+ shells.) This avoids hitting shell limits for command length when
+ quotes are used, but nothing else in the command requires the shell.
+ This change could potentially mean some minor incompatibilities in
+ behavior when the recipe uses quoted string on shell command lines.
+
+
+Version 3.82 (28 Jul 2010)
A complete list of bugs fixed in this version is available here:
@@ -18,14 +143,6 @@ http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=104&set
* Compiling GNU make now requires a conforming ISO C 1989 compiler and
standard runtime library.
-* WARNING: Future backward-incompatibility!
- Wildcards are not documented as returning sorted values, but up to and
- including this release the results have been sorted and some makefiles are
- apparently depending on that. In the next release of GNU make, for
- performance reasons, we may remove that sorting. If your makefiles
- require sorted results from wildcard expansions, use the $(sort ...)
- function to request it explicitly.
-
* WARNING: Backward-incompatibility!
The POSIX standard for make was changed in the 2008 version in a
fundamentally incompatible way: make is required to invoke the shell as if
@@ -42,6 +159,12 @@ http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=104&set
existing targets were provided in $?).
* WARNING: Backward-incompatibility!
+ Wildcards were not documented as returning sorted values, but the results
+ have been sorted up until this release.. If your makefiles require sorted
+ results from wildcard expansions, use the $(sort ...) function to request
+ it explicitly.
+
+* WARNING: Backward-incompatibility!
As a result of parser enhancements, three backward-compatibility issues
exist: first, a prerequisite containing an "=" cannot be escaped with a
backslash any longer. You must create a variable containing an "=" and
@@ -115,7 +238,7 @@ http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=104&set
multi-line variable assignment.
-Version 3.81
+Version 3.81 (01 Apr 2006)
* GNU make is ported to OS/2.
@@ -128,8 +251,8 @@ Version 3.81
any prerequisite that does not exist, even though that prerequisite
might have caused the target to rebuild. Starting with the _next_
release of GNU make, '$?' will contain all prerequisites that caused
- the target to be considered out of date. See this Savannah bug:
- http://savannah.gnu.org/bugs/index.php?func=detailitem&item_id=16051
+ the target to be considered out of date.
+ See http://savannah.gnu.org/bugs/?16051
* WARNING: Backward-incompatibility!
GNU make now implements a generic "second expansion" feature on the
@@ -238,7 +361,7 @@ Version 3.81
could be found on the system.
* On VMS there is now support for case-sensitive filesystems such as ODS5.
- See the readme.vms file for information.
+ See the README.VMS file for information.
* Parallel builds (-jN) no longer require a working Bourne shell on
Windows platforms. They work even with the stock Windows shells, such
@@ -256,7 +379,7 @@ 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=103
-Version 3.80
+Version 3.80 (03 Oct 2002)
* A new feature exists: order-only prerequisites. These prerequisites
affect the order in which targets are built, but they do not impact
@@ -338,7 +461,7 @@ 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
-Version 3.79.1
+Version 3.79.1 (23 Jun 2000)
* .SECONDARY with no prerequisites now prevents any target from being
removed because make thinks it's an intermediate file, not just those
@@ -347,7 +470,7 @@ Version 3.79.1
* New configure option --disable-nsec-timestamps, but this was
superseded in later versions by the .LOW_RESOLUTION_TIME pseudo-target.
-Version 3.79
+Version 3.79 (04 Apr 2000)
* GNU make optionally supports internationalization and locales via the
GNU gettext (or local gettext if suitable) package. See the ABOUT-NLS
@@ -388,9 +511,9 @@ Version 3.79
returned.
* Hartmut Becker provided many updates for the VMS port of GNU make.
- See the readme.vms file for more details.
+ See the README.VMS file for more details.
-Version 3.78
+Version 3.78 (22 Sep 1999)
* Two new functions, $(error ...) and $(warning ...) are available. The
former will cause make to fail and exit immediately upon expansion of
@@ -446,7 +569,7 @@ Version 3.78
by running "make check" in the distribution. Note that it requires
Perl (either Perl 4 or Perl 5) to run.
-Version 3.77
+Version 3.77 (28 Jul 1998)
* Implement BSD make's "?=" variable assignment operator. The variable
is assigned the specified value only if that variable is not already
@@ -492,11 +615,11 @@ Version 3.77
* Updates to the Windows 95/NT port from Rob Tulloh (see README.W32),
and to the DOS port from Eli Zaretski (see README.DOS).
-Version 3.76.1
+Version 3.76.1 (19 Sep 1997)
* Small (but serious) bug fix. Quick rollout to get into the GNU source CD.
-Version 3.76
+Version 3.76 (16 Sep 1997)
* GNU make now uses automake to control Makefile.in generation. This
should make it more consistent with the GNU standards.
@@ -541,7 +664,7 @@ Version 3.76
* John W. Eaton has updated the VMS port to support libraries and VPATH.
-Version 3.75
+Version 3.75 (27 Aug 1996)
* The directory messages printed by `-w' and implicitly in sub-makes,
are now omitted if Make runs no commands and has no other messages to print.
@@ -562,7 +685,7 @@ Version 3.75
See README.W32 for details, and direct all Windows-related questions to
<rob_tulloh@tivoli.com>.
-Version 3.73
+Version 3.73 (05 Apr 1995)
* Converted to use Autoconf version 2, so `configure' has some new options.
See INSTALL for details.
@@ -570,7 +693,7 @@ Version 3.73
* You can now send a SIGUSR1 signal to Make to toggle printing of debugging
output enabled by -d, at any time during the run.
-Version 3.72
+Version 3.72 (04 Nov 1994)
* DJ Delorie has ported Make to MS-DOS using the GO32 extender.
He is maintaining the DOS port, not the GNU Make maintainer;
@@ -604,7 +727,7 @@ Version 3.72
of `.SILENT', then the recipe to update that file will not be printed
before it is run. (This change was made to conform to POSIX.2.)
-Version 3.71
+Version 3.71 (21 May 1994)
* The automatic variables `$(@D)', `$(%D)', `$(*D)', `$(<D)', `$(?D)', and
`$(^D)' now omit the trailing slash from the directory name. (This change
@@ -626,7 +749,7 @@ Version 3.71
The exit status is 1 only when using -q and some target is not up to date.
(This change was made to comply with POSIX.2.)
-Version 3.70
+Version 3.70 (03 Jan 1994)
* It is no longer a fatal error to have a NUL character in a makefile.
You should never put a NUL in a makefile because it can have strange
@@ -637,7 +760,7 @@ Version 3.70
makefile name and line number where the `include' appeared, so Emacs's
C-x ` command takes you there (in case it's a typo you need to fix).
-Version 3.69
+Version 3.69 (07 Nov 1993)
* Implicit rule search for archive member references is now done in the
opposite order from previous versions: the whole target name `LIB(MEM)'
@@ -656,7 +779,7 @@ Version 3.69
have reversed the change made in version 3.68 because it turned out to
cause a paradoxical situation in cases like:
- export variable = $(shell echo value)
+ export variable = $(shell echo value)
When Make attempted to put this variable in the environment for a
recipe, it would try expand the value by running the shell command
@@ -667,7 +790,7 @@ Version 3.69
* The recipe given for `.DEFAULT' is now used for phony targets with no
recipe.
-Version 3.68
+Version 3.68 (28 Jul 1993)
* You can list several archive member names inside parenthesis:
`lib(mem1 mem2 mem3)' is equivalent to `lib(mem1) lib(mem2) lib(mem3)'.
@@ -679,8 +802,8 @@ Version 3.68
foo.a(b.o) bar.a(c.o) bar.a(d.o)'.
* A suffix rule `.X.a' now produces two pattern rules:
- (%.o): %.X # Previous versions produced only this.
- %.a: %.X # Now produces this as well, just like other suffixes.
+ (%.o): %.X # Previous versions produced only this.
+ %.a: %.X # Now produces this as well, just like other suffixes.
* The new flag `--warn-undefined-variables' says to issue a warning message
whenever Make expands a reference to an undefined variable.
@@ -693,16 +816,16 @@ Version 3.68
to set up variables for them. They used to run with the environment
that `make' started with.
-Version 3.66
+Version 3.66 (21 May 1993)
* `make --version' (or `make -v') now exits immediately after printing
the version number.
-Version 3.65
+Version 3.65 (09 May 1993)
* Make now supports long-named members in `ar' archive files.
-Version 3.64
+Version 3.64 (21 Apr 1993)
* Make now supports the `+=' syntax for a variable definition which appends
to the variable's previous value. See the section `Appending More Text
@@ -716,7 +839,7 @@ Version 3.64
* The built-in implicit rules now support the alternative extension
`.txinfo' for Texinfo files, just like `.texinfo' and `.texi'.
-Version 3.63
+Version 3.63 (22 Jan 1993)
* Make now uses a standard GNU `configure' script. See the new file
INSTALL for the new (and much simpler) installation procedure.
@@ -750,15 +873,15 @@ Version 3.63
no longer automatically put into the environments of the recipe lines that
Make runs. Instead, only variables specified on the command line or in
the environment are exported by default. To export others, use:
- export VARIABLE
+ export VARIABLE
or you can define variables with:
- export VARIABLE = VALUE
+ export VARIABLE = VALUE
or:
- export VARIABLE := VALUE
+ export VARIABLE := VALUE
You can use just:
- export
+ export
or:
- .EXPORT_ALL_VARIABLES:
+ .EXPORT_ALL_VARIABLES:
to get the old behavior. See the node `Variables/Recursion' in the manual
for a full description.
@@ -778,9 +901,9 @@ Version 3.63
* A single `include' directive can now specify more than one makefile to
include, like this:
- include file1 file2
+ include file1 file2
You can also use shell file name patterns in an `include' directive:
- include *.mk
+ include *.mk
* The default directories to search for included makefiles, and for
libraries specified with `-lNAME', are now set by configuration.
@@ -916,7 +1039,7 @@ Version 3.49
* The `wildcard' variable expansion function now expands ~ and ~USER.
* Messages indicating failed recipe lines now contain the target name:
- make: *** [target] Error 1
+ make: *** [target] Error 1
* The `-p' output format has been changed somewhat to look more like
makefile rules and to give all information that Make has about files.
@@ -1096,9 +1219,8 @@ Version 3.05
(Changes from versions 1 through 3.05 were never recorded. Sorry.)
-------------------------------------------------------------------------------
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 Free Software Foundation, Inc. This file is part of GNU Make.
+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
terms of the GNU General Public License as published by the Free Software
diff --git a/NMakefile b/NMakefile
index f4a6fe53..6ed11a7e 100644
--- a/NMakefile
+++ b/NMakefile
@@ -3,8 +3,7 @@
# NOTE: If you have no 'make' program at all to process this makefile,
# run 'build_w32.bat' instead.
#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 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
@@ -33,9 +32,9 @@ CFLAGS_debug = $(CFLAGS_any) /Od /D DEBUG /D _DEBUG /FR.\WinDebug/ /Fp.\WinDebug
CFLAGS_release = $(CFLAGS_any) /O2 /D NDEBUG /FR.\WinRel/ /Fp.\WinRel/make.pch /Fo.\WinRel/
LDFLAGS_debug = w32\subproc\WinDebug\subproc.lib /NOLOGO /SUBSYSTEM:console\
- /INCREMENTAL:no /PDB:WinDebug/make.pdb /OUT:WinDebug/make.exe /DEBUG
+ /STACK:0x400000 /INCREMENTAL:no /PDB:WinDebug/make.pdb /OUT:WinDebug/make.exe /DEBUG
LDFLAGS_release = w32\subproc\WinRel\subproc.lib /NOLOGO /SUBSYSTEM:console\
- /INCREMENTAL:no /OUT:WinRel/make.exe
+ /STACK:0x400000 /INCREMENTAL:no /OUT:WinRel/make.exe
all: config.h subproc Release Debug
@@ -73,6 +72,8 @@ $(OUTDIR):
LIBS = kernel32.lib user32.lib advapi32.lib
+guile = $(OUTDIR)/guile.obj
+
OBJS = \
$(OUTDIR)/ar.obj \
$(OUTDIR)/arscan.obj \
@@ -88,8 +89,10 @@ OBJS = \
$(OUTDIR)/hash.obj \
$(OUTDIR)/implicit.obj \
$(OUTDIR)/job.obj \
+ $(OUTDIR)/load.obj \
$(OUTDIR)/main.obj \
$(OUTDIR)/misc.obj \
+ $(OUTDIR)/output.obj \
$(OUTDIR)/read.obj \
$(OUTDIR)/remake.obj \
$(OUTDIR)/remote-stub.obj \
@@ -102,7 +105,9 @@ OBJS = \
$(OUTDIR)/glob.obj \
$(OUTDIR)/fnmatch.obj \
$(OUTDIR)/dirent.obj \
- $(OUTDIR)/pathstuff.obj
+ $(OUTDIR)/pathstuff.obj \
+ $(OUTDIR)/posixfcn.obj \
+ $(guile)
$(OUTDIR)/make.exe: $(OUTDIR) $(OBJS)
$(LINK) @<<
@@ -118,6 +123,8 @@ $(OUTDIR)/fnmatch.obj : glob/fnmatch.c
$(CC) $(CFLAGS) /c $?
$(OUTDIR)/dirent.obj : w32/compat/dirent.c
$(CC) $(CFLAGS) /c $?
+$(OUTDIR)/posixfcn.obj : w32/compat/posixfcn.c
+ $(CC) $(CFLAGS) /c $?
$(OUTDIR)/pathstuff.obj : w32/pathstuff.c
$(CC) $(CFLAGS) /c $?
@@ -128,60 +135,66 @@ $(OUTDIR)/pathstuff.obj : w32/pathstuff.c
# dummy
# .deps/ar.Po
-$(OUTDIR)/ar.obj: ar.c make.h config.h \
+$(OUTDIR)/ar.obj: ar.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
filedef.h hash.h dep.h \
# .deps/arscan.Po
-$(OUTDIR)/arscan.obj: arscan.c make.h config.h \
+$(OUTDIR)/arscan.obj: arscan.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
# .deps/commands.Po
-$(OUTDIR)/commands.obj: commands.c make.h config.h \
+$(OUTDIR)/commands.obj: commands.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- dep.h filedef.h hash.h variable.h job.h \
+ filedef.h hash.h dep.h \
+ variable.h job.h output.h \
commands.h
# .deps/default.Po
-$(OUTDIR)/default.obj: default.c make.h config.h \
+$(OUTDIR)/default.obj: default.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- filedef.h hash.h variable.h rule.h dep.h \
- job.h \
+ filedef.h hash.h variable.h rule.h dep.h job.h output.h \
commands.h
# .deps/dir.Po
-$(OUTDIR)/dir.obj: dir.c make.h config.h \
+$(OUTDIR)/dir.obj: dir.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- hash.h \
+ hash.h filedef.h dep.h \
# .deps/expand.Po
-$(OUTDIR)/expand.obj: expand.c make.h config.h \
+$(OUTDIR)/expand.obj: expand.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- filedef.h hash.h \
- job.h \
- commands.h variable.h \
- rule.h
+ filedef.h hash.h job.h output.h \
+ commands.h variable.h rule.h
# .deps/file.Po
-$(OUTDIR)/file.obj: file.c make.h config.h \
+$(OUTDIR)/file.obj: file.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- dep.h filedef.h \
- hash.h job.h \
+ filedef.h hash.h dep.h job.h output.h \
commands.h variable.h \
debug.h
# .deps/function.Po
-$(OUTDIR)/function.obj: function.c make.h config.h \
+$(OUTDIR)/function.obj: function.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- filedef.h hash.h variable.h dep.h job.h \
+ filedef.h hash.h \
+ variable.h dep.h job.h output.h \
commands.h debug.h
# .deps/getloadavg.Po
@@ -193,96 +206,144 @@ $(OUTDIR)/getopt.obj: getopt.c config.h \
# .deps/getopt1.Po
$(OUTDIR)/getopt1.obj: getopt1.c config.h getopt.h \
+# .deps/guile.Po
+$(OUTDIR)/guile.obj: guile.c makeint.h config.h \
+ gnumake.h \
+ getopt.h \
+ gettext.h \
+ debug.h filedef.h hash.h \
+ dep.h variable.h \
+ gmk-default.h
+
# .deps/hash.Po
-$(OUTDIR)/hash.obj: hash.c make.h config.h \
+$(OUTDIR)/hash.obj: hash.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
hash.h
# .deps/implicit.Po
-$(OUTDIR)/implicit.obj: implicit.c make.h config.h \
+$(OUTDIR)/implicit.obj: implicit.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- filedef.h hash.h rule.h dep.h debug.h \
- variable.h job.h \
+ filedef.h hash.h rule.h \
+ dep.h debug.h variable.h job.h output.h \
commands.h
# .deps/job.Po
-$(OUTDIR)/job.obj: job.c make.h config.h \
+$(OUTDIR)/job.obj: job.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- job.h \
- debug.h filedef.h hash.h commands.h \
+ job.h output.h \
+ debug.h filedef.h hash.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
+# .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
+
# .deps/loadavg-getloadavg.Po
# dummy
# .deps/main.Po
-$(OUTDIR)/main.obj: main.c make.h config.h \
+$(OUTDIR)/main.obj: main.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- dep.h filedef.h hash.h variable.h job.h \
- commands.h rule.h debug.h getopt.h \
+ filedef.h hash.h dep.h \
+ variable.h job.h output.h \
+ commands.h rule.h debug.h \
+ getopt.h
# .deps/misc.Po
-$(OUTDIR)/misc.obj: misc.c make.h config.h \
+$(OUTDIR)/misc.obj: misc.c makeint.h config.h \
+ gnumake.h \
+ getopt.h \
+ gettext.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 \
- dep.h debug.h
+ job.h output.h \
# .deps/read.Po
-$(OUTDIR)/read.obj: read.c make.h config.h \
+$(OUTDIR)/read.obj: read.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- dep.h filedef.h hash.h job.h \
- commands.h variable.h rule.h debug.h \
+ filedef.h hash.h dep.h job.h output.h \
+ commands.h variable.h rule.h \
+ debug.h
# .deps/remake.Po
-$(OUTDIR)/remake.obj: remake.c make.h config.h \
+$(OUTDIR)/remake.obj: remake.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
filedef.h hash.h job.h \
- commands.h dep.h variable.h debug.h \
+ output.h \
+ commands.h dep.h variable.h \
+ debug.h
# .deps/remote-cstms.Po
# dummy
# .deps/remote-stub.Po
-$(OUTDIR)/remote-stub.obj: remote-stub.c make.h config.h \
+$(OUTDIR)/remote-stub.obj: remote-stub.c makeint.h \
+ config.h \
+ gnumake.h \
getopt.h \
gettext.h \
filedef.h hash.h job.h \
+ output.h \
commands.h
# .deps/rule.Po
-$(OUTDIR)/rule.obj: rule.c make.h config.h \
+$(OUTDIR)/rule.obj: rule.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- dep.h filedef.h \
- hash.h job.h \
- commands.h variable.h \
- rule.h
+ filedef.h hash.h dep.h job.h output.h \
+ commands.h variable.h rule.h
# .deps/signame.Po
-$(OUTDIR)/signame.obj: signame.c make.h config.h \
+$(OUTDIR)/signame.obj: signame.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
# .deps/strcache.Po
-$(OUTDIR)/strcache.obj: strcache.c make.h config.h \
+$(OUTDIR)/strcache.obj: strcache.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
hash.h
# .deps/variable.Po
-$(OUTDIR)/variable.obj: variable.c make.h config.h \
+$(OUTDIR)/variable.obj: variable.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- dep.h filedef.h \
- hash.h job.h \
- commands.h variable.h \
- rule.h
+ filedef.h hash.h dep.h job.h output.h \
+ commands.h variable.h rule.h
# .deps/version.Po
$(OUTDIR)/version.obj: version.c config.h
@@ -291,7 +352,9 @@ $(OUTDIR)/version.obj: version.c config.h
# dummy
# .deps/vpath.Po
-$(OUTDIR)/vpath.obj: vpath.c make.h config.h \
+$(OUTDIR)/vpath.obj: vpath.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- filedef.h hash.h variable.h
+ filedef.h hash.h \
+ variable.h
diff --git a/NMakefile.template b/NMakefile.template
deleted file mode 100644
index 35fafbee..00000000
--- a/NMakefile.template
+++ /dev/null
@@ -1,122 +0,0 @@
-# -*-Makefile-*- to build GNU make with nmake
-#
-# NOTE: If you have no 'make' program at all to process this makefile,
-# run 'build_w32.bat' instead.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 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 <http://www.gnu.org/licenses/>.
-
-LINK = link
-CC = cl
-MAKE = nmake
-
-OUTDIR=.
-MAKEFILE=NMakefile
-SUBPROC_MAKEFILE=NMakefile
-
-CFLAGS_any = /nologo /MT /W4 /GX /Zi /YX /I . /I glob /I w32/include /D WIN32 /D WINDOWS32 /D _CONSOLE /D HAVE_CONFIG_H
-CFLAGS_debug = $(CFLAGS_any) /Od /D DEBUG /D _DEBUG /FR.\WinDebug/ /Fp.\WinDebug/make.pch /Fo.\WinDebug/ /Fd.\WinDebug/make.pdb
-CFLAGS_release = $(CFLAGS_any) /O2 /D NDEBUG /FR.\WinRel/ /Fp.\WinRel/make.pch /Fo.\WinRel/
-
-LDFLAGS_debug = w32\subproc\WinDebug\subproc.lib /NOLOGO /SUBSYSTEM:console\
- /INCREMENTAL:no /PDB:WinDebug/make.pdb /OUT:WinDebug/make.exe /DEBUG
-LDFLAGS_release = w32\subproc\WinRel\subproc.lib /NOLOGO /SUBSYSTEM:console\
- /INCREMENTAL:no /OUT:WinRel/make.exe
-
-all: config.h subproc Release Debug
-
-#
-# Make sure we build the subproc library first. It has it's own
-# makefile. To be portable to Windows 95, we put the instructions
-# on how to build the library into a batch file. On NT, we could
-# simply have done foo && bar && dog, but this doesn't port.
-#
-subproc: w32/subproc/WinDebug/subproc.lib w32/subproc/WinRel/subproc.lib
-
-w32/subproc/WinDebug/subproc.lib w32/subproc/WinRel/subproc.lib: w32/subproc/misc.c w32/subproc/sub_proc.c w32/subproc/w32err.c
- subproc.bat $(SUBPROC_MAKEFILE) $(MAKE)
- if exist WinDebug\make.exe erase WinDebug\make.exe
- if exist WinRel\make.exe erase WinRel\make.exe
-
-config.h: config.h.W32
- copy $? $@
-
-Release:
- $(MAKE) /f $(MAKEFILE) LDFLAGS="$(LDFLAGS_release)" CFLAGS="$(CFLAGS_release)" OUTDIR=WinRel WinRel/make.exe
-Debug:
- $(MAKE) /f $(MAKEFILE) LDFLAGS="$(LDFLAGS_debug)" CFLAGS="$(CFLAGS_debug)" OUTDIR=WinDebug WinDebug/make.exe
-
-clean:
- if exist WinDebug\nul rmdir /s /q WinDebug
- if exist WinRel\nul rmdir /s /q WinRel
- if exist w32\subproc\WinDebug\nul rmdir /s /q w32\subproc\WinDebug
- if exist w32\subproc\WinRel\nul rmdir /s /q w32\subproc\WinRel
- if exist config.h erase config.h
- erase *.pdb
-
-$(OUTDIR):
- if not exist .\$@\nul mkdir .\$@
-
-LIBS = kernel32.lib user32.lib advapi32.lib
-
-OBJS = \
- $(OUTDIR)/ar.obj \
- $(OUTDIR)/arscan.obj \
- $(OUTDIR)/commands.obj \
- $(OUTDIR)/default.obj \
- $(OUTDIR)/dir.obj \
- $(OUTDIR)/expand.obj \
- $(OUTDIR)/file.obj \
- $(OUTDIR)/function.obj \
- $(OUTDIR)/getloadavg.obj \
- $(OUTDIR)/getopt.obj \
- $(OUTDIR)/getopt1.obj \
- $(OUTDIR)/hash.obj \
- $(OUTDIR)/implicit.obj \
- $(OUTDIR)/job.obj \
- $(OUTDIR)/main.obj \
- $(OUTDIR)/misc.obj \
- $(OUTDIR)/read.obj \
- $(OUTDIR)/remake.obj \
- $(OUTDIR)/remote-stub.obj \
- $(OUTDIR)/rule.obj \
- $(OUTDIR)/signame.obj \
- $(OUTDIR)/strcache.obj \
- $(OUTDIR)/variable.obj \
- $(OUTDIR)/version.obj \
- $(OUTDIR)/vpath.obj \
- $(OUTDIR)/glob.obj \
- $(OUTDIR)/fnmatch.obj \
- $(OUTDIR)/dirent.obj \
- $(OUTDIR)/pathstuff.obj
-
-$(OUTDIR)/make.exe: $(OUTDIR) $(OBJS)
- $(LINK) @<<
- $(LDFLAGS) $(LIBS) $(OBJS)
-<<
-
-.c{$(OUTDIR)}.obj:
- $(CC) $(CFLAGS) /c $<
-
-$(OUTDIR)/glob.obj : glob/glob.c
- $(CC) $(CFLAGS) /c $?
-$(OUTDIR)/fnmatch.obj : glob/fnmatch.c
- $(CC) $(CFLAGS) /c $?
-$(OUTDIR)/dirent.obj : w32/compat/dirent.c
- $(CC) $(CFLAGS) /c $?
-$(OUTDIR)/pathstuff.obj : w32/pathstuff.c
- $(CC) $(CFLAGS) /c $?
diff --git a/README b/README
index 07e5dc50..9ed662a8 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-This directory contains the 3.82 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.
@@ -8,20 +8,22 @@ your operating system.
For general building and installation instructions, see the file INSTALL.
-If you need to build GNU Make and have no other `make' program to use,
-you can use the shell script `build.sh' instead. To do this, first run
-`configure' as described in INSTALL. Then, instead of typing `make' to
-build the program, type `sh build.sh'. This should compile the program
+If you need to build GNU Make and have no other 'make' program to use,
+you can use the shell script 'build.sh' instead. To do this, first run
+'configure' as described in INSTALL. Then, instead of typing 'make' to
+build the program, type 'sh build.sh'. This should compile the program
in the current directory. Then you will have a Make program that you can
-use for `./make install', or whatever else.
+use for './make install', or whatever else.
Some systems' Make programs are broken and cannot process the Makefile for
GNU Make. If you get errors from your system's Make when building GNU
-Make, try using `build.sh' instead.
+Make, try using 'build.sh' instead.
GNU Make is free software. See the file COPYING for copying conditions.
-
+GNU Make is copyright by the Free Software Foundation. Copyright notices
+condense sequential years into a range; e.g. "1987-1994" means all years
+from 1987 to 1994 inclusive.
Downloading
-----------
@@ -64,7 +66,7 @@ Bug Reporting
-------------
You can send GNU make bug reports to <bug-make@gnu.org>. Please see the
-section of the GNU make manual entitled `Problems and Bugs' for
+section of the GNU make manual entitled 'Problems and Bugs' for
information on submitting useful and complete bug reports.
You can also use the online bug tracking system in the Savannah GNU Make
@@ -79,31 +81,20 @@ If you need help using GNU make, try these forums:
news:gnu.utils.help
news:gnu.utils.bug
- http://savannah.gnu.org/support/?group=make
-
-You may also find interesting patches to GNU Make available here:
-
- http://savannah.gnu.org/patch/?group=make
-
-Note these patches are provided by our users as a service and we make no
-statements regarding their correctness. Please contact the authors
-directly if you have a problem or suggestion for a patch available on
-this page.
-
-CVS Access
+Git Access
----------
-The GNU make source repository is available via anonymous CVS from the
-GNU Subversions CVS server; look here for details:
+The GNU make source repository is available via Git from the
+GNU Savannah Git server; look here for details:
- http://savannah.gnu.org/cvs/?group=make
+ http://savannah.gnu.org/git/?group=make
-Please note: you won't be able to build GNU make from CVS without
+Please note: you won't be able to build GNU make from Git without
installing appropriate maintainer's tools, such as GNU m4, automake,
-autoconf, Perl, GNU make, and GCC. See the README.cvs file for hints on
+autoconf, Perl, GNU make, and GCC. See the README.git file for hints on
how to build GNU make once these tools are available. We make no
-guarantees about the contents or quality of the latest code in the CVS
+guarantees about the contents or quality of the latest code in the Git
repository: it is not unheard of for code that is known to be broken to
be checked in. Use at your own risk.
@@ -112,8 +103,8 @@ System-specific Notes
---------------------
It has been reported that the XLC 1.2 compiler on AIX 3.2 is buggy such
-that if you compile make with `cc -O' on AIX 3.2, it will not work
-correctly. It is said that using `cc' without `-O' does work.
+that if you compile make with 'cc -O' on AIX 3.2, it will not work
+correctly. It is said that using 'cc' without '-O' does work.
The standard /bin/sh on SunOS 4.1.3_U1 and 4.1.4 is broken and cannot be
used to configure GNU make. Please install a different shell such as
@@ -123,15 +114,15 @@ information:
One area that is often a problem in configuration and porting is the code
to check the system's current load average. To make it easier to test and
-debug this code, you can do `make check-loadavg' to see if it works
-properly on your system. (You must run `configure' beforehand, but you
+debug this code, you can do 'make check-loadavg' to see if it works
+properly on your system. (You must run 'configure' beforehand, but you
need not build Make itself to run this test.)
Another potential source of porting problems is the support for large
files (LFS) in configure for those operating systems that provide it.
Please report any bugs that you find in this area. If you run into
difficulties, then as a workaround you should be able to disable LFS by
-adding the `--disable-largefile' option to the `configure' script.
+adding the '--disable-largefile' option to the 'configure' script.
On systems that support micro- and nano-second timestamp values and
where stat(2) provides this information, GNU make will use it when
@@ -151,7 +142,7 @@ Ports
- See README.customs for details on integrating GNU make with the
Customs distributed build environment from the Pmake distribution.
- - See readme.vms for details about GNU Make on OpenVMS.
+ - See README.VMS for details about GNU Make on OpenVMS.
- See README.Amiga for details about GNU Make on AmigaDOS.
@@ -171,9 +162,7 @@ at the right README!
-------------------------------------------------------------------------------
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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 --git a/README.Amiga b/README.Amiga
index 091b8b46..f9be3484 100644
--- a/README.Amiga
+++ b/README.Amiga
@@ -11,7 +11,7 @@ GNU make):
- Can run multi-line statements
- Allows to use Device-Names in targets:
- c:make : make.o
+ c:make : make.o
is ok. To distinguish between device-names and target : or ::, MAKE
looks for spaces. If there are any around :, it's taken as a target
@@ -19,14 +19,14 @@ GNU make):
that "make:make.o" tries to create "make.o" on the device "make:".
- Replaces @@ by a newline in any command line:
- if exists make @@\
- delete make.bak quiet @@\
- rename make make.bak @@\
- endif @@\
- $(CC) Link Make.o To make
+ if exists make @@\
+ delete make.bak quiet @@\
+ rename make make.bak @@\
+ endif @@\
+ $(CC) Link Make.o To make
- works. Note that the @@ must stand alone (ie. "make@@\" is illegal).
- Also be carefull that there is a space after the "\" (ie, at the
+ works. Note that the @@ must stand alone (i.e., "make@@\" is illegal).
+ Also be careful that there is a space after the "\" (i.e., at the
beginning of the next line).
- Can be made resident to save space and time
- Amiga specific wildcards can be used in $(wildcard ...)
@@ -36,17 +36,17 @@ BUGS:
dummy.h : src/*.c
-tries to make dummy.h from "src/*.c" (ie. no wildcard-expansion takes
+tries to make dummy.h from "src/*.c" (i.e., no wildcard-expansion takes
place). You have to use "$(wildcard src/*.c)" instead.
COMPILING FROM SCRATCH
----------------------
-To recompile, you need SAS/C 6.51. make itself is not neccessary, there
+To recompile, you need SAS/C 6.51. make itself is not necessary, there
is an smakefile.
1. Copy config.ami to config.h
-2. If you use make to compie, copy Makefile.ami to Makefile and
+2. If you use make to compile, copy Makefile.ami to Makefile and
glob/Makefile.ami to glob/Makefile. Copy make into the current
directory.
@@ -54,15 +54,14 @@ is an smakefile.
INSTALLATION
-Copy make somewhere in your search path (eg. sc:c or sc:bin).
+Copy make somewhere in your search path (e.g., sc:c or sc:bin).
If you plan to use recursive makes, install make resident:
Resident make Add
-------------------------------------------------------------------------------
-Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-2005, 2006, 2007, 2008, 2009, 2010 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 --git a/README.DOS b/README.DOS
index 52529abe..335661ca 100644
--- a/README.DOS
+++ b/README.DOS
@@ -8,12 +8,12 @@ New (since 3.74) DOS-specific features:
1. Supports long filenames when run from DOS box on Windows 9x.
2. Supports both stock DOS COMMAND.COM and Unix-style shells
- (details in ``Notes'' below).
+ (details in 'Notes' below).
3. Supports DOS drive letters in dependencies and pattern rules.
4. Better support for DOS-style backslashes in pathnames (but see
- ``Notes'' below).
+ 'Notes' below).
5. The $(shell) built-in can run arbitrary complex commands,
including pipes and redirection, even when COMMAND.COM is your
@@ -55,20 +55,20 @@ To build from sources:
either DJTAR (which is part of the DJGPP development
environment), or the DJGPP port of GNU Tar.
- 2. Invoke the `configure.bat' batch file.
+ 2. Invoke the 'configure.bat' batch file.
If you are building Make in-place, i.e. in the same directory
where its sources are kept, just type "configure.bat" and press
[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-3.82\configure.bat c:/djgpp/gnu/make-3.82
+ 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.
3. If configure.bat doesn't find a working Make, it will suggest to
- use the `dosbuild.bat' batch file to build Make. Either do as it
+ use the 'dosbuild.bat' batch file to build Make. Either do as it
suggests or install another Make program (a pre-compiled binary
should be available from the usual DJGPP sites) and rerun
configure.bat.
@@ -84,14 +84,14 @@ To build from sources:
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-3.82
+ 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
else Make might fail.
6. After Make finishes, if you have a Unix-style shell installed,
- you can use the `install' target to install the package. You
+ you can use the 'install' target to install the package. You
will also need GNU Fileutils and GNU Sed for this (they should
be available from the DJGPP sites).
@@ -99,7 +99,7 @@ To build from sources:
area. If you wish to use a different directory, override the
DESTDIR variable when invoking "make install", like this:
- make install DESTDIR=c:/other/dir
+ make install DESTDIR=c:/other/dir
This causes the make executable to be placed in c:/other/dir/bin,
the man pages in c:/other/dir/man, etc.
@@ -107,21 +107,21 @@ To build from sources:
Without a Unix-style shell, you will have to install programs
and the docs manually. Copy make.exe to a directory on your
PATH, make.i* info files to your Info directory, and update the
- file `dir' in your Info directory by adding the following item
+ file 'dir' in your Info directory by adding the following item
to the main menu:
- * Make: (make.info). The GNU make utility.
+ * Make: (make.info). The GNU make utility.
- If you have the `install-info' program (from the GNU Texinfo
+ If you have the 'install-info' program (from the GNU Texinfo
package), it will do that for you if you invoke it like this:
- install-info --info-dir=c:/djgpp/info c:/djgpp/info/make.info
+ install-info --info-dir=c:/djgpp/info c:/djgpp/info/make.info
(If your Info directory is other than C:\DJGPP\INFO, change this
command accordingly.)
- 7. The `clean' targets also require Unix-style shell, and GNU Sed
- and `rm' programs (the latter from Fileutils).
+ 7. The 'clean' targets also require Unix-style shell, and GNU Sed
+ and 'rm' programs (the latter from Fileutils).
8. To run the test suite, type "make check". This requires a Unix
shell (I used the DJGPP port of Bash 2.03), Perl, Sed, Fileutils
@@ -144,7 +144,7 @@ Notes:
This port supports both DOS shells (the stock COMMAND.COM and its
4DOS/NDOS replacements), and Unix-style shells (tested with the
- venerable Stewartson's `ms_sh' 2.3 and the DJGPP port of `bash' by
+ venerable Stewartson's 'ms_sh' 2.3 and the DJGPP port of 'bash' by
Daisuke Aoyama <jack@st.rim.or.jp>).
When the $SHELL variable points to a Unix-style shell, Make
@@ -166,17 +166,17 @@ Notes:
redirection and pipes, and shall only call the shell when a
batch file or a command internal to the shell is invoked. (Even
when a command is an internal shell command, Make will first
- search the $PATH for it, so that if a Makefile calls `mkdir',
- you can install, say, a port of GNU `mkdir' and have it called
+ search the $PATH for it, so that if a Makefile calls 'mkdir',
+ you can install, say, a port of GNU 'mkdir' and have it called
in that case.)
- The key to all this is the extended functionality of `spawn' and
- `system' functions from the DJGPP library; this port just calls
- `system' where it would invoke the shell on Unix. The most
+ The key to all this is the extended functionality of 'spawn' and
+ 'system' functions from the DJGPP library; this port just calls
+ 'system' where it would invoke the shell on Unix. The most
important aspect of these functions is that they use a special
mechanism to pass long (up to 16KB) command lines to DJGPP
- programs. In addition, `system' emulates some internal
- commands, like `cd' (so that you can now use forward slashes
+ programs. In addition, 'system' emulates some internal
+ commands, like 'cd' (so that you can now use forward slashes
with it, and can also change the drive if the directory is on
another drive). Another aspect worth mentioning is that you can
call Unix shell scripts directly, provided that the shell whose
@@ -186,7 +186,7 @@ Notes:
reference for more details.
The $(shell) built-in is implemented in this port by calling
- `popen'. Since `popen' calls `system', the above considerations
+ 'popen'. Since 'popen' calls 'system', the above considerations
are valid for $(shell) as well. In particular, you can put
arbitrary complex commands, including pipes and redirection,
inside $(shell), which is in many cases a valid substitute for
@@ -197,12 +197,12 @@ Notes:
Many Unix Makefiles include a line which sets the SHELL, for
those versions of Make which don't have this as the default.
- Since many DOS systems don't have `sh' installed (in fact, most
- of them don't even have a `/bin' directory), this port takes
+ Since many DOS systems don't have 'sh' installed (in fact, most
+ of them don't even have a '/bin' directory), this port takes
such directives with a grain of salt. It will only honor such a
- directive if the basename of the shell name (like `sh' in the
+ directive if the basename of the shell name (like 'sh' in the
above example) can indeed be found in the directory that is
- mentioned in the SHELL= line (`/bin' in the above example), or
+ mentioned in the SHELL= line ('/bin' in the above example), or
in the current working directory, or anywhere on the $PATH (in
that order). If the basename doesn't include a filename
extension, Make will look for any known extension that indicates
@@ -237,8 +237,8 @@ Notes:
require such a shell). More important, you can convert Unix
Makefiles to MSDOS and leave the line which sets the shell
intact, so that people who do have Unixy shell could use it for
- targets which aren't converted to DOS (like `install' and
- `uninstall', for example).
+ targets which aren't converted to DOS (like 'install' and
+ 'uninstall', for example).
3. Default directories.
@@ -258,14 +258,14 @@ Notes:
If you run Make on Windows 9x, you should be aware of the
letter-case issue. Make is internally case-sensitive, but all
file operations are case-insensitive on Windows 9x, so
- e.g. files `FAQ', `faq' and `Faq' all refer to the same file, as
+ e.g. files 'FAQ', 'faq' and 'Faq' all refer to the same file, as
far as Windows is concerned. The underlying DJGPP C library
functions honor the letter-case of the filenames they get from
the OS, except that by default, they down-case 8+3 DOS filenames
which are stored in upper case in the directory and would break
many Makefiles otherwise. (The details of which filenames are
converted to lower case are explained in the DJGPP libc docs,
- under the `_preserve_fncase' and `_lfn_gen_short_fname'
+ under the '_preserve_fncase' and '_lfn_gen_short_fname'
functions, but as a thumb rule, any filename that is stored in
upper case in the directory, is a valid DOS 8+3 filename and
doesn't include characters invalid on MSDOS FAT filesystems,
@@ -282,8 +282,8 @@ Notes:
There are a lot of places throughout the program sources which
make implicit assumptions about the pathname syntax. In
- particular, the directories are assumed to be separated by `/',
- and any pathname which doesn't begin with a `/' is assumed to be
+ particular, the directories are assumed to be separated by '/',
+ and any pathname which doesn't begin with a '/' is assumed to be
relative to the current directory. This port attempts to
support DOS-style pathnames which might include the drive letter
and use backslashes instead of forward slashes. However, this
@@ -296,7 +296,7 @@ Notes:
is the standard programs which come with MSDOS. Otherwise, you
are advised to stay away from backslashes whenever possible. In
particular, filename globbing won't work on pathnames with
- backslashes, because the GNU `glob' library doesn't support them
+ backslashes, because the GNU 'glob' library doesn't support them
(backslash is special in filename wildcards, and I didn't want
to break that).
@@ -315,17 +315,16 @@ Bug reports:
<djgpp@delorie.com>, which is an email gateway into the above news
group). For other bugs, please follow the procedure explained in
the "Bugs" chapter of the Info docs. If you don't have an Info
- reader, look up that chapter in the `make.i1' file with any text
+ reader, look up that chapter in the 'make.i1' file with any text
browser/editor.
Enjoy,
- Eli Zaretskii <eliz@is.elta.co.il>
+ Eli Zaretskii <eliz@is.elta.co.il>
-------------------------------------------------------------------------------
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009, 2010 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 --git a/README.DOS.template b/README.DOS.template
deleted file mode 100644
index 794214b7..00000000
--- a/README.DOS.template
+++ /dev/null
@@ -1,341 +0,0 @@
-Port of GNU Make to 32-bit protected mode on MSDOS and MS-Windows.
-
-Builds with DJGPP v2 port of GNU C/C++ compiler and utilities.
-
-
-New (since 3.74) DOS-specific features:
-
- 1. Supports long filenames when run from DOS box on Windows 9x.
-
- 2. Supports both stock DOS COMMAND.COM and Unix-style shells
- (details in ``Notes'' below).
-
- 3. Supports DOS drive letters in dependencies and pattern rules.
-
- 4. Better support for DOS-style backslashes in pathnames (but see
- ``Notes'' below).
-
- 5. The $(shell) built-in can run arbitrary complex commands,
- including pipes and redirection, even when COMMAND.COM is your
- shell.
-
- 6. Can be built without floating-point code (see below).
-
- 7. Supports signals in child programs and restores the original
- directory if the child was interrupted.
-
- 8. Can be built without (a previous version of) Make.
-
- 9. The build process requires only standard tools. (Optional
- targets like "install:" and "clean:" still need additional
- programs, though, see below.)
-
- 10. Beginning with v3.78, the test suite works in the DJGPP
- environment (requires Perl and auxiliary tools; see below).
-
-
-To install a binary distribution:
-
- Simply unzip the makNNNb.zip file (where NNN is the version number)
- preserving the directory structure (-d switch if you use PKUNZIP).
- If you are installing Make on Windows 9X or Windows 2000, use an
- unzip program that supports long filenames in zip files. After
- unzipping, make sure the directory with make.exe is on your PATH,
- and that's all you need to use Make.
-
-
-To build from sources:
-
- 1. Unzip the archive, preserving the directory structure (-d switch
- if you use PKUNZIP). If you build Make on Windows 9X or Windows
- 2000, use an unzip program that supports long filenames in zip
- files.
-
- If you are unpacking an official GNU source distribution, use
- either DJTAR (which is part of the DJGPP development
- environment), or the DJGPP port of GNU Tar.
-
- 2. Invoke the `configure.bat' batch file.
-
- If you are building Make in-place, i.e. in the same directory
- where its sources are kept, just type "configure.bat" and press
- [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-%VERSION%\configure.bat c:/djgpp/gnu/make-%VERSION%
-
- Note the forward slashes in the source path argument: you MUST
- use them here.
-
- 3. If configure.bat doesn't find a working Make, it will suggest to
- use the `dosbuild.bat' batch file to build Make. Either do as it
- suggests or install another Make program (a pre-compiled binary
- should be available from the usual DJGPP sites) and rerun
- configure.bat.
-
- 4. If you will need to run Make on machines without an FPU, you
- might consider building a version of Make which doesn't issue
- floating-point instructions (they don't help much on MSDOS
- anyway). To this end, edit the Makefile created by
- configure.bat and add -DNO_FLOAT to the value of CPPFLAGS.
-
- 5. Invoke Make.
-
- 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-%VERSION%
-
- (configure.bat will tell you this when it finishes). You MUST
- use a full, not relative, name of the source directory here, or
- else Make might fail.
-
- 6. After Make finishes, if you have a Unix-style shell installed,
- you can use the `install' target to install the package. You
- will also need GNU Fileutils and GNU Sed for this (they should
- be available from the DJGPP sites).
-
- By default, GNU make will install into your DJGPP installation
- area. If you wish to use a different directory, override the
- DESTDIR variable when invoking "make install", like this:
-
- make install DESTDIR=c:/other/dir
-
- This causes the make executable to be placed in c:/other/dir/bin,
- the man pages in c:/other/dir/man, etc.
-
- Without a Unix-style shell, you will have to install programs
- and the docs manually. Copy make.exe to a directory on your
- PATH, make.i* info files to your Info directory, and update the
- file `dir' in your Info directory by adding the following item
- to the main menu:
-
- * Make: (make.info). The GNU make utility.
-
- If you have the `install-info' program (from the GNU Texinfo
- package), it will do that for you if you invoke it like this:
-
- install-info --info-dir=c:/djgpp/info c:/djgpp/info/make.info
-
- (If your Info directory is other than C:\DJGPP\INFO, change this
- command accordingly.)
-
- 7. The `clean' targets also require Unix-style shell, and GNU Sed
- and `rm' programs (the latter from Fileutils).
-
- 8. To run the test suite, type "make check". This requires a Unix
- shell (I used the DJGPP port of Bash 2.03), Perl, Sed, Fileutils
- and Sh-utils.
-
-
-Notes:
------
-
- 1. The shell issue.
-
- This is probably the most significant improvement, first
- introduced in the port of GNU Make 3.75.
-
- The original behavior of GNU Make is to invoke commands
- directly, as long as they don't include characters special to
- the shell or internal shell commands, because that is faster.
- When shell features like redirection or filename wildcards are
- involved, Make calls the shell.
-
- This port supports both DOS shells (the stock COMMAND.COM and its
- 4DOS/NDOS replacements), and Unix-style shells (tested with the
- venerable Stewartson's `ms_sh' 2.3 and the DJGPP port of `bash' by
- Daisuke Aoyama <jack@st.rim.or.jp>).
-
- When the $SHELL variable points to a Unix-style shell, Make
- works just like you'd expect on Unix, calling the shell for any
- command that involves characters special to the shell or
- internal shell commands. The only difference is that, since
- there is no standard way to pass command lines longer than the
- infamous DOS 126-character limit, this port of Make writes the
- command line to a temporary disk file and then invokes the shell
- on that file.
-
- If $SHELL points to a DOS-style shell, however, Make will not
- call it automatically, as it does with Unix shells. Stock
- COMMAND.COM is too dumb and would unnecessarily limit the
- functionality of Make. For example, you would not be able to
- use long command lines in commands that use redirection or
- pipes. Therefore, when presented with a DOS shell, this port of
- Make will emulate most of the shell functionality, like
- redirection and pipes, and shall only call the shell when a
- batch file or a command internal to the shell is invoked. (Even
- when a command is an internal shell command, Make will first
- search the $PATH for it, so that if a Makefile calls `mkdir',
- you can install, say, a port of GNU `mkdir' and have it called
- in that case.)
-
- The key to all this is the extended functionality of `spawn' and
- `system' functions from the DJGPP library; this port just calls
- `system' where it would invoke the shell on Unix. The most
- important aspect of these functions is that they use a special
- mechanism to pass long (up to 16KB) command lines to DJGPP
- programs. In addition, `system' emulates some internal
- commands, like `cd' (so that you can now use forward slashes
- with it, and can also change the drive if the directory is on
- another drive). Another aspect worth mentioning is that you can
- call Unix shell scripts directly, provided that the shell whose
- name is mentioned on the first line of the script is installed
- anywhere along the $PATH. It is impossible to tell here
- everything about these functions; refer to the DJGPP library
- reference for more details.
-
- The $(shell) built-in is implemented in this port by calling
- `popen'. Since `popen' calls `system', the above considerations
- are valid for $(shell) as well. In particular, you can put
- arbitrary complex commands, including pipes and redirection,
- inside $(shell), which is in many cases a valid substitute for
- the Unix-style command substitution (`command`) feature.
-
-
- 2. "SHELL=/bin/sh" -- or is it?
-
- Many Unix Makefiles include a line which sets the SHELL, for
- those versions of Make which don't have this as the default.
- Since many DOS systems don't have `sh' installed (in fact, most
- of them don't even have a `/bin' directory), this port takes
- such directives with a grain of salt. It will only honor such a
- directive if the basename of the shell name (like `sh' in the
- above example) can indeed be found in the directory that is
- mentioned in the SHELL= line (`/bin' in the above example), or
- in the current working directory, or anywhere on the $PATH (in
- that order). If the basename doesn't include a filename
- extension, Make will look for any known extension that indicates
- an executable file (.exe, .com, .bat, .btm, .sh, and even .sed
- and .pl). If any such file is found, then $SHELL will be
- defined to the exact pathname of that file, and that shell will
- hence be used for the rest of processing. But if the named
- shell is *not* found, the line which sets it will be effectively
- ignored, leaving the value of $SHELL as it was before. Since a
- lot of decisions that this port makes depend on the gender of
- the shell, I feel it doesn't make any sense to tailor Make's
- behavior to a shell which is nowhere to be found.
-
- Note that the above special handling of "SHELL=" only happens
- for Makefiles; if you set $SHELL in the environment or on the
- Make command line, you are expected to give the complete
- pathname of the shell, including the filename extension.
-
- The default value of $SHELL is computed as on Unix (see the Make
- manual for details), except that if $SHELL is not defined in the
- environment, $COMSPEC is used. Also, if an environment variable
- named $MAKESHELL is defined, it takes precedence over both
- $COMSPEC and $SHELL. Note that, unlike Unix, $SHELL in the
- environment *is* used to set the shell (since on MSDOS, it's
- unlikely that the interactive shell will not be suitable for
- Makefile processing).
-
- The bottom line is that you can now write Makefiles where some
- of the targets require a real (i.e. Unix-like) shell, which will
- nevertheless work when such shell is not available (provided, of
- course, that the commands which should always work, don't
- require such a shell). More important, you can convert Unix
- Makefiles to MSDOS and leave the line which sets the shell
- intact, so that people who do have Unixy shell could use it for
- targets which aren't converted to DOS (like `install' and
- `uninstall', for example).
-
-
- 3. Default directories.
-
- GNU Make knows about standard directories where it searches for
- library and include files mentioned in the Makefile. Since
- MSDOS machines don't have standard places for these, this port
- will search ${DJDIR}/lib and ${DJDIR}/include respectively.
- $DJDIR is defined automatically by the DJGPP startup code as the
- root of the DJGPP installation tree (unless you've tampered with
- the DJGPP.ENV file). This should provide reasonable default
- values, unless you moved parts of DJGPP to other directories.
-
-
- 4. Letter-case in filenames.
-
- If you run Make on Windows 9x, you should be aware of the
- letter-case issue. Make is internally case-sensitive, but all
- file operations are case-insensitive on Windows 9x, so
- e.g. files `FAQ', `faq' and `Faq' all refer to the same file, as
- far as Windows is concerned. The underlying DJGPP C library
- functions honor the letter-case of the filenames they get from
- the OS, except that by default, they down-case 8+3 DOS filenames
- which are stored in upper case in the directory and would break
- many Makefiles otherwise. (The details of which filenames are
- converted to lower case are explained in the DJGPP libc docs,
- under the `_preserve_fncase' and `_lfn_gen_short_fname'
- functions, but as a thumb rule, any filename that is stored in
- upper case in the directory, is a valid DOS 8+3 filename and
- doesn't include characters invalid on MSDOS FAT filesystems,
- will be automatically down-cased.) User reports that I have
- indicate that this default behavior is generally what you'd
- expect; however, your input is most welcome.
-
- In any case, if you hit a situation where you must force Make to
- get the 8+3 DOS filenames in upper case, set FNCASE=y in the
- environment or in the Makefile.
-
-
- 5. DOS-style pathnames.
-
- There are a lot of places throughout the program sources which
- make implicit assumptions about the pathname syntax. In
- particular, the directories are assumed to be separated by `/',
- and any pathname which doesn't begin with a `/' is assumed to be
- relative to the current directory. This port attempts to
- support DOS-style pathnames which might include the drive letter
- and use backslashes instead of forward slashes. However, this
- support is not complete; I feel that pursuing this support too
- far might break some more important features, particularly if
- you use a Unix-style shell (where a backslash is a quote
- character). I only consider support of backslashes desirable
- because some Makefiles invoke non-DJGPP programs which don't
- understand forward slashes. A notable example of such programs
- is the standard programs which come with MSDOS. Otherwise, you
- are advised to stay away from backslashes whenever possible. In
- particular, filename globbing won't work on pathnames with
- backslashes, because the GNU `glob' library doesn't support them
- (backslash is special in filename wildcards, and I didn't want
- to break that).
-
- One feature which *does* work with backslashes is the filename-
- related built-in functions such as $(dir), $(notdir), etc.
- Drive letters in pathnames are also fully supported.
-
-
-
-Bug reports:
------------
-
- Bugs that are clearly related to the MSDOS/DJGPP port should be
- reported first on the comp.os.msdos.djgpp news group (if you cannot
- post to Usenet groups, write to the DJGPP mailing list,
- <djgpp@delorie.com>, which is an email gateway into the above news
- group). For other bugs, please follow the procedure explained in
- the "Bugs" chapter of the Info docs. If you don't have an Info
- reader, look up that chapter in the `make.i1' file with any text
- browser/editor.
-
-
- Enjoy,
- Eli Zaretskii <eliz@is.elta.co.il>
-
-
--------------------------------------------------------------------------------
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009, 2010 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 <http://www.gnu.org/licenses/>.
diff --git a/README.OS2 b/README.OS2
index 0da63850..9e2045ef 100644
--- a/README.OS2
+++ b/README.OS2
@@ -140,7 +140,7 @@ to do this but the testsuite ignores the environment. -DNO_CHDIR2 causes
make not to use drive letters for directory names (i.e. _chdir2() and
_getcwd2() are NOT used). The testsuite interpretes the whole output of
make, especially statements like make[1]: Entering directory
-`C:/somewhere/make-3.79.1/tests' where the testsuite does not expect the
+'C:/somewhere/make-3.79.1/tests' where the testsuite does not expect the
drive letter. This would be interpreted as an error even if there is
none.
@@ -160,8 +160,7 @@ from the make source tree.
-------------------------------------------------------------------------------
-Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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 --git a/README.OS2.template b/README.OS2.template
deleted file mode 100644
index 0da63850..00000000
--- a/README.OS2.template
+++ /dev/null
@@ -1,177 +0,0 @@
-Port of GNU make to OS/2.
-
-Features of GNU make that do not work under OS/2:
- - remote job execution
- - dynamic load balancing
-
-
-Special features of the OS/2 version:
-
-Due to the fact that some people might want to use sh syntax in
-Makefiles while others might want to use OS/2's native shell cmd.exe,
-GNU make supports both shell types. The following list defines the order
-that is used to determine the shell:
-
- 1. The shell specified by the environment variable MAKESHELL.
- 2. The shell specified by the SHELL variable within a Makefile. Like
- Unix, SHELL is NOT taken from the environment.
- 3. The shell specified by the COMSPEC environment variable.
- 4. The shell specified by the OS2_SHELL environment variable.
- 5. If none of the above is defined /bin/sh is used as default. This
- happens e.g. in the make testsuite.
-
-Note: - Points 3 and 4 can be turned off at compile time by adding
- -DNO_CMD_DEFAULT to the CPPFLAGS.
- - DOS support is not tested for EMX and therefore might not work.
- - The UNIXROOT environment variable is supported to find /bin/sh
- if it is not on the current drive.
-
-
-COMPILATION OF GNU MAKE FOR OS/2:
-
-I. ***** SPECIAL OPTIONS *****
-
- - At compile time you can turn off that cmd is used as default shell
- (but only /bin/sh). Simply set CPPFLAGS="-DNO_CMD_DEFAULT" and make
- will not use cmd unless you cause it to do so by setting MAKESHELL to
- cmd or by specifying SHELL=cmd in your Makefile.
-
- - At compile time you can set CPPFLAGS="-DNO_CHDIR2" to turn off that
- GNU make prints drive letters. This is necessary if you want to run
- the testsuite.
-
-
-II. ***** REQUIREMENTS FOR THE COMPILATION *****
-
-A standard Unix like build environment:
-
- - sh compatible shell (ksh, bash, ash, but tested only with pdksh 5.2.14
- release 2)
- If you use pdksh it is recommended to update to 5.2.14 release 2. Older
- versions may not work! You can get this version at
- http://www.math.ohio-state.edu/~ilya/software/os2/pdksh-5.2.14-bin-2.zip
- - GNU file utilities (make sure that install.exe from the file utilities
- is in front of your PATH before X:\OS2\INSTALL\INSTALL.EXE. I recommend
- also to change the filename to ginstall.exe instead of install.exe
- to avoid confusion with X:\OS2\INSTALL\INSTALL.EXE)
- - GNU shell utilities
- - GNU text utilities
- - gawk
- - grep
- - sed
- - GNU make 3.79.1 (special OS/2 patched version) or higher
- - perl 5.005 or higher
- - GNU texinfo (you can use 3.1 (gnuinfo.zip), but I recommend 4.0)
-
-If you want to recreate the configuration files (developers only!)
-you need also: GNU m4 1.4, autoconf 2.59, automake 1.9.6 (or compatible)
-
-
-III. ***** COMPILATION AND INSTALLATION *****
-
- a) ** Developers only - Everyone else should skip this section **
- To recreate the configuration files use:
-
- export EMXSHELL=ksh
- aclocal -I config
- automake
- autoconf
- autoheader
-
-
-b) Installation into x:/usr
-
- Note: Although it is possible to compile make using "./configure",
- "make", "make install" this is not recommended. In particular,
- you must ALWAYS use LDFLAGS="-Zstack 0x6000" because the default
- stack size is far to small and make will not work properly!
-
-Recommended environment variables and installation options:
-
- export ac_executable_extensions=".exe"
- export CPPFLAGS="-D__ST_MT_ERRNO__"
- export CFLAGS="-O2 -Zomf -Zmt"
- export LDFLAGS="-Zcrtdll -Zlinker /exepack:2 -Zlinker /pm:vio -Zstack 0x6000"
- export RANLIB="echo"
- ./configure --prefix=x:/usr --infodir=x:/usr/share/info --mandir=x:/usr/share/man --without-included-gettext
- make AR=emxomfar
- make install
-
-Note: If you use gcc 2.9.x I recommend to set also LIBS="-lgcc"
-
-Note: You can add -DNO_CMD_DEFAULT and -DNO_CHDIR2 to CPPFLAGS.
- See section I. for details.
-
-
-IV. ***** NLS support *****
-
-GNU make has NLS (National Language Support), with the following
-caveats:
-
- a) It will only work with GNU gettext, and
- b) GNU gettext support is not included in the GNU make package.
-
-Therefore, if you wish to enable the internationalization features of
-GNU make you must install GNU gettext on your system before configuring
-GNU make.
-
-You can choose the languages to be installed. To install support for
-English, German and French only enter:
-
- export LINGUAS="en de fr"
-
-If you don't specify LINGUAS all languages are installed.
-
-If you don't want NLS support (English only) use the option
---disable-nls for the configure script. Note if GNU gettext is not
-installed then NLS will not be enabled regardless of this flag.
-
-
-V. ***** Running the make test suite *****
-
-To run the included make test suite you have to set
-
- CPPFLAGS="-D__ST_MT_ERRNO__ -DNO_CMD_DEFAULT -DNO_CHDIR2"
-
-before you compile make. This is due to some restrictions of the
-testsuite itself. -DNO_CMD_DEFAULT causes make to use /bin/sh as default
-shell in every case. Normally you could simply set MAKESHELL="/bin/sh"
-to do this but the testsuite ignores the environment. -DNO_CHDIR2 causes
-make not to use drive letters for directory names (i.e. _chdir2() and
-_getcwd2() are NOT used). The testsuite interpretes the whole output of
-make, especially statements like make[1]: Entering directory
-`C:/somewhere/make-3.79.1/tests' where the testsuite does not expect the
-drive letter. This would be interpreted as an error even if there is
-none.
-
-To run the testsuite do the following:
-
- export CPPFLAGS="-D__ST_MT_ERRNO__ -DNO_CMD_DEFAULT -DNO_CHDIR2"
- export CFLAGS="-Zomf -O2 -Zmt"
- export LDFLAGS="-Zcrtdll -s -Zlinker /exepack:2 -Zlinker /pm:vio -Zstack 0x6000"
- export RANLIB="echo"
- ./configure --prefix=x:/usr --disable-nls
- make AR=emxomfar
- make check
-
-All tests should work fine with the exception of one of the "INCLUDE_DIRS"
-tests which will fail if your /usr/include directory is on a drive different
-from the make source tree.
-
-
--------------------------------------------------------------------------------
-Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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 <http://www.gnu.org/licenses/>.
diff --git a/readme.vms b/README.VMS
index ec3d624b..2ff553cd 100644
--- a/readme.vms
+++ b/README.VMS
@@ -1,23 +1,33 @@
-This is the VMS version of GNU Make, updated by Hartmut Becker
-
-Changes are based on GNU make 3.82.
-
-This version was built and tested on OpenVMS V7.3 (VAX), V7.3-2 (Alpha) and
-V8.3-1H1 (I64).
+This version of GNU make has been tested on
+OpenVMS V8.3 (Alpha) and V8.4 (Integrity).
Build instructions
+------------------
Make a 1st version
$ @makefile.com ! ignore any compiler and/or linker warning
- $ rena make.exe 1st-make.exe
-Use the 1st version to generate a 2nd version
- $ mc sys$disk:[]1st-make clean
+ $ 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
- $ rena make.exe 2nd-make.exe
+ 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
+---------------------------
-Changes (3.81.90)
+Fix build problems.
+
+The new feature "Loadable objects" is not yet supported. If you need it,
+please send a change request or submit a bug report.
+
+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
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
@@ -34,30 +44,6 @@ systems.
Build fixes for const-ified code in VMS specific sources.
-Build notes:
-- Try to avoid HP C V7.2-001, which has an incompatible change
-how __STDC__ is defined. This results at least in compile time warnings.
-
-- On V8.3-1H1, if you press Ctrl+C you may see a traceback, starting with
-%SYSTEM-F-CONTROLC, operation completed under CTRL/C
-%TRACE-F-TRACEBACK, symbolic stack dump follows
-image module routine line rel PC abs PC
-
-DECC$SHR C$SIGNAL gsignal 27991 0000000000001180
-FFFFFFFF84AB2DA0
-DECC$SHR C$SIGNAL raise 28048 0000000000001280
-FFFFFFFF84AB2EA0
-DECC$SHR C$SIGPENDING decc$$deliver_signals
- 12475 0000000000000890
-FFFFFFFF84C13690
-...
-This looks like an incompatibility to the Alpha and VAX behavior, so it looks
-like a problem in I64 VMS version(s).
-
-- There is no clean build on VAX. In the environment I tested, I had to use GNU
-make's alloca which produced a couple of compile time warnings. It seems too
-much effort to work on a clean build on VAX.
-
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
@@ -78,117 +64,24 @@ 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
-
-Ctrl+Y was: The CtrlY handler called $forcex for the current child.
-
-Ctrl+Y changed: The CtrlY handler uses $delprc to delete all children. This way
-also actions with DCL commands will be stopped. As before Ctrl+Y then sends
-SIGQUIT to itself, which is handled in common code.
+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 were deleted in the main line, after returning from the
-vms child termination handler. If Ctrl+C was pressed, the handler is called but
-did not return to main line.
-
-Now, temporary command files are deleted in the vms child termination
-handler. That deletes the them even if a Ctrl+C was pressed.
+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.
-Changes (3.80)
+Changes for GNU make 3.80
. In default.c define variable ARCH as IA64 for VMS on Itanium systems.
. In makefile.vms avoid name collision for glob and globfree.
-
-In newer version of the VMS CRTL there are glob and globfree implemented.
-Compiling and linking may result in
-
- %ILINK-W-MULDEFLNKG, symbol DECC$GLOBFREE has subsequent linkage definition
- in module DECC$SHR file SYS$COMMON:[SYSLIB]DECC$SHR.EXE;1
- %ILINK-W-MULDEF, symbol DECC$GLOBFREE multiply defined
- in module DECC$SHR file SYS$COMMON:[SYSLIB]DECC$SHR.EXE;1
-
-linker messages (and similar for DECC$GLOB). The messages just say, that
-globfree is a known CRTL whose name was mapped by the compiler to
-DECC$GLOBFREE. This is done in glob.c as well, so this name is defined
-twice. One possible solution is to use the VMS versions of glob and
-globfree. However, then the build environment needs to figure out if
-there is a new CRTL supporting these or not. This adds complexity. Even
-more, these functions return VMS file specifications, which is not
-expected by the other make sources. There is a switch at run time (a VMS
-logical DECC$GLOB_UNIX_STYLE), which can be set to get Unix style
-names. This may conflict with other software. The recommended solution
-for this is to set this switch just prior to calling main: in an
-initialization routine. This adds more complexity and more VMS specific
-code. It is easier to tell the compiler NOT to map the routine names
-with a simple change in makefile.vms.
-
-Some notes on case sensitive names in rules and on the disk. In the VMS
-template for CONFIG.H case sensitive rules can be enabled with defining
-WANT_CASE_SENSITIVE_TARGETS. For recent version of VMS there is a case
-sensitive file system: ODS5. To make use of that, additionally un-defining
-the HAVE_CASE_INSENSITIVE_FS is required. As these are C macros, different
-versions of make need to be built to have any case sensitivity for VMS
-working. Unfortunately, for ODS5 disks that's not all.
-
-- Usually DCL upcases command line tokens (except strings) and usually the
- file system is case blind (similar to how Windows systems work)
- $ set proc/parse=extended/case=sensitive
- preserves lower and UPPER on the command line and (for this process and all
- sub-processes) enables case sensitivity in the file system
-
-- Usually the CRTL tries to reverse what DCL did with command line tokens, it
- lowercases all tokens (except strings)
- $ define DECC$ARGV_PARSE_STYLE enable
- passes (the now preserved) lower and UPPER from the command line to main()
-
-- Usually the CRTL upcases the arguments to open() and friends
- $ define DECC$EFS_CASE_PRESERVE enable
- preserves the names as is.
-
-It is important to know that not all VMS tools are ready for case sensitivity.
-With this setup some tools may not work as expected. The setup should not
-blindly be applied for all users in default login procedures.
-
-Example? The poor coding gives a compiler message, showing that there are
-different files:
-
-$ dir
-
-Directory ODS5DISK[HB]
-
-A.c;1 B.c;1 c.c;1 X.c;1
-x.c;1
-
-Total of 5 files.
-$ ods5make x.obj
-cc /obj=x.obj x.c
-
-foo(){lowercase_x();}
-......^
-%CC-I-IMPLICITFUNC, In this statement, the identifier "lowercase_x" is implicitly declared as a function.
-at line number 1 in file ODS5DISK[HB]x.c;1
-$ mc SYS$SYSDEVICE:[HARTMUT.MAKE_3_80P]ods5make X.obj
-cc /obj=X.obj X.c
-
-foo() {UPPERCASE_X();}
-.......^
-%CC-I-IMPLICITFUNC, In this statement, the identifier "UPPERCASE_X" is implicitly declared as a function.
-at line number 1 in file ODS5DISK[HB]X.c;1
-$ dir
-
-Directory ODS5DISK[HB]
-
-A.c;1 B.c;1 c.c;1 X.c;1
-x.c;1 X.obj;1 x.obj;1
-
-Total of 7 files.
-$
This is the VMS port of GNU Make done by Hartmut.Becker@compaq.com.
@@ -212,7 +105,7 @@ 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)
+ 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.
@@ -353,7 +246,7 @@ 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 preceed it with a backslash ('\').
+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
@@ -375,8 +268,7 @@ Long command lines are now converted to command files.
Comma (',') as a separator is now allowed. See makefile.vms for an example.
-------------------------------------------------------------------------------
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009, 2010 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 --git a/README.W32 b/README.W32
index 60025d03..e52e406a 100644
--- a/README.W32
+++ b/README.W32
@@ -1,4 +1,5 @@
-This version of GNU make has been tested on Microsoft Windows 2000/XP/2003.
+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).
@@ -6,6 +7,23 @@ 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, 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
+itself, its dependency libraries and the pkg-config program. The
+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 the Windows download page of the GTK+ project:
+
+ 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.
+
The Windows 32-bit port of GNU make is maintained jointly by various
people. It was originally made by Rob Tulloh.
@@ -37,10 +55,16 @@ Building with (MinGW-)GCC using build_w32.bat
2. Open a W32 command prompt for your installed (MinGW-)GCC, setup a
correct PATH and other environment variables for it, then execute ...
- build_w32.bat gcc
+ build_w32.bat gcc
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
+ installed, but want to build Make without Guile support, type
+
+ build_w32.bat --without-guile gcc
+
Building with (MSVC++-)cl using build_w32.bat or NMakefile
----------------------------------------------------------
@@ -51,16 +75,21 @@ Building with (MSVC++-)cl using build_w32.bat or NMakefile
e.g. "%VS71COMNTOOLS%vsvars32.bat"; or using a corresponding start
menue entry from the cl-installation), then execute EITHER ...
- build_w32.bat
+ build_w32.bat
(this produces WinDebug/gnumake.exe and WinRel/gnumake.exe)
... OR ...
- nmake /f NMakefile
+ nmake /f NMakefile
(this produces WinDebug/make.exe and WinRel/make.exe).
+ The batch file will probe for Guile installation, and will build
+ gnumake.exe with Guile if it finds it. If you have Guile
+ installed, but want to build Make without Guile support, type
+
+ build_w32.bat --without-guile
-------------------
-- Notes/Caveats --
@@ -68,212 +97,203 @@ Building with (MSVC++-)cl using build_w32.bat or NMakefile
GNU make on Windows 32-bit platforms:
- This version of make is ported natively to Windows32 platforms
- (Windows NT 3.51, Windows NT 4.0, Windows 2000, Windows XP,
- Windows 95, and Windows 98). It does not rely on any 3rd party
- software or add-on packages for building. The only thing
- needed is a Windows compiler. Two compilers supported
- officially are the MinGW port of GNU GCC, and the various
- versions of the Microsoft C compiler.
+ This version of make is ported natively to Windows32 platforms
+ (Windows NT 3.51, Windows NT 4.0, Windows 2000, Windows XP,
+ Windows 95, and Windows 98). It does not rely on any 3rd party
+ software or add-on packages for building. The only thing
+ needed is a Windows compiler. Two compilers supported
+ officially are the MinGW port of GNU GCC, and the various
+ versions of the Microsoft C compiler.
- Do not confuse this port of GNU make with other Windows32 projects
- which provide a GNU make binary. These are separate projects
- and are not connected to this port effort.
+ Do not confuse this port of GNU make with other Windows32 projects
+ which provide a GNU make binary. These are separate projects
+ and are not connected to this port effort.
GNU make and sh.exe:
- This port prefers if you have a working sh.exe somewhere on
- your system. If you don't have sh.exe, the port falls back to
- MSDOS mode for launching programs (via a batch file). The
- MSDOS mode style execution has not been tested that carefully
- though (The author uses GNU bash as sh.exe).
+ This port prefers if you have a working sh.exe somewhere on
+ your system. If you don't have sh.exe, the port falls back to
+ MSDOS mode for launching programs (via a batch file). The
+ MSDOS mode style execution has not been tested that carefully
+ though (The author uses GNU bash as sh.exe).
- There are very few true ports of Bourne shell for NT right now.
- There is a version of GNU bash available from Cygnus "Cygwin"
- porting effort (http://www.cygwin.com/).
- Other possibilities are the MKS version of sh.exe, or building
+ There are very few true ports of Bourne shell for NT right now.
+ There is a version of GNU bash available from Cygnus "Cygwin"
+ porting effort (http://www.cygwin.com/).
+ Other possibilities are the MKS version of sh.exe, or building
your own with a package like NutCracker (DataFocus) or Portage
(Consensys). Also MinGW includes sh (http://mingw.org/).
GNU make and brain-dead shells (BATCH_MODE_ONLY_SHELL):
- Some versions of Bourne shell do not behave well when invoked
- as 'sh -c' from CreateProcess(). The main problem is they seem
- to have a hard time handling quoted strings correctly. This can
- be circumvented by writing commands to be executed to a batch
- file and then executing the command by calling 'sh file'.
-
- To work around this difficulty, this version of make supports
- a batch mode. When BATCH_MODE_ONLY_SHELL is defined at compile
- time, make forces all command lines to be executed via script
- files instead of by command line. In this mode you must have a
- working sh.exe in order to use parallel builds (-j).
-
- A native Windows32 system with no Bourne shell will also run
- in batch mode. All command lines will be put into batch files
- and executed via $(COMSPEC) (%COMSPEC%). However, parallel
- builds ARE supported with Windows shells (cmd.exe and
- command.com). See the next section about some peculiarities
- of parallel builds on Windows.
+ Some versions of Bourne shell do not behave well when invoked
+ as 'sh -c' from CreateProcess(). The main problem is they seem
+ to have a hard time handling quoted strings correctly. This can
+ be circumvented by writing commands to be executed to a batch
+ file and then executing the command by calling 'sh file'.
+
+ To work around this difficulty, this version of make supports
+ a batch mode. When BATCH_MODE_ONLY_SHELL is defined at compile
+ time, make forces all command lines to be executed via script
+ files instead of by command line. In this mode you must have a
+ working sh.exe in order to use parallel builds (-j).
+
+ A native Windows32 system with no Bourne shell will also run
+ in batch mode. All command lines will be put into batch files
+ and executed via $(COMSPEC) (%COMSPEC%). However, parallel
+ builds ARE supported with Windows shells (cmd.exe and
+ command.com). See the next section about some peculiarities
+ of parallel builds on Windows.
Support for parallel builds
- Parallel builds (-jN) are supported in this port, with 2
- limitations:
-
- - The number of concurrent processes has a hard limit of 64,
- due to the way this port implements waiting for its
- subprocesses;
-
- - The job server method (available when Make runs on Posix
- platforms) is not supported, which means you must pass an
- explicit -jN switch to sub-Make's in a recursive Makefile.
- If a sub-Make does not receive an explicit -jN switch, it
- will default to -j1, i.e. no parallelism in sub-Make's.
+ Parallel builds (-jN) are supported in this port, with 1
+ limitation: The number of concurrent processes has a hard
+ limit of 64, due to the way this port implements waiting for
+ its subprocesses.
GNU make and Cygnus GNU Windows32 tools:
- Good news! Make now has native support for Cygwin sh. To enable,
- define the HAVE_CYGWIN_SHELL in config.h and rebuild make
- from scratch. This version of make tested with B20.1 of Cygwin.
- Do not define BATCH_MODE_ONLY_SHELL if you use HAVE_CYGWIN_SHELL.
+ Good news! Make now has native support for Cygwin sh. To enable,
+ define the HAVE_CYGWIN_SHELL in config.h and rebuild make
+ from scratch. This version of make tested with B20.1 of Cygwin.
+ Do not define BATCH_MODE_ONLY_SHELL if you use HAVE_CYGWIN_SHELL.
GNU make and the MKS shell:
- There is now semi-official support for the MKS shell. To turn this
- support on, define HAVE_MKS_SHELL in the config.h.W32 before you
- build make. Do not define BATCH_MODE_ONLY_SHELL if you turn
- on HAVE_MKS_SHELL.
+ There is now semi-official support for the MKS shell. To turn this
+ support on, define HAVE_MKS_SHELL in the config.h.W32 before you
+ build make. Do not define BATCH_MODE_ONLY_SHELL if you turn
+ on HAVE_MKS_SHELL.
GNU make handling of drive letters in pathnames (PATH, vpath, VPATH):
- There is a caveat that should be noted with respect to handling
- single character pathnames on Windows systems. When colon is
- used in PATH variables, make tries to be smart about knowing when
- you are using colon as a separator versus colon as a drive
- letter. Unfortunately, something as simple as the string 'x:/'
- could be interpreted 2 ways: (x and /) or (x:/).
-
- Make chooses to interpret a letter plus colon (e.g. x:/) as a
- drive letter pathname. If it is necessary to use single
- character directories in paths (VPATH, vpath, Path, PATH), the
- user must do one of two things:
-
- a. Use semicolon as the separator to disambiguate colon. For
- example use 'x;/' if you want to say 'x' and '/' are
- separate components.
-
- b. Qualify the directory name so that there is more than
- one character in the path(s) used. For example, none
- of these settings are ambiguous:
-
- ./x:./y
- /some/path/x:/some/path/y
- x:/some/path/x:x:/some/path/y
-
- Please note that you are free to mix colon and semi-colon in the
- specification of paths. Make is able to figure out the intended
- result and convert the paths internally to the format needed
- when interacting with the operating system, providing the path
- is not within quotes, e.g. "x:/test/test.c".
-
- You are encouraged to use colon as the separator character.
- This should ease the pain of deciding how to handle various path
- problems which exist between platforms. If colon is used on
- both Unix and Windows systems, then no ifdef'ing will be
- necessary in the makefile source.
+ There is a caveat that should be noted with respect to handling
+ single character pathnames on Windows systems. When colon is
+ used in PATH variables, make tries to be smart about knowing when
+ you are using colon as a separator versus colon as a drive
+ letter. Unfortunately, something as simple as the string 'x:/'
+ could be interpreted 2 ways: (x and /) or (x:/).
+
+ Make chooses to interpret a letter plus colon (e.g. x:/) as a
+ drive letter pathname. If it is necessary to use single
+ character directories in paths (VPATH, vpath, Path, PATH), the
+ user must do one of two things:
+
+ a. Use semicolon as the separator to disambiguate colon. For
+ example use 'x;/' if you want to say 'x' and '/' are
+ separate components.
+
+ b. Qualify the directory name so that there is more than
+ one character in the path(s) used. For example, none
+ of these settings are ambiguous:
+
+ ./x:./y
+ /some/path/x:/some/path/y
+ x:/some/path/x:x:/some/path/y
+
+ Please note that you are free to mix colon and semi-colon in the
+ specification of paths. Make is able to figure out the intended
+ result and convert the paths internally to the format needed
+ when interacting with the operating system, providing the path
+ is not within quotes, e.g. "x:/test/test.c".
+
+ You are encouraged to use colon as the separator character.
+ This should ease the pain of deciding how to handle various path
+ problems which exist between platforms. If colon is used on
+ both Unix and Windows systems, then no ifdef'ing will be
+ necessary in the makefile source.
GNU make test suite:
- I verified all functionality with a slightly modified version
- of make-test-3.82 (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.
+ I verified all functionality with a slightly modified version
+ 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.
Pathnames and white space:
- Unlike Unix, Windows 95/NT systems encourage pathnames which
- contain white space (e.g. C:\Program Files\). These sorts of
- pathnames are valid on Unix too, but are never encouraged.
- There is at least one place in make (VPATH/vpath handling) where
- paths containing white space will simply not work. There may be
- others too. I chose to not try and port make in such a way so
- that these sorts of paths could be handled. I offer these
- suggestions as workarounds:
+ Unlike Unix, Windows 95/NT systems encourage pathnames which
+ contain white space (e.g. C:\Program Files\). These sorts of
+ pathnames are valid on Unix too, but are never encouraged.
+ There is at least one place in make (VPATH/vpath handling) where
+ paths containing white space will simply not work. There may be
+ others too. I chose to not try and port make in such a way so
+ that these sorts of paths could be handled. I offer these
+ suggestions as workarounds:
- 1. Use 8.3 notation. i.e. "x:/long~1/", which is actually
- "x:\longpathtest". Type "dir /x" to view these filenames
- within the cmd.exe shell.
- 2. Rename the directory so it does not contain white space.
+ 1. Use 8.3 notation. i.e. "x:/long~1/", which is actually
+ "x:\longpathtest". Type "dir /x" to view these filenames
+ within the cmd.exe shell.
+ 2. Rename the directory so it does not contain white space.
- If you are unhappy with this choice, this is free software
- and you are free to take a crack at making this work. The code
- in w32/pathstuff.c and vpath.c would be the places to start.
+ If you are unhappy with this choice, this is free software
+ and you are free to take a crack at making this work. The code
+ in w32/pathstuff.c and vpath.c would be the places to start.
Pathnames and Case insensitivity:
- Unlike Unix, Windows 95/NT systems are case insensitive but case
- preserving. For example if you tell the file system to create a
- file named "Target", it will preserve the case. Subsequent access to
- the file with other case permutations will succeed (i.e. opening a
- file named "target" or "TARGET" will open the file "Target").
+ Unlike Unix, Windows 95/NT systems are case insensitive but case
+ preserving. For example if you tell the file system to create a
+ file named "Target", it will preserve the case. Subsequent access to
+ the file with other case permutations will succeed (i.e. opening a
+ file named "target" or "TARGET" will open the file "Target").
- By default, GNU make retains its case sensitivity when comparing
- target names and existing files or directories. It can be
- configured, however, into a case preserving and case insensitive
- mode by adding a define for HAVE_CASE_INSENSITIVE_FS to
- config.h.W32.
+ By default, GNU make retains its case sensitivity when comparing
+ target names and existing files or directories. It can be
+ configured, however, into a case preserving and case insensitive
+ mode by adding a define for HAVE_CASE_INSENSITIVE_FS to
+ config.h.W32.
- For example, the following makefile will create a file named
- Target in the directory subdir which will subsequently be used
- to satisfy the dependency of SUBDIR/DepTarget on SubDir/TARGET.
- Without HAVE_CASE_INSENSITIVE_FS configured, the dependency link
- will not be made:
+ For example, the following makefile will create a file named
+ Target in the directory subdir which will subsequently be used
+ to satisfy the dependency of SUBDIR/DepTarget on SubDir/TARGET.
+ Without HAVE_CASE_INSENSITIVE_FS configured, the dependency link
+ will not be made:
- subdir/Target:
- touch $@
+ subdir/Target:
+ touch $@
- SUBDIR/DepTarget: SubDir/TARGET
- cp $^ $@
+ SUBDIR/DepTarget: SubDir/TARGET
+ cp $^ $@
- Reliance on this behavior also eliminates the ability of GNU make
- to use case in comparison of matching rules. For example, it is
- not possible to set up a C++ rule using %.C that is different
- than a C rule using %.c. GNU make will consider these to be the
- same rule and will issue a warning.
+ Reliance on this behavior also eliminates the ability of GNU make
+ to use case in comparison of matching rules. For example, it is
+ not possible to set up a C++ rule using %.C that is different
+ than a C rule using %.c. GNU make will consider these to be the
+ same rule and will issue a warning.
SAMBA/NTFS/VFAT:
- I have not had any success building the debug version of this
- package using SAMBA as my file server. The reason seems to be
- related to the way VC++ 4.0 changes the case name of the pdb
- filename it is passed on the command line. It seems to change
- the name always to to lower case. I contend that the VC++
- compiler should not change the casename of files that are passed
- as arguments on the command line. I don't think this was a
- problem in MSVC 2.x, but I know it is a problem in MSVC 4.x.
+ I have not had any success building the debug version of this
+ package using SAMBA as my file server. The reason seems to be
+ related to the way VC++ 4.0 changes the case name of the pdb
+ filename it is passed on the command line. It seems to change
+ the name always to to lower case. I contend that the VC++
+ compiler should not change the casename of files that are passed
+ as arguments on the command line. I don't think this was a
+ problem in MSVC 2.x, but I know it is a problem in MSVC 4.x.
- The package builds fine on VFAT and NTFS filesystems.
+ The package builds fine on VFAT and NTFS filesystems.
- Most all of the development I have done to date has been using
- NTFS and long file names. I have not done any considerable work
- under VFAT. VFAT users may wish to be aware that this port of
- make does respect case sensitivity.
+ Most all of the development I have done to date has been using
+ NTFS and long file names. I have not done any considerable work
+ under VFAT. VFAT users may wish to be aware that this port of
+ make does respect case sensitivity.
FAT:
- Version 3.76 added support for FAT filesystems. Make works
- around some difficulties with stat'ing of files and caching of
- filenames and directories internally.
+ Version 3.76 added support for FAT filesystems. Make works
+ around some difficulties with stat'ing of files and caching of
+ filenames and directories internally.
Bug reports:
- Please submit bugs via the normal bug reporting mechanism which
- is described in the GNU make manual and the base README.
+ Please submit bugs via the normal bug reporting mechanism which
+ is described in the GNU make manual and the base README.
-------------------------------------------------------------------------------
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009, 2010 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 --git a/README.W32.template b/README.W32.template
deleted file mode 100644
index c73bcf4e..00000000
--- a/README.W32.template
+++ /dev/null
@@ -1,289 +0,0 @@
-This version of GNU make has been tested on Microsoft Windows 2000/XP/2003.
-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).
-
-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.
-
-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. 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').
-
-
-Using make_msvc_net2003.vcproj
-------------------------------
-
- 2. Open make_msvc_net2003.vcproj in MSVS71 or MSVC71 or any compatible IDE,
- then build this project as usual. There's also a solution file for
- Studio 2003.
-
-
-Building with (MinGW-)GCC using build_w32.bat
----------------------------------------------
-
- 2. Open a W32 command prompt for your installed (MinGW-)GCC, setup a
- correct PATH and other environment variables for it, then execute ...
-
- build_w32.bat gcc
-
- This produces gnumake.exe in the current directory.
-
-
-Building with (MSVC++-)cl using build_w32.bat or NMakefile
-----------------------------------------------------------
-
- 2. Open a W32 command prompt for your installed (MSVC++-)cl, setup a
- correct PATH and other environment variables for it (usually via
- executing vcvars32.bat or vsvars32.bat from the cl-installation,
- e.g. "%VS71COMNTOOLS%vsvars32.bat"; or using a corresponding start
- menue entry from the cl-installation), then execute EITHER ...
-
- build_w32.bat
-
- (this produces WinDebug/gnumake.exe and WinRel/gnumake.exe)
-
- ... OR ...
-
- nmake /f NMakefile
-
- (this produces WinDebug/make.exe and WinRel/make.exe).
-
-
--------------------
--- Notes/Caveats --
--------------------
-
-GNU make on Windows 32-bit platforms:
-
- This version of make is ported natively to Windows32 platforms
- (Windows NT 3.51, Windows NT 4.0, Windows 2000, Windows XP,
- Windows 95, and Windows 98). It does not rely on any 3rd party
- software or add-on packages for building. The only thing
- needed is a Windows compiler. Two compilers supported
- officially are the MinGW port of GNU GCC, and the various
- versions of the Microsoft C compiler.
-
- Do not confuse this port of GNU make with other Windows32 projects
- which provide a GNU make binary. These are separate projects
- and are not connected to this port effort.
-
-GNU make and sh.exe:
-
- This port prefers if you have a working sh.exe somewhere on
- your system. If you don't have sh.exe, the port falls back to
- MSDOS mode for launching programs (via a batch file). The
- MSDOS mode style execution has not been tested that carefully
- though (The author uses GNU bash as sh.exe).
-
- There are very few true ports of Bourne shell for NT right now.
- There is a version of GNU bash available from Cygnus "Cygwin"
- porting effort (http://www.cygwin.com/).
- Other possibilities are the MKS version of sh.exe, or building
- your own with a package like NutCracker (DataFocus) or Portage
- (Consensys). Also MinGW includes sh (http://mingw.org/).
-
-GNU make and brain-dead shells (BATCH_MODE_ONLY_SHELL):
-
- Some versions of Bourne shell do not behave well when invoked
- as 'sh -c' from CreateProcess(). The main problem is they seem
- to have a hard time handling quoted strings correctly. This can
- be circumvented by writing commands to be executed to a batch
- file and then executing the command by calling 'sh file'.
-
- To work around this difficulty, this version of make supports
- a batch mode. When BATCH_MODE_ONLY_SHELL is defined at compile
- time, make forces all command lines to be executed via script
- files instead of by command line. In this mode you must have a
- working sh.exe in order to use parallel builds (-j).
-
- A native Windows32 system with no Bourne shell will also run
- in batch mode. All command lines will be put into batch files
- and executed via $(COMSPEC) (%COMSPEC%). However, parallel
- builds ARE supported with Windows shells (cmd.exe and
- command.com). See the next section about some peculiarities
- of parallel builds on Windows.
-
-Support for parallel builds
-
- Parallel builds (-jN) are supported in this port, with 2
- limitations:
-
- - The number of concurrent processes has a hard limit of 64,
- due to the way this port implements waiting for its
- subprocesses;
-
- - The job server method (available when Make runs on Posix
- platforms) is not supported, which means you must pass an
- explicit -jN switch to sub-Make's in a recursive Makefile.
- If a sub-Make does not receive an explicit -jN switch, it
- will default to -j1, i.e. no parallelism in sub-Make's.
-
-GNU make and Cygnus GNU Windows32 tools:
-
- Good news! Make now has native support for Cygwin sh. To enable,
- define the HAVE_CYGWIN_SHELL in config.h and rebuild make
- from scratch. This version of make tested with B20.1 of Cygwin.
- Do not define BATCH_MODE_ONLY_SHELL if you use HAVE_CYGWIN_SHELL.
-
-GNU make and the MKS shell:
-
- There is now semi-official support for the MKS shell. To turn this
- support on, define HAVE_MKS_SHELL in the config.h.W32 before you
- build make. Do not define BATCH_MODE_ONLY_SHELL if you turn
- on HAVE_MKS_SHELL.
-
-GNU make handling of drive letters in pathnames (PATH, vpath, VPATH):
-
- There is a caveat that should be noted with respect to handling
- single character pathnames on Windows systems. When colon is
- used in PATH variables, make tries to be smart about knowing when
- you are using colon as a separator versus colon as a drive
- letter. Unfortunately, something as simple as the string 'x:/'
- could be interpreted 2 ways: (x and /) or (x:/).
-
- Make chooses to interpret a letter plus colon (e.g. x:/) as a
- drive letter pathname. If it is necessary to use single
- character directories in paths (VPATH, vpath, Path, PATH), the
- user must do one of two things:
-
- a. Use semicolon as the separator to disambiguate colon. For
- example use 'x;/' if you want to say 'x' and '/' are
- separate components.
-
- b. Qualify the directory name so that there is more than
- one character in the path(s) used. For example, none
- of these settings are ambiguous:
-
- ./x:./y
- /some/path/x:/some/path/y
- x:/some/path/x:x:/some/path/y
-
- Please note that you are free to mix colon and semi-colon in the
- specification of paths. Make is able to figure out the intended
- result and convert the paths internally to the format needed
- when interacting with the operating system, providing the path
- is not within quotes, e.g. "x:/test/test.c".
-
- You are encouraged to use colon as the separator character.
- This should ease the pain of deciding how to handle various path
- problems which exist between platforms. If colon is used on
- both Unix and Windows systems, then no ifdef'ing will be
- necessary in the makefile source.
-
-GNU make test suite:
-
- I verified all functionality with a slightly modified version
- of make-test-%VERSION% (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.
-
-Pathnames and white space:
-
- Unlike Unix, Windows 95/NT systems encourage pathnames which
- contain white space (e.g. C:\Program Files\). These sorts of
- pathnames are valid on Unix too, but are never encouraged.
- There is at least one place in make (VPATH/vpath handling) where
- paths containing white space will simply not work. There may be
- others too. I chose to not try and port make in such a way so
- that these sorts of paths could be handled. I offer these
- suggestions as workarounds:
-
- 1. Use 8.3 notation. i.e. "x:/long~1/", which is actually
- "x:\longpathtest". Type "dir /x" to view these filenames
- within the cmd.exe shell.
- 2. Rename the directory so it does not contain white space.
-
- If you are unhappy with this choice, this is free software
- and you are free to take a crack at making this work. The code
- in w32/pathstuff.c and vpath.c would be the places to start.
-
-Pathnames and Case insensitivity:
-
- Unlike Unix, Windows 95/NT systems are case insensitive but case
- preserving. For example if you tell the file system to create a
- file named "Target", it will preserve the case. Subsequent access to
- the file with other case permutations will succeed (i.e. opening a
- file named "target" or "TARGET" will open the file "Target").
-
- By default, GNU make retains its case sensitivity when comparing
- target names and existing files or directories. It can be
- configured, however, into a case preserving and case insensitive
- mode by adding a define for HAVE_CASE_INSENSITIVE_FS to
- config.h.W32.
-
- For example, the following makefile will create a file named
- Target in the directory subdir which will subsequently be used
- to satisfy the dependency of SUBDIR/DepTarget on SubDir/TARGET.
- Without HAVE_CASE_INSENSITIVE_FS configured, the dependency link
- will not be made:
-
- subdir/Target:
- touch $@
-
- SUBDIR/DepTarget: SubDir/TARGET
- cp $^ $@
-
- Reliance on this behavior also eliminates the ability of GNU make
- to use case in comparison of matching rules. For example, it is
- not possible to set up a C++ rule using %.C that is different
- than a C rule using %.c. GNU make will consider these to be the
- same rule and will issue a warning.
-
-SAMBA/NTFS/VFAT:
-
- I have not had any success building the debug version of this
- package using SAMBA as my file server. The reason seems to be
- related to the way VC++ 4.0 changes the case name of the pdb
- filename it is passed on the command line. It seems to change
- the name always to to lower case. I contend that the VC++
- compiler should not change the casename of files that are passed
- as arguments on the command line. I don't think this was a
- problem in MSVC 2.x, but I know it is a problem in MSVC 4.x.
-
- The package builds fine on VFAT and NTFS filesystems.
-
- Most all of the development I have done to date has been using
- NTFS and long file names. I have not done any considerable work
- under VFAT. VFAT users may wish to be aware that this port of
- make does respect case sensitivity.
-
-FAT:
-
- Version 3.76 added support for FAT filesystems. Make works
- around some difficulties with stat'ing of files and caching of
- filenames and directories internally.
-
-Bug reports:
-
- Please submit bugs via the normal bug reporting mechanism which
- is described in the GNU make manual and the base README.
-
--------------------------------------------------------------------------------
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009, 2010 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 <http://www.gnu.org/licenses/>.
diff --git a/README.customs b/README.customs
index 0ad1837f..30d98ac4 100644
--- a/README.customs
+++ b/README.customs
@@ -35,19 +35,19 @@ you'll need to re-apply them by hand.
Install the Customs library and header files according to the
documentation. You should also install the man pages (contrary to
comments in the documentation, they weren't installed automatically for
-me; I had to cd to the ``pmake-2.1.33/doc'' directory and run ``pmake
-install'' there directly).
+me; I had to cd to the 'pmake-2.1.33/doc' directory and run 'pmake
+install' there directly).
BUILDING GNU MAKE
-----------------
Once you've installed Customs, you can build GNU make to use it. When
-configuring GNU make, merely use the ``--with-customs=DIR'' option.
-Provide the directory containing the ``lib'' and ``include/customs''
+configuring GNU make, merely use the '--with-customs=DIR' option.
+Provide the directory containing the 'lib' and 'include/customs'
subdirectories as DIR. For example, if you installed the customs
library in /usr/local/lib and the headers in /usr/local/include/customs,
-then you'd pass ``--with-customs=/usr/local'' as an option to configure.
+then you'd pass '--with-customs=/usr/local' as an option to configure.
Run make (or use build.sh) normally to build GNU make as described in
the INSTALL file.
@@ -96,8 +96,7 @@ SunOS 4.1.x:
-------------------------------------------------------------------------------
-Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-2009, 2010 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 --git a/README.cvs b/README.cvs
deleted file mode 100644
index 75d54dec..00000000
--- a/README.cvs
+++ /dev/null
@@ -1,219 +0,0 @@
- -*-text-*-
-
--------------------------------------------------------------------------------
-Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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 <http://www.gnu.org/licenses/>.
--------------------------------------------------------------------------------
-
-Obtaining CVS Code
-------------------
-
-This seems redundant, since if you're reading this you most likely have
-already performed this step; however, for completeness, you can obtain
-the GNU make source code via anonymous CVS from the FSF's Savannah
-project <http://savannah.gnu.org/projects/make/>:
-
- $ cvs -d:pserver:anoncvs@cvs.savannah.gnu.org:/sources/make co make
-
-You might want to use the "-z3" option to get compression, and you most
-certainly will want the -P option to avoid unneeded directories
-cluttering up your source. Personally I add these (as well as -dP for
-update) to my ~/.cvsrc file.
-
-
-If you have an older version of CVS, you might have to login first.
-There is no password; just hit the ENTER key if you are asked for one.
-
-
-Building From CVS
------------------
-
-To build GNU make from CVS, you will need Autoconf, Automake, and
-Gettext, and any tools that those utilities require (GNU m4, Perl,
-etc.). See the configure.in file to find the minimum versions of each
-of these tools. You will also need a copy of wget.
-
-When building from CVS you must build in the source directory: "VPATH
-builds" from remote directories are not supported. Once you've created
-a distribution, of course, you can unpack it and do a VPATH build from
-there.
-
-After checking out the code, you will need to perform these steps to get
-to the point where you can run "make".
-
-
- 1) $ autoreconf -i
-
- This rebuilds all the things that need rebuilding, installing
- missing files as symbolic links.
-
- You may get warnings here about missing files like README, etc.
- Ignore them, they are harmless.
-
-
- 2) $ ./configure
-
- Generate a Makefile
-
-
- 3) $ make update
-
- Use wget to retrieve various other files that GNU make relies on,
- but does not keep in its own source tree.
-
- NB: You may need GNU make to correctly perform this step; if you use
- a platform-local make you may get problems with missing files in doc/.
-
-
-At this point you have successfully brought your CVS copy of the GNU
-make source directory up to the point where it can be treated
-more-or-less like the official package you would get from ftp.gnu.org.
-That is, you can just run:
-
- $ make && make check && make install
-
-to build and install GNU make.
-
-
-Windows builds from CVS
------------------------
-
-If you have a UNIX emulation like CYGWIN you can opt to run the general
-build procedure above; it will work. Be sure to read
-README.W32.template for information on options you might want to use
-when running ./configure.
-
-If you can't or don't want to do that, then rename the file
-README.W32.template to README.W32 and follow those instructions.
-
-
-Creating a Package
-------------------
-
-Once you have performed the above steps (including the configuration and
-build) you can create a GNU make package. This is very simple, just
-run:
-
- $ make dist-gzip
-
-and, if you like:
-
- $ make dist-bzip2
-
-Even better, you should run this:
-
- $ make distcheck
-
-Which will build both .gz and .bz2 package files, then unpack them into
-a temporary location, try to build them, and repack them, verifying that
-everything works, you get the same results, _and_ no extraneous files
-are left over after the "distclean" rule--whew!! Now, _that_ is why
-converting to Automake is worth the trouble! A big "huzzah!" to Tom
-T. and the AutoToolers!
-
-
-Steps to Release
-----------------
-
-Here are the things that need to be done (in more or less this order)
-before making an official release:
-
- * Update the configure.in file with the new release number.
- * Update the NEWS file with the release number and date.
- * Create the new release in the Savannah "Bugs" Administration for
- both the "Component Version" and "Fixed Release" fields.
- * Create the new release in the Savannah "Patches" Administration for
- the "Fixed Release" field.
- * Update the Savannah bug list URL in the NEWS file to use the correct
- "Fixed Release" ID number.
- * Run "make distcheck" to be sure it all works.
- * Commit everything.
- * cvs tag <RTAG> where RTAG is constructed by replacing each "." in
- the version with "-" and prefixing it with "make-".
-
-
-Publishing a Package
---------------------
-
-In order to publish a package on the FSF FTP site, either the release
-site ftp://ftp.gnu.org, or the prerelease site ftp://alpha.gnu.org, you
-first need to have my GPG private key and my passphrase to unlock it.
-And, you can't have them! So there! But, just so I remember here's
-what you do:
-
- Make sure the "Steps to Release" are complete and committed and tagged.
-
- cvs -d :pserver:anonymous@cvs.savannah.gnu.org:/sources/make \
- export -r<RTAG> -d make-release make
-
- cd make-release
-
- <run the commands above to build the release>
-
- make upload-alpha # for alpha.gnu.org (pre-releases)
- -OR-
- make upload-ftp # for ftp.gnu.org (official releases)
-
-It will ask for the GPG passphrase _THREE_ times. Sigh.
-
-
-For both final releases and pre-releases, send an email with the URL of
-the package to the GNU translation robot to allow the translators to
-work on it:
-
- <translation@iro.umontreal.ca>
-
-
-Where to Announce
------------------
-
-Create the announcement in a text file, then sign it with GPG.
-
- gpg --clearsign <announcement.txt>
-
-Upload to gnu.org, then login and send from my account there.
-
-Email to: make-alpha@gnu.org, bug-make@gnu.org, help-make@gnu.org, make-w32@gnu.org.
-Email to: info-gnu@gnu.org
-
-Add a news item to the Savannah project site.
-
-Add an update to freshmeat.net.
-
-
-Appendix A - For The Brave
---------------------------
-
-For those of you who trust me implicitly, or are just brave (or
-foolhardy), here is a canned sequence of commands to build a GNU make
-distribution package from a virgin CVS source checkout (assuming all the
-prerequisites are available of course).
-
-This list is eminently suitable for a quick swipe o' the mouse and a
-swift click o' mouse-2 into an xterm. Go for it!
-
-autoreconf -i
-./configure
-make update
-make
-make check
-
-Or, for a debugging version:
-
-autoreconf -i && ./configure CFLAGS=-g && make update && make && make check
-
-Or, all-in-one:
-
-autoreconf -i && ./configure && make update && make && make check
diff --git a/README.template b/README.template
deleted file mode 100644
index c746488f..00000000
--- a/README.template
+++ /dev/null
@@ -1,189 +0,0 @@
-This directory contains the %VERSION% release of GNU Make.
-
-See the file NEWS for the user-visible changes from previous releases.
-In addition, there have been bugs fixed.
-
-Please check the system-specific notes below for any caveats related to
-your operating system.
-
-For general building and installation instructions, see the file INSTALL.
-
-If you need to build GNU Make and have no other `make' program to use,
-you can use the shell script `build.sh' instead. To do this, first run
-`configure' as described in INSTALL. Then, instead of typing `make' to
-build the program, type `sh build.sh'. This should compile the program
-in the current directory. Then you will have a Make program that you can
-use for `./make install', or whatever else.
-
-Some systems' Make programs are broken and cannot process the Makefile for
-GNU Make. If you get errors from your system's Make when building GNU
-Make, try using `build.sh' instead.
-
-
-GNU Make is free software. See the file COPYING for copying conditions.
-
-
-Downloading
------------
-
-GNU Make can be obtained in many different ways. See a description here:
-
- http://www.gnu.org/software/software.html
-
-
-Documentation
--------------
-
-GNU make is fully documented in the GNU Make manual, which is contained
-in this distribution as the file make.texinfo. You can also find
-on-line and preformatted (PostScript and DVI) versions at the FSF's web
-site. There is information there about ordering hardcopy documentation.
-
- http://www.gnu.org/
- http://www.gnu.org/doc/doc.html
- http://www.gnu.org/manual/manual.html
-
-
-Development
------------
-
-GNU Make development is hosted by Savannah, the FSF's online development
-management tool. Savannah is here:
-
- http://savannah.gnu.org
-
-And the GNU Make development page is here:
-
- http://savannah.gnu.org/projects/make/
-
-You can find most information concerning the development of GNU Make at
-this site.
-
-
-Bug Reporting
--------------
-
-You can send GNU make bug reports to <bug-make@gnu.org>. Please see the
-section of the GNU make manual entitled `Problems and Bugs' for
-information on submitting useful and complete bug reports.
-
-You can also use the online bug tracking system in the Savannah GNU Make
-project to submit new problem reports or search for existing ones:
-
- http://savannah.gnu.org/bugs/?group=make
-
-If you need help using GNU make, try these forums:
-
- help-make@gnu.org
- help-utils@gnu.org
- news:gnu.utils.help
- news:gnu.utils.bug
-
- http://savannah.gnu.org/support/?group=make
-
-You may also find interesting patches to GNU Make available here:
-
- http://savannah.gnu.org/patch/?group=make
-
-Note these patches are provided by our users as a service and we make no
-statements regarding their correctness. Please contact the authors
-directly if you have a problem or suggestion for a patch available on
-this page.
-
-
-CVS Access
-----------
-
-The GNU make source repository is available via anonymous CVS from the
-GNU Subversions CVS server; look here for details:
-
- http://savannah.gnu.org/cvs/?group=make
-
-Please note: you won't be able to build GNU make from CVS without
-installing appropriate maintainer's tools, such as GNU m4, automake,
-autoconf, Perl, GNU make, and GCC. See the README.cvs file for hints on
-how to build GNU make once these tools are available. We make no
-guarantees about the contents or quality of the latest code in the CVS
-repository: it is not unheard of for code that is known to be broken to
-be checked in. Use at your own risk.
-
-
-System-specific Notes
----------------------
-
-It has been reported that the XLC 1.2 compiler on AIX 3.2 is buggy such
-that if you compile make with `cc -O' on AIX 3.2, it will not work
-correctly. It is said that using `cc' without `-O' does work.
-
-The standard /bin/sh on SunOS 4.1.3_U1 and 4.1.4 is broken and cannot be
-used to configure GNU make. Please install a different shell such as
-bash or pdksh in order to run "configure". See this message for more
-information:
- http://mail.gnu.org/archive/html/bug-autoconf/2003-10/msg00190.html
-
-One area that is often a problem in configuration and porting is the code
-to check the system's current load average. To make it easier to test and
-debug this code, you can do `make check-loadavg' to see if it works
-properly on your system. (You must run `configure' beforehand, but you
-need not build Make itself to run this test.)
-
-Another potential source of porting problems is the support for large
-files (LFS) in configure for those operating systems that provide it.
-Please report any bugs that you find in this area. If you run into
-difficulties, then as a workaround you should be able to disable LFS by
-adding the `--disable-largefile' option to the `configure' script.
-
-On systems that support micro- and nano-second timestamp values and
-where stat(2) provides this information, GNU make will use it when
-comparing timestamps to get the most accurate possible result. However,
-note that many current implementations of tools that *set* timestamps do
-not preserve micro- or nano-second granularity. This means that "cp -p"
-and other similar tools (tar, etc.) may not exactly duplicate timestamps
-with micro- and nano-second granularity on some systems. If your build
-system contains rules that depend on proper behavior of tools like "cp
--p", you should consider using the .LOW_RESOLUTION_TIME pseudo-target to
-force make to treat them properly. See the manual for details.
-
-
-Ports
------
-
- - See README.customs for details on integrating GNU make with the
- Customs distributed build environment from the Pmake distribution.
-
- - See readme.vms for details about GNU Make on OpenVMS.
-
- - See README.Amiga for details about GNU Make on AmigaDOS.
-
- - See README.W32 for details about GNU Make on Windows NT, 95, or 98.
-
- - See README.DOS for compilation instructions on MS-DOS and MS-Windows
- using DJGPP tools.
-
- A precompiled binary of the MSDOS port of GNU Make is available as part
- of DJGPP; see the WWW page http://www.delorie.com/djgpp/ for more
- information.
-
-Please note there are two _separate_ ports of GNU make for Microsoft
-systems: a native Windows tool built with (for example) MSVC or Cygwin,
-and a DOS-based tool built with DJGPP. Please be sure you are looking
-at the right README!
-
-
--------------------------------------------------------------------------------
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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 <http://www.gnu.org/licenses/>.
diff --git a/SMakefile b/SMakefile
index 2a46032d..2b55f22b 100644
--- a/SMakefile
+++ b/SMakefile
@@ -3,8 +3,7 @@
# NOTE: If you have no 'make' program at all to process this makefile,
# run 'build.sh' instead.
#
-# Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010 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
@@ -25,9 +24,9 @@
#
# Ultrix 2.2 make doesn't expand the value of VPATH.
-VPATH = /make-3.82/
-# This must repeat the value, because configure will remove `VPATH = .'.
-srcdir = /make-3.82/
+VPATH = /make-4.1/
+# This must repeat the value, because configure will remove 'VPATH = .'.
+srcdir = /make-4.1/
CC = sc
RM = delete
@@ -38,18 +37,18 @@ CPPFLAGS =
LDFLAGS =
# Define these for your system as follows:
-# -DNO_ARCHIVES To disable `ar' archive support.
+# -DNO_ARCHIVES To disable 'ar' archive support.
# -DNO_FLOAT To avoid using floating-point numbers.
# -DENUM_BITFIELDS If the compiler isn't GCC but groks enum foo:2.
# Some compilers apparently accept this
# without complaint but produce losing code,
# so beware.
# NeXT 1.0a uses an old version of GCC, which required -D__inline=inline.
-# See also `config.h'.
+# See also 'config.h'.
defines =
# Which flavor of remote job execution support to use.
-# The code is found in `remote-$(REMOTE).c'.
+# The code is found in 'remote-$(REMOTE).c'.
REMOTE = stub
# If you are using the GNU C library, or have the GNU getopt functions in
@@ -83,9 +82,9 @@ prefix =
# Common prefix for machine-dependent installed files.
exec_prefix =
-# Directory to install `make' in.
+# Directory to install 'make' in.
bindir = sc:c
-# Directory to find libraries in for `-lXXX'.
+# Directory to find libraries in for '-lXXX'.
libdir = lib:
# Directory to search by default for included makefiles.
includedir = include:
@@ -95,20 +94,20 @@ infodir = doc:
mandir = t:
# Number to put on the man page filename.
manext = 1
-# Prefix to put on installed `make' binary file name.
+# Prefix to put on installed 'make' binary file name.
binprefix =
-# Prefix to put on installed `make' man page file name.
+# Prefix to put on installed 'make' man page file name.
manprefix = $(binprefix)
# Whether or not make needs to be installed setgid.
-# The value should be either `true' or `false'.
-# On many systems, the getloadavg function (used to implement the `-l'
+# The value should be either 'true' or 'false'.
+# On many systems, the getloadavg function (used to implement the '-l'
# switch) will not work unless make is installed setgid kmem.
install_setgid = false
# Install make setgid to this group so it can read /dev/kmem.
group = sys
-# Program to install `make'.
+# Program to install 'make'.
INSTALL_PROGRAM = copy
# Program to install the man page.
INSTALL_DATA = copy
@@ -124,21 +123,26 @@ TEXI2DVI = texi2dvi
ETAGS = etags -w
CTAGS = ctags -w
-objs = commands.o job.o dir.o file.o misc.o main.o read.o remake.o \
- rule.o implicit.o default.o variable.o expand.o function.o \
- vpath.o version.o ar.o arscan.o signame.o strcache.o hash.o \
- remote-$(REMOTE).o $(GLOB) $(GETOPT) $(ALLOCA) $(extras)
+#guile = guile.o
+
+objs = commands.o job.o dir.o file.o misc.o main.o read.o remake.o \
+ rule.o implicit.o default.o variable.o expand.o function.o \
+ vpath.o version.o ar.o arscan.o signame.o strcache.o hash.o \
+ output.o remote-$(REMOTE).o $(GLOB) $(GETOPT) $(ALLOCA) \
+ $(extras) $(guile)
+
srcs = $(srcdir)commands.c $(srcdir)job.c $(srcdir)dir.c \
$(srcdir)file.c $(srcdir)getloadavg.c $(srcdir)misc.c \
$(srcdir)main.c $(srcdir)read.c $(srcdir)remake.c \
$(srcdir)rule.c $(srcdir)implicit.c $(srcdir)default.c \
$(srcdir)variable.c $(srcdir)expand.c $(srcdir)function.c \
$(srcdir)vpath.c $(srcdir)version.c $(srcdir)hash.c \
- $(srcdir)remote-$(REMOTE).c \
- $(srcdir)ar.c $(srcdir)arscan.c $(srcdir)strcache.c \
- $(srcdir)signame.c $(srcdir)signame.h $(GETOPT_SRC) \
+ $(srcdir)guile.c $(srcdir)remote-$(REMOTE).c \
+ $(srcdir)ar.c $(srcdir)arscan.c $(srcdir)strcache.c \
+ $(srcdir)signame.c $(srcdir)signame.h $(GETOPT_SRC) \
$(srcdir)commands.h $(srcdir)dep.h $(srcdir)file.h \
- $(srcdir)job.h $(srcdir)make.h $(srcdir)rule.h \
+ $(srcdir)job.h $(srcdir)makeint.h $(srcdir)rule.h \
+ $(srcdir)output.c $(srcdir)output.h \
$(srcdir)variable.h $(ALLOCA_SRC) $(srcdir)config.h.in
@@ -148,7 +152,7 @@ srcs = $(srcdir)commands.c $(srcdir)job.c $(srcdir)dir.c \
all: make
info: make.info
dvi: make.dvi
-# Some makes apparently use .PHONY as the default goal if it is before `all'.
+# Some makes apparently use .PHONY as the default goal if it is before 'all'.
.PHONY: all check info dvi
make.info: make.texinfo
@@ -220,60 +224,66 @@ glob-clean glob-realclean:
# dummy
# .deps/ar.Po
-ar.o: ar.c make.h config.h \
+ar.o: ar.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
filedef.h hash.h dep.h \
# .deps/arscan.Po
-arscan.o: arscan.c make.h config.h \
+arscan.o: arscan.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
# .deps/commands.Po
-commands.o: commands.c make.h config.h \
+commands.o: commands.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- dep.h filedef.h hash.h variable.h job.h \
+ filedef.h hash.h dep.h \
+ variable.h job.h output.h \
commands.h
# .deps/default.Po
-default.o: default.c make.h config.h \
+default.o: default.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- filedef.h hash.h variable.h rule.h dep.h \
- job.h \
+ filedef.h hash.h variable.h rule.h dep.h job.h output.h \
commands.h
# .deps/dir.Po
-dir.o: dir.c make.h config.h \
+dir.o: dir.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- hash.h \
+ hash.h filedef.h dep.h \
# .deps/expand.Po
-expand.o: expand.c make.h config.h \
+expand.o: expand.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- filedef.h hash.h \
- job.h \
- commands.h variable.h \
- rule.h
+ filedef.h hash.h job.h output.h \
+ commands.h variable.h rule.h
# .deps/file.Po
-file.o: file.c make.h config.h \
+file.o: file.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- dep.h filedef.h \
- hash.h job.h \
+ filedef.h hash.h dep.h job.h output.h \
commands.h variable.h \
debug.h
# .deps/function.Po
-function.o: function.c make.h config.h \
+function.o: function.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- filedef.h hash.h variable.h dep.h job.h \
+ filedef.h hash.h \
+ variable.h dep.h job.h output.h \
commands.h debug.h
# .deps/getloadavg.Po
@@ -285,96 +295,144 @@ getopt.o: getopt.c config.h \
# .deps/getopt1.Po
getopt1.o: getopt1.c config.h getopt.h \
+# .deps/guile.Po
+guile.o: guile.c makeint.h config.h \
+ gnumake.h \
+ getopt.h \
+ gettext.h \
+ debug.h filedef.h hash.h \
+ dep.h variable.h \
+ gmk-default.h
+
# .deps/hash.Po
-hash.o: hash.c make.h config.h \
+hash.o: hash.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
hash.h
# .deps/implicit.Po
-implicit.o: implicit.c make.h config.h \
+implicit.o: implicit.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- filedef.h hash.h rule.h dep.h debug.h \
- variable.h job.h \
+ filedef.h hash.h rule.h \
+ dep.h debug.h variable.h job.h output.h \
commands.h
# .deps/job.Po
-job.o: job.c make.h config.h \
+job.o: job.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- job.h \
- debug.h filedef.h hash.h commands.h \
+ job.h output.h \
+ debug.h filedef.h hash.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
+# .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
+
# .deps/loadavg-getloadavg.Po
# dummy
# .deps/main.Po
-main.o: main.c make.h config.h \
+main.o: main.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- dep.h filedef.h hash.h variable.h job.h \
- commands.h rule.h debug.h getopt.h \
+ filedef.h hash.h dep.h \
+ variable.h job.h output.h \
+ commands.h rule.h debug.h \
+ getopt.h
# .deps/misc.Po
-misc.o: misc.c make.h config.h \
+misc.o: misc.c makeint.h config.h \
+ gnumake.h \
+ getopt.h \
+ gettext.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 \
- dep.h debug.h
+ job.h output.h \
# .deps/read.Po
-read.o: read.c make.h config.h \
+read.o: read.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- dep.h filedef.h hash.h job.h \
- commands.h variable.h rule.h debug.h \
+ filedef.h hash.h dep.h job.h output.h \
+ commands.h variable.h rule.h \
+ debug.h
# .deps/remake.Po
-remake.o: remake.c make.h config.h \
+remake.o: remake.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
filedef.h hash.h job.h \
- commands.h dep.h variable.h debug.h \
+ output.h \
+ commands.h dep.h variable.h \
+ debug.h
# .deps/remote-cstms.Po
# dummy
# .deps/remote-stub.Po
-remote-stub.o: remote-stub.c make.h config.h \
+remote-stub.o: remote-stub.c makeint.h \
+ config.h \
+ gnumake.h \
getopt.h \
gettext.h \
filedef.h hash.h job.h \
+ output.h \
commands.h
# .deps/rule.Po
-rule.o: rule.c make.h config.h \
+rule.o: rule.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- dep.h filedef.h \
- hash.h job.h \
- commands.h variable.h \
- rule.h
+ filedef.h hash.h dep.h job.h output.h \
+ commands.h variable.h rule.h
# .deps/signame.Po
-signame.o: signame.c make.h config.h \
+signame.o: signame.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
# .deps/strcache.Po
-strcache.o: strcache.c make.h config.h \
+strcache.o: strcache.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
hash.h
# .deps/variable.Po
-variable.o: variable.c make.h config.h \
+variable.o: variable.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- dep.h filedef.h \
- hash.h job.h \
- commands.h variable.h \
- rule.h
+ filedef.h hash.h dep.h job.h output.h \
+ commands.h variable.h rule.h
# .deps/version.Po
version.o: version.c config.h
@@ -383,7 +441,9 @@ version.o: version.c config.h
# dummy
# .deps/vpath.Po
-vpath.o: vpath.c make.h config.h \
+vpath.o: vpath.c makeint.h config.h \
+ gnumake.h \
getopt.h \
gettext.h \
- filedef.h hash.h variable.h
+ filedef.h hash.h \
+ variable.h
diff --git a/SMakefile.template b/SMakefile.template
deleted file mode 100644
index 7e9229eb..00000000
--- a/SMakefile.template
+++ /dev/null
@@ -1,214 +0,0 @@
-# -*-Makefile-*- for building GNU make with smake
-#
-# NOTE: If you have no 'make' program at all to process this makefile,
-# run 'build.sh' instead.
-#
-# Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010 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 <http://www.gnu.org/licenses/>.
-
-#
-# Makefile for GNU Make
-#
-
-# Ultrix 2.2 make doesn't expand the value of VPATH.
-VPATH = /make-%VERSION%/
-# This must repeat the value, because configure will remove `VPATH = .'.
-srcdir = /make-%VERSION%/
-
-CC = sc
-RM = delete
-MAKE = smake
-
-CFLAGS =
-CPPFLAGS =
-LDFLAGS =
-
-# Define these for your system as follows:
-# -DNO_ARCHIVES To disable `ar' archive support.
-# -DNO_FLOAT To avoid using floating-point numbers.
-# -DENUM_BITFIELDS If the compiler isn't GCC but groks enum foo:2.
-# Some compilers apparently accept this
-# without complaint but produce losing code,
-# so beware.
-# NeXT 1.0a uses an old version of GCC, which required -D__inline=inline.
-# See also `config.h'.
-defines =
-
-# Which flavor of remote job execution support to use.
-# The code is found in `remote-$(REMOTE).c'.
-REMOTE = stub
-
-# If you are using the GNU C library, or have the GNU getopt functions in
-# your C library, you can comment these out.
-GETOPT = getopt.o getopt1.o
-GETOPT_SRC = $(srcdir)getopt.c $(srcdir)getopt1.c $(srcdir)getopt.h
-
-# If you are using the GNU C library, or have the GNU glob functions in
-# your C library, you can comment this out. GNU make uses special hooks
-# into the glob functions to be more efficient (by using make's directory
-# cache for globbing), so you must use the GNU functions even if your
-# system's C library has the 1003.2 glob functions already. Also, the glob
-# functions in the AIX and HPUX C libraries are said to be buggy.
-GLOB = Lib glob/glob.lib
-
-# If your system doesn't have alloca, or the one provided is bad, define this.
-ALLOCA = alloca.o
-ALLOCA_SRC = $(srcdir)alloca.c
-
-# If your system needs extra libraries loaded in, define them here.
-# System V probably need -lPW for alloca. HP-UX 7.0's alloca in
-# libPW.a is broken on HP9000s300 and HP9000s400 machines. Use
-# alloca.c instead on those machines.
-LOADLIBES =
-
-# Any extra object files your system needs.
-extras = amiga.o
-
-# Common prefix for machine-independent installed files.
-prefix =
-# Common prefix for machine-dependent installed files.
-exec_prefix =
-
-# Directory to install `make' in.
-bindir = sc:c
-# Directory to find libraries in for `-lXXX'.
-libdir = lib:
-# Directory to search by default for included makefiles.
-includedir = include:
-# Directory to install the Info files in.
-infodir = doc:
-# Directory to install the man page in.
-mandir = t:
-# Number to put on the man page filename.
-manext = 1
-# Prefix to put on installed `make' binary file name.
-binprefix =
-# Prefix to put on installed `make' man page file name.
-manprefix = $(binprefix)
-
-# Whether or not make needs to be installed setgid.
-# The value should be either `true' or `false'.
-# On many systems, the getloadavg function (used to implement the `-l'
-# switch) will not work unless make is installed setgid kmem.
-install_setgid = false
-# Install make setgid to this group so it can read /dev/kmem.
-group = sys
-
-# Program to install `make'.
-INSTALL_PROGRAM = copy
-# Program to install the man page.
-INSTALL_DATA = copy
-# Generic install program.
-INSTALL = copy
-
-# Program to format Texinfo source into Info files.
-MAKEINFO = makeinfo
-# Program to format Texinfo source into DVI files.
-TEXI2DVI = texi2dvi
-
-# Programs to make tags files.
-ETAGS = etags -w
-CTAGS = ctags -w
-
-objs = commands.o job.o dir.o file.o misc.o main.o read.o remake.o \
- rule.o implicit.o default.o variable.o expand.o function.o \
- vpath.o version.o ar.o arscan.o signame.o strcache.o hash.o \
- remote-$(REMOTE).o $(GLOB) $(GETOPT) $(ALLOCA) $(extras)
-srcs = $(srcdir)commands.c $(srcdir)job.c $(srcdir)dir.c \
- $(srcdir)file.c $(srcdir)getloadavg.c $(srcdir)misc.c \
- $(srcdir)main.c $(srcdir)read.c $(srcdir)remake.c \
- $(srcdir)rule.c $(srcdir)implicit.c $(srcdir)default.c \
- $(srcdir)variable.c $(srcdir)expand.c $(srcdir)function.c \
- $(srcdir)vpath.c $(srcdir)version.c $(srcdir)hash.c \
- $(srcdir)remote-$(REMOTE).c \
- $(srcdir)ar.c $(srcdir)arscan.c $(srcdir)strcache.c \
- $(srcdir)signame.c $(srcdir)signame.h $(GETOPT_SRC) \
- $(srcdir)commands.h $(srcdir)dep.h $(srcdir)file.h \
- $(srcdir)job.h $(srcdir)make.h $(srcdir)rule.h \
- $(srcdir)variable.h $(ALLOCA_SRC) $(srcdir)config.h.in
-
-
-.SUFFIXES:
-.SUFFIXES: .o .c .h .ps .dvi .info .texinfo
-
-all: make
-info: make.info
-dvi: make.dvi
-# Some makes apparently use .PHONY as the default goal if it is before `all'.
-.PHONY: all check info dvi
-
-make.info: make.texinfo
- $(MAKEINFO) -I$(srcdir) $(srcdir)make.texinfo -o make.info
-
-make.dvi: make.texinfo
- $(TEXI2DVI) $(srcdir)make.texinfo
-
-make.ps: make.dvi
- dvi2ps make.dvi > make.ps
-
-make: $(objs) glob/glob.lib
- $(CC) Link $(LDFLAGS) $(objs) $(LOADLIBES) To make.new
- -delete quiet make
- rename make.new make
-
-# -I. is needed to find config.h in the build directory.
-.c.o:
- $(CC) $(defines) IDir "" IDir $(srcdir)glob \
- $(CPPFLAGS) $(CFLAGS) $< $(OUTPUT_OPTION)
-
-glob/glob.lib:
- execute <<
- cd glob
- smake
-<
-
-tagsrcs = $(srcs) $(srcdir)remote-*.c
-TAGS: $(tagsrcs)
- $(ETAGS) $(tagsrcs)
-tags: $(tagsrcs)
- $(CTAGS) $(tagsrcs)
-
-.PHONY: install installdirs
-install:
- copy make sc:c
-
-loadavg: loadavg.c config.h
- $(CC) $(defines) -DTEST -I. -I$(srcdir) $(CFLAGS) $(LDFLAGS) \
- loadavg.c $(LOADLIBES) -o $@
-
-clean: glob-clean
- -$(RM) -f make loadavg *.o core make.dvi
-
-distclean: clean glob-realclean
- -$(RM) -f Makefile config.h config.status build.sh
- -$(RM) -f config.log config.cache
- -$(RM) -f TAGS tags
- -$(RM) -f make.?? make.??s make.log make.toc make.*aux
- -$(RM) -f loadavg.c
-
-realclean: distclean
- -$(RM) -f make.info*
-
-mostlyclean: clean
-
-.PHONY: glob-clean glob-realclean
-
-glob-clean glob-realclean:
- execute <<
- cd glob
- smake $@
-<
diff --git a/TODO.private b/TODO.private
deleted file mode 100644
index 5b43d110..00000000
--- a/TODO.private
+++ /dev/null
@@ -1,142 +0,0 @@
- -*-Indented-Text-*-
-GNU Make TODO List
-------------------
-
-This list comes both from the authors and from users of GNU make.
-
-They are listed in no particular order!
-
-Also, I don't gaurantee that all of them will be ultimately deemed "good
-ideas" and implemented. These are just the ones that, at first blush,
-seem to have some merit (and that I can remember).
-
-However, if you see something here you really, really want, speak up.
-All other things being equal, I will tend to implement things that seem
-to maximize user satisfaction.
-
-If you want to implement some of them yourself, barring the ones I've
-marked below, have at it! Please contact me first to let me know you're
-working on it, and give me some info about the design--and, critically,
-information about any user-visible syntax change, etc.
-
-
-The Top Item
-------------
-
-If you know perl (or want to learn DejaGNU or similar), the number one
-priority on my list of things I don't have time to do right now is
-fixing up the GNU make test suite. Most importantly it needs to be made
-"parallelizable", so more than one regression can run at the same time
-(essentially, make the "work" directory local). Also, the CWD during
-the test should be in the work directory or, better, a test-specific
-temporary directory so each test gets a new directory; right now
-sometimes tests leak files into the main directory which causes
-subsequent tests to fail (some tests may need to be tweaked). Beyond
-that, any cleanup done to make writing, reading, or handling tests
-simpler would be great! Please feel free to make whatever changes you
-like to the current tests, given some high-level goals, and that you'll
-port the current tests to whatever you do :).
-
-
-The Rest of the List
---------------------
-
- 1) Option to check more than timestamps to determine if targets have
- changed. This is also a very big one. It's _close_ to my plate :),
- and I have very definite ideas about how I would like it done.
- Please pick something else unless you must have this feature. If
- you try it, please work _extremely_ closely with me on it.
-
- 1a) Possibly a special case of this is the .KEEP_STATE feature of Sun's
- make. Some great folks at W U. in Canada did an implementation of
- this for a class project. Their approach is reasonable and
- workable, but doesn't really fit into my ideas for #2. Maybe
- that's OK. I have paperwork for their work so if you want to do
- this one talk to me to get what they've already done.
-
- [K R Praveen <praveen@cair.res.in>]
-
- 2) Currently you can use "%.foo %.bar : %.baz" to mean that one
- invocation of the rule builds both targets. GNU make needs a way to
- do that for explicit rules, too. I heard a rumor that some versions
- of make all you to say "a.foo + a.bar : a.baz" to do this (i.e., a
- "+" means one invocation builds both). Don't know if this is the
- best syntax or not... what if you say "a.foo + a.bar a.bam : a.baz";
- what does that mean?
-
- 3) Multi-token pattern rule matching (allow %1/%2.c : %1/obj/%2.o,
- etc., or something like that). Maybe using regex?
-
- 4) Provide a .TARGETS variable, containing the names of the targets
- defined in the makefile.
-
- Actually, I now think a $(targets ...) function, at least, might be
- better than a MAKETARGETS variable. The argument would be types of
- targets to list: "phony" is the most useful one. I suppose
- "default" might also be useful. Maybe some others; check the
- bitfields to see what might be handy.
-
- 5) Some sort of operating-system independent way of handling paths
- would be outstanding, so makefiles can be written for UNIX, VMS,
- DOS, MS-Windows, Amiga, etc. with a minimum of specialization.
-
- Or, perhaps related/instead of, some sort of meta-quoting syntax so
- make can deal with filenames containing spaces, colons, etc. I
- dunno, maybe something like $[...]? This may well not be worth
- doing until #1 is done.
-
- 6) Right now the .PRECIOUS, .INTERMEDIATE, and .SECONDARY
- pseudo-targets have different capabilities. For example, .PRECIOUS
- can take a "%", the others can't. Etc. These should all work the
- same, insofar as that makes sense.
-
- 7) Improved debugging/logging/etc. capabilities. Part of this is done:
- I introduced a number of debugging enhancements. Tim Magill is (I
- think) looking into options to control output more selectively.
- One thing I want to do in debugging is add a flag to allow debugging
- of variables as they're expanded (!). This would be incredibly
- verbose, but could be invaluable when nothing else seems to work and
- you just can't figure it out. The way variables are expanded now
- means this isn't 100% trivial, but it probably won't be hard.
-
- 8) Integration of Guile as an embedded scripting language. This means:
- allowing Guile functions to be declared in makefiles somehow, then
- providing a syntax for invoking them. At least one formulation of
- that would have the function resolve to a string which would be
- substituted in the makefile, kind of like $(shell ...) does now, but
- using the embedded interpreter so there's no process forked of
- course. Obviously this is an optional add-on feature.
-
- It could be more advanced than that, even, who knows? Maybe make
- could provide Guile functions that allow Guile scripts more direct
- access to internal make structures, somehow. This kind of thing
- needs a lot of thought.
-
- Also there's always the flip side: in some very fundamental ways
- make isn't the best choice right now for a complex build tool. It's
- great for simple-to-medium tasks, but there are already other tools
- available for the really tough situations. Ask yourself,
- realistically, how much work is worthwhile to add to make, given the
- fundamentals you can't really overcome without significantly
- affecting backward compatibility--and then why not use another tool
- in the first place?
-
- Something to think about.
-
-
--------------------------------------------------------------------------------
-Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-2007, 2008, 2009, 2010 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 <http://www.gnu.org/licenses/>.
diff --git a/acinclude.m4 b/acinclude.m4
index 0e56441e..53d7ef13 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -1,8 +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, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-dnl 2008, 2009, 2010 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
@@ -100,22 +99,26 @@ changequote([,])dnl
dnl ---------------------------------------------------------------------------
dnl From Paul Eggert <eggert@twinsun.com>
+dnl Update for Darwin by Troy Runkel <Troy.Runkel@mathworks.com>
+dnl Update for AIX by Olexiy Buyanskyy (Savannah bug 32485)
AC_DEFUN([AC_STRUCT_ST_MTIM_NSEC],
- [AC_CACHE_CHECK([for nanoseconds field of struct stat.st_mtim],
+ [AC_CACHE_CHECK([for nanoseconds field of struct stat],
ac_cv_struct_st_mtim_nsec,
[ac_save_CPPFLAGS="$CPPFLAGS"
ac_cv_struct_st_mtim_nsec=no
- # tv_nsec -- the usual case
- # _tv_nsec -- Solaris 2.6, if
+ # st_mtim.tv_nsec -- the usual case
+ # st_mtim._tv_nsec -- Solaris 2.6, if
# (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1
# && !defined __EXTENSIONS__)
- # st__tim.tv_nsec -- UnixWare 2.1.2
- for ac_val in tv_nsec _tv_nsec st__tim.tv_nsec; do
+ # st_mtim.st__tim.tv_nsec -- UnixWare 2.1.2
+ # st_mtime_n -- AIX 5.2 and above
+ # st_mtimespec.tv_nsec -- Darwin (Mac OSX)
+ for ac_val in st_mtim.tv_nsec st_mtim._tv_nsec st_mtim.st__tim.tv_nsec st_mtime_n st_mtimespec.tv_nsec; do
CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val"
AC_TRY_COMPILE([#include <sys/types.h>
#include <sys/stat.h>
- ], [struct stat s; s.st_mtim.ST_MTIM_NSEC;],
+ ], [struct stat s; s.ST_MTIM_NSEC;],
[ac_cv_struct_st_mtim_nsec=$ac_val; break])
done
CPPFLAGS="$ac_save_CPPFLAGS"
diff --git a/aclocal.m4 b/aclocal.m4
index b3ea5ea4..98f09b68 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -11,15 +11,176 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
-[m4_warning([this file was generated for autoconf 2.65.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
+[m4_warning([this file was generated for autoconf 2.69.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
+
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+# serial 1 (pkg-config-0.24)
+#
+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+#
+# This program 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 2 of the License, or
+# (at your option) any later version.
+#
+# This program 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, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=m4_default([$1], [0.9.0])
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists. Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+# only at the first occurence in configure.ac, so if the first place
+# it's called might be skipped (such as if it is within an "if", you
+# have to call PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+ m4_default([$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ],
+ [pkg_failed=yes])
+ else
+ pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+ AC_MSG_RESULT([no])
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
+ else
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+ m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT])[]dnl
+ ])
+elif test $pkg_failed = untried; then
+ AC_MSG_RESULT([no])
+ m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
+ ])
+else
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
+ $3
+fi[]dnl
+])# PKG_CHECK_MODULES
+
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -31,10 +192,10 @@ To do so, use the procedure documented by the package, typically `autoreconf'.])
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
+[am__api_version='1.14'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11.1], [],
+m4_if([$1], [1.14.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -50,22 +211,82 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.1])dnl
+[AM_AUTOMAKE_VERSION([1.14.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_AR([ACT-IF-FAIL])
+# -------------------------
+# Try to determine the archiver interface, and trigger the ar-lib wrapper
+# if it is needed. If the detection of archiver interface fails, run
+# ACT-IF-FAIL (default is to abort configure with a proper error message).
+AC_DEFUN([AM_PROG_AR],
+[AC_BEFORE([$0], [LT_INIT])dnl
+AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl
+AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([ar-lib])dnl
+AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false])
+: ${AR=ar}
+
+AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface],
+ [AC_LANG_PUSH([C])
+ am_cv_ar_interface=ar
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])],
+ [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
+ AC_TRY_EVAL([am_ar_try])
+ if test "$ac_status" -eq 0; then
+ am_cv_ar_interface=ar
+ else
+ am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
+ AC_TRY_EVAL([am_ar_try])
+ if test "$ac_status" -eq 0; then
+ am_cv_ar_interface=lib
+ else
+ am_cv_ar_interface=unknown
+ fi
+ fi
+ rm -f conftest.lib libconftest.a
+ ])
+ AC_LANG_POP([C])])
+
+case $am_cv_ar_interface in
+ar)
+ ;;
+lib)
+ # Microsoft lib, so override with the ar-lib wrapper script.
+ # FIXME: It is wrong to rewrite AR.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__AR in this case,
+ # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
+ # similar.
+ AR="$am_aux_dir/ar-lib $AR"
+ ;;
+unknown)
+ m4_default([$1],
+ [AC_MSG_ERROR([could not determine $AR interface])])
+ ;;
+esac
+AC_SUBST([AR])dnl
+])
+
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
#
# Of course, Automake must honor this variable whenever it calls a
# tool from the auxiliary directory. The problem is that $srcdir (and
@@ -84,7 +305,7 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
#
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
+# harmless because $srcdir is '.', but things will broke when you
# start a VPATH build or use an absolute $srcdir.
#
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
@@ -110,22 +331,19 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 9
-
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
# Define a conditional.
AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
AC_SUBST([$1_TRUE])dnl
AC_SUBST([$1_FALSE])dnl
_AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -144,16 +362,14 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 10
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
# will think it sees a *use*, and therefore will trigger all it's
# C support machinery. Also note that it means that autoscan, seeing
@@ -163,7 +379,7 @@ fi])])
# _AM_DEPENDENCIES(NAME)
# ----------------------
# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
# We try a few techniques and use that to set a single cache variable.
#
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@@ -176,12 +392,13 @@ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
AC_REQUIRE([AM_MAKE_INCLUDE])dnl
AC_REQUIRE([AM_DEP_TRACK])dnl
-ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
- [$1], CXX, [depcc="$CXX" am_compiler_list=],
- [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], UPC, [depcc="$UPC" am_compiler_list=],
- [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
+m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
+ [$1], [CXX], [depcc="$CXX" am_compiler_list=],
+ [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+ [$1], [UPC], [depcc="$UPC" am_compiler_list=],
+ [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
AC_CACHE_CHECK([dependency style of $depcc],
[am_cv_$1_dependencies_compiler_type],
@@ -189,8 +406,9 @@ AC_CACHE_CHECK([dependency style of $depcc],
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
@@ -229,16 +447,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
@@ -247,16 +465,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
test "$am__universal" = false || continue
;;
nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
if test "x$enable_dependency_tracking" = xyes; then
continue
else
break
fi
;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
am__obj=conftest.${OBJEXT-o}
@@ -304,7 +522,7 @@ AM_CONDITIONAL([am__fastdep$1], [
# AM_SET_DEPDIR
# -------------
# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
AC_DEFUN([AM_SET_DEPDIR],
[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
@@ -314,34 +532,39 @@ AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
# AM_DEP_TRACK
# ------------
AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[ --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors])
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+ [--enable-dependency-tracking],
+ [do not reject slow dependency extractors])
+AS_HELP_STRING(
+ [--disable-dependency-tracking],
+ [speeds up one-time build])])
if test "x$enable_dependency_tracking" != xno; then
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
+ am__nodep='_no'
fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
AC_SUBST([AMDEPBACKSLASH])dnl
_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
])
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-#serial 5
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
[{
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
case $CONFIG_FILES in
@@ -354,7 +577,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
+ # We used to match only the files named 'Makefile.in', but
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
@@ -366,21 +589,19 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
continue
fi
# Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
+ # from the Makefile without running 'make'.
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
+ test -z "$am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
# simplest approach to changing $(DEPDIR) to its actual value in the
# expansion.
for file in `sed -n "
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
fdir=`AS_DIRNAME(["$file"])`
@@ -398,7 +619,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
# This macro should only be invoked once -- use via AC_REQUIRE.
#
# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each `.P' file that we will
+# is enabled. FIXME. This creates each '.P' file that we will
# need in order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AC_CONFIG_COMMANDS([depfiles],
@@ -407,47 +628,45 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
])
-# Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2005
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 3
-
AC_DEFUN([AM_WITH_DMALLOC],
[AC_MSG_CHECKING([if malloc debugging is wanted])
-AC_ARG_WITH(dmalloc,
-[ --with-dmalloc use dmalloc, as in
- http://www.dmalloc.com/dmalloc.tar.gz],
+AC_ARG_WITH([dmalloc],
+[AS_HELP_STRING([--with-dmalloc],
+ [use dmalloc, as in http://www.dmalloc.com])],
[if test "$withval" = yes; then
- AC_MSG_RESULT(yes)
- AC_DEFINE(WITH_DMALLOC,1,
+ AC_MSG_RESULT([yes])
+ AC_DEFINE([WITH_DMALLOC], [1],
[Define if using the dmalloc debugging malloc package])
LIBS="$LIBS -ldmalloc"
LDFLAGS="$LDFLAGS -g"
else
- AC_MSG_RESULT(no)
-fi], [AC_MSG_RESULT(no)])
+ AC_MSG_RESULT([no])
+fi], [AC_MSG_RESULT([no])])
])
-AU_DEFUN([fp_WITH_DMALLOC], [AM_WITH_DMALLOC])
-
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 16
-
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
@@ -460,7 +679,7 @@ AU_DEFUN([fp_WITH_DMALLOC], [AM_WITH_DMALLOC])
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
+[AC_PREREQ([2.65])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -489,31 +708,40 @@ AC_SUBST([CYGPATH_W])
# Define the identity of the package.
dnl Distinguish between old-style and new-style calls.
m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+[AC_DIAGNOSE([obsolete],
+ [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])],
[_AM_SET_OPTIONS([$1])dnl
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+m4_if(
+ m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+ [ok:ok],,
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
# Some tools Automake needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility. To be removed once Automake 1.9.x
+# dies out for good. For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
@@ -524,34 +752,78 @@ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
[_AM_PROG_TAR([v7])])])
_AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+ [_AM_DEPENDENCIES([CC])],
+ [m4_define([AC_PROG_CC],
+ m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+ [_AM_DEPENDENCIES([CXX])],
+ [m4_define([AC_PROG_CXX],
+ m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES(OBJC)],
- [define([AC_PROG_OBJC],
- defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+ [_AM_DEPENDENCIES([OBJC])],
+ [m4_define([AC_PROG_OBJC],
+ m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+ [_AM_DEPENDENCIES([OBJCXX])],
+ [m4_define([AC_PROG_OBJCXX],
+ m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
AC_CONFIG_COMMANDS_PRE(dnl
[m4_provide_if([_AM_COMPILER_EXEEXT],
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+ fi
+fi])
+
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
dnl mangled by Autoconf and run in a shell conditional statement.
m4_define([_AC_COMPILER_EXEEXT],
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. The stamp files are numbered to have different names.
@@ -573,7 +845,7 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -592,16 +864,14 @@ if test x"${install_sh}" != xset; then
install_sh="\${SHELL} $am_aux_dir/install-sh"
esac
fi
-AC_SUBST(install_sh)])
+AC_SUBST([install_sh])])
-# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2003-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 2
-
# Check whether the underlying file-system supports filenames
# with a leading dot. For instance MS-DOS doesn't.
AC_DEFUN([AM_SET_LEADING_DOT],
@@ -617,14 +887,12 @@ AC_SUBST([am__leading_dot])])
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 4
-
# AM_MAKE_INCLUDE()
# -----------------
# Check to see how make treats includes.
@@ -642,7 +910,7 @@ am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
am__include=include
@@ -667,52 +935,14 @@ AC_MSG_RESULT([$_am_result])
rm -f confinc confmf
])
-# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
- [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 6
-
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
AC_DEFUN([AM_MISSING_PROG],
@@ -720,11 +950,10 @@ AC_DEFUN([AM_MISSING_PROG],
$1=${$1-"${am_missing_run}$2"}
AC_SUBST($1)])
-
# AM_MISSING_HAS_RUN
# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl
@@ -737,15 +966,15 @@ if test x"${MISSING+set}" != xset; then
esac
fi
# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
else
am_missing_run=
- AC_MSG_WARN([`missing' script is too old or missing])
+ AC_MSG_WARN(['missing' script is too old or missing])
fi
])
-# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2003-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -753,10 +982,16 @@ fi
# AM_PROG_MKDIR_P
# ---------------
-# Check for `mkdir -p'.
+# Check for 'mkdir -p'.
AC_DEFUN([AM_PROG_MKDIR_P],
[AC_PREREQ([2.60])dnl
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl FIXME we are no longer going to remove this! adjust warning
+dnl FIXME message accordingly.
+AC_DIAGNOSE([obsolete],
+[$0: this macro is deprecated, and will soon be removed.
+You should use the Autoconf-provided 'AC][_PROG_MKDIR_P' macro instead,
+and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.])
dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
dnl while keeping a definition of mkdir_p for backward compatibility.
dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
@@ -773,27 +1008,25 @@ esac
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 4
-
# _AM_MANGLE_OPTION(NAME)
# -----------------------
AC_DEFUN([_AM_MANGLE_OPTION],
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
# _AM_SET_OPTION(NAME)
-# ------------------------------
+# --------------------
# Set option NAME. Presently that only means defining a flag for this option.
AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
+# ------------------------
# OPTIONS is a space-separated list of Automake options.
AC_DEFUN([_AM_SET_OPTIONS],
[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
@@ -804,24 +1037,82 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+ [whether $CC understands -c and -o together],
+ [am_cv_prog_cc_c_o],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 5
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
# AM_SANITY_CHECK
# ---------------
AC_DEFUN([AM_SANITY_CHECK],
[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
# Reject unsafe characters in $srcdir or the absolute working directory
# name. Accept space and tab only in the latter.
am_lf='
@@ -832,32 +1123,40 @@ case `pwd` in
esac
case $srcdir in
*[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
- AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+ AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
esac
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
+ am_has_slept=no
+ for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+ alias in your environment])
+ fi
+ if test "$[2]" = conftest.file || test $am_try -eq 2; then
+ break
+ fi
+ # Just in case.
+ sleep 1
+ am_has_slept=yes
+ done
test "$[2]" = conftest.file
)
then
@@ -867,9 +1166,85 @@ else
AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
-AC_MSG_RESULT(yes)])
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+ [AC_MSG_CHECKING([that generated files are newer than configure])
+ if test -n "$am_sleep_pid"; then
+ # Hide warnings about reused PIDs.
+ wait $am_sleep_pid 2>/dev/null
+ fi
+ AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
+
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# ("yes" being less verbose, "no" or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+ [--enable-silent-rules],
+ [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+ [--disable-silent-rules],
+ [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+dnl
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+ [am_cv_make_support_nested_variables],
+ [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+ dnl Using '$V' instead of '$(V)' breaks IRIX make.
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -877,34 +1252,32 @@ AC_MSG_RESULT(yes)])
# AM_PROG_INSTALL_STRIP
# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
+# One issue with vendor 'install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip
# is unlikely to handle the host's binaries.
# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
+# always use install-sh in "make install-strip", and initialize
# STRIPPROG with the value of the STRIP variable (set by the user).
AC_DEFUN([AM_PROG_INSTALL_STRIP],
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip". However 'strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
if test "$cross_compiling" != no; then
AC_CHECK_TOOL([STRIP], [strip], :)
fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2006-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 2
-
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -912,24 +1285,22 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
AC_DEFUN([_AM_SUBST_NOTMAKE])
# AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
# Public sister of _AM_SUBST_NOTMAKE.
AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2004-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 2
-
# _AM_PROG_TAR(FORMAT)
# --------------------
# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
#
# Substitute a variable $(am__tar) that is a command
# writing to stdout a FORMAT-tarball containing the directory
@@ -939,75 +1310,114 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Substitute a variable $(am__untar) that extract such
# a tarball read from stdin.
# $(am__untar) < result.tar
+#
AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
- [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
+[# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
+
+# We'll loop over all known methods to create a tar archive until one works.
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
+m4_if([$1], [v7],
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+
+ [m4_case([$1],
+ [ustar],
+ [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+ # There is notably a 21 bits limit for the UID and the GID. In fact,
+ # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+ # and bug#13588).
+ am_max_uid=2097151 # 2^21 - 1
+ am_max_gid=$am_max_uid
+ # The $UID and $GID variables are not portable, so we need to resort
+ # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
+ # below are definitely unexpected, so allow the users to see them
+ # (that is, avoid stderr redirection).
+ am_uid=`id -u || echo unknown`
+ am_gid=`id -g || echo unknown`
+ AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+ if test $am_uid -le $am_max_uid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi
+ AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+ if test $am_gid -le $am_max_gid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi],
+
+ [pax],
+ [],
+
+ [m4_fatal([Unknown tar format])])
+
+ AC_MSG_CHECKING([how to create a $1 tar archive])
+
+ # Go ahead even if we have the value already cached. We do so because we
+ # need to set the values for the 'am__tar' and 'am__untar' variables.
+ _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+ for _am_tool in $_am_tools; do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar; do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ AM_RUN_LOG([cat conftest.dir/file])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+ done
rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+ AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+ AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
@@ -1015,7 +1425,7 @@ AC_SUBST([am__untar])
m4_include([config/dospaths.m4])
m4_include([config/gettext.m4])
m4_include([config/iconv.m4])
-m4_include([config/isc-posix.m4])
+m4_include([config/intlmacosx.m4])
m4_include([config/lib-ld.m4])
m4_include([config/lib-link.m4])
m4_include([config/lib-prefix.m4])
diff --git a/alloca.c b/alloca.c
index 6e009b4e..02ac9211 100644
--- a/alloca.c
+++ b/alloca.c
@@ -116,7 +116,7 @@ static int stack_dir; /* 1 or -1 once known. */
static void
find_stack_direction (void)
{
- static char *addr = NULL; /* Address of first `dummy', once known. */
+ static char *addr = NULL; /* Address of first 'dummy', once known. */
auto char dummy; /* To get stack address. */
if (addr == NULL)
diff --git a/amiga.c b/amiga.c
index 6e70f659..1ef949ce 100644
--- a/amiga.c
+++ b/amiga.c
@@ -1,6 +1,5 @@
/* Running commands on Amiga
-Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-2005, 2006, 2007, 2008, 2009, 2010 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
@@ -15,7 +14,7 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
#include "variable.h"
#include "amiga.h"
#include <assert.h>
@@ -25,7 +24,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#include <proto/dos.h>
static const char Amiga_version[] = "$VER: Make 3.74.3 (12.05.96) \n"
- "Amiga Port by A. Digulla (digulla@home.lake.de)";
+ "Amiga Port by A. Digulla (digulla@home.lake.de)";
int
MyExecute (char **argv)
@@ -37,53 +36,53 @@ MyExecute (char **argv)
for (aptr=argv; *aptr; aptr++)
{
- len += strlen (*aptr) + 4;
+ len += strlen (*aptr) + 4;
}
buffer = AllocMem (len, MEMF_ANY);
if (!buffer)
- fatal (NILF, "MyExecute: Cannot allocate space for calling a command");
+ O (fatal, NILF, "MyExecute: Cannot allocate space for calling a command\n");
ptr = buffer;
for (aptr=argv; *aptr; aptr++)
{
- if (((*aptr)[0] == ';' && !(*aptr)[1]))
- {
- *ptr ++ = '"';
- strcpy (ptr, *aptr);
- ptr += strlen (ptr);
- *ptr ++ = '"';
- }
- else if ((*aptr)[0] == '@' && (*aptr)[1] == '@' && !(*aptr)[2])
- {
- *ptr ++ = '\n';
- continue;
- }
- else
- {
- strcpy (ptr, *aptr);
- ptr += strlen (ptr);
- }
- *ptr ++ = ' ';
- *ptr = 0;
+ if (((*aptr)[0] == ';' && !(*aptr)[1]))
+ {
+ *ptr ++ = '"';
+ strcpy (ptr, *aptr);
+ ptr += strlen (ptr);
+ *ptr ++ = '"';
+ }
+ else if ((*aptr)[0] == '@' && (*aptr)[1] == '@' && !(*aptr)[2])
+ {
+ *ptr ++ = '\n';
+ continue;
+ }
+ else
+ {
+ strcpy (ptr, *aptr);
+ ptr += strlen (ptr);
+ }
+ *ptr ++ = ' ';
+ *ptr = 0;
}
ptr[-1] = '\n';
status = SystemTags (buffer,
- SYS_UserShell, TRUE,
- TAG_END);
+ SYS_UserShell, TRUE,
+ TAG_END);
FreeMem (buffer, len);
- if (SetSignal(0L,0L) & SIGBREAKF_CTRL_C)
- status = 20;
+ if (SetSignal (0L,0L) & SIGBREAKF_CTRL_C)
+ status = 20;
/* Warnings don't count */
if (status == 5)
- status = 0;
+ status = 0;
return status;
}
@@ -91,27 +90,27 @@ MyExecute (char **argv)
char *
wildcard_expansion (char *wc, char *o)
{
-# define PATH_SIZE 1024
+# define PATH_SIZE 1024
struct AnchorPath * apath;
if ( (apath = AllocMem (sizeof (struct AnchorPath) + PATH_SIZE,
- MEMF_CLEAR))
- )
+ MEMF_CLEAR))
+ )
{
- apath->ap_Strlen = PATH_SIZE;
-
- if (MatchFirst (wc, apath) == 0)
- {
- do
- {
- o = variable_buffer_output (o, apath->ap_Buf,
- strlen (apath->ap_Buf));
- o = variable_buffer_output (o, " ",1);
- } while (MatchNext (apath) == 0);
- }
-
- MatchEnd (apath);
- FreeMem (apath, sizeof (struct AnchorPath) + PATH_SIZE);
+ apath->ap_Strlen = PATH_SIZE;
+
+ if (MatchFirst (wc, apath) == 0)
+ {
+ do
+ {
+ o = variable_buffer_output (o, apath->ap_Buf,
+ strlen (apath->ap_Buf));
+ o = variable_buffer_output (o, " ",1);
+ } while (MatchNext (apath) == 0);
+ }
+
+ MatchEnd (apath);
+ FreeMem (apath, sizeof (struct AnchorPath) + PATH_SIZE);
}
return o;
diff --git a/amiga.h b/amiga.h
index ee2aa327..00bca4f3 100644
--- a/amiga.h
+++ b/amiga.h
@@ -1,6 +1,5 @@
/* Definitions for amiga specific things
-Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-2005, 2006, 2007, 2008, 2009, 2010 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 --git a/ar.c b/ar.c
index 95dcbbbe..675572a1 100644
--- a/ar.c
+++ b/ar.c
@@ -1,7 +1,5 @@
-/* Interface to `ar' archives for GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 Free Software Foundation, Inc.
+/* Interface to 'ar' archives for GNU Make.
+Copyright (C) 1988-2014 Free Software Foundation, Inc.
This file is part of GNU Make.
@@ -17,18 +15,18 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
-#ifndef NO_ARCHIVES
+#ifndef NO_ARCHIVES
#include "filedef.h"
#include "dep.h"
#include <fnmatch.h>
/* Return nonzero if NAME is an archive-member reference, zero if not. An
- archive-member reference is a name like `lib(member)' where member is a
+ archive-member reference is a name like 'lib(member)' where member is a
non-empty string.
- If a name like `lib((entry))' is used, a fatal error is signaled at
+ If a name like 'lib((entry))' is used, a fatal error is signaled at
the attempt to use this unsupported feature. */
int
@@ -45,7 +43,7 @@ ar_name (const char *name)
return 0;
if (p[1] == '(' && end[-1] == ')')
- fatal (NILF, _("attempt to use unsupported feature: `%s'"), name);
+ OS (fatal, NILF, _("attempt to use unsupported feature: '%s'"), name);
return 1;
}
@@ -63,20 +61,20 @@ ar_parse_name (const char *name, char **arname_p, char **memname_p)
*arname_p = xstrdup (name);
p = strchr (*arname_p, '(');
*(p++) = '\0';
- p[strlen(p) - 1] = '\0';
+ p[strlen (p) - 1] = '\0';
*memname_p = p;
}
-/* This function is called by `ar_scan' to find which member to look at. */
+/* This function is called by 'ar_scan' to find which member to look at. */
/* 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 hdrpos UNUSED, long int datapos UNUSED,
long int size UNUSED, long int date,
int uid UNUSED, int gid UNUSED, int mode UNUSED,
- const void *name)
+ const void *name)
{
return ar_name_equal (name, mem, truncated) ? date : 0;
}
@@ -122,7 +120,7 @@ ar_member_date (const char *name)
int
ar_touch (const char *name)
{
- error (NILF, _("touch archive member is not available on VMS"));
+ O (error, NILF, _("touch archive member is not available on VMS"));
return -1;
}
#else
@@ -146,24 +144,24 @@ ar_touch (const char *name)
switch (ar_member_touch (arname, memname))
{
case -1:
- error (NILF, _("touch: Archive `%s' does not exist"), arname);
+ OS (error, NILF, _("touch: Archive '%s' does not exist"), arname);
break;
case -2:
- error (NILF, _("touch: `%s' is not a valid archive"), arname);
+ OS (error, NILF, _("touch: '%s' is not a valid archive"), arname);
break;
case -3:
perror_with_name ("touch: ", arname);
break;
case 1:
- error (NILF,
- _("touch: Member `%s' does not exist in `%s'"), memname, arname);
+ OSS (error, NILF,
+ _("touch: Member '%s' does not exist in '%s'"), memname, arname);
break;
case 0:
val = 0;
break;
default:
- error (NILF,
- _("touch: Bad return code from ar_member_touch on `%s'"), name);
+ OS (error, NILF,
+ _("touch: Bad return code from ar_member_touch on '%s'"), name);
}
free (arname);
@@ -172,23 +170,33 @@ ar_touch (const char *name)
}
#endif /* !VMS */
-/* State of an `ar_glob' run, passed to `ar_glob_match'. */
+/* State of an 'ar_glob' run, passed to 'ar_glob_match'. */
+
+/* On VMS, (object) modules in libraries do not have suffixes. That is, to
+ find a match for a pattern, the pattern must not have any suffix. So the
+ suffix of the pattern is saved and the pattern is stripped (ar_glob).
+ If there is a match and the match, which is a module name, is added to
+ the chain, the saved suffix is added back to construct a source filename
+ (ar_glob_match). */
struct ar_glob_state
{
const char *arname;
const char *pattern;
+#ifdef VMS
+ char *suffix;
+#endif
unsigned int size;
struct nameseq *chain;
unsigned int n;
};
-/* This function is called by `ar_scan' to match one archive
+/* This function is called by 'ar_scan' to match one archive
element against the pattern in STATE. */
static long int
ar_glob_match (int desc UNUSED, const char *mem, int truncated UNUSED,
- long int hdrpos UNUSED, long int datapos UNUSED,
+ long int hdrpos UNUSED, long int datapos UNUSED,
long int size UNUSED, long int date UNUSED, int uid UNUSED,
int gid UNUSED, int mode UNUSED, const void *arg)
{
@@ -198,7 +206,13 @@ ar_glob_match (int desc UNUSED, const char *mem, int truncated UNUSED,
{
/* We have a match. Add it to the chain. */
struct nameseq *new = xcalloc (state->size);
- new->name = strcache_add (concat (4, state->arname, "(", mem, ")"));
+#ifdef VMS
+ if (state->suffix)
+ new->name = strcache_add(
+ concat(5, state->arname, "(", mem, state->suffix, ")"));
+ else
+#endif
+ new->name = strcache_add(concat(4, state->arname, "(", mem, ")"));
new->next = state->chain;
state->chain = new;
++state->n;
@@ -220,21 +234,21 @@ glob_pattern_p (const char *pattern, int quote)
{
case '?':
case '*':
- return 1;
+ return 1;
case '\\':
- if (quote)
- ++p;
- break;
+ if (quote)
+ ++p;
+ break;
case '[':
- opened = 1;
- break;
+ opened = 1;
+ break;
case ']':
- if (opened)
- return 1;
- break;
+ if (opened)
+ return 1;
+ break;
}
return 0;
@@ -250,7 +264,9 @@ ar_glob (const char *arname, const char *member_pattern, unsigned int size)
struct nameseq *n;
const char **names;
unsigned int i;
-
+#ifdef VMS
+ char *vms_member_pattern;
+#endif
if (! glob_pattern_p (member_pattern, 1))
return 0;
@@ -258,11 +274,36 @@ ar_glob (const char *arname, const char *member_pattern, unsigned int size)
ar_glob_match will accumulate them in STATE.chain. */
state.arname = arname;
state.pattern = member_pattern;
+#ifdef VMS
+ {
+ /* In a copy of the pattern, find the suffix, save it and remove it from
+ the pattern */
+ char *lastdot;
+ vms_member_pattern = xstrdup(member_pattern);
+ lastdot = strrchr(vms_member_pattern, '.');
+ state.suffix = lastdot;
+ if (lastdot)
+ {
+ state.suffix = xstrdup(lastdot);
+ *lastdot = 0;
+ }
+ state.pattern = vms_member_pattern;
+ }
+#endif
state.size = size;
state.chain = 0;
state.n = 0;
ar_scan (arname, ar_glob_match, &state);
+#ifdef VMS
+ /* Deallocate any duplicated string */
+ free(vms_member_pattern);
+ if (state.suffix)
+ {
+ free(state.suffix);
+ }
+#endif
+
if (state.chain == 0)
return 0;
@@ -284,4 +325,4 @@ ar_glob (const char *arname, const char *member_pattern, unsigned int size)
return state.chain;
}
-#endif /* Not NO_ARCHIVES. */
+#endif /* Not NO_ARCHIVES. */
diff --git a/arscan.c b/arscan.c
index 4ef83758..24286fde 100644
--- a/arscan.c
+++ b/arscan.c
@@ -1,7 +1,5 @@
/* Library function for scanning an archive file.
-Copyright (C) 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -16,7 +14,12 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
+
+#ifdef TEST
+/* Hack, the real error() routine eventually pulls in die from main.c */
+#define error(a, b, c, d)
+#endif
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
@@ -24,7 +27,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#include <sys/file.h>
#endif
-#ifndef NO_ARCHIVES
+#ifndef NO_ARCHIVES
#ifdef VMS
#include <lbrdef.h>
@@ -32,99 +35,139 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#include <credef.h>
#include <descrip.h>
#include <ctype.h>
+#include <ssdef.h>
+#include <stsdef.h>
+#include <rmsdef.h>
+globalvalue unsigned int LBR$_HDRTRUNC;
+
#if __DECC
#include <unixlib.h>
#include <lbr$routines.h>
#endif
+const char *
+vmsify (const char *name, int type);
+
+/* Time conversion from VMS to Unix
+ Conversion from local time (stored in library) to GMT (needed for gmake)
+ Note: The tm_gmtoff element is a VMS extension to the ANSI standard. */
+static time_t
+vms_time_to_unix(void *vms_time)
+{
+ struct tm *tmp;
+ time_t unix_time;
+
+ unix_time = decc$fix_time(vms_time);
+ tmp = localtime(&unix_time);
+ unix_time -= tmp->tm_gmtoff;
+
+ return unix_time;
+}
-static void *VMS_lib_idx;
-static char *VMS_saved_memname;
+/* VMS library routines need static variables for callback */
+static void *VMS_lib_idx;
-static time_t VMS_member_date;
+static const void *VMS_saved_arg;
static long int (*VMS_function) ();
+static long int VMS_function_ret;
+
+
+/* This is a callback procedure for lib$get_index */
static int
-VMS_get_member_info (struct dsc$descriptor_s *module, unsigned long *rfa)
+VMS_get_member_info(struct dsc$descriptor_s *module, unsigned long *rfa)
{
int status, i;
- long int fnval;
-
- time_t val;
+ const int truncated = 0; /* Member name may be truncated */
+ time_t member_date; /* Member date */
+ char *filename;
+ unsigned int buffer_length; /* Actual buffer length */
+
+ /* Unused constants - Make does not actually use most of these */
+ const int file_desc = -1; /* archive file descriptor for reading the data */
+ const int header_position = 0; /* Header position */
+ const int data_position = 0; /* Data position in file */
+ const int data_size = 0; /* Data size */
+ const int uid = 0; /* member gid */
+ const int gid = 0; /* member gid */
+ const int mode = 0; /* member protection mode */
+ /* End of unused constants */
static struct dsc$descriptor_s bufdesc =
{ 0, DSC$K_DTYPE_T, DSC$K_CLASS_S, NULL };
+ /* Only need the module definition */
struct mhddef *mhd;
- char filename[128];
- bufdesc.dsc$a_pointer = filename;
- bufdesc.dsc$w_length = sizeof (filename);
+ /* If a previous callback is non-zero, just return that status */
+ if (VMS_function_ret)
+ {
+ return SS$_NORMAL;
+ }
+
+ /* lbr_set_module returns more than just the module header. So allocate
+ a buffer which is big enough: the maximum LBR$C_MAXHDRSIZ. That's at
+ least bigger than the size of struct mhddef.
+ If the request is too small, a buffer truncated warning is issued so
+ it can be reissued with a larger buffer.
+ We do not care if the buffer is truncated, so that is still a success. */
+ mhd = xmalloc(LBR$C_MAXHDRSIZ);
+ bufdesc.dsc$a_pointer = (char *) mhd;
+ bufdesc.dsc$w_length = LBR$C_MAXHDRSIZ;
- status = lbr$set_module (&VMS_lib_idx, rfa, &bufdesc,
- &bufdesc.dsc$w_length, 0);
- if (! (status & 1))
+ status = lbr$set_module(&VMS_lib_idx, rfa, &bufdesc, &buffer_length, 0);
+
+ if ((status != LBR$_HDRTRUNC) && !$VMS_STATUS_SUCCESS(status))
{
- error (NILF, _("lbr$set_module() failed to extract module info, status = %d"),
- status);
+ ON(error, NILF,
+ _("lbr$set_module() failed to extract module info, status = %d"),
+ status);
- lbr$close (&VMS_lib_idx);
+ lbr$close(&VMS_lib_idx);
- return 0;
+ return status;
}
- mhd = (struct mhddef *) filename;
-
-#ifdef __DECC
- /* John Fowler <jfowler@nyx.net> writes this is needed in his environment,
- * but that decc$fix_time() isn't documented to work this way. Let me
- * know if this causes problems in other VMS environments.
- */
- {
- /* Modified by M. Gehre at 11-JAN-2008 because old formula is wrong:
- * val = decc$fix_time (&mhd->mhd$l_datim) + timezone - daylight*3600;
- * a) daylight specifies, if the timezone has daylight saving enabled, not
- * if it is active
- * b) what we need is the information, if daylight saving was active, if
- * the library module was replaced. This information we get using the
- * localtime function
- */
-
- struct tm *tmp;
-
- /* Conversion from VMS time to C time */
- val = decc$fix_time (&mhd->mhd$l_datim);
-
- /*
- * Conversion from local time (stored in library) to GMT (needed for gmake)
- * Note: The tm_gmtoff element is a VMS extension to the ANSI standard.
- */
- tmp = localtime (&val);
- val -= tmp->tm_gmtoff;
- }
+#ifdef TEST
+ /* When testing this code, it is useful to know the length returned */
+ printf("Input length = %d, actual = %d\n",
+ bufdesc.dsc$w_length, buffer_length);
#endif
+ /* Conversion from VMS time to C time.
+ VMS defectlet - mhddef is sub-optimal, for the time, it has a 32 bit
+ longword, mhd$l_datim, and a 32 bit fill instead of two longwords, or
+ equivalent. */
+ member_date = vms_time_to_unix(&mhd->mhd$l_datim);
+ free(mhd);
+
+ /* Here we have a problem. The module name on VMS does not have
+ a file type, but the filename pattern in the "VMS_saved_arg"
+ may have one.
+ But only the method being called knows how to interpret the
+ filename pattern.
+ There are currently two different formats being used.
+ This means that we need a VMS specific code in those methods
+ to handle it. */
+ filename = xmalloc(module->dsc$w_length + 1);
+
+ /* TODO: We may need an option to preserve the case of the module
+ For now force the module name to lower case */
for (i = 0; i < module->dsc$w_length; i++)
- filename[i] = _tolower ((unsigned char)module->dsc$a_pointer[i]);
+ filename[i] = _tolower((unsigned char )module->dsc$a_pointer[i]);
filename[i] = '\0';
- VMS_member_date = (time_t) -1;
+ VMS_function_ret = (*VMS_function)(file_desc, filename, truncated,
+ header_position, data_position, data_size, member_date, uid, gid, mode,
+ VMS_saved_arg);
- fnval =
- (*VMS_function) (-1, filename, 0, 0, 0, 0, val, 0, 0, 0,
- VMS_saved_memname);
-
- if (fnval)
- {
- VMS_member_date = fnval;
- return 0;
- }
- else
- return 1;
+ free(filename);
+ return SS$_NORMAL;
}
+
/* Takes three arguments ARCHIVE, FUNCTION and ARG.
Open the archive named ARCHIVE, find its members one by one,
@@ -155,67 +198,96 @@ VMS_get_member_info (struct dsc$descriptor_s *module, unsigned long *rfa)
Returns 0 if have scanned successfully. */
long int
-ar_scan (const char *archive, ar_member_func_t function, const void *arg)
+ar_scan (const char *archive, ar_member_func_t function, const void *varg)
{
- char *p;
+ char *vms_archive;
static struct dsc$descriptor_s libdesc =
{ 0, DSC$K_DTYPE_T, DSC$K_CLASS_S, NULL };
- unsigned long func = LBR$C_READ;
- unsigned long type = LBR$C_TYP_UNK;
- unsigned long index = 1;
-
+ const unsigned long func = LBR$C_READ;
+ const unsigned long type = LBR$C_TYP_UNK;
+ const unsigned long index = 1;
+ unsigned long lib_idx;
int status;
- status = lbr$ini_control (&VMS_lib_idx, &func, &type, 0);
+ VMS_saved_arg = varg;
- if (! (status & 1))
+ /* Null archive string can show up in test and cause an access violation */
+ if (archive == NULL)
{
- error (NILF, _("lbr$ini_control() failed with status = %d"), status);
- return -2;
+ /* Null filenames do not exist */
+ return -1;
}
- /* there is no such descriptor with "const char *dsc$a_pointer" */
- libdesc.dsc$a_pointer = (char *)archive;
- libdesc.dsc$w_length = strlen (archive);
+ /* archive path name must be in VMS format */
+ vms_archive = (char *) vmsify(archive, 0);
- status = lbr$open (&VMS_lib_idx, &libdesc, 0, 0, 0, 0, 0);
+ status = lbr$ini_control(&VMS_lib_idx, &func, &type, 0);
- if (! (status & 1))
+ if (!$VMS_STATUS_SUCCESS(status))
{
- error (NILF, _("unable to open library `%s' to lookup member `%s'"),
- archive, (char *)arg);
- return -1;
+ ON(error, NILF, _("lbr$ini_control() failed with status = %d"), status);
+ return -2;
}
- VMS_saved_memname = (char *)arg;
+ libdesc.dsc$a_pointer = vms_archive;
+ libdesc.dsc$w_length = strlen(vms_archive);
- /* For comparison, delete .obj from arg name. */
+ status = lbr$open(&VMS_lib_idx, &libdesc, 0, NULL, 0, NULL, 0);
- p = strrchr (VMS_saved_memname, '.');
- if (p)
- *p = '\0';
+ if (!$VMS_STATUS_SUCCESS(status))
+ {
+
+ /* TODO: A library format failure could mean that this is a file
+ generated by the GNU AR utility and in that case, we need to
+ take the UNIX codepath. This will also take a change to the
+ GNV AR wrapper program. */
+
+ switch (status)
+ {
+ case RMS$_FNF:
+ /* Archive does not exist */
+ return -1;
+ default:
+#ifndef TEST
+ OSN(error, NILF,
+ _("unable to open library '%s' to lookup member status %d"),
+ archive, status);
+#endif
+ /* For library format errors, specification says to return -2 */
+ return -2;
+ }
+ }
VMS_function = function;
- VMS_member_date = (time_t) -1;
- lbr$get_index (&VMS_lib_idx, &index, VMS_get_member_info, 0);
+ /* Clear the return status, as we are supposed to stop calling the
+ callback function if it becomes non-zero, and this is a static
+ variable. */
+ VMS_function_ret = 0;
+
+ status = lbr$get_index(&VMS_lib_idx, &index, VMS_get_member_info, NULL, 0);
- /* Undo the damage. */
- if (p)
- *p = '.';
+ lbr$close(&VMS_lib_idx);
- lbr$close (&VMS_lib_idx);
+ /* Unless a failure occurred in the lbr$ routines, return the
+ the status from the 'function' routine. */
+ if ($VMS_STATUS_SUCCESS(status))
+ {
+ return VMS_function_ret;
+ }
- return VMS_member_date > 0 ? VMS_member_date : 0;
+ /* This must be something wrong with the library and an error
+ message should already have been printed. */
+ return -2;
}
#else /* !VMS */
/* SCO Unix's compiler defines both of these. */
-#ifdef M_UNIX
-#undef M_XENIX
+#ifdef M_UNIX
+#undef M_XENIX
#endif
/* On the sun386i and in System V rel 3, ar.h defines two different archive
@@ -224,7 +296,7 @@ ar_scan (const char *archive, ar_member_func_t function, const void *arg)
to have a nonzero value. */
#if (!defined (PORTAR) || PORTAR == 0) && (!defined (PORT5AR) || PORT5AR == 0)
-#undef PORTAR
+#undef PORTAR
#ifdef M_XENIX
/* According to Jim Sievert <jas1@rsvl.unisys.com>, for SCO XENIX defining
PORTAR to 1 gets the wrong archive format, and defining it to 0 gets the
@@ -253,23 +325,23 @@ ar_scan (const char *archive, ar_member_func_t function, const void *arg)
#endif
#ifndef WINDOWS32
-# ifndef __BEOS__
+# if !defined (__ANDROID__) && !defined (__BEOS__)
# include <ar.h>
# else
- /* BeOS 5 doesn't have <ar.h> but has archives in the same format
+ /* These platforms don't have <ar.h> but have archives in the same format
* as many other Unices. This was taken from GNU binutils for BeOS.
*/
-# define ARMAG "!<arch>\n" /* String that begins an archive file. */
-# define SARMAG 8 /* Size of that string. */
-# define ARFMAG "`\n" /* String in ar_fmag at end of each header. */
+# define ARMAG "!<arch>\n" /* String that begins an archive file. */
+# define SARMAG 8 /* Size of that string. */
+# define ARFMAG "`\n" /* String in ar_fmag at end of each header. */
struct ar_hdr
{
- char ar_name[16]; /* Member file name, sometimes / terminated. */
- char ar_date[12]; /* File date, decimal seconds since Epoch. */
- char ar_uid[6], ar_gid[6]; /* User and group IDs, in ASCII decimal. */
- char ar_mode[8]; /* File mode, in ASCII octal. */
- char ar_size[10]; /* File size, in ASCII decimal. */
- char ar_fmag[2]; /* Always contains ARFMAG. */
+ char ar_name[16]; /* Member file name, sometimes / terminated. */
+ char ar_date[12]; /* File date, decimal seconds since Epoch. */
+ char ar_uid[6], ar_gid[6]; /* User and group IDs, in ASCII decimal. */
+ char ar_mode[8]; /* File mode, in ASCII octal. */
+ char ar_size[10]; /* File size, in ASCII decimal. */
+ char ar_fmag[2]; /* Always contains ARFMAG. */
};
# endif
# define TOCHAR(_m) (_m)
@@ -294,8 +366,8 @@ struct ar_hdr
#endif
/* Cray's <ar.h> apparently defines this. */
-#ifndef AR_HDR_SIZE
-# define AR_HDR_SIZE (sizeof (struct ar_hdr))
+#ifndef AR_HDR_SIZE
+# define AR_HDR_SIZE (sizeof (struct ar_hdr))
#endif
/* Takes three arguments ARCHIVE, FUNCTION and ARG.
@@ -330,12 +402,10 @@ ar_scan (const char *archive, ar_member_func_t function, const void *arg)
{
#ifdef AIAMAG
FL_HDR fl_header;
-#ifdef AIAMAGBIG
+# ifdef AIAMAGBIG
int big_archive = 0;
FL_HDR_BIG fl_header_big;
-#endif
-#else
- int long_name = 0;
+# endif
#endif
char *namemap = 0;
int desc = open (archive, O_RDONLY, 0);
@@ -347,8 +417,8 @@ ar_scan (const char *archive, ar_member_func_t function, const void *arg)
register int nread = read (desc, buf, SARMAG);
if (nread != SARMAG || memcmp (buf, ARMAG, SARMAG))
{
- (void) close (desc);
- return -2;
+ (void) close (desc);
+ return -2;
}
}
#else
@@ -358,39 +428,39 @@ ar_scan (const char *archive, ar_member_func_t function, const void *arg)
if (nread != FL_HSZ)
{
- (void) close (desc);
- return -2;
+ (void) close (desc);
+ return -2;
}
#ifdef AIAMAGBIG
/* If this is a "big" archive, then set the flag and
re-read the header into the "big" structure. */
if (!memcmp (fl_header.fl_magic, AIAMAGBIG, SAIAMAG))
{
- big_archive = 1;
-
- /* seek back to beginning of archive */
- if (lseek (desc, 0, 0) < 0)
- {
- (void) close (desc);
- return -2;
- }
-
- /* re-read the header into the "big" structure */
- nread = read (desc, &fl_header_big, FL_HSZ_BIG);
- if (nread != FL_HSZ_BIG)
- {
- (void) close (desc);
- return -2;
- }
+ big_archive = 1;
+
+ /* seek back to beginning of archive */
+ if (lseek (desc, 0, 0) < 0)
+ {
+ (void) close (desc);
+ return -2;
+ }
+
+ /* re-read the header into the "big" structure */
+ nread = read (desc, &fl_header_big, FL_HSZ_BIG);
+ if (nread != FL_HSZ_BIG)
+ {
+ (void) close (desc);
+ return -2;
+ }
}
else
#endif
/* Check to make sure this is a "normal" archive. */
if (memcmp (fl_header.fl_magic, AIAMAG, SAIAMAG))
- {
+ {
(void) close (desc);
return -2;
- }
+ }
}
#else
{
@@ -399,11 +469,11 @@ ar_scan (const char *archive, ar_member_func_t function, const void *arg)
#else
unsigned short int buf;
#endif
- register int nread = read(desc, &buf, sizeof (buf));
+ register int nread = read (desc, &buf, sizeof (buf));
if (nread != sizeof (buf) || buf != ARMAG)
{
- (void) close (desc);
- return -2;
+ (void) close (desc);
+ return -2;
}
}
#endif
@@ -421,143 +491,144 @@ ar_scan (const char *archive, ar_member_func_t function, const void *arg)
#ifdef AIAMAGBIG
if ( big_archive )
{
- sscanf (fl_header_big.fl_fstmoff, "%20ld", &member_offset);
- sscanf (fl_header_big.fl_lstmoff, "%20ld", &last_member_offset);
+ sscanf (fl_header_big.fl_fstmoff, "%20ld", &member_offset);
+ sscanf (fl_header_big.fl_lstmoff, "%20ld", &last_member_offset);
}
else
#endif
{
- sscanf (fl_header.fl_fstmoff, "%12ld", &member_offset);
- sscanf (fl_header.fl_lstmoff, "%12ld", &last_member_offset);
+ sscanf (fl_header.fl_fstmoff, "%12ld", &member_offset);
+ sscanf (fl_header.fl_lstmoff, "%12ld", &last_member_offset);
}
if (member_offset == 0)
{
- /* Empty archive. */
- close (desc);
- return 0;
+ /* Empty archive. */
+ close (desc);
+ return 0;
}
#else
-#ifndef M_XENIX
+#ifndef M_XENIX
register long int member_offset = sizeof (int);
-#else /* Xenix. */
+#else /* Xenix. */
register long int member_offset = sizeof (unsigned short int);
-#endif /* Not Xenix. */
+#endif /* Not Xenix. */
#endif
#endif
while (1)
{
- register int nread;
- struct ar_hdr member_header;
+ register int nread;
+ struct ar_hdr member_header;
#ifdef AIAMAGBIG
- struct ar_hdr_big member_header_big;
+ struct ar_hdr_big member_header_big;
#endif
#ifdef AIAMAG
- char name[256];
- int name_len;
- long int dateval;
- int uidval, gidval;
- long int data_offset;
+ char name[256];
+ int name_len;
+ long int dateval;
+ int uidval, gidval;
+ long int data_offset;
#else
- char namebuf[sizeof member_header.ar_name + 1];
- char *name;
- int is_namemap; /* Nonzero if this entry maps long names. */
+ char namebuf[sizeof member_header.ar_name + 1];
+ char *name;
+ int is_namemap; /* Nonzero if this entry maps long names. */
+ int long_name = 0;
#endif
- long int eltsize;
- int eltmode;
- long int fnval;
+ long int eltsize;
+ int eltmode;
+ long int fnval;
- if (lseek (desc, member_offset, 0) < 0)
- {
- (void) close (desc);
- return -2;
- }
+ if (lseek (desc, member_offset, 0) < 0)
+ {
+ (void) close (desc);
+ return -2;
+ }
#ifdef AIAMAG
#define AR_MEMHDR_SZ(x) (sizeof(x) - sizeof (x._ar_name))
#ifdef AIAMAGBIG
- if (big_archive)
- {
- nread = read (desc, &member_header_big,
- AR_MEMHDR_SZ(member_header_big) );
-
- if (nread != AR_MEMHDR_SZ(member_header_big))
- {
- (void) close (desc);
- return -2;
- }
-
- sscanf (member_header_big.ar_namlen, "%4d", &name_len);
- nread = read (desc, name, name_len);
-
- if (nread != name_len)
- {
- (void) close (desc);
- return -2;
- }
-
- name[name_len] = 0;
-
- sscanf (member_header_big.ar_date, "%12ld", &dateval);
- sscanf (member_header_big.ar_uid, "%12d", &uidval);
- sscanf (member_header_big.ar_gid, "%12d", &gidval);
- sscanf (member_header_big.ar_mode, "%12o", &eltmode);
- sscanf (member_header_big.ar_size, "%20ld", &eltsize);
-
- data_offset = (member_offset + AR_MEMHDR_SZ(member_header_big)
- + name_len + 2);
- }
- else
+ if (big_archive)
+ {
+ nread = read (desc, &member_header_big,
+ AR_MEMHDR_SZ(member_header_big) );
+
+ if (nread != AR_MEMHDR_SZ(member_header_big))
+ {
+ (void) close (desc);
+ return -2;
+ }
+
+ sscanf (member_header_big.ar_namlen, "%4d", &name_len);
+ nread = read (desc, name, name_len);
+
+ if (nread != name_len)
+ {
+ (void) close (desc);
+ return -2;
+ }
+
+ name[name_len] = 0;
+
+ sscanf (member_header_big.ar_date, "%12ld", &dateval);
+ sscanf (member_header_big.ar_uid, "%12d", &uidval);
+ sscanf (member_header_big.ar_gid, "%12d", &gidval);
+ sscanf (member_header_big.ar_mode, "%12o", &eltmode);
+ sscanf (member_header_big.ar_size, "%20ld", &eltsize);
+
+ data_offset = (member_offset + AR_MEMHDR_SZ(member_header_big)
+ + name_len + 2);
+ }
+ else
#endif
- {
- nread = read (desc, &member_header,
- AR_MEMHDR_SZ(member_header) );
-
- if (nread != AR_MEMHDR_SZ(member_header))
- {
- (void) close (desc);
- return -2;
- }
-
- sscanf (member_header.ar_namlen, "%4d", &name_len);
- nread = read (desc, name, name_len);
-
- if (nread != name_len)
- {
- (void) close (desc);
- return -2;
- }
-
- name[name_len] = 0;
-
- sscanf (member_header.ar_date, "%12ld", &dateval);
- sscanf (member_header.ar_uid, "%12d", &uidval);
- sscanf (member_header.ar_gid, "%12d", &gidval);
- sscanf (member_header.ar_mode, "%12o", &eltmode);
- sscanf (member_header.ar_size, "%12ld", &eltsize);
-
- data_offset = (member_offset + AR_MEMHDR_SZ(member_header)
- + name_len + 2);
- }
- data_offset += data_offset % 2;
-
- fnval =
- (*function) (desc, name, 0,
- member_offset, data_offset, eltsize,
- dateval, uidval, gidval,
- eltmode, arg);
-
-#else /* Not AIAMAG. */
- nread = read (desc, &member_header, AR_HDR_SIZE);
- if (nread == 0)
- /* No data left means end of file; that is OK. */
- break;
-
- if (nread != AR_HDR_SIZE
+ {
+ nread = read (desc, &member_header,
+ AR_MEMHDR_SZ(member_header) );
+
+ if (nread != AR_MEMHDR_SZ(member_header))
+ {
+ (void) close (desc);
+ return -2;
+ }
+
+ sscanf (member_header.ar_namlen, "%4d", &name_len);
+ nread = read (desc, name, name_len);
+
+ if (nread != name_len)
+ {
+ (void) close (desc);
+ return -2;
+ }
+
+ name[name_len] = 0;
+
+ sscanf (member_header.ar_date, "%12ld", &dateval);
+ sscanf (member_header.ar_uid, "%12d", &uidval);
+ sscanf (member_header.ar_gid, "%12d", &gidval);
+ sscanf (member_header.ar_mode, "%12o", &eltmode);
+ sscanf (member_header.ar_size, "%12ld", &eltsize);
+
+ data_offset = (member_offset + AR_MEMHDR_SZ(member_header)
+ + name_len + 2);
+ }
+ data_offset += data_offset % 2;
+
+ fnval =
+ (*function) (desc, name, 0,
+ member_offset, data_offset, eltsize,
+ dateval, uidval, gidval,
+ eltmode, arg);
+
+#else /* Not AIAMAG. */
+ nread = read (desc, &member_header, AR_HDR_SIZE);
+ if (nread == 0)
+ /* No data left means end of file; that is OK. */
+ break;
+
+ if (nread != AR_HDR_SIZE
#if defined(ARFMAG) || defined(ARFZMAG)
- || (
+ || (
# ifdef ARFMAG
memcmp (member_header.ar_fmag, ARFMAG, 2)
# else
@@ -571,152 +642,152 @@ ar_scan (const char *archive, ar_member_func_t function, const void *arg)
# endif
)
#endif
- )
- {
- (void) close (desc);
- return -2;
- }
-
- name = namebuf;
- memcpy (name, member_header.ar_name, sizeof member_header.ar_name);
- {
- register char *p = name + sizeof member_header.ar_name;
- do
- *p = '\0';
- while (p > name && *--p == ' ');
+ )
+ {
+ (void) close (desc);
+ return -2;
+ }
+
+ name = namebuf;
+ memcpy (name, member_header.ar_name, sizeof member_header.ar_name);
+ {
+ register char *p = name + sizeof member_header.ar_name;
+ do
+ *p = '\0';
+ while (p > name && *--p == ' ');
#ifndef AIAMAG
- /* If the member name is "//" or "ARFILENAMES/" this may be
- a list of file name mappings. The maximum file name
- length supported by the standard archive format is 14
- characters. This member will actually always be the
- first or second entry in the archive, but we don't check
- that. */
- is_namemap = (!strcmp (name, "//")
- || !strcmp (name, "ARFILENAMES/"));
-#endif /* Not AIAMAG. */
- /* On some systems, there is a slash after each member name. */
- if (*p == '/')
- *p = '\0';
+ /* If the member name is "//" or "ARFILENAMES/" this may be
+ a list of file name mappings. The maximum file name
+ length supported by the standard archive format is 14
+ characters. This member will actually always be the
+ first or second entry in the archive, but we don't check
+ that. */
+ is_namemap = (!strcmp (name, "//")
+ || !strcmp (name, "ARFILENAMES/"));
+#endif /* Not AIAMAG. */
+ /* On some systems, there is a slash after each member name. */
+ if (*p == '/')
+ *p = '\0';
#ifndef AIAMAG
- /* If the member name starts with a space or a slash, this
- is an index into the file name mappings (used by GNU ar).
- Otherwise if the member name looks like #1/NUMBER the
- real member name appears in the element data (used by
- 4.4BSD). */
- if (! is_namemap
- && (name[0] == ' ' || name[0] == '/')
- && namemap != 0)
- {
- name = namemap + atoi (name + 1);
- long_name = 1;
- }
- else if (name[0] == '#'
- && name[1] == '1'
- && name[2] == '/')
- {
- int namesize = atoi (name + 3);
-
- name = alloca (namesize + 1);
- nread = read (desc, name, namesize);
- if (nread != namesize)
- {
- close (desc);
- return -2;
- }
- name[namesize] = '\0';
-
- long_name = 1;
- }
+ /* If the member name starts with a space or a slash, this
+ is an index into the file name mappings (used by GNU ar).
+ Otherwise if the member name looks like #1/NUMBER the
+ real member name appears in the element data (used by
+ 4.4BSD). */
+ if (! is_namemap
+ && (name[0] == ' ' || name[0] == '/')
+ && namemap != 0)
+ {
+ name = namemap + atoi (name + 1);
+ long_name = 1;
+ }
+ else if (name[0] == '#'
+ && name[1] == '1'
+ && name[2] == '/')
+ {
+ int namesize = atoi (name + 3);
+
+ name = alloca (namesize + 1);
+ nread = read (desc, name, namesize);
+ if (nread != namesize)
+ {
+ close (desc);
+ return -2;
+ }
+ name[namesize] = '\0';
+
+ long_name = 1;
+ }
#endif /* Not AIAMAG. */
- }
-
-#ifndef M_XENIX
- sscanf (TOCHAR (member_header.ar_mode), "%o", &eltmode);
- eltsize = atol (TOCHAR (member_header.ar_size));
-#else /* Xenix. */
- eltmode = (unsigned short int) member_header.ar_mode;
- eltsize = member_header.ar_size;
-#endif /* Not Xenix. */
-
- fnval =
- (*function) (desc, name, ! long_name, member_offset,
- member_offset + AR_HDR_SIZE, eltsize,
-#ifndef M_XENIX
- atol (TOCHAR (member_header.ar_date)),
- atoi (TOCHAR (member_header.ar_uid)),
- atoi (TOCHAR (member_header.ar_gid)),
-#else /* Xenix. */
- member_header.ar_date,
- member_header.ar_uid,
- member_header.ar_gid,
-#endif /* Not Xenix. */
- eltmode, arg);
+ }
+
+#ifndef M_XENIX
+ sscanf (TOCHAR (member_header.ar_mode), "%o", &eltmode);
+ eltsize = atol (TOCHAR (member_header.ar_size));
+#else /* Xenix. */
+ eltmode = (unsigned short int) member_header.ar_mode;
+ eltsize = member_header.ar_size;
+#endif /* Not Xenix. */
+
+ fnval =
+ (*function) (desc, name, ! long_name, member_offset,
+ member_offset + AR_HDR_SIZE, eltsize,
+#ifndef M_XENIX
+ atol (TOCHAR (member_header.ar_date)),
+ atoi (TOCHAR (member_header.ar_uid)),
+ atoi (TOCHAR (member_header.ar_gid)),
+#else /* Xenix. */
+ member_header.ar_date,
+ member_header.ar_uid,
+ member_header.ar_gid,
+#endif /* Not Xenix. */
+ eltmode, arg);
#endif /* AIAMAG. */
- if (fnval)
- {
- (void) close (desc);
- return fnval;
- }
+ if (fnval)
+ {
+ (void) close (desc);
+ return fnval;
+ }
#ifdef AIAMAG
- if (member_offset == last_member_offset)
- /* End of the chain. */
- break;
+ if (member_offset == last_member_offset)
+ /* End of the chain. */
+ break;
#ifdef AIAMAGBIG
- if (big_archive)
+ if (big_archive)
sscanf (member_header_big.ar_nxtmem, "%20ld", &member_offset);
- else
+ else
#endif
- sscanf (member_header.ar_nxtmem, "%12ld", &member_offset);
+ sscanf (member_header.ar_nxtmem, "%12ld", &member_offset);
- if (lseek (desc, member_offset, 0) != member_offset)
- {
- (void) close (desc);
- return -2;
- }
+ if (lseek (desc, member_offset, 0) != member_offset)
+ {
+ (void) close (desc);
+ return -2;
+ }
#else
- /* If this member maps archive names, we must read it in. The
- name map will always precede any members whose names must
- be mapped. */
- if (is_namemap)
- {
- char *clear;
- char *limit;
-
- namemap = alloca (eltsize);
- nread = read (desc, namemap, eltsize);
- if (nread != eltsize)
- {
- (void) close (desc);
- return -2;
- }
-
- /* The names are separated by newlines. Some formats have
- a trailing slash. Null terminate the strings for
- convenience. */
- limit = namemap + eltsize;
- for (clear = namemap; clear < limit; clear++)
- {
- if (*clear == '\n')
- {
- *clear = '\0';
- if (clear[-1] == '/')
- clear[-1] = '\0';
- }
- }
-
- is_namemap = 0;
- }
-
- member_offset += AR_HDR_SIZE + eltsize;
- if (member_offset % 2 != 0)
- member_offset++;
+ /* If this member maps archive names, we must read it in. The
+ name map will always precede any members whose names must
+ be mapped. */
+ if (is_namemap)
+ {
+ char *clear;
+ char *limit;
+
+ namemap = alloca (eltsize);
+ nread = read (desc, namemap, eltsize);
+ if (nread != eltsize)
+ {
+ (void) close (desc);
+ return -2;
+ }
+
+ /* The names are separated by newlines. Some formats have
+ a trailing slash. Null terminate the strings for
+ convenience. */
+ limit = namemap + eltsize;
+ for (clear = namemap; clear < limit; clear++)
+ {
+ if (*clear == '\n')
+ {
+ *clear = '\0';
+ if (clear[-1] == '/')
+ clear[-1] = '\0';
+ }
+ }
+
+ is_namemap = 0;
+ }
+
+ member_offset += AR_HDR_SIZE + eltsize;
+ if (member_offset % 2 != 0)
+ member_offset++;
#endif
}
}
@@ -748,22 +819,45 @@ ar_name_equal (const char *name, const char *mem, int truncated)
#else
struct ar_hdr hdr;
#if !defined (__hpux) && !defined (cray)
- return strneq (name, mem, sizeof(hdr.ar_name) - 1);
+ return strneq (name, mem, sizeof (hdr.ar_name) - 1);
#else
- return strneq (name, mem, sizeof(hdr.ar_name) - 2);
+ return strneq (name, mem, sizeof (hdr.ar_name) - 2);
#endif /* !__hpux && !cray */
#endif /* !AIAMAG */
}
-#endif /* !VMS */
return !strcmp (name, mem);
+#else
+ /* VMS members do not have suffixes, but the filenames usually
+ have.
+ Do we need to strip VMS disk/directory format paths?
+
+ Most VMS compilers etc. by default are case insensitive
+ but produce uppercase external names, incl. module names.
+ However the VMS librarian (ar) and the linker by default
+ are case sensitive: they take what they get, usually
+ uppercase names. So for the non-default settings of the
+ compilers etc. there is a need to have a case sensitive
+ mode. */
+ {
+ int len;
+ len = strlen(mem);
+ int match;
+ char *dot;
+ if ((dot=strrchr(name,'.')))
+ match = (len == dot - name) && !strncasecmp(name, mem, len);
+ else
+ match = !strcasecmp (name, mem);
+ return match;
+ }
+#endif /* !VMS */
}
#ifndef VMS
/* ARGSUSED */
static long int
ar_member_pos (int desc UNUSED, const char *mem, int truncated,
- long int hdrpos, long int datapos UNUSED, long int size UNUSED,
+ long int hdrpos, long int datapos UNUSED, long int size UNUSED,
long int date UNUSED, int uid UNUSED, int gid UNUSED,
int mode UNUSED, const void *name)
{
@@ -817,7 +911,7 @@ ar_member_touch (const char *arname, const char *memname)
ar_hdr.ar_date[ui] = ' ';
sprintf (TOCHAR (ar_hdr.ar_date), "%ld", (long int) statbuf.st_mtime);
#ifdef AIAMAG
- ar_hdr.ar_date[strlen(ar_hdr.ar_date)] = ' ';
+ ar_hdr.ar_date[strlen (ar_hdr.ar_date)] = ' ';
#endif
#else
ar_hdr.ar_date = statbuf.st_mtime;
@@ -842,14 +936,14 @@ ar_member_touch (const char *arname, const char *memname)
long int
describe_member (int desc, const char *name, int truncated,
- long int hdrpos, long int datapos, long int size,
+ long int hdrpos, long int datapos, long int size,
long int date, int uid, int gid, int mode, const void *arg)
{
extern char *ctime ();
- printf (_("Member `%s'%s: %ld bytes at %ld (%ld).\n"),
- name, truncated ? _(" (name might be truncated)") : "",
- size, hdrpos, datapos);
+ printf (_("Member '%s'%s: %ld bytes at %ld (%ld).\n"),
+ name, truncated ? _(" (name might be truncated)") : "",
+ size, hdrpos, datapos);
printf (_(" Date %s"), ctime (&date));
printf (_(" uid = %d, gid = %d, mode = 0%o.\n"), uid, gid, mode);
@@ -863,5 +957,5 @@ main (int argc, char **argv)
return 0;
}
-#endif /* TEST. */
-#endif /* NO_ARCHIVES. */
+#endif /* TEST. */
+#endif /* NO_ARCHIVES. */
diff --git a/autom4te.cache/output.0 b/autom4te.cache/output.0
deleted file mode 100644
index 76db0888..00000000
--- a/autom4te.cache/output.0
+++ /dev/null
@@ -1,11447 +0,0 @@
-@%:@! /bin/sh
-@%:@ From configure.in Id: configure.in,v 1.159 2011/11/15 22:56:26 psmith Exp .
-@%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.68 for GNU make 3.82.90.
-@%:@
-@%:@ Report bugs to <bug-make@gnu.org>.
-@%:@
-@%:@
-@%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-@%:@ 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-@%:@ Foundation, Inc.
-@%:@
-@%:@
-@%:@ This configure script is free software; the Free Software Foundation
-@%:@ gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in @%:@(
- *posix*) :
- set -o posix ;; @%:@(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in @%:@(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in @%:@((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in @%:@(
- *posix*) :
- set -o posix ;; @%:@(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in @%:@(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in @%:@ ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org and bug-make@gnu.org
-$0: about your system, including any error possibly output
-$0: before this message. Then install a modern shell, or
-$0: manually run the script under such a shell if you do
-$0: have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-@%:@ as_fn_unset VAR
-@%:@ ---------------
-@%:@ Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-@%:@ as_fn_set_status STATUS
-@%:@ -----------------------
-@%:@ Set @S|@? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} @%:@ as_fn_set_status
-
-@%:@ as_fn_exit STATUS
-@%:@ -----------------
-@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} @%:@ as_fn_exit
-
-@%:@ as_fn_mkdir_p
-@%:@ -------------
-@%:@ Create "@S|@as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} @%:@ as_fn_mkdir_p
-@%:@ as_fn_append VAR VALUE
-@%:@ ----------------------
-@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take
-@%:@ advantage of any shell optimizations that allow amortized linear growth over
-@%:@ repeated appends, instead of the typical quadratic growth present in naive
-@%:@ implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-@%:@ as_fn_arith ARG...
-@%:@ ------------------
-@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the
-@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments
-@%:@ must be portable across @S|@(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD]
-@%:@ ----------------------------------------
-@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-@%:@ script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} @%:@ as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in @%:@(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in @%:@(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in @%:@((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIB@&t@OBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='GNU make'
-PACKAGE_TARNAME='make'
-PACKAGE_VERSION='3.82.90'
-PACKAGE_STRING='GNU make 3.82.90'
-PACKAGE_BUGREPORT='bug-make@gnu.org'
-PACKAGE_URL='http://www.gnu.org/software/make/'
-
-ac_unique_file="vpath.c"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-gt_needs=
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-WINDOWSENV_FALSE
-WINDOWSENV_TRUE
-MAKE_HOST
-USE_LOCAL_GLOB_FALSE
-USE_LOCAL_GLOB_TRUE
-GLOBLIB
-GLOBINC
-USE_CUSTOMS_FALSE
-USE_CUSTOMS_TRUE
-REMOTE
-GETLOADAVG_LIBS
-KMEM_GROUP
-NEED_SETGID
-LIB@&t@OBJS
-ALLOCA
-POSUB
-LTLIBINTL
-LIBINTL
-INTLLIBS
-LTLIBICONV
-LIBICONV
-INTL_MACOSX_LIBS
-XGETTEXT_EXTRA_OPTIONS
-MSGMERGE
-XGETTEXT_015
-XGETTEXT
-GMSGFMT_015
-MSGFMT_015
-GMSGFMT
-MSGFMT
-GETTEXT_MACRO_VERSION
-USE_NLS
-EGREP
-GREP
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-PERL
-AR
-CPP
-RANLIB
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-am__nodep
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files='MAINT_MAKEFILE'
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_nls
-with_gnu_ld
-enable_rpath
-with_libiconv_prefix
-with_libintl_prefix
-enable_largefile
-with_customs
-enable_case_insensitive_file_system
-enable_job_server
-with_dmalloc
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures GNU make 3.82.90 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- @<:@@S|@ac_default_prefix@:>@
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- @<:@PREFIX@:>@
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root @<:@DATAROOTDIR/doc/make@:>@
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of GNU make 3.82.90:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --disable-nls do not use Native Language Support
- --disable-rpath do not hardcode runtime library paths
- --disable-largefile omit support for large files
- --enable-case-insensitive-file-system
- assume file systems are case insensitive
- --disable-job-server disallow recursive make communication during -jN
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-gnu-ld assume the C compiler uses GNU ld default=no
- --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
- --without-libiconv-prefix don't search for libiconv in includedir and libdir
- --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib
- --without-libintl-prefix don't search for libintl in includedir and libdir
- --with-customs=DIR enable remote jobs via Customs--see README.customs
- --with-dmalloc use dmalloc, as in http://www.dmalloc.com
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CPP C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <bug-make@gnu.org>.
-GNU make home page: <http://www.gnu.org/software/make/>.
-General help using GNU software: <http://www.gnu.org/gethelp/>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-GNU make configure 3.82.90
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-@%:@ ac_fn_c_try_compile LINENO
-@%:@ --------------------------
-@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_compile
-
-@%:@ ac_fn_c_try_cpp LINENO
-@%:@ ----------------------
-@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_cpp
-
-@%:@ ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-@%:@ -------------------------------------------------------
-@%:@ Tests whether HEADER exists, giving a warning if it cannot be compiled using
-@%:@ the include files in INCLUDES and setting the cache variable VAR
-@%:@ accordingly.
-ac_fn_c_check_header_mongrel ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval \${$3+:} false; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_header_compiler=yes
-else
- ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- ac_header_preproc=yes
-else
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
- yes:no: )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
- no:yes:* )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------- ##
-## Report this to bug-make@gnu.org ##
-## ------------------------------- ##"
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_header_mongrel
-
-@%:@ ac_fn_c_try_run LINENO
-@%:@ ----------------------
-@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. Assumes
-@%:@ that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_run
-
-@%:@ ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-@%:@ -------------------------------------------------------
-@%:@ Tests whether HEADER exists and can be compiled using the include files in
-@%:@ INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_header_compile
-
-@%:@ ac_fn_c_try_link LINENO
-@%:@ -----------------------
-@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_link
-
-@%:@ ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-@%:@ -------------------------------------------
-@%:@ Tests whether TYPE exists after having included INCLUDES, setting cache
-@%:@ variable VAR accordingly.
-ac_fn_c_check_type ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_type
-
-@%:@ ac_fn_c_check_func LINENO FUNC VAR
-@%:@ ----------------------------------
-@%:@ Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_func
-
-@%:@ ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
-@%:@ ---------------------------------------------
-@%:@ Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
-@%:@ accordingly.
-ac_fn_c_check_decl ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- as_decl_name=`echo $2|sed 's/ *(.*//'`
- as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
-$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-@%:@ifndef $as_decl_name
-@%:@ifdef __cplusplus
- (void) $as_decl_use;
-@%:@else
- (void) $as_decl_name;
-@%:@endif
-@%:@endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_decl
-
-@%:@ ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
-@%:@ ----------------------------------------------------
-@%:@ Tries to find if the field MEMBER exists in type AGGR, after including
-@%:@ INCLUDES, setting cache variable VAR accordingly.
-ac_fn_c_check_member ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
-$as_echo_n "checking for $2.$3... " >&6; }
-if eval \${$4+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$5
-int
-main ()
-{
-static $2 ac_aggr;
-if (ac_aggr.$3)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$4=yes"
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$5
-int
-main ()
-{
-static $2 ac_aggr;
-if (sizeof ac_aggr.$3)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$4=yes"
-else
- eval "$4=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$4
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_member
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by GNU make $as_me 3.82.90, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in @%:@((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-gt_needs="$gt_needs "
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-
-# Autoconf setup
-ac_aux_dir=
-for ac_dir in config "$srcdir"/config; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in config \"$srcdir\"/config" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-
-ac_config_headers="$ac_config_headers config.h"
-
-
-# Automake setup
-am__api_version='1.11'
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in @%:@((
- ./ | .// | /[cC]/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-
- done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[\\\"\#\$\&\'\`$am_lf]*)
- as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
- *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
-alias in your environment" "$LINENO" 5
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
- if ${ac_cv_path_mkdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
- done
-IFS=$as_save_IFS
-
-fi
-
- test -d ./--version && rmdir ./--version
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- SET_MAKE=
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='make'
- VERSION='3.82.90'
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility. Yes, it's still used
-# in the wild :-( We should find a proper way to deprecate it ...
-AMTAR='$${TAR-tar}'
-
-am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
-
-
-
-
-
-
-# Checks for programs.
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $@%:@ != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-@%:@ Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
- am__nodep='_no'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- rm -rf conftest.dir
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@ifdef __STDC__
-@%:@ include <limits.h>
-@%:@else
-@%:@ include <assert.h>
-@%:@endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@ifdef __STDC__
-@%:@ include <limits.h>
-@%:@else
-@%:@ include <assert.h>
-@%:@endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-# Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AR="ar"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Perl is needed for the test suite (only)
-# Extract the first word of "perl", so it can be a program name with args.
-set dummy perl; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_PERL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$PERL"; then
- ac_cv_prog_PERL="$PERL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_PERL="perl"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_prog_PERL" && ac_cv_prog_PERL="perl"
-fi
-fi
-PERL=$ac_cv_prog_PERL
-if test -n "$PERL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
-$as_echo "$PERL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-# Specialized system macros
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
- ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = xyes; then :
- MINIX=yes
-else
- MINIX=
-fi
-
-
- if test "$MINIX" = yes; then
-
-$as_echo "@%:@define _POSIX_SOURCE 1" >>confdefs.h
-
-
-$as_echo "@%:@define _POSIX_1_SOURCE 2" >>confdefs.h
-
-
-$as_echo "@%:@define _MINIX 1" >>confdefs.h
-
- fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
-$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if ${ac_cv_safe_to_define___extensions__+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-# define __EXTENSIONS__ 1
- $ac_includes_default
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_safe_to_define___extensions__=yes
-else
- ac_cv_safe_to_define___extensions__=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
-$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
- test $ac_cv_safe_to_define___extensions__ = yes &&
- $as_echo "@%:@define __EXTENSIONS__ 1" >>confdefs.h
-
- $as_echo "@%:@define _ALL_SOURCE 1" >>confdefs.h
-
- $as_echo "@%:@define _GNU_SOURCE 1" >>confdefs.h
-
- $as_echo "@%:@define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
-
- $as_echo "@%:@define _TANDEM_SOURCE 1" >>confdefs.h
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
-$as_echo_n "checking for library containing strerror... " >&6; }
-if ${ac_cv_search_strerror+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char strerror ();
-int
-main ()
-{
-return strerror ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' cposix; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_strerror=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_strerror+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_strerror+:} false; then :
-
-else
- ac_cv_search_strerror=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5
-$as_echo "$ac_cv_search_strerror" >&6; }
-ac_res=$ac_cv_search_strerror
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-
-
-# Enable gettext, in "external" mode.
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
-$as_echo_n "checking whether NLS is requested... " >&6; }
- @%:@ Check whether --enable-nls was given.
-if test "${enable_nls+set}" = set; then :
- enableval=$enable_nls; USE_NLS=$enableval
-else
- USE_NLS=yes
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
-$as_echo "$USE_NLS" >&6; }
-
-
-
-
- GETTEXT_MACRO_VERSION=0.18
-
-
-
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- 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,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "msgfmt", so it can be a program name with args.
-set dummy msgfmt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_MSGFMT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case "$MSGFMT" in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
- ;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- echo "$as_me: trying $ac_dir/$ac_word..." >&5
- if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 &&
- (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
- test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
- ;;
-esac
-fi
-MSGFMT="$ac_cv_path_MSGFMT"
-if test "$MSGFMT" != ":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
-$as_echo "$MSGFMT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- # Extract the first word of "gmsgfmt", so it can be a program name with args.
-set dummy gmsgfmt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_GMSGFMT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $GMSGFMT in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
- ;;
-esac
-fi
-GMSGFMT=$ac_cv_path_GMSGFMT
-if test -n "$GMSGFMT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
-$as_echo "$GMSGFMT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
- case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
- *) MSGFMT_015=$MSGFMT ;;
- esac
-
- case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
- *) GMSGFMT_015=$GMSGFMT ;;
- esac
-
-
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- 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,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "xgettext", so it can be a program name with args.
-set dummy xgettext; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_XGETTEXT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case "$XGETTEXT" in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
- ;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- echo "$as_me: trying $ac_dir/$ac_word..." >&5
- if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 &&
- (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
- test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
- ;;
-esac
-fi
-XGETTEXT="$ac_cv_path_XGETTEXT"
-if test "$XGETTEXT" != ":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
-$as_echo "$XGETTEXT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- rm -f messages.po
-
- case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
- *) XGETTEXT_015=$XGETTEXT ;;
- esac
-
-
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- 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,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "msgmerge", so it can be a program name with args.
-set dummy msgmerge; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_MSGMERGE+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case "$MSGMERGE" in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
- ;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- echo "$as_me: trying $ac_dir/$ac_word..." >&5
- if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then
- ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
- test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
- ;;
-esac
-fi
-MSGMERGE="$ac_cv_path_MSGMERGE"
-if test "$MSGMERGE" != ":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
-$as_echo "$MSGMERGE" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$localedir" || localedir='${datadir}/locale'
-
-
- test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
-
-
- ac_config_commands="$ac_config_commands po-directories"
-
-
-
- if test "X$prefix" = "XNONE"; then
- acl_final_prefix="$ac_default_prefix"
- else
- acl_final_prefix="$prefix"
- fi
- if test "X$exec_prefix" = "XNONE"; then
- acl_final_exec_prefix='${prefix}'
- else
- acl_final_exec_prefix="$exec_prefix"
- fi
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
- prefix="$acl_save_prefix"
-
-
-@%:@ Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- 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.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5
-$as_echo_n "checking for ld used by GCC... " >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | [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"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${acl_cv_path_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
- for ac_dir in $PATH; do
- 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 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 < /dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break ;;
- *)
- test "$with_gnu_ld" != yes && break ;;
- esac
- fi
- done
- IFS="$ac_save_ifs"
-else
- acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${acl_cv_prog_gnu_ld+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- acl_cv_prog_gnu_ld=yes ;;
-*)
- acl_cv_prog_gnu_ld=no ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
-$as_echo "$acl_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$acl_cv_prog_gnu_ld
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
-$as_echo_n "checking for shared library run path origin... " >&6; }
-if ${acl_cv_rpath+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
- ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
- . ./conftest.sh
- rm -f ./conftest.sh
- acl_cv_rpath=done
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
-$as_echo "$acl_cv_rpath" >&6; }
- wl="$acl_cv_wl"
- acl_libext="$acl_cv_libext"
- acl_shlibext="$acl_cv_shlibext"
- acl_libname_spec="$acl_cv_libname_spec"
- acl_library_names_spec="$acl_cv_library_names_spec"
- acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
- acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
- acl_hardcode_direct="$acl_cv_hardcode_direct"
- acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
- @%:@ Check whether --enable-rpath was given.
-if test "${enable_rpath+set}" = set; then :
- enableval=$enable_rpath; :
-else
- enable_rpath=yes
-fi
-
-
-
-
- acl_libdirstem=lib
- acl_libdirstem2=
- case "$host_os" in
- solaris*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
-$as_echo_n "checking for 64-bit host... " >&6; }
-if ${gl_cv_solaris_64bit+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#ifdef _LP64
-sixtyfour bits
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "sixtyfour bits" >/dev/null 2>&1; then :
- gl_cv_solaris_64bit=yes
-else
- gl_cv_solaris_64bit=no
-fi
-rm -f conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
-$as_echo "$gl_cv_solaris_64bit" >&6; }
- if test $gl_cv_solaris_64bit = yes; then
- acl_libdirstem=lib/64
- case "$host_cpu" in
- sparc*) acl_libdirstem2=lib/sparcv9 ;;
- i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
- esac
- fi
- ;;
- *)
- searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
- if test -n "$searchpath"; then
- acl_save_IFS="${IFS= }"; IFS=":"
- for searchdir in $searchpath; do
- if test -d "$searchdir"; then
- case "$searchdir" in
- */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
- */../ | */.. )
- # Better ignore directories of this form. They are misleading.
- ;;
- *) searchdir=`cd "$searchdir" && pwd`
- case "$searchdir" in
- */lib64 ) acl_libdirstem=lib64 ;;
- esac ;;
- esac
- fi
- done
- IFS="$acl_save_IFS"
- fi
- ;;
- esac
- test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
-
-
-
-
-
-
-
-
-
-
-
-
- use_additional=yes
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
-
-@%:@ Check whether --with-libiconv-prefix was given.
-if test "${with_libiconv_prefix+set}" = set; then :
- withval=$with_libiconv_prefix;
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/$acl_libdirstem"
- if test "$acl_libdirstem2" != "$acl_libdirstem" \
- && ! test -d "$withval/$acl_libdirstem"; then
- additional_libdir="$withval/$acl_libdirstem2"
- fi
- fi
- fi
-
-fi
-
- LIBICONV=
- LTLIBICONV=
- INCICONV=
- LIBICONV_PREFIX=
- HAVE_LIBICONV=
- rpathdirs=
- ltrpathdirs=
- names_already_handled=
- names_next_round='iconv '
- while test -n "$names_next_round"; do
- names_this_round="$names_next_round"
- names_next_round=
- for name in $names_this_round; do
- already_handled=
- for n in $names_already_handled; do
- if test "$n" = "$name"; then
- already_handled=yes
- break
- fi
- done
- if test -z "$already_handled"; then
- names_already_handled="$names_already_handled $name"
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
- eval value=\"\$HAVE_LIB$uppername\"
- if test -n "$value"; then
- if test "$value" = yes; then
- eval value=\"\$LIB$uppername\"
- test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value"
- eval value=\"\$LTLIB$uppername\"
- test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value"
- else
- :
- fi
- else
- found_dir=
- found_la=
- found_so=
- found_a=
- eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
- if test -n "$acl_shlibext"; then
- shrext=".$acl_shlibext" # typically: shrext=.so
- else
- shrext=
- fi
- if test $use_additional = yes; then
- dir="$additional_libdir"
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
- else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
- fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- for x in $LDFLAGS $LTLIBICONV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- case "$x" in
- -L*)
- dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
- else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
- fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
- fi
- fi
- ;;
- esac
- if test "X$found_dir" != "X"; then
- break
- fi
- done
- fi
- if test "X$found_dir" != "X"; then
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
- if test "X$found_so" != "X"; then
- if test "$enable_rpath" = no \
- || test "X$found_dir" = "X/usr/$acl_libdirstem" \
- || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
- else
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $found_dir"
- fi
- if test "$acl_hardcode_direct" = yes; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
- else
- if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $found_dir"
- fi
- else
- haveit=
- for x in $LDFLAGS $LIBICONV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
- fi
- if test "$acl_hardcode_minus_L" != no; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
- else
- LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
- fi
- fi
- fi
- fi
- else
- if test "X$found_a" != "X"; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a"
- else
- LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name"
- fi
- fi
- additional_includedir=
- case "$found_dir" in
- */$acl_libdirstem | */$acl_libdirstem/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
- if test "$name" = 'iconv'; then
- LIBICONV_PREFIX="$basedir"
- fi
- additional_includedir="$basedir/include"
- ;;
- */$acl_libdirstem2 | */$acl_libdirstem2/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
- if test "$name" = 'iconv'; then
- LIBICONV_PREFIX="$basedir"
- fi
- additional_includedir="$basedir/include"
- ;;
- esac
- if test "X$additional_includedir" != "X"; then
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- for x in $CPPFLAGS $INCICONV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- fi
- if test -n "$found_la"; then
- save_libdir="$libdir"
- case "$found_la" in
- */* | *\\*) . "$found_la" ;;
- *) . "./$found_la" ;;
- esac
- libdir="$save_libdir"
- for dep in $dependency_libs; do
- case "$dep" in
- -L*)
- additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
- && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
- haveit=
- if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
- || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- haveit=
- for x in $LDFLAGS $LIBICONV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir"
- fi
- fi
- haveit=
- for x in $LDFLAGS $LTLIBICONV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- ;;
- -R*)
- dir=`echo "X$dep" | sed -e 's/^X-R//'`
- if test "$enable_rpath" != no; then
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $dir"
- fi
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $dir"
- fi
- fi
- ;;
- -l*)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
- ;;
- *.la)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
- ;;
- *)
- LIBICONV="${LIBICONV}${LIBICONV:+ }$dep"
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep"
- ;;
- esac
- done
- fi
- else
- LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name"
- fi
- fi
- fi
- done
- done
- if test "X$rpathdirs" != "X"; then
- if test -n "$acl_hardcode_libdir_separator"; then
- alldirs=
- for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
- done
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
- else
- for found_dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$found_dir"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
- done
- fi
- fi
- if test "X$ltrpathdirs" != "X"; then
- for found_dir in $ltrpathdirs; do
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir"
- done
- fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5
-$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; }
-if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- gt_save_LIBS="$LIBS"
- LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <CoreFoundation/CFPreferences.h>
-int
-main ()
-{
-CFPreferencesCopyAppValue(NULL, NULL)
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- gt_cv_func_CFPreferencesCopyAppValue=yes
-else
- gt_cv_func_CFPreferencesCopyAppValue=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS="$gt_save_LIBS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
-$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
- if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
-
-$as_echo "@%:@define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h
-
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5
-$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; }
-if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- gt_save_LIBS="$LIBS"
- LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <CoreFoundation/CFLocale.h>
-int
-main ()
-{
-CFLocaleCopyCurrent();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- gt_cv_func_CFLocaleCopyCurrent=yes
-else
- gt_cv_func_CFLocaleCopyCurrent=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS="$gt_save_LIBS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5
-$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; }
- if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
-
-$as_echo "@%:@define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h
-
- fi
- INTL_MACOSX_LIBS=
- if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
- INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
- fi
-
-
-
-
-
-
- LIBINTL=
- LTLIBINTL=
- POSUB=
-
- case " $gt_needs " in
- *" need-formatstring-macros "*) gt_api_version=3 ;;
- *" need-ngettext "*) gt_api_version=2 ;;
- *) gt_api_version=1 ;;
- esac
- gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
- gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
-
- if test "$USE_NLS" = "yes"; then
- gt_use_preinstalled_gnugettext=no
-
-
- if test $gt_api_version -ge 3; then
- gt_revision_test_code='
-#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-'
- else
- gt_revision_test_code=
- fi
- if test $gt_api_version -ge 2; then
- gt_expression_test_code=' + * ngettext ("", "", 0)'
- else
- gt_expression_test_code=
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5
-$as_echo_n "checking for GNU gettext in libc... " >&6; }
-if eval \${$gt_func_gnugettext_libc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern int *_nl_domain_bindings;
-int
-main ()
-{
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- eval "$gt_func_gnugettext_libc=yes"
-else
- eval "$gt_func_gnugettext_libc=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$gt_func_gnugettext_libc
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-
- if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
-
-
-
-
-
- am_save_CPPFLAGS="$CPPFLAGS"
-
- for element in $INCICONV; do
- haveit=
- for x in $CPPFLAGS; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X$element"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
- fi
- done
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
-$as_echo_n "checking for iconv... " >&6; }
-if ${am_cv_func_iconv+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- am_cv_func_iconv="no, consider installing GNU libiconv"
- am_cv_lib_iconv=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <iconv.h>
-int
-main ()
-{
-iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- am_cv_func_iconv=yes
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$am_cv_func_iconv" != yes; then
- am_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <iconv.h>
-int
-main ()
-{
-iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- am_cv_lib_iconv=yes
- am_cv_func_iconv=yes
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS="$am_save_LIBS"
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
-$as_echo "$am_cv_func_iconv" >&6; }
- if test "$am_cv_func_iconv" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
-$as_echo_n "checking for working iconv... " >&6; }
-if ${am_cv_func_iconv_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- am_save_LIBS="$LIBS"
- if test $am_cv_lib_iconv = yes; then
- LIBS="$LIBS $LIBICONV"
- fi
- if test "$cross_compiling" = yes; then :
- case "$host_os" in
- aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
- *) am_cv_func_iconv_works="guessing yes" ;;
- esac
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <iconv.h>
-#include <string.h>
-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 const char input[] = "\342\202\254"; /* EURO SIGN */
- char buf[10];
- 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,
- (char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if (res == 0)
- return 1;
- }
- }
- /* Test against Solaris 10 bug: Failures are not distinguishable from
- successful returns. */
- {
- iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
- if (cd_ascii_to_88591 != (iconv_t)(-1))
- {
- static const char input[] = "\263";
- char buf[10];
- 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,
- (char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if (res == 0)
- return 1;
- }
- }
-#if 0 /* This bug could be worked around by the caller. */
- /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
- {
- iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
- if (cd_88591_to_utf8 != (iconv_t)(-1))
- {
- static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
- char buf[50];
- 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,
- (char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if ((int)res > 0)
- return 1;
- }
- }
-#endif
- /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
- provided. */
- if (/* Try standardized names. */
- iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
- /* Try IRIX, OSF/1 names. */
- && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
- /* Try AIX names. */
- && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
- /* Try HP-UX names. */
- && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
- return 1;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- am_cv_func_iconv_works=yes
-else
- am_cv_func_iconv_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- LIBS="$am_save_LIBS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
-$as_echo "$am_cv_func_iconv_works" >&6; }
- case "$am_cv_func_iconv_works" in
- *no) am_func_iconv=no am_cv_lib_iconv=no ;;
- *) am_func_iconv=yes ;;
- esac
- else
- am_func_iconv=no am_cv_lib_iconv=no
- fi
- if test "$am_func_iconv" = yes; then
-
-$as_echo "@%:@define HAVE_ICONV 1" >>confdefs.h
-
- fi
- if test "$am_cv_lib_iconv" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
-$as_echo_n "checking how to link with libiconv... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
-$as_echo "$LIBICONV" >&6; }
- else
- CPPFLAGS="$am_save_CPPFLAGS"
- LIBICONV=
- LTLIBICONV=
- fi
-
-
-
-
-
-
-
-
-
-
-
- use_additional=yes
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
-
-@%:@ Check whether --with-libintl-prefix was given.
-if test "${with_libintl_prefix+set}" = set; then :
- withval=$with_libintl_prefix;
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/$acl_libdirstem"
- if test "$acl_libdirstem2" != "$acl_libdirstem" \
- && ! test -d "$withval/$acl_libdirstem"; then
- additional_libdir="$withval/$acl_libdirstem2"
- fi
- fi
- fi
-
-fi
-
- LIBINTL=
- LTLIBINTL=
- INCINTL=
- LIBINTL_PREFIX=
- HAVE_LIBINTL=
- rpathdirs=
- ltrpathdirs=
- names_already_handled=
- names_next_round='intl '
- while test -n "$names_next_round"; do
- names_this_round="$names_next_round"
- names_next_round=
- for name in $names_this_round; do
- already_handled=
- for n in $names_already_handled; do
- if test "$n" = "$name"; then
- already_handled=yes
- break
- fi
- done
- if test -z "$already_handled"; then
- names_already_handled="$names_already_handled $name"
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
- eval value=\"\$HAVE_LIB$uppername\"
- if test -n "$value"; then
- if test "$value" = yes; then
- eval value=\"\$LIB$uppername\"
- test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value"
- eval value=\"\$LTLIB$uppername\"
- test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value"
- else
- :
- fi
- else
- found_dir=
- found_la=
- found_so=
- found_a=
- eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
- if test -n "$acl_shlibext"; then
- shrext=".$acl_shlibext" # typically: shrext=.so
- else
- shrext=
- fi
- if test $use_additional = yes; then
- dir="$additional_libdir"
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
- else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
- fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- for x in $LDFLAGS $LTLIBINTL; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- case "$x" in
- -L*)
- dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
- else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
- fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
- fi
- fi
- ;;
- esac
- if test "X$found_dir" != "X"; then
- break
- fi
- done
- fi
- if test "X$found_dir" != "X"; then
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
- if test "X$found_so" != "X"; then
- if test "$enable_rpath" = no \
- || test "X$found_dir" = "X/usr/$acl_libdirstem" \
- || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
- else
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $found_dir"
- fi
- if test "$acl_hardcode_direct" = yes; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
- else
- if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $found_dir"
- fi
- else
- haveit=
- for x in $LDFLAGS $LIBINTL; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
- fi
- if test "$acl_hardcode_minus_L" != no; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
- else
- LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
- fi
- fi
- fi
- fi
- else
- if test "X$found_a" != "X"; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a"
- else
- LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name"
- fi
- fi
- additional_includedir=
- case "$found_dir" in
- */$acl_libdirstem | */$acl_libdirstem/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
- if test "$name" = 'intl'; then
- LIBINTL_PREFIX="$basedir"
- fi
- additional_includedir="$basedir/include"
- ;;
- */$acl_libdirstem2 | */$acl_libdirstem2/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
- if test "$name" = 'intl'; then
- LIBINTL_PREFIX="$basedir"
- fi
- additional_includedir="$basedir/include"
- ;;
- esac
- if test "X$additional_includedir" != "X"; then
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- for x in $CPPFLAGS $INCINTL; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- fi
- if test -n "$found_la"; then
- save_libdir="$libdir"
- case "$found_la" in
- */* | *\\*) . "$found_la" ;;
- *) . "./$found_la" ;;
- esac
- libdir="$save_libdir"
- for dep in $dependency_libs; do
- case "$dep" in
- -L*)
- additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
- && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
- haveit=
- if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
- || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- haveit=
- for x in $LDFLAGS $LIBINTL; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir"
- fi
- fi
- haveit=
- for x in $LDFLAGS $LTLIBINTL; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- ;;
- -R*)
- dir=`echo "X$dep" | sed -e 's/^X-R//'`
- if test "$enable_rpath" != no; then
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $dir"
- fi
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $dir"
- fi
- fi
- ;;
- -l*)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
- ;;
- *.la)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
- ;;
- *)
- LIBINTL="${LIBINTL}${LIBINTL:+ }$dep"
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep"
- ;;
- esac
- done
- fi
- else
- LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name"
- fi
- fi
- fi
- done
- done
- if test "X$rpathdirs" != "X"; then
- if test -n "$acl_hardcode_libdir_separator"; then
- alldirs=
- for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
- done
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
- else
- for found_dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$found_dir"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
- done
- fi
- fi
- if test "X$ltrpathdirs" != "X"; then
- for found_dir in $ltrpathdirs; do
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir"
- done
- fi
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
-$as_echo_n "checking for GNU gettext in libintl... " >&6; }
-if eval \${$gt_func_gnugettext_libintl+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- gt_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $INCINTL"
- gt_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBINTL"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);
-int
-main ()
-{
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- eval "$gt_func_gnugettext_libintl=yes"
-else
- eval "$gt_func_gnugettext_libintl=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
- LIBS="$LIBS $LIBICONV"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);
-int
-main ()
-{
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- LIBINTL="$LIBINTL $LIBICONV"
- LTLIBINTL="$LTLIBINTL $LTLIBICONV"
- eval "$gt_func_gnugettext_libintl=yes"
-
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- CPPFLAGS="$gt_save_CPPFLAGS"
- LIBS="$gt_save_LIBS"
-fi
-eval ac_res=\$$gt_func_gnugettext_libintl
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- fi
-
- if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
- || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
- && test "$PACKAGE" != gettext-runtime \
- && test "$PACKAGE" != gettext-tools; }; then
- gt_use_preinstalled_gnugettext=yes
- else
- LIBINTL=
- LTLIBINTL=
- INCINTL=
- fi
-
-
-
- if test -n "$INTL_MACOSX_LIBS"; then
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
- LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
- LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
- fi
- fi
-
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
-
-$as_echo "@%:@define ENABLE_NLS 1" >>confdefs.h
-
- else
- USE_NLS=no
- fi
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5
-$as_echo_n "checking whether to use NLS... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
-$as_echo "$USE_NLS" >&6; }
- if test "$USE_NLS" = "yes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5
-$as_echo_n "checking where the gettext function comes from... " >&6; }
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
- gt_source="external libintl"
- else
- gt_source="libc"
- fi
- else
- gt_source="included intl directory"
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5
-$as_echo "$gt_source" >&6; }
- fi
-
- if test "$USE_NLS" = "yes"; then
-
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5
-$as_echo_n "checking how to link with libintl... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5
-$as_echo "$LIBINTL" >&6; }
-
- for element in $INCINTL; do
- haveit=
- for x in $CPPFLAGS; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X$element"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
- fi
- done
-
- fi
-
-
-$as_echo "@%:@define HAVE_GETTEXT 1" >>confdefs.h
-
-
-$as_echo "@%:@define HAVE_DCGETTEXT 1" >>confdefs.h
-
- fi
-
- POSUB=po
- fi
-
-
-
- INTLLIBS="$LIBINTL"
-
-
-
-
-
-
-
-# This test must come as early as possible after the compiler configuration
-# tests, because the choice of the file model can (in principle) affect
-# whether functions and headers are available, whether they work, etc.
-@%:@ Check whether --enable-largefile was given.
-if test "${enable_largefile+set}" = set; then :
- enableval=$enable_largefile;
-fi
-
-if test "$enable_largefile" != no; then
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
-$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if ${ac_cv_sys_largefile_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_sys_largefile_CC=no
- if test "$GCC" != yes; then
- ac_save_CC=$CC
- while :; do
- # IRIX 6.2 and later do not support large files by default,
- # so use the C compiler's -n32 option if that helps.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
- break
-fi
-rm -f core conftest.err conftest.$ac_objext
- CC="$CC -n32"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_largefile_CC=' -n32'; break
-fi
-rm -f core conftest.err conftest.$ac_objext
- break
- done
- CC=$ac_save_CC
- rm -f conftest.$ac_ext
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
-$as_echo "$ac_cv_sys_largefile_CC" >&6; }
- if test "$ac_cv_sys_largefile_CC" != no; then
- CC=$CC$ac_cv_sys_largefile_CC
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if ${ac_cv_sys_file_offset_bits+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_file_offset_bits=no; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@define _FILE_OFFSET_BITS 64
-@%:@include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_file_offset_bits=64; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cv_sys_file_offset_bits=unknown
- break
-done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
-$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
-case $ac_cv_sys_file_offset_bits in #(
- no | unknown) ;;
- *)
-cat >>confdefs.h <<_ACEOF
-@%:@define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
-_ACEOF
-;;
-esac
-rm -rf conftest*
- if test $ac_cv_sys_file_offset_bits = unknown; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
-$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-if ${ac_cv_sys_large_files+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_large_files=no; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@define _LARGE_FILES 1
-@%:@include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_large_files=1; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cv_sys_large_files=unknown
- break
-done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
-$as_echo "$ac_cv_sys_large_files" >&6; }
-case $ac_cv_sys_large_files in #(
- no | unknown) ;;
- *)
-cat >>confdefs.h <<_ACEOF
-@%:@define _LARGE_FILES $ac_cv_sys_large_files
-_ACEOF
-;;
-esac
-rm -rf conftest*
- fi
-fi
-
-
-# Checks for libraries.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getpwnam" >&5
-$as_echo_n "checking for library containing getpwnam... " >&6; }
-if ${ac_cv_search_getpwnam+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char getpwnam ();
-int
-main ()
-{
-return getpwnam ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' sun; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_getpwnam=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_getpwnam+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_getpwnam+:} false; then :
-
-else
- ac_cv_search_getpwnam=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getpwnam" >&5
-$as_echo "$ac_cv_search_getpwnam" >&6; }
-ac_res=$ac_cv_search_getpwnam
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-
-# Checks for header files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-ac_header_dirent=no
-for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
- as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
-$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
-if eval \${$as_ac_Header+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <$ac_hdr>
-
-int
-main ()
-{
-if ((DIR *) 0)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$as_ac_Header=yes"
-else
- eval "$as_ac_Header=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_ac_Header
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
-_ACEOF
-
-ac_header_dirent=$ac_hdr; break
-fi
-
-done
-# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
-if test $ac_header_dirent = dirent.h; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
-$as_echo_n "checking for library containing opendir... " >&6; }
-if ${ac_cv_search_opendir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char opendir ();
-int
-main ()
-{
-return opendir ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' dir; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_opendir=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_opendir+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_opendir+:} false; then :
-
-else
- ac_cv_search_opendir=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
-$as_echo "$ac_cv_search_opendir" >&6; }
-ac_res=$ac_cv_search_opendir
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
-$as_echo_n "checking for library containing opendir... " >&6; }
-if ${ac_cv_search_opendir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char opendir ();
-int
-main ()
-{
-return opendir ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' x; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_opendir=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_opendir+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_opendir+:} false; then :
-
-else
- ac_cv_search_opendir=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
-$as_echo "$ac_cv_search_opendir" >&6; }
-ac_res=$ac_cv_search_opendir
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5
-$as_echo_n "checking whether stat file-mode macros are broken... " >&6; }
-if ${ac_cv_header_stat_broken+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#if defined S_ISBLK && defined S_IFDIR
-extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1];
-#endif
-
-#if defined S_ISBLK && defined S_IFCHR
-extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1];
-#endif
-
-#if defined S_ISLNK && defined S_IFREG
-extern char c3[S_ISLNK (S_IFREG) ? -1 : 1];
-#endif
-
-#if defined S_ISSOCK && defined S_IFREG
-extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1];
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stat_broken=no
-else
- ac_cv_header_stat_broken=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5
-$as_echo "$ac_cv_header_stat_broken" >&6; }
-if test $ac_cv_header_stat_broken = yes; then
-
-$as_echo "@%:@define STAT_MACROS_BROKEN 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
-$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
-if ${ac_cv_header_time+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/time.h>
-#include <time.h>
-
-int
-main ()
-{
-if ((struct tm *) 0)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_time=yes
-else
- ac_cv_header_time=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5
-$as_echo "$ac_cv_header_time" >&6; }
-if test $ac_cv_header_time = yes; then
-
-$as_echo "@%:@define TIME_WITH_SYS_TIME 1" >>confdefs.h
-
-fi
-
-for ac_header in 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
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-# Set a flag if we have an ANSI C compiler
-if test "$ac_cv_prog_cc_stdc" != no; then
-
-$as_echo "@%:@define HAVE_ANSI_COMPILER 1" >>confdefs.h
-
-fi
-
-
-# Determine what kind of variadic function calls we support
-for ac_header in stdarg.h varargs.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
- break
-fi
-
-done
-
-
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "@%:@define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
-$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if ${ac_cv_c_const+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-/* FIXME: Include the comments suggested by Paul. */
-#ifndef __cplusplus
- /* Ultrix mips cc rejects this. */
- typedef int charset[2];
- const charset cs;
- /* SunOS 4.1.1 cc rejects this. */
- char const *const *pcpcc;
- char **ppc;
- /* NEC SVR4.0.2 mips cc rejects this. */
- struct point {int x, y;};
- static struct point const zero = {0,0};
- /* AIX XL C 1.02.0.0 rejects this.
- It does not let you subtract one const X* pointer from another in
- an arm of an if-expression whose if-part is not a constant
- expression */
- const char *g = "string";
- pcpcc = &g + (g ? g-g : 0);
- /* HPUX 7.0 cc rejects these. */
- ++pcpcc;
- ppc = (char**) pcpcc;
- pcpcc = (char const *const *) ppc;
- { /* SCO 3.2v4 cc rejects this. */
- char *t;
- char const *s = 0 ? (char *) 0 : (char const *) 0;
-
- *t++ = 0;
- if (s) return 0;
- }
- { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
- int x[] = {25, 17};
- const int *foo = &x[0];
- ++foo;
- }
- { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
- typedef const int *iptr;
- iptr p = 0;
- ++p;
- }
- { /* AIX XL C 1.02.0.0 rejects this saying
- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
- }
- { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
- const int foo = 10;
- if (!foo) return 0;
- }
- return !cs[0] && !zero.x;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_const=yes
-else
- ac_cv_c_const=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
-$as_echo "$ac_cv_c_const" >&6; }
-if test $ac_cv_c_const = no; then
-
-$as_echo "@%:@define const /**/" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
-$as_echo_n "checking return type of signal handlers... " >&6; }
-if ${ac_cv_type_signal+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <signal.h>
-
-int
-main ()
-{
-return *(signal (0, 0)) (0) == 1;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_type_signal=int
-else
- ac_cv_type_signal=void
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5
-$as_echo "$ac_cv_type_signal" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-@%:@define RETSIGTYPE $ac_cv_type_signal
-_ACEOF
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
-$as_echo_n "checking for uid_t in sys/types.h... " >&6; }
-if ${ac_cv_type_uid_t+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "uid_t" >/dev/null 2>&1; then :
- ac_cv_type_uid_t=yes
-else
- ac_cv_type_uid_t=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5
-$as_echo "$ac_cv_type_uid_t" >&6; }
-if test $ac_cv_type_uid_t = no; then
-
-$as_echo "@%:@define uid_t int" >>confdefs.h
-
-
-$as_echo "@%:@define gid_t int" >>confdefs.h
-
-fi
-
-ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
-if test "x$ac_cv_type_pid_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-@%:@define pid_t int
-_ACEOF
-
-fi
-
-
-# Find some definition for uintmax_t
-
-ac_fn_c_check_type "$LINENO" "uintmax_t" "ac_cv_type_uintmax_t" "$ac_includes_default"
-if test "x$ac_cv_type_uintmax_t" = xyes; then :
-
-else
-
- uintmax_t="unsigned long"
- ac_fn_c_check_type "$LINENO" "unsigned long long" "ac_cv_type_unsigned_long_long" "$ac_includes_default"
-if test "x$ac_cv_type_unsigned_long_long" = xyes; then :
- uintmax_t="unsigned long long"
-fi
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define uintmax_t $uintmax_t
-_ACEOF
-
-fi
-
-
-# Find out whether our struct stat returns nanosecond resolution timestamps.
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for nanoseconds field of struct stat" >&5
-$as_echo_n "checking for nanoseconds field of struct stat... " >&6; }
-if ${ac_cv_struct_st_mtim_nsec+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_CPPFLAGS="$CPPFLAGS"
- ac_cv_struct_st_mtim_nsec=no
- # st_mtim.tv_nsec -- the usual case
- # st_mtim._tv_nsec -- Solaris 2.6, if
- # (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1
- # && !defined __EXTENSIONS__)
- # st_mtim.st__tim.tv_nsec -- UnixWare 2.1.2
- # st_mtimespec.tv_nsec -- Darwin (Mac OSX)
- for ac_val in st_mtim.tv_nsec st_mtim._tv_nsec st_mtim.st__tim.tv_nsec st_mtimespec.tv_nsec; do
- CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/stat.h>
-
-int
-main ()
-{
-struct stat s; s.ST_MTIM_NSEC;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_struct_st_mtim_nsec=$ac_val; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
- CPPFLAGS="$ac_save_CPPFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_st_mtim_nsec" >&5
-$as_echo "$ac_cv_struct_st_mtim_nsec" >&6; }
-
- if test $ac_cv_struct_st_mtim_nsec != no; then
-
-cat >>confdefs.h <<_ACEOF
-@%:@define ST_MTIM_NSEC $ac_cv_struct_st_mtim_nsec
-_ACEOF
-
- fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use high resolution file timestamps" >&5
-$as_echo_n "checking whether to use high resolution file timestamps... " >&6; }
-if ${make_cv_file_timestamp_hi_res+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- make_cv_file_timestamp_hi_res=no
- if test "$ac_cv_struct_st_mtim_nsec" != no; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-# if HAVE_INTTYPES_H
-# include <inttypes.h>
-# endif
-int
-main ()
-{
-char a[0x7fffffff < (uintmax_t)-1 >> 30 ? 1 : -1];
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- make_cv_file_timestamp_hi_res=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_file_timestamp_hi_res" >&5
-$as_echo "$make_cv_file_timestamp_hi_res" >&6; }
-if test "$make_cv_file_timestamp_hi_res" = yes; then
- val=1
-else
- val=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-@%:@define FILE_TIMESTAMP_HI_RES $val
-_ACEOF
-
-
-if test "$make_cv_file_timestamp_hi_res" = yes; then
- # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
- # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
-$as_echo_n "checking for library containing clock_gettime... " >&6; }
-if ${ac_cv_search_clock_gettime+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char clock_gettime ();
-int
-main ()
-{
-return clock_gettime ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' rt posix4; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_clock_gettime=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_clock_gettime+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_clock_gettime+:} false; then :
-
-else
- ac_cv_search_clock_gettime=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5
-$as_echo "$ac_cv_search_clock_gettime" >&6; }
-ac_res=$ac_cv_search_clock_gettime
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
- if test "$ac_cv_search_clock_gettime" != no; then
-
-$as_echo "@%:@define HAVE_CLOCK_GETTIME 1" >>confdefs.h
-
- fi
-fi
-
-# Check for DOS-style pathnames.
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system uses MSDOS-style paths" >&5
-$as_echo_n "checking whether system uses MSDOS-style paths... " >&6; }
-if ${ac_cv_dos_paths+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __EMX__ && !defined __MSYS__ && !defined __CYGWIN__
-neither MSDOS nor Windows nor OS2
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_dos_paths=yes
-else
- ac_cv_dos_paths=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_dos_paths" >&5
-$as_echo "$ac_cv_dos_paths" >&6; }
-
- if test x"$ac_cv_dos_paths" = xyes; then
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_DOS_PATHS 1
-_ACEOF
-
- fi
-
-
-# See if we have a standard version of gettimeofday(). Since actual
-# implementations can differ, just make sure we have the most common
-# one.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for standard gettimeofday" >&5
-$as_echo_n "checking for standard gettimeofday... " >&6; }
-if ${ac_cv_func_gettimeofday+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_func_gettimeofday=no
- if test "$cross_compiling" = yes; then :
- ac_cv_func_gettimeofday="no (cross-compiling)"
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/time.h>
- int main ()
- {
- struct timeval t; t.tv_sec = -1; t.tv_usec = -1;
- exit (gettimeofday (&t, 0) != 0
- || t.tv_sec < 0 || t.tv_usec < 0);
- }
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_func_gettimeofday=yes
-else
- ac_cv_func_gettimeofday=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_gettimeofday" >&5
-$as_echo "$ac_cv_func_gettimeofday" >&6; }
-if test "$ac_cv_func_gettimeofday" = yes; then
-
-$as_echo "@%:@define HAVE_GETTIMEOFDAY 1" >>confdefs.h
-
-fi
-
-for ac_func in strdup strndup mkstemp mktemp fdopen fileno \
- dup2 getcwd realpath sigsetmask sigaction \
- getgroups seteuid setegid setlinebuf setreuid setregid \
- getrlimit setrlimit setvbuf pipe strerror strsignal \
- lstat readlink atexit
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-# We need to check declarations, not just existence, because on Tru64 this
-# function is not declared without special flags, which themselves cause
-# other problems. We'll just use our own.
-ac_fn_c_check_decl "$LINENO" "bsd_signal" "ac_cv_have_decl_bsd_signal" "#include <signal.h>
-"
-if test "x$ac_cv_have_decl_bsd_signal" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_DECL_BSD_SIGNAL $ac_have_decl
-_ACEOF
-
-
-if ${ac_cv_func_setvbuf_reversed+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_func_setvbuf_reversed=no
-fi
-
-
-
-# Rumor has it that strcasecmp lives in -lresolv on some odd systems.
-# It doesn't hurt much to use our own if we can't find it so I don't
-# make the effort here.
-for ac_func in strcasecmp strncasecmp strcmpi strncmpi stricmp strnicmp
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-# strcoll() is used by the GNU glob library
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strcoll" >&5
-$as_echo_n "checking for working strcoll... " >&6; }
-if ${ac_cv_func_strcoll_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_func_strcoll_works=no
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-return (strcoll ("abc", "def") >= 0 ||
- strcoll ("ABC", "DEF") >= 0 ||
- strcoll ("123", "456") >= 0)
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_func_strcoll_works=yes
-else
- ac_cv_func_strcoll_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strcoll_works" >&5
-$as_echo "$ac_cv_func_strcoll_works" >&6; }
-if test $ac_cv_func_strcoll_works = yes; then
-
-$as_echo "@%:@define HAVE_STRCOLL 1" >>confdefs.h
-
-fi
-
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-@%:@define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_working_alloca_h=yes
-else
- ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "@%:@define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_func_alloca_works=yes
-else
- ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "@%:@define HAVE_ALLOCA 1" >>confdefs.h
-
-else
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble. Some versions do not even contain alloca or
-# contain a buggy version. If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "@%:@define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "webecray" >/dev/null 2>&1; then :
- ac_cv_os_cray=yes
-else
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
- for ac_func in _getb67 GETB67 getb67; do
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-@%:@define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
- break
-fi
-
- done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_c_stack_direction=0
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
- return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_stack_direction=1
-else
- ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-@%:@define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-for ac_header in vfork.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default"
-if test "x$ac_cv_header_vfork_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_VFORK_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in fork vfork
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-if test "x$ac_cv_func_fork" = xyes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5
-$as_echo_n "checking for working fork... " >&6; }
-if ${ac_cv_func_fork_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_func_fork_works=cross
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-
- /* By Ruediger Kuhlmann. */
- return fork () < 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_func_fork_works=yes
-else
- ac_cv_func_fork_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5
-$as_echo "$ac_cv_func_fork_works" >&6; }
-
-else
- ac_cv_func_fork_works=$ac_cv_func_fork
-fi
-if test "x$ac_cv_func_fork_works" = xcross; then
- case $host in
- *-*-amigaos* | *-*-msdosdjgpp*)
- # Override, as these systems have only a dummy fork() stub
- ac_cv_func_fork_works=no
- ;;
- *)
- ac_cv_func_fork_works=yes
- ;;
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5
-$as_echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;}
-fi
-ac_cv_func_vfork_works=$ac_cv_func_vfork
-if test "x$ac_cv_func_vfork" = xyes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5
-$as_echo_n "checking for working vfork... " >&6; }
-if ${ac_cv_func_vfork_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_func_vfork_works=cross
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Thanks to Paul Eggert for this test. */
-$ac_includes_default
-#include <sys/wait.h>
-#ifdef HAVE_VFORK_H
-# include <vfork.h>
-#endif
-/* On some sparc systems, changes by the child to local and incoming
- argument registers are propagated back to the parent. The compiler
- is told about this with #include <vfork.h>, but some compilers
- (e.g. gcc -O) don't grok <vfork.h>. Test for this by using a
- static variable whose address is put into a register that is
- clobbered by the vfork. */
-static void
-#ifdef __cplusplus
-sparc_address_test (int arg)
-# else
-sparc_address_test (arg) int arg;
-#endif
-{
- static pid_t child;
- if (!child) {
- child = vfork ();
- if (child < 0) {
- perror ("vfork");
- _exit(2);
- }
- if (!child) {
- arg = getpid();
- write(-1, "", 0);
- _exit (arg);
- }
- }
-}
-
-int
-main ()
-{
- pid_t parent = getpid ();
- pid_t child;
-
- sparc_address_test (0);
-
- child = vfork ();
-
- if (child == 0) {
- /* Here is another test for sparc vfork register problems. This
- test uses lots of local variables, at least as many local
- variables as main has allocated so far including compiler
- temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris
- 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should
- reuse the register of parent for one of the local variables,
- since it will think that parent can't possibly be used any more
- in this routine. Assigning to the local variable will thus
- munge parent in the parent process. */
- pid_t
- p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),
- p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();
- /* Convince the compiler that p..p7 are live; otherwise, it might
- use the same hardware register for all 8 local variables. */
- if (p != p1 || p != p2 || p != p3 || p != p4
- || p != p5 || p != p6 || p != p7)
- _exit(1);
-
- /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent
- from child file descriptors. If the child closes a descriptor
- before it execs or exits, this munges the parent's descriptor
- as well. Test for this by closing stdout in the child. */
- _exit(close(fileno(stdout)) != 0);
- } else {
- int status;
- struct stat st;
-
- while (wait(&status) != child)
- ;
- return (
- /* Was there some problem with vforking? */
- child < 0
-
- /* Did the child fail? (This shouldn't happen.) */
- || status
-
- /* Did the vfork/compiler bug occur? */
- || parent != getpid()
-
- /* Did the file descriptor bug occur? */
- || fstat(fileno(stdout), &st) != 0
- );
- }
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_func_vfork_works=yes
-else
- ac_cv_func_vfork_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5
-$as_echo "$ac_cv_func_vfork_works" >&6; }
-
-fi;
-if test "x$ac_cv_func_fork_works" = xcross; then
- ac_cv_func_vfork_works=$ac_cv_func_vfork
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5
-$as_echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;}
-fi
-
-if test "x$ac_cv_func_vfork_works" = xyes; then
-
-$as_echo "@%:@define HAVE_WORKING_VFORK 1" >>confdefs.h
-
-else
-
-$as_echo "@%:@define vfork fork" >>confdefs.h
-
-fi
-if test "x$ac_cv_func_fork_works" = xyes; then
-
-$as_echo "@%:@define HAVE_WORKING_FORK 1" >>confdefs.h
-
-fi
-
-for ac_func in vprintf
-do :
- ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf"
-if test "x$ac_cv_func_vprintf" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_VPRINTF 1
-_ACEOF
-
-ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt"
-if test "x$ac_cv_func__doprnt" = xyes; then :
-
-$as_echo "@%:@define HAVE_DOPRNT 1" >>confdefs.h
-
-fi
-
-fi
-done
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether closedir returns void" >&5
-$as_echo_n "checking whether closedir returns void... " >&6; }
-if ${ac_cv_func_closedir_void+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_func_closedir_void=yes
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header_dirent>
-#ifndef __cplusplus
-int closedir ();
-#endif
-
-int
-main ()
-{
-return closedir (opendir (".")) != 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_func_closedir_void=no
-else
- ac_cv_func_closedir_void=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_closedir_void" >&5
-$as_echo "$ac_cv_func_closedir_void" >&6; }
-if test $ac_cv_func_closedir_void = yes; then
-
-$as_echo "@%:@define CLOSEDIR_VOID 1" >>confdefs.h
-
-fi
-
-
-ac_have_func=no # yes means we've found a way to get the load average.
-
-# Make sure getloadavg.c is where it belongs, at configure-time.
-test -f "$srcdir/$ac_config_libobj_dir/getloadavg.c" ||
- as_fn_error $? "$srcdir/$ac_config_libobj_dir/getloadavg.c is missing" "$LINENO" 5
-
-ac_save_LIBS=$LIBS
-
-# Check for getloadavg, but be sure not to touch the cache variable.
-(ac_fn_c_check_func "$LINENO" "getloadavg" "ac_cv_func_getloadavg"
-if test "x$ac_cv_func_getloadavg" = xyes; then :
- exit 0
-else
- exit 1
-fi
-) && ac_have_func=yes
-
-# On HPUX9, an unprivileged user can get load averages through this function.
-for ac_func in pstat_getdynamic
-do :
- ac_fn_c_check_func "$LINENO" "pstat_getdynamic" "ac_cv_func_pstat_getdynamic"
-if test "x$ac_cv_func_pstat_getdynamic" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_PSTAT_GETDYNAMIC 1
-_ACEOF
-
-fi
-done
-
-
-# Solaris has libkstat which does not require root.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kstat_open in -lkstat" >&5
-$as_echo_n "checking for kstat_open in -lkstat... " >&6; }
-if ${ac_cv_lib_kstat_kstat_open+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lkstat $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char kstat_open ();
-int
-main ()
-{
-return kstat_open ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_kstat_kstat_open=yes
-else
- ac_cv_lib_kstat_kstat_open=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kstat_kstat_open" >&5
-$as_echo "$ac_cv_lib_kstat_kstat_open" >&6; }
-if test "x$ac_cv_lib_kstat_kstat_open" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_LIBKSTAT 1
-_ACEOF
-
- LIBS="-lkstat $LIBS"
-
-fi
-
-test $ac_cv_lib_kstat_kstat_open = yes && ac_have_func=yes
-
-# Some systems with -lutil have (and need) -lkvm as well, some do not.
-# On Solaris, -lkvm requires nlist from -lelf, so check that first
-# to get the right answer into the cache.
-# For kstat on solaris, we need libelf to force the definition of SVR4 below.
-if test $ac_have_func = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for elf_begin in -lelf" >&5
-$as_echo_n "checking for elf_begin in -lelf... " >&6; }
-if ${ac_cv_lib_elf_elf_begin+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lelf $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char elf_begin ();
-int
-main ()
-{
-return elf_begin ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_elf_elf_begin=yes
-else
- ac_cv_lib_elf_elf_begin=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_elf_elf_begin" >&5
-$as_echo "$ac_cv_lib_elf_elf_begin" >&6; }
-if test "x$ac_cv_lib_elf_elf_begin" = xyes; then :
- LIBS="-lelf $LIBS"
-fi
-
-fi
-if test $ac_have_func = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kvm_open in -lkvm" >&5
-$as_echo_n "checking for kvm_open in -lkvm... " >&6; }
-if ${ac_cv_lib_kvm_kvm_open+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lkvm $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char kvm_open ();
-int
-main ()
-{
-return kvm_open ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_kvm_kvm_open=yes
-else
- ac_cv_lib_kvm_kvm_open=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kvm_kvm_open" >&5
-$as_echo "$ac_cv_lib_kvm_kvm_open" >&6; }
-if test "x$ac_cv_lib_kvm_kvm_open" = xyes; then :
- LIBS="-lkvm $LIBS"
-fi
-
- # Check for the 4.4BSD definition of getloadavg.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getloadavg in -lutil" >&5
-$as_echo_n "checking for getloadavg in -lutil... " >&6; }
-if ${ac_cv_lib_util_getloadavg+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lutil $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char getloadavg ();
-int
-main ()
-{
-return getloadavg ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_util_getloadavg=yes
-else
- ac_cv_lib_util_getloadavg=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_getloadavg" >&5
-$as_echo "$ac_cv_lib_util_getloadavg" >&6; }
-if test "x$ac_cv_lib_util_getloadavg" = xyes; then :
- LIBS="-lutil $LIBS" ac_have_func=yes ac_cv_func_getloadavg_setgid=yes
-fi
-
-fi
-
-if test $ac_have_func = no; then
- # There is a commonly available library for RS/6000 AIX.
- # Since it is not a standard part of AIX, it might be installed locally.
- ac_getloadavg_LIBS=$LIBS
- LIBS="-L/usr/local/lib $LIBS"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getloadavg in -lgetloadavg" >&5
-$as_echo_n "checking for getloadavg in -lgetloadavg... " >&6; }
-if ${ac_cv_lib_getloadavg_getloadavg+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lgetloadavg $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char getloadavg ();
-int
-main ()
-{
-return getloadavg ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_getloadavg_getloadavg=yes
-else
- ac_cv_lib_getloadavg_getloadavg=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_getloadavg_getloadavg" >&5
-$as_echo "$ac_cv_lib_getloadavg_getloadavg" >&6; }
-if test "x$ac_cv_lib_getloadavg_getloadavg" = xyes; then :
- LIBS="-lgetloadavg $LIBS"
-else
- LIBS=$ac_getloadavg_LIBS
-fi
-
-fi
-
-# Make sure it is really in the library, if we think we found it,
-# otherwise set up the replacement function.
-for ac_func in getloadavg
-do :
- ac_fn_c_check_func "$LINENO" "getloadavg" "ac_cv_func_getloadavg"
-if test "x$ac_cv_func_getloadavg" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_GETLOADAVG 1
-_ACEOF
-
-else
- case " $LIB@&t@OBJS " in
- *" getloadavg.$ac_objext "* ) ;;
- *) LIB@&t@OBJS="$LIB@&t@OBJS getloadavg.$ac_objext"
- ;;
-esac
-
-
-$as_echo "@%:@define C_GETLOADAVG 1" >>confdefs.h
-
-# Figure out what our getloadavg.c needs.
-ac_have_func=no
-ac_fn_c_check_header_mongrel "$LINENO" "sys/dg_sys_info.h" "ac_cv_header_sys_dg_sys_info_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_dg_sys_info_h" = xyes; then :
- ac_have_func=yes
-
-$as_echo "@%:@define DGUX 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dg_sys_info in -ldgc" >&5
-$as_echo_n "checking for dg_sys_info in -ldgc... " >&6; }
-if ${ac_cv_lib_dgc_dg_sys_info+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldgc $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dg_sys_info ();
-int
-main ()
-{
-return dg_sys_info ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dgc_dg_sys_info=yes
-else
- ac_cv_lib_dgc_dg_sys_info=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dgc_dg_sys_info" >&5
-$as_echo "$ac_cv_lib_dgc_dg_sys_info" >&6; }
-if test "x$ac_cv_lib_dgc_dg_sys_info" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_LIBDGC 1
-_ACEOF
-
- LIBS="-ldgc $LIBS"
-
-fi
-
-fi
-
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default"
-if test "x$ac_cv_header_locale_h" = xyes; then :
-
-fi
-
-
-for ac_func in setlocale
-do :
- ac_fn_c_check_func "$LINENO" "setlocale" "ac_cv_func_setlocale"
-if test "x$ac_cv_func_setlocale" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_SETLOCALE 1
-_ACEOF
-
-fi
-done
-
-
-# We cannot check for <dwarf.h>, because Solaris 2 does not use dwarf (it
-# uses stabs), but it is still SVR4. We cannot check for <elf.h> because
-# Irix 4.0.5F has the header but not the library.
-if test $ac_have_func = no && test "$ac_cv_lib_elf_elf_begin" = yes \
- && test "$ac_cv_lib_kvm_kvm_open" = yes; then
- ac_have_func=yes
-
-$as_echo "@%:@define SVR4 1" >>confdefs.h
-
-fi
-
-if test $ac_have_func = no; then
- ac_fn_c_check_header_mongrel "$LINENO" "inq_stats/cpustats.h" "ac_cv_header_inq_stats_cpustats_h" "$ac_includes_default"
-if test "x$ac_cv_header_inq_stats_cpustats_h" = xyes; then :
- ac_have_func=yes
-
-$as_echo "@%:@define UMAX 1" >>confdefs.h
-
-
-$as_echo "@%:@define UMAX4_3 1" >>confdefs.h
-
-fi
-
-
-fi
-
-if test $ac_have_func = no; then
- ac_fn_c_check_header_mongrel "$LINENO" "sys/cpustats.h" "ac_cv_header_sys_cpustats_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_cpustats_h" = xyes; then :
- ac_have_func=yes; $as_echo "@%:@define UMAX 1" >>confdefs.h
-
-fi
-
-
-fi
-
-if test $ac_have_func = no; then
- for ac_header in mach/mach.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "mach/mach.h" "ac_cv_header_mach_mach_h" "$ac_includes_default"
-if test "x$ac_cv_header_mach_mach_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_MACH_MACH_H 1
-_ACEOF
-
-fi
-
-done
-
-fi
-
-for ac_header in nlist.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "nlist.h" "ac_cv_header_nlist_h" "$ac_includes_default"
-if test "x$ac_cv_header_nlist_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_NLIST_H 1
-_ACEOF
- ac_fn_c_check_member "$LINENO" "struct nlist" "n_un.n_name" "ac_cv_member_struct_nlist_n_un_n_name" "@%:@include <nlist.h>
-"
-if test "x$ac_cv_member_struct_nlist_n_un_n_name" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_STRUCT_NLIST_N_UN_N_NAME 1
-_ACEOF
-
-
-$as_echo "@%:@define NLIST_NAME_UNION 1" >>confdefs.h
-
-fi
-
-
-fi
-
-done
-
-fi
-done
-
-
-# Some definitions of getloadavg require that the program be installed setgid.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getloadavg requires setgid" >&5
-$as_echo_n "checking whether getloadavg requires setgid... " >&6; }
-if ${ac_cv_func_getloadavg_setgid+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include "$srcdir/$ac_config_libobj_dir/getloadavg.c"
-#ifdef LDAV_PRIVILEGED
-Yowza Am I SETGID yet
-@%:@endif
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Yowza Am I SETGID yet" >/dev/null 2>&1; then :
- ac_cv_func_getloadavg_setgid=yes
-else
- ac_cv_func_getloadavg_setgid=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_getloadavg_setgid" >&5
-$as_echo "$ac_cv_func_getloadavg_setgid" >&6; }
-if test $ac_cv_func_getloadavg_setgid = yes; then
- NEED_SETGID=true
-
-$as_echo "@%:@define GETLOADAVG_PRIVILEGED 1" >>confdefs.h
-
-else
- NEED_SETGID=false
-fi
-
-if test $ac_cv_func_getloadavg_setgid = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking group of /dev/kmem" >&5
-$as_echo_n "checking group of /dev/kmem... " >&6; }
-if ${ac_cv_group_kmem+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # On Solaris, /dev/kmem is a symlink. Get info on the real file.
- ac_ls_output=`ls -lgL /dev/kmem 2>/dev/null`
- # If we got an error (system does not support symlinks), try without -L.
- test -z "$ac_ls_output" && ac_ls_output=`ls -lg /dev/kmem`
- ac_cv_group_kmem=`$as_echo "$ac_ls_output" \
- | sed -ne 's/[ ][ ]*/ /g;
- s/^.[sSrwx-]* *[0-9]* *\([^0-9]*\) *.*/\1/;
- / /s/.* //;p;'`
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_group_kmem" >&5
-$as_echo "$ac_cv_group_kmem" >&6; }
- KMEM_GROUP=$ac_cv_group_kmem
-fi
-if test "x$ac_save_LIBS" = x; then
- GETLOADAVG_LIBS=$LIBS
-else
- GETLOADAVG_LIBS=`$as_echo "$LIBS" | sed "s|$ac_save_LIBS||"`
-fi
-LIBS=$ac_save_LIBS
-
-
-
-# AC_FUNC_GETLOADAVG is documented to set the NLIST_STRUCT value, but it
-# doesn't. So, we will.
-
-if test "$ac_cv_header_nlist_h" = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <nlist.h>
-int
-main ()
-{
-struct nlist nl;
- nl.n_name = "string";
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- make_cv_nlist_struct=yes
-else
- make_cv_nlist_struct=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- if test "$make_cv_nlist_struct" = yes; then
-
-$as_echo "@%:@define NLIST_STRUCT 1" >>confdefs.h
-
- fi
-fi
-
-ac_fn_c_check_decl "$LINENO" "sys_siglist" "ac_cv_have_decl_sys_siglist" "$ac_includes_default
-#include <signal.h>
-/* NetBSD declares sys_siglist in unistd.h. */
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-"
-if test "x$ac_cv_have_decl_sys_siglist" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_DECL_SYS_SIGLIST $ac_have_decl
-_ACEOF
-ac_fn_c_check_decl "$LINENO" "_sys_siglist" "ac_cv_have_decl__sys_siglist" "$ac_includes_default
-#include <signal.h>
-/* NetBSD declares sys_siglist in unistd.h. */
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-"
-if test "x$ac_cv_have_decl__sys_siglist" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_DECL__SYS_SIGLIST $ac_have_decl
-_ACEOF
-ac_fn_c_check_decl "$LINENO" "__sys_siglist" "ac_cv_have_decl___sys_siglist" "$ac_includes_default
-#include <signal.h>
-/* NetBSD declares sys_siglist in unistd.h. */
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-"
-if test "x$ac_cv_have_decl___sys_siglist" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_DECL___SYS_SIGLIST $ac_have_decl
-_ACEOF
-
-
-
-# Check out the wait reality.
-for ac_header in sys/wait.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "sys/wait.h" "ac_cv_header_sys_wait_h" "#include <sys/types.h>
-"
-if test "x$ac_cv_header_sys_wait_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_SYS_WAIT_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in waitpid wait3
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for union wait" >&5
-$as_echo_n "checking for union wait... " >&6; }
-if ${make_cv_union_wait+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/wait.h>
-int
-main ()
-{
-union wait status; int pid; pid = wait (&status);
-#ifdef WEXITSTATUS
-/* Some POSIXoid systems have both the new-style macros and the old
- union wait type, and they do not work together. If union wait
- conflicts with WEXITSTATUS et al, we don't want to use it at all. */
- if (WEXITSTATUS (status) != 0) pid = -1;
-#ifdef WTERMSIG
- /* If we have WEXITSTATUS and WTERMSIG, just use them on ints. */
- -- blow chunks here --
-#endif
-#endif
-#ifdef HAVE_WAITPID
- /* Make sure union wait works with waitpid. */
- pid = waitpid (-1, &status, 0);
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- make_cv_union_wait=yes
-else
- make_cv_union_wait=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-
-if test "$make_cv_union_wait" = yes; then
-
-$as_echo "@%:@define HAVE_UNION_WAIT 1" >>confdefs.h
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_union_wait" >&5
-$as_echo "$make_cv_union_wait" >&6; }
-
-
-# If we're building on Windows/DOS/OS/2, add some support for DOS drive specs.
-if test "$PATH_SEPARATOR" = ';'; then
-
-$as_echo "@%:@define HAVE_DOS_PATHS 1" >>confdefs.h
-
-fi
-
-
-# See if the user wants to use pmake's "customs" distributed build capability
-
- REMOTE=stub
-use_customs=false
-
-@%:@ Check whether --with-customs was given.
-if test "${with_customs+set}" = set; then :
- withval=$with_customs; case $withval in
- n|no) : ;;
- *) make_cppflags="$CPPFLAGS"
- case $withval in
- y|ye|yes) : ;;
- *) CPPFLAGS="$CPPFLAGS -I$with_customs/include/customs"
- make_ldflags="$LDFLAGS -L$with_customs/lib" ;;
- esac
-
-cf_test_netlibs=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for network libraries" >&5
-$as_echo_n "checking for network libraries... " >&6; }
-if ${cf_cv_netlibs+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: working..." >&5
-$as_echo "working..." >&6; }
-cf_cv_netlibs=""
-cf_test_netlibs=yes
-for ac_func in gethostname
-do :
- ac_fn_c_check_func "$LINENO" "gethostname" "ac_cv_func_gethostname"
-if test "x$ac_cv_func_gethostname" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_GETHOSTNAME 1
-_ACEOF
-
-else
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostname in -lnsl" >&5
-$as_echo_n "checking for gethostname in -lnsl... " >&6; }
-if ${ac_cv_lib_nsl_gethostname+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnsl $cf_cv_netlibs $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostname ();
-int
-main ()
-{
-return gethostname ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_nsl_gethostname=yes
-else
- ac_cv_lib_nsl_gethostname=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostname" >&5
-$as_echo "$ac_cv_lib_nsl_gethostname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostname" = xyes; then :
-
-
-cf_tr_func=`echo gethostname | tr '[a-z]' '[A-Z]'`
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_$cf_tr_func 1
-_ACEOF
-
- ac_cv_func_gethostname=yes
- cf_cv_netlibs="-lnsl $cf_cv_netlibs"
-else
-
- ac_cv_func_gethostname=unknown
- unset ac_cv_func_gethostname 2>/dev/null
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostname in -lsocket" >&5
-$as_echo_n "checking for gethostname in -lsocket... " >&6; }
-if ${ac_cv_lib_socket_gethostname+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsocket $cf_cv_netlibs $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostname ();
-int
-main ()
-{
-return gethostname ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_socket_gethostname=yes
-else
- ac_cv_lib_socket_gethostname=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_gethostname" >&5
-$as_echo "$ac_cv_lib_socket_gethostname" >&6; }
-if test "x$ac_cv_lib_socket_gethostname" = xyes; then :
-
-
-cf_tr_func=`echo gethostname | tr '[a-z]' '[A-Z]'`
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_$cf_tr_func 1
-_ACEOF
-
- ac_cv_func_gethostname=yes
- cf_cv_netlibs="-lsocket $cf_cv_netlibs"
-else
-
- ac_cv_func_gethostname=unknown
- unset ac_cv_func_gethostname 2>/dev/null
-
-fi
-
-
-fi
-
-
-fi
-done
-
-#
-# FIXME: sequent needs this library (i.e., -lsocket -linet -lnsl), but
-# I don't know the entrypoints - 97/7/22 TD
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -linet" >&5
-$as_echo_n "checking for main in -linet... " >&6; }
-if ${ac_cv_lib_inet_main+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-linet $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-return main ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_inet_main=yes
-else
- ac_cv_lib_inet_main=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_inet_main" >&5
-$as_echo "$ac_cv_lib_inet_main" >&6; }
-if test "x$ac_cv_lib_inet_main" = xyes; then :
- cf_cv_netlibs="-linet $cf_cv_netlibs"
-fi
-
-#
-if test "$ac_cv_func_lsocket" != no ; then
-for ac_func in socket
-do :
- ac_fn_c_check_func "$LINENO" "socket" "ac_cv_func_socket"
-if test "x$ac_cv_func_socket" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_SOCKET 1
-_ACEOF
-
-else
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5
-$as_echo_n "checking for socket in -lsocket... " >&6; }
-if ${ac_cv_lib_socket_socket+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsocket $cf_cv_netlibs $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char socket ();
-int
-main ()
-{
-return socket ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_socket_socket=yes
-else
- ac_cv_lib_socket_socket=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5
-$as_echo "$ac_cv_lib_socket_socket" >&6; }
-if test "x$ac_cv_lib_socket_socket" = xyes; then :
-
-
-cf_tr_func=`echo socket | tr '[a-z]' '[A-Z]'`
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_$cf_tr_func 1
-_ACEOF
-
- ac_cv_func_socket=yes
- cf_cv_netlibs="-lsocket $cf_cv_netlibs"
-else
-
- ac_cv_func_socket=unknown
- unset ac_cv_func_socket 2>/dev/null
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lbsd" >&5
-$as_echo_n "checking for socket in -lbsd... " >&6; }
-if ${ac_cv_lib_bsd_socket+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lbsd $cf_cv_netlibs $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char socket ();
-int
-main ()
-{
-return socket ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_bsd_socket=yes
-else
- ac_cv_lib_bsd_socket=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_socket" >&5
-$as_echo "$ac_cv_lib_bsd_socket" >&6; }
-if test "x$ac_cv_lib_bsd_socket" = xyes; then :
-
-
-cf_tr_func=`echo socket | tr '[a-z]' '[A-Z]'`
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_$cf_tr_func 1
-_ACEOF
-
- ac_cv_func_socket=yes
- cf_cv_netlibs="-lbsd $cf_cv_netlibs"
-else
-
- ac_cv_func_socket=unknown
- unset ac_cv_func_socket 2>/dev/null
-
-fi
-
-
-fi
-
-
-fi
-done
-
-fi
-#
-for ac_func in gethostbyname
-do :
- ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
-if test "x$ac_cv_func_gethostbyname" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_GETHOSTBYNAME 1
-_ACEOF
-
-else
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
-$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnsl $cf_cv_netlibs $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname ();
-int
-main ()
-{
-return gethostbyname ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_nsl_gethostbyname=yes
-else
- ac_cv_lib_nsl_gethostbyname=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
-$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
-
-
-cf_tr_func=`echo gethostbyname | tr '[a-z]' '[A-Z]'`
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_$cf_tr_func 1
-_ACEOF
-
- ac_cv_func_gethostbyname=yes
- cf_cv_netlibs="-lnsl $cf_cv_netlibs"
-else
-
- ac_cv_func_gethostbyname=unknown
- unset ac_cv_func_gethostbyname 2>/dev/null
-
-fi
-
-
-fi
-done
-
-
-fi
-
-LIBS="$LIBS $cf_cv_netlibs"
-test $cf_test_netlibs = no && echo "$cf_cv_netlibs" >&6
-
- ac_fn_c_check_header_mongrel "$LINENO" "customs.h" "ac_cv_header_customs_h" "$ac_includes_default"
-if test "x$ac_cv_header_customs_h" = xyes; then :
- use_customs=true
- REMOTE=cstms
- LIBS="$LIBS -lcustoms" LDFLAGS="$make_ldflags"
-else
- with_customs=no
- CPPFLAGS="$make_cppflags" make_badcust=yes
-fi
-
-
- ;;
- esac
-fi
-
-# Tell automake about this, so it can include the right .c files.
- if test "$use_customs" = true; then
- USE_CUSTOMS_TRUE=
- USE_CUSTOMS_FALSE='#'
-else
- USE_CUSTOMS_TRUE='#'
- USE_CUSTOMS_FALSE=
-fi
-
-
-# See if the user asked to handle case insensitive file systems.
-
-
-@%:@ Check whether --enable-case-insensitive-file-system was given.
-if test "${enable_case_insensitive_file_system+set}" = set; then :
- enableval=$enable_case_insensitive_file_system; case $enableval in
- yes) $as_echo "@%:@define HAVE_CASE_INSENSITIVE_FS 1" >>confdefs.h
- ;;
- esac
-fi
-
-
-# See if we can handle the job server feature, and if the user wants it.
-
-@%:@ Check whether --enable-job-server was given.
-if test "${enable_job_server+set}" = set; then :
- enableval=$enable_job_server; make_cv_job_server="$enableval" user_job_server="$enableval"
-else
- make_cv_job_server="yes"
-fi
-
-
-has_wait_nohang=yes
-case "$ac_cv_func_waitpid/$ac_cv_func_wait3" in
- no/no) has_wait_nohang=no ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SA_RESTART" >&5
-$as_echo_n "checking for SA_RESTART... " >&6; }
-if ${make_cv_sa_restart+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <signal.h>
-int
-main ()
-{
-return SA_RESTART;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- make_cv_sa_restart=yes
-else
- make_cv_sa_restart=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_sa_restart" >&5
-$as_echo "$make_cv_sa_restart" >&6; }
-
-if test "$make_cv_sa_restart" != no; then
-
-$as_echo "@%:@define HAVE_SA_RESTART 1" >>confdefs.h
-
-fi
-
-# Only allow jobserver on systems that support it
-case "/$ac_cv_func_pipe/$ac_cv_func_sigaction/$make_cv_sa_restart/$has_wait_nohang/" in
- */no/*) make_cv_job_server=no ;;
-esac
-
-# Also supported on OS2 and MinGW
-case "$host_os" in
- os2*|mingw*) make_cv_job_server=yes ;;
-esac
-
-# If we support it and the user didn't disable it, build with jobserver
-case "/$make_cv_job_server/$user_job_server/" in
- */no/*) : no jobserver ;;
- *)
-$as_echo "@%:@define MAKE_JOBSERVER 1" >>confdefs.h
- ;;
-esac
-
-# if we have both lstat() and readlink() then we can support symlink
-# timechecks.
-case "$ac_cv_func_lstat/$ac_cv_func_readlink" in
- yes/yes)
-
-$as_echo "@%:@define MAKE_SYMLINKS 1" >>confdefs.h
-;;
-esac
-
-# Find the SCCS commands, so we can include them in our default rules.
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of SCCS get command" >&5
-$as_echo_n "checking for location of SCCS get command... " >&6; }
-if ${make_cv_path_sccs_get+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-if test -f /usr/sccs/get; then
- make_cv_path_sccs_get=/usr/sccs/get
-else
- make_cv_path_sccs_get=get
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_path_sccs_get" >&5
-$as_echo "$make_cv_path_sccs_get" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-@%:@define SCCS_GET "$make_cv_path_sccs_get"
-_ACEOF
-
-
-ac_clean_files="$ac_clean_files s.conftest conftoast" # Remove these later.
-if ( /usr/sccs/admin -n s.conftest || admin -n s.conftest ) >/dev/null 2>&1 &&
- test -f s.conftest; then
- # We successfully created an SCCS file.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if SCCS get command understands -G" >&5
-$as_echo_n "checking if SCCS get command understands -G... " >&6; }
-if ${make_cv_sys_get_minus_G+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- if $make_cv_path_sccs_get -Gconftoast s.conftest >/dev/null 2>&1 &&
- test -f conftoast; then
- make_cv_sys_get_minus_G=yes
- else
- make_cv_sys_get_minus_G=no
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_sys_get_minus_G" >&5
-$as_echo "$make_cv_sys_get_minus_G" >&6; }
- case "$make_cv_sys_get_minus_G" in
- yes)
-$as_echo "@%:@define SCCS_GET_MINUS_G 1" >>confdefs.h
-;;
- esac
-fi
-rm -f s.conftest conftoast
-
-# Check the system to see if it provides GNU glob. If not, use our
-# local version.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if system libc has GNU glob" >&5
-$as_echo_n "checking if system libc has GNU glob... " >&6; }
-if ${make_cv_sys_gnu_glob+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <features.h>
-#include <glob.h>
-#include <fnmatch.h>
-
-#define GLOB_INTERFACE_VERSION 1
-#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
-# include <gnu-versions.h>
-# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION
- gnu glob
-# endif
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "gnu glob" >/dev/null 2>&1; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-make_cv_sys_gnu_glob=yes
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no; using local copy" >&5
-$as_echo "no; using local copy" >&6; }
-make_cv_sys_gnu_glob=no
-fi
-rm -f conftest*
-
-fi
-
-if test "$make_cv_sys_gnu_glob" = no; then
- GLOBINC='-I$(srcdir)/glob'
- GLOBLIB=glob/libglob.a
-fi
-
-
-
-# Tell automake about this, so it can build the right .c files.
- if test "$make_cv_sys_gnu_glob" = no; then
- USE_LOCAL_GLOB_TRUE=
- USE_LOCAL_GLOB_FALSE='#'
-else
- USE_LOCAL_GLOB_TRUE='#'
- USE_LOCAL_GLOB_FALSE=
-fi
-
-
-# Let the makefile know what our build host is
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define MAKE_HOST "$host"
-_ACEOF
-
-MAKE_HOST="$host"
-
-
-w32_target_env=no
- if false; then
- WINDOWSENV_TRUE=
- WINDOWSENV_FALSE='#'
-else
- WINDOWSENV_TRUE='#'
- WINDOWSENV_FALSE=
-fi
-
-
-case "$host" in
- *-*-mingw32)
- if true; then
- WINDOWSENV_TRUE=
- WINDOWSENV_FALSE='#'
-else
- WINDOWSENV_TRUE='#'
- WINDOWSENV_FALSE=
-fi
-
- w32_target_env=yes
-
-$as_echo "@%:@define WINDOWS32 1" >>confdefs.h
-
-
-$as_echo "@%:@define HAVE_DOS_PATHS 1" >>confdefs.h
-
- ;;
-esac
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PATH_SEPARATOR_CHAR '$PATH_SEPARATOR'
-_ACEOF
-
-
-# Include the Maintainer's Makefile section, if it's here.
-
-MAINT_MAKEFILE=/dev/null
-if test -r "$srcdir/maintMakefile"; then
- MAINT_MAKEFILE="$srcdir/maintMakefile"
-fi
-
-
-# Allow building with dmalloc
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if malloc debugging is wanted" >&5
-$as_echo_n "checking if malloc debugging is wanted... " >&6; }
-
-@%:@ Check whether --with-dmalloc was given.
-if test "${with_dmalloc+set}" = set; then :
- withval=$with_dmalloc; if test "$withval" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "@%:@define WITH_DMALLOC 1" >>confdefs.h
-
- LIBS="$LIBS -ldmalloc"
- LDFLAGS="$LDFLAGS -g"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-# Forcibly disable SET_MAKE. If it's set it breaks things like the test
-# scripts, etc.
-SET_MAKE=
-
-# Sanity check and inform the user of what we found
-
-case "$make_badcust" in
- yes) echo
- echo "WARNING: --with-customs specified but no customs.h could be found;"
- echo " disabling Customs support."
- echo ;;
-esac
-
-case "$with_customs" in
- ""|n|no|y|ye|yes) ;;
- *) if test -f "$with_customs/lib/libcustoms.a"; then
- :
- else
- echo
- echo "WARNING: '$with_customs/lib' does not appear to contain the"
- echo " Customs library. You must build and install Customs"
- echo " before compiling GNU make."
- echo
- fi ;;
-esac
-
-case "$has_wait_nohang" in
- no) echo
- echo "WARNING: Your system has neither waitpid() nor wait3()."
- echo " Without one of these, signal handling is unreliable."
- echo " You should be aware that running GNU make with -j"
- echo " could result in erratic behavior."
- echo ;;
-esac
-
-case "$make_cv_job_server/$user_job_server" in
- no/yes) echo
- echo "WARNING: Make job server requires a POSIX-ish system that"
- echo " supports the pipe(), sigaction(), and either"
- echo " waitpid() or wait3() functions. Your system doesn't"
- echo " appear to provide one or more of those."
- echo " Disabling job server support."
- echo ;;
-esac
-
-
-# Specify what files are to be created.
-ac_config_files="$ac_config_files Makefile glob/Makefile po/Makefile.in config/Makefile doc/Makefile w32/Makefile"
-
-
-# OK, do it!
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIB@&t@OBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
- am__EXEEXT_TRUE=
- am__EXEEXT_FALSE='#'
-else
- am__EXEEXT_TRUE='#'
- am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${USE_CUSTOMS_TRUE}" && test -z "${USE_CUSTOMS_FALSE}"; then
- as_fn_error $? "conditional \"USE_CUSTOMS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${USE_LOCAL_GLOB_TRUE}" && test -z "${USE_LOCAL_GLOB_FALSE}"; then
- as_fn_error $? "conditional \"USE_LOCAL_GLOB\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${WINDOWSENV_TRUE}" && test -z "${WINDOWSENV_FALSE}"; then
- as_fn_error $? "conditional \"WINDOWSENV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${WINDOWSENV_TRUE}" && test -z "${WINDOWSENV_FALSE}"; then
- as_fn_error $? "conditional \"WINDOWSENV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in @%:@(
- *posix*) :
- set -o posix ;; @%:@(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in @%:@(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in @%:@((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD]
-@%:@ ----------------------------------------
-@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-@%:@ script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} @%:@ as_fn_error
-
-
-@%:@ as_fn_set_status STATUS
-@%:@ -----------------------
-@%:@ Set @S|@? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} @%:@ as_fn_set_status
-
-@%:@ as_fn_exit STATUS
-@%:@ -----------------
-@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} @%:@ as_fn_exit
-
-@%:@ as_fn_unset VAR
-@%:@ ---------------
-@%:@ Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-@%:@ as_fn_append VAR VALUE
-@%:@ ----------------------
-@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take
-@%:@ advantage of any shell optimizations that allow amortized linear growth over
-@%:@ repeated appends, instead of the typical quadratic growth present in naive
-@%:@ implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-@%:@ as_fn_arith ARG...
-@%:@ ------------------
-@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the
-@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments
-@%:@ must be portable across @S|@(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in @%:@(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-@%:@ as_fn_mkdir_p
-@%:@ -------------
-@%:@ Create "@S|@as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} @%:@ as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in @%:@(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in @%:@((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by GNU make $as_me 3.82.90, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to <bug-make@gnu.org>.
-GNU make home page: <http://www.gnu.org/software/make/>.
-General help using GNU software: <http://www.gnu.org/gethelp/>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-GNU make config.status 3.82.90
-configured by $0, generated by GNU Autoconf 2.68,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append CONFIG_HEADERS " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
- --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
-@%:@@%:@ Running $as_me. @%:@@%:@
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-# Capture the value of obsolete ALL_LINGUAS because we need it to compute
- # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
- # from automake < 1.5.
- eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
- # Capture the value of LINGUAS because we need it to compute CATALOGS.
- LINGUAS="${LINGUAS-%UNSET%}"
-
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "glob/Makefile") CONFIG_FILES="$CONFIG_FILES glob/Makefile" ;;
- "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
- "config/Makefile") CONFIG_FILES="$CONFIG_FILES config/Makefile" ;;
- "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
- "w32/Makefile") CONFIG_FILES="$CONFIG_FILES w32/Makefile" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-if $AWK 'BEGIN { getline <"/dev/null" }' </dev/null 2>/dev/null; then
- ac_cs_awk_getline=:
- ac_cs_awk_pipe_init=
- ac_cs_awk_read_file='
- while ((getline aline < (F[key])) > 0)
- print(aline)
- close(F[key])'
- ac_cs_awk_pipe_fini=
-else
- ac_cs_awk_getline=false
- ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\""
- ac_cs_awk_read_file='
- print "|#_!!_#|"
- print "cat " F[key] " &&"
- '$ac_cs_awk_pipe_init
- # The final `:' finishes the AND list.
- ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }'
-fi
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-# Create commands to substitute file output variables.
-{
- echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" &&
- echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' &&
- echo "$ac_subst_files" | sed 's/.*/F@<:@"&"@:>@="$&"/' &&
- echo "_ACAWK" &&
- echo "_ACEOF"
-} >conf$$files.sh &&
-. ./conf$$files.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-rm -f conf$$files.sh
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
- \$ac_cs_awk_pipe_init
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
- if (nfields == 3 && !substed) {
- key = field[2]
- if (F[key] != "" && line ~ /^[ ]*@.*@[ ]*$/) {
- \$ac_cs_awk_read_file
- next
- }
- }
- print line
-}
-\$ac_cs_awk_pipe_fini
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_tt"; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any. Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[ ]*#[ ]*define[ ][ ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- for (key in D) D_is_set[key] = 1
- FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
- line = \$ 0
- split(line, arg, " ")
- if (arg[1] == "#") {
- defundef = arg[2]
- mac1 = arg[3]
- } else {
- defundef = substr(arg[1], 2)
- mac1 = arg[2]
- }
- split(mac1, mac2, "(") #)
- macro = mac2[1]
- prefix = substr(line, 1, index(line, defundef) - 1)
- if (D_is_set[macro]) {
- # Preserve the white space surrounding the "#".
- print prefix "define", macro P[macro] D[macro]
- next
- } else {
- # Replace #undef with comments. This is necessary, for example,
- # in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
- if (defundef == "undef") {
- print "/*", prefix defundef, macro, "*/"
- next
- }
- }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\\/$]* | ?:[\\/]* ) ;;
- */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" |
-if $ac_cs_awk_getline; then
- $AWK -f "$ac_tmp/subs.awk"
-else
- $AWK -f "$ac_tmp/subs.awk" | $SHELL
-fi \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
- if test x"$ac_file" != x-; then
- {
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- } >"$ac_tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f "$ac_file"
- mv "$ac_tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- fi
- else
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
- fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$_am_arg" : 'X\(//\)[^/]' \| \
- X"$_am_arg" : 'X\(//\)$' \| \
- X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-
- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
- ;;
- "po-directories":C)
- for ac_file in $CONFIG_FILES; do
- # Support "outfile[:infile[:infile...]]"
- case "$ac_file" in
- *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- esac
- # PO directories have a Makefile.in generated from Makefile.in.in.
- 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_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.
- test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
- case "$ac_given_srcdir" in
- .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
- /*) top_srcdir="$ac_given_srcdir" ;;
- *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
- # Treat a directory as a PO directory if and only if it has a
- # POTFILES.in file. This allows packages to have multiple PO
- # directories under different names or in different locations.
- 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"
- 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
- # parameters.
- if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
- # The LINGUAS file contains the set of available languages.
- if test -n "$OBSOLETE_ALL_LINGUAS"; then
- 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 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 assigment from automake < 1.5.
- eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
- fi
- # Compute POFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
- # Compute UPDATEPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
- # Compute DUMMYPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
- # Compute GMOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
- case "$ac_given_srcdir" in
- .) srcdirpre= ;;
- *) srcdirpre='$(srcdir)/' ;;
- esac
- POFILES=
- UPDATEPOFILES=
- DUMMYPOFILES=
- GMOFILES=
- for lang in $ALL_LINGUAS; do
- POFILES="$POFILES $srcdirpre$lang.po"
- UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
- DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
- GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
- done
- # CATALOGS depends on both $ac_dir and the user's LINGUAS
- # environment variable.
- INST_LINGUAS=
- if test -n "$ALL_LINGUAS"; then
- for presentlang in $ALL_LINGUAS; do
- useit=no
- if test "%UNSET%" != "$LINGUAS"; then
- desiredlanguages="$LINGUAS"
- else
- desiredlanguages="$ALL_LINGUAS"
- fi
- for desiredlang in $desiredlanguages; do
- # Use the presentlang catalog if desiredlang is
- # a. equal to presentlang, or
- # b. a variant of presentlang (because in this case,
- # presentlang can be used as a fallback for messages
- # which are not translated in the desiredlang catalog).
- case "$desiredlang" in
- "$presentlang"*) useit=yes;;
- esac
- done
- if test $useit = yes; then
- INST_LINGUAS="$INST_LINGUAS $presentlang"
- fi
- done
- fi
- CATALOGS=
- if test -n "$INST_LINGUAS"; then
- for lang in $INST_LINGUAS; do
- CATALOGS="$CATALOGS $lang.gmo"
- done
- fi
- test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
- sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
- for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
- if test -f "$f"; then
- case "$f" in
- *.orig | *.bak | *~) ;;
- *) cat "$f" >> "$ac_dir/Makefile" ;;
- esac
- fi
- done
- fi
- ;;
- esac
- done ;;
-
- esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
-
-# We only generate the build.sh if we have a build.sh.in; we won't have
-# one before we've created a distribution.
-if test -f "$srcdir/build.sh.in"; then
- ./config.status --file build.sh
- chmod +x build.sh
-fi
-
diff --git a/autom4te.cache/output.1 b/autom4te.cache/output.1
deleted file mode 100644
index 437c59ae..00000000
--- a/autom4te.cache/output.1
+++ /dev/null
@@ -1,10978 +0,0 @@
-@%:@! /bin/sh
-@%:@ From configure.in Id: configure.in,v 1.159 2011/11/15 22:56:26 psmith Exp .
-@%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.68 for GNU make 3.82.90.
-@%:@
-@%:@ Report bugs to <bug-make@gnu.org>.
-@%:@
-@%:@
-@%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-@%:@ 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-@%:@ Foundation, Inc.
-@%:@
-@%:@
-@%:@ This configure script is free software; the Free Software Foundation
-@%:@ gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in @%:@(
- *posix*) :
- set -o posix ;; @%:@(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in @%:@(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in @%:@((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in @%:@(
- *posix*) :
- set -o posix ;; @%:@(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in @%:@(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in @%:@ ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org and bug-make@gnu.org
-$0: about your system, including any error possibly output
-$0: before this message. Then install a modern shell, or
-$0: manually run the script under such a shell if you do
-$0: have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-@%:@ as_fn_unset VAR
-@%:@ ---------------
-@%:@ Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-@%:@ as_fn_set_status STATUS
-@%:@ -----------------------
-@%:@ Set @S|@? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} @%:@ as_fn_set_status
-
-@%:@ as_fn_exit STATUS
-@%:@ -----------------
-@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} @%:@ as_fn_exit
-
-@%:@ as_fn_mkdir_p
-@%:@ -------------
-@%:@ Create "@S|@as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} @%:@ as_fn_mkdir_p
-@%:@ as_fn_append VAR VALUE
-@%:@ ----------------------
-@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take
-@%:@ advantage of any shell optimizations that allow amortized linear growth over
-@%:@ repeated appends, instead of the typical quadratic growth present in naive
-@%:@ implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-@%:@ as_fn_arith ARG...
-@%:@ ------------------
-@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the
-@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments
-@%:@ must be portable across @S|@(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD]
-@%:@ ----------------------------------------
-@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-@%:@ script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} @%:@ as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in @%:@(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in @%:@(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in @%:@((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIB@&t@OBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='GNU make'
-PACKAGE_TARNAME='make'
-PACKAGE_VERSION='3.82.90'
-PACKAGE_STRING='GNU make 3.82.90'
-PACKAGE_BUGREPORT='bug-make@gnu.org'
-PACKAGE_URL='http://www.gnu.org/software/make/'
-
-ac_unique_file="vpath.c"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-WINDOWSENV_FALSE
-WINDOWSENV_TRUE
-MAKE_HOST
-USE_LOCAL_GLOB_FALSE
-USE_LOCAL_GLOB_TRUE
-GLOBLIB
-GLOBINC
-USE_CUSTOMS_FALSE
-USE_CUSTOMS_TRUE
-REMOTE
-GETLOADAVG_LIBS
-KMEM_GROUP
-NEED_SETGID
-LIB@&t@OBJS
-ALLOCA
-POSUB
-LTLIBINTL
-LIBINTL
-INTLLIBS
-LTLIBICONV
-LIBICONV
-MSGMERGE
-XGETTEXT
-GMSGFMT
-MSGFMT
-USE_NLS
-MKINSTALLDIRS
-EGREP
-GREP
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-PERL
-AR
-CPP
-RANLIB
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-am__nodep
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files='MAINT_MAKEFILE'
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_nls
-with_gnu_ld
-enable_rpath
-with_libiconv_prefix
-with_libintl_prefix
-enable_largefile
-with_customs
-enable_case_insensitive_file_system
-enable_job_server
-with_dmalloc
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures GNU make 3.82.90 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- @<:@@S|@ac_default_prefix@:>@
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- @<:@PREFIX@:>@
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root @<:@DATAROOTDIR/doc/make@:>@
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of GNU make 3.82.90:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --disable-nls do not use Native Language Support
- --disable-rpath do not hardcode runtime library paths
- --disable-largefile omit support for large files
- --enable-case-insensitive-file-system
- assume file systems are case insensitive
- --disable-job-server disallow recursive make communication during -jN
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-gnu-ld assume the C compiler uses GNU ld default=no
- --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
- --without-libiconv-prefix don't search for libiconv in includedir and libdir
- --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib
- --without-libintl-prefix don't search for libintl in includedir and libdir
- --with-customs=DIR enable remote jobs via Customs--see README.customs
- --with-dmalloc use dmalloc, as in http://www.dmalloc.com
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CPP C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <bug-make@gnu.org>.
-GNU make home page: <http://www.gnu.org/software/make/>.
-General help using GNU software: <http://www.gnu.org/gethelp/>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-GNU make configure 3.82.90
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-@%:@ ac_fn_c_try_compile LINENO
-@%:@ --------------------------
-@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_compile
-
-@%:@ ac_fn_c_try_cpp LINENO
-@%:@ ----------------------
-@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_cpp
-
-@%:@ ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-@%:@ -------------------------------------------------------
-@%:@ Tests whether HEADER exists, giving a warning if it cannot be compiled using
-@%:@ the include files in INCLUDES and setting the cache variable VAR
-@%:@ accordingly.
-ac_fn_c_check_header_mongrel ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval \${$3+:} false; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_header_compiler=yes
-else
- ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- ac_header_preproc=yes
-else
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
- yes:no: )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
- no:yes:* )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------- ##
-## Report this to bug-make@gnu.org ##
-## ------------------------------- ##"
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_header_mongrel
-
-@%:@ ac_fn_c_try_run LINENO
-@%:@ ----------------------
-@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. Assumes
-@%:@ that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_run
-
-@%:@ ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-@%:@ -------------------------------------------------------
-@%:@ Tests whether HEADER exists and can be compiled using the include files in
-@%:@ INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_header_compile
-
-@%:@ ac_fn_c_try_link LINENO
-@%:@ -----------------------
-@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_link
-
-@%:@ ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-@%:@ -------------------------------------------
-@%:@ Tests whether TYPE exists after having included INCLUDES, setting cache
-@%:@ variable VAR accordingly.
-ac_fn_c_check_type ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_type
-
-@%:@ ac_fn_c_check_func LINENO FUNC VAR
-@%:@ ----------------------------------
-@%:@ Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_func
-
-@%:@ ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
-@%:@ ---------------------------------------------
-@%:@ Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
-@%:@ accordingly.
-ac_fn_c_check_decl ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- as_decl_name=`echo $2|sed 's/ *(.*//'`
- as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
-$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-@%:@ifndef $as_decl_name
-@%:@ifdef __cplusplus
- (void) $as_decl_use;
-@%:@else
- (void) $as_decl_name;
-@%:@endif
-@%:@endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_decl
-
-@%:@ ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
-@%:@ ----------------------------------------------------
-@%:@ Tries to find if the field MEMBER exists in type AGGR, after including
-@%:@ INCLUDES, setting cache variable VAR accordingly.
-ac_fn_c_check_member ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
-$as_echo_n "checking for $2.$3... " >&6; }
-if eval \${$4+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$5
-int
-main ()
-{
-static $2 ac_aggr;
-if (ac_aggr.$3)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$4=yes"
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$5
-int
-main ()
-{
-static $2 ac_aggr;
-if (sizeof ac_aggr.$3)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$4=yes"
-else
- eval "$4=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$4
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_member
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by GNU make $as_me 3.82.90, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in @%:@((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-
-# Autoconf setup
-ac_aux_dir=
-for ac_dir in config "$srcdir"/config; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in config \"$srcdir\"/config" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-
-ac_config_headers="$ac_config_headers config.h"
-
-
-# Automake setup
-am__api_version='1.11'
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in @%:@((
- ./ | .// | /[cC]/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-
- done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[\\\"\#\$\&\'\`$am_lf]*)
- as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
- *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
-alias in your environment" "$LINENO" 5
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
- if ${ac_cv_path_mkdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
- done
-IFS=$as_save_IFS
-
-fi
-
- test -d ./--version && rmdir ./--version
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- SET_MAKE=
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='make'
- VERSION='3.82.90'
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility. Yes, it's still used
-# in the wild :-( We should find a proper way to deprecate it ...
-AMTAR='$${TAR-tar}'
-
-am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
-
-
-
-
-
-
-# Checks for programs.
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $@%:@ != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-@%:@ Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
- am__nodep='_no'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- rm -rf conftest.dir
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@ifdef __STDC__
-@%:@ include <limits.h>
-@%:@else
-@%:@ include <assert.h>
-@%:@endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@ifdef __STDC__
-@%:@ include <limits.h>
-@%:@else
-@%:@ include <assert.h>
-@%:@endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-# Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AR="ar"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Perl is needed for the test suite (only)
-# Extract the first word of "perl", so it can be a program name with args.
-set dummy perl; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_PERL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$PERL"; then
- ac_cv_prog_PERL="$PERL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_PERL="perl"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_prog_PERL" && ac_cv_prog_PERL="perl"
-fi
-fi
-PERL=$ac_cv_prog_PERL
-if test -n "$PERL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
-$as_echo "$PERL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-# Specialized system macros
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
- ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = xyes; then :
- MINIX=yes
-else
- MINIX=
-fi
-
-
- if test "$MINIX" = yes; then
-
-$as_echo "@%:@define _POSIX_SOURCE 1" >>confdefs.h
-
-
-$as_echo "@%:@define _POSIX_1_SOURCE 2" >>confdefs.h
-
-
-$as_echo "@%:@define _MINIX 1" >>confdefs.h
-
- fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
-$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if ${ac_cv_safe_to_define___extensions__+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-# define __EXTENSIONS__ 1
- $ac_includes_default
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_safe_to_define___extensions__=yes
-else
- ac_cv_safe_to_define___extensions__=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
-$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
- test $ac_cv_safe_to_define___extensions__ = yes &&
- $as_echo "@%:@define __EXTENSIONS__ 1" >>confdefs.h
-
- $as_echo "@%:@define _ALL_SOURCE 1" >>confdefs.h
-
- $as_echo "@%:@define _GNU_SOURCE 1" >>confdefs.h
-
- $as_echo "@%:@define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
-
- $as_echo "@%:@define _TANDEM_SOURCE 1" >>confdefs.h
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strerror in -lcposix" >&5
-$as_echo_n "checking for strerror in -lcposix... " >&6; }
-if ${ac_cv_lib_cposix_strerror+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcposix $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char strerror ();
-int
-main ()
-{
-return strerror ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_cposix_strerror=yes
-else
- ac_cv_lib_cposix_strerror=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cposix_strerror" >&5
-$as_echo "$ac_cv_lib_cposix_strerror" >&6; }
-if test "x$ac_cv_lib_cposix_strerror" = xyes; then :
- LIBS="$LIBS -lcposix"
-fi
-
-
-
-
-
-# Enable gettext, in "external" mode.
-
-
-
- MKINSTALLDIRS=
- if test -n "$ac_aux_dir"; then
- case "$ac_aux_dir" in
- /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
- *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
- esac
- fi
- if test -z "$MKINSTALLDIRS"; then
- MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
- fi
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
-$as_echo_n "checking whether NLS is requested... " >&6; }
- @%:@ Check whether --enable-nls was given.
-if test "${enable_nls+set}" = set; then :
- enableval=$enable_nls; USE_NLS=$enableval
-else
- USE_NLS=yes
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
-$as_echo "$USE_NLS" >&6; }
-
-
-
-
-
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- 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,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "msgfmt", so it can be a program name with args.
-set dummy msgfmt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_MSGFMT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case "$MSGFMT" in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
- ;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
- (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
- test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
- ;;
-esac
-fi
-MSGFMT="$ac_cv_path_MSGFMT"
-if test "$MSGFMT" != ":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
-$as_echo "$MSGFMT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- # Extract the first word of "gmsgfmt", so it can be a program name with args.
-set dummy gmsgfmt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_GMSGFMT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $GMSGFMT in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
- ;;
-esac
-fi
-GMSGFMT=$ac_cv_path_GMSGFMT
-if test -n "$GMSGFMT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
-$as_echo "$GMSGFMT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- 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,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "xgettext", so it can be a program name with args.
-set dummy xgettext; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_XGETTEXT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case "$XGETTEXT" in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
- ;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
- (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
- test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
- ;;
-esac
-fi
-XGETTEXT="$ac_cv_path_XGETTEXT"
-if test "$XGETTEXT" != ":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
-$as_echo "$XGETTEXT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- rm -f messages.po
-
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- 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,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "msgmerge", so it can be a program name with args.
-set dummy msgmerge; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_MSGMERGE+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case "$MSGMERGE" in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
- ;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- if $ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1; then
- ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
- test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
- ;;
-esac
-fi
-MSGMERGE="$ac_cv_path_MSGMERGE"
-if test "$MSGMERGE" != ":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
-$as_echo "$MSGMERGE" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test "$GMSGFMT" != ":"; then
- if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
- (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- : ;
- else
- GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5
-$as_echo "found $GMSGFMT program is not GNU msgfmt; ignore it" >&6; }
- GMSGFMT=":"
- fi
- fi
-
- if test "$XGETTEXT" != ":"; then
- if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
- (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- : ;
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5
-$as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; }
- XGETTEXT=":"
- fi
- rm -f messages.po
- fi
-
- ac_config_commands="$ac_config_commands default-1"
-
-
-
- if test "X$prefix" = "XNONE"; then
- acl_final_prefix="$ac_default_prefix"
- else
- acl_final_prefix="$prefix"
- fi
- if test "X$exec_prefix" = "XNONE"; then
- acl_final_exec_prefix='${prefix}'
- else
- acl_final_exec_prefix="$exec_prefix"
- fi
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
- prefix="$acl_save_prefix"
-
-
-@%:@ Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- 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.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5
-$as_echo_n "checking for ld used by GCC... " >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | [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"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${acl_cv_path_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
- for ac_dir in $PATH; do
- 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 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 < /dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break ;;
- *)
- test "$with_gnu_ld" != yes && break ;;
- esac
- fi
- done
- IFS="$ac_save_ifs"
-else
- acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${acl_cv_prog_gnu_ld+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- acl_cv_prog_gnu_ld=yes ;;
-*)
- acl_cv_prog_gnu_ld=no ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
-$as_echo "$acl_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$acl_cv_prog_gnu_ld
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
-$as_echo_n "checking for shared library run path origin... " >&6; }
-if ${acl_cv_rpath+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
- ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
- . ./conftest.sh
- rm -f ./conftest.sh
- acl_cv_rpath=done
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
-$as_echo "$acl_cv_rpath" >&6; }
- wl="$acl_cv_wl"
- libext="$acl_cv_libext"
- shlibext="$acl_cv_shlibext"
- hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
- hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
- hardcode_direct="$acl_cv_hardcode_direct"
- hardcode_minus_L="$acl_cv_hardcode_minus_L"
- @%:@ Check whether --enable-rpath was given.
-if test "${enable_rpath+set}" = set; then :
- enableval=$enable_rpath; :
-else
- enable_rpath=yes
-fi
-
-
-
-
-
-
-
-
- use_additional=yes
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
-
-@%:@ Check whether --with-libiconv-prefix was given.
-if test "${with_libiconv_prefix+set}" = set; then :
- withval=$with_libiconv_prefix;
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
- fi
- fi
-
-fi
-
- LIBICONV=
- LTLIBICONV=
- INCICONV=
- rpathdirs=
- ltrpathdirs=
- names_already_handled=
- names_next_round='iconv '
- while test -n "$names_next_round"; do
- names_this_round="$names_next_round"
- names_next_round=
- for name in $names_this_round; do
- already_handled=
- for n in $names_already_handled; do
- if test "$n" = "$name"; then
- already_handled=yes
- break
- fi
- done
- if test -z "$already_handled"; then
- names_already_handled="$names_already_handled $name"
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
- eval value=\"\$HAVE_LIB$uppername\"
- if test -n "$value"; then
- if test "$value" = yes; then
- eval value=\"\$LIB$uppername\"
- test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value"
- eval value=\"\$LTLIB$uppername\"
- test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value"
- else
- :
- fi
- else
- found_dir=
- found_la=
- found_so=
- found_a=
- if test $use_additional = yes; then
- if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
- found_dir="$additional_libdir"
- found_so="$additional_libdir/lib$name.$shlibext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- else
- if test -f "$additional_libdir/lib$name.$libext"; then
- found_dir="$additional_libdir"
- found_a="$additional_libdir/lib$name.$libext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- for x in $LDFLAGS $LTLIBICONV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- case "$x" in
- -L*)
- dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
- found_dir="$dir"
- found_so="$dir/lib$name.$shlibext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- else
- if test -f "$dir/lib$name.$libext"; then
- found_dir="$dir"
- found_a="$dir/lib$name.$libext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- fi
- fi
- ;;
- esac
- if test "X$found_dir" != "X"; then
- break
- fi
- done
- fi
- if test "X$found_dir" != "X"; then
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
- if test "X$found_so" != "X"; then
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
- else
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $found_dir"
- fi
- if test "$hardcode_direct" = yes; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
- else
- if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $found_dir"
- fi
- else
- haveit=
- for x in $LDFLAGS $LIBICONV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
- fi
- if test "$hardcode_minus_L" != no; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
- else
- LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
- fi
- fi
- fi
- fi
- else
- if test "X$found_a" != "X"; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a"
- else
- LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name"
- fi
- fi
- additional_includedir=
- case "$found_dir" in
- */lib | */lib/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
- additional_includedir="$basedir/include"
- ;;
- esac
- if test "X$additional_includedir" != "X"; then
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- for x in $CPPFLAGS $INCICONV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- fi
- if test -n "$found_la"; then
- save_libdir="$libdir"
- case "$found_la" in
- */* | *\\*) . "$found_la" ;;
- *) . "./$found_la" ;;
- esac
- libdir="$save_libdir"
- for dep in $dependency_libs; do
- case "$dep" in
- -L*)
- additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- if test "X$additional_libdir" != "X/usr/lib"; then
- haveit=
- if test "X$additional_libdir" = "X/usr/local/lib"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- haveit=
- for x in $LDFLAGS $LIBICONV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir"
- fi
- fi
- haveit=
- for x in $LDFLAGS $LTLIBICONV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- ;;
- -R*)
- dir=`echo "X$dep" | sed -e 's/^X-R//'`
- if test "$enable_rpath" != no; then
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $dir"
- fi
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $dir"
- fi
- fi
- ;;
- -l*)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
- ;;
- *.la)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
- ;;
- *)
- LIBICONV="${LIBICONV}${LIBICONV:+ }$dep"
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep"
- ;;
- esac
- done
- fi
- else
- LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name"
- fi
- fi
- fi
- done
- done
- if test "X$rpathdirs" != "X"; then
- if test -n "$hardcode_libdir_separator"; then
- alldirs=
- for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
- done
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
- else
- for found_dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$found_dir"
- eval flag=\"$hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
- done
- fi
- fi
- if test "X$ltrpathdirs" != "X"; then
- for found_dir in $ltrpathdirs; do
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir"
- done
- fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
-$as_echo_n "checking whether NLS is requested... " >&6; }
- @%:@ Check whether --enable-nls was given.
-if test "${enable_nls+set}" = set; then :
- enableval=$enable_nls; USE_NLS=$enableval
-else
- USE_NLS=yes
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
-$as_echo "$USE_NLS" >&6; }
-
-
-
-
- LIBINTL=
- LTLIBINTL=
- POSUB=
-
- if test "$USE_NLS" = "yes"; then
- gt_use_preinstalled_gnugettext=no
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5
-$as_echo_n "checking for GNU gettext in libc... " >&6; }
-if ${gt_cv_func_gnugettext1_libc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <libintl.h>
-extern int _nl_msg_cat_cntr;
-extern int *_nl_domain_bindings;
-int
-main ()
-{
-bindtextdomain ("", "");
-return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- gt_cv_func_gnugettext1_libc=yes
-else
- gt_cv_func_gnugettext1_libc=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libc" >&5
-$as_echo "$gt_cv_func_gnugettext1_libc" >&6; }
-
- if test "$gt_cv_func_gnugettext1_libc" != "yes"; then
-
-
-
-
-
- am_save_CPPFLAGS="$CPPFLAGS"
-
- for element in $INCICONV; do
- haveit=
- for x in $CPPFLAGS; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X$element"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
- fi
- done
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
-$as_echo_n "checking for iconv... " >&6; }
-if ${am_cv_func_iconv+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- am_cv_func_iconv="no, consider installing GNU libiconv"
- am_cv_lib_iconv=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <iconv.h>
-int
-main ()
-{
-iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- am_cv_func_iconv=yes
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$am_cv_func_iconv" != yes; then
- am_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <iconv.h>
-int
-main ()
-{
-iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- am_cv_lib_iconv=yes
- am_cv_func_iconv=yes
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS="$am_save_LIBS"
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
-$as_echo "$am_cv_func_iconv" >&6; }
- if test "$am_cv_func_iconv" = yes; then
-
-$as_echo "@%:@define HAVE_ICONV 1" >>confdefs.h
-
- fi
- if test "$am_cv_lib_iconv" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
-$as_echo_n "checking how to link with libiconv... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
-$as_echo "$LIBICONV" >&6; }
- else
- CPPFLAGS="$am_save_CPPFLAGS"
- LIBICONV=
- LTLIBICONV=
- fi
-
-
-
-
-
-
- use_additional=yes
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
-
-@%:@ Check whether --with-libintl-prefix was given.
-if test "${with_libintl_prefix+set}" = set; then :
- withval=$with_libintl_prefix;
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
- fi
- fi
-
-fi
-
- LIBINTL=
- LTLIBINTL=
- INCINTL=
- rpathdirs=
- ltrpathdirs=
- names_already_handled=
- names_next_round='intl '
- while test -n "$names_next_round"; do
- names_this_round="$names_next_round"
- names_next_round=
- for name in $names_this_round; do
- already_handled=
- for n in $names_already_handled; do
- if test "$n" = "$name"; then
- already_handled=yes
- break
- fi
- done
- if test -z "$already_handled"; then
- names_already_handled="$names_already_handled $name"
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
- eval value=\"\$HAVE_LIB$uppername\"
- if test -n "$value"; then
- if test "$value" = yes; then
- eval value=\"\$LIB$uppername\"
- test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value"
- eval value=\"\$LTLIB$uppername\"
- test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value"
- else
- :
- fi
- else
- found_dir=
- found_la=
- found_so=
- found_a=
- if test $use_additional = yes; then
- if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
- found_dir="$additional_libdir"
- found_so="$additional_libdir/lib$name.$shlibext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- else
- if test -f "$additional_libdir/lib$name.$libext"; then
- found_dir="$additional_libdir"
- found_a="$additional_libdir/lib$name.$libext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- for x in $LDFLAGS $LTLIBINTL; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- case "$x" in
- -L*)
- dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
- found_dir="$dir"
- found_so="$dir/lib$name.$shlibext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- else
- if test -f "$dir/lib$name.$libext"; then
- found_dir="$dir"
- found_a="$dir/lib$name.$libext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- fi
- fi
- ;;
- esac
- if test "X$found_dir" != "X"; then
- break
- fi
- done
- fi
- if test "X$found_dir" != "X"; then
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
- if test "X$found_so" != "X"; then
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
- else
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $found_dir"
- fi
- if test "$hardcode_direct" = yes; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
- else
- if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $found_dir"
- fi
- else
- haveit=
- for x in $LDFLAGS $LIBINTL; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
- fi
- if test "$hardcode_minus_L" != no; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
- else
- LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
- fi
- fi
- fi
- fi
- else
- if test "X$found_a" != "X"; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a"
- else
- LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name"
- fi
- fi
- additional_includedir=
- case "$found_dir" in
- */lib | */lib/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
- additional_includedir="$basedir/include"
- ;;
- esac
- if test "X$additional_includedir" != "X"; then
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- for x in $CPPFLAGS $INCINTL; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- fi
- if test -n "$found_la"; then
- save_libdir="$libdir"
- case "$found_la" in
- */* | *\\*) . "$found_la" ;;
- *) . "./$found_la" ;;
- esac
- libdir="$save_libdir"
- for dep in $dependency_libs; do
- case "$dep" in
- -L*)
- additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- if test "X$additional_libdir" != "X/usr/lib"; then
- haveit=
- if test "X$additional_libdir" = "X/usr/local/lib"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- haveit=
- for x in $LDFLAGS $LIBINTL; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir"
- fi
- fi
- haveit=
- for x in $LDFLAGS $LTLIBINTL; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- ;;
- -R*)
- dir=`echo "X$dep" | sed -e 's/^X-R//'`
- if test "$enable_rpath" != no; then
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $dir"
- fi
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $dir"
- fi
- fi
- ;;
- -l*)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
- ;;
- *.la)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
- ;;
- *)
- LIBINTL="${LIBINTL}${LIBINTL:+ }$dep"
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep"
- ;;
- esac
- done
- fi
- else
- LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name"
- fi
- fi
- fi
- done
- done
- if test "X$rpathdirs" != "X"; then
- if test -n "$hardcode_libdir_separator"; then
- alldirs=
- for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
- done
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
- else
- for found_dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$found_dir"
- eval flag=\"$hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
- done
- fi
- fi
- if test "X$ltrpathdirs" != "X"; then
- for found_dir in $ltrpathdirs; do
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir"
- done
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
-$as_echo_n "checking for GNU gettext in libintl... " >&6; }
-if ${gt_cv_func_gnugettext1_libintl+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- gt_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $INCINTL"
- gt_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBINTL"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <libintl.h>
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias ();
-int
-main ()
-{
-bindtextdomain ("", "");
-return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0)
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- gt_cv_func_gnugettext1_libintl=yes
-else
- gt_cv_func_gnugettext1_libintl=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then
- LIBS="$LIBS $LIBICONV"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <libintl.h>
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias ();
-int
-main ()
-{
-bindtextdomain ("", "");
-return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0)
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- LIBINTL="$LIBINTL $LIBICONV"
- LTLIBINTL="$LTLIBINTL $LTLIBICONV"
- gt_cv_func_gnugettext1_libintl=yes
-
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- CPPFLAGS="$gt_save_CPPFLAGS"
- LIBS="$gt_save_LIBS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libintl" >&5
-$as_echo "$gt_cv_func_gnugettext1_libintl" >&6; }
- fi
-
- if test "$gt_cv_func_gnugettext1_libc" = "yes" \
- || { test "$gt_cv_func_gnugettext1_libintl" = "yes" \
- && test "$PACKAGE" != gettext-runtime \
- && test "$PACKAGE" != gettext-tools; }; then
- gt_use_preinstalled_gnugettext=yes
- else
- LIBINTL=
- LTLIBINTL=
- INCINTL=
- fi
-
-
-
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
-
-$as_echo "@%:@define ENABLE_NLS 1" >>confdefs.h
-
- else
- USE_NLS=no
- fi
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5
-$as_echo_n "checking whether to use NLS... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
-$as_echo "$USE_NLS" >&6; }
- if test "$USE_NLS" = "yes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5
-$as_echo_n "checking where the gettext function comes from... " >&6; }
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then
- gt_source="external libintl"
- else
- gt_source="libc"
- fi
- else
- gt_source="included intl directory"
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5
-$as_echo "$gt_source" >&6; }
- fi
-
- if test "$USE_NLS" = "yes"; then
-
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5
-$as_echo_n "checking how to link with libintl... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5
-$as_echo "$LIBINTL" >&6; }
-
- for element in $INCINTL; do
- haveit=
- for x in $CPPFLAGS; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X$element"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
- fi
- done
-
- fi
-
-
-$as_echo "@%:@define HAVE_GETTEXT 1" >>confdefs.h
-
-
-$as_echo "@%:@define HAVE_DCGETTEXT 1" >>confdefs.h
-
- fi
-
- POSUB=po
- fi
-
-
-
- INTLLIBS="$LIBINTL"
-
-
-
-
-
-
-
-# This test must come as early as possible after the compiler configuration
-# tests, because the choice of the file model can (in principle) affect
-# whether functions and headers are available, whether they work, etc.
-@%:@ Check whether --enable-largefile was given.
-if test "${enable_largefile+set}" = set; then :
- enableval=$enable_largefile;
-fi
-
-if test "$enable_largefile" != no; then
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
-$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if ${ac_cv_sys_largefile_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_sys_largefile_CC=no
- if test "$GCC" != yes; then
- ac_save_CC=$CC
- while :; do
- # IRIX 6.2 and later do not support large files by default,
- # so use the C compiler's -n32 option if that helps.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
- break
-fi
-rm -f core conftest.err conftest.$ac_objext
- CC="$CC -n32"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_largefile_CC=' -n32'; break
-fi
-rm -f core conftest.err conftest.$ac_objext
- break
- done
- CC=$ac_save_CC
- rm -f conftest.$ac_ext
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
-$as_echo "$ac_cv_sys_largefile_CC" >&6; }
- if test "$ac_cv_sys_largefile_CC" != no; then
- CC=$CC$ac_cv_sys_largefile_CC
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if ${ac_cv_sys_file_offset_bits+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_file_offset_bits=no; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@define _FILE_OFFSET_BITS 64
-@%:@include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_file_offset_bits=64; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cv_sys_file_offset_bits=unknown
- break
-done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
-$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
-case $ac_cv_sys_file_offset_bits in #(
- no | unknown) ;;
- *)
-cat >>confdefs.h <<_ACEOF
-@%:@define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
-_ACEOF
-;;
-esac
-rm -rf conftest*
- if test $ac_cv_sys_file_offset_bits = unknown; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
-$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-if ${ac_cv_sys_large_files+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_large_files=no; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@define _LARGE_FILES 1
-@%:@include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_large_files=1; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cv_sys_large_files=unknown
- break
-done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
-$as_echo "$ac_cv_sys_large_files" >&6; }
-case $ac_cv_sys_large_files in #(
- no | unknown) ;;
- *)
-cat >>confdefs.h <<_ACEOF
-@%:@define _LARGE_FILES $ac_cv_sys_large_files
-_ACEOF
-;;
-esac
-rm -rf conftest*
- fi
-fi
-
-
-# Checks for libraries.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getpwnam" >&5
-$as_echo_n "checking for library containing getpwnam... " >&6; }
-if ${ac_cv_search_getpwnam+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char getpwnam ();
-int
-main ()
-{
-return getpwnam ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' sun; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_getpwnam=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_getpwnam+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_getpwnam+:} false; then :
-
-else
- ac_cv_search_getpwnam=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getpwnam" >&5
-$as_echo "$ac_cv_search_getpwnam" >&6; }
-ac_res=$ac_cv_search_getpwnam
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-
-# Checks for header files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-ac_header_dirent=no
-for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
- as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
-$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
-if eval \${$as_ac_Header+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <$ac_hdr>
-
-int
-main ()
-{
-if ((DIR *) 0)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$as_ac_Header=yes"
-else
- eval "$as_ac_Header=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_ac_Header
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
-_ACEOF
-
-ac_header_dirent=$ac_hdr; break
-fi
-
-done
-# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
-if test $ac_header_dirent = dirent.h; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
-$as_echo_n "checking for library containing opendir... " >&6; }
-if ${ac_cv_search_opendir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char opendir ();
-int
-main ()
-{
-return opendir ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' dir; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_opendir=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_opendir+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_opendir+:} false; then :
-
-else
- ac_cv_search_opendir=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
-$as_echo "$ac_cv_search_opendir" >&6; }
-ac_res=$ac_cv_search_opendir
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
-$as_echo_n "checking for library containing opendir... " >&6; }
-if ${ac_cv_search_opendir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char opendir ();
-int
-main ()
-{
-return opendir ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' x; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_opendir=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_opendir+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_opendir+:} false; then :
-
-else
- ac_cv_search_opendir=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
-$as_echo "$ac_cv_search_opendir" >&6; }
-ac_res=$ac_cv_search_opendir
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5
-$as_echo_n "checking whether stat file-mode macros are broken... " >&6; }
-if ${ac_cv_header_stat_broken+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#if defined S_ISBLK && defined S_IFDIR
-extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1];
-#endif
-
-#if defined S_ISBLK && defined S_IFCHR
-extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1];
-#endif
-
-#if defined S_ISLNK && defined S_IFREG
-extern char c3[S_ISLNK (S_IFREG) ? -1 : 1];
-#endif
-
-#if defined S_ISSOCK && defined S_IFREG
-extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1];
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stat_broken=no
-else
- ac_cv_header_stat_broken=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5
-$as_echo "$ac_cv_header_stat_broken" >&6; }
-if test $ac_cv_header_stat_broken = yes; then
-
-$as_echo "@%:@define STAT_MACROS_BROKEN 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
-$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
-if ${ac_cv_header_time+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/time.h>
-#include <time.h>
-
-int
-main ()
-{
-if ((struct tm *) 0)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_time=yes
-else
- ac_cv_header_time=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5
-$as_echo "$ac_cv_header_time" >&6; }
-if test $ac_cv_header_time = yes; then
-
-$as_echo "@%:@define TIME_WITH_SYS_TIME 1" >>confdefs.h
-
-fi
-
-for ac_header in 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
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-# Set a flag if we have an ANSI C compiler
-if test "$ac_cv_prog_cc_stdc" != no; then
-
-$as_echo "@%:@define HAVE_ANSI_COMPILER 1" >>confdefs.h
-
-fi
-
-
-# Determine what kind of variadic function calls we support
-for ac_header in stdarg.h varargs.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
- break
-fi
-
-done
-
-
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "@%:@define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
-$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if ${ac_cv_c_const+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-/* FIXME: Include the comments suggested by Paul. */
-#ifndef __cplusplus
- /* Ultrix mips cc rejects this. */
- typedef int charset[2];
- const charset cs;
- /* SunOS 4.1.1 cc rejects this. */
- char const *const *pcpcc;
- char **ppc;
- /* NEC SVR4.0.2 mips cc rejects this. */
- struct point {int x, y;};
- static struct point const zero = {0,0};
- /* AIX XL C 1.02.0.0 rejects this.
- It does not let you subtract one const X* pointer from another in
- an arm of an if-expression whose if-part is not a constant
- expression */
- const char *g = "string";
- pcpcc = &g + (g ? g-g : 0);
- /* HPUX 7.0 cc rejects these. */
- ++pcpcc;
- ppc = (char**) pcpcc;
- pcpcc = (char const *const *) ppc;
- { /* SCO 3.2v4 cc rejects this. */
- char *t;
- char const *s = 0 ? (char *) 0 : (char const *) 0;
-
- *t++ = 0;
- if (s) return 0;
- }
- { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
- int x[] = {25, 17};
- const int *foo = &x[0];
- ++foo;
- }
- { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
- typedef const int *iptr;
- iptr p = 0;
- ++p;
- }
- { /* AIX XL C 1.02.0.0 rejects this saying
- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
- }
- { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
- const int foo = 10;
- if (!foo) return 0;
- }
- return !cs[0] && !zero.x;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_const=yes
-else
- ac_cv_c_const=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
-$as_echo "$ac_cv_c_const" >&6; }
-if test $ac_cv_c_const = no; then
-
-$as_echo "@%:@define const /**/" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
-$as_echo_n "checking return type of signal handlers... " >&6; }
-if ${ac_cv_type_signal+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <signal.h>
-
-int
-main ()
-{
-return *(signal (0, 0)) (0) == 1;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_type_signal=int
-else
- ac_cv_type_signal=void
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5
-$as_echo "$ac_cv_type_signal" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-@%:@define RETSIGTYPE $ac_cv_type_signal
-_ACEOF
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
-$as_echo_n "checking for uid_t in sys/types.h... " >&6; }
-if ${ac_cv_type_uid_t+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "uid_t" >/dev/null 2>&1; then :
- ac_cv_type_uid_t=yes
-else
- ac_cv_type_uid_t=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5
-$as_echo "$ac_cv_type_uid_t" >&6; }
-if test $ac_cv_type_uid_t = no; then
-
-$as_echo "@%:@define uid_t int" >>confdefs.h
-
-
-$as_echo "@%:@define gid_t int" >>confdefs.h
-
-fi
-
-ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
-if test "x$ac_cv_type_pid_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-@%:@define pid_t int
-_ACEOF
-
-fi
-
-
-# Find some definition for uintmax_t
-
-ac_fn_c_check_type "$LINENO" "uintmax_t" "ac_cv_type_uintmax_t" "$ac_includes_default"
-if test "x$ac_cv_type_uintmax_t" = xyes; then :
-
-else
-
- uintmax_t="unsigned long"
- ac_fn_c_check_type "$LINENO" "unsigned long long" "ac_cv_type_unsigned_long_long" "$ac_includes_default"
-if test "x$ac_cv_type_unsigned_long_long" = xyes; then :
- uintmax_t="unsigned long long"
-fi
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define uintmax_t $uintmax_t
-_ACEOF
-
-fi
-
-
-# Find out whether our struct stat returns nanosecond resolution timestamps.
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for nanoseconds field of struct stat" >&5
-$as_echo_n "checking for nanoseconds field of struct stat... " >&6; }
-if ${ac_cv_struct_st_mtim_nsec+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_CPPFLAGS="$CPPFLAGS"
- ac_cv_struct_st_mtim_nsec=no
- # st_mtim.tv_nsec -- the usual case
- # st_mtim._tv_nsec -- Solaris 2.6, if
- # (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1
- # && !defined __EXTENSIONS__)
- # st_mtim.st__tim.tv_nsec -- UnixWare 2.1.2
- # st_mtimespec.tv_nsec -- Darwin (Mac OSX)
- for ac_val in st_mtim.tv_nsec st_mtim._tv_nsec st_mtim.st__tim.tv_nsec st_mtimespec.tv_nsec; do
- CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/stat.h>
-
-int
-main ()
-{
-struct stat s; s.ST_MTIM_NSEC;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_struct_st_mtim_nsec=$ac_val; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
- CPPFLAGS="$ac_save_CPPFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_st_mtim_nsec" >&5
-$as_echo "$ac_cv_struct_st_mtim_nsec" >&6; }
-
- if test $ac_cv_struct_st_mtim_nsec != no; then
-
-cat >>confdefs.h <<_ACEOF
-@%:@define ST_MTIM_NSEC $ac_cv_struct_st_mtim_nsec
-_ACEOF
-
- fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use high resolution file timestamps" >&5
-$as_echo_n "checking whether to use high resolution file timestamps... " >&6; }
-if ${make_cv_file_timestamp_hi_res+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- make_cv_file_timestamp_hi_res=no
- if test "$ac_cv_struct_st_mtim_nsec" != no; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-# if HAVE_INTTYPES_H
-# include <inttypes.h>
-# endif
-int
-main ()
-{
-char a[0x7fffffff < (uintmax_t)-1 >> 30 ? 1 : -1];
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- make_cv_file_timestamp_hi_res=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_file_timestamp_hi_res" >&5
-$as_echo "$make_cv_file_timestamp_hi_res" >&6; }
-if test "$make_cv_file_timestamp_hi_res" = yes; then
- val=1
-else
- val=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-@%:@define FILE_TIMESTAMP_HI_RES $val
-_ACEOF
-
-
-if test "$make_cv_file_timestamp_hi_res" = yes; then
- # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
- # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
-$as_echo_n "checking for library containing clock_gettime... " >&6; }
-if ${ac_cv_search_clock_gettime+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char clock_gettime ();
-int
-main ()
-{
-return clock_gettime ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' rt posix4; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_clock_gettime=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_clock_gettime+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_clock_gettime+:} false; then :
-
-else
- ac_cv_search_clock_gettime=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5
-$as_echo "$ac_cv_search_clock_gettime" >&6; }
-ac_res=$ac_cv_search_clock_gettime
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
- if test "$ac_cv_search_clock_gettime" != no; then
-
-$as_echo "@%:@define HAVE_CLOCK_GETTIME 1" >>confdefs.h
-
- fi
-fi
-
-# Check for DOS-style pathnames.
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system uses MSDOS-style paths" >&5
-$as_echo_n "checking whether system uses MSDOS-style paths... " >&6; }
-if ${ac_cv_dos_paths+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __EMX__ && !defined __MSYS__ && !defined __CYGWIN__
-neither MSDOS nor Windows nor OS2
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_dos_paths=yes
-else
- ac_cv_dos_paths=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_dos_paths" >&5
-$as_echo "$ac_cv_dos_paths" >&6; }
-
- if test x"$ac_cv_dos_paths" = xyes; then
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_DOS_PATHS 1
-_ACEOF
-
- fi
-
-
-# See if we have a standard version of gettimeofday(). Since actual
-# implementations can differ, just make sure we have the most common
-# one.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for standard gettimeofday" >&5
-$as_echo_n "checking for standard gettimeofday... " >&6; }
-if ${ac_cv_func_gettimeofday+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_func_gettimeofday=no
- if test "$cross_compiling" = yes; then :
- ac_cv_func_gettimeofday="no (cross-compiling)"
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/time.h>
- int main ()
- {
- struct timeval t; t.tv_sec = -1; t.tv_usec = -1;
- exit (gettimeofday (&t, 0) != 0
- || t.tv_sec < 0 || t.tv_usec < 0);
- }
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_func_gettimeofday=yes
-else
- ac_cv_func_gettimeofday=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_gettimeofday" >&5
-$as_echo "$ac_cv_func_gettimeofday" >&6; }
-if test "$ac_cv_func_gettimeofday" = yes; then
-
-$as_echo "@%:@define HAVE_GETTIMEOFDAY 1" >>confdefs.h
-
-fi
-
-for ac_func in strdup strndup mkstemp mktemp fdopen fileno \
- dup2 getcwd realpath sigsetmask sigaction \
- getgroups seteuid setegid setlinebuf setreuid setregid \
- getrlimit setrlimit setvbuf pipe strerror strsignal \
- lstat readlink atexit
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-# We need to check declarations, not just existence, because on Tru64 this
-# function is not declared without special flags, which themselves cause
-# other problems. We'll just use our own.
-ac_fn_c_check_decl "$LINENO" "bsd_signal" "ac_cv_have_decl_bsd_signal" "#include <signal.h>
-"
-if test "x$ac_cv_have_decl_bsd_signal" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_DECL_BSD_SIGNAL $ac_have_decl
-_ACEOF
-
-
-if ${ac_cv_func_setvbuf_reversed+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_func_setvbuf_reversed=no
-fi
-
-
-
-# Rumor has it that strcasecmp lives in -lresolv on some odd systems.
-# It doesn't hurt much to use our own if we can't find it so I don't
-# make the effort here.
-for ac_func in strcasecmp strncasecmp strcmpi strncmpi stricmp strnicmp
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-# strcoll() is used by the GNU glob library
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strcoll" >&5
-$as_echo_n "checking for working strcoll... " >&6; }
-if ${ac_cv_func_strcoll_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_func_strcoll_works=no
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-return (strcoll ("abc", "def") >= 0 ||
- strcoll ("ABC", "DEF") >= 0 ||
- strcoll ("123", "456") >= 0)
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_func_strcoll_works=yes
-else
- ac_cv_func_strcoll_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strcoll_works" >&5
-$as_echo "$ac_cv_func_strcoll_works" >&6; }
-if test $ac_cv_func_strcoll_works = yes; then
-
-$as_echo "@%:@define HAVE_STRCOLL 1" >>confdefs.h
-
-fi
-
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-@%:@define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_working_alloca_h=yes
-else
- ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "@%:@define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_func_alloca_works=yes
-else
- ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "@%:@define HAVE_ALLOCA 1" >>confdefs.h
-
-else
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble. Some versions do not even contain alloca or
-# contain a buggy version. If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "@%:@define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "webecray" >/dev/null 2>&1; then :
- ac_cv_os_cray=yes
-else
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
- for ac_func in _getb67 GETB67 getb67; do
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-@%:@define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
- break
-fi
-
- done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_c_stack_direction=0
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
- return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_stack_direction=1
-else
- ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-@%:@define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-for ac_header in vfork.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default"
-if test "x$ac_cv_header_vfork_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_VFORK_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in fork vfork
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-if test "x$ac_cv_func_fork" = xyes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5
-$as_echo_n "checking for working fork... " >&6; }
-if ${ac_cv_func_fork_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_func_fork_works=cross
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-
- /* By Ruediger Kuhlmann. */
- return fork () < 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_func_fork_works=yes
-else
- ac_cv_func_fork_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5
-$as_echo "$ac_cv_func_fork_works" >&6; }
-
-else
- ac_cv_func_fork_works=$ac_cv_func_fork
-fi
-if test "x$ac_cv_func_fork_works" = xcross; then
- case $host in
- *-*-amigaos* | *-*-msdosdjgpp*)
- # Override, as these systems have only a dummy fork() stub
- ac_cv_func_fork_works=no
- ;;
- *)
- ac_cv_func_fork_works=yes
- ;;
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5
-$as_echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;}
-fi
-ac_cv_func_vfork_works=$ac_cv_func_vfork
-if test "x$ac_cv_func_vfork" = xyes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5
-$as_echo_n "checking for working vfork... " >&6; }
-if ${ac_cv_func_vfork_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_func_vfork_works=cross
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Thanks to Paul Eggert for this test. */
-$ac_includes_default
-#include <sys/wait.h>
-#ifdef HAVE_VFORK_H
-# include <vfork.h>
-#endif
-/* On some sparc systems, changes by the child to local and incoming
- argument registers are propagated back to the parent. The compiler
- is told about this with #include <vfork.h>, but some compilers
- (e.g. gcc -O) don't grok <vfork.h>. Test for this by using a
- static variable whose address is put into a register that is
- clobbered by the vfork. */
-static void
-#ifdef __cplusplus
-sparc_address_test (int arg)
-# else
-sparc_address_test (arg) int arg;
-#endif
-{
- static pid_t child;
- if (!child) {
- child = vfork ();
- if (child < 0) {
- perror ("vfork");
- _exit(2);
- }
- if (!child) {
- arg = getpid();
- write(-1, "", 0);
- _exit (arg);
- }
- }
-}
-
-int
-main ()
-{
- pid_t parent = getpid ();
- pid_t child;
-
- sparc_address_test (0);
-
- child = vfork ();
-
- if (child == 0) {
- /* Here is another test for sparc vfork register problems. This
- test uses lots of local variables, at least as many local
- variables as main has allocated so far including compiler
- temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris
- 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should
- reuse the register of parent for one of the local variables,
- since it will think that parent can't possibly be used any more
- in this routine. Assigning to the local variable will thus
- munge parent in the parent process. */
- pid_t
- p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),
- p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();
- /* Convince the compiler that p..p7 are live; otherwise, it might
- use the same hardware register for all 8 local variables. */
- if (p != p1 || p != p2 || p != p3 || p != p4
- || p != p5 || p != p6 || p != p7)
- _exit(1);
-
- /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent
- from child file descriptors. If the child closes a descriptor
- before it execs or exits, this munges the parent's descriptor
- as well. Test for this by closing stdout in the child. */
- _exit(close(fileno(stdout)) != 0);
- } else {
- int status;
- struct stat st;
-
- while (wait(&status) != child)
- ;
- return (
- /* Was there some problem with vforking? */
- child < 0
-
- /* Did the child fail? (This shouldn't happen.) */
- || status
-
- /* Did the vfork/compiler bug occur? */
- || parent != getpid()
-
- /* Did the file descriptor bug occur? */
- || fstat(fileno(stdout), &st) != 0
- );
- }
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_func_vfork_works=yes
-else
- ac_cv_func_vfork_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5
-$as_echo "$ac_cv_func_vfork_works" >&6; }
-
-fi;
-if test "x$ac_cv_func_fork_works" = xcross; then
- ac_cv_func_vfork_works=$ac_cv_func_vfork
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5
-$as_echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;}
-fi
-
-if test "x$ac_cv_func_vfork_works" = xyes; then
-
-$as_echo "@%:@define HAVE_WORKING_VFORK 1" >>confdefs.h
-
-else
-
-$as_echo "@%:@define vfork fork" >>confdefs.h
-
-fi
-if test "x$ac_cv_func_fork_works" = xyes; then
-
-$as_echo "@%:@define HAVE_WORKING_FORK 1" >>confdefs.h
-
-fi
-
-for ac_func in vprintf
-do :
- ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf"
-if test "x$ac_cv_func_vprintf" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_VPRINTF 1
-_ACEOF
-
-ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt"
-if test "x$ac_cv_func__doprnt" = xyes; then :
-
-$as_echo "@%:@define HAVE_DOPRNT 1" >>confdefs.h
-
-fi
-
-fi
-done
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether closedir returns void" >&5
-$as_echo_n "checking whether closedir returns void... " >&6; }
-if ${ac_cv_func_closedir_void+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_func_closedir_void=yes
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header_dirent>
-#ifndef __cplusplus
-int closedir ();
-#endif
-
-int
-main ()
-{
-return closedir (opendir (".")) != 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_func_closedir_void=no
-else
- ac_cv_func_closedir_void=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_closedir_void" >&5
-$as_echo "$ac_cv_func_closedir_void" >&6; }
-if test $ac_cv_func_closedir_void = yes; then
-
-$as_echo "@%:@define CLOSEDIR_VOID 1" >>confdefs.h
-
-fi
-
-
-ac_have_func=no # yes means we've found a way to get the load average.
-
-# Make sure getloadavg.c is where it belongs, at configure-time.
-test -f "$srcdir/$ac_config_libobj_dir/getloadavg.c" ||
- as_fn_error $? "$srcdir/$ac_config_libobj_dir/getloadavg.c is missing" "$LINENO" 5
-
-ac_save_LIBS=$LIBS
-
-# Check for getloadavg, but be sure not to touch the cache variable.
-(ac_fn_c_check_func "$LINENO" "getloadavg" "ac_cv_func_getloadavg"
-if test "x$ac_cv_func_getloadavg" = xyes; then :
- exit 0
-else
- exit 1
-fi
-) && ac_have_func=yes
-
-# On HPUX9, an unprivileged user can get load averages through this function.
-for ac_func in pstat_getdynamic
-do :
- ac_fn_c_check_func "$LINENO" "pstat_getdynamic" "ac_cv_func_pstat_getdynamic"
-if test "x$ac_cv_func_pstat_getdynamic" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_PSTAT_GETDYNAMIC 1
-_ACEOF
-
-fi
-done
-
-
-# Solaris has libkstat which does not require root.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kstat_open in -lkstat" >&5
-$as_echo_n "checking for kstat_open in -lkstat... " >&6; }
-if ${ac_cv_lib_kstat_kstat_open+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lkstat $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char kstat_open ();
-int
-main ()
-{
-return kstat_open ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_kstat_kstat_open=yes
-else
- ac_cv_lib_kstat_kstat_open=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kstat_kstat_open" >&5
-$as_echo "$ac_cv_lib_kstat_kstat_open" >&6; }
-if test "x$ac_cv_lib_kstat_kstat_open" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_LIBKSTAT 1
-_ACEOF
-
- LIBS="-lkstat $LIBS"
-
-fi
-
-test $ac_cv_lib_kstat_kstat_open = yes && ac_have_func=yes
-
-# Some systems with -lutil have (and need) -lkvm as well, some do not.
-# On Solaris, -lkvm requires nlist from -lelf, so check that first
-# to get the right answer into the cache.
-# For kstat on solaris, we need libelf to force the definition of SVR4 below.
-if test $ac_have_func = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for elf_begin in -lelf" >&5
-$as_echo_n "checking for elf_begin in -lelf... " >&6; }
-if ${ac_cv_lib_elf_elf_begin+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lelf $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char elf_begin ();
-int
-main ()
-{
-return elf_begin ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_elf_elf_begin=yes
-else
- ac_cv_lib_elf_elf_begin=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_elf_elf_begin" >&5
-$as_echo "$ac_cv_lib_elf_elf_begin" >&6; }
-if test "x$ac_cv_lib_elf_elf_begin" = xyes; then :
- LIBS="-lelf $LIBS"
-fi
-
-fi
-if test $ac_have_func = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kvm_open in -lkvm" >&5
-$as_echo_n "checking for kvm_open in -lkvm... " >&6; }
-if ${ac_cv_lib_kvm_kvm_open+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lkvm $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char kvm_open ();
-int
-main ()
-{
-return kvm_open ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_kvm_kvm_open=yes
-else
- ac_cv_lib_kvm_kvm_open=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kvm_kvm_open" >&5
-$as_echo "$ac_cv_lib_kvm_kvm_open" >&6; }
-if test "x$ac_cv_lib_kvm_kvm_open" = xyes; then :
- LIBS="-lkvm $LIBS"
-fi
-
- # Check for the 4.4BSD definition of getloadavg.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getloadavg in -lutil" >&5
-$as_echo_n "checking for getloadavg in -lutil... " >&6; }
-if ${ac_cv_lib_util_getloadavg+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lutil $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char getloadavg ();
-int
-main ()
-{
-return getloadavg ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_util_getloadavg=yes
-else
- ac_cv_lib_util_getloadavg=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_getloadavg" >&5
-$as_echo "$ac_cv_lib_util_getloadavg" >&6; }
-if test "x$ac_cv_lib_util_getloadavg" = xyes; then :
- LIBS="-lutil $LIBS" ac_have_func=yes ac_cv_func_getloadavg_setgid=yes
-fi
-
-fi
-
-if test $ac_have_func = no; then
- # There is a commonly available library for RS/6000 AIX.
- # Since it is not a standard part of AIX, it might be installed locally.
- ac_getloadavg_LIBS=$LIBS
- LIBS="-L/usr/local/lib $LIBS"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getloadavg in -lgetloadavg" >&5
-$as_echo_n "checking for getloadavg in -lgetloadavg... " >&6; }
-if ${ac_cv_lib_getloadavg_getloadavg+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lgetloadavg $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char getloadavg ();
-int
-main ()
-{
-return getloadavg ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_getloadavg_getloadavg=yes
-else
- ac_cv_lib_getloadavg_getloadavg=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_getloadavg_getloadavg" >&5
-$as_echo "$ac_cv_lib_getloadavg_getloadavg" >&6; }
-if test "x$ac_cv_lib_getloadavg_getloadavg" = xyes; then :
- LIBS="-lgetloadavg $LIBS"
-else
- LIBS=$ac_getloadavg_LIBS
-fi
-
-fi
-
-# Make sure it is really in the library, if we think we found it,
-# otherwise set up the replacement function.
-for ac_func in getloadavg
-do :
- ac_fn_c_check_func "$LINENO" "getloadavg" "ac_cv_func_getloadavg"
-if test "x$ac_cv_func_getloadavg" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_GETLOADAVG 1
-_ACEOF
-
-else
- case " $LIB@&t@OBJS " in
- *" getloadavg.$ac_objext "* ) ;;
- *) LIB@&t@OBJS="$LIB@&t@OBJS getloadavg.$ac_objext"
- ;;
-esac
-
-
-$as_echo "@%:@define C_GETLOADAVG 1" >>confdefs.h
-
-# Figure out what our getloadavg.c needs.
-ac_have_func=no
-ac_fn_c_check_header_mongrel "$LINENO" "sys/dg_sys_info.h" "ac_cv_header_sys_dg_sys_info_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_dg_sys_info_h" = xyes; then :
- ac_have_func=yes
-
-$as_echo "@%:@define DGUX 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dg_sys_info in -ldgc" >&5
-$as_echo_n "checking for dg_sys_info in -ldgc... " >&6; }
-if ${ac_cv_lib_dgc_dg_sys_info+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldgc $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dg_sys_info ();
-int
-main ()
-{
-return dg_sys_info ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dgc_dg_sys_info=yes
-else
- ac_cv_lib_dgc_dg_sys_info=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dgc_dg_sys_info" >&5
-$as_echo "$ac_cv_lib_dgc_dg_sys_info" >&6; }
-if test "x$ac_cv_lib_dgc_dg_sys_info" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_LIBDGC 1
-_ACEOF
-
- LIBS="-ldgc $LIBS"
-
-fi
-
-fi
-
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default"
-if test "x$ac_cv_header_locale_h" = xyes; then :
-
-fi
-
-
-for ac_func in setlocale
-do :
- ac_fn_c_check_func "$LINENO" "setlocale" "ac_cv_func_setlocale"
-if test "x$ac_cv_func_setlocale" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_SETLOCALE 1
-_ACEOF
-
-fi
-done
-
-
-# We cannot check for <dwarf.h>, because Solaris 2 does not use dwarf (it
-# uses stabs), but it is still SVR4. We cannot check for <elf.h> because
-# Irix 4.0.5F has the header but not the library.
-if test $ac_have_func = no && test "$ac_cv_lib_elf_elf_begin" = yes \
- && test "$ac_cv_lib_kvm_kvm_open" = yes; then
- ac_have_func=yes
-
-$as_echo "@%:@define SVR4 1" >>confdefs.h
-
-fi
-
-if test $ac_have_func = no; then
- ac_fn_c_check_header_mongrel "$LINENO" "inq_stats/cpustats.h" "ac_cv_header_inq_stats_cpustats_h" "$ac_includes_default"
-if test "x$ac_cv_header_inq_stats_cpustats_h" = xyes; then :
- ac_have_func=yes
-
-$as_echo "@%:@define UMAX 1" >>confdefs.h
-
-
-$as_echo "@%:@define UMAX4_3 1" >>confdefs.h
-
-fi
-
-
-fi
-
-if test $ac_have_func = no; then
- ac_fn_c_check_header_mongrel "$LINENO" "sys/cpustats.h" "ac_cv_header_sys_cpustats_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_cpustats_h" = xyes; then :
- ac_have_func=yes; $as_echo "@%:@define UMAX 1" >>confdefs.h
-
-fi
-
-
-fi
-
-if test $ac_have_func = no; then
- for ac_header in mach/mach.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "mach/mach.h" "ac_cv_header_mach_mach_h" "$ac_includes_default"
-if test "x$ac_cv_header_mach_mach_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_MACH_MACH_H 1
-_ACEOF
-
-fi
-
-done
-
-fi
-
-for ac_header in nlist.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "nlist.h" "ac_cv_header_nlist_h" "$ac_includes_default"
-if test "x$ac_cv_header_nlist_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_NLIST_H 1
-_ACEOF
- ac_fn_c_check_member "$LINENO" "struct nlist" "n_un.n_name" "ac_cv_member_struct_nlist_n_un_n_name" "@%:@include <nlist.h>
-"
-if test "x$ac_cv_member_struct_nlist_n_un_n_name" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_STRUCT_NLIST_N_UN_N_NAME 1
-_ACEOF
-
-
-$as_echo "@%:@define NLIST_NAME_UNION 1" >>confdefs.h
-
-fi
-
-
-fi
-
-done
-
-fi
-done
-
-
-# Some definitions of getloadavg require that the program be installed setgid.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getloadavg requires setgid" >&5
-$as_echo_n "checking whether getloadavg requires setgid... " >&6; }
-if ${ac_cv_func_getloadavg_setgid+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include "$srcdir/$ac_config_libobj_dir/getloadavg.c"
-#ifdef LDAV_PRIVILEGED
-Yowza Am I SETGID yet
-@%:@endif
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Yowza Am I SETGID yet" >/dev/null 2>&1; then :
- ac_cv_func_getloadavg_setgid=yes
-else
- ac_cv_func_getloadavg_setgid=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_getloadavg_setgid" >&5
-$as_echo "$ac_cv_func_getloadavg_setgid" >&6; }
-if test $ac_cv_func_getloadavg_setgid = yes; then
- NEED_SETGID=true
-
-$as_echo "@%:@define GETLOADAVG_PRIVILEGED 1" >>confdefs.h
-
-else
- NEED_SETGID=false
-fi
-
-if test $ac_cv_func_getloadavg_setgid = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking group of /dev/kmem" >&5
-$as_echo_n "checking group of /dev/kmem... " >&6; }
-if ${ac_cv_group_kmem+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # On Solaris, /dev/kmem is a symlink. Get info on the real file.
- ac_ls_output=`ls -lgL /dev/kmem 2>/dev/null`
- # If we got an error (system does not support symlinks), try without -L.
- test -z "$ac_ls_output" && ac_ls_output=`ls -lg /dev/kmem`
- ac_cv_group_kmem=`$as_echo "$ac_ls_output" \
- | sed -ne 's/[ ][ ]*/ /g;
- s/^.[sSrwx-]* *[0-9]* *\([^0-9]*\) *.*/\1/;
- / /s/.* //;p;'`
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_group_kmem" >&5
-$as_echo "$ac_cv_group_kmem" >&6; }
- KMEM_GROUP=$ac_cv_group_kmem
-fi
-if test "x$ac_save_LIBS" = x; then
- GETLOADAVG_LIBS=$LIBS
-else
- GETLOADAVG_LIBS=`$as_echo "$LIBS" | sed "s|$ac_save_LIBS||"`
-fi
-LIBS=$ac_save_LIBS
-
-
-
-# AC_FUNC_GETLOADAVG is documented to set the NLIST_STRUCT value, but it
-# doesn't. So, we will.
-
-if test "$ac_cv_header_nlist_h" = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <nlist.h>
-int
-main ()
-{
-struct nlist nl;
- nl.n_name = "string";
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- make_cv_nlist_struct=yes
-else
- make_cv_nlist_struct=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- if test "$make_cv_nlist_struct" = yes; then
-
-$as_echo "@%:@define NLIST_STRUCT 1" >>confdefs.h
-
- fi
-fi
-
-ac_fn_c_check_decl "$LINENO" "sys_siglist" "ac_cv_have_decl_sys_siglist" "$ac_includes_default
-#include <signal.h>
-/* NetBSD declares sys_siglist in unistd.h. */
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-"
-if test "x$ac_cv_have_decl_sys_siglist" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_DECL_SYS_SIGLIST $ac_have_decl
-_ACEOF
-ac_fn_c_check_decl "$LINENO" "_sys_siglist" "ac_cv_have_decl__sys_siglist" "$ac_includes_default
-#include <signal.h>
-/* NetBSD declares sys_siglist in unistd.h. */
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-"
-if test "x$ac_cv_have_decl__sys_siglist" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_DECL__SYS_SIGLIST $ac_have_decl
-_ACEOF
-ac_fn_c_check_decl "$LINENO" "__sys_siglist" "ac_cv_have_decl___sys_siglist" "$ac_includes_default
-#include <signal.h>
-/* NetBSD declares sys_siglist in unistd.h. */
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-"
-if test "x$ac_cv_have_decl___sys_siglist" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_DECL___SYS_SIGLIST $ac_have_decl
-_ACEOF
-
-
-
-# Check out the wait reality.
-for ac_header in sys/wait.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "sys/wait.h" "ac_cv_header_sys_wait_h" "#include <sys/types.h>
-"
-if test "x$ac_cv_header_sys_wait_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_SYS_WAIT_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in waitpid wait3
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for union wait" >&5
-$as_echo_n "checking for union wait... " >&6; }
-if ${make_cv_union_wait+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/wait.h>
-int
-main ()
-{
-union wait status; int pid; pid = wait (&status);
-#ifdef WEXITSTATUS
-/* Some POSIXoid systems have both the new-style macros and the old
- union wait type, and they do not work together. If union wait
- conflicts with WEXITSTATUS et al, we don't want to use it at all. */
- if (WEXITSTATUS (status) != 0) pid = -1;
-#ifdef WTERMSIG
- /* If we have WEXITSTATUS and WTERMSIG, just use them on ints. */
- -- blow chunks here --
-#endif
-#endif
-#ifdef HAVE_WAITPID
- /* Make sure union wait works with waitpid. */
- pid = waitpid (-1, &status, 0);
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- make_cv_union_wait=yes
-else
- make_cv_union_wait=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-
-if test "$make_cv_union_wait" = yes; then
-
-$as_echo "@%:@define HAVE_UNION_WAIT 1" >>confdefs.h
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_union_wait" >&5
-$as_echo "$make_cv_union_wait" >&6; }
-
-
-# If we're building on Windows/DOS/OS/2, add some support for DOS drive specs.
-if test "$PATH_SEPARATOR" = ';'; then
-
-$as_echo "@%:@define HAVE_DOS_PATHS 1" >>confdefs.h
-
-fi
-
-
-# See if the user wants to use pmake's "customs" distributed build capability
-
- REMOTE=stub
-use_customs=false
-
-@%:@ Check whether --with-customs was given.
-if test "${with_customs+set}" = set; then :
- withval=$with_customs; case $withval in
- n|no) : ;;
- *) make_cppflags="$CPPFLAGS"
- case $withval in
- y|ye|yes) : ;;
- *) CPPFLAGS="$CPPFLAGS -I$with_customs/include/customs"
- make_ldflags="$LDFLAGS -L$with_customs/lib" ;;
- esac
-
-cf_test_netlibs=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for network libraries" >&5
-$as_echo_n "checking for network libraries... " >&6; }
-if ${cf_cv_netlibs+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: working..." >&5
-$as_echo "working..." >&6; }
-cf_cv_netlibs=""
-cf_test_netlibs=yes
-for ac_func in gethostname
-do :
- ac_fn_c_check_func "$LINENO" "gethostname" "ac_cv_func_gethostname"
-if test "x$ac_cv_func_gethostname" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_GETHOSTNAME 1
-_ACEOF
-
-else
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostname in -lnsl" >&5
-$as_echo_n "checking for gethostname in -lnsl... " >&6; }
-if ${ac_cv_lib_nsl_gethostname+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnsl $cf_cv_netlibs $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostname ();
-int
-main ()
-{
-return gethostname ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_nsl_gethostname=yes
-else
- ac_cv_lib_nsl_gethostname=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostname" >&5
-$as_echo "$ac_cv_lib_nsl_gethostname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostname" = xyes; then :
-
-
-cf_tr_func=`echo gethostname | tr '[a-z]' '[A-Z]'`
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_$cf_tr_func 1
-_ACEOF
-
- ac_cv_func_gethostname=yes
- cf_cv_netlibs="-lnsl $cf_cv_netlibs"
-else
-
- ac_cv_func_gethostname=unknown
- unset ac_cv_func_gethostname 2>/dev/null
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostname in -lsocket" >&5
-$as_echo_n "checking for gethostname in -lsocket... " >&6; }
-if ${ac_cv_lib_socket_gethostname+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsocket $cf_cv_netlibs $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostname ();
-int
-main ()
-{
-return gethostname ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_socket_gethostname=yes
-else
- ac_cv_lib_socket_gethostname=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_gethostname" >&5
-$as_echo "$ac_cv_lib_socket_gethostname" >&6; }
-if test "x$ac_cv_lib_socket_gethostname" = xyes; then :
-
-
-cf_tr_func=`echo gethostname | tr '[a-z]' '[A-Z]'`
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_$cf_tr_func 1
-_ACEOF
-
- ac_cv_func_gethostname=yes
- cf_cv_netlibs="-lsocket $cf_cv_netlibs"
-else
-
- ac_cv_func_gethostname=unknown
- unset ac_cv_func_gethostname 2>/dev/null
-
-fi
-
-
-fi
-
-
-fi
-done
-
-#
-# FIXME: sequent needs this library (i.e., -lsocket -linet -lnsl), but
-# I don't know the entrypoints - 97/7/22 TD
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -linet" >&5
-$as_echo_n "checking for main in -linet... " >&6; }
-if ${ac_cv_lib_inet_main+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-linet $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-return main ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_inet_main=yes
-else
- ac_cv_lib_inet_main=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_inet_main" >&5
-$as_echo "$ac_cv_lib_inet_main" >&6; }
-if test "x$ac_cv_lib_inet_main" = xyes; then :
- cf_cv_netlibs="-linet $cf_cv_netlibs"
-fi
-
-#
-if test "$ac_cv_func_lsocket" != no ; then
-for ac_func in socket
-do :
- ac_fn_c_check_func "$LINENO" "socket" "ac_cv_func_socket"
-if test "x$ac_cv_func_socket" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_SOCKET 1
-_ACEOF
-
-else
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5
-$as_echo_n "checking for socket in -lsocket... " >&6; }
-if ${ac_cv_lib_socket_socket+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsocket $cf_cv_netlibs $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char socket ();
-int
-main ()
-{
-return socket ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_socket_socket=yes
-else
- ac_cv_lib_socket_socket=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5
-$as_echo "$ac_cv_lib_socket_socket" >&6; }
-if test "x$ac_cv_lib_socket_socket" = xyes; then :
-
-
-cf_tr_func=`echo socket | tr '[a-z]' '[A-Z]'`
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_$cf_tr_func 1
-_ACEOF
-
- ac_cv_func_socket=yes
- cf_cv_netlibs="-lsocket $cf_cv_netlibs"
-else
-
- ac_cv_func_socket=unknown
- unset ac_cv_func_socket 2>/dev/null
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lbsd" >&5
-$as_echo_n "checking for socket in -lbsd... " >&6; }
-if ${ac_cv_lib_bsd_socket+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lbsd $cf_cv_netlibs $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char socket ();
-int
-main ()
-{
-return socket ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_bsd_socket=yes
-else
- ac_cv_lib_bsd_socket=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_socket" >&5
-$as_echo "$ac_cv_lib_bsd_socket" >&6; }
-if test "x$ac_cv_lib_bsd_socket" = xyes; then :
-
-
-cf_tr_func=`echo socket | tr '[a-z]' '[A-Z]'`
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_$cf_tr_func 1
-_ACEOF
-
- ac_cv_func_socket=yes
- cf_cv_netlibs="-lbsd $cf_cv_netlibs"
-else
-
- ac_cv_func_socket=unknown
- unset ac_cv_func_socket 2>/dev/null
-
-fi
-
-
-fi
-
-
-fi
-done
-
-fi
-#
-for ac_func in gethostbyname
-do :
- ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
-if test "x$ac_cv_func_gethostbyname" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_GETHOSTBYNAME 1
-_ACEOF
-
-else
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
-$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnsl $cf_cv_netlibs $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname ();
-int
-main ()
-{
-return gethostbyname ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_nsl_gethostbyname=yes
-else
- ac_cv_lib_nsl_gethostbyname=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
-$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
-
-
-cf_tr_func=`echo gethostbyname | tr '[a-z]' '[A-Z]'`
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_$cf_tr_func 1
-_ACEOF
-
- ac_cv_func_gethostbyname=yes
- cf_cv_netlibs="-lnsl $cf_cv_netlibs"
-else
-
- ac_cv_func_gethostbyname=unknown
- unset ac_cv_func_gethostbyname 2>/dev/null
-
-fi
-
-
-fi
-done
-
-
-fi
-
-LIBS="$LIBS $cf_cv_netlibs"
-test $cf_test_netlibs = no && echo "$cf_cv_netlibs" >&6
-
- ac_fn_c_check_header_mongrel "$LINENO" "customs.h" "ac_cv_header_customs_h" "$ac_includes_default"
-if test "x$ac_cv_header_customs_h" = xyes; then :
- use_customs=true
- REMOTE=cstms
- LIBS="$LIBS -lcustoms" LDFLAGS="$make_ldflags"
-else
- with_customs=no
- CPPFLAGS="$make_cppflags" make_badcust=yes
-fi
-
-
- ;;
- esac
-fi
-
-# Tell automake about this, so it can include the right .c files.
- if test "$use_customs" = true; then
- USE_CUSTOMS_TRUE=
- USE_CUSTOMS_FALSE='#'
-else
- USE_CUSTOMS_TRUE='#'
- USE_CUSTOMS_FALSE=
-fi
-
-
-# See if the user asked to handle case insensitive file systems.
-
-
-@%:@ Check whether --enable-case-insensitive-file-system was given.
-if test "${enable_case_insensitive_file_system+set}" = set; then :
- enableval=$enable_case_insensitive_file_system; case $enableval in
- yes) $as_echo "@%:@define HAVE_CASE_INSENSITIVE_FS 1" >>confdefs.h
- ;;
- esac
-fi
-
-
-# See if we can handle the job server feature, and if the user wants it.
-
-@%:@ Check whether --enable-job-server was given.
-if test "${enable_job_server+set}" = set; then :
- enableval=$enable_job_server; make_cv_job_server="$enableval" user_job_server="$enableval"
-else
- make_cv_job_server="yes"
-fi
-
-
-has_wait_nohang=yes
-case "$ac_cv_func_waitpid/$ac_cv_func_wait3" in
- no/no) has_wait_nohang=no ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SA_RESTART" >&5
-$as_echo_n "checking for SA_RESTART... " >&6; }
-if ${make_cv_sa_restart+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <signal.h>
-int
-main ()
-{
-return SA_RESTART;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- make_cv_sa_restart=yes
-else
- make_cv_sa_restart=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_sa_restart" >&5
-$as_echo "$make_cv_sa_restart" >&6; }
-
-if test "$make_cv_sa_restart" != no; then
-
-$as_echo "@%:@define HAVE_SA_RESTART 1" >>confdefs.h
-
-fi
-
-# Only allow jobserver on systems that support it
-case "/$ac_cv_func_pipe/$ac_cv_func_sigaction/$make_cv_sa_restart/$has_wait_nohang/" in
- */no/*) make_cv_job_server=no ;;
-esac
-
-# Also supported on OS2 and MinGW
-case "$host_os" in
- os2*|mingw*) make_cv_job_server=yes ;;
-esac
-
-# If we support it and the user didn't disable it, build with jobserver
-case "/$make_cv_job_server/$user_job_server/" in
- */no/*) : no jobserver ;;
- *)
-$as_echo "@%:@define MAKE_JOBSERVER 1" >>confdefs.h
- ;;
-esac
-
-# if we have both lstat() and readlink() then we can support symlink
-# timechecks.
-case "$ac_cv_func_lstat/$ac_cv_func_readlink" in
- yes/yes)
-
-$as_echo "@%:@define MAKE_SYMLINKS 1" >>confdefs.h
-;;
-esac
-
-# Find the SCCS commands, so we can include them in our default rules.
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of SCCS get command" >&5
-$as_echo_n "checking for location of SCCS get command... " >&6; }
-if ${make_cv_path_sccs_get+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-if test -f /usr/sccs/get; then
- make_cv_path_sccs_get=/usr/sccs/get
-else
- make_cv_path_sccs_get=get
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_path_sccs_get" >&5
-$as_echo "$make_cv_path_sccs_get" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-@%:@define SCCS_GET "$make_cv_path_sccs_get"
-_ACEOF
-
-
-ac_clean_files="$ac_clean_files s.conftest conftoast" # Remove these later.
-if ( /usr/sccs/admin -n s.conftest || admin -n s.conftest ) >/dev/null 2>&1 &&
- test -f s.conftest; then
- # We successfully created an SCCS file.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if SCCS get command understands -G" >&5
-$as_echo_n "checking if SCCS get command understands -G... " >&6; }
-if ${make_cv_sys_get_minus_G+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- if $make_cv_path_sccs_get -Gconftoast s.conftest >/dev/null 2>&1 &&
- test -f conftoast; then
- make_cv_sys_get_minus_G=yes
- else
- make_cv_sys_get_minus_G=no
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_sys_get_minus_G" >&5
-$as_echo "$make_cv_sys_get_minus_G" >&6; }
- case "$make_cv_sys_get_minus_G" in
- yes)
-$as_echo "@%:@define SCCS_GET_MINUS_G 1" >>confdefs.h
-;;
- esac
-fi
-rm -f s.conftest conftoast
-
-# Check the system to see if it provides GNU glob. If not, use our
-# local version.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if system libc has GNU glob" >&5
-$as_echo_n "checking if system libc has GNU glob... " >&6; }
-if ${make_cv_sys_gnu_glob+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <features.h>
-#include <glob.h>
-#include <fnmatch.h>
-
-#define GLOB_INTERFACE_VERSION 1
-#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
-# include <gnu-versions.h>
-# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION
- gnu glob
-# endif
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "gnu glob" >/dev/null 2>&1; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-make_cv_sys_gnu_glob=yes
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no; using local copy" >&5
-$as_echo "no; using local copy" >&6; }
-make_cv_sys_gnu_glob=no
-fi
-rm -f conftest*
-
-fi
-
-if test "$make_cv_sys_gnu_glob" = no; then
- GLOBINC='-I$(srcdir)/glob'
- GLOBLIB=glob/libglob.a
-fi
-
-
-
-# Tell automake about this, so it can build the right .c files.
- if test "$make_cv_sys_gnu_glob" = no; then
- USE_LOCAL_GLOB_TRUE=
- USE_LOCAL_GLOB_FALSE='#'
-else
- USE_LOCAL_GLOB_TRUE='#'
- USE_LOCAL_GLOB_FALSE=
-fi
-
-
-# Let the makefile know what our build host is
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define MAKE_HOST "$host"
-_ACEOF
-
-MAKE_HOST="$host"
-
-
-w32_target_env=no
- if false; then
- WINDOWSENV_TRUE=
- WINDOWSENV_FALSE='#'
-else
- WINDOWSENV_TRUE='#'
- WINDOWSENV_FALSE=
-fi
-
-
-case "$host" in
- *-*-mingw32)
- if true; then
- WINDOWSENV_TRUE=
- WINDOWSENV_FALSE='#'
-else
- WINDOWSENV_TRUE='#'
- WINDOWSENV_FALSE=
-fi
-
- w32_target_env=yes
-
-$as_echo "@%:@define WINDOWS32 1" >>confdefs.h
-
-
-$as_echo "@%:@define HAVE_DOS_PATHS 1" >>confdefs.h
-
- ;;
-esac
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PATH_SEPARATOR_CHAR '$PATH_SEPARATOR'
-_ACEOF
-
-
-# Include the Maintainer's Makefile section, if it's here.
-
-MAINT_MAKEFILE=/dev/null
-if test -r "$srcdir/maintMakefile"; then
- MAINT_MAKEFILE="$srcdir/maintMakefile"
-fi
-
-
-# Allow building with dmalloc
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if malloc debugging is wanted" >&5
-$as_echo_n "checking if malloc debugging is wanted... " >&6; }
-
-@%:@ Check whether --with-dmalloc was given.
-if test "${with_dmalloc+set}" = set; then :
- withval=$with_dmalloc; if test "$withval" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "@%:@define WITH_DMALLOC 1" >>confdefs.h
-
- LIBS="$LIBS -ldmalloc"
- LDFLAGS="$LDFLAGS -g"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-# Forcibly disable SET_MAKE. If it's set it breaks things like the test
-# scripts, etc.
-SET_MAKE=
-
-# Sanity check and inform the user of what we found
-
-case "$make_badcust" in
- yes) echo
- echo "WARNING: --with-customs specified but no customs.h could be found;"
- echo " disabling Customs support."
- echo ;;
-esac
-
-case "$with_customs" in
- ""|n|no|y|ye|yes) ;;
- *) if test -f "$with_customs/lib/libcustoms.a"; then
- :
- else
- echo
- echo "WARNING: '$with_customs/lib' does not appear to contain the"
- echo " Customs library. You must build and install Customs"
- echo " before compiling GNU make."
- echo
- fi ;;
-esac
-
-case "$has_wait_nohang" in
- no) echo
- echo "WARNING: Your system has neither waitpid() nor wait3()."
- echo " Without one of these, signal handling is unreliable."
- echo " You should be aware that running GNU make with -j"
- echo " could result in erratic behavior."
- echo ;;
-esac
-
-case "$make_cv_job_server/$user_job_server" in
- no/yes) echo
- echo "WARNING: Make job server requires a POSIX-ish system that"
- echo " supports the pipe(), sigaction(), and either"
- echo " waitpid() or wait3() functions. Your system doesn't"
- echo " appear to provide one or more of those."
- echo " Disabling job server support."
- echo ;;
-esac
-
-
-# Specify what files are to be created.
-ac_config_files="$ac_config_files Makefile glob/Makefile po/Makefile.in config/Makefile doc/Makefile w32/Makefile"
-
-
-# OK, do it!
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIB@&t@OBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
- am__EXEEXT_TRUE=
- am__EXEEXT_FALSE='#'
-else
- am__EXEEXT_TRUE='#'
- am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${USE_CUSTOMS_TRUE}" && test -z "${USE_CUSTOMS_FALSE}"; then
- as_fn_error $? "conditional \"USE_CUSTOMS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${USE_LOCAL_GLOB_TRUE}" && test -z "${USE_LOCAL_GLOB_FALSE}"; then
- as_fn_error $? "conditional \"USE_LOCAL_GLOB\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${WINDOWSENV_TRUE}" && test -z "${WINDOWSENV_FALSE}"; then
- as_fn_error $? "conditional \"WINDOWSENV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${WINDOWSENV_TRUE}" && test -z "${WINDOWSENV_FALSE}"; then
- as_fn_error $? "conditional \"WINDOWSENV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in @%:@(
- *posix*) :
- set -o posix ;; @%:@(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in @%:@(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in @%:@((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD]
-@%:@ ----------------------------------------
-@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-@%:@ script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} @%:@ as_fn_error
-
-
-@%:@ as_fn_set_status STATUS
-@%:@ -----------------------
-@%:@ Set @S|@? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} @%:@ as_fn_set_status
-
-@%:@ as_fn_exit STATUS
-@%:@ -----------------
-@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} @%:@ as_fn_exit
-
-@%:@ as_fn_unset VAR
-@%:@ ---------------
-@%:@ Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-@%:@ as_fn_append VAR VALUE
-@%:@ ----------------------
-@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take
-@%:@ advantage of any shell optimizations that allow amortized linear growth over
-@%:@ repeated appends, instead of the typical quadratic growth present in naive
-@%:@ implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-@%:@ as_fn_arith ARG...
-@%:@ ------------------
-@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the
-@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments
-@%:@ must be portable across @S|@(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in @%:@(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-@%:@ as_fn_mkdir_p
-@%:@ -------------
-@%:@ Create "@S|@as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} @%:@ as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in @%:@(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in @%:@((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by GNU make $as_me 3.82.90, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to <bug-make@gnu.org>.
-GNU make home page: <http://www.gnu.org/software/make/>.
-General help using GNU software: <http://www.gnu.org/gethelp/>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-GNU make config.status 3.82.90
-configured by $0, generated by GNU Autoconf 2.68,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append CONFIG_HEADERS " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
- --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
-@%:@@%:@ Running $as_me. @%:@@%:@
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-# Capture the value of obsolete ALL_LINGUAS because we need it to compute
- # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
- # from automake.
- eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
- # Capture the value of LINGUAS because we need it to compute CATALOGS.
- LINGUAS="${LINGUAS-%UNSET%}"
-
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "glob/Makefile") CONFIG_FILES="$CONFIG_FILES glob/Makefile" ;;
- "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
- "config/Makefile") CONFIG_FILES="$CONFIG_FILES config/Makefile" ;;
- "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
- "w32/Makefile") CONFIG_FILES="$CONFIG_FILES w32/Makefile" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-if $AWK 'BEGIN { getline <"/dev/null" }' </dev/null 2>/dev/null; then
- ac_cs_awk_getline=:
- ac_cs_awk_pipe_init=
- ac_cs_awk_read_file='
- while ((getline aline < (F[key])) > 0)
- print(aline)
- close(F[key])'
- ac_cs_awk_pipe_fini=
-else
- ac_cs_awk_getline=false
- ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\""
- ac_cs_awk_read_file='
- print "|#_!!_#|"
- print "cat " F[key] " &&"
- '$ac_cs_awk_pipe_init
- # The final `:' finishes the AND list.
- ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }'
-fi
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-# Create commands to substitute file output variables.
-{
- echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" &&
- echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' &&
- echo "$ac_subst_files" | sed 's/.*/F@<:@"&"@:>@="$&"/' &&
- echo "_ACAWK" &&
- echo "_ACEOF"
-} >conf$$files.sh &&
-. ./conf$$files.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-rm -f conf$$files.sh
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
- \$ac_cs_awk_pipe_init
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
- if (nfields == 3 && !substed) {
- key = field[2]
- if (F[key] != "" && line ~ /^[ ]*@.*@[ ]*$/) {
- \$ac_cs_awk_read_file
- next
- }
- }
- print line
-}
-\$ac_cs_awk_pipe_fini
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_tt"; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any. Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[ ]*#[ ]*define[ ][ ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- for (key in D) D_is_set[key] = 1
- FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
- line = \$ 0
- split(line, arg, " ")
- if (arg[1] == "#") {
- defundef = arg[2]
- mac1 = arg[3]
- } else {
- defundef = substr(arg[1], 2)
- mac1 = arg[2]
- }
- split(mac1, mac2, "(") #)
- macro = mac2[1]
- prefix = substr(line, 1, index(line, defundef) - 1)
- if (D_is_set[macro]) {
- # Preserve the white space surrounding the "#".
- print prefix "define", macro P[macro] D[macro]
- next
- } else {
- # Replace #undef with comments. This is necessary, for example,
- # in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
- if (defundef == "undef") {
- print "/*", prefix defundef, macro, "*/"
- next
- }
- }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\\/$]* | ?:[\\/]* ) ;;
- */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" |
-if $ac_cs_awk_getline; then
- $AWK -f "$ac_tmp/subs.awk"
-else
- $AWK -f "$ac_tmp/subs.awk" | $SHELL
-fi \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
- if test x"$ac_file" != x-; then
- {
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- } >"$ac_tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f "$ac_file"
- mv "$ac_tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- fi
- else
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
- fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$_am_arg" : 'X\(//\)[^/]' \| \
- X"$_am_arg" : 'X\(//\)$' \| \
- X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-
- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
- ;;
- "default-1":C)
- for ac_file in $CONFIG_FILES; do
- # Support "outfile[:infile[:infile...]]"
- case "$ac_file" in
- *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- esac
- # PO directories have a Makefile.in generated from Makefile.in.in.
- 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_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.
- test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
- case "$ac_given_srcdir" in
- .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
- /*) top_srcdir="$ac_given_srcdir" ;;
- *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
- 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"
- 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
- # parameters.
- if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
- # The LINGUAS file contains the set of available languages.
- if test -n "$OBSOLETE_ALL_LINGUAS"; then
- 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" "$ac_given_srcdir/$ac_dir/LINGUAS"`
- # Hide the ALL_LINGUAS assigment from automake.
- eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
- POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
- else
- # The set of available languages was given in configure.in.
- eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
- fi
- # Compute POFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
- # Compute UPDATEPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
- # Compute DUMMYPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
- # Compute GMOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
- case "$ac_given_srcdir" in
- .) srcdirpre= ;;
- *) srcdirpre='$(srcdir)/' ;;
- esac
- POFILES=
- UPDATEPOFILES=
- DUMMYPOFILES=
- GMOFILES=
- for lang in $ALL_LINGUAS; do
- POFILES="$POFILES $srcdirpre$lang.po"
- UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
- DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
- GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
- done
- # CATALOGS depends on both $ac_dir and the user's LINGUAS
- # environment variable.
- INST_LINGUAS=
- if test -n "$ALL_LINGUAS"; then
- for presentlang in $ALL_LINGUAS; do
- useit=no
- if test "%UNSET%" != "$LINGUAS"; then
- desiredlanguages="$LINGUAS"
- else
- desiredlanguages="$ALL_LINGUAS"
- fi
- for desiredlang in $desiredlanguages; do
- # Use the presentlang catalog if desiredlang is
- # a. equal to presentlang, or
- # b. a variant of presentlang (because in this case,
- # presentlang can be used as a fallback for messages
- # which are not translated in the desiredlang catalog).
- case "$desiredlang" in
- "$presentlang"*) useit=yes;;
- esac
- done
- if test $useit = yes; then
- INST_LINGUAS="$INST_LINGUAS $presentlang"
- fi
- done
- fi
- CATALOGS=
- if test -n "$INST_LINGUAS"; then
- for lang in $INST_LINGUAS; do
- CATALOGS="$CATALOGS $lang.gmo"
- done
- fi
- test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
- sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
- for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
- if test -f "$f"; then
- case "$f" in
- *.orig | *.bak | *~) ;;
- *) cat "$f" >> "$ac_dir/Makefile" ;;
- esac
- fi
- done
- fi
- ;;
- esac
- done ;;
-
- esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
-
-# We only generate the build.sh if we have a build.sh.in; we won't have
-# one before we've created a distribution.
-if test -f "$srcdir/build.sh.in"; then
- ./config.status --file build.sh
- chmod +x build.sh
-fi
-
diff --git a/autom4te.cache/output.2 b/autom4te.cache/output.2
deleted file mode 100644
index 437c59ae..00000000
--- a/autom4te.cache/output.2
+++ /dev/null
@@ -1,10978 +0,0 @@
-@%:@! /bin/sh
-@%:@ From configure.in Id: configure.in,v 1.159 2011/11/15 22:56:26 psmith Exp .
-@%:@ Guess values for system-dependent variables and create Makefiles.
-@%:@ Generated by GNU Autoconf 2.68 for GNU make 3.82.90.
-@%:@
-@%:@ Report bugs to <bug-make@gnu.org>.
-@%:@
-@%:@
-@%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-@%:@ 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-@%:@ Foundation, Inc.
-@%:@
-@%:@
-@%:@ This configure script is free software; the Free Software Foundation
-@%:@ gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in @%:@(
- *posix*) :
- set -o posix ;; @%:@(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in @%:@(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in @%:@((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in @%:@(
- *posix*) :
- set -o posix ;; @%:@(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in @%:@(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in @%:@ ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org and bug-make@gnu.org
-$0: about your system, including any error possibly output
-$0: before this message. Then install a modern shell, or
-$0: manually run the script under such a shell if you do
-$0: have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-@%:@ as_fn_unset VAR
-@%:@ ---------------
-@%:@ Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-@%:@ as_fn_set_status STATUS
-@%:@ -----------------------
-@%:@ Set @S|@? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} @%:@ as_fn_set_status
-
-@%:@ as_fn_exit STATUS
-@%:@ -----------------
-@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} @%:@ as_fn_exit
-
-@%:@ as_fn_mkdir_p
-@%:@ -------------
-@%:@ Create "@S|@as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} @%:@ as_fn_mkdir_p
-@%:@ as_fn_append VAR VALUE
-@%:@ ----------------------
-@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take
-@%:@ advantage of any shell optimizations that allow amortized linear growth over
-@%:@ repeated appends, instead of the typical quadratic growth present in naive
-@%:@ implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-@%:@ as_fn_arith ARG...
-@%:@ ------------------
-@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the
-@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments
-@%:@ must be portable across @S|@(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD]
-@%:@ ----------------------------------------
-@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-@%:@ script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} @%:@ as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in @%:@(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in @%:@(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in @%:@((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIB@&t@OBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='GNU make'
-PACKAGE_TARNAME='make'
-PACKAGE_VERSION='3.82.90'
-PACKAGE_STRING='GNU make 3.82.90'
-PACKAGE_BUGREPORT='bug-make@gnu.org'
-PACKAGE_URL='http://www.gnu.org/software/make/'
-
-ac_unique_file="vpath.c"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-WINDOWSENV_FALSE
-WINDOWSENV_TRUE
-MAKE_HOST
-USE_LOCAL_GLOB_FALSE
-USE_LOCAL_GLOB_TRUE
-GLOBLIB
-GLOBINC
-USE_CUSTOMS_FALSE
-USE_CUSTOMS_TRUE
-REMOTE
-GETLOADAVG_LIBS
-KMEM_GROUP
-NEED_SETGID
-LIB@&t@OBJS
-ALLOCA
-POSUB
-LTLIBINTL
-LIBINTL
-INTLLIBS
-LTLIBICONV
-LIBICONV
-MSGMERGE
-XGETTEXT
-GMSGFMT
-MSGFMT
-USE_NLS
-MKINSTALLDIRS
-EGREP
-GREP
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-PERL
-AR
-CPP
-RANLIB
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-am__nodep
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files='MAINT_MAKEFILE'
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-enable_nls
-with_gnu_ld
-enable_rpath
-with_libiconv_prefix
-with_libintl_prefix
-enable_largefile
-with_customs
-enable_case_insensitive_file_system
-enable_job_server
-with_dmalloc
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures GNU make 3.82.90 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- @<:@@S|@ac_default_prefix@:>@
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- @<:@PREFIX@:>@
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root @<:@DATAROOTDIR/doc/make@:>@
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of GNU make 3.82.90:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --disable-nls do not use Native Language Support
- --disable-rpath do not hardcode runtime library paths
- --disable-largefile omit support for large files
- --enable-case-insensitive-file-system
- assume file systems are case insensitive
- --disable-job-server disallow recursive make communication during -jN
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-gnu-ld assume the C compiler uses GNU ld default=no
- --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
- --without-libiconv-prefix don't search for libiconv in includedir and libdir
- --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib
- --without-libintl-prefix don't search for libintl in includedir and libdir
- --with-customs=DIR enable remote jobs via Customs--see README.customs
- --with-dmalloc use dmalloc, as in http://www.dmalloc.com
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CPP C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <bug-make@gnu.org>.
-GNU make home page: <http://www.gnu.org/software/make/>.
-General help using GNU software: <http://www.gnu.org/gethelp/>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-GNU make configure 3.82.90
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-@%:@ ac_fn_c_try_compile LINENO
-@%:@ --------------------------
-@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_compile
-
-@%:@ ac_fn_c_try_cpp LINENO
-@%:@ ----------------------
-@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_cpp
-
-@%:@ ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-@%:@ -------------------------------------------------------
-@%:@ Tests whether HEADER exists, giving a warning if it cannot be compiled using
-@%:@ the include files in INCLUDES and setting the cache variable VAR
-@%:@ accordingly.
-ac_fn_c_check_header_mongrel ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval \${$3+:} false; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_header_compiler=yes
-else
- ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- ac_header_preproc=yes
-else
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
- yes:no: )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
- no:yes:* )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------- ##
-## Report this to bug-make@gnu.org ##
-## ------------------------------- ##"
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_header_mongrel
-
-@%:@ ac_fn_c_try_run LINENO
-@%:@ ----------------------
-@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. Assumes
-@%:@ that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_run
-
-@%:@ ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-@%:@ -------------------------------------------------------
-@%:@ Tests whether HEADER exists and can be compiled using the include files in
-@%:@ INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-@%:@include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_header_compile
-
-@%:@ ac_fn_c_try_link LINENO
-@%:@ -----------------------
-@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} @%:@ ac_fn_c_try_link
-
-@%:@ ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-@%:@ -------------------------------------------
-@%:@ Tests whether TYPE exists after having included INCLUDES, setting cache
-@%:@ variable VAR accordingly.
-ac_fn_c_check_type ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_type
-
-@%:@ ac_fn_c_check_func LINENO FUNC VAR
-@%:@ ----------------------------------
-@%:@ Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_func
-
-@%:@ ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
-@%:@ ---------------------------------------------
-@%:@ Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
-@%:@ accordingly.
-ac_fn_c_check_decl ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- as_decl_name=`echo $2|sed 's/ *(.*//'`
- as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
-$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-@%:@ifndef $as_decl_name
-@%:@ifdef __cplusplus
- (void) $as_decl_use;
-@%:@else
- (void) $as_decl_name;
-@%:@endif
-@%:@endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_decl
-
-@%:@ ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
-@%:@ ----------------------------------------------------
-@%:@ Tries to find if the field MEMBER exists in type AGGR, after including
-@%:@ INCLUDES, setting cache variable VAR accordingly.
-ac_fn_c_check_member ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
-$as_echo_n "checking for $2.$3... " >&6; }
-if eval \${$4+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$5
-int
-main ()
-{
-static $2 ac_aggr;
-if (ac_aggr.$3)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$4=yes"
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$5
-int
-main ()
-{
-static $2 ac_aggr;
-if (sizeof ac_aggr.$3)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$4=yes"
-else
- eval "$4=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$4
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} @%:@ ac_fn_c_check_member
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by GNU make $as_me 3.82.90, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in @%:@((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-
-# Autoconf setup
-ac_aux_dir=
-for ac_dir in config "$srcdir"/config; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in config \"$srcdir\"/config" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-
-ac_config_headers="$ac_config_headers config.h"
-
-
-# Automake setup
-am__api_version='1.11'
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in @%:@((
- ./ | .// | /[cC]/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-
- done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[\\\"\#\$\&\'\`$am_lf]*)
- as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
- *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
-alias in your environment" "$LINENO" 5
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
- if ${ac_cv_path_mkdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
- done
-IFS=$as_save_IFS
-
-fi
-
- test -d ./--version && rmdir ./--version
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- SET_MAKE=
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='make'
- VERSION='3.82.90'
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility. Yes, it's still used
-# in the wild :-( We should find a proper way to deprecate it ...
-AMTAR='$${TAR-tar}'
-
-am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
-
-
-
-
-
-
-# Checks for programs.
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $@%:@ != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-@%:@ Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
- am__nodep='_no'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- rm -rf conftest.dir
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@ifdef __STDC__
-@%:@ include <limits.h>
-@%:@else
-@%:@ include <assert.h>
-@%:@endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@ifdef __STDC__
-@%:@ include <limits.h>
-@%:@else
-@%:@ include <assert.h>
-@%:@endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-# Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AR="ar"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Perl is needed for the test suite (only)
-# Extract the first word of "perl", so it can be a program name with args.
-set dummy perl; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_PERL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$PERL"; then
- ac_cv_prog_PERL="$PERL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_PERL="perl"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_prog_PERL" && ac_cv_prog_PERL="perl"
-fi
-fi
-PERL=$ac_cv_prog_PERL
-if test -n "$PERL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
-$as_echo "$PERL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-# Specialized system macros
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
- ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = xyes; then :
- MINIX=yes
-else
- MINIX=
-fi
-
-
- if test "$MINIX" = yes; then
-
-$as_echo "@%:@define _POSIX_SOURCE 1" >>confdefs.h
-
-
-$as_echo "@%:@define _POSIX_1_SOURCE 2" >>confdefs.h
-
-
-$as_echo "@%:@define _MINIX 1" >>confdefs.h
-
- fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
-$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if ${ac_cv_safe_to_define___extensions__+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-# define __EXTENSIONS__ 1
- $ac_includes_default
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_safe_to_define___extensions__=yes
-else
- ac_cv_safe_to_define___extensions__=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
-$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
- test $ac_cv_safe_to_define___extensions__ = yes &&
- $as_echo "@%:@define __EXTENSIONS__ 1" >>confdefs.h
-
- $as_echo "@%:@define _ALL_SOURCE 1" >>confdefs.h
-
- $as_echo "@%:@define _GNU_SOURCE 1" >>confdefs.h
-
- $as_echo "@%:@define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
-
- $as_echo "@%:@define _TANDEM_SOURCE 1" >>confdefs.h
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strerror in -lcposix" >&5
-$as_echo_n "checking for strerror in -lcposix... " >&6; }
-if ${ac_cv_lib_cposix_strerror+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcposix $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char strerror ();
-int
-main ()
-{
-return strerror ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_cposix_strerror=yes
-else
- ac_cv_lib_cposix_strerror=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cposix_strerror" >&5
-$as_echo "$ac_cv_lib_cposix_strerror" >&6; }
-if test "x$ac_cv_lib_cposix_strerror" = xyes; then :
- LIBS="$LIBS -lcposix"
-fi
-
-
-
-
-
-# Enable gettext, in "external" mode.
-
-
-
- MKINSTALLDIRS=
- if test -n "$ac_aux_dir"; then
- case "$ac_aux_dir" in
- /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
- *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
- esac
- fi
- if test -z "$MKINSTALLDIRS"; then
- MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
- fi
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
-$as_echo_n "checking whether NLS is requested... " >&6; }
- @%:@ Check whether --enable-nls was given.
-if test "${enable_nls+set}" = set; then :
- enableval=$enable_nls; USE_NLS=$enableval
-else
- USE_NLS=yes
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
-$as_echo "$USE_NLS" >&6; }
-
-
-
-
-
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- 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,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "msgfmt", so it can be a program name with args.
-set dummy msgfmt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_MSGFMT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case "$MSGFMT" in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
- ;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
- (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
- test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
- ;;
-esac
-fi
-MSGFMT="$ac_cv_path_MSGFMT"
-if test "$MSGFMT" != ":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
-$as_echo "$MSGFMT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- # Extract the first word of "gmsgfmt", so it can be a program name with args.
-set dummy gmsgfmt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_GMSGFMT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $GMSGFMT in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
- ;;
-esac
-fi
-GMSGFMT=$ac_cv_path_GMSGFMT
-if test -n "$GMSGFMT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
-$as_echo "$GMSGFMT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- 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,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "xgettext", so it can be a program name with args.
-set dummy xgettext; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_XGETTEXT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case "$XGETTEXT" in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
- ;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
- (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
- test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
- ;;
-esac
-fi
-XGETTEXT="$ac_cv_path_XGETTEXT"
-if test "$XGETTEXT" != ":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
-$as_echo "$XGETTEXT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- rm -f messages.po
-
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- 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,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "msgmerge", so it can be a program name with args.
-set dummy msgmerge; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_MSGMERGE+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case "$MSGMERGE" in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
- ;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- if $ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1; then
- ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
- test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
- ;;
-esac
-fi
-MSGMERGE="$ac_cv_path_MSGMERGE"
-if test "$MSGMERGE" != ":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
-$as_echo "$MSGMERGE" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test "$GMSGFMT" != ":"; then
- if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
- (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- : ;
- else
- GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5
-$as_echo "found $GMSGFMT program is not GNU msgfmt; ignore it" >&6; }
- GMSGFMT=":"
- fi
- fi
-
- if test "$XGETTEXT" != ":"; then
- if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
- (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- : ;
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5
-$as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; }
- XGETTEXT=":"
- fi
- rm -f messages.po
- fi
-
- ac_config_commands="$ac_config_commands default-1"
-
-
-
- if test "X$prefix" = "XNONE"; then
- acl_final_prefix="$ac_default_prefix"
- else
- acl_final_prefix="$prefix"
- fi
- if test "X$exec_prefix" = "XNONE"; then
- acl_final_exec_prefix='${prefix}'
- else
- acl_final_exec_prefix="$exec_prefix"
- fi
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
- prefix="$acl_save_prefix"
-
-
-@%:@ Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- 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.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5
-$as_echo_n "checking for ld used by GCC... " >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | [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"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${acl_cv_path_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
- for ac_dir in $PATH; do
- 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 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 < /dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break ;;
- *)
- test "$with_gnu_ld" != yes && break ;;
- esac
- fi
- done
- IFS="$ac_save_ifs"
-else
- acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${acl_cv_prog_gnu_ld+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- acl_cv_prog_gnu_ld=yes ;;
-*)
- acl_cv_prog_gnu_ld=no ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
-$as_echo "$acl_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$acl_cv_prog_gnu_ld
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
-$as_echo_n "checking for shared library run path origin... " >&6; }
-if ${acl_cv_rpath+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
- ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
- . ./conftest.sh
- rm -f ./conftest.sh
- acl_cv_rpath=done
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
-$as_echo "$acl_cv_rpath" >&6; }
- wl="$acl_cv_wl"
- libext="$acl_cv_libext"
- shlibext="$acl_cv_shlibext"
- hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
- hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
- hardcode_direct="$acl_cv_hardcode_direct"
- hardcode_minus_L="$acl_cv_hardcode_minus_L"
- @%:@ Check whether --enable-rpath was given.
-if test "${enable_rpath+set}" = set; then :
- enableval=$enable_rpath; :
-else
- enable_rpath=yes
-fi
-
-
-
-
-
-
-
-
- use_additional=yes
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
-
-@%:@ Check whether --with-libiconv-prefix was given.
-if test "${with_libiconv_prefix+set}" = set; then :
- withval=$with_libiconv_prefix;
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
- fi
- fi
-
-fi
-
- LIBICONV=
- LTLIBICONV=
- INCICONV=
- rpathdirs=
- ltrpathdirs=
- names_already_handled=
- names_next_round='iconv '
- while test -n "$names_next_round"; do
- names_this_round="$names_next_round"
- names_next_round=
- for name in $names_this_round; do
- already_handled=
- for n in $names_already_handled; do
- if test "$n" = "$name"; then
- already_handled=yes
- break
- fi
- done
- if test -z "$already_handled"; then
- names_already_handled="$names_already_handled $name"
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
- eval value=\"\$HAVE_LIB$uppername\"
- if test -n "$value"; then
- if test "$value" = yes; then
- eval value=\"\$LIB$uppername\"
- test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value"
- eval value=\"\$LTLIB$uppername\"
- test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value"
- else
- :
- fi
- else
- found_dir=
- found_la=
- found_so=
- found_a=
- if test $use_additional = yes; then
- if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
- found_dir="$additional_libdir"
- found_so="$additional_libdir/lib$name.$shlibext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- else
- if test -f "$additional_libdir/lib$name.$libext"; then
- found_dir="$additional_libdir"
- found_a="$additional_libdir/lib$name.$libext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- for x in $LDFLAGS $LTLIBICONV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- case "$x" in
- -L*)
- dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
- found_dir="$dir"
- found_so="$dir/lib$name.$shlibext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- else
- if test -f "$dir/lib$name.$libext"; then
- found_dir="$dir"
- found_a="$dir/lib$name.$libext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- fi
- fi
- ;;
- esac
- if test "X$found_dir" != "X"; then
- break
- fi
- done
- fi
- if test "X$found_dir" != "X"; then
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
- if test "X$found_so" != "X"; then
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
- else
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $found_dir"
- fi
- if test "$hardcode_direct" = yes; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
- else
- if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $found_dir"
- fi
- else
- haveit=
- for x in $LDFLAGS $LIBICONV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
- fi
- if test "$hardcode_minus_L" != no; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
- else
- LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
- fi
- fi
- fi
- fi
- else
- if test "X$found_a" != "X"; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a"
- else
- LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name"
- fi
- fi
- additional_includedir=
- case "$found_dir" in
- */lib | */lib/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
- additional_includedir="$basedir/include"
- ;;
- esac
- if test "X$additional_includedir" != "X"; then
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- for x in $CPPFLAGS $INCICONV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- fi
- if test -n "$found_la"; then
- save_libdir="$libdir"
- case "$found_la" in
- */* | *\\*) . "$found_la" ;;
- *) . "./$found_la" ;;
- esac
- libdir="$save_libdir"
- for dep in $dependency_libs; do
- case "$dep" in
- -L*)
- additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- if test "X$additional_libdir" != "X/usr/lib"; then
- haveit=
- if test "X$additional_libdir" = "X/usr/local/lib"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- haveit=
- for x in $LDFLAGS $LIBICONV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir"
- fi
- fi
- haveit=
- for x in $LDFLAGS $LTLIBICONV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- ;;
- -R*)
- dir=`echo "X$dep" | sed -e 's/^X-R//'`
- if test "$enable_rpath" != no; then
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $dir"
- fi
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $dir"
- fi
- fi
- ;;
- -l*)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
- ;;
- *.la)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
- ;;
- *)
- LIBICONV="${LIBICONV}${LIBICONV:+ }$dep"
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep"
- ;;
- esac
- done
- fi
- else
- LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name"
- fi
- fi
- fi
- done
- done
- if test "X$rpathdirs" != "X"; then
- if test -n "$hardcode_libdir_separator"; then
- alldirs=
- for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
- done
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
- else
- for found_dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$found_dir"
- eval flag=\"$hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
- done
- fi
- fi
- if test "X$ltrpathdirs" != "X"; then
- for found_dir in $ltrpathdirs; do
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir"
- done
- fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
-$as_echo_n "checking whether NLS is requested... " >&6; }
- @%:@ Check whether --enable-nls was given.
-if test "${enable_nls+set}" = set; then :
- enableval=$enable_nls; USE_NLS=$enableval
-else
- USE_NLS=yes
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
-$as_echo "$USE_NLS" >&6; }
-
-
-
-
- LIBINTL=
- LTLIBINTL=
- POSUB=
-
- if test "$USE_NLS" = "yes"; then
- gt_use_preinstalled_gnugettext=no
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5
-$as_echo_n "checking for GNU gettext in libc... " >&6; }
-if ${gt_cv_func_gnugettext1_libc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <libintl.h>
-extern int _nl_msg_cat_cntr;
-extern int *_nl_domain_bindings;
-int
-main ()
-{
-bindtextdomain ("", "");
-return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- gt_cv_func_gnugettext1_libc=yes
-else
- gt_cv_func_gnugettext1_libc=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libc" >&5
-$as_echo "$gt_cv_func_gnugettext1_libc" >&6; }
-
- if test "$gt_cv_func_gnugettext1_libc" != "yes"; then
-
-
-
-
-
- am_save_CPPFLAGS="$CPPFLAGS"
-
- for element in $INCICONV; do
- haveit=
- for x in $CPPFLAGS; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X$element"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
- fi
- done
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
-$as_echo_n "checking for iconv... " >&6; }
-if ${am_cv_func_iconv+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- am_cv_func_iconv="no, consider installing GNU libiconv"
- am_cv_lib_iconv=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <iconv.h>
-int
-main ()
-{
-iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- am_cv_func_iconv=yes
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$am_cv_func_iconv" != yes; then
- am_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <iconv.h>
-int
-main ()
-{
-iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- am_cv_lib_iconv=yes
- am_cv_func_iconv=yes
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS="$am_save_LIBS"
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
-$as_echo "$am_cv_func_iconv" >&6; }
- if test "$am_cv_func_iconv" = yes; then
-
-$as_echo "@%:@define HAVE_ICONV 1" >>confdefs.h
-
- fi
- if test "$am_cv_lib_iconv" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
-$as_echo_n "checking how to link with libiconv... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
-$as_echo "$LIBICONV" >&6; }
- else
- CPPFLAGS="$am_save_CPPFLAGS"
- LIBICONV=
- LTLIBICONV=
- fi
-
-
-
-
-
-
- use_additional=yes
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
-
-@%:@ Check whether --with-libintl-prefix was given.
-if test "${with_libintl_prefix+set}" = set; then :
- withval=$with_libintl_prefix;
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
- fi
- fi
-
-fi
-
- LIBINTL=
- LTLIBINTL=
- INCINTL=
- rpathdirs=
- ltrpathdirs=
- names_already_handled=
- names_next_round='intl '
- while test -n "$names_next_round"; do
- names_this_round="$names_next_round"
- names_next_round=
- for name in $names_this_round; do
- already_handled=
- for n in $names_already_handled; do
- if test "$n" = "$name"; then
- already_handled=yes
- break
- fi
- done
- if test -z "$already_handled"; then
- names_already_handled="$names_already_handled $name"
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
- eval value=\"\$HAVE_LIB$uppername\"
- if test -n "$value"; then
- if test "$value" = yes; then
- eval value=\"\$LIB$uppername\"
- test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value"
- eval value=\"\$LTLIB$uppername\"
- test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value"
- else
- :
- fi
- else
- found_dir=
- found_la=
- found_so=
- found_a=
- if test $use_additional = yes; then
- if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
- found_dir="$additional_libdir"
- found_so="$additional_libdir/lib$name.$shlibext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- else
- if test -f "$additional_libdir/lib$name.$libext"; then
- found_dir="$additional_libdir"
- found_a="$additional_libdir/lib$name.$libext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- for x in $LDFLAGS $LTLIBINTL; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- case "$x" in
- -L*)
- dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
- found_dir="$dir"
- found_so="$dir/lib$name.$shlibext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- else
- if test -f "$dir/lib$name.$libext"; then
- found_dir="$dir"
- found_a="$dir/lib$name.$libext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- fi
- fi
- ;;
- esac
- if test "X$found_dir" != "X"; then
- break
- fi
- done
- fi
- if test "X$found_dir" != "X"; then
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
- if test "X$found_so" != "X"; then
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
- else
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $found_dir"
- fi
- if test "$hardcode_direct" = yes; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
- else
- if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $found_dir"
- fi
- else
- haveit=
- for x in $LDFLAGS $LIBINTL; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
- fi
- if test "$hardcode_minus_L" != no; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
- else
- LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
- fi
- fi
- fi
- fi
- else
- if test "X$found_a" != "X"; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a"
- else
- LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name"
- fi
- fi
- additional_includedir=
- case "$found_dir" in
- */lib | */lib/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
- additional_includedir="$basedir/include"
- ;;
- esac
- if test "X$additional_includedir" != "X"; then
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- for x in $CPPFLAGS $INCINTL; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- fi
- if test -n "$found_la"; then
- save_libdir="$libdir"
- case "$found_la" in
- */* | *\\*) . "$found_la" ;;
- *) . "./$found_la" ;;
- esac
- libdir="$save_libdir"
- for dep in $dependency_libs; do
- case "$dep" in
- -L*)
- additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- if test "X$additional_libdir" != "X/usr/lib"; then
- haveit=
- if test "X$additional_libdir" = "X/usr/local/lib"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- haveit=
- for x in $LDFLAGS $LIBINTL; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir"
- fi
- fi
- haveit=
- for x in $LDFLAGS $LTLIBINTL; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- ;;
- -R*)
- dir=`echo "X$dep" | sed -e 's/^X-R//'`
- if test "$enable_rpath" != no; then
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $dir"
- fi
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $dir"
- fi
- fi
- ;;
- -l*)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
- ;;
- *.la)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
- ;;
- *)
- LIBINTL="${LIBINTL}${LIBINTL:+ }$dep"
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep"
- ;;
- esac
- done
- fi
- else
- LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name"
- fi
- fi
- fi
- done
- done
- if test "X$rpathdirs" != "X"; then
- if test -n "$hardcode_libdir_separator"; then
- alldirs=
- for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
- done
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
- else
- for found_dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$found_dir"
- eval flag=\"$hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
- done
- fi
- fi
- if test "X$ltrpathdirs" != "X"; then
- for found_dir in $ltrpathdirs; do
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir"
- done
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
-$as_echo_n "checking for GNU gettext in libintl... " >&6; }
-if ${gt_cv_func_gnugettext1_libintl+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- gt_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $INCINTL"
- gt_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBINTL"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <libintl.h>
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias ();
-int
-main ()
-{
-bindtextdomain ("", "");
-return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0)
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- gt_cv_func_gnugettext1_libintl=yes
-else
- gt_cv_func_gnugettext1_libintl=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then
- LIBS="$LIBS $LIBICONV"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <libintl.h>
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias ();
-int
-main ()
-{
-bindtextdomain ("", "");
-return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0)
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- LIBINTL="$LIBINTL $LIBICONV"
- LTLIBINTL="$LTLIBINTL $LTLIBICONV"
- gt_cv_func_gnugettext1_libintl=yes
-
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- CPPFLAGS="$gt_save_CPPFLAGS"
- LIBS="$gt_save_LIBS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libintl" >&5
-$as_echo "$gt_cv_func_gnugettext1_libintl" >&6; }
- fi
-
- if test "$gt_cv_func_gnugettext1_libc" = "yes" \
- || { test "$gt_cv_func_gnugettext1_libintl" = "yes" \
- && test "$PACKAGE" != gettext-runtime \
- && test "$PACKAGE" != gettext-tools; }; then
- gt_use_preinstalled_gnugettext=yes
- else
- LIBINTL=
- LTLIBINTL=
- INCINTL=
- fi
-
-
-
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
-
-$as_echo "@%:@define ENABLE_NLS 1" >>confdefs.h
-
- else
- USE_NLS=no
- fi
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5
-$as_echo_n "checking whether to use NLS... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
-$as_echo "$USE_NLS" >&6; }
- if test "$USE_NLS" = "yes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5
-$as_echo_n "checking where the gettext function comes from... " >&6; }
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then
- gt_source="external libintl"
- else
- gt_source="libc"
- fi
- else
- gt_source="included intl directory"
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5
-$as_echo "$gt_source" >&6; }
- fi
-
- if test "$USE_NLS" = "yes"; then
-
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5
-$as_echo_n "checking how to link with libintl... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5
-$as_echo "$LIBINTL" >&6; }
-
- for element in $INCINTL; do
- haveit=
- for x in $CPPFLAGS; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X$element"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
- fi
- done
-
- fi
-
-
-$as_echo "@%:@define HAVE_GETTEXT 1" >>confdefs.h
-
-
-$as_echo "@%:@define HAVE_DCGETTEXT 1" >>confdefs.h
-
- fi
-
- POSUB=po
- fi
-
-
-
- INTLLIBS="$LIBINTL"
-
-
-
-
-
-
-
-# This test must come as early as possible after the compiler configuration
-# tests, because the choice of the file model can (in principle) affect
-# whether functions and headers are available, whether they work, etc.
-@%:@ Check whether --enable-largefile was given.
-if test "${enable_largefile+set}" = set; then :
- enableval=$enable_largefile;
-fi
-
-if test "$enable_largefile" != no; then
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
-$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if ${ac_cv_sys_largefile_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_sys_largefile_CC=no
- if test "$GCC" != yes; then
- ac_save_CC=$CC
- while :; do
- # IRIX 6.2 and later do not support large files by default,
- # so use the C compiler's -n32 option if that helps.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
- break
-fi
-rm -f core conftest.err conftest.$ac_objext
- CC="$CC -n32"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_largefile_CC=' -n32'; break
-fi
-rm -f core conftest.err conftest.$ac_objext
- break
- done
- CC=$ac_save_CC
- rm -f conftest.$ac_ext
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
-$as_echo "$ac_cv_sys_largefile_CC" >&6; }
- if test "$ac_cv_sys_largefile_CC" != no; then
- CC=$CC$ac_cv_sys_largefile_CC
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if ${ac_cv_sys_file_offset_bits+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_file_offset_bits=no; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@define _FILE_OFFSET_BITS 64
-@%:@include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_file_offset_bits=64; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cv_sys_file_offset_bits=unknown
- break
-done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
-$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
-case $ac_cv_sys_file_offset_bits in #(
- no | unknown) ;;
- *)
-cat >>confdefs.h <<_ACEOF
-@%:@define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
-_ACEOF
-;;
-esac
-rm -rf conftest*
- if test $ac_cv_sys_file_offset_bits = unknown; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
-$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-if ${ac_cv_sys_large_files+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_large_files=no; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@define _LARGE_FILES 1
-@%:@include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_sys_large_files=1; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cv_sys_large_files=unknown
- break
-done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
-$as_echo "$ac_cv_sys_large_files" >&6; }
-case $ac_cv_sys_large_files in #(
- no | unknown) ;;
- *)
-cat >>confdefs.h <<_ACEOF
-@%:@define _LARGE_FILES $ac_cv_sys_large_files
-_ACEOF
-;;
-esac
-rm -rf conftest*
- fi
-fi
-
-
-# Checks for libraries.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getpwnam" >&5
-$as_echo_n "checking for library containing getpwnam... " >&6; }
-if ${ac_cv_search_getpwnam+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char getpwnam ();
-int
-main ()
-{
-return getpwnam ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' sun; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_getpwnam=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_getpwnam+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_getpwnam+:} false; then :
-
-else
- ac_cv_search_getpwnam=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getpwnam" >&5
-$as_echo "$ac_cv_search_getpwnam" >&6; }
-ac_res=$ac_cv_search_getpwnam
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-
-# Checks for header files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "@%:@define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-ac_header_dirent=no
-for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
- as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
-$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
-if eval \${$as_ac_Header+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <$ac_hdr>
-
-int
-main ()
-{
-if ((DIR *) 0)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$as_ac_Header=yes"
-else
- eval "$as_ac_Header=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$as_ac_Header
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
-_ACEOF
-
-ac_header_dirent=$ac_hdr; break
-fi
-
-done
-# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
-if test $ac_header_dirent = dirent.h; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
-$as_echo_n "checking for library containing opendir... " >&6; }
-if ${ac_cv_search_opendir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char opendir ();
-int
-main ()
-{
-return opendir ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' dir; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_opendir=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_opendir+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_opendir+:} false; then :
-
-else
- ac_cv_search_opendir=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
-$as_echo "$ac_cv_search_opendir" >&6; }
-ac_res=$ac_cv_search_opendir
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
-$as_echo_n "checking for library containing opendir... " >&6; }
-if ${ac_cv_search_opendir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char opendir ();
-int
-main ()
-{
-return opendir ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' x; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_opendir=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_opendir+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_opendir+:} false; then :
-
-else
- ac_cv_search_opendir=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5
-$as_echo "$ac_cv_search_opendir" >&6; }
-ac_res=$ac_cv_search_opendir
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5
-$as_echo_n "checking whether stat file-mode macros are broken... " >&6; }
-if ${ac_cv_header_stat_broken+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#if defined S_ISBLK && defined S_IFDIR
-extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1];
-#endif
-
-#if defined S_ISBLK && defined S_IFCHR
-extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1];
-#endif
-
-#if defined S_ISLNK && defined S_IFREG
-extern char c3[S_ISLNK (S_IFREG) ? -1 : 1];
-#endif
-
-#if defined S_ISSOCK && defined S_IFREG
-extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1];
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stat_broken=no
-else
- ac_cv_header_stat_broken=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5
-$as_echo "$ac_cv_header_stat_broken" >&6; }
-if test $ac_cv_header_stat_broken = yes; then
-
-$as_echo "@%:@define STAT_MACROS_BROKEN 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
-$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
-if ${ac_cv_header_time+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/time.h>
-#include <time.h>
-
-int
-main ()
-{
-if ((struct tm *) 0)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_time=yes
-else
- ac_cv_header_time=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5
-$as_echo "$ac_cv_header_time" >&6; }
-if test $ac_cv_header_time = yes; then
-
-$as_echo "@%:@define TIME_WITH_SYS_TIME 1" >>confdefs.h
-
-fi
-
-for ac_header in 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
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-# Set a flag if we have an ANSI C compiler
-if test "$ac_cv_prog_cc_stdc" != no; then
-
-$as_echo "@%:@define HAVE_ANSI_COMPILER 1" >>confdefs.h
-
-fi
-
-
-# Determine what kind of variadic function calls we support
-for ac_header in stdarg.h varargs.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
- break
-fi
-
-done
-
-
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "@%:@define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
-$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if ${ac_cv_c_const+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-/* FIXME: Include the comments suggested by Paul. */
-#ifndef __cplusplus
- /* Ultrix mips cc rejects this. */
- typedef int charset[2];
- const charset cs;
- /* SunOS 4.1.1 cc rejects this. */
- char const *const *pcpcc;
- char **ppc;
- /* NEC SVR4.0.2 mips cc rejects this. */
- struct point {int x, y;};
- static struct point const zero = {0,0};
- /* AIX XL C 1.02.0.0 rejects this.
- It does not let you subtract one const X* pointer from another in
- an arm of an if-expression whose if-part is not a constant
- expression */
- const char *g = "string";
- pcpcc = &g + (g ? g-g : 0);
- /* HPUX 7.0 cc rejects these. */
- ++pcpcc;
- ppc = (char**) pcpcc;
- pcpcc = (char const *const *) ppc;
- { /* SCO 3.2v4 cc rejects this. */
- char *t;
- char const *s = 0 ? (char *) 0 : (char const *) 0;
-
- *t++ = 0;
- if (s) return 0;
- }
- { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
- int x[] = {25, 17};
- const int *foo = &x[0];
- ++foo;
- }
- { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
- typedef const int *iptr;
- iptr p = 0;
- ++p;
- }
- { /* AIX XL C 1.02.0.0 rejects this saying
- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
- }
- { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
- const int foo = 10;
- if (!foo) return 0;
- }
- return !cs[0] && !zero.x;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_const=yes
-else
- ac_cv_c_const=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
-$as_echo "$ac_cv_c_const" >&6; }
-if test $ac_cv_c_const = no; then
-
-$as_echo "@%:@define const /**/" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
-$as_echo_n "checking return type of signal handlers... " >&6; }
-if ${ac_cv_type_signal+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <signal.h>
-
-int
-main ()
-{
-return *(signal (0, 0)) (0) == 1;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_type_signal=int
-else
- ac_cv_type_signal=void
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5
-$as_echo "$ac_cv_type_signal" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-@%:@define RETSIGTYPE $ac_cv_type_signal
-_ACEOF
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
-$as_echo_n "checking for uid_t in sys/types.h... " >&6; }
-if ${ac_cv_type_uid_t+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "uid_t" >/dev/null 2>&1; then :
- ac_cv_type_uid_t=yes
-else
- ac_cv_type_uid_t=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5
-$as_echo "$ac_cv_type_uid_t" >&6; }
-if test $ac_cv_type_uid_t = no; then
-
-$as_echo "@%:@define uid_t int" >>confdefs.h
-
-
-$as_echo "@%:@define gid_t int" >>confdefs.h
-
-fi
-
-ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
-if test "x$ac_cv_type_pid_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-@%:@define pid_t int
-_ACEOF
-
-fi
-
-
-# Find some definition for uintmax_t
-
-ac_fn_c_check_type "$LINENO" "uintmax_t" "ac_cv_type_uintmax_t" "$ac_includes_default"
-if test "x$ac_cv_type_uintmax_t" = xyes; then :
-
-else
-
- uintmax_t="unsigned long"
- ac_fn_c_check_type "$LINENO" "unsigned long long" "ac_cv_type_unsigned_long_long" "$ac_includes_default"
-if test "x$ac_cv_type_unsigned_long_long" = xyes; then :
- uintmax_t="unsigned long long"
-fi
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define uintmax_t $uintmax_t
-_ACEOF
-
-fi
-
-
-# Find out whether our struct stat returns nanosecond resolution timestamps.
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for nanoseconds field of struct stat" >&5
-$as_echo_n "checking for nanoseconds field of struct stat... " >&6; }
-if ${ac_cv_struct_st_mtim_nsec+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_CPPFLAGS="$CPPFLAGS"
- ac_cv_struct_st_mtim_nsec=no
- # st_mtim.tv_nsec -- the usual case
- # st_mtim._tv_nsec -- Solaris 2.6, if
- # (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1
- # && !defined __EXTENSIONS__)
- # st_mtim.st__tim.tv_nsec -- UnixWare 2.1.2
- # st_mtimespec.tv_nsec -- Darwin (Mac OSX)
- for ac_val in st_mtim.tv_nsec st_mtim._tv_nsec st_mtim.st__tim.tv_nsec st_mtimespec.tv_nsec; do
- CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/stat.h>
-
-int
-main ()
-{
-struct stat s; s.ST_MTIM_NSEC;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_struct_st_mtim_nsec=$ac_val; break
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
- CPPFLAGS="$ac_save_CPPFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_st_mtim_nsec" >&5
-$as_echo "$ac_cv_struct_st_mtim_nsec" >&6; }
-
- if test $ac_cv_struct_st_mtim_nsec != no; then
-
-cat >>confdefs.h <<_ACEOF
-@%:@define ST_MTIM_NSEC $ac_cv_struct_st_mtim_nsec
-_ACEOF
-
- fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use high resolution file timestamps" >&5
-$as_echo_n "checking whether to use high resolution file timestamps... " >&6; }
-if ${make_cv_file_timestamp_hi_res+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- make_cv_file_timestamp_hi_res=no
- if test "$ac_cv_struct_st_mtim_nsec" != no; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-# if HAVE_INTTYPES_H
-# include <inttypes.h>
-# endif
-int
-main ()
-{
-char a[0x7fffffff < (uintmax_t)-1 >> 30 ? 1 : -1];
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- make_cv_file_timestamp_hi_res=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_file_timestamp_hi_res" >&5
-$as_echo "$make_cv_file_timestamp_hi_res" >&6; }
-if test "$make_cv_file_timestamp_hi_res" = yes; then
- val=1
-else
- val=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-@%:@define FILE_TIMESTAMP_HI_RES $val
-_ACEOF
-
-
-if test "$make_cv_file_timestamp_hi_res" = yes; then
- # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
- # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
-$as_echo_n "checking for library containing clock_gettime... " >&6; }
-if ${ac_cv_search_clock_gettime+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char clock_gettime ();
-int
-main ()
-{
-return clock_gettime ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' rt posix4; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_clock_gettime=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_clock_gettime+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_clock_gettime+:} false; then :
-
-else
- ac_cv_search_clock_gettime=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5
-$as_echo "$ac_cv_search_clock_gettime" >&6; }
-ac_res=$ac_cv_search_clock_gettime
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
- if test "$ac_cv_search_clock_gettime" != no; then
-
-$as_echo "@%:@define HAVE_CLOCK_GETTIME 1" >>confdefs.h
-
- fi
-fi
-
-# Check for DOS-style pathnames.
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system uses MSDOS-style paths" >&5
-$as_echo_n "checking whether system uses MSDOS-style paths... " >&6; }
-if ${ac_cv_dos_paths+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __EMX__ && !defined __MSYS__ && !defined __CYGWIN__
-neither MSDOS nor Windows nor OS2
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_dos_paths=yes
-else
- ac_cv_dos_paths=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_dos_paths" >&5
-$as_echo "$ac_cv_dos_paths" >&6; }
-
- if test x"$ac_cv_dos_paths" = xyes; then
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_DOS_PATHS 1
-_ACEOF
-
- fi
-
-
-# See if we have a standard version of gettimeofday(). Since actual
-# implementations can differ, just make sure we have the most common
-# one.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for standard gettimeofday" >&5
-$as_echo_n "checking for standard gettimeofday... " >&6; }
-if ${ac_cv_func_gettimeofday+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_func_gettimeofday=no
- if test "$cross_compiling" = yes; then :
- ac_cv_func_gettimeofday="no (cross-compiling)"
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/time.h>
- int main ()
- {
- struct timeval t; t.tv_sec = -1; t.tv_usec = -1;
- exit (gettimeofday (&t, 0) != 0
- || t.tv_sec < 0 || t.tv_usec < 0);
- }
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_func_gettimeofday=yes
-else
- ac_cv_func_gettimeofday=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_gettimeofday" >&5
-$as_echo "$ac_cv_func_gettimeofday" >&6; }
-if test "$ac_cv_func_gettimeofday" = yes; then
-
-$as_echo "@%:@define HAVE_GETTIMEOFDAY 1" >>confdefs.h
-
-fi
-
-for ac_func in strdup strndup mkstemp mktemp fdopen fileno \
- dup2 getcwd realpath sigsetmask sigaction \
- getgroups seteuid setegid setlinebuf setreuid setregid \
- getrlimit setrlimit setvbuf pipe strerror strsignal \
- lstat readlink atexit
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-# We need to check declarations, not just existence, because on Tru64 this
-# function is not declared without special flags, which themselves cause
-# other problems. We'll just use our own.
-ac_fn_c_check_decl "$LINENO" "bsd_signal" "ac_cv_have_decl_bsd_signal" "#include <signal.h>
-"
-if test "x$ac_cv_have_decl_bsd_signal" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_DECL_BSD_SIGNAL $ac_have_decl
-_ACEOF
-
-
-if ${ac_cv_func_setvbuf_reversed+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_func_setvbuf_reversed=no
-fi
-
-
-
-# Rumor has it that strcasecmp lives in -lresolv on some odd systems.
-# It doesn't hurt much to use our own if we can't find it so I don't
-# make the effort here.
-for ac_func in strcasecmp strncasecmp strcmpi strncmpi stricmp strnicmp
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-# strcoll() is used by the GNU glob library
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strcoll" >&5
-$as_echo_n "checking for working strcoll... " >&6; }
-if ${ac_cv_func_strcoll_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_func_strcoll_works=no
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-return (strcoll ("abc", "def") >= 0 ||
- strcoll ("ABC", "DEF") >= 0 ||
- strcoll ("123", "456") >= 0)
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_func_strcoll_works=yes
-else
- ac_cv_func_strcoll_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strcoll_works" >&5
-$as_echo "$ac_cv_func_strcoll_works" >&6; }
-if test $ac_cv_func_strcoll_works = yes; then
-
-$as_echo "@%:@define HAVE_STRCOLL 1" >>confdefs.h
-
-fi
-
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-@%:@define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-@%:@include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_working_alloca_h=yes
-else
- ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "@%:@define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_func_alloca_works=yes
-else
- ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "@%:@define HAVE_ALLOCA 1" >>confdefs.h
-
-else
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble. Some versions do not even contain alloca or
-# contain a buggy version. If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "@%:@define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "webecray" >/dev/null 2>&1; then :
- ac_cv_os_cray=yes
-else
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
- for ac_func in _getb67 GETB67 getb67; do
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-@%:@define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
- break
-fi
-
- done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_c_stack_direction=0
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
- return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_stack_direction=1
-else
- ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-@%:@define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-for ac_header in vfork.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default"
-if test "x$ac_cv_header_vfork_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_VFORK_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in fork vfork
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-if test "x$ac_cv_func_fork" = xyes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5
-$as_echo_n "checking for working fork... " >&6; }
-if ${ac_cv_func_fork_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_func_fork_works=cross
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-
- /* By Ruediger Kuhlmann. */
- return fork () < 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_func_fork_works=yes
-else
- ac_cv_func_fork_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5
-$as_echo "$ac_cv_func_fork_works" >&6; }
-
-else
- ac_cv_func_fork_works=$ac_cv_func_fork
-fi
-if test "x$ac_cv_func_fork_works" = xcross; then
- case $host in
- *-*-amigaos* | *-*-msdosdjgpp*)
- # Override, as these systems have only a dummy fork() stub
- ac_cv_func_fork_works=no
- ;;
- *)
- ac_cv_func_fork_works=yes
- ;;
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5
-$as_echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;}
-fi
-ac_cv_func_vfork_works=$ac_cv_func_vfork
-if test "x$ac_cv_func_vfork" = xyes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5
-$as_echo_n "checking for working vfork... " >&6; }
-if ${ac_cv_func_vfork_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_func_vfork_works=cross
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Thanks to Paul Eggert for this test. */
-$ac_includes_default
-#include <sys/wait.h>
-#ifdef HAVE_VFORK_H
-# include <vfork.h>
-#endif
-/* On some sparc systems, changes by the child to local and incoming
- argument registers are propagated back to the parent. The compiler
- is told about this with #include <vfork.h>, but some compilers
- (e.g. gcc -O) don't grok <vfork.h>. Test for this by using a
- static variable whose address is put into a register that is
- clobbered by the vfork. */
-static void
-#ifdef __cplusplus
-sparc_address_test (int arg)
-# else
-sparc_address_test (arg) int arg;
-#endif
-{
- static pid_t child;
- if (!child) {
- child = vfork ();
- if (child < 0) {
- perror ("vfork");
- _exit(2);
- }
- if (!child) {
- arg = getpid();
- write(-1, "", 0);
- _exit (arg);
- }
- }
-}
-
-int
-main ()
-{
- pid_t parent = getpid ();
- pid_t child;
-
- sparc_address_test (0);
-
- child = vfork ();
-
- if (child == 0) {
- /* Here is another test for sparc vfork register problems. This
- test uses lots of local variables, at least as many local
- variables as main has allocated so far including compiler
- temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris
- 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should
- reuse the register of parent for one of the local variables,
- since it will think that parent can't possibly be used any more
- in this routine. Assigning to the local variable will thus
- munge parent in the parent process. */
- pid_t
- p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),
- p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();
- /* Convince the compiler that p..p7 are live; otherwise, it might
- use the same hardware register for all 8 local variables. */
- if (p != p1 || p != p2 || p != p3 || p != p4
- || p != p5 || p != p6 || p != p7)
- _exit(1);
-
- /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent
- from child file descriptors. If the child closes a descriptor
- before it execs or exits, this munges the parent's descriptor
- as well. Test for this by closing stdout in the child. */
- _exit(close(fileno(stdout)) != 0);
- } else {
- int status;
- struct stat st;
-
- while (wait(&status) != child)
- ;
- return (
- /* Was there some problem with vforking? */
- child < 0
-
- /* Did the child fail? (This shouldn't happen.) */
- || status
-
- /* Did the vfork/compiler bug occur? */
- || parent != getpid()
-
- /* Did the file descriptor bug occur? */
- || fstat(fileno(stdout), &st) != 0
- );
- }
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_func_vfork_works=yes
-else
- ac_cv_func_vfork_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5
-$as_echo "$ac_cv_func_vfork_works" >&6; }
-
-fi;
-if test "x$ac_cv_func_fork_works" = xcross; then
- ac_cv_func_vfork_works=$ac_cv_func_vfork
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5
-$as_echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;}
-fi
-
-if test "x$ac_cv_func_vfork_works" = xyes; then
-
-$as_echo "@%:@define HAVE_WORKING_VFORK 1" >>confdefs.h
-
-else
-
-$as_echo "@%:@define vfork fork" >>confdefs.h
-
-fi
-if test "x$ac_cv_func_fork_works" = xyes; then
-
-$as_echo "@%:@define HAVE_WORKING_FORK 1" >>confdefs.h
-
-fi
-
-for ac_func in vprintf
-do :
- ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf"
-if test "x$ac_cv_func_vprintf" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_VPRINTF 1
-_ACEOF
-
-ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt"
-if test "x$ac_cv_func__doprnt" = xyes; then :
-
-$as_echo "@%:@define HAVE_DOPRNT 1" >>confdefs.h
-
-fi
-
-fi
-done
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether closedir returns void" >&5
-$as_echo_n "checking whether closedir returns void... " >&6; }
-if ${ac_cv_func_closedir_void+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_func_closedir_void=yes
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header_dirent>
-#ifndef __cplusplus
-int closedir ();
-#endif
-
-int
-main ()
-{
-return closedir (opendir (".")) != 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_func_closedir_void=no
-else
- ac_cv_func_closedir_void=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_closedir_void" >&5
-$as_echo "$ac_cv_func_closedir_void" >&6; }
-if test $ac_cv_func_closedir_void = yes; then
-
-$as_echo "@%:@define CLOSEDIR_VOID 1" >>confdefs.h
-
-fi
-
-
-ac_have_func=no # yes means we've found a way to get the load average.
-
-# Make sure getloadavg.c is where it belongs, at configure-time.
-test -f "$srcdir/$ac_config_libobj_dir/getloadavg.c" ||
- as_fn_error $? "$srcdir/$ac_config_libobj_dir/getloadavg.c is missing" "$LINENO" 5
-
-ac_save_LIBS=$LIBS
-
-# Check for getloadavg, but be sure not to touch the cache variable.
-(ac_fn_c_check_func "$LINENO" "getloadavg" "ac_cv_func_getloadavg"
-if test "x$ac_cv_func_getloadavg" = xyes; then :
- exit 0
-else
- exit 1
-fi
-) && ac_have_func=yes
-
-# On HPUX9, an unprivileged user can get load averages through this function.
-for ac_func in pstat_getdynamic
-do :
- ac_fn_c_check_func "$LINENO" "pstat_getdynamic" "ac_cv_func_pstat_getdynamic"
-if test "x$ac_cv_func_pstat_getdynamic" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_PSTAT_GETDYNAMIC 1
-_ACEOF
-
-fi
-done
-
-
-# Solaris has libkstat which does not require root.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kstat_open in -lkstat" >&5
-$as_echo_n "checking for kstat_open in -lkstat... " >&6; }
-if ${ac_cv_lib_kstat_kstat_open+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lkstat $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char kstat_open ();
-int
-main ()
-{
-return kstat_open ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_kstat_kstat_open=yes
-else
- ac_cv_lib_kstat_kstat_open=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kstat_kstat_open" >&5
-$as_echo "$ac_cv_lib_kstat_kstat_open" >&6; }
-if test "x$ac_cv_lib_kstat_kstat_open" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_LIBKSTAT 1
-_ACEOF
-
- LIBS="-lkstat $LIBS"
-
-fi
-
-test $ac_cv_lib_kstat_kstat_open = yes && ac_have_func=yes
-
-# Some systems with -lutil have (and need) -lkvm as well, some do not.
-# On Solaris, -lkvm requires nlist from -lelf, so check that first
-# to get the right answer into the cache.
-# For kstat on solaris, we need libelf to force the definition of SVR4 below.
-if test $ac_have_func = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for elf_begin in -lelf" >&5
-$as_echo_n "checking for elf_begin in -lelf... " >&6; }
-if ${ac_cv_lib_elf_elf_begin+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lelf $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char elf_begin ();
-int
-main ()
-{
-return elf_begin ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_elf_elf_begin=yes
-else
- ac_cv_lib_elf_elf_begin=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_elf_elf_begin" >&5
-$as_echo "$ac_cv_lib_elf_elf_begin" >&6; }
-if test "x$ac_cv_lib_elf_elf_begin" = xyes; then :
- LIBS="-lelf $LIBS"
-fi
-
-fi
-if test $ac_have_func = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kvm_open in -lkvm" >&5
-$as_echo_n "checking for kvm_open in -lkvm... " >&6; }
-if ${ac_cv_lib_kvm_kvm_open+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lkvm $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char kvm_open ();
-int
-main ()
-{
-return kvm_open ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_kvm_kvm_open=yes
-else
- ac_cv_lib_kvm_kvm_open=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kvm_kvm_open" >&5
-$as_echo "$ac_cv_lib_kvm_kvm_open" >&6; }
-if test "x$ac_cv_lib_kvm_kvm_open" = xyes; then :
- LIBS="-lkvm $LIBS"
-fi
-
- # Check for the 4.4BSD definition of getloadavg.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getloadavg in -lutil" >&5
-$as_echo_n "checking for getloadavg in -lutil... " >&6; }
-if ${ac_cv_lib_util_getloadavg+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lutil $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char getloadavg ();
-int
-main ()
-{
-return getloadavg ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_util_getloadavg=yes
-else
- ac_cv_lib_util_getloadavg=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_getloadavg" >&5
-$as_echo "$ac_cv_lib_util_getloadavg" >&6; }
-if test "x$ac_cv_lib_util_getloadavg" = xyes; then :
- LIBS="-lutil $LIBS" ac_have_func=yes ac_cv_func_getloadavg_setgid=yes
-fi
-
-fi
-
-if test $ac_have_func = no; then
- # There is a commonly available library for RS/6000 AIX.
- # Since it is not a standard part of AIX, it might be installed locally.
- ac_getloadavg_LIBS=$LIBS
- LIBS="-L/usr/local/lib $LIBS"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getloadavg in -lgetloadavg" >&5
-$as_echo_n "checking for getloadavg in -lgetloadavg... " >&6; }
-if ${ac_cv_lib_getloadavg_getloadavg+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lgetloadavg $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char getloadavg ();
-int
-main ()
-{
-return getloadavg ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_getloadavg_getloadavg=yes
-else
- ac_cv_lib_getloadavg_getloadavg=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_getloadavg_getloadavg" >&5
-$as_echo "$ac_cv_lib_getloadavg_getloadavg" >&6; }
-if test "x$ac_cv_lib_getloadavg_getloadavg" = xyes; then :
- LIBS="-lgetloadavg $LIBS"
-else
- LIBS=$ac_getloadavg_LIBS
-fi
-
-fi
-
-# Make sure it is really in the library, if we think we found it,
-# otherwise set up the replacement function.
-for ac_func in getloadavg
-do :
- ac_fn_c_check_func "$LINENO" "getloadavg" "ac_cv_func_getloadavg"
-if test "x$ac_cv_func_getloadavg" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_GETLOADAVG 1
-_ACEOF
-
-else
- case " $LIB@&t@OBJS " in
- *" getloadavg.$ac_objext "* ) ;;
- *) LIB@&t@OBJS="$LIB@&t@OBJS getloadavg.$ac_objext"
- ;;
-esac
-
-
-$as_echo "@%:@define C_GETLOADAVG 1" >>confdefs.h
-
-# Figure out what our getloadavg.c needs.
-ac_have_func=no
-ac_fn_c_check_header_mongrel "$LINENO" "sys/dg_sys_info.h" "ac_cv_header_sys_dg_sys_info_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_dg_sys_info_h" = xyes; then :
- ac_have_func=yes
-
-$as_echo "@%:@define DGUX 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dg_sys_info in -ldgc" >&5
-$as_echo_n "checking for dg_sys_info in -ldgc... " >&6; }
-if ${ac_cv_lib_dgc_dg_sys_info+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldgc $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dg_sys_info ();
-int
-main ()
-{
-return dg_sys_info ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dgc_dg_sys_info=yes
-else
- ac_cv_lib_dgc_dg_sys_info=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dgc_dg_sys_info" >&5
-$as_echo "$ac_cv_lib_dgc_dg_sys_info" >&6; }
-if test "x$ac_cv_lib_dgc_dg_sys_info" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_LIBDGC 1
-_ACEOF
-
- LIBS="-ldgc $LIBS"
-
-fi
-
-fi
-
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default"
-if test "x$ac_cv_header_locale_h" = xyes; then :
-
-fi
-
-
-for ac_func in setlocale
-do :
- ac_fn_c_check_func "$LINENO" "setlocale" "ac_cv_func_setlocale"
-if test "x$ac_cv_func_setlocale" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_SETLOCALE 1
-_ACEOF
-
-fi
-done
-
-
-# We cannot check for <dwarf.h>, because Solaris 2 does not use dwarf (it
-# uses stabs), but it is still SVR4. We cannot check for <elf.h> because
-# Irix 4.0.5F has the header but not the library.
-if test $ac_have_func = no && test "$ac_cv_lib_elf_elf_begin" = yes \
- && test "$ac_cv_lib_kvm_kvm_open" = yes; then
- ac_have_func=yes
-
-$as_echo "@%:@define SVR4 1" >>confdefs.h
-
-fi
-
-if test $ac_have_func = no; then
- ac_fn_c_check_header_mongrel "$LINENO" "inq_stats/cpustats.h" "ac_cv_header_inq_stats_cpustats_h" "$ac_includes_default"
-if test "x$ac_cv_header_inq_stats_cpustats_h" = xyes; then :
- ac_have_func=yes
-
-$as_echo "@%:@define UMAX 1" >>confdefs.h
-
-
-$as_echo "@%:@define UMAX4_3 1" >>confdefs.h
-
-fi
-
-
-fi
-
-if test $ac_have_func = no; then
- ac_fn_c_check_header_mongrel "$LINENO" "sys/cpustats.h" "ac_cv_header_sys_cpustats_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_cpustats_h" = xyes; then :
- ac_have_func=yes; $as_echo "@%:@define UMAX 1" >>confdefs.h
-
-fi
-
-
-fi
-
-if test $ac_have_func = no; then
- for ac_header in mach/mach.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "mach/mach.h" "ac_cv_header_mach_mach_h" "$ac_includes_default"
-if test "x$ac_cv_header_mach_mach_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_MACH_MACH_H 1
-_ACEOF
-
-fi
-
-done
-
-fi
-
-for ac_header in nlist.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "nlist.h" "ac_cv_header_nlist_h" "$ac_includes_default"
-if test "x$ac_cv_header_nlist_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_NLIST_H 1
-_ACEOF
- ac_fn_c_check_member "$LINENO" "struct nlist" "n_un.n_name" "ac_cv_member_struct_nlist_n_un_n_name" "@%:@include <nlist.h>
-"
-if test "x$ac_cv_member_struct_nlist_n_un_n_name" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_STRUCT_NLIST_N_UN_N_NAME 1
-_ACEOF
-
-
-$as_echo "@%:@define NLIST_NAME_UNION 1" >>confdefs.h
-
-fi
-
-
-fi
-
-done
-
-fi
-done
-
-
-# Some definitions of getloadavg require that the program be installed setgid.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getloadavg requires setgid" >&5
-$as_echo_n "checking whether getloadavg requires setgid... " >&6; }
-if ${ac_cv_func_getloadavg_setgid+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include "$srcdir/$ac_config_libobj_dir/getloadavg.c"
-#ifdef LDAV_PRIVILEGED
-Yowza Am I SETGID yet
-@%:@endif
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Yowza Am I SETGID yet" >/dev/null 2>&1; then :
- ac_cv_func_getloadavg_setgid=yes
-else
- ac_cv_func_getloadavg_setgid=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_getloadavg_setgid" >&5
-$as_echo "$ac_cv_func_getloadavg_setgid" >&6; }
-if test $ac_cv_func_getloadavg_setgid = yes; then
- NEED_SETGID=true
-
-$as_echo "@%:@define GETLOADAVG_PRIVILEGED 1" >>confdefs.h
-
-else
- NEED_SETGID=false
-fi
-
-if test $ac_cv_func_getloadavg_setgid = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking group of /dev/kmem" >&5
-$as_echo_n "checking group of /dev/kmem... " >&6; }
-if ${ac_cv_group_kmem+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # On Solaris, /dev/kmem is a symlink. Get info on the real file.
- ac_ls_output=`ls -lgL /dev/kmem 2>/dev/null`
- # If we got an error (system does not support symlinks), try without -L.
- test -z "$ac_ls_output" && ac_ls_output=`ls -lg /dev/kmem`
- ac_cv_group_kmem=`$as_echo "$ac_ls_output" \
- | sed -ne 's/[ ][ ]*/ /g;
- s/^.[sSrwx-]* *[0-9]* *\([^0-9]*\) *.*/\1/;
- / /s/.* //;p;'`
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_group_kmem" >&5
-$as_echo "$ac_cv_group_kmem" >&6; }
- KMEM_GROUP=$ac_cv_group_kmem
-fi
-if test "x$ac_save_LIBS" = x; then
- GETLOADAVG_LIBS=$LIBS
-else
- GETLOADAVG_LIBS=`$as_echo "$LIBS" | sed "s|$ac_save_LIBS||"`
-fi
-LIBS=$ac_save_LIBS
-
-
-
-# AC_FUNC_GETLOADAVG is documented to set the NLIST_STRUCT value, but it
-# doesn't. So, we will.
-
-if test "$ac_cv_header_nlist_h" = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <nlist.h>
-int
-main ()
-{
-struct nlist nl;
- nl.n_name = "string";
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- make_cv_nlist_struct=yes
-else
- make_cv_nlist_struct=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- if test "$make_cv_nlist_struct" = yes; then
-
-$as_echo "@%:@define NLIST_STRUCT 1" >>confdefs.h
-
- fi
-fi
-
-ac_fn_c_check_decl "$LINENO" "sys_siglist" "ac_cv_have_decl_sys_siglist" "$ac_includes_default
-#include <signal.h>
-/* NetBSD declares sys_siglist in unistd.h. */
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-"
-if test "x$ac_cv_have_decl_sys_siglist" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_DECL_SYS_SIGLIST $ac_have_decl
-_ACEOF
-ac_fn_c_check_decl "$LINENO" "_sys_siglist" "ac_cv_have_decl__sys_siglist" "$ac_includes_default
-#include <signal.h>
-/* NetBSD declares sys_siglist in unistd.h. */
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-"
-if test "x$ac_cv_have_decl__sys_siglist" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_DECL__SYS_SIGLIST $ac_have_decl
-_ACEOF
-ac_fn_c_check_decl "$LINENO" "__sys_siglist" "ac_cv_have_decl___sys_siglist" "$ac_includes_default
-#include <signal.h>
-/* NetBSD declares sys_siglist in unistd.h. */
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-"
-if test "x$ac_cv_have_decl___sys_siglist" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_DECL___SYS_SIGLIST $ac_have_decl
-_ACEOF
-
-
-
-# Check out the wait reality.
-for ac_header in sys/wait.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "sys/wait.h" "ac_cv_header_sys_wait_h" "#include <sys/types.h>
-"
-if test "x$ac_cv_header_sys_wait_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_SYS_WAIT_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in waitpid wait3
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for union wait" >&5
-$as_echo_n "checking for union wait... " >&6; }
-if ${make_cv_union_wait+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/wait.h>
-int
-main ()
-{
-union wait status; int pid; pid = wait (&status);
-#ifdef WEXITSTATUS
-/* Some POSIXoid systems have both the new-style macros and the old
- union wait type, and they do not work together. If union wait
- conflicts with WEXITSTATUS et al, we don't want to use it at all. */
- if (WEXITSTATUS (status) != 0) pid = -1;
-#ifdef WTERMSIG
- /* If we have WEXITSTATUS and WTERMSIG, just use them on ints. */
- -- blow chunks here --
-#endif
-#endif
-#ifdef HAVE_WAITPID
- /* Make sure union wait works with waitpid. */
- pid = waitpid (-1, &status, 0);
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- make_cv_union_wait=yes
-else
- make_cv_union_wait=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-
-if test "$make_cv_union_wait" = yes; then
-
-$as_echo "@%:@define HAVE_UNION_WAIT 1" >>confdefs.h
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_union_wait" >&5
-$as_echo "$make_cv_union_wait" >&6; }
-
-
-# If we're building on Windows/DOS/OS/2, add some support for DOS drive specs.
-if test "$PATH_SEPARATOR" = ';'; then
-
-$as_echo "@%:@define HAVE_DOS_PATHS 1" >>confdefs.h
-
-fi
-
-
-# See if the user wants to use pmake's "customs" distributed build capability
-
- REMOTE=stub
-use_customs=false
-
-@%:@ Check whether --with-customs was given.
-if test "${with_customs+set}" = set; then :
- withval=$with_customs; case $withval in
- n|no) : ;;
- *) make_cppflags="$CPPFLAGS"
- case $withval in
- y|ye|yes) : ;;
- *) CPPFLAGS="$CPPFLAGS -I$with_customs/include/customs"
- make_ldflags="$LDFLAGS -L$with_customs/lib" ;;
- esac
-
-cf_test_netlibs=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for network libraries" >&5
-$as_echo_n "checking for network libraries... " >&6; }
-if ${cf_cv_netlibs+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: working..." >&5
-$as_echo "working..." >&6; }
-cf_cv_netlibs=""
-cf_test_netlibs=yes
-for ac_func in gethostname
-do :
- ac_fn_c_check_func "$LINENO" "gethostname" "ac_cv_func_gethostname"
-if test "x$ac_cv_func_gethostname" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_GETHOSTNAME 1
-_ACEOF
-
-else
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostname in -lnsl" >&5
-$as_echo_n "checking for gethostname in -lnsl... " >&6; }
-if ${ac_cv_lib_nsl_gethostname+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnsl $cf_cv_netlibs $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostname ();
-int
-main ()
-{
-return gethostname ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_nsl_gethostname=yes
-else
- ac_cv_lib_nsl_gethostname=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostname" >&5
-$as_echo "$ac_cv_lib_nsl_gethostname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostname" = xyes; then :
-
-
-cf_tr_func=`echo gethostname | tr '[a-z]' '[A-Z]'`
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_$cf_tr_func 1
-_ACEOF
-
- ac_cv_func_gethostname=yes
- cf_cv_netlibs="-lnsl $cf_cv_netlibs"
-else
-
- ac_cv_func_gethostname=unknown
- unset ac_cv_func_gethostname 2>/dev/null
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostname in -lsocket" >&5
-$as_echo_n "checking for gethostname in -lsocket... " >&6; }
-if ${ac_cv_lib_socket_gethostname+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsocket $cf_cv_netlibs $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostname ();
-int
-main ()
-{
-return gethostname ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_socket_gethostname=yes
-else
- ac_cv_lib_socket_gethostname=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_gethostname" >&5
-$as_echo "$ac_cv_lib_socket_gethostname" >&6; }
-if test "x$ac_cv_lib_socket_gethostname" = xyes; then :
-
-
-cf_tr_func=`echo gethostname | tr '[a-z]' '[A-Z]'`
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_$cf_tr_func 1
-_ACEOF
-
- ac_cv_func_gethostname=yes
- cf_cv_netlibs="-lsocket $cf_cv_netlibs"
-else
-
- ac_cv_func_gethostname=unknown
- unset ac_cv_func_gethostname 2>/dev/null
-
-fi
-
-
-fi
-
-
-fi
-done
-
-#
-# FIXME: sequent needs this library (i.e., -lsocket -linet -lnsl), but
-# I don't know the entrypoints - 97/7/22 TD
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -linet" >&5
-$as_echo_n "checking for main in -linet... " >&6; }
-if ${ac_cv_lib_inet_main+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-linet $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-return main ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_inet_main=yes
-else
- ac_cv_lib_inet_main=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_inet_main" >&5
-$as_echo "$ac_cv_lib_inet_main" >&6; }
-if test "x$ac_cv_lib_inet_main" = xyes; then :
- cf_cv_netlibs="-linet $cf_cv_netlibs"
-fi
-
-#
-if test "$ac_cv_func_lsocket" != no ; then
-for ac_func in socket
-do :
- ac_fn_c_check_func "$LINENO" "socket" "ac_cv_func_socket"
-if test "x$ac_cv_func_socket" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_SOCKET 1
-_ACEOF
-
-else
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5
-$as_echo_n "checking for socket in -lsocket... " >&6; }
-if ${ac_cv_lib_socket_socket+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsocket $cf_cv_netlibs $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char socket ();
-int
-main ()
-{
-return socket ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_socket_socket=yes
-else
- ac_cv_lib_socket_socket=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5
-$as_echo "$ac_cv_lib_socket_socket" >&6; }
-if test "x$ac_cv_lib_socket_socket" = xyes; then :
-
-
-cf_tr_func=`echo socket | tr '[a-z]' '[A-Z]'`
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_$cf_tr_func 1
-_ACEOF
-
- ac_cv_func_socket=yes
- cf_cv_netlibs="-lsocket $cf_cv_netlibs"
-else
-
- ac_cv_func_socket=unknown
- unset ac_cv_func_socket 2>/dev/null
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lbsd" >&5
-$as_echo_n "checking for socket in -lbsd... " >&6; }
-if ${ac_cv_lib_bsd_socket+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lbsd $cf_cv_netlibs $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char socket ();
-int
-main ()
-{
-return socket ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_bsd_socket=yes
-else
- ac_cv_lib_bsd_socket=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_socket" >&5
-$as_echo "$ac_cv_lib_bsd_socket" >&6; }
-if test "x$ac_cv_lib_bsd_socket" = xyes; then :
-
-
-cf_tr_func=`echo socket | tr '[a-z]' '[A-Z]'`
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_$cf_tr_func 1
-_ACEOF
-
- ac_cv_func_socket=yes
- cf_cv_netlibs="-lbsd $cf_cv_netlibs"
-else
-
- ac_cv_func_socket=unknown
- unset ac_cv_func_socket 2>/dev/null
-
-fi
-
-
-fi
-
-
-fi
-done
-
-fi
-#
-for ac_func in gethostbyname
-do :
- ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
-if test "x$ac_cv_func_gethostbyname" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_GETHOSTBYNAME 1
-_ACEOF
-
-else
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
-$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnsl $cf_cv_netlibs $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname ();
-int
-main ()
-{
-return gethostbyname ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_nsl_gethostbyname=yes
-else
- ac_cv_lib_nsl_gethostbyname=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
-$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
-
-
-cf_tr_func=`echo gethostbyname | tr '[a-z]' '[A-Z]'`
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define HAVE_$cf_tr_func 1
-_ACEOF
-
- ac_cv_func_gethostbyname=yes
- cf_cv_netlibs="-lnsl $cf_cv_netlibs"
-else
-
- ac_cv_func_gethostbyname=unknown
- unset ac_cv_func_gethostbyname 2>/dev/null
-
-fi
-
-
-fi
-done
-
-
-fi
-
-LIBS="$LIBS $cf_cv_netlibs"
-test $cf_test_netlibs = no && echo "$cf_cv_netlibs" >&6
-
- ac_fn_c_check_header_mongrel "$LINENO" "customs.h" "ac_cv_header_customs_h" "$ac_includes_default"
-if test "x$ac_cv_header_customs_h" = xyes; then :
- use_customs=true
- REMOTE=cstms
- LIBS="$LIBS -lcustoms" LDFLAGS="$make_ldflags"
-else
- with_customs=no
- CPPFLAGS="$make_cppflags" make_badcust=yes
-fi
-
-
- ;;
- esac
-fi
-
-# Tell automake about this, so it can include the right .c files.
- if test "$use_customs" = true; then
- USE_CUSTOMS_TRUE=
- USE_CUSTOMS_FALSE='#'
-else
- USE_CUSTOMS_TRUE='#'
- USE_CUSTOMS_FALSE=
-fi
-
-
-# See if the user asked to handle case insensitive file systems.
-
-
-@%:@ Check whether --enable-case-insensitive-file-system was given.
-if test "${enable_case_insensitive_file_system+set}" = set; then :
- enableval=$enable_case_insensitive_file_system; case $enableval in
- yes) $as_echo "@%:@define HAVE_CASE_INSENSITIVE_FS 1" >>confdefs.h
- ;;
- esac
-fi
-
-
-# See if we can handle the job server feature, and if the user wants it.
-
-@%:@ Check whether --enable-job-server was given.
-if test "${enable_job_server+set}" = set; then :
- enableval=$enable_job_server; make_cv_job_server="$enableval" user_job_server="$enableval"
-else
- make_cv_job_server="yes"
-fi
-
-
-has_wait_nohang=yes
-case "$ac_cv_func_waitpid/$ac_cv_func_wait3" in
- no/no) has_wait_nohang=no ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SA_RESTART" >&5
-$as_echo_n "checking for SA_RESTART... " >&6; }
-if ${make_cv_sa_restart+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <signal.h>
-int
-main ()
-{
-return SA_RESTART;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- make_cv_sa_restart=yes
-else
- make_cv_sa_restart=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_sa_restart" >&5
-$as_echo "$make_cv_sa_restart" >&6; }
-
-if test "$make_cv_sa_restart" != no; then
-
-$as_echo "@%:@define HAVE_SA_RESTART 1" >>confdefs.h
-
-fi
-
-# Only allow jobserver on systems that support it
-case "/$ac_cv_func_pipe/$ac_cv_func_sigaction/$make_cv_sa_restart/$has_wait_nohang/" in
- */no/*) make_cv_job_server=no ;;
-esac
-
-# Also supported on OS2 and MinGW
-case "$host_os" in
- os2*|mingw*) make_cv_job_server=yes ;;
-esac
-
-# If we support it and the user didn't disable it, build with jobserver
-case "/$make_cv_job_server/$user_job_server/" in
- */no/*) : no jobserver ;;
- *)
-$as_echo "@%:@define MAKE_JOBSERVER 1" >>confdefs.h
- ;;
-esac
-
-# if we have both lstat() and readlink() then we can support symlink
-# timechecks.
-case "$ac_cv_func_lstat/$ac_cv_func_readlink" in
- yes/yes)
-
-$as_echo "@%:@define MAKE_SYMLINKS 1" >>confdefs.h
-;;
-esac
-
-# Find the SCCS commands, so we can include them in our default rules.
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of SCCS get command" >&5
-$as_echo_n "checking for location of SCCS get command... " >&6; }
-if ${make_cv_path_sccs_get+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-if test -f /usr/sccs/get; then
- make_cv_path_sccs_get=/usr/sccs/get
-else
- make_cv_path_sccs_get=get
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_path_sccs_get" >&5
-$as_echo "$make_cv_path_sccs_get" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-@%:@define SCCS_GET "$make_cv_path_sccs_get"
-_ACEOF
-
-
-ac_clean_files="$ac_clean_files s.conftest conftoast" # Remove these later.
-if ( /usr/sccs/admin -n s.conftest || admin -n s.conftest ) >/dev/null 2>&1 &&
- test -f s.conftest; then
- # We successfully created an SCCS file.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if SCCS get command understands -G" >&5
-$as_echo_n "checking if SCCS get command understands -G... " >&6; }
-if ${make_cv_sys_get_minus_G+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- if $make_cv_path_sccs_get -Gconftoast s.conftest >/dev/null 2>&1 &&
- test -f conftoast; then
- make_cv_sys_get_minus_G=yes
- else
- make_cv_sys_get_minus_G=no
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_sys_get_minus_G" >&5
-$as_echo "$make_cv_sys_get_minus_G" >&6; }
- case "$make_cv_sys_get_minus_G" in
- yes)
-$as_echo "@%:@define SCCS_GET_MINUS_G 1" >>confdefs.h
-;;
- esac
-fi
-rm -f s.conftest conftoast
-
-# Check the system to see if it provides GNU glob. If not, use our
-# local version.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if system libc has GNU glob" >&5
-$as_echo_n "checking if system libc has GNU glob... " >&6; }
-if ${make_cv_sys_gnu_glob+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <features.h>
-#include <glob.h>
-#include <fnmatch.h>
-
-#define GLOB_INTERFACE_VERSION 1
-#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
-# include <gnu-versions.h>
-# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION
- gnu glob
-# endif
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "gnu glob" >/dev/null 2>&1; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-make_cv_sys_gnu_glob=yes
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no; using local copy" >&5
-$as_echo "no; using local copy" >&6; }
-make_cv_sys_gnu_glob=no
-fi
-rm -f conftest*
-
-fi
-
-if test "$make_cv_sys_gnu_glob" = no; then
- GLOBINC='-I$(srcdir)/glob'
- GLOBLIB=glob/libglob.a
-fi
-
-
-
-# Tell automake about this, so it can build the right .c files.
- if test "$make_cv_sys_gnu_glob" = no; then
- USE_LOCAL_GLOB_TRUE=
- USE_LOCAL_GLOB_FALSE='#'
-else
- USE_LOCAL_GLOB_TRUE='#'
- USE_LOCAL_GLOB_FALSE=
-fi
-
-
-# Let the makefile know what our build host is
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define MAKE_HOST "$host"
-_ACEOF
-
-MAKE_HOST="$host"
-
-
-w32_target_env=no
- if false; then
- WINDOWSENV_TRUE=
- WINDOWSENV_FALSE='#'
-else
- WINDOWSENV_TRUE='#'
- WINDOWSENV_FALSE=
-fi
-
-
-case "$host" in
- *-*-mingw32)
- if true; then
- WINDOWSENV_TRUE=
- WINDOWSENV_FALSE='#'
-else
- WINDOWSENV_TRUE='#'
- WINDOWSENV_FALSE=
-fi
-
- w32_target_env=yes
-
-$as_echo "@%:@define WINDOWS32 1" >>confdefs.h
-
-
-$as_echo "@%:@define HAVE_DOS_PATHS 1" >>confdefs.h
-
- ;;
-esac
-
-
-cat >>confdefs.h <<_ACEOF
-@%:@define PATH_SEPARATOR_CHAR '$PATH_SEPARATOR'
-_ACEOF
-
-
-# Include the Maintainer's Makefile section, if it's here.
-
-MAINT_MAKEFILE=/dev/null
-if test -r "$srcdir/maintMakefile"; then
- MAINT_MAKEFILE="$srcdir/maintMakefile"
-fi
-
-
-# Allow building with dmalloc
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if malloc debugging is wanted" >&5
-$as_echo_n "checking if malloc debugging is wanted... " >&6; }
-
-@%:@ Check whether --with-dmalloc was given.
-if test "${with_dmalloc+set}" = set; then :
- withval=$with_dmalloc; if test "$withval" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "@%:@define WITH_DMALLOC 1" >>confdefs.h
-
- LIBS="$LIBS -ldmalloc"
- LDFLAGS="$LDFLAGS -g"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-# Forcibly disable SET_MAKE. If it's set it breaks things like the test
-# scripts, etc.
-SET_MAKE=
-
-# Sanity check and inform the user of what we found
-
-case "$make_badcust" in
- yes) echo
- echo "WARNING: --with-customs specified but no customs.h could be found;"
- echo " disabling Customs support."
- echo ;;
-esac
-
-case "$with_customs" in
- ""|n|no|y|ye|yes) ;;
- *) if test -f "$with_customs/lib/libcustoms.a"; then
- :
- else
- echo
- echo "WARNING: '$with_customs/lib' does not appear to contain the"
- echo " Customs library. You must build and install Customs"
- echo " before compiling GNU make."
- echo
- fi ;;
-esac
-
-case "$has_wait_nohang" in
- no) echo
- echo "WARNING: Your system has neither waitpid() nor wait3()."
- echo " Without one of these, signal handling is unreliable."
- echo " You should be aware that running GNU make with -j"
- echo " could result in erratic behavior."
- echo ;;
-esac
-
-case "$make_cv_job_server/$user_job_server" in
- no/yes) echo
- echo "WARNING: Make job server requires a POSIX-ish system that"
- echo " supports the pipe(), sigaction(), and either"
- echo " waitpid() or wait3() functions. Your system doesn't"
- echo " appear to provide one or more of those."
- echo " Disabling job server support."
- echo ;;
-esac
-
-
-# Specify what files are to be created.
-ac_config_files="$ac_config_files Makefile glob/Makefile po/Makefile.in config/Makefile doc/Makefile w32/Makefile"
-
-
-# OK, do it!
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIB@&t@OBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
- am__EXEEXT_TRUE=
- am__EXEEXT_FALSE='#'
-else
- am__EXEEXT_TRUE='#'
- am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${USE_CUSTOMS_TRUE}" && test -z "${USE_CUSTOMS_FALSE}"; then
- as_fn_error $? "conditional \"USE_CUSTOMS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${USE_LOCAL_GLOB_TRUE}" && test -z "${USE_LOCAL_GLOB_FALSE}"; then
- as_fn_error $? "conditional \"USE_LOCAL_GLOB\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${WINDOWSENV_TRUE}" && test -z "${WINDOWSENV_FALSE}"; then
- as_fn_error $? "conditional \"WINDOWSENV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${WINDOWSENV_TRUE}" && test -z "${WINDOWSENV_FALSE}"; then
- as_fn_error $? "conditional \"WINDOWSENV\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in @%:@(
- *posix*) :
- set -o posix ;; @%:@(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in @%:@(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in @%:@((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD]
-@%:@ ----------------------------------------
-@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-@%:@ script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} @%:@ as_fn_error
-
-
-@%:@ as_fn_set_status STATUS
-@%:@ -----------------------
-@%:@ Set @S|@? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} @%:@ as_fn_set_status
-
-@%:@ as_fn_exit STATUS
-@%:@ -----------------
-@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} @%:@ as_fn_exit
-
-@%:@ as_fn_unset VAR
-@%:@ ---------------
-@%:@ Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-@%:@ as_fn_append VAR VALUE
-@%:@ ----------------------
-@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take
-@%:@ advantage of any shell optimizations that allow amortized linear growth over
-@%:@ repeated appends, instead of the typical quadratic growth present in naive
-@%:@ implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-@%:@ as_fn_arith ARG...
-@%:@ ------------------
-@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the
-@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments
-@%:@ must be portable across @S|@(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in @%:@(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-@%:@ as_fn_mkdir_p
-@%:@ -------------
-@%:@ Create "@S|@as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} @%:@ as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in @%:@(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in @%:@((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by GNU make $as_me 3.82.90, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to <bug-make@gnu.org>.
-GNU make home page: <http://www.gnu.org/software/make/>.
-General help using GNU software: <http://www.gnu.org/gethelp/>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-GNU make config.status 3.82.90
-configured by $0, generated by GNU Autoconf 2.68,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append CONFIG_HEADERS " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
- --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
-@%:@@%:@ Running $as_me. @%:@@%:@
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-# Capture the value of obsolete ALL_LINGUAS because we need it to compute
- # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
- # from automake.
- eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
- # Capture the value of LINGUAS because we need it to compute CATALOGS.
- LINGUAS="${LINGUAS-%UNSET%}"
-
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "glob/Makefile") CONFIG_FILES="$CONFIG_FILES glob/Makefile" ;;
- "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
- "config/Makefile") CONFIG_FILES="$CONFIG_FILES config/Makefile" ;;
- "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
- "w32/Makefile") CONFIG_FILES="$CONFIG_FILES w32/Makefile" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-if $AWK 'BEGIN { getline <"/dev/null" }' </dev/null 2>/dev/null; then
- ac_cs_awk_getline=:
- ac_cs_awk_pipe_init=
- ac_cs_awk_read_file='
- while ((getline aline < (F[key])) > 0)
- print(aline)
- close(F[key])'
- ac_cs_awk_pipe_fini=
-else
- ac_cs_awk_getline=false
- ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\""
- ac_cs_awk_read_file='
- print "|#_!!_#|"
- print "cat " F[key] " &&"
- '$ac_cs_awk_pipe_init
- # The final `:' finishes the AND list.
- ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }'
-fi
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-# Create commands to substitute file output variables.
-{
- echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" &&
- echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' &&
- echo "$ac_subst_files" | sed 's/.*/F@<:@"&"@:>@="$&"/' &&
- echo "_ACAWK" &&
- echo "_ACEOF"
-} >conf$$files.sh &&
-. ./conf$$files.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-rm -f conf$$files.sh
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
- \$ac_cs_awk_pipe_init
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
- if (nfields == 3 && !substed) {
- key = field[2]
- if (F[key] != "" && line ~ /^[ ]*@.*@[ ]*$/) {
- \$ac_cs_awk_read_file
- next
- }
- }
- print line
-}
-\$ac_cs_awk_pipe_fini
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_tt"; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any. Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[ ]*#[ ]*define[ ][ ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- for (key in D) D_is_set[key] = 1
- FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
- line = \$ 0
- split(line, arg, " ")
- if (arg[1] == "#") {
- defundef = arg[2]
- mac1 = arg[3]
- } else {
- defundef = substr(arg[1], 2)
- mac1 = arg[2]
- }
- split(mac1, mac2, "(") #)
- macro = mac2[1]
- prefix = substr(line, 1, index(line, defundef) - 1)
- if (D_is_set[macro]) {
- # Preserve the white space surrounding the "#".
- print prefix "define", macro P[macro] D[macro]
- next
- } else {
- # Replace #undef with comments. This is necessary, for example,
- # in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
- if (defundef == "undef") {
- print "/*", prefix defundef, macro, "*/"
- next
- }
- }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\\/$]* | ?:[\\/]* ) ;;
- */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" |
-if $ac_cs_awk_getline; then
- $AWK -f "$ac_tmp/subs.awk"
-else
- $AWK -f "$ac_tmp/subs.awk" | $SHELL
-fi \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
- if test x"$ac_file" != x-; then
- {
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- } >"$ac_tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f "$ac_file"
- mv "$ac_tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- fi
- else
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
- fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$_am_arg" : 'X\(//\)[^/]' \| \
- X"$_am_arg" : 'X\(//\)$' \| \
- X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-
- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
- ;;
- "default-1":C)
- for ac_file in $CONFIG_FILES; do
- # Support "outfile[:infile[:infile...]]"
- case "$ac_file" in
- *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- esac
- # PO directories have a Makefile.in generated from Makefile.in.in.
- 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_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.
- test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
- case "$ac_given_srcdir" in
- .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
- /*) top_srcdir="$ac_given_srcdir" ;;
- *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
- 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"
- 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
- # parameters.
- if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
- # The LINGUAS file contains the set of available languages.
- if test -n "$OBSOLETE_ALL_LINGUAS"; then
- 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" "$ac_given_srcdir/$ac_dir/LINGUAS"`
- # Hide the ALL_LINGUAS assigment from automake.
- eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
- POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
- else
- # The set of available languages was given in configure.in.
- eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
- fi
- # Compute POFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
- # Compute UPDATEPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
- # Compute DUMMYPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
- # Compute GMOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
- case "$ac_given_srcdir" in
- .) srcdirpre= ;;
- *) srcdirpre='$(srcdir)/' ;;
- esac
- POFILES=
- UPDATEPOFILES=
- DUMMYPOFILES=
- GMOFILES=
- for lang in $ALL_LINGUAS; do
- POFILES="$POFILES $srcdirpre$lang.po"
- UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
- DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
- GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
- done
- # CATALOGS depends on both $ac_dir and the user's LINGUAS
- # environment variable.
- INST_LINGUAS=
- if test -n "$ALL_LINGUAS"; then
- for presentlang in $ALL_LINGUAS; do
- useit=no
- if test "%UNSET%" != "$LINGUAS"; then
- desiredlanguages="$LINGUAS"
- else
- desiredlanguages="$ALL_LINGUAS"
- fi
- for desiredlang in $desiredlanguages; do
- # Use the presentlang catalog if desiredlang is
- # a. equal to presentlang, or
- # b. a variant of presentlang (because in this case,
- # presentlang can be used as a fallback for messages
- # which are not translated in the desiredlang catalog).
- case "$desiredlang" in
- "$presentlang"*) useit=yes;;
- esac
- done
- if test $useit = yes; then
- INST_LINGUAS="$INST_LINGUAS $presentlang"
- fi
- done
- fi
- CATALOGS=
- if test -n "$INST_LINGUAS"; then
- for lang in $INST_LINGUAS; do
- CATALOGS="$CATALOGS $lang.gmo"
- done
- fi
- test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
- sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
- for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
- if test -f "$f"; then
- case "$f" in
- *.orig | *.bak | *~) ;;
- *) cat "$f" >> "$ac_dir/Makefile" ;;
- esac
- fi
- done
- fi
- ;;
- esac
- done ;;
-
- esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
-
-# We only generate the build.sh if we have a build.sh.in; we won't have
-# one before we've created a distribution.
-if test -f "$srcdir/build.sh.in"; then
- ./config.status --file build.sh
- chmod +x build.sh
-fi
-
diff --git a/autom4te.cache/requests b/autom4te.cache/requests
deleted file mode 100644
index 6047279a..00000000
--- a/autom4te.cache/requests
+++ /dev/null
@@ -1,397 +0,0 @@
-# This file was generated.
-# It contains the lists of macros which have been traced.
-# It can be safely removed.
-
-@request = (
- bless( [
- '0',
- 1,
- [
- '/usr/share/autoconf'
- ],
- [
- '/usr/share/autoconf/autoconf/autoconf.m4f',
- '/usr/share/aclocal/codeset.m4',
- '/usr/share/aclocal/fcntl-o.m4',
- '/usr/share/aclocal/gettext.m4',
- '/usr/share/aclocal/glibc2.m4',
- '/usr/share/aclocal/glibc21.m4',
- '/usr/share/aclocal/iconv.m4',
- '/usr/share/aclocal/intdiv0.m4',
- '/usr/share/aclocal/intl.m4',
- '/usr/share/aclocal/intlmacosx.m4',
- '/usr/share/aclocal/intmax.m4',
- '/usr/share/aclocal/inttypes-pri.m4',
- '/usr/share/aclocal/inttypes_h.m4',
- '/usr/share/aclocal/lcmessage.m4',
- '/usr/share/aclocal/lib-ld.m4',
- '/usr/share/aclocal/lib-link.m4',
- '/usr/share/aclocal/lib-prefix.m4',
- '/usr/share/aclocal/lock.m4',
- '/usr/share/aclocal/longlong.m4',
- '/usr/share/aclocal/nls.m4',
- '/usr/share/aclocal/po.m4',
- '/usr/share/aclocal/printf-posix.m4',
- '/usr/share/aclocal/progtest.m4',
- '/usr/share/aclocal/size_max.m4',
- '/usr/share/aclocal/stdint_h.m4',
- '/usr/share/aclocal/threadlib.m4',
- '/usr/share/aclocal/uintmax_t.m4',
- '/usr/share/aclocal/visibility.m4',
- '/usr/share/aclocal/wchar_t.m4',
- '/usr/share/aclocal/wint_t.m4',
- '/usr/share/aclocal/xsize.m4',
- '/usr/share/aclocal-1.11/amversion.m4',
- '/usr/share/aclocal-1.11/auxdir.m4',
- '/usr/share/aclocal-1.11/cond.m4',
- '/usr/share/aclocal-1.11/depend.m4',
- '/usr/share/aclocal-1.11/depout.m4',
- '/usr/share/aclocal-1.11/dmalloc.m4',
- '/usr/share/aclocal-1.11/init.m4',
- '/usr/share/aclocal-1.11/install-sh.m4',
- '/usr/share/aclocal-1.11/lead-dot.m4',
- '/usr/share/aclocal-1.11/make.m4',
- '/usr/share/aclocal-1.11/minuso.m4',
- '/usr/share/aclocal-1.11/missing.m4',
- '/usr/share/aclocal-1.11/mkdirp.m4',
- '/usr/share/aclocal-1.11/options.m4',
- '/usr/share/aclocal-1.11/runlog.m4',
- '/usr/share/aclocal-1.11/sanity.m4',
- '/usr/share/aclocal-1.11/silent.m4',
- '/usr/share/aclocal-1.11/strip.m4',
- '/usr/share/aclocal-1.11/substnot.m4',
- '/usr/share/aclocal-1.11/tar.m4',
- 'config/dospaths.m4',
- 'acinclude.m4',
- 'configure.in'
- ],
- {
- 'AM_PO_SUBDIRS' => 1,
- 'gt_INTTYPES_PRI' => 1,
- 'm4_pattern_forbid' => 1,
- 'AM_XGETTEXT_OPTION_INIT' => 1,
- 'AC_LIB_PREPARE_PREFIX' => 1,
- 'AC_DEFUN' => 1,
- 'AM_PROG_MKDIR_P' => 1,
- 'gl_AC_HEADER_STDINT_H' => 1,
- 'AM_AUTOMAKE_VERSION' => 1,
- 'gl_SIZE_MAX' => 1,
- 'AM_MISSING_HAS_RUN' => 1,
- 'pds_AC_DOS_PATHS' => 1,
- 'AC_LIB_RPATH' => 1,
- 'AC_TYPE_LONG_LONG_INT' => 1,
- 'AM_SUBST_NOTMAKE' => 1,
- 'AM_MISSING_PROG' => 1,
- 'gt_PRINTF_POSIX' => 1,
- 'AM_GNU_GETTEXT_VERSION' => 1,
- 'AC_LIB_PROG_LD_GNU' => 1,
- 'gl_THREADLIB' => 1,
- 'AM_NLS' => 1,
- 'AM_PROG_INSTALL_STRIP' => 1,
- '_m4_warn' => 1,
- 'AM_SANITY_CHECK' => 1,
- 'gt_INTL_SUBDIR_CORE' => 1,
- '_AM_PROG_TAR' => 1,
- 'AM_DEP_TRACK' => 1,
- 'gl_THREADLIB_EARLY' => 1,
- 'AC_COMPUTE_INT' => 1,
- 'CF_UPPER' => 1,
- 'AC_LIB_ARG_WITH' => 1,
- '_AM_IF_OPTION' => 1,
- '_AM_SUBST_NOTMAKE' => 1,
- '_AM_AUTOCONF_VERSION' => 1,
- 'm4_pattern_allow' => 1,
- 'AM_PATH_PROG_WITH_TEST' => 1,
- 'AM_SET_LEADING_DOT' => 1,
- 'gl_FCNTL_O_FLAGS' => 1,
- 'gl_THREADLIB_EARLY_BODY' => 1,
- '_AM_DEPENDENCIES' => 1,
- 'gt_INTL_MACOSX' => 1,
- 'gt_CHECK_DECL' => 1,
- 'AC_STRUCT_ST_MTIM_NSEC' => 1,
- '_AC_TYPE_LONG_LONG_SNIPPET' => 1,
- 'AC_LIB_LINKFLAGS' => 1,
- 'AM_ICONV_LINK' => 1,
- 'AC_LIB_PREPARE_MULTILIB' => 1,
- 'AU_DEFUN' => 1,
- 'gl_THREADLIB_BODY' => 1,
- 'AM_GNU_GETTEXT_NEED' => 1,
- 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
- 'gt_TYPE_INTMAX_T' => 1,
- 'AC_LIB_HAVE_LINKFLAGS' => 1,
- 'gl_XSIZE' => 1,
- 'AM_ICONV_LINKFLAGS_BODY' => 1,
- '_AM_SET_OPTION' => 1,
- 'gt_GLIBC2' => 1,
- 'AM_INIT_AUTOMAKE' => 1,
- 'gl_AC_TYPE_UINTMAX_T' => 1,
- 'AC_LIB_PREFIX' => 1,
- 'gl_LOCK' => 1,
- 'CF_RECHECK_FUNC' => 1,
- 'AM_INTL_SUBDIR' => 1,
- 'gl_VISIBILITY' => 1,
- 'gt_TYPE_WCHAR_T' => 1,
- 'AM_WITH_DMALLOC' => 1,
- 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
- 'AC_DEFUN_ONCE' => 1,
- 'gl_DISABLE_THREADS' => 1,
- 'AC_' => 1,
- 'gt_INTDIV0' => 1,
- 'AM_ICONV' => 1,
- 'AM_SILENT_RULES' => 1,
- 'fp_WITH_DMALLOC' => 1,
- 'include' => 1,
- 'CF_NETLIBS' => 1,
- 'AM_AUX_DIR_EXPAND' => 1,
- 'AC_LIB_APPENDTOVAR' => 1,
- 'AM_GNU_GETTEXT' => 1,
- 'gl_GLIBC21' => 1,
- 'AC_LIB_LINKFLAGS_FROM_LIBS' => 1,
- 'AM_POSTPROCESS_PO_MAKEFILE' => 1,
- '_AM_SET_OPTIONS' => 1,
- 'AM_RUN_LOG' => 1,
- '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
- 'AC_LIB_WITH_FINAL_PREFIX' => 1,
- 'gt_TYPE_WINT_T' => 1,
- 'AC_LIB_LINKFLAGS_BODY' => 1,
- 'AC_LIB_FROMPACKAGE' => 1,
- 'AM_PROG_CC_C_O' => 1,
- 'gt_LC_MESSAGES' => 1,
- 'AC_TYPE_UNSIGNED_LONG_LONG_INT' => 1,
- '_AM_MANGLE_OPTION' => 1,
- 'AM_XGETTEXT_OPTION' => 1,
- 'AM_CONDITIONAL' => 1,
- 'AM_LANGINFO_CODESET' => 1,
- 'AM_SET_DEPDIR' => 1,
- 'gl_AC_HEADER_INTTYPES_H' => 1,
- 'AM_PROG_INSTALL_SH' => 1,
- 'm4_include' => 1,
- '_AC_AM_CONFIG_HEADER_HOOK' => 1,
- 'AC_LIB_PROG_LD' => 1,
- 'gl_PREREQ_LOCK' => 1,
- 'AM_MAKE_INCLUDE' => 1
- }
- ], 'Autom4te::Request' ),
- bless( [
- '1',
- 1,
- [
- '/usr/share/autoconf'
- ],
- [
- '/usr/share/autoconf/autoconf/autoconf.m4f',
- 'aclocal.m4',
- 'configure.in'
- ],
- {
- '_LT_AC_TAGCONFIG' => 1,
- 'AM_PROG_F77_C_O' => 1,
- 'm4_pattern_forbid' => 1,
- 'AC_INIT' => 1,
- '_AM_COND_IF' => 1,
- 'AC_CANONICAL_TARGET' => 1,
- 'AC_SUBST' => 1,
- 'AC_CONFIG_LIBOBJ_DIR' => 1,
- 'AC_FC_SRCEXT' => 1,
- 'AC_CANONICAL_HOST' => 1,
- 'AC_PROG_LIBTOOL' => 1,
- 'AM_INIT_AUTOMAKE' => 1,
- 'AM_PATH_GUILE' => 1,
- 'AC_CONFIG_SUBDIRS' => 1,
- 'AM_AUTOMAKE_VERSION' => 1,
- 'LT_CONFIG_LTDL_DIR' => 1,
- 'AC_REQUIRE_AUX_FILE' => 1,
- 'AC_CONFIG_LINKS' => 1,
- 'm4_sinclude' => 1,
- 'LT_SUPPORTED_TAG' => 1,
- 'AM_MAINTAINER_MODE' => 1,
- 'AM_NLS' => 1,
- 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
- 'AM_MAKEFILE_INCLUDE' => 1,
- '_m4_warn' => 1,
- 'AM_PROG_CXX_C_O' => 1,
- '_AM_COND_ENDIF' => 1,
- '_AM_MAKEFILE_INCLUDE' => 1,
- 'AM_ENABLE_MULTILIB' => 1,
- 'AM_SILENT_RULES' => 1,
- 'AM_PROG_MOC' => 1,
- 'AC_CONFIG_FILES' => 1,
- 'LT_INIT' => 1,
- 'include' => 1,
- 'AM_PROG_AR' => 1,
- 'AM_GNU_GETTEXT' => 1,
- 'AC_LIBSOURCE' => 1,
- 'AM_PROG_FC_C_O' => 1,
- 'AC_CANONICAL_BUILD' => 1,
- 'AC_FC_FREEFORM' => 1,
- 'AH_OUTPUT' => 1,
- '_AM_SUBST_NOTMAKE' => 1,
- 'AC_CONFIG_AUX_DIR' => 1,
- 'sinclude' => 1,
- 'AM_PROG_CC_C_O' => 1,
- 'm4_pattern_allow' => 1,
- 'AM_XGETTEXT_OPTION' => 1,
- 'AC_CANONICAL_SYSTEM' => 1,
- 'AM_CONDITIONAL' => 1,
- 'AC_CONFIG_HEADERS' => 1,
- 'AC_DEFINE_TRACE_LITERAL' => 1,
- 'AM_POT_TOOLS' => 1,
- 'm4_include' => 1,
- '_AM_COND_ELSE' => 1,
- 'AC_SUBST_TRACE' => 1
- }
- ], 'Autom4te::Request' ),
- bless( [
- '2',
- 1,
- [
- '/usr/share/autoconf'
- ],
- [
- '/usr/share/autoconf/autoconf/autoconf.m4f',
- '/usr/share/aclocal-1.11/amversion.m4',
- '/usr/share/aclocal-1.11/auxdir.m4',
- '/usr/share/aclocal-1.11/cond.m4',
- '/usr/share/aclocal-1.11/depend.m4',
- '/usr/share/aclocal-1.11/depout.m4',
- '/usr/share/aclocal-1.11/dmalloc.m4',
- '/usr/share/aclocal-1.11/init.m4',
- '/usr/share/aclocal-1.11/install-sh.m4',
- '/usr/share/aclocal-1.11/lead-dot.m4',
- '/usr/share/aclocal-1.11/make.m4',
- '/usr/share/aclocal-1.11/minuso.m4',
- '/usr/share/aclocal-1.11/missing.m4',
- '/usr/share/aclocal-1.11/mkdirp.m4',
- '/usr/share/aclocal-1.11/options.m4',
- '/usr/share/aclocal-1.11/runlog.m4',
- '/usr/share/aclocal-1.11/sanity.m4',
- '/usr/share/aclocal-1.11/silent.m4',
- '/usr/share/aclocal-1.11/strip.m4',
- '/usr/share/aclocal-1.11/substnot.m4',
- '/usr/share/aclocal-1.11/tar.m4',
- 'config/codeset.m4',
- 'config/dospaths.m4',
- 'config/gettext.m4',
- 'config/glibc21.m4',
- 'config/iconv.m4',
- 'config/intdiv0.m4',
- 'config/intmax.m4',
- 'config/inttypes-pri.m4',
- 'config/inttypes.m4',
- 'config/inttypes_h.m4',
- 'config/isc-posix.m4',
- 'config/lcmessage.m4',
- 'config/lib-ld.m4',
- 'config/lib-link.m4',
- 'config/lib-prefix.m4',
- 'config/longdouble.m4',
- 'config/longlong.m4',
- 'config/nls.m4',
- 'config/po.m4',
- 'config/printf-posix.m4',
- 'config/progtest.m4',
- 'config/signed.m4',
- 'config/size_max.m4',
- 'config/stdint_h.m4',
- 'config/uintmax_t.m4',
- 'config/ulonglong.m4',
- 'config/wchar_t.m4',
- 'config/wint_t.m4',
- 'config/xsize.m4',
- 'acinclude.m4',
- 'configure.in'
- ],
- {
- 'm4_pattern_forbid' => 1,
- 'gt_INTTYPES_PRI' => 1,
- 'AM_PO_SUBDIRS' => 1,
- 'AC_LIB_PREPARE_PREFIX' => 1,
- 'AC_DEFUN' => 1,
- 'AM_PROG_MKDIR_P' => 1,
- 'AM_AUTOMAKE_VERSION' => 1,
- 'pds_AC_DOS_PATHS' => 1,
- 'gl_SIZE_MAX' => 1,
- 'AM_MISSING_HAS_RUN' => 1,
- 'jm_AC_TYPE_UINTMAX_T' => 1,
- 'AC_LIB_RPATH' => 1,
- 'AM_SUBST_NOTMAKE' => 1,
- 'AM_MISSING_PROG' => 1,
- 'gt_PRINTF_POSIX' => 1,
- 'AM_GNU_GETTEXT_VERSION' => 1,
- 'AC_LIB_PROG_LD_GNU' => 1,
- 'AM_NLS' => 1,
- 'AM_PROG_INSTALL_STRIP' => 1,
- '_m4_warn' => 1,
- 'jm_AC_HEADER_STDINT_H' => 1,
- 'AM_SANITY_CHECK' => 1,
- '_AM_PROG_TAR' => 1,
- 'AM_DEP_TRACK' => 1,
- 'CF_UPPER' => 1,
- 'AC_LIB_ARG_WITH' => 1,
- '_AM_IF_OPTION' => 1,
- '_AM_SUBST_NOTMAKE' => 1,
- 'm4_pattern_allow' => 1,
- '_AM_AUTOCONF_VERSION' => 1,
- 'AM_PATH_PROG_WITH_TEST' => 1,
- 'AM_SET_LEADING_DOT' => 1,
- '_AM_DEPENDENCIES' => 1,
- 'gt_CHECK_DECL' => 1,
- 'AM_ICONV_LINK' => 1,
- 'AC_LIB_LINKFLAGS' => 1,
- 'AC_STRUCT_ST_MTIM_NSEC' => 1,
- 'AM_MKINSTALLDIRS' => 1,
- 'AU_DEFUN' => 1,
- 'bh_C_SIGNED' => 1,
- 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
- 'gt_TYPE_INTMAX_T' => 1,
- 'gl_XSIZE' => 1,
- 'AC_LIB_HAVE_LINKFLAGS' => 1,
- 'AM_ICONV_LINKFLAGS_BODY' => 1,
- '_AM_SET_OPTION' => 1,
- 'AM_INIT_AUTOMAKE' => 1,
- 'CF_RECHECK_FUNC' => 1,
- 'AC_LIB_PREFIX' => 1,
- 'AM_INTL_SUBDIR' => 1,
- 'gt_TYPE_LONGDOUBLE' => 1,
- 'jm_AC_HEADER_INTTYPES_H' => 1,
- 'gt_TYPE_WCHAR_T' => 1,
- 'AM_WITH_DMALLOC' => 1,
- 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
- 'AC_DEFUN_ONCE' => 1,
- 'jm_AC_TYPE_UNSIGNED_LONG_LONG' => 1,
- 'AM_LC_MESSAGES' => 1,
- 'AC_' => 1,
- 'gt_INTDIV0' => 1,
- 'AM_ICONV' => 1,
- 'AM_SILENT_RULES' => 1,
- 'include' => 1,
- 'fp_WITH_DMALLOC' => 1,
- 'CF_NETLIBS' => 1,
- 'AM_AUX_DIR_EXPAND' => 1,
- 'AC_LIB_APPENDTOVAR' => 1,
- 'AM_GNU_GETTEXT' => 1,
- 'jm_GLIBC21' => 1,
- 'AM_POSTPROCESS_PO_MAKEFILE' => 1,
- '_AM_SET_OPTIONS' => 1,
- '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
- 'AM_RUN_LOG' => 1,
- 'AC_LIB_WITH_FINAL_PREFIX' => 1,
- 'jm_AC_TYPE_LONG_LONG' => 1,
- 'gt_TYPE_WINT_T' => 1,
- 'AC_LIB_LINKFLAGS_BODY' => 1,
- 'AC_ISC_POSIX' => 1,
- 'AM_PROG_CC_C_O' => 1,
- 'gt_HEADER_INTTYPES_H' => 1,
- '_AM_MANGLE_OPTION' => 1,
- 'AM_CONDITIONAL' => 1,
- 'AM_LANGINFO_CODESET' => 1,
- 'AM_SET_DEPDIR' => 1,
- 'm4_include' => 1,
- 'AM_PROG_INSTALL_SH' => 1,
- '_AC_AM_CONFIG_HEADER_HOOK' => 1,
- 'AC_LIB_PROG_LD' => 1,
- 'AM_MAKE_INCLUDE' => 1
- }
- ], 'Autom4te::Request' )
- );
-
diff --git a/autom4te.cache/traces.0 b/autom4te.cache/traces.0
deleted file mode 100644
index 70c41ca8..00000000
--- a/autom4te.cache/traces.0
+++ /dev/null
@@ -1,4294 +0,0 @@
-m4trace:/usr/share/aclocal/codeset.m4:9: -1- AC_DEFUN([AM_LANGINFO_CODESET], [
- AC_CACHE_CHECK([for nl_langinfo and CODESET], [am_cv_langinfo_codeset],
- [AC_TRY_LINK([#include <langinfo.h>],
- [char* cs = nl_langinfo(CODESET); return !cs;],
- [am_cv_langinfo_codeset=yes],
- [am_cv_langinfo_codeset=no])
- ])
- if test $am_cv_langinfo_codeset = yes; then
- AC_DEFINE([HAVE_LANGINFO_CODESET], [1],
- [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
- fi
-])
-m4trace:/usr/share/aclocal/fcntl-o.m4:12: -1- AC_DEFUN([gl_FCNTL_O_FLAGS], [
- dnl Persuade glibc <fcntl.h> to define O_NOATIME and O_NOFOLLOW.
- AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
- AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h],
- [AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <sys/types.h>
- #include <sys/stat.h>
- #include <unistd.h>
- #include <fcntl.h>
- #ifndef O_NOATIME
- #define O_NOATIME 0
- #endif
- #ifndef O_NOFOLLOW
- #define O_NOFOLLOW 0
- #endif
- static int const constants[] =
- {
- O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND,
- O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY
- };
- ]],
- [[
- int status = !constants;
- {
- static char const sym[] = "conftest.sym";
- if (symlink (".", sym) != 0
- || close (open (sym, O_RDONLY | O_NOFOLLOW)) == 0)
- status |= 32;
- unlink (sym);
- }
- {
- static char const file[] = "confdefs.h";
- int fd = open (file, O_RDONLY | O_NOATIME);
- char c;
- struct stat st0, st1;
- if (fd < 0
- || fstat (fd, &st0) != 0
- || sleep (1) != 0
- || read (fd, &c, 1) != 1
- || close (fd) != 0
- || stat (file, &st1) != 0
- || st0.st_atime != st1.st_atime)
- status |= 64;
- }
- return status;]])],
- [gl_cv_header_working_fcntl_h=yes],
- [case $? in #(
- 32) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #(
- 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #(
- 96) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #(
- *) gl_cv_header_working_fcntl_h='no';;
- esac],
- [gl_cv_header_working_fcntl_h=cross-compiling])])
-
- case $gl_cv_header_working_fcntl_h in #(
- *O_NOATIME* | no | cross-compiling) ac_val=0;; #(
- *) ac_val=1;;
- esac
- AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOATIME], [$ac_val],
- [Define to 1 if O_NOATIME works.])
-
- case $gl_cv_header_working_fcntl_h in #(
- *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #(
- *) ac_val=1;;
- esac
- AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOFOLLOW], [$ac_val],
- [Define to 1 if O_NOFOLLOW works.])
-])
-m4trace:/usr/share/aclocal/gettext.m4:57: -1- AC_DEFUN([AM_GNU_GETTEXT], [
- dnl Argument checking.
- ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
- [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
-])])])])])
- ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old],
- [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])])
- ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
- [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
-])])])])
- define([gt_included_intl],
- ifelse([$1], [external],
- ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]),
- [yes]))
- define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
- gt_NEEDS_INIT
- AM_GNU_GETTEXT_NEED([$2])
-
- AC_REQUIRE([AM_PO_SUBDIRS])dnl
- ifelse(gt_included_intl, yes, [
- AC_REQUIRE([AM_INTL_SUBDIR])dnl
- ])
-
- dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
-
- dnl Sometimes libintl requires libiconv, so first search for libiconv.
- dnl Ideally we would do this search only after the
- dnl if test "$USE_NLS" = "yes"; then
- dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
- dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
- dnl the configure script would need to contain the same shell code
- dnl again, outside any 'if'. There are two solutions:
- dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
- dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
- dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
- dnl documented, we avoid it.
- ifelse(gt_included_intl, yes, , [
- AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
- ])
-
- dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation.
- gt_INTL_MACOSX
-
- dnl Set USE_NLS.
- AC_REQUIRE([AM_NLS])
-
- ifelse(gt_included_intl, yes, [
- BUILD_INCLUDED_LIBINTL=no
- USE_INCLUDED_LIBINTL=no
- ])
- LIBINTL=
- LTLIBINTL=
- POSUB=
-
- dnl Add a version number to the cache macros.
- case " $gt_needs " in
- *" need-formatstring-macros "*) gt_api_version=3 ;;
- *" need-ngettext "*) gt_api_version=2 ;;
- *) gt_api_version=1 ;;
- esac
- gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
- gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
-
- dnl If we use NLS figure out what method
- if test "$USE_NLS" = "yes"; then
- gt_use_preinstalled_gnugettext=no
- ifelse(gt_included_intl, yes, [
- AC_MSG_CHECKING([whether included gettext is requested])
- AC_ARG_WITH([included-gettext],
- [ --with-included-gettext use the GNU gettext library included here],
- nls_cv_force_use_gnu_gettext=$withval,
- nls_cv_force_use_gnu_gettext=no)
- AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext])
-
- nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
- if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
- ])
- dnl User does not insist on using GNU NLS library. Figure out what
- dnl to use. If GNU gettext is available we use this. Else we have
- dnl to fall back to GNU NLS library.
-
- if test $gt_api_version -ge 3; then
- gt_revision_test_code='
-#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-changequote(,)dnl
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-'
- else
- gt_revision_test_code=
- fi
- if test $gt_api_version -ge 2; then
- gt_expression_test_code=' + * ngettext ("", "", 0)'
- else
- gt_expression_test_code=
- fi
-
- AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
- [AC_TRY_LINK([#include <libintl.h>
-$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],
- [eval "$gt_func_gnugettext_libc=yes"],
- [eval "$gt_func_gnugettext_libc=no"])])
-
- if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
- dnl Sometimes libintl requires libiconv, so first search for libiconv.
- ifelse(gt_included_intl, yes, , [
- AM_ICONV_LINK
- ])
- dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
- dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
- dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
- dnl even if libiconv doesn't exist.
- AC_LIB_LINKFLAGS_BODY([intl])
- AC_CACHE_CHECK([for GNU gettext in libintl],
- [$gt_func_gnugettext_libintl],
- [gt_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $INCINTL"
- gt_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBINTL"
- dnl Now see whether libintl exists and does not depend on libiconv.
- AC_TRY_LINK([#include <libintl.h>
-$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 ("")],
- [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_TRY_LINK([#include <libintl.h>
-$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"
- ])
- fi
- CPPFLAGS="$gt_save_CPPFLAGS"
- LIBS="$gt_save_LIBS"])
- fi
-
- dnl If an already present or preinstalled GNU gettext() is found,
- dnl use it. But if this macro is used in GNU gettext, and GNU
- dnl gettext is already preinstalled in libintl, we update this
- dnl libintl. (Cf. the install rule in intl/Makefile.in.)
- if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
- || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
- && test "$PACKAGE" != gettext-runtime \
- && test "$PACKAGE" != gettext-tools; }; then
- gt_use_preinstalled_gnugettext=yes
- else
- dnl Reset the values set by searching for libintl.
- LIBINTL=
- LTLIBINTL=
- INCINTL=
- fi
-
- ifelse(gt_included_intl, yes, [
- if test "$gt_use_preinstalled_gnugettext" != "yes"; then
- dnl GNU gettext is not found in the C library.
- dnl Fall back on included GNU gettext library.
- nls_cv_use_gnu_gettext=yes
- fi
- fi
-
- if test "$nls_cv_use_gnu_gettext" = "yes"; then
- dnl Mark actions used to generate GNU NLS library.
- BUILD_INCLUDED_LIBINTL=yes
- USE_INCLUDED_LIBINTL=yes
- LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD"
- LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD"
- LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
- fi
-
- CATOBJEXT=
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
- dnl Mark actions to use GNU gettext tools.
- CATOBJEXT=.gmo
- fi
- ])
-
- if test -n "$INTL_MACOSX_LIBS"; then
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
- dnl Some extra flags are needed during linking.
- LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
- LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
- fi
- fi
-
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
- AC_DEFINE([ENABLE_NLS], [1],
- [Define to 1 if translation of program messages to the user's native language
- is requested.])
- else
- USE_NLS=no
- fi
- fi
-
- AC_MSG_CHECKING([whether to use NLS])
- AC_MSG_RESULT([$USE_NLS])
- if test "$USE_NLS" = "yes"; then
- AC_MSG_CHECKING([where the gettext function comes from])
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
- gt_source="external libintl"
- else
- gt_source="libc"
- fi
- else
- gt_source="included intl directory"
- fi
- AC_MSG_RESULT([$gt_source])
- fi
-
- if test "$USE_NLS" = "yes"; then
-
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
- AC_MSG_CHECKING([how to link with libintl])
- AC_MSG_RESULT([$LIBINTL])
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
- fi
-
- dnl For backward compatibility. Some packages may be using this.
- AC_DEFINE([HAVE_GETTEXT], [1],
- [Define if the GNU gettext() function is already present or preinstalled.])
- AC_DEFINE([HAVE_DCGETTEXT], [1],
- [Define if the GNU dcgettext() function is already present or preinstalled.])
- fi
-
- dnl We need to process the po/ directory.
- POSUB=po
- fi
-
- ifelse(gt_included_intl, yes, [
- dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
- dnl to 'yes' because some of the testsuite requires it.
- if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
- BUILD_INCLUDED_LIBINTL=yes
- fi
-
- dnl Make all variables we use known to autoconf.
- AC_SUBST([BUILD_INCLUDED_LIBINTL])
- AC_SUBST([USE_INCLUDED_LIBINTL])
- AC_SUBST([CATOBJEXT])
-
- dnl For backward compatibility. Some configure.ins may be using this.
- nls_cv_header_intl=
- nls_cv_header_libgt=
-
- dnl For backward compatibility. Some Makefiles may be using this.
- DATADIRNAME=share
- AC_SUBST([DATADIRNAME])
-
- dnl For backward compatibility. Some Makefiles may be using this.
- INSTOBJEXT=.mo
- AC_SUBST([INSTOBJEXT])
-
- dnl For backward compatibility. Some Makefiles may be using this.
- GENCAT=gencat
- AC_SUBST([GENCAT])
-
- dnl For backward compatibility. Some Makefiles may be using this.
- INTLOBJS=
- if test "$USE_INCLUDED_LIBINTL" = yes; then
- INTLOBJS="\$(GETTOBJS)"
- fi
- AC_SUBST([INTLOBJS])
-
- dnl Enable libtool support if the surrounding package wishes it.
- INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
- AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
- ])
-
- dnl For backward compatibility. Some Makefiles may be using this.
- INTLLIBS="$LIBINTL"
- AC_SUBST([INTLLIBS])
-
- dnl Make all documented variables known to autoconf.
- AC_SUBST([LIBINTL])
- AC_SUBST([LTLIBINTL])
- AC_SUBST([POSUB])
-])
-m4trace:/usr/share/aclocal/gettext.m4:376: -1- AC_DEFUN([AM_GNU_GETTEXT_NEED], [
- m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"])
-])
-m4trace:/usr/share/aclocal/gettext.m4:383: -1- AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
-m4trace:/usr/share/aclocal/glibc2.m4:10: -1- AC_DEFUN([gt_GLIBC2], [
- AC_CACHE_CHECK([whether we are using the GNU C Library 2 or newer],
- [ac_cv_gnu_library_2],
- [AC_EGREP_CPP([Lucky GNU user],
- [
-#include <features.h>
-#ifdef __GNU_LIBRARY__
- #if (__GLIBC__ >= 2)
- Lucky GNU user
- #endif
-#endif
- ],
- [ac_cv_gnu_library_2=yes],
- [ac_cv_gnu_library_2=no])
- ]
- )
- AC_SUBST([GLIBC2])
- GLIBC2="$ac_cv_gnu_library_2"
-
-])
-m4trace:/usr/share/aclocal/glibc21.m4:10: -1- AC_DEFUN([gl_GLIBC21], [
- AC_CACHE_CHECK([whether we are using the GNU C Library 2.1 or newer],
- [ac_cv_gnu_library_2_1],
- [AC_EGREP_CPP([Lucky GNU user],
- [
-#include <features.h>
-#ifdef __GNU_LIBRARY__
- #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
- Lucky GNU user
- #endif
-#endif
- ],
- [ac_cv_gnu_library_2_1=yes],
- [ac_cv_gnu_library_2_1=no])
- ]
- )
- AC_SUBST([GLIBC21])
- GLIBC21="$ac_cv_gnu_library_2_1"
-
-])
-m4trace:/usr/share/aclocal/iconv.m4:9: -1- AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [
- dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
-
- dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
- dnl accordingly.
- AC_LIB_LINKFLAGS_BODY([iconv])
-])
-m4trace:/usr/share/aclocal/iconv.m4:20: -1- AC_DEFUN([AM_ICONV_LINK], [
- dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
- dnl those with the standalone portable GNU libiconv installed).
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-
- dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
- dnl accordingly.
- AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-
- 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_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_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
- [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_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
- [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"
- fi
- ])
- 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, HP-UX 11.11, Solaris 10.
- am_save_LIBS="$LIBS"
- if test $am_cv_lib_iconv = yes; then
- LIBS="$LIBS $LIBICONV"
- fi
- AC_TRY_RUN([
-#include <iconv.h>
-#include <string.h>
-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 const char input[] = "\342\202\254"; /* EURO SIGN */
- char buf[10];
- 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,
- (char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if (res == 0)
- return 1;
- }
- }
- /* Test against Solaris 10 bug: Failures are not distinguishable from
- successful returns. */
- {
- iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
- if (cd_ascii_to_88591 != (iconv_t)(-1))
- {
- static const char input[] = "\263";
- char buf[10];
- 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,
- (char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if (res == 0)
- return 1;
- }
- }
-#if 0 /* This bug could be worked around by the caller. */
- /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
- {
- iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
- if (cd_88591_to_utf8 != (iconv_t)(-1))
- {
- static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
- char buf[50];
- 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,
- (char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if ((int)res > 0)
- return 1;
- }
- }
-#endif
- /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
- provided. */
- if (/* Try standardized names. */
- iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
- /* Try IRIX, OSF/1 names. */
- && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
- /* Try AIX names. */
- && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
- /* Try HP-UX names. */
- && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
- 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
- *no) am_func_iconv=no am_cv_lib_iconv=no ;;
- *) am_func_iconv=yes ;;
- esac
- else
- am_func_iconv=no am_cv_lib_iconv=no
- fi
- if test "$am_func_iconv" = yes; then
- AC_DEFINE([HAVE_ICONV], [1],
- [Define if you have the iconv() function and it works.])
- fi
- if test "$am_cv_lib_iconv" = yes; then
- AC_MSG_CHECKING([how to link with libiconv])
- AC_MSG_RESULT([$LIBICONV])
- else
- dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
- dnl either.
- CPPFLAGS="$am_save_CPPFLAGS"
- LIBICONV=
- LTLIBICONV=
- fi
- AC_SUBST([LIBICONV])
- AC_SUBST([LTLIBICONV])
-])
-m4trace:/usr/share/aclocal/iconv.m4:188: -1- AC_DEFUN_ONCE([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_TRY_COMPILE([
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#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="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.])
- fi
-])
-m4trace:/usr/share/aclocal/intdiv0.m4:9: -1- AC_DEFUN([gt_INTDIV0], [
- AC_REQUIRE([AC_PROG_CC])dnl
- AC_REQUIRE([AC_CANONICAL_HOST])dnl
-
- AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
- gt_cv_int_divbyzero_sigfpe,
- [
- gt_cv_int_divbyzero_sigfpe=
-changequote(,)dnl
- case "$host_os" in
- macos* | darwin[6-9]* | darwin[1-9][0-9]*)
- # On MacOS X 10.2 or newer, just assume the same as when cross-
- # compiling. If we were to perform the real test, 1 Crash Report
- # dialog window would pop up.
- case "$host_cpu" in
- i[34567]86 | x86_64)
- gt_cv_int_divbyzero_sigfpe="guessing yes" ;;
- esac
- ;;
- esac
-changequote([,])dnl
- if test -z "$gt_cv_int_divbyzero_sigfpe"; then
- AC_TRY_RUN([
-#include <stdlib.h>
-#include <signal.h>
-
-static void
-sigfpe_handler (int sig)
-{
- /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
- exit (sig != SIGFPE);
-}
-
-int x = 1;
-int y = 0;
-int z;
-int nan;
-
-int main ()
-{
- signal (SIGFPE, sigfpe_handler);
-/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
-#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
- signal (SIGTRAP, sigfpe_handler);
-#endif
-/* Linux/SPARC yields signal SIGILL. */
-#if defined (__sparc__) && defined (__linux__)
- signal (SIGILL, sigfpe_handler);
-#endif
-
- z = x / y;
- nan = y / y;
- exit (1);
-}
-], [gt_cv_int_divbyzero_sigfpe=yes], [gt_cv_int_divbyzero_sigfpe=no],
- [
- # Guess based on the CPU.
-changequote(,)dnl
- case "$host_cpu" in
- alpha* | i[34567]86 | x86_64 | m68k | s390*)
- gt_cv_int_divbyzero_sigfpe="guessing yes";;
- *)
- gt_cv_int_divbyzero_sigfpe="guessing no";;
- esac
-changequote([,])dnl
- ])
- fi
- ])
- case "$gt_cv_int_divbyzero_sigfpe" in
- *yes) value=1;;
- *) value=0;;
- esac
- AC_DEFINE_UNQUOTED([INTDIV0_RAISES_SIGFPE], [$value],
- [Define if integer division by zero raises signal SIGFPE.])
-])
-m4trace:/usr/share/aclocal/intl.m4:25: -1- AC_DEFUN([AM_INTL_SUBDIR], [
- AC_REQUIRE([AC_PROG_INSTALL])dnl
- AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
- AC_REQUIRE([AC_PROG_CC])dnl
- AC_REQUIRE([AC_CANONICAL_HOST])dnl
- AC_REQUIRE([gt_GLIBC2])dnl
- AC_REQUIRE([AC_PROG_RANLIB])dnl
- AC_REQUIRE([gl_VISIBILITY])dnl
- AC_REQUIRE([gt_INTL_SUBDIR_CORE])dnl
- AC_REQUIRE([AC_TYPE_LONG_LONG_INT])dnl
- AC_REQUIRE([gt_TYPE_WCHAR_T])dnl
- AC_REQUIRE([gt_TYPE_WINT_T])dnl
- AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
- AC_REQUIRE([gt_TYPE_INTMAX_T])
- AC_REQUIRE([gt_PRINTF_POSIX])
- AC_REQUIRE([gl_GLIBC21])dnl
- AC_REQUIRE([gl_XSIZE])dnl
- AC_REQUIRE([gl_FCNTL_O_FLAGS])dnl
- AC_REQUIRE([gt_INTL_MACOSX])dnl
-
- dnl Support for automake's --enable-silent-rules.
- case "$enable_silent_rules" in
- yes) INTL_DEFAULT_VERBOSITY=0;;
- no) INTL_DEFAULT_VERBOSITY=1;;
- *) INTL_DEFAULT_VERBOSITY=1;;
- esac
- AC_SUBST([INTL_DEFAULT_VERBOSITY])
-
- AC_CHECK_TYPE([ptrdiff_t], ,
- [AC_DEFINE([ptrdiff_t], [long],
- [Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
- ])
- AC_CHECK_HEADERS([stddef.h stdlib.h string.h])
- AC_CHECK_FUNCS([asprintf fwprintf newlocale putenv setenv setlocale \
- snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb])
-
- dnl Use the _snprintf function only if it is declared (because on NetBSD it
- dnl is defined as a weak alias of snprintf; we prefer to use the latter).
- gt_CHECK_DECL(_snprintf, [#include <stdio.h>])
- gt_CHECK_DECL(_snwprintf, [#include <stdio.h>])
-
- dnl Use the *_unlocked functions only if they are declared.
- dnl (because some of them were defined without being declared in Solaris
- dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
- dnl on Solaris 2.5.1 to run on Solaris 2.6).
- dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
- gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
-
- case $gt_cv_func_printf_posix in
- *yes) HAVE_POSIX_PRINTF=1 ;;
- *) HAVE_POSIX_PRINTF=0 ;;
- esac
- AC_SUBST([HAVE_POSIX_PRINTF])
- if test "$ac_cv_func_asprintf" = yes; then
- HAVE_ASPRINTF=1
- else
- HAVE_ASPRINTF=0
- fi
- AC_SUBST([HAVE_ASPRINTF])
- if test "$ac_cv_func_snprintf" = yes; then
- HAVE_SNPRINTF=1
- else
- HAVE_SNPRINTF=0
- fi
- AC_SUBST([HAVE_SNPRINTF])
- if test "$ac_cv_func_newlocale" = yes; then
- HAVE_NEWLOCALE=1
- else
- HAVE_NEWLOCALE=0
- fi
- AC_SUBST([HAVE_NEWLOCALE])
- if test "$ac_cv_func_wprintf" = yes; then
- HAVE_WPRINTF=1
- else
- HAVE_WPRINTF=0
- fi
- AC_SUBST([HAVE_WPRINTF])
-
- AM_LANGINFO_CODESET
- gt_LC_MESSAGES
-
- dnl Compilation on mingw and Cygwin needs special Makefile rules, because
- dnl 1. when we install a shared library, we must arrange to export
- dnl auxiliary pointer variables for every exported variable,
- dnl 2. when we install a shared library and a static library simultaneously,
- dnl the include file specifies __declspec(dllimport) and therefore we
- dnl must arrange to define the auxiliary pointer variables for the
- dnl exported variables _also_ in the static library.
- if test "$enable_shared" = yes; then
- case "$host_os" in
- mingw* | cygwin*) is_woe32dll=yes ;;
- *) is_woe32dll=no ;;
- esac
- else
- is_woe32dll=no
- fi
- WOE32DLL=$is_woe32dll
- AC_SUBST([WOE32DLL])
-
- dnl On mingw and Cygwin, we can activate special Makefile rules which add
- dnl version information to the shared libraries and executables.
- case "$host_os" in
- mingw* | cygwin*) is_woe32=yes ;;
- *) is_woe32=no ;;
- esac
- WOE32=$is_woe32
- AC_SUBST([WOE32])
- if test $WOE32 = yes; then
- dnl Check for a program that compiles Windows resource files.
- AC_CHECK_TOOL([WINDRES], [windres])
- fi
-
- dnl Determine whether when creating a library, "-lc" should be passed to
- dnl libtool or not. On many platforms, it is required for the libtool option
- dnl -no-undefined to work. On HP-UX, however, the -lc - stored by libtool
- dnl in the *.la files - makes it impossible to create multithreaded programs,
- dnl because libtool also reorders the -lc to come before the -pthread, and
- dnl this disables pthread_create() <http://docs.hp.com/en/1896/pthreads.html>.
- case "$host_os" in
- hpux*) LTLIBC="" ;;
- *) LTLIBC="-lc" ;;
- esac
- AC_SUBST([LTLIBC])
-
- dnl Rename some macros and functions used for locking.
- AH_BOTTOM([
-#define __libc_lock_t gl_lock_t
-#define __libc_lock_define gl_lock_define
-#define __libc_lock_define_initialized gl_lock_define_initialized
-#define __libc_lock_init gl_lock_init
-#define __libc_lock_lock gl_lock_lock
-#define __libc_lock_unlock gl_lock_unlock
-#define __libc_lock_recursive_t gl_recursive_lock_t
-#define __libc_lock_define_recursive gl_recursive_lock_define
-#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized
-#define __libc_lock_init_recursive gl_recursive_lock_init
-#define __libc_lock_lock_recursive gl_recursive_lock_lock
-#define __libc_lock_unlock_recursive gl_recursive_lock_unlock
-#define glthread_in_use libintl_thread_in_use
-#define glthread_lock_init_func libintl_lock_init_func
-#define glthread_lock_lock_func libintl_lock_lock_func
-#define glthread_lock_unlock_func libintl_lock_unlock_func
-#define glthread_lock_destroy_func libintl_lock_destroy_func
-#define glthread_rwlock_init_multithreaded libintl_rwlock_init_multithreaded
-#define glthread_rwlock_init_func libintl_rwlock_init_func
-#define glthread_rwlock_rdlock_multithreaded libintl_rwlock_rdlock_multithreaded
-#define glthread_rwlock_rdlock_func libintl_rwlock_rdlock_func
-#define glthread_rwlock_wrlock_multithreaded libintl_rwlock_wrlock_multithreaded
-#define glthread_rwlock_wrlock_func libintl_rwlock_wrlock_func
-#define glthread_rwlock_unlock_multithreaded libintl_rwlock_unlock_multithreaded
-#define glthread_rwlock_unlock_func libintl_rwlock_unlock_func
-#define glthread_rwlock_destroy_multithreaded libintl_rwlock_destroy_multithreaded
-#define glthread_rwlock_destroy_func libintl_rwlock_destroy_func
-#define glthread_recursive_lock_init_multithreaded libintl_recursive_lock_init_multithreaded
-#define glthread_recursive_lock_init_func libintl_recursive_lock_init_func
-#define glthread_recursive_lock_lock_multithreaded libintl_recursive_lock_lock_multithreaded
-#define glthread_recursive_lock_lock_func libintl_recursive_lock_lock_func
-#define glthread_recursive_lock_unlock_multithreaded libintl_recursive_lock_unlock_multithreaded
-#define glthread_recursive_lock_unlock_func libintl_recursive_lock_unlock_func
-#define glthread_recursive_lock_destroy_multithreaded libintl_recursive_lock_destroy_multithreaded
-#define glthread_recursive_lock_destroy_func libintl_recursive_lock_destroy_func
-#define glthread_once_func libintl_once_func
-#define glthread_once_singlethreaded libintl_once_singlethreaded
-#define glthread_once_multithreaded libintl_once_multithreaded
-])
-])
-m4trace:/usr/share/aclocal/intl.m4:211: -1- AC_DEFUN([gt_INTL_SUBDIR_CORE], [
- AC_REQUIRE([AC_C_INLINE])dnl
- AC_REQUIRE([AC_TYPE_SIZE_T])dnl
- AC_REQUIRE([gl_AC_HEADER_STDINT_H])
- AC_REQUIRE([AC_FUNC_ALLOCA])dnl
- AC_REQUIRE([AC_FUNC_MMAP])dnl
- AC_REQUIRE([gt_INTDIV0])dnl
- AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl
- AC_REQUIRE([gt_INTTYPES_PRI])dnl
- AC_REQUIRE([gl_LOCK])dnl
-
- AC_TRY_LINK(
- [int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; }],
- [],
- [AC_DEFINE([HAVE_BUILTIN_EXPECT], [1],
- [Define to 1 if the compiler understands __builtin_expect.])])
-
- AC_CHECK_HEADERS([argz.h inttypes.h limits.h unistd.h sys/param.h])
- AC_CHECK_FUNCS([getcwd getegid geteuid getgid getuid mempcpy munmap \
- stpcpy strcasecmp strdup strtoul tsearch uselocale argz_count \
- argz_stringify argz_next __fsetlocking])
-
- dnl Use the *_unlocked functions only if they are declared.
- dnl (because some of them were defined without being declared in Solaris
- dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
- dnl on Solaris 2.5.1 to run on Solaris 2.6).
- dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
- gt_CHECK_DECL([feof_unlocked], [#include <stdio.h>])
- gt_CHECK_DECL([fgets_unlocked], [#include <stdio.h>])
-
- AM_ICONV
-
- dnl intl/plural.c is generated from intl/plural.y. It requires bison,
- dnl because plural.y uses bison specific features. It requires at least
- dnl bison-1.26 because earlier versions generate a plural.c that doesn't
- dnl compile.
- dnl bison is only needed for the maintainer (who touches plural.y). But in
- dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
- dnl the rule in general Makefile. Now, some people carelessly touch the
- dnl files or have a broken "make" program, hence the plural.c rule will
- dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
- dnl present or too old.
- AC_CHECK_PROGS([INTLBISON], [bison])
- if test -z "$INTLBISON"; then
- ac_verc_fail=yes
- else
- dnl Found it, now check the version.
- AC_MSG_CHECKING([version of bison])
-changequote(<<,>>)dnl
- ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
- case $ac_prog_version in
- '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
- 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
-changequote([,])dnl
- ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
- *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
- esac
- AC_MSG_RESULT([$ac_prog_version])
- fi
- if test $ac_verc_fail = yes; then
- INTLBISON=:
- fi
-])
-m4trace:/usr/share/aclocal/intl.m4:279: -1- AC_DEFUN([gt_CHECK_DECL], [
- AC_CACHE_CHECK([whether $1 is declared], [ac_cv_have_decl_$1],
- [AC_TRY_COMPILE([$2], [
-#ifndef $1
- char *p = (char *) $1;
-#endif
-], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)])
- if test $ac_cv_have_decl_$1 = yes; then
- gt_value=1
- else
- gt_value=0
- fi
- AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],
- [Define to 1 if you have the declaration of `$1', and to 0 if you don't.])
-])
-m4trace:/usr/share/aclocal/intlmacosx.m4:18: -1- AC_DEFUN([gt_INTL_MACOSX], [
- 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_TRY_LINK([#include <CoreFoundation/CFPreferences.h>],
- [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 MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
- fi
- 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_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [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 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
- INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
- fi
- AC_SUBST([INTL_MACOSX_LIBS])
-])
-m4trace:/usr/share/aclocal/intmax.m4:11: -1- AC_DEFUN([gt_TYPE_INTMAX_T], [
- AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
- AC_REQUIRE([gl_AC_HEADER_STDINT_H])
- AC_CACHE_CHECK([for intmax_t], [gt_cv_c_intmax_t],
- [AC_TRY_COMPILE([
-#include <stddef.h>
-#include <stdlib.h>
-#if HAVE_STDINT_H_WITH_UINTMAX
-#include <stdint.h>
-#endif
-#if HAVE_INTTYPES_H_WITH_UINTMAX
-#include <inttypes.h>
-#endif
-], [intmax_t x = -1;
- return !x;],
- [gt_cv_c_intmax_t=yes],
- [gt_cv_c_intmax_t=no])])
- if test $gt_cv_c_intmax_t = yes; then
- AC_DEFINE([HAVE_INTMAX_T], [1],
- [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
- fi
-])
-m4trace:/usr/share/aclocal/inttypes-pri.m4:14: -1- AC_DEFUN([gt_INTTYPES_PRI], [
- AC_CHECK_HEADERS([inttypes.h])
- if test $ac_cv_header_inttypes_h = yes; then
- AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
- [gt_cv_inttypes_pri_broken],
- [
- AC_TRY_COMPILE([#include <inttypes.h>
-#ifdef PRId32
-char *p = PRId32;
-#endif
-], [], [gt_cv_inttypes_pri_broken=no], [gt_cv_inttypes_pri_broken=yes])
- ])
- fi
- if test "$gt_cv_inttypes_pri_broken" = yes; then
- AC_DEFINE_UNQUOTED([PRI_MACROS_BROKEN], [1],
- [Define if <inttypes.h> exists and defines unusable PRI* macros.])
- PRI_MACROS_BROKEN=1
- else
- PRI_MACROS_BROKEN=0
- fi
- AC_SUBST([PRI_MACROS_BROKEN])
-])
-m4trace:/usr/share/aclocal/inttypes_h.m4:12: -1- AC_DEFUN([gl_AC_HEADER_INTTYPES_H], [
- AC_CACHE_CHECK([for inttypes.h], [gl_cv_header_inttypes_h],
- [AC_TRY_COMPILE(
- [#include <sys/types.h>
-#include <inttypes.h>],
- [uintmax_t i = (uintmax_t) -1; return !i;],
- [gl_cv_header_inttypes_h=yes],
- [gl_cv_header_inttypes_h=no])])
- if test $gl_cv_header_inttypes_h = yes; then
- AC_DEFINE_UNQUOTED([HAVE_INTTYPES_H_WITH_UINTMAX], [1],
- [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
- and declares uintmax_t. ])
- fi
-])
-m4trace:/usr/share/aclocal/lcmessage.m4:22: -1- AC_DEFUN([gt_LC_MESSAGES], [
- AC_CACHE_CHECK([for LC_MESSAGES], [gt_cv_val_LC_MESSAGES],
- [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
- [gt_cv_val_LC_MESSAGES=yes], [gt_cv_val_LC_MESSAGES=no])])
- if test $gt_cv_val_LC_MESSAGES = yes; then
- AC_DEFINE([HAVE_LC_MESSAGES], [1],
- [Define if your <locale.h> file defines LC_MESSAGES.])
- fi
-])
-m4trace:/usr/share/aclocal/lib-ld.m4:12: -1- 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 ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- acl_cv_prog_gnu_ld=yes ;;
-*)
- acl_cv_prog_gnu_ld=no ;;
-esac])
-with_gnu_ld=$acl_cv_prog_gnu_ld
-])
-m4trace:/usr/share/aclocal/lib-ld.m4:25: -1- AC_DEFUN([AC_LIB_PROG_LD], [AC_ARG_WITH([gnu-ld],
-[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
-test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- 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 GCC])
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [[\\/]* | [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"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- AC_MSG_CHECKING([for GNU ld])
-else
- AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL([acl_cv_path_LD],
-[if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
- for ac_dir in $PATH; do
- 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 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 < /dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break ;;
- *)
- test "$with_gnu_ld" != yes && break ;;
- esac
- fi
- done
- IFS="$ac_save_ifs"
-else
- acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
- AC_MSG_RESULT([$LD])
-else
- AC_MSG_RESULT([no])
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_LIB_PROG_LD_GNU
-])
-m4trace:/usr/share/aclocal/lib-link.m4:17: -1- AC_DEFUN([AC_LIB_LINKFLAGS], [
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
- 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"
- ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
- ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
- ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
- ])
- LIB[]NAME="$ac_cv_lib[]Name[]_libs"
- LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
- INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
- LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
- AC_SUBST([LIB]NAME)
- AC_SUBST([LTLIB]NAME)
- AC_SUBST([LIB]NAME[_PREFIX])
- dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
- dnl results of this search when this library appears as a dependency.
- HAVE_LIB[]NAME=yes
- popdef([NAME])
- popdef([Name])
-])
-m4trace:/usr/share/aclocal/lib-link.m4:57: -1- AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], [
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
- 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.
- AC_LIB_LINKFLAGS_BODY([$1], [$2])
-
- dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
- dnl because if the user has installed lib[]Name and not disabled its use
- dnl via --without-lib[]Name-prefix, he wants to use it.
- ac_save_CPPFLAGS="$CPPFLAGS"
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-
- AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
- ac_save_LIBS="$LIBS"
- dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
- dnl because these -l options might require -L options that are present in
- dnl LIBS. -l options benefit only from the -L options listed before it.
- dnl Otherwise, add it to the front of LIBS, because it may be a static
- dnl library that depends on another static library that is present in LIBS.
- dnl Static libraries benefit only from the static libraries listed after
- dnl it.
- case " $LIB[]NAME" in
- *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
- *) LIBS="$LIB[]NAME $LIBS" ;;
- esac
- AC_TRY_LINK([$3], [$4],
- [ac_cv_lib[]Name=yes],
- [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
- LIBS="$ac_save_LIBS"
- ])
- if test "$ac_cv_lib[]Name" = yes; then
- HAVE_LIB[]NAME=yes
- AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
- AC_MSG_CHECKING([how to link with lib[]$1])
- AC_MSG_RESULT([$LIB[]NAME])
- else
- HAVE_LIB[]NAME=no
- dnl If $LIB[]NAME didn't lead to a usable library, we don't need
- dnl $INC[]NAME either.
- CPPFLAGS="$ac_save_CPPFLAGS"
- LIB[]NAME=
- LTLIB[]NAME=
- LIB[]NAME[]_PREFIX=
- fi
- AC_SUBST([HAVE_LIB]NAME)
- AC_SUBST([LIB]NAME)
- AC_SUBST([LTLIB]NAME)
- AC_SUBST([LIB]NAME[_PREFIX])
- popdef([NAME])
- popdef([Name])
-])
-m4trace:/usr/share/aclocal/lib-link.m4:122: -1- AC_DEFUN([AC_LIB_RPATH], [
- dnl Tell automake >= 1.10 to complain if config.rpath is missing.
- m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
- AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
- AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
- AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
- AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
- CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
- ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
- . ./conftest.sh
- rm -f ./conftest.sh
- acl_cv_rpath=done
- ])
- wl="$acl_cv_wl"
- acl_libext="$acl_cv_libext"
- acl_shlibext="$acl_cv_shlibext"
- acl_libname_spec="$acl_cv_libname_spec"
- acl_library_names_spec="$acl_cv_library_names_spec"
- acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
- acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
- acl_hardcode_direct="$acl_cv_hardcode_direct"
- acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
- dnl Determine whether the user wants rpath handling at all.
- AC_ARG_ENABLE([rpath],
- [ --disable-rpath do not hardcode runtime library paths],
- :, enable_rpath=yes)
-])
-m4trace:/usr/share/aclocal/lib-link.m4:158: -1- AC_DEFUN([AC_LIB_FROMPACKAGE], [
- pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
- define([acl_frompackage_]NAME, [$2])
- popdef([NAME])
- pushdef([PACK],[$2])
- pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
- define([acl_libsinpackage_]PACKUP,
- m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1])
- popdef([PACKUP])
- popdef([PACK])
-])
-m4trace:/usr/share/aclocal/lib-link.m4:178: -1- AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [
- AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
- pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
- pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
- 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],[translit(PACK,[.],[_])],PACK)])
- dnl By default, look in $includedir and $libdir.
- use_additional=yes
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- AC_ARG_WITH(P_A_C_K[-prefix],
-[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib
- --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]],
-[
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/$acl_libdirstem"
- if test "$acl_libdirstem2" != "$acl_libdirstem" \
- && ! test -d "$withval/$acl_libdirstem"; then
- additional_libdir="$withval/$acl_libdirstem2"
- fi
- fi
- fi
-])
- dnl Search the library and its dependencies in $additional_libdir and
- dnl $LDFLAGS. Using breadth-first-seach.
- LIB[]NAME=
- LTLIB[]NAME=
- INC[]NAME=
- LIB[]NAME[]_PREFIX=
- dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
- dnl computed. So it has to be reset here.
- HAVE_LIB[]NAME=
- rpathdirs=
- ltrpathdirs=
- names_already_handled=
- names_next_round='$1 $2'
- while test -n "$names_next_round"; do
- names_this_round="$names_next_round"
- names_next_round=
- for name in $names_this_round; do
- already_handled=
- for n in $names_already_handled; do
- if test "$n" = "$name"; then
- already_handled=yes
- break
- fi
- done
- if test -z "$already_handled"; then
- 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___|'`
- eval value=\"\$HAVE_LIB$uppername\"
- if test -n "$value"; then
- if test "$value" = yes; then
- eval value=\"\$LIB$uppername\"
- test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
- eval value=\"\$LTLIB$uppername\"
- test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
- else
- dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
- dnl that this library doesn't exist. So just drop it.
- :
- fi
- else
- dnl Search the library lib$name in $additional_libdir and $LDFLAGS
- dnl and the already constructed $LIBNAME/$LTLIBNAME.
- found_dir=
- found_la=
- found_so=
- found_a=
- eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
- if test -n "$acl_shlibext"; then
- shrext=".$acl_shlibext" # typically: shrext=.so
- else
- shrext=
- fi
- if test $use_additional = yes; then
- dir="$additional_libdir"
- dnl The same code as in the loop below:
- dnl First look for a shared library.
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
- else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
- fi
- fi
- dnl Then look for a static library.
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
- fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- for x in $LDFLAGS $LTLIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- case "$x" in
- -L*)
- dir=`echo "X$x" | sed -e 's/^X-L//'`
- dnl First look for a shared library.
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
- else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
- fi
- fi
- dnl Then look for a static library.
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
- fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
- fi
- fi
- ;;
- esac
- if test "X$found_dir" != "X"; then
- break
- fi
- done
- fi
- if test "X$found_dir" != "X"; then
- dnl Found the library.
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
- if test "X$found_so" != "X"; then
- dnl Linking with a shared library. We attempt to hardcode its
- dnl directory into the executable's runpath, unless it's the
- dnl standard /usr/lib.
- if test "$enable_rpath" = no \
- || test "X$found_dir" = "X/usr/$acl_libdirstem" \
- || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
- dnl No hardcoding is needed.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- else
- dnl Use an explicit option to hardcode DIR into the resulting
- dnl binary.
- dnl Potentially add DIR to ltrpathdirs.
- dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $found_dir"
- fi
- dnl The hardcoding into $LIBNAME is system dependent.
- if test "$acl_hardcode_direct" = yes; then
- dnl Using DIR/libNAME.so during linking hardcodes DIR into the
- dnl resulting binary.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- else
- if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
- dnl Use an explicit option to hardcode DIR into the resulting
- dnl binary.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- dnl Potentially add DIR to rpathdirs.
- dnl The rpathdirs will be appended to $LIBNAME at the end.
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $found_dir"
- fi
- else
- dnl Rely on "-L$found_dir".
- dnl But don't add it if it's already contained in the LDFLAGS
- dnl or the already constructed $LIBNAME
- haveit=
- for x in $LDFLAGS $LIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
- fi
- if test "$acl_hardcode_minus_L" != no; then
- dnl FIXME: Not sure whether we should use
- dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
- dnl here.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- else
- dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
- dnl here, because this doesn't fit in flags passed to the
- dnl compiler. So give up. No hardcoding. This affects only
- dnl very old systems.
- dnl FIXME: Not sure whether we should use
- dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
- dnl here.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
- fi
- fi
- fi
- fi
- else
- if test "X$found_a" != "X"; then
- dnl Linking with a static library.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
- else
- dnl We shouldn't come here, but anyway it's good to have a
- dnl fallback.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
- fi
- fi
- dnl Assume the include files are nearby.
- additional_includedir=
- case "$found_dir" in
- */$acl_libdirstem | */$acl_libdirstem/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
- if test "$name" = '$1'; then
- LIB[]NAME[]_PREFIX="$basedir"
- fi
- additional_includedir="$basedir/include"
- ;;
- */$acl_libdirstem2 | */$acl_libdirstem2/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
- if test "$name" = '$1'; then
- LIB[]NAME[]_PREFIX="$basedir"
- fi
- additional_includedir="$basedir/include"
- ;;
- esac
- if test "X$additional_includedir" != "X"; then
- dnl Potentially add $additional_includedir to $INCNAME.
- dnl But don't add it
- dnl 1. if it's the standard /usr/include,
- dnl 2. if it's /usr/local/include and we are using GCC on Linux,
- dnl 3. if it's already present in $CPPFLAGS or the already
- dnl constructed $INCNAME,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- for x in $CPPFLAGS $INC[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- dnl Really add $additional_includedir to $INCNAME.
- INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- fi
- dnl Look for dependencies.
- if test -n "$found_la"; then
- dnl Read the .la file. It defines the variables
- dnl dlname, library_names, old_library, dependency_libs, current,
- dnl age, revision, installed, dlopen, dlpreopen, libdir.
- save_libdir="$libdir"
- case "$found_la" in
- */* | *\\*) . "$found_la" ;;
- *) . "./$found_la" ;;
- esac
- libdir="$save_libdir"
- dnl We use only dependency_libs.
- for dep in $dependency_libs; do
- case "$dep" in
- -L*)
- additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
- dnl But don't add it
- dnl 1. if it's the standard /usr/lib,
- dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
- dnl 3. if it's already present in $LDFLAGS or the already
- dnl constructed $LIBNAME,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
- && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
- haveit=
- if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
- || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- haveit=
- for x in $LDFLAGS $LIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- dnl Really add $additional_libdir to $LIBNAME.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
- fi
- fi
- haveit=
- for x in $LDFLAGS $LTLIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- dnl Really add $additional_libdir to $LTLIBNAME.
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- ;;
- -R*)
- dir=`echo "X$dep" | sed -e 's/^X-R//'`
- if test "$enable_rpath" != no; then
- dnl Potentially add DIR to rpathdirs.
- dnl The rpathdirs will be appended to $LIBNAME at the end.
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $dir"
- fi
- dnl Potentially add DIR to ltrpathdirs.
- dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $dir"
- fi
- fi
- ;;
- -l*)
- dnl Handle this in the next round.
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
- ;;
- *.la)
- dnl Handle this in the next round. Throw away the .la's
- dnl directory; it is already contained in a preceding -L
- dnl option.
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
- ;;
- *)
- dnl Most likely an immediate library name.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
- ;;
- esac
- done
- fi
- else
- dnl Didn't find the library; assume it is in the system directories
- dnl known to the linker and runtime loader. (All the system
- dnl directories known to the linker should also be known to the
- dnl runtime loader, otherwise the system is severely misconfigured.)
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
- fi
- fi
- fi
- done
- done
- if test "X$rpathdirs" != "X"; then
- if test -n "$acl_hardcode_libdir_separator"; then
- dnl Weird platform: only the last -rpath option counts, the user must
- dnl pass all path elements in one option. We can arrange that for a
- dnl single library, but not when more than one $LIBNAMEs are used.
- alldirs=
- for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
- done
- dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
- else
- dnl The -rpath options are cumulative.
- for found_dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$found_dir"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
- done
- fi
- fi
- if test "X$ltrpathdirs" != "X"; then
- dnl When using libtool, the option that works for both libraries and
- dnl executables is -R. The -R options are cumulative.
- for found_dir in $ltrpathdirs; do
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
- done
- fi
- popdef([P_A_C_K])
- popdef([PACKLIBS])
- popdef([PACKUP])
- popdef([PACK])
- popdef([NAME])
-])
-m4trace:/usr/share/aclocal/lib-link.m4:681: -1- AC_DEFUN([AC_LIB_APPENDTOVAR], [
- for element in [$2]; do
- haveit=
- for x in $[$1]; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X$element"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- [$1]="${[$1]}${[$1]:+ }$element"
- fi
- done
-])
-m4trace:/usr/share/aclocal/lib-link.m4:705: -1- AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], [
- AC_REQUIRE([AC_LIB_RPATH])
- AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
- $1=
- if test "$enable_rpath" != no; then
- if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
- dnl Use an explicit option to hardcode directories into the resulting
- dnl binary.
- rpathdirs=
- next=
- for opt in $2; do
- if test -n "$next"; then
- dir="$next"
- dnl No need to hardcode the standard /usr/lib.
- if test "X$dir" != "X/usr/$acl_libdirstem" \
- && test "X$dir" != "X/usr/$acl_libdirstem2"; then
- rpathdirs="$rpathdirs $dir"
- fi
- next=
- else
- case $opt in
- -L) next=yes ;;
- -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
- dnl No need to hardcode the standard /usr/lib.
- if test "X$dir" != "X/usr/$acl_libdirstem" \
- && test "X$dir" != "X/usr/$acl_libdirstem2"; then
- rpathdirs="$rpathdirs $dir"
- fi
- next= ;;
- *) next= ;;
- esac
- fi
- done
- if test "X$rpathdirs" != "X"; then
- if test -n ""$3""; then
- dnl libtool is used for linking. Use -R options.
- for dir in $rpathdirs; do
- $1="${$1}${$1:+ }-R$dir"
- done
- else
- dnl The linker is used for linking directly.
- if test -n "$acl_hardcode_libdir_separator"; then
- dnl Weird platform: only the last -rpath option counts, the user
- dnl must pass all path elements in one option.
- alldirs=
- for dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
- done
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- $1="$flag"
- else
- dnl The -rpath options are cumulative.
- for dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$dir"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- $1="${$1}${$1:+ }$flag"
- done
- fi
- fi
- fi
- fi
- fi
- AC_SUBST([$1])
-])
-m4trace:/usr/share/aclocal/lib-prefix.m4:12: -1- AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])
-m4trace:/usr/share/aclocal/lib-prefix.m4:22: -1- AC_DEFUN([AC_LIB_PREFIX], [
- AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- dnl By default, look in $includedir and $libdir.
- use_additional=yes
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- AC_LIB_ARG_WITH([lib-prefix],
-[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
- --without-lib-prefix don't search for libraries in includedir and libdir],
-[
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/$acl_libdirstem"
- fi
- fi
-])
- if test $use_additional = yes; then
- dnl Potentially add $additional_includedir to $CPPFLAGS.
- dnl But don't add it
- dnl 1. if it's the standard /usr/include,
- dnl 2. if it's already present in $CPPFLAGS,
- dnl 3. if it's /usr/local/include and we are using GCC on Linux,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- for x in $CPPFLAGS; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- dnl Really add $additional_includedir to $CPPFLAGS.
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- dnl Potentially add $additional_libdir to $LDFLAGS.
- dnl But don't add it
- dnl 1. if it's the standard /usr/lib,
- dnl 2. if it's already present in $LDFLAGS,
- dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
- haveit=
- for x in $LDFLAGS; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- dnl Really add $additional_libdir to $LDFLAGS.
- LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- fi
-])
-m4trace:/usr/share/aclocal/lib-prefix.m4:122: -1- AC_DEFUN([AC_LIB_PREPARE_PREFIX], [
- dnl Unfortunately, prefix and exec_prefix get only finally determined
- dnl at the end of configure.
- if test "X$prefix" = "XNONE"; then
- acl_final_prefix="$ac_default_prefix"
- else
- acl_final_prefix="$prefix"
- fi
- if test "X$exec_prefix" = "XNONE"; then
- acl_final_exec_prefix='${prefix}'
- else
- acl_final_exec_prefix="$exec_prefix"
- fi
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
- prefix="$acl_save_prefix"
-])
-m4trace:/usr/share/aclocal/lib-prefix.m4:145: -1- AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], [
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- $1
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-])
-m4trace:/usr/share/aclocal/lib-prefix.m4:162: -1- AC_DEFUN([AC_LIB_PREPARE_MULTILIB], [
- dnl There is no formal standard regarding lib and lib64.
- dnl On glibc systems, the current practice is that on a system supporting
- dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
- dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
- dnl the compiler's default mode by looking at the compiler's library search
- dnl path. If at least one of its elements ends in /lib64 or points to a
- dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
- dnl Otherwise we use the default, namely "lib".
- dnl On Solaris systems, the current practice is that on a system supporting
- dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
- dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
- dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
- AC_REQUIRE([AC_CANONICAL_HOST])
- acl_libdirstem=lib
- acl_libdirstem2=
- case "$host_os" in
- solaris*)
- dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
- dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
- dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
- dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
- dnl symlink is missing, so we set acl_libdirstem2 too.
- AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
- [AC_EGREP_CPP([sixtyfour bits], [
-#ifdef _LP64
-sixtyfour bits
-#endif
- ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
- ])
- if test $gl_cv_solaris_64bit = yes; then
- acl_libdirstem=lib/64
- case "$host_cpu" in
- sparc*) acl_libdirstem2=lib/sparcv9 ;;
- i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
- esac
- fi
- ;;
- *)
- searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
- if test -n "$searchpath"; then
- acl_save_IFS="${IFS= }"; IFS=":"
- for searchdir in $searchpath; do
- if test -d "$searchdir"; then
- case "$searchdir" in
- */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
- */../ | */.. )
- # Better ignore directories of this form. They are misleading.
- ;;
- *) searchdir=`cd "$searchdir" && pwd`
- case "$searchdir" in
- */lib64 ) acl_libdirstem=lib64 ;;
- esac ;;
- esac
- fi
- done
- IFS="$acl_save_IFS"
- fi
- ;;
- esac
- test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
-])
-m4trace:/usr/share/aclocal/lock.m4:9: -1- AC_DEFUN([gl_LOCK], [
- AC_REQUIRE([gl_THREADLIB])
- if test "$gl_threads_api" = posix; then
- # OSF/1 4.0 and MacOS X 10.1 lack the pthread_rwlock_t type and the
- # pthread_rwlock_* functions.
- AC_CHECK_TYPE([pthread_rwlock_t],
- [AC_DEFINE([HAVE_PTHREAD_RWLOCK], [1],
- [Define if the POSIX multithreading library has read/write locks.])],
- [],
- [#include <pthread.h>])
- # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro.
- AC_TRY_COMPILE([#include <pthread.h>],
- [#if __FreeBSD__ == 4
-error "No, in FreeBSD 4.0 recursive mutexes actually don't work."
-#else
-int x = (int)PTHREAD_MUTEX_RECURSIVE;
-return !x;
-#endif],
- [AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE], [1],
- [Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE.])])
- fi
- gl_PREREQ_LOCK
-])
-m4trace:/usr/share/aclocal/lock.m4:35: -1- AC_DEFUN([gl_PREREQ_LOCK], [
- AC_REQUIRE([AC_C_INLINE])
-])
-m4trace:/usr/share/aclocal/longlong.m4:17: -1- AC_DEFUN([AC_TYPE_LONG_LONG_INT], [
- AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int],
- [AC_LINK_IFELSE(
- [_AC_TYPE_LONG_LONG_SNIPPET],
- [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004.
- dnl If cross compiling, assume the bug isn't important, since
- dnl nobody cross compiles for this platform as far as we know.
- AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [[@%:@include <limits.h>
- @%:@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=yes],
- [ac_cv_type_long_long_int=no],
- [ac_cv_type_long_long_int=yes])],
- [ac_cv_type_long_long_int=no])])
- 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
-])
-m4trace:/usr/share/aclocal/longlong.m4:63: -1- AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], [
- AC_CACHE_CHECK([for unsigned long long int],
- [ac_cv_type_unsigned_long_long_int],
- [AC_LINK_IFELSE(
- [_AC_TYPE_LONG_LONG_SNIPPET],
- [ac_cv_type_unsigned_long_long_int=yes],
- [ac_cv_type_unsigned_long_long_int=no])])
- 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
-])
-m4trace:/usr/share/aclocal/longlong.m4:82: -1- 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));]])
-])
-m4trace:/usr/share/aclocal/nls.m4:23: -1- AC_DEFUN([AM_NLS], [
- AC_MSG_CHECKING([whether NLS is requested])
- dnl Default is enabled NLS
- AC_ARG_ENABLE([nls],
- [ --disable-nls do not use Native Language Support],
- USE_NLS=$enableval, USE_NLS=yes)
- AC_MSG_RESULT([$USE_NLS])
- AC_SUBST([USE_NLS])
-])
-m4trace:/usr/share/aclocal/po.m4:23: -1- AC_DEFUN([AM_PO_SUBDIRS], [
- AC_REQUIRE([AC_PROG_MAKE_SET])dnl
- AC_REQUIRE([AC_PROG_INSTALL])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.18])
-
- dnl Perform the following tests also if --disable-nls has been given,
- dnl because they are needed for "make dist" to work.
-
- dnl Search for GNU msgfmt in the PATH.
- dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
- dnl The second test excludes FreeBSD msgfmt.
- AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
- [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
- (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
- :)
- AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT])
-
- dnl Test whether it is GNU msgfmt >= 0.15.
-changequote(,)dnl
- case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
- *) MSGFMT_015=$MSGFMT ;;
- esac
-changequote([,])dnl
- AC_SUBST([MSGFMT_015])
-changequote(,)dnl
- case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
- *) GMSGFMT_015=$GMSGFMT ;;
- esac
-changequote([,])dnl
- AC_SUBST([GMSGFMT_015])
-
- dnl Search for GNU xgettext 0.12 or newer in the PATH.
- dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
- dnl The second test excludes FreeBSD xgettext.
- AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
- [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
- (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
- :)
- dnl Remove leftover from FreeBSD xgettext call.
- rm -f messages.po
-
- dnl Test whether it is GNU xgettext >= 0.15.
-changequote(,)dnl
- case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
- *) XGETTEXT_015=$XGETTEXT ;;
- esac
-changequote([,])dnl
- AC_SUBST([XGETTEXT_015])
-
- dnl Search for GNU msgmerge 0.11 or newer in the PATH.
- AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
- [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
-
- dnl Installation directories.
- dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
- dnl have to define it here, so that it can be used in po/Makefile.
- test -n "$localedir" || localedir='${datadir}/locale'
- AC_SUBST([localedir])
-
- dnl Support for AM_XGETTEXT_OPTION.
- test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
- AC_SUBST([XGETTEXT_EXTRA_OPTIONS])
-
- AC_CONFIG_COMMANDS([po-directories], [[
- for ac_file in $CONFIG_FILES; do
- # Support "outfile[:infile[:infile...]]"
- case "$ac_file" in
- *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- esac
- # PO directories have a Makefile.in generated from Makefile.in.in.
- 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_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.
- test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
- case "$ac_given_srcdir" in
- .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
- /*) top_srcdir="$ac_given_srcdir" ;;
- *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
- # Treat a directory as a PO directory if and only if it has a
- # POTFILES.in file. This allows packages to have multiple PO
- # directories under different names or in different locations.
- 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"
- 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
- # parameters.
- if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
- # The LINGUAS file contains the set of available languages.
- if test -n "$OBSOLETE_ALL_LINGUAS"; then
- 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 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 assigment from automake < 1.5.
- eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
- fi
- # Compute POFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
- # Compute UPDATEPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
- # Compute DUMMYPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
- # Compute GMOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
- case "$ac_given_srcdir" in
- .) srcdirpre= ;;
- *) srcdirpre='$(srcdir)/' ;;
- esac
- POFILES=
- UPDATEPOFILES=
- DUMMYPOFILES=
- GMOFILES=
- for lang in $ALL_LINGUAS; do
- POFILES="$POFILES $srcdirpre$lang.po"
- UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
- DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
- GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
- done
- # CATALOGS depends on both $ac_dir and the user's LINGUAS
- # environment variable.
- INST_LINGUAS=
- if test -n "$ALL_LINGUAS"; then
- for presentlang in $ALL_LINGUAS; do
- useit=no
- if test "%UNSET%" != "$LINGUAS"; then
- desiredlanguages="$LINGUAS"
- else
- desiredlanguages="$ALL_LINGUAS"
- fi
- for desiredlang in $desiredlanguages; do
- # Use the presentlang catalog if desiredlang is
- # a. equal to presentlang, or
- # b. a variant of presentlang (because in this case,
- # presentlang can be used as a fallback for messages
- # which are not translated in the desiredlang catalog).
- case "$desiredlang" in
- "$presentlang"*) useit=yes;;
- esac
- done
- if test $useit = yes; then
- INST_LINGUAS="$INST_LINGUAS $presentlang"
- fi
- done
- fi
- CATALOGS=
- if test -n "$INST_LINGUAS"; then
- for lang in $INST_LINGUAS; do
- CATALOGS="$CATALOGS $lang.gmo"
- done
- fi
- test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
- sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
- for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
- if test -f "$f"; then
- case "$f" in
- *.orig | *.bak | *~) ;;
- *) cat "$f" >> "$ac_dir/Makefile" ;;
- esac
- fi
- done
- fi
- ;;
- esac
- done]],
- [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
- # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
- # from automake < 1.5.
- eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
- # Capture the value of LINGUAS because we need it to compute CATALOGS.
- LINGUAS="${LINGUAS-%UNSET%}"
- ])
-])
-m4trace:/usr/share/aclocal/po.m4:218: -1- AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], [
- # When this code is run, in config.status, two variables have already been
- # set:
- # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
- # - LINGUAS is the value of the environment variable LINGUAS at configure
- # time.
-
-changequote(,)dnl
- # Adjust a relative srcdir.
- ac_dir=`echo "$ac_file"|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.
- test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
- case "$ac_given_srcdir" in
- .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
- /*) top_srcdir="$ac_given_srcdir" ;;
- *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- # Find a way to echo strings without interpreting backslash.
- if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
- gt_echo='echo'
- else
- if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
- gt_echo='printf %s\n'
- else
- echo_func () {
- cat <<EOT
-$*
-EOT
- }
- gt_echo='echo_func'
- fi
- fi
-
- # A sed script that extracts the value of VARIABLE from a Makefile.
- sed_x_variable='
-# Test if the hold space is empty.
-x
-s/P/P/
-x
-ta
-# Yes it was empty. Look if we have the expected variable definition.
-/^[ ]*VARIABLE[ ]*=/{
- # Seen the first line of the variable definition.
- s/^[ ]*VARIABLE[ ]*=//
- ba
-}
-bd
-:a
-# Here we are processing a line from the variable definition.
-# Remove comment, more precisely replace it with a space.
-s/#.*$/ /
-# See if the line ends in a backslash.
-tb
-:b
-s/\\$//
-# Print the line, without the trailing backslash.
-p
-tc
-# There was no trailing backslash. The end of the variable definition is
-# reached. Clear the hold space.
-s/^.*$//
-x
-bd
-:c
-# A trailing backslash means that the variable definition continues in the
-# next line. Put a nonempty string into the hold space to indicate this.
-s/^.*$/P/
-x
-:d
-'
-changequote([,])dnl
-
- # Set POTFILES to the value of the Makefile variable POTFILES.
- sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
- POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
- # Compute POTFILES_DEPS as
- # $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
- POTFILES_DEPS=
- for file in $POTFILES; do
- POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
- done
- POMAKEFILEDEPS=""
-
- if test -n "$OBSOLETE_ALL_LINGUAS"; then
- 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
- if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
- # The LINGUAS file contains the set of available languages.
- ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
- POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
- else
- # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
- 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 assigment from automake < 1.5.
- eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
- # Compute POFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
- # Compute UPDATEPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
- # Compute DUMMYPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
- # Compute GMOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
- # Compute PROPERTIESFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
- # Compute CLASSFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
- # Compute QMFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
- # Compute MSGFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
- # Compute RESOURCESDLLFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
- case "$ac_given_srcdir" in
- .) srcdirpre= ;;
- *) srcdirpre='$(srcdir)/' ;;
- esac
- POFILES=
- UPDATEPOFILES=
- DUMMYPOFILES=
- GMOFILES=
- PROPERTIESFILES=
- CLASSFILES=
- QMFILES=
- MSGFILES=
- RESOURCESDLLFILES=
- for lang in $ALL_LINGUAS; do
- POFILES="$POFILES $srcdirpre$lang.po"
- UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
- DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
- GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
- PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
- CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
- QMFILES="$QMFILES $srcdirpre$lang.qm"
- frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
- MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
- frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
- RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
- done
- # CATALOGS depends on both $ac_dir and the user's LINGUAS
- # environment variable.
- INST_LINGUAS=
- if test -n "$ALL_LINGUAS"; then
- for presentlang in $ALL_LINGUAS; do
- useit=no
- if test "%UNSET%" != "$LINGUAS"; then
- desiredlanguages="$LINGUAS"
- else
- desiredlanguages="$ALL_LINGUAS"
- fi
- for desiredlang in $desiredlanguages; do
- # Use the presentlang catalog if desiredlang is
- # a. equal to presentlang, or
- # b. a variant of presentlang (because in this case,
- # presentlang can be used as a fallback for messages
- # which are not translated in the desiredlang catalog).
- case "$desiredlang" in
- "$presentlang"*) useit=yes;;
- esac
- done
- if test $useit = yes; then
- INST_LINGUAS="$INST_LINGUAS $presentlang"
- fi
- done
- fi
- CATALOGS=
- JAVACATALOGS=
- QTCATALOGS=
- TCLCATALOGS=
- CSHARPCATALOGS=
- if test -n "$INST_LINGUAS"; then
- for lang in $INST_LINGUAS; do
- CATALOGS="$CATALOGS $lang.gmo"
- JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
- QTCATALOGS="$QTCATALOGS $lang.qm"
- frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
- TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
- frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
- CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
- done
- 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"
- 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" <<EOF
-$frobbedlang.msg: $lang.po
- @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
- \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
-EOF
- done
- fi
- if grep -l '@CSHARPCATALOGS@' "$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/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
- cat >> "$ac_file.tmp" <<EOF
-$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
- @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
- \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
-EOF
- done
- fi
- if test -n "$POMAKEFILEDEPS"; then
- cat >> "$ac_file.tmp" <<EOF
-Makefile: $POMAKEFILEDEPS
-EOF
- fi
- mv "$ac_file.tmp" "$ac_file"
-])
-m4trace:/usr/share/aclocal/po.m4:439: -1- AC_DEFUN([AM_XGETTEXT_OPTION_INIT], [
- XGETTEXT_EXTRA_OPTIONS=
-])
-m4trace:/usr/share/aclocal/po.m4:445: -1- AC_DEFUN([AM_XGETTEXT_OPTION], [
- AC_REQUIRE([AM_XGETTEXT_OPTION_INIT])
- XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"
-])
-m4trace:/usr/share/aclocal/printf-posix.m4:11: -1- AC_DEFUN([gt_PRINTF_POSIX], [
- AC_REQUIRE([AC_PROG_CC])
- AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings],
- gt_cv_func_printf_posix,
- [
- AC_TRY_RUN([
-#include <stdio.h>
-#include <string.h>
-/* The string "%2$d %1$d", with dollar characters protected from the shell's
- dollar expansion (possibly an autoconf bug). */
-static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' };
-static char buf[100];
-int main ()
-{
- sprintf (buf, format, 33, 55);
- return (strcmp (buf, "55 33") != 0);
-}], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no,
- [
- AC_EGREP_CPP([notposix], [
-#if defined __NetBSD__ || defined __BEOS__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__
- notposix
-#endif
- ],
- [gt_cv_func_printf_posix="guessing no"],
- [gt_cv_func_printf_posix="guessing yes"])
- ])
- ])
- case $gt_cv_func_printf_posix in
- *yes)
- AC_DEFINE([HAVE_POSIX_PRINTF], [1],
- [Define if your printf() function supports format strings with positions.])
- ;;
- esac
-])
-m4trace:/usr/share/aclocal/progtest.m4:25: -1- AC_DEFUN([AM_PATH_PROG_WITH_TEST], [
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- 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,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "$2", so it can be a program name with args.
-set dummy $2; ac_word=[$]2
-AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL([ac_cv_path_$1],
-[case "[$]$1" in
- [[\\/]]* | ?:[[\\/]]*)
- ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
- ;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in ifelse([$5], , $PATH, [$5]); do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
- if [$3]; then
- ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
-dnl If no 4th arg is given, leave the cache variable unset,
-dnl so AC_PATH_PROGS will keep looking.
-ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
-])dnl
- ;;
-esac])dnl
-$1="$ac_cv_path_$1"
-if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
- AC_MSG_RESULT([$][$1])
-else
- AC_MSG_RESULT([no])
-fi
-AC_SUBST([$1])dnl
-])
-m4trace:/usr/share/aclocal/size_max.m4:9: -1- AC_DEFUN([gl_SIZE_MAX], [
- AC_CHECK_HEADERS([stdint.h])
- dnl First test whether the system already has SIZE_MAX.
- AC_CACHE_CHECK([for SIZE_MAX], [gl_cv_size_max], [
- gl_cv_size_max=
- AC_EGREP_CPP([Found it], [
-#include <limits.h>
-#if HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#ifdef SIZE_MAX
-Found it
-#endif
-], [gl_cv_size_max=yes])
- if test -z "$gl_cv_size_max"; then
- dnl Define it ourselves. Here we assume that the type 'size_t' is not wider
- dnl than the type 'unsigned long'. Try hard to find a definition that can
- dnl be used in a preprocessor #if, i.e. doesn't contain a cast.
- AC_COMPUTE_INT([size_t_bits_minus_1], [sizeof (size_t) * CHAR_BIT - 1],
- [#include <stddef.h>
-#include <limits.h>], [size_t_bits_minus_1=])
- AC_COMPUTE_INT([fits_in_uint], [sizeof (size_t) <= sizeof (unsigned int)],
- [#include <stddef.h>], [fits_in_uint=])
- if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then
- if test $fits_in_uint = 1; then
- dnl Even though SIZE_MAX fits in an unsigned int, it must be of type
- dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'.
- AC_TRY_COMPILE([#include <stddef.h>
- extern size_t foo;
- extern unsigned long foo;
- ], [], [fits_in_uint=0])
- fi
- dnl We cannot use 'expr' to simplify this expression, because 'expr'
- dnl works only with 'long' integers in the host environment, while we
- dnl might be cross-compiling from a 32-bit platform to a 64-bit platform.
- if test $fits_in_uint = 1; then
- gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)"
- else
- gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)"
- fi
- else
- dnl Shouldn't happen, but who knows...
- gl_cv_size_max='((size_t)~(size_t)0)'
- fi
- fi
- ])
- if test "$gl_cv_size_max" != yes; then
- AC_DEFINE_UNQUOTED([SIZE_MAX], [$gl_cv_size_max],
- [Define as the maximum value of type 'size_t', if the system doesn't define it.])
- fi
- dnl Don't redefine SIZE_MAX in config.h if config.h is re-included after
- dnl <stdint.h>. Remember that the #undef in AH_VERBATIM gets replaced with
- dnl #define by AC_DEFINE_UNQUOTED.
- AH_VERBATIM([SIZE_MAX],
-[/* Define as the maximum value of type 'size_t', if the system doesn't define
- it. */
-#ifndef SIZE_MAX
-# undef SIZE_MAX
-#endif])
-])
-m4trace:/usr/share/aclocal/stdint_h.m4:12: -1- AC_DEFUN([gl_AC_HEADER_STDINT_H], [
- AC_CACHE_CHECK([for stdint.h], [gl_cv_header_stdint_h],
- [AC_TRY_COMPILE(
- [#include <sys/types.h>
-#include <stdint.h>],
- [uintmax_t i = (uintmax_t) -1; return !i;],
- [gl_cv_header_stdint_h=yes],
- [gl_cv_header_stdint_h=no])])
- if test $gl_cv_header_stdint_h = yes; then
- AC_DEFINE_UNQUOTED([HAVE_STDINT_H_WITH_UINTMAX], [1],
- [Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
- and declares uintmax_t. ])
- fi
-])
-m4trace:/usr/share/aclocal/threadlib.m4:24: -1- AC_DEFUN([gl_THREADLIB_EARLY], [
- AC_REQUIRE([gl_THREADLIB_EARLY_BODY])
-])
-m4trace:/usr/share/aclocal/threadlib.m4:31: -1- AC_DEFUN([gl_THREADLIB_EARLY_BODY], [
- dnl Ordering constraints: This macro modifies CPPFLAGS in a way that
- dnl influences the result of the autoconf tests that test for *_unlocked
- dnl declarations, on AIX 5 at least. Therefore it must come early.
- AC_BEFORE([$0], [gl_FUNC_GLIBC_UNLOCKED_IO])dnl
- AC_BEFORE([$0], [gl_ARGP])dnl
-
- AC_REQUIRE([AC_CANONICAL_HOST])
- dnl _GNU_SOURCE is needed for pthread_rwlock_t on glibc systems.
- dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes
- dnl AC_GNU_SOURCE.
- m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
- [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])],
- [AC_REQUIRE([AC_GNU_SOURCE])])
- dnl Check for multithreading.
- m4_divert_text([DEFAULTS], [gl_use_threads_default=])
- AC_ARG_ENABLE([threads],
-AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify multithreading API])
-AC_HELP_STRING([--disable-threads], [build without multithread safety]),
- [gl_use_threads=$enableval],
- [if test -n "$gl_use_threads_default"; then
- gl_use_threads="$gl_use_threads_default"
- else
-changequote(,)dnl
- case "$host_os" in
- dnl Disable multithreading by default on OSF/1, because it interferes
- dnl with fork()/exec(): When msgexec is linked with -lpthread, its
- dnl child process gets an endless segmentation fault inside execvp().
- dnl Disable multithreading by default on Cygwin 1.5.x, because it has
- dnl bugs that lead to endless loops or crashes. See
- dnl <http://cygwin.com/ml/cygwin/2009-08/msg00283.html>.
- osf*) gl_use_threads=no ;;
- cygwin*)
- case `uname -r` in
- 1.[0-5].*) gl_use_threads=no ;;
- *) gl_use_threads=yes ;;
- esac
- ;;
- *) gl_use_threads=yes ;;
- esac
-changequote([,])dnl
- fi
- ])
- if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
- # For using <pthread.h>:
- case "$host_os" in
- osf*)
- # On OSF/1, the compiler needs the flag -D_REENTRANT so that it
- # groks <pthread.h>. cc also understands the flag -pthread, but
- # we don't use it because 1. gcc-2.95 doesn't understand -pthread,
- # 2. putting a flag into CPPFLAGS that has an effect on the linker
- # causes the AC_TRY_LINK test below to succeed unexpectedly,
- # leading to wrong values of LIBTHREAD and LTLIBTHREAD.
- CPPFLAGS="$CPPFLAGS -D_REENTRANT"
- ;;
- esac
- # Some systems optimize for single-threaded programs by default, and
- # need special flags to disable these optimizations. For example, the
- # definition of 'errno' in <errno.h>.
- case "$host_os" in
- aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;;
- solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;;
- esac
- fi
-])
-m4trace:/usr/share/aclocal/threadlib.m4:100: -1- AC_DEFUN([gl_THREADLIB_BODY], [
- AC_REQUIRE([gl_THREADLIB_EARLY_BODY])
- gl_threads_api=none
- LIBTHREAD=
- LTLIBTHREAD=
- LIBMULTITHREAD=
- LTLIBMULTITHREAD=
- if test "$gl_use_threads" != no; then
- dnl Check whether the compiler and linker support weak declarations.
- AC_CACHE_CHECK([whether imported symbols can be declared weak],
- [gl_cv_have_weak],
- [gl_cv_have_weak=no
- dnl First, test whether the compiler accepts it syntactically.
- AC_TRY_LINK([extern void xyzzy ();
-#pragma weak xyzzy], [xyzzy();], [gl_cv_have_weak=maybe])
- if test $gl_cv_have_weak = maybe; then
- dnl Second, test whether it actually works. On Cygwin 1.7.2, with
- dnl gcc 4.3, symbols declared weak always evaluate to the address 0.
- AC_TRY_RUN([
-#include <stdio.h>
-#pragma weak fputs
-int main ()
-{
- return (fputs == NULL);
-}], [gl_cv_have_weak=yes], [gl_cv_have_weak=no],
- [dnl When cross-compiling, assume that only ELF platforms support
- dnl weak symbols.
- AC_EGREP_CPP([Extensible Linking Format],
- [#ifdef __ELF__
- Extensible Linking Format
- #endif
- ],
- [gl_cv_have_weak="guessing yes"],
- [gl_cv_have_weak="guessing no"])
- ])
- fi
- ])
- if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
- # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that
- # it groks <pthread.h>. It's added above, in gl_THREADLIB_EARLY_BODY.
- AC_CHECK_HEADER([pthread.h],
- [gl_have_pthread_h=yes], [gl_have_pthread_h=no])
- if test "$gl_have_pthread_h" = yes; then
- # Other possible tests:
- # -lpthreads (FSU threads, PCthreads)
- # -lgthreads
- gl_have_pthread=
- # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist
- # in libc. IRIX 6.5 has the first one in both libc and libpthread, but
- # the second one only in libpthread, and lock.c needs it.
- AC_TRY_LINK([#include <pthread.h>],
- [pthread_mutex_lock((pthread_mutex_t*)0);
- pthread_mutexattr_init((pthread_mutexattr_t*)0);],
- [gl_have_pthread=yes])
- # Test for libpthread by looking for pthread_kill. (Not pthread_self,
- # since it is defined as a macro on OSF/1.)
- if test -n "$gl_have_pthread"; then
- # The program links fine without libpthread. But it may actually
- # need to link with libpthread in order to create multiple threads.
- AC_CHECK_LIB([pthread], [pthread_kill],
- [LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread
- # On Solaris and HP-UX, most pthread functions exist also in libc.
- # Therefore pthread_in_use() needs to actually try to create a
- # thread: pthread_create from libc will fail, whereas
- # pthread_create will actually create a thread.
- case "$host_os" in
- solaris* | hpux*)
- AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1],
- [Define if the pthread_in_use() detection is hard.])
- esac
- ])
- else
- # Some library is needed. Try libpthread and libc_r.
- AC_CHECK_LIB([pthread], [pthread_kill],
- [gl_have_pthread=yes
- LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread
- LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread])
- if test -z "$gl_have_pthread"; then
- # For FreeBSD 4.
- AC_CHECK_LIB([c_r], [pthread_kill],
- [gl_have_pthread=yes
- LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r
- LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r])
- fi
- fi
- if test -n "$gl_have_pthread"; then
- gl_threads_api=posix
- AC_DEFINE([USE_POSIX_THREADS], [1],
- [Define if the POSIX multithreading library can be used.])
- if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
- if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
- AC_DEFINE([USE_POSIX_THREADS_WEAK], [1],
- [Define if references to the POSIX multithreading library should be made weak.])
- LIBTHREAD=
- LTLIBTHREAD=
- fi
- fi
- fi
- fi
- fi
- if test -z "$gl_have_pthread"; then
- if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then
- gl_have_solaristhread=
- gl_save_LIBS="$LIBS"
- LIBS="$LIBS -lthread"
- AC_TRY_LINK([#include <thread.h>
-#include <synch.h>],
- [thr_self();],
- [gl_have_solaristhread=yes])
- LIBS="$gl_save_LIBS"
- if test -n "$gl_have_solaristhread"; then
- gl_threads_api=solaris
- LIBTHREAD=-lthread
- LTLIBTHREAD=-lthread
- LIBMULTITHREAD="$LIBTHREAD"
- LTLIBMULTITHREAD="$LTLIBTHREAD"
- AC_DEFINE([USE_SOLARIS_THREADS], [1],
- [Define if the old Solaris multithreading library can be used.])
- if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
- AC_DEFINE([USE_SOLARIS_THREADS_WEAK], [1],
- [Define if references to the old Solaris multithreading library should be made weak.])
- LIBTHREAD=
- LTLIBTHREAD=
- fi
- fi
- fi
- fi
- if test "$gl_use_threads" = pth; then
- gl_save_CPPFLAGS="$CPPFLAGS"
- AC_LIB_LINKFLAGS([pth])
- gl_have_pth=
- gl_save_LIBS="$LIBS"
- LIBS="$LIBS -lpth"
- AC_TRY_LINK([#include <pth.h>], [pth_self();], [gl_have_pth=yes])
- LIBS="$gl_save_LIBS"
- if test -n "$gl_have_pth"; then
- gl_threads_api=pth
- LIBTHREAD="$LIBPTH"
- LTLIBTHREAD="$LTLIBPTH"
- LIBMULTITHREAD="$LIBTHREAD"
- LTLIBMULTITHREAD="$LTLIBTHREAD"
- AC_DEFINE([USE_PTH_THREADS], [1],
- [Define if the GNU Pth multithreading library can be used.])
- if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
- if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
- AC_DEFINE([USE_PTH_THREADS_WEAK], [1],
- [Define if references to the GNU Pth multithreading library should be made weak.])
- LIBTHREAD=
- LTLIBTHREAD=
- fi
- fi
- else
- CPPFLAGS="$gl_save_CPPFLAGS"
- fi
- fi
- if test -z "$gl_have_pthread"; then
- if test "$gl_use_threads" = yes || test "$gl_use_threads" = win32; then
- if { case "$host_os" in
- mingw*) true;;
- *) false;;
- esac
- }; then
- gl_threads_api=win32
- AC_DEFINE([USE_WIN32_THREADS], [1],
- [Define if the Win32 multithreading API can be used.])
- fi
- fi
- fi
- fi
- AC_MSG_CHECKING([for multithread API to use])
- AC_MSG_RESULT([$gl_threads_api])
- AC_SUBST([LIBTHREAD])
- AC_SUBST([LTLIBTHREAD])
- AC_SUBST([LIBMULTITHREAD])
- AC_SUBST([LTLIBMULTITHREAD])
-])
-m4trace:/usr/share/aclocal/threadlib.m4:278: -1- AC_DEFUN([gl_THREADLIB], [
- AC_REQUIRE([gl_THREADLIB_EARLY])
- AC_REQUIRE([gl_THREADLIB_BODY])
-])
-m4trace:/usr/share/aclocal/threadlib.m4:291: -1- AC_DEFUN([gl_DISABLE_THREADS], [
- m4_divert_text([INIT_PREPARE], [gl_use_threads_default=no])
-])
-m4trace:/usr/share/aclocal/uintmax_t.m4:14: -1- AC_DEFUN([gl_AC_TYPE_UINTMAX_T], [
- AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
- AC_REQUIRE([gl_AC_HEADER_STDINT_H])
- if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then
- AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
- test $ac_cv_type_unsigned_long_long_int = yes \
- && ac_type='unsigned long long' \
- || ac_type='unsigned long'
- AC_DEFINE_UNQUOTED([uintmax_t], [$ac_type],
- [Define to unsigned long or unsigned long long
- if <stdint.h> and <inttypes.h> don't define.])
- else
- AC_DEFINE([HAVE_UINTMAX_T], [1],
- [Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>.])
- fi
-])
-m4trace:/usr/share/aclocal/visibility.m4:23: -1- AC_DEFUN([gl_VISIBILITY], [
- AC_REQUIRE([AC_PROG_CC])
- CFLAG_VISIBILITY=
- HAVE_VISIBILITY=0
- if test -n "$GCC"; then
- dnl First, check whether -Werror can be added to the command line, or
- dnl whether it leads to an error because of some other option that the
- dnl user has put into $CC $CFLAGS $CPPFLAGS.
- AC_MSG_CHECKING([whether the -Werror option is usable])
- AC_CACHE_VAL([gl_cv_cc_vis_werror], [
- gl_save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -Werror"
- AC_TRY_COMPILE([], [],
- [gl_cv_cc_vis_werror=yes],
- [gl_cv_cc_vis_werror=no])
- CFLAGS="$gl_save_CFLAGS"])
- AC_MSG_RESULT([$gl_cv_cc_vis_werror])
- dnl Now check whether visibility declarations are supported.
- AC_MSG_CHECKING([for simple visibility declarations])
- AC_CACHE_VAL([gl_cv_cc_visibility], [
- gl_save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -fvisibility=hidden"
- dnl We use the option -Werror and a function dummyfunc, because on some
- dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning
- dnl "visibility attribute not supported in this configuration; ignored"
- dnl at the first function definition in every compilation unit, and we
- dnl don't want to use the option in this case.
- if test $gl_cv_cc_vis_werror = yes; then
- CFLAGS="$CFLAGS -Werror"
- fi
- AC_TRY_COMPILE(
- [extern __attribute__((__visibility__("hidden"))) int hiddenvar;
- extern __attribute__((__visibility__("default"))) int exportedvar;
- extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
- extern __attribute__((__visibility__("default"))) int exportedfunc (void);
- void dummyfunc (void) {}],
- [],
- [gl_cv_cc_visibility=yes],
- [gl_cv_cc_visibility=no])
- CFLAGS="$gl_save_CFLAGS"])
- AC_MSG_RESULT([$gl_cv_cc_visibility])
- if test $gl_cv_cc_visibility = yes; then
- CFLAG_VISIBILITY="-fvisibility=hidden"
- HAVE_VISIBILITY=1
- fi
- fi
- AC_SUBST([CFLAG_VISIBILITY])
- AC_SUBST([HAVE_VISIBILITY])
- AC_DEFINE_UNQUOTED([HAVE_VISIBILITY], [$HAVE_VISIBILITY],
- [Define to 1 or 0, depending whether the compiler supports simple visibility declarations.])
-])
-m4trace:/usr/share/aclocal/wchar_t.m4:11: -1- AC_DEFUN([gt_TYPE_WCHAR_T], [
- AC_CACHE_CHECK([for wchar_t], [gt_cv_c_wchar_t],
- [AC_TRY_COMPILE([#include <stddef.h>
- wchar_t foo = (wchar_t)'\0';], ,
- [gt_cv_c_wchar_t=yes], [gt_cv_c_wchar_t=no])])
- if test $gt_cv_c_wchar_t = yes; then
- AC_DEFINE([HAVE_WCHAR_T], [1], [Define if you have the 'wchar_t' type.])
- fi
-])
-m4trace:/usr/share/aclocal/wint_t.m4:11: -1- AC_DEFUN([gt_TYPE_WINT_T], [
- AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t],
- [AC_TRY_COMPILE([
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
- <wchar.h>.
- BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
- before <wchar.h>. */
-#include <stddef.h>
-#include <stdio.h>
-#include <time.h>
-#include <wchar.h>
- wint_t foo = (wchar_t)'\0';], ,
- [gt_cv_c_wint_t=yes], [gt_cv_c_wint_t=no])])
- if test $gt_cv_c_wint_t = yes; then
- AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.])
- fi
-])
-m4trace:/usr/share/aclocal/xsize.m4:7: -1- AC_DEFUN([gl_XSIZE], [
- dnl Prerequisites of lib/xsize.h.
- AC_REQUIRE([gl_SIZE_MAX])
- AC_REQUIRE([AC_C_INLINE])
- AC_CHECK_HEADERS([stdint.h])
-])
-m4trace:/usr/share/aclocal-1.11/amversion.m4:17: -1- AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.11'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11.6], [],
- [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-m4trace:/usr/share/aclocal-1.11/amversion.m4:36: -1- AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.11.6])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-m4trace:/usr/share/aclocal-1.11/auxdir.m4:49: -1- AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-m4trace:/usr/share/aclocal-1.11/cond.m4:15: -1- AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-m4trace:/usr/share/aclocal-1.11/depend.m4:28: -1- AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
- [$1], CXX, [depcc="$CXX" am_compiler_list=],
- [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], UPC, [depcc="$UPC" am_compiler_list=],
- [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
- [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- rm -rf conftest.dir
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_$1_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
- fi
- am__universal=false
- m4_case([$1], [CC],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac],
- [CXX],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac])
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_$1_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-m4trace:/usr/share/aclocal-1.11/depend.m4:164: -1- AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-m4trace:/usr/share/aclocal-1.11/depend.m4:172: -1- AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking,
-[ --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
- am__nodep='_no'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-AC_SUBST([am__nodep])dnl
-_AM_SUBST_NOTMAKE([am__nodep])dnl
-])
-m4trace:/usr/share/aclocal-1.11/depout.m4:14: -1- AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
-])
-m4trace:/usr/share/aclocal-1.11/depout.m4:75: -1- AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles],
- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-m4trace:/usr/share/aclocal-1.11/dmalloc.m4:15: -1- AC_DEFUN([AM_WITH_DMALLOC], [AC_MSG_CHECKING([if malloc debugging is wanted])
-AC_ARG_WITH(dmalloc,
-[ --with-dmalloc use dmalloc, as in http://www.dmalloc.com],
-[if test "$withval" = yes; then
- AC_MSG_RESULT(yes)
- AC_DEFINE(WITH_DMALLOC,1,
- [Define if using the dmalloc debugging malloc package])
- LIBS="$LIBS -ldmalloc"
- LDFLAGS="$LDFLAGS -g"
-else
- AC_MSG_RESULT(no)
-fi], [AC_MSG_RESULT(no)])
-])
-m4trace:/usr/share/aclocal-1.11/dmalloc.m4:30: -1- AU_DEFUN([fp_WITH_DMALLOC], [AM_WITH_DMALLOC])
-m4trace:/usr/share/aclocal-1.11/dmalloc.m4:30: -1- AC_DEFUN([fp_WITH_DMALLOC], [AC_DIAGNOSE([obsolete], [The macro `fp_WITH_DMALLOC' is obsolete.
-You should run autoupdate.])dnl
-AM_WITH_DMALLOC])
-m4trace:/usr/share/aclocal-1.11/init.m4:26: -1- AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.62])dnl
-dnl Autoconf wants to disallow AM_ names. We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
- [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES(OBJC)],
- [define([AC_PROG_OBJC],
- defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
- [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
-m4trace:/usr/share/aclocal-1.11/init.m4:126: -1- AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-m4trace:/usr/share/aclocal-1.11/install-sh.m4:14: -1- AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-AC_SUBST(install_sh)])
-m4trace:/usr/share/aclocal-1.11/lead-dot.m4:12: -1- AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-m4trace:/usr/share/aclocal-1.11/make.m4:14: -1- AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-m4trace:/usr/share/aclocal-1.11/minuso.m4:14: -1- AC_DEFUN([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
- [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-m4trace:/usr/share/aclocal-1.11/missing.m4:14: -1- AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-m4trace:/usr/share/aclocal-1.11/missing.m4:24: -1- AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-m4trace:/usr/share/aclocal-1.11/mkdirp.m4:14: -1- AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
- [[\\/$]]* | ?:[[\\/]]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-m4trace:/usr/share/aclocal-1.11/options.m4:14: -1- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-m4trace:/usr/share/aclocal-1.11/options.m4:20: -1- AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-m4trace:/usr/share/aclocal-1.11/options.m4:26: -1- AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-m4trace:/usr/share/aclocal-1.11/options.m4:32: -1- AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-m4trace:/usr/share/aclocal-1.11/runlog.m4:14: -1- AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
- ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- (exit $ac_status); }])
-m4trace:/usr/share/aclocal-1.11/sanity.m4:14: -1- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[[\\\"\#\$\&\'\`$am_lf]]*)
- AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
- *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
- AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-m4trace:/usr/share/aclocal-1.11/silent.m4:14: -1- AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules],
-[ --enable-silent-rules less verbose build output (undo: `make V=1')
- --disable-silent-rules verbose build output (undo: `make V=0')])
-case $enable_silent_rules in
-yes) AM_DEFAULT_VERBOSITY=0;;
-no) AM_DEFAULT_VERBOSITY=1;;
-*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
-esac
-dnl
-dnl A few `make' implementations (e.g., NonStop OS and NextStep)
-dnl do not support nested variable expansions.
-dnl See automake bug#9928 and bug#10237.
-am_make=${MAKE-make}
-AC_CACHE_CHECK([whether $am_make supports nested variables],
- [am_cv_make_support_nested_variables],
- [if AS_ECHO([['TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
- @$(TRUE)
-.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
- am_cv_make_support_nested_variables=yes
-else
- am_cv_make_support_nested_variables=no
-fi])
-if test $am_cv_make_support_nested_variables = yes; then
- dnl Using `$V' instead of `$(V)' breaks IRIX make.
- AM_V='$(V)'
- AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
- AM_V=$AM_DEFAULT_VERBOSITY
- AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AC_SUBST([AM_V])dnl
-AM_SUBST_NOTMAKE([AM_V])dnl
-AC_SUBST([AM_DEFAULT_V])dnl
-AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
-AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
-AM_BACKSLASH='\'
-AC_SUBST([AM_BACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
-])
-m4trace:/usr/share/aclocal-1.11/strip.m4:19: -1- AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-m4trace:/usr/share/aclocal-1.11/substnot.m4:14: -1- AC_DEFUN([_AM_SUBST_NOTMAKE])
-m4trace:/usr/share/aclocal-1.11/substnot.m4:19: -1- AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-m4trace:/usr/share/aclocal-1.11/tar.m4:24: -1- AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used
-# in the wild :-( We should find a proper way to deprecate it ...
-AC_SUBST([AMTAR], ['$${TAR-tar}'])
-m4_if([$1], [v7],
- [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
-
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
-
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
- rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-])
-m4trace:config/dospaths.m4:21: -1- AC_DEFUN([pds_AC_DOS_PATHS], [
- AC_CACHE_CHECK([whether system uses MSDOS-style paths], [ac_cv_dos_paths],
- [
- AC_COMPILE_IFELSE([
-#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __EMX__ && !defined __MSYS__ && !defined __CYGWIN__
-neither MSDOS nor Windows nor OS2
-#endif
-],
- [ac_cv_dos_paths=yes],
- [ac_cv_dos_paths=no])
- ])
-
- if test x"$ac_cv_dos_paths" = xyes; then
- AC_DEFINE_UNQUOTED([HAVE_DOS_PATHS], 1,
- [Define if the system uses DOS-style pathnames.])
- fi
- ])
-m4trace:acinclude.m4:39: -1- AC_DEFUN([CF_NETLIBS], [
-cf_test_netlibs=no
-AC_MSG_CHECKING(for network libraries)
-AC_CACHE_VAL(cf_cv_netlibs,[
-AC_MSG_RESULT(working...)
-cf_cv_netlibs=""
-cf_test_netlibs=yes
-AC_CHECK_FUNCS(gethostname,,[
- CF_RECHECK_FUNC(gethostname,nsl,cf_cv_netlibs,[
- CF_RECHECK_FUNC(gethostname,socket,cf_cv_netlibs)])])
-#
-# FIXME: sequent needs this library (i.e., -lsocket -linet -lnsl), but
-# I don't know the entrypoints - 97/7/22 TD
-AC_CHECK_LIB(inet,main,cf_cv_netlibs="-linet $cf_cv_netlibs")
-#
-if test "$ac_cv_func_lsocket" != no ; then
-AC_CHECK_FUNCS(socket,,[
- CF_RECHECK_FUNC(socket,socket,cf_cv_netlibs,[
- CF_RECHECK_FUNC(socket,bsd,cf_cv_netlibs)])])
-fi
-#
-AC_CHECK_FUNCS(gethostbyname,,[
- CF_RECHECK_FUNC(gethostbyname,nsl,cf_cv_netlibs)])
-])
-LIBS="$LIBS $cf_cv_netlibs"
-test $cf_test_netlibs = no && echo "$cf_cv_netlibs" >&AC_FD_MSG
-])
-m4trace:acinclude.m4:79: -1- AC_DEFUN([CF_RECHECK_FUNC], [
-AC_CHECK_LIB($2,$1,[
- CF_UPPER(cf_tr_func,$1)
- AC_DEFINE_UNQUOTED(HAVE_$cf_tr_func,1,[Define if you have function $1])
- ac_cv_func_$1=yes
- $3="-l$2 [$]$3"],[
- ac_cv_func_$1=unknown
- unset ac_cv_func_$1 2>/dev/null
- $4],
- [[$]$3])
-])
-m4trace:acinclude.m4:93: -1- AC_DEFUN([CF_UPPER], [
-changequote(,)dnl
-$1=`echo $2 | tr '[a-z]' '[A-Z]'`
-changequote([,])dnl
-])
-m4trace:acinclude.m4:105: -1- AC_DEFUN([AC_STRUCT_ST_MTIM_NSEC], [AC_CACHE_CHECK([for nanoseconds field of struct stat],
- ac_cv_struct_st_mtim_nsec,
- [ac_save_CPPFLAGS="$CPPFLAGS"
- ac_cv_struct_st_mtim_nsec=no
- # st_mtim.tv_nsec -- the usual case
- # st_mtim._tv_nsec -- Solaris 2.6, if
- # (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1
- # && !defined __EXTENSIONS__)
- # st_mtim.st__tim.tv_nsec -- UnixWare 2.1.2
- # st_mtimespec.tv_nsec -- Darwin (Mac OSX)
- for ac_val in st_mtim.tv_nsec st_mtim._tv_nsec st_mtim.st__tim.tv_nsec st_mtimespec.tv_nsec; do
- CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val"
- AC_TRY_COMPILE([#include <sys/types.h>
-#include <sys/stat.h>
- ], [struct stat s; s.ST_MTIM_NSEC;],
- [ac_cv_struct_st_mtim_nsec=$ac_val; break])
- done
- CPPFLAGS="$ac_save_CPPFLAGS"
- ])
-
- if test $ac_cv_struct_st_mtim_nsec != no; then
- AC_DEFINE_UNQUOTED([ST_MTIM_NSEC], [$ac_cv_struct_st_mtim_nsec],
- [Define if struct stat contains a nanoseconds field])
- fi
-
-])
-m4trace:configure.in:20: -1- m4_pattern_forbid([^_?A[CHUM]_])
-m4trace:configure.in:20: -1- m4_pattern_forbid([_AC_])
-m4trace:configure.in:20: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
-m4trace:configure.in:20: -1- m4_pattern_allow([^AS_FLAGS$])
-m4trace:configure.in:20: -1- m4_pattern_forbid([^_?m4_])
-m4trace:configure.in:20: -1- m4_pattern_forbid([^dnl$])
-m4trace:configure.in:20: -1- m4_pattern_forbid([^_?AS_])
-m4trace:configure.in:20: -1- m4_pattern_allow([^SHELL$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PATH_SEPARATOR$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_NAME$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_VERSION$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_STRING$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_URL$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^exec_prefix$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^prefix$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^program_transform_name$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^bindir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^sbindir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^libexecdir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^datarootdir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^datadir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^sysconfdir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^sharedstatedir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^localstatedir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^includedir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^oldincludedir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^docdir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^infodir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^htmldir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^dvidir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^pdfdir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^psdir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^libdir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^localedir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^mandir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_NAME$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_VERSION$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_STRING$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_URL$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^DEFS$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^ECHO_C$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^ECHO_N$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^ECHO_T$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^LIBS$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^build_alias$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^host_alias$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^target_alias$])
-m4trace:configure.in:31: -1- AM_INIT_AUTOMAKE([1.9])
-m4trace:configure.in:31: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
-m4trace:configure.in:31: -1- AM_SET_CURRENT_AUTOMAKE_VERSION
-m4trace:configure.in:31: -1- AM_AUTOMAKE_VERSION([1.11.6])
-m4trace:configure.in:31: -1- _AM_AUTOCONF_VERSION([2.68])
-m4trace:configure.in:31: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^INSTALL_DATA$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^am__isrc$])
-m4trace:configure.in:31: -1- _AM_SUBST_NOTMAKE([am__isrc])
-m4trace:configure.in:31: -1- m4_pattern_allow([^CYGPATH_W$])
-m4trace:configure.in:31: -1- _AM_SET_OPTIONS([1.9])
-m4trace:configure.in:31: -1- _AM_SET_OPTION([1.9])
-m4trace:configure.in:31: -2- _AM_MANGLE_OPTION([1.9])
-m4trace:configure.in:31: -1- m4_pattern_allow([^PACKAGE$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^VERSION$])
-m4trace:configure.in:31: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
-m4trace:configure.in:31: -2- _AM_MANGLE_OPTION([no-define])
-m4trace:configure.in:31: -1- m4_pattern_allow([^PACKAGE$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^VERSION$])
-m4trace:configure.in:31: -1- AM_SANITY_CHECK
-m4trace:configure.in:31: -1- AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
-m4trace:configure.in:31: -1- AM_MISSING_HAS_RUN
-m4trace:configure.in:31: -1- AM_AUX_DIR_EXPAND
-m4trace:configure.in:31: -1- m4_pattern_allow([^ACLOCAL$])
-m4trace:configure.in:31: -1- AM_MISSING_PROG([AUTOCONF], [autoconf])
-m4trace:configure.in:31: -1- m4_pattern_allow([^AUTOCONF$])
-m4trace:configure.in:31: -1- AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
-m4trace:configure.in:31: -1- m4_pattern_allow([^AUTOMAKE$])
-m4trace:configure.in:31: -1- AM_MISSING_PROG([AUTOHEADER], [autoheader])
-m4trace:configure.in:31: -1- m4_pattern_allow([^AUTOHEADER$])
-m4trace:configure.in:31: -1- AM_MISSING_PROG([MAKEINFO], [makeinfo])
-m4trace:configure.in:31: -1- m4_pattern_allow([^MAKEINFO$])
-m4trace:configure.in:31: -1- AM_PROG_INSTALL_SH
-m4trace:configure.in:31: -1- m4_pattern_allow([^install_sh$])
-m4trace:configure.in:31: -1- AM_PROG_INSTALL_STRIP
-m4trace:configure.in:31: -1- m4_pattern_allow([^STRIP$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$])
-m4trace:configure.in:31: -1- AM_PROG_MKDIR_P
-m4trace:configure.in:31: -1- m4_pattern_allow([^MKDIR_P$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^mkdir_p$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^AWK$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^SET_MAKE$])
-m4trace:configure.in:31: -1- AM_SET_LEADING_DOT
-m4trace:configure.in:31: -1- m4_pattern_allow([^am__leading_dot$])
-m4trace:configure.in:31: -1- _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
-m4trace:configure.in:31: -2- _AM_MANGLE_OPTION([tar-ustar])
-m4trace:configure.in:31: -1- _AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])
-m4trace:configure.in:31: -2- _AM_MANGLE_OPTION([tar-pax])
-m4trace:configure.in:31: -1- _AM_PROG_TAR([v7])
-m4trace:configure.in:31: -1- m4_pattern_allow([^AMTAR$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^am__tar$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^am__untar$])
-m4trace:configure.in:31: -1- _AM_IF_OPTION([no-dependencies], [], [AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES(OBJC)],
- [define([AC_PROG_OBJC],
- defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-m4trace:configure.in:31: -2- _AM_MANGLE_OPTION([no-dependencies])
-m4trace:configure.in:31: -1- _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])
-m4trace:configure.in:31: -2- _AM_MANGLE_OPTION([silent-rules])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CFLAGS$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^LDFLAGS$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^LIBS$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CPPFLAGS$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^ac_ct_CC$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^EXEEXT$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^OBJEXT$])
-m4trace:configure.in:34: -1- _AM_DEPENDENCIES([CC])
-m4trace:configure.in:34: -1- AM_SET_DEPDIR
-m4trace:configure.in:34: -1- m4_pattern_allow([^DEPDIR$])
-m4trace:configure.in:34: -1- AM_OUTPUT_DEPENDENCY_COMMANDS
-m4trace:configure.in:34: -1- AM_MAKE_INCLUDE
-m4trace:configure.in:34: -1- m4_pattern_allow([^am__include$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^am__quote$])
-m4trace:configure.in:34: -1- AM_DEP_TRACK
-m4trace:configure.in:34: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-m4trace:configure.in:34: -1- m4_pattern_allow([^AMDEP_TRUE$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^AMDEP_FALSE$])
-m4trace:configure.in:34: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE])
-m4trace:configure.in:34: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE])
-m4trace:configure.in:34: -1- m4_pattern_allow([^AMDEPBACKSLASH$])
-m4trace:configure.in:34: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])
-m4trace:configure.in:34: -1- m4_pattern_allow([^am__nodep$])
-m4trace:configure.in:34: -1- _AM_SUBST_NOTMAKE([am__nodep])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CCDEPMODE$])
-m4trace:configure.in:34: -1- AM_CONDITIONAL([am__fastdepCC], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3])
-m4trace:configure.in:34: -1- m4_pattern_allow([^am__fastdepCC_TRUE$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^am__fastdepCC_FALSE$])
-m4trace:configure.in:34: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE])
-m4trace:configure.in:34: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE])
-m4trace:configure.in:36: -1- m4_pattern_allow([^RANLIB$])
-m4trace:configure.in:37: -1- m4_pattern_allow([^CPP$])
-m4trace:configure.in:37: -1- m4_pattern_allow([^CPPFLAGS$])
-m4trace:configure.in:37: -1- m4_pattern_allow([^CPP$])
-m4trace:configure.in:38: -1- m4_pattern_allow([^AR$])
-m4trace:configure.in:40: -1- m4_pattern_allow([^PERL$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^build$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^build_cpu$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^build_vendor$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^build_os$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^host$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^host_cpu$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^host_vendor$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^host_os$])
-m4trace:configure.in:44: -1- _m4_warn([obsolete], [The macro `AC_AIX' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/specific.m4:432: AC_AIX is expanded from...
-configure.in:44: the top level])
-m4trace:configure.in:44: -1- m4_pattern_allow([^GREP$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^EGREP$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^STDC_HEADERS$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_POSIX_SOURCE$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_POSIX_1_SOURCE$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_MINIX$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^__EXTENSIONS__$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_ALL_SOURCE$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_GNU_SOURCE$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_POSIX_PTHREAD_SEMANTICS$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_TANDEM_SOURCE$])
-m4trace:configure.in:45: -1- _m4_warn([obsolete], [The macro `AC_ISC_POSIX' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/specific.m4:442: AC_ISC_POSIX is expanded from...
-configure.in:45: the top level])
-m4trace:configure.in:46: -1- _m4_warn([obsolete], [The macro `AC_MINIX' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/specific.m4:437: AC_MINIX is expanded from...
-configure.in:46: the top level])
-m4trace:configure.in:50: -1- AM_GNU_GETTEXT_VERSION([0.14.1])
-m4trace:configure.in:51: -1- AM_GNU_GETTEXT([external])
-m4trace:configure.in:51: -1- AM_GNU_GETTEXT_NEED([])
-m4trace:configure.in:51: -1- AM_PO_SUBDIRS
-m4trace:configure.in:51: -1- AM_NLS
-m4trace:configure.in:51: -1- m4_pattern_allow([^USE_NLS$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^GETTEXT_MACRO_VERSION$])
-m4trace:configure.in:51: -1- AM_PATH_PROG_WITH_TEST([MSGFMT], [msgfmt], [$ac_dir/$ac_word --statistics /dev/null >&5 2>&1 &&
- (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], [:])
-m4trace:configure.in:51: -1- m4_pattern_allow([^MSGFMT$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^GMSGFMT$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^MSGFMT_015$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^GMSGFMT_015$])
-m4trace:configure.in:51: -1- AM_PATH_PROG_WITH_TEST([XGETTEXT], [xgettext], [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 &&
- (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], [:])
-m4trace:configure.in:51: -1- m4_pattern_allow([^XGETTEXT$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^XGETTEXT_015$])
-m4trace:configure.in:51: -1- AM_PATH_PROG_WITH_TEST([MSGMERGE], [msgmerge], [$ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1], [:])
-m4trace:configure.in:51: -1- m4_pattern_allow([^MSGMERGE$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^localedir$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^XGETTEXT_EXTRA_OPTIONS$])
-m4trace:configure.in:51: -1- AC_LIB_PREPARE_PREFIX
-m4trace:configure.in:51: -1- AC_LIB_RPATH
-m4trace:configure.in:51: -1- AC_LIB_PROG_LD
-m4trace:configure.in:51: -1- AC_LIB_PROG_LD_GNU
-m4trace:configure.in:51: -1- AM_ICONV_LINKFLAGS_BODY
-m4trace:configure.in:51: -1- AC_LIB_LINKFLAGS_BODY([iconv])
-m4trace:configure.in:51: -1- AC_LIB_PREPARE_MULTILIB
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- gt_INTL_MACOSX
-m4trace:configure.in:51: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-/usr/share/aclocal/intlmacosx.m4:18: gt_INTL_MACOSX is expanded from...
-/usr/share/aclocal/gettext.m4:57: AM_GNU_GETTEXT is expanded from...
-configure.in:51: the top level])
-m4trace:configure.in:51: -1- m4_pattern_allow([^HAVE_CFPREFERENCESCOPYAPPVALUE$])
-m4trace:configure.in:51: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-/usr/share/aclocal/intlmacosx.m4:18: gt_INTL_MACOSX is expanded from...
-/usr/share/aclocal/gettext.m4:57: AM_GNU_GETTEXT is expanded from...
-configure.in:51: the top level])
-m4trace:configure.in:51: -1- m4_pattern_allow([^HAVE_CFLOCALECOPYCURRENT$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^INTL_MACOSX_LIBS$])
-m4trace:configure.in:51: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-/usr/share/aclocal/gettext.m4:57: AM_GNU_GETTEXT is expanded from...
-configure.in:51: the top level])
-m4trace:configure.in:51: -1- AM_ICONV_LINK
-m4trace:configure.in:51: -1- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-/usr/share/aclocal/iconv.m4:20: AM_ICONV_LINK is expanded from...
-/usr/share/aclocal/gettext.m4:57: AM_GNU_GETTEXT is expanded from...
-configure.in:51: the top level])
-m4trace:configure.in:51: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-/usr/share/aclocal/iconv.m4:20: AM_ICONV_LINK is expanded from...
-/usr/share/aclocal/gettext.m4:57: AM_GNU_GETTEXT is expanded from...
-configure.in:51: the top level])
-m4trace:configure.in:51: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2765: AC_TRY_RUN is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-/usr/share/aclocal/iconv.m4:20: AM_ICONV_LINK is expanded from...
-/usr/share/aclocal/gettext.m4:57: AM_GNU_GETTEXT is expanded from...
-configure.in:51: the top level])
-m4trace:configure.in:51: -1- m4_pattern_allow([^HAVE_ICONV$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^LIBICONV$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^LTLIBICONV$])
-m4trace:configure.in:51: -1- AC_LIB_LINKFLAGS_BODY([intl])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-/usr/share/aclocal/gettext.m4:57: AM_GNU_GETTEXT is expanded from...
-configure.in:51: the top level])
-m4trace:configure.in:51: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-/usr/share/aclocal/gettext.m4:57: AM_GNU_GETTEXT is expanded from...
-configure.in:51: the top level])
-m4trace:configure.in:51: -1- m4_pattern_allow([^ENABLE_NLS$])
-m4trace:configure.in:51: -1- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- m4_pattern_allow([^HAVE_GETTEXT$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^HAVE_DCGETTEXT$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^INTLLIBS$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^LIBINTL$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^LTLIBINTL$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^POSUB$])
-m4trace:configure.in:56: -1- m4_pattern_allow([^_FILE_OFFSET_BITS$])
-m4trace:configure.in:56: -1- m4_pattern_allow([^_LARGE_FILES$])
-m4trace:configure.in:62: -1- m4_pattern_allow([^STDC_HEADERS$])
-m4trace:configure.in:64: -1- m4_pattern_allow([^STAT_MACROS_BROKEN$])
-m4trace:configure.in:65: -1- m4_pattern_allow([^TIME_WITH_SYS_TIME$])
-m4trace:configure.in:71: -1- m4_pattern_allow([^HAVE_ANSI_COMPILER$])
-m4trace:configure.in:79: -1- AM_PROG_CC_C_O
-m4trace:configure.in:79: -1- m4_pattern_allow([^NO_MINUS_C_MINUS_O$])
-m4trace:configure.in:80: -1- m4_pattern_allow([^const$])
-m4trace:configure.in:81: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/types.m4:738: AC_TYPE_SIGNAL is expanded from...
-configure.in:81: the top level])
-m4trace:configure.in:81: -1- m4_pattern_allow([^RETSIGTYPE$])
-m4trace:configure.in:82: -1- m4_pattern_allow([^uid_t$])
-m4trace:configure.in:82: -1- m4_pattern_allow([^gid_t$])
-m4trace:configure.in:83: -1- m4_pattern_allow([^pid_t$])
-m4trace:configure.in:87: -1- m4_pattern_allow([^uintmax_t$])
-m4trace:configure.in:95: -1- AC_STRUCT_ST_MTIM_NSEC
-m4trace:configure.in:95: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-acinclude.m4:105: AC_STRUCT_ST_MTIM_NSEC is expanded from...
-configure.in:95: the top level])
-m4trace:configure.in:95: -1- m4_pattern_allow([^ST_MTIM_NSEC$])
-m4trace:configure.in:114: -1- m4_pattern_allow([^FILE_TIMESTAMP_HI_RES$])
-m4trace:configure.in:122: -1- m4_pattern_allow([^HAVE_CLOCK_GETTIME$])
-m4trace:configure.in:128: -1- pds_AC_DOS_PATHS
-m4trace:configure.in:128: -1- _m4_warn([syntax], [AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body], [../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
-../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
-../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-config/dospaths.m4:21: pds_AC_DOS_PATHS is expanded from...
-configure.in:128: the top level])
-m4trace:configure.in:128: -1- m4_pattern_allow([^HAVE_DOS_PATHS$])
-m4trace:configure.in:146: -1- m4_pattern_allow([^HAVE_GETTIMEOFDAY$])
-m4trace:configure.in:159: -1- m4_pattern_allow([^HAVE_DECL_BSD_SIGNAL$])
-m4trace:configure.in:161: -1- _m4_warn([obsolete], [The macro `AC_FUNC_SETVBUF_REVERSED' is obsolete. Remove it and all references to SETVBUF_REVERSED.], [../../lib/autoconf/functions.m4:1714: AC_FUNC_SETVBUF_REVERSED is expanded from...
-configure.in:161: the top level])
-m4trace:configure.in:169: -1- m4_pattern_allow([^HAVE_STRCOLL$])
-m4trace:configure.in:171: -1- m4_pattern_allow([^size_t$])
-m4trace:configure.in:171: -1- m4_pattern_allow([^HAVE_ALLOCA_H$])
-m4trace:configure.in:171: -1- m4_pattern_allow([^HAVE_ALLOCA$])
-m4trace:configure.in:171: -1- m4_pattern_allow([^ALLOCA$])
-m4trace:configure.in:171: -1- m4_pattern_allow([^C_ALLOCA$])
-m4trace:configure.in:171: -1- m4_pattern_allow([^CRAY_STACKSEG_END$])
-m4trace:configure.in:171: -1- m4_pattern_allow([^STACK_DIRECTION$])
-m4trace:configure.in:172: -1- m4_pattern_allow([^HAVE_VFORK_H$])
-m4trace:configure.in:172: -1- m4_pattern_allow([^HAVE_WORKING_VFORK$])
-m4trace:configure.in:172: -1- m4_pattern_allow([^vfork$])
-m4trace:configure.in:172: -1- m4_pattern_allow([^HAVE_WORKING_FORK$])
-m4trace:configure.in:173: -1- m4_pattern_allow([^HAVE_VPRINTF$])
-m4trace:configure.in:173: -1- m4_pattern_allow([^HAVE_DOPRNT$])
-m4trace:configure.in:174: -1- m4_pattern_allow([^CLOSEDIR_VOID$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_PSTAT_GETDYNAMIC$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_LIBKSTAT$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_GETLOADAVG$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^C_GETLOADAVG$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^DGUX$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_LIBDGC$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_SETLOCALE$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^SVR4$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^UMAX$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^UMAX4_3$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^UMAX$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_MACH_MACH_H$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_NLIST_H$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_STRUCT_NLIST_N_UN_N_NAME$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^NLIST_NAME_UNION$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^GETLOADAVG_PRIVILEGED$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^NEED_SETGID$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^KMEM_GROUP$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^GETLOADAVG_LIBS$])
-m4trace:configure.in:189: -1- m4_pattern_allow([^NLIST_STRUCT$])
-m4trace:configure.in:194: -1- m4_pattern_allow([^HAVE_DECL_SYS_SIGLIST$])
-m4trace:configure.in:194: -1- m4_pattern_allow([^HAVE_DECL__SYS_SIGLIST$])
-m4trace:configure.in:194: -1- m4_pattern_allow([^HAVE_DECL___SYS_SIGLIST$])
-m4trace:configure.in:205: -1- m4_pattern_allow([^HAVE_SYS_WAIT_H$])
-m4trace:configure.in:230: -1- m4_pattern_allow([^HAVE_UNION_WAIT$])
-m4trace:configure.in:238: -1- m4_pattern_allow([^HAVE_DOS_PATHS$])
-m4trace:configure.in:245: -1- m4_pattern_allow([^REMOTE$])
-m4trace:configure.in:248: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.in:248: the top level])
-m4trace:configure.in:247: -1- CF_NETLIBS
-m4trace:configure.in:247: -1- m4_pattern_allow([^HAVE_GETHOSTNAME$])
-m4trace:configure.in:247: -1- CF_RECHECK_FUNC([gethostname], [nsl], [cf_cv_netlibs], [
- CF_RECHECK_FUNC(gethostname,socket,cf_cv_netlibs)])
-m4trace:configure.in:247: -1- CF_UPPER([cf_tr_func], [gethostname])
-m4trace:configure.in:247: -1- CF_RECHECK_FUNC([gethostname], [socket], [cf_cv_netlibs])
-m4trace:configure.in:247: -1- CF_UPPER([cf_tr_func], [gethostname])
-m4trace:configure.in:247: -1- m4_pattern_allow([^HAVE_SOCKET$])
-m4trace:configure.in:247: -1- CF_RECHECK_FUNC([socket], [socket], [cf_cv_netlibs], [
- CF_RECHECK_FUNC(socket,bsd,cf_cv_netlibs)])
-m4trace:configure.in:247: -1- CF_UPPER([cf_tr_func], [socket])
-m4trace:configure.in:247: -1- CF_RECHECK_FUNC([socket], [bsd], [cf_cv_netlibs])
-m4trace:configure.in:247: -1- CF_UPPER([cf_tr_func], [socket])
-m4trace:configure.in:247: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME$])
-m4trace:configure.in:247: -1- CF_RECHECK_FUNC([gethostbyname], [nsl], [cf_cv_netlibs])
-m4trace:configure.in:247: -1- CF_UPPER([cf_tr_func], [gethostbyname])
-m4trace:configure.in:247: -1- _m4_warn([obsolete], [The macro `AC_FD_MSG' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:386: AC_FD_MSG is expanded from...
-acinclude.m4:39: CF_NETLIBS is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1482: AC_ARG_WITH is expanded from...
-configure.in:247: the top level])
-m4trace:configure.in:268: -1- AM_CONDITIONAL([USE_CUSTOMS], [test "$use_customs" = true])
-m4trace:configure.in:268: -1- m4_pattern_allow([^USE_CUSTOMS_TRUE$])
-m4trace:configure.in:268: -1- m4_pattern_allow([^USE_CUSTOMS_FALSE$])
-m4trace:configure.in:268: -1- _AM_SUBST_NOTMAKE([USE_CUSTOMS_TRUE])
-m4trace:configure.in:268: -1- _AM_SUBST_NOTMAKE([USE_CUSTOMS_FALSE])
-m4trace:configure.in:274: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.in:274: the top level])
-m4trace:configure.in:273: -1- m4_pattern_allow([^HAVE_CASE_INSENSITIVE_FS$])
-m4trace:configure.in:283: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.in:283: the top level])
-m4trace:configure.in:300: -1- m4_pattern_allow([^HAVE_SA_RESTART$])
-m4trace:configure.in:317: -1- m4_pattern_allow([^MAKE_JOBSERVER$])
-m4trace:configure.in:325: -1- m4_pattern_allow([^MAKE_SYMLINKS$])
-m4trace:configure.in:337: -1- m4_pattern_allow([^SCCS_GET$])
-m4trace:configure.in:352: -1- m4_pattern_allow([^SCCS_GET_MINUS_G$])
-m4trace:configure.in:381: -1- m4_pattern_allow([^GLOBINC$])
-m4trace:configure.in:382: -1- m4_pattern_allow([^GLOBLIB$])
-m4trace:configure.in:385: -1- AM_CONDITIONAL([USE_LOCAL_GLOB], [test "$make_cv_sys_gnu_glob" = no])
-m4trace:configure.in:385: -1- m4_pattern_allow([^USE_LOCAL_GLOB_TRUE$])
-m4trace:configure.in:385: -1- m4_pattern_allow([^USE_LOCAL_GLOB_FALSE$])
-m4trace:configure.in:385: -1- _AM_SUBST_NOTMAKE([USE_LOCAL_GLOB_TRUE])
-m4trace:configure.in:385: -1- _AM_SUBST_NOTMAKE([USE_LOCAL_GLOB_FALSE])
-m4trace:configure.in:389: -1- m4_pattern_allow([^MAKE_HOST$])
-m4trace:configure.in:391: -1- m4_pattern_allow([^MAKE_HOST$])
-m4trace:configure.in:394: -1- AM_CONDITIONAL([WINDOWSENV], [false])
-m4trace:configure.in:394: -1- m4_pattern_allow([^WINDOWSENV_TRUE$])
-m4trace:configure.in:394: -1- m4_pattern_allow([^WINDOWSENV_FALSE$])
-m4trace:configure.in:394: -1- _AM_SUBST_NOTMAKE([WINDOWSENV_TRUE])
-m4trace:configure.in:394: -1- _AM_SUBST_NOTMAKE([WINDOWSENV_FALSE])
-m4trace:configure.in:398: -1- AM_CONDITIONAL([WINDOWSENV], [true])
-m4trace:configure.in:398: -1- m4_pattern_allow([^WINDOWSENV_TRUE$])
-m4trace:configure.in:398: -1- m4_pattern_allow([^WINDOWSENV_FALSE$])
-m4trace:configure.in:398: -1- _AM_SUBST_NOTMAKE([WINDOWSENV_TRUE])
-m4trace:configure.in:398: -1- _AM_SUBST_NOTMAKE([WINDOWSENV_FALSE])
-m4trace:configure.in:400: -1- m4_pattern_allow([^WINDOWS32$])
-m4trace:configure.in:401: -1- m4_pattern_allow([^HAVE_DOS_PATHS$])
-m4trace:configure.in:405: -1- m4_pattern_allow([^PATH_SEPARATOR_CHAR$])
-m4trace:configure.in:413: -1- m4_pattern_allow([^MAINT_MAKEFILE$])
-m4trace:configure.in:416: -1- AM_WITH_DMALLOC
-m4trace:configure.in:416: -1- m4_pattern_allow([^WITH_DMALLOC$])
-m4trace:configure.in:469: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:469: -1- m4_pattern_allow([^LTLIBOBJS$])
-m4trace:configure.in:469: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])
-m4trace:configure.in:469: -1- m4_pattern_allow([^am__EXEEXT_TRUE$])
-m4trace:configure.in:469: -1- m4_pattern_allow([^am__EXEEXT_FALSE$])
-m4trace:configure.in:469: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE])
-m4trace:configure.in:469: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE])
-m4trace:configure.in:469: -1- _AC_AM_CONFIG_HEADER_HOOK(["$ac_file"])
-m4trace:configure.in:469: -1- _AM_OUTPUT_DEPENDENCY_COMMANDS
diff --git a/autom4te.cache/traces.1 b/autom4te.cache/traces.1
deleted file mode 100644
index 9fb674a3..00000000
--- a/autom4te.cache/traces.1
+++ /dev/null
@@ -1,1081 +0,0 @@
-m4trace:aclocal.m4:1034: -1- m4_include([config/dospaths.m4])
-m4trace:aclocal.m4:1035: -1- m4_include([config/gettext.m4])
-m4trace:aclocal.m4:1036: -1- m4_include([config/iconv.m4])
-m4trace:aclocal.m4:1037: -1- m4_include([config/isc-posix.m4])
-m4trace:aclocal.m4:1038: -1- m4_include([config/lib-ld.m4])
-m4trace:aclocal.m4:1039: -1- m4_include([config/lib-link.m4])
-m4trace:aclocal.m4:1040: -1- m4_include([config/lib-prefix.m4])
-m4trace:aclocal.m4:1041: -1- m4_include([config/nls.m4])
-m4trace:aclocal.m4:1042: -1- m4_include([config/po.m4])
-m4trace:aclocal.m4:1043: -1- m4_include([config/progtest.m4])
-m4trace:aclocal.m4:1044: -1- m4_include([acinclude.m4])
-m4trace:configure.in:20: -1- AC_INIT([GNU make], [3.82.90], [bug-make@gnu.org])
-m4trace:configure.in:20: -1- m4_pattern_forbid([^_?A[CHUM]_])
-m4trace:configure.in:20: -1- m4_pattern_forbid([_AC_])
-m4trace:configure.in:20: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
-m4trace:configure.in:20: -1- m4_pattern_allow([^AS_FLAGS$])
-m4trace:configure.in:20: -1- m4_pattern_forbid([^_?m4_])
-m4trace:configure.in:20: -1- m4_pattern_forbid([^dnl$])
-m4trace:configure.in:20: -1- m4_pattern_forbid([^_?AS_])
-m4trace:configure.in:20: -1- AC_SUBST([SHELL])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([SHELL])
-m4trace:configure.in:20: -1- m4_pattern_allow([^SHELL$])
-m4trace:configure.in:20: -1- AC_SUBST([PATH_SEPARATOR])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PATH_SEPARATOR$])
-m4trace:configure.in:20: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([PACKAGE_NAME])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_NAME$])
-m4trace:configure.in:20: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
-m4trace:configure.in:20: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_VERSION$])
-m4trace:configure.in:20: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([PACKAGE_STRING])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_STRING$])
-m4trace:configure.in:20: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
-m4trace:configure.in:20: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([PACKAGE_URL])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_URL$])
-m4trace:configure.in:20: -1- AC_SUBST([exec_prefix], [NONE])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([exec_prefix])
-m4trace:configure.in:20: -1- m4_pattern_allow([^exec_prefix$])
-m4trace:configure.in:20: -1- AC_SUBST([prefix], [NONE])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([prefix])
-m4trace:configure.in:20: -1- m4_pattern_allow([^prefix$])
-m4trace:configure.in:20: -1- AC_SUBST([program_transform_name], [s,x,x,])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([program_transform_name])
-m4trace:configure.in:20: -1- m4_pattern_allow([^program_transform_name$])
-m4trace:configure.in:20: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([bindir])
-m4trace:configure.in:20: -1- m4_pattern_allow([^bindir$])
-m4trace:configure.in:20: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([sbindir])
-m4trace:configure.in:20: -1- m4_pattern_allow([^sbindir$])
-m4trace:configure.in:20: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([libexecdir])
-m4trace:configure.in:20: -1- m4_pattern_allow([^libexecdir$])
-m4trace:configure.in:20: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([datarootdir])
-m4trace:configure.in:20: -1- m4_pattern_allow([^datarootdir$])
-m4trace:configure.in:20: -1- AC_SUBST([datadir], ['${datarootdir}'])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([datadir])
-m4trace:configure.in:20: -1- m4_pattern_allow([^datadir$])
-m4trace:configure.in:20: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([sysconfdir])
-m4trace:configure.in:20: -1- m4_pattern_allow([^sysconfdir$])
-m4trace:configure.in:20: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([sharedstatedir])
-m4trace:configure.in:20: -1- m4_pattern_allow([^sharedstatedir$])
-m4trace:configure.in:20: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([localstatedir])
-m4trace:configure.in:20: -1- m4_pattern_allow([^localstatedir$])
-m4trace:configure.in:20: -1- AC_SUBST([includedir], ['${prefix}/include'])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([includedir])
-m4trace:configure.in:20: -1- m4_pattern_allow([^includedir$])
-m4trace:configure.in:20: -1- AC_SUBST([oldincludedir], ['/usr/include'])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([oldincludedir])
-m4trace:configure.in:20: -1- m4_pattern_allow([^oldincludedir$])
-m4trace:configure.in:20: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
- ['${datarootdir}/doc/${PACKAGE_TARNAME}'],
- ['${datarootdir}/doc/${PACKAGE}'])])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([docdir])
-m4trace:configure.in:20: -1- m4_pattern_allow([^docdir$])
-m4trace:configure.in:20: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([infodir])
-m4trace:configure.in:20: -1- m4_pattern_allow([^infodir$])
-m4trace:configure.in:20: -1- AC_SUBST([htmldir], ['${docdir}'])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([htmldir])
-m4trace:configure.in:20: -1- m4_pattern_allow([^htmldir$])
-m4trace:configure.in:20: -1- AC_SUBST([dvidir], ['${docdir}'])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([dvidir])
-m4trace:configure.in:20: -1- m4_pattern_allow([^dvidir$])
-m4trace:configure.in:20: -1- AC_SUBST([pdfdir], ['${docdir}'])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([pdfdir])
-m4trace:configure.in:20: -1- m4_pattern_allow([^pdfdir$])
-m4trace:configure.in:20: -1- AC_SUBST([psdir], ['${docdir}'])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([psdir])
-m4trace:configure.in:20: -1- m4_pattern_allow([^psdir$])
-m4trace:configure.in:20: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([libdir])
-m4trace:configure.in:20: -1- m4_pattern_allow([^libdir$])
-m4trace:configure.in:20: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([localedir])
-m4trace:configure.in:20: -1- m4_pattern_allow([^localedir$])
-m4trace:configure.in:20: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([mandir])
-m4trace:configure.in:20: -1- m4_pattern_allow([^mandir$])
-m4trace:configure.in:20: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_NAME$])
-m4trace:configure.in:20: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
-@%:@undef PACKAGE_NAME])
-m4trace:configure.in:20: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
-m4trace:configure.in:20: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
-@%:@undef PACKAGE_TARNAME])
-m4trace:configure.in:20: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_VERSION$])
-m4trace:configure.in:20: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
-@%:@undef PACKAGE_VERSION])
-m4trace:configure.in:20: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_STRING$])
-m4trace:configure.in:20: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
-@%:@undef PACKAGE_STRING])
-m4trace:configure.in:20: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
-m4trace:configure.in:20: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
-@%:@undef PACKAGE_BUGREPORT])
-m4trace:configure.in:20: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_URL$])
-m4trace:configure.in:20: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */
-@%:@undef PACKAGE_URL])
-m4trace:configure.in:20: -1- AC_SUBST([DEFS])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([DEFS])
-m4trace:configure.in:20: -1- m4_pattern_allow([^DEFS$])
-m4trace:configure.in:20: -1- AC_SUBST([ECHO_C])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([ECHO_C])
-m4trace:configure.in:20: -1- m4_pattern_allow([^ECHO_C$])
-m4trace:configure.in:20: -1- AC_SUBST([ECHO_N])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([ECHO_N])
-m4trace:configure.in:20: -1- m4_pattern_allow([^ECHO_N$])
-m4trace:configure.in:20: -1- AC_SUBST([ECHO_T])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([ECHO_T])
-m4trace:configure.in:20: -1- m4_pattern_allow([^ECHO_T$])
-m4trace:configure.in:20: -1- AC_SUBST([LIBS])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([LIBS])
-m4trace:configure.in:20: -1- m4_pattern_allow([^LIBS$])
-m4trace:configure.in:20: -1- AC_SUBST([build_alias])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([build_alias])
-m4trace:configure.in:20: -1- m4_pattern_allow([^build_alias$])
-m4trace:configure.in:20: -1- AC_SUBST([host_alias])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([host_alias])
-m4trace:configure.in:20: -1- m4_pattern_allow([^host_alias$])
-m4trace:configure.in:20: -1- AC_SUBST([target_alias])
-m4trace:configure.in:20: -1- AC_SUBST_TRACE([target_alias])
-m4trace:configure.in:20: -1- m4_pattern_allow([^target_alias$])
-m4trace:configure.in:26: -1- AC_CONFIG_AUX_DIR([config])
-m4trace:configure.in:28: -1- AC_CONFIG_HEADERS([config.h])
-m4trace:configure.in:31: -1- AM_INIT_AUTOMAKE([1.9])
-m4trace:configure.in:31: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
-m4trace:configure.in:31: -1- AM_AUTOMAKE_VERSION([1.11.6])
-m4trace:configure.in:31: -1- AC_REQUIRE_AUX_FILE([install-sh])
-m4trace:configure.in:31: -1- AC_SUBST([INSTALL_PROGRAM])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
-m4trace:configure.in:31: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
-m4trace:configure.in:31: -1- AC_SUBST([INSTALL_SCRIPT])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
-m4trace:configure.in:31: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
-m4trace:configure.in:31: -1- AC_SUBST([INSTALL_DATA])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([INSTALL_DATA])
-m4trace:configure.in:31: -1- m4_pattern_allow([^INSTALL_DATA$])
-m4trace:configure.in:31: -1- AC_SUBST([am__isrc], [' -I$(srcdir)'])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([am__isrc])
-m4trace:configure.in:31: -1- m4_pattern_allow([^am__isrc$])
-m4trace:configure.in:31: -1- _AM_SUBST_NOTMAKE([am__isrc])
-m4trace:configure.in:31: -1- AC_SUBST([CYGPATH_W])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([CYGPATH_W])
-m4trace:configure.in:31: -1- m4_pattern_allow([^CYGPATH_W$])
-m4trace:configure.in:31: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([PACKAGE])
-m4trace:configure.in:31: -1- m4_pattern_allow([^PACKAGE$])
-m4trace:configure.in:31: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([VERSION])
-m4trace:configure.in:31: -1- m4_pattern_allow([^VERSION$])
-m4trace:configure.in:31: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE])
-m4trace:configure.in:31: -1- m4_pattern_allow([^PACKAGE$])
-m4trace:configure.in:31: -1- AH_OUTPUT([PACKAGE], [/* Name of package */
-@%:@undef PACKAGE])
-m4trace:configure.in:31: -1- AC_DEFINE_TRACE_LITERAL([VERSION])
-m4trace:configure.in:31: -1- m4_pattern_allow([^VERSION$])
-m4trace:configure.in:31: -1- AH_OUTPUT([VERSION], [/* Version number of package */
-@%:@undef VERSION])
-m4trace:configure.in:31: -1- AC_REQUIRE_AUX_FILE([missing])
-m4trace:configure.in:31: -1- AC_SUBST([ACLOCAL])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([ACLOCAL])
-m4trace:configure.in:31: -1- m4_pattern_allow([^ACLOCAL$])
-m4trace:configure.in:31: -1- AC_SUBST([AUTOCONF])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([AUTOCONF])
-m4trace:configure.in:31: -1- m4_pattern_allow([^AUTOCONF$])
-m4trace:configure.in:31: -1- AC_SUBST([AUTOMAKE])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([AUTOMAKE])
-m4trace:configure.in:31: -1- m4_pattern_allow([^AUTOMAKE$])
-m4trace:configure.in:31: -1- AC_SUBST([AUTOHEADER])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([AUTOHEADER])
-m4trace:configure.in:31: -1- m4_pattern_allow([^AUTOHEADER$])
-m4trace:configure.in:31: -1- AC_SUBST([MAKEINFO])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([MAKEINFO])
-m4trace:configure.in:31: -1- m4_pattern_allow([^MAKEINFO$])
-m4trace:configure.in:31: -1- AC_SUBST([install_sh])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([install_sh])
-m4trace:configure.in:31: -1- m4_pattern_allow([^install_sh$])
-m4trace:configure.in:31: -1- AC_SUBST([STRIP])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([STRIP])
-m4trace:configure.in:31: -1- m4_pattern_allow([^STRIP$])
-m4trace:configure.in:31: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM])
-m4trace:configure.in:31: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$])
-m4trace:configure.in:31: -1- AC_REQUIRE_AUX_FILE([install-sh])
-m4trace:configure.in:31: -1- AC_SUBST([MKDIR_P])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([MKDIR_P])
-m4trace:configure.in:31: -1- m4_pattern_allow([^MKDIR_P$])
-m4trace:configure.in:31: -1- AC_SUBST([mkdir_p], ["$MKDIR_P"])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([mkdir_p])
-m4trace:configure.in:31: -1- m4_pattern_allow([^mkdir_p$])
-m4trace:configure.in:31: -1- AC_SUBST([AWK])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([AWK])
-m4trace:configure.in:31: -1- m4_pattern_allow([^AWK$])
-m4trace:configure.in:31: -1- AC_SUBST([SET_MAKE])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([SET_MAKE])
-m4trace:configure.in:31: -1- m4_pattern_allow([^SET_MAKE$])
-m4trace:configure.in:31: -1- AC_SUBST([am__leading_dot])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([am__leading_dot])
-m4trace:configure.in:31: -1- m4_pattern_allow([^am__leading_dot$])
-m4trace:configure.in:31: -1- AC_SUBST([AMTAR], ['$${TAR-tar}'])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([AMTAR])
-m4trace:configure.in:31: -1- m4_pattern_allow([^AMTAR$])
-m4trace:configure.in:31: -1- AC_SUBST([am__tar])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([am__tar])
-m4trace:configure.in:31: -1- m4_pattern_allow([^am__tar$])
-m4trace:configure.in:31: -1- AC_SUBST([am__untar])
-m4trace:configure.in:31: -1- AC_SUBST_TRACE([am__untar])
-m4trace:configure.in:31: -1- m4_pattern_allow([^am__untar$])
-m4trace:configure.in:34: -1- AC_SUBST([CC])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:34: -1- AC_SUBST([CFLAGS])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([CFLAGS])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CFLAGS$])
-m4trace:configure.in:34: -1- AC_SUBST([LDFLAGS])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([LDFLAGS])
-m4trace:configure.in:34: -1- m4_pattern_allow([^LDFLAGS$])
-m4trace:configure.in:34: -1- AC_SUBST([LIBS])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([LIBS])
-m4trace:configure.in:34: -1- m4_pattern_allow([^LIBS$])
-m4trace:configure.in:34: -1- AC_SUBST([CPPFLAGS])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([CPPFLAGS])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CPPFLAGS$])
-m4trace:configure.in:34: -1- AC_SUBST([CC])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:34: -1- AC_SUBST([CC])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:34: -1- AC_SUBST([CC])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:34: -1- AC_SUBST([CC])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([CC])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:34: -1- AC_SUBST([ac_ct_CC])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([ac_ct_CC])
-m4trace:configure.in:34: -1- m4_pattern_allow([^ac_ct_CC$])
-m4trace:configure.in:34: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([EXEEXT])
-m4trace:configure.in:34: -1- m4_pattern_allow([^EXEEXT$])
-m4trace:configure.in:34: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([OBJEXT])
-m4trace:configure.in:34: -1- m4_pattern_allow([^OBJEXT$])
-m4trace:configure.in:34: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([DEPDIR])
-m4trace:configure.in:34: -1- m4_pattern_allow([^DEPDIR$])
-m4trace:configure.in:34: -1- AC_SUBST([am__include])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([am__include])
-m4trace:configure.in:34: -1- m4_pattern_allow([^am__include$])
-m4trace:configure.in:34: -1- AC_SUBST([am__quote])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([am__quote])
-m4trace:configure.in:34: -1- m4_pattern_allow([^am__quote$])
-m4trace:configure.in:34: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-m4trace:configure.in:34: -1- AC_SUBST([AMDEP_TRUE])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([AMDEP_TRUE])
-m4trace:configure.in:34: -1- m4_pattern_allow([^AMDEP_TRUE$])
-m4trace:configure.in:34: -1- AC_SUBST([AMDEP_FALSE])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([AMDEP_FALSE])
-m4trace:configure.in:34: -1- m4_pattern_allow([^AMDEP_FALSE$])
-m4trace:configure.in:34: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE])
-m4trace:configure.in:34: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE])
-m4trace:configure.in:34: -1- AC_SUBST([AMDEPBACKSLASH])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([AMDEPBACKSLASH])
-m4trace:configure.in:34: -1- m4_pattern_allow([^AMDEPBACKSLASH$])
-m4trace:configure.in:34: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])
-m4trace:configure.in:34: -1- AC_SUBST([am__nodep])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([am__nodep])
-m4trace:configure.in:34: -1- m4_pattern_allow([^am__nodep$])
-m4trace:configure.in:34: -1- _AM_SUBST_NOTMAKE([am__nodep])
-m4trace:configure.in:34: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([CCDEPMODE])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CCDEPMODE$])
-m4trace:configure.in:34: -1- AM_CONDITIONAL([am__fastdepCC], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3])
-m4trace:configure.in:34: -1- AC_SUBST([am__fastdepCC_TRUE])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE])
-m4trace:configure.in:34: -1- m4_pattern_allow([^am__fastdepCC_TRUE$])
-m4trace:configure.in:34: -1- AC_SUBST([am__fastdepCC_FALSE])
-m4trace:configure.in:34: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE])
-m4trace:configure.in:34: -1- m4_pattern_allow([^am__fastdepCC_FALSE$])
-m4trace:configure.in:34: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE])
-m4trace:configure.in:34: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE])
-m4trace:configure.in:36: -1- AC_SUBST([RANLIB])
-m4trace:configure.in:36: -1- AC_SUBST_TRACE([RANLIB])
-m4trace:configure.in:36: -1- m4_pattern_allow([^RANLIB$])
-m4trace:configure.in:37: -1- AC_SUBST([CPP])
-m4trace:configure.in:37: -1- AC_SUBST_TRACE([CPP])
-m4trace:configure.in:37: -1- m4_pattern_allow([^CPP$])
-m4trace:configure.in:37: -1- AC_SUBST([CPPFLAGS])
-m4trace:configure.in:37: -1- AC_SUBST_TRACE([CPPFLAGS])
-m4trace:configure.in:37: -1- m4_pattern_allow([^CPPFLAGS$])
-m4trace:configure.in:37: -1- AC_SUBST([CPP])
-m4trace:configure.in:37: -1- AC_SUBST_TRACE([CPP])
-m4trace:configure.in:37: -1- m4_pattern_allow([^CPP$])
-m4trace:configure.in:38: -1- AC_SUBST([AR])
-m4trace:configure.in:38: -1- AC_SUBST_TRACE([AR])
-m4trace:configure.in:38: -1- m4_pattern_allow([^AR$])
-m4trace:configure.in:40: -1- AC_SUBST([PERL])
-m4trace:configure.in:40: -1- AC_SUBST_TRACE([PERL])
-m4trace:configure.in:40: -1- m4_pattern_allow([^PERL$])
-m4trace:configure.in:43: -1- AC_CANONICAL_HOST
-m4trace:configure.in:43: -1- AC_CANONICAL_BUILD
-m4trace:configure.in:43: -1- AC_REQUIRE_AUX_FILE([config.sub])
-m4trace:configure.in:43: -1- AC_REQUIRE_AUX_FILE([config.guess])
-m4trace:configure.in:43: -1- AC_SUBST([build], [$ac_cv_build])
-m4trace:configure.in:43: -1- AC_SUBST_TRACE([build])
-m4trace:configure.in:43: -1- m4_pattern_allow([^build$])
-m4trace:configure.in:43: -1- AC_SUBST([build_cpu], [$[1]])
-m4trace:configure.in:43: -1- AC_SUBST_TRACE([build_cpu])
-m4trace:configure.in:43: -1- m4_pattern_allow([^build_cpu$])
-m4trace:configure.in:43: -1- AC_SUBST([build_vendor], [$[2]])
-m4trace:configure.in:43: -1- AC_SUBST_TRACE([build_vendor])
-m4trace:configure.in:43: -1- m4_pattern_allow([^build_vendor$])
-m4trace:configure.in:43: -1- AC_SUBST([build_os])
-m4trace:configure.in:43: -1- AC_SUBST_TRACE([build_os])
-m4trace:configure.in:43: -1- m4_pattern_allow([^build_os$])
-m4trace:configure.in:43: -1- AC_SUBST([host], [$ac_cv_host])
-m4trace:configure.in:43: -1- AC_SUBST_TRACE([host])
-m4trace:configure.in:43: -1- m4_pattern_allow([^host$])
-m4trace:configure.in:43: -1- AC_SUBST([host_cpu], [$[1]])
-m4trace:configure.in:43: -1- AC_SUBST_TRACE([host_cpu])
-m4trace:configure.in:43: -1- m4_pattern_allow([^host_cpu$])
-m4trace:configure.in:43: -1- AC_SUBST([host_vendor], [$[2]])
-m4trace:configure.in:43: -1- AC_SUBST_TRACE([host_vendor])
-m4trace:configure.in:43: -1- m4_pattern_allow([^host_vendor$])
-m4trace:configure.in:43: -1- AC_SUBST([host_os])
-m4trace:configure.in:43: -1- AC_SUBST_TRACE([host_os])
-m4trace:configure.in:43: -1- m4_pattern_allow([^host_os$])
-m4trace:configure.in:44: -1- _m4_warn([obsolete], [The macro `AC_AIX' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/specific.m4:432: AC_AIX is expanded from...
-configure.in:44: the top level])
-m4trace:configure.in:44: -1- AC_SUBST([GREP])
-m4trace:configure.in:44: -1- AC_SUBST_TRACE([GREP])
-m4trace:configure.in:44: -1- m4_pattern_allow([^GREP$])
-m4trace:configure.in:44: -1- AC_SUBST([EGREP])
-m4trace:configure.in:44: -1- AC_SUBST_TRACE([EGREP])
-m4trace:configure.in:44: -1- m4_pattern_allow([^EGREP$])
-m4trace:configure.in:44: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
-m4trace:configure.in:44: -1- m4_pattern_allow([^STDC_HEADERS$])
-m4trace:configure.in:44: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
-@%:@undef STDC_HEADERS])
-m4trace:configure.in:44: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
-@%:@undef HAVE_SYS_TYPES_H])
-m4trace:configure.in:44: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
-@%:@undef HAVE_SYS_STAT_H])
-m4trace:configure.in:44: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
-@%:@undef HAVE_STDLIB_H])
-m4trace:configure.in:44: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
-@%:@undef HAVE_STRING_H])
-m4trace:configure.in:44: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
-@%:@undef HAVE_MEMORY_H])
-m4trace:configure.in:44: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
-@%:@undef HAVE_STRINGS_H])
-m4trace:configure.in:44: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
-@%:@undef HAVE_INTTYPES_H])
-m4trace:configure.in:44: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
-@%:@undef HAVE_STDINT_H])
-m4trace:configure.in:44: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
-@%:@undef HAVE_UNISTD_H])
-m4trace:configure.in:44: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_SOURCE])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_POSIX_SOURCE$])
-m4trace:configure.in:44: -1- AH_OUTPUT([_POSIX_SOURCE], [/* Define to 1 if you need to in order for `stat\' and other things to work. */
-@%:@undef _POSIX_SOURCE])
-m4trace:configure.in:44: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_1_SOURCE])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_POSIX_1_SOURCE$])
-m4trace:configure.in:44: -1- AH_OUTPUT([_POSIX_1_SOURCE], [/* Define to 2 if the system does not provide POSIX.1 features except with
- this defined. */
-@%:@undef _POSIX_1_SOURCE])
-m4trace:configure.in:44: -1- AC_DEFINE_TRACE_LITERAL([_MINIX])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_MINIX$])
-m4trace:configure.in:44: -1- AH_OUTPUT([_MINIX], [/* Define to 1 if on MINIX. */
-@%:@undef _MINIX])
-m4trace:configure.in:44: -1- AH_OUTPUT([USE_SYSTEM_EXTENSIONS], [/* Enable extensions on AIX 3, Interix. */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-/* Enable GNU extensions on systems that have them. */
-#ifndef _GNU_SOURCE
-# undef _GNU_SOURCE
-#endif
-/* Enable threading extensions on Solaris. */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# undef _POSIX_PTHREAD_SEMANTICS
-#endif
-/* Enable extensions on HP NonStop. */
-#ifndef _TANDEM_SOURCE
-# undef _TANDEM_SOURCE
-#endif
-/* Enable general extensions on Solaris. */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
-#endif
-])
-m4trace:configure.in:44: -1- AC_DEFINE_TRACE_LITERAL([__EXTENSIONS__])
-m4trace:configure.in:44: -1- m4_pattern_allow([^__EXTENSIONS__$])
-m4trace:configure.in:44: -1- AC_DEFINE_TRACE_LITERAL([_ALL_SOURCE])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_ALL_SOURCE$])
-m4trace:configure.in:44: -1- AC_DEFINE_TRACE_LITERAL([_GNU_SOURCE])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_GNU_SOURCE$])
-m4trace:configure.in:44: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_PTHREAD_SEMANTICS])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_POSIX_PTHREAD_SEMANTICS$])
-m4trace:configure.in:44: -1- AC_DEFINE_TRACE_LITERAL([_TANDEM_SOURCE])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_TANDEM_SOURCE$])
-m4trace:configure.in:46: -1- _m4_warn([obsolete], [The macro `AC_MINIX' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/specific.m4:437: AC_MINIX is expanded from...
-configure.in:46: the top level])
-m4trace:configure.in:51: -1- AM_GNU_GETTEXT([external])
-m4trace:configure.in:51: -1- AC_SUBST([MKINSTALLDIRS])
-m4trace:configure.in:51: -1- AC_SUBST_TRACE([MKINSTALLDIRS])
-m4trace:configure.in:51: -1- m4_pattern_allow([^MKINSTALLDIRS$])
-m4trace:configure.in:51: -1- AM_NLS
-m4trace:configure.in:51: -1- AC_SUBST([USE_NLS])
-m4trace:configure.in:51: -1- AC_SUBST_TRACE([USE_NLS])
-m4trace:configure.in:51: -1- m4_pattern_allow([^USE_NLS$])
-m4trace:configure.in:51: -1- AC_SUBST([MSGFMT])
-m4trace:configure.in:51: -1- AC_SUBST_TRACE([MSGFMT])
-m4trace:configure.in:51: -1- m4_pattern_allow([^MSGFMT$])
-m4trace:configure.in:51: -1- AC_SUBST([GMSGFMT])
-m4trace:configure.in:51: -1- AC_SUBST_TRACE([GMSGFMT])
-m4trace:configure.in:51: -1- m4_pattern_allow([^GMSGFMT$])
-m4trace:configure.in:51: -1- AC_SUBST([XGETTEXT])
-m4trace:configure.in:51: -1- AC_SUBST_TRACE([XGETTEXT])
-m4trace:configure.in:51: -1- m4_pattern_allow([^XGETTEXT$])
-m4trace:configure.in:51: -1- AC_SUBST([MSGMERGE])
-m4trace:configure.in:51: -1- AC_SUBST_TRACE([MSGMERGE])
-m4trace:configure.in:51: -1- m4_pattern_allow([^MSGMERGE$])
-m4trace:configure.in:51: -1- _m4_warn([obsolete], [The macro `AC_OUTPUT_COMMANDS' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/status.m4:1028: AC_OUTPUT_COMMANDS is expanded from...
-config/po.m4:23: AM_PO_SUBDIRS is expanded from...
-config/gettext.m4:59: AM_GNU_GETTEXT is expanded from...
-configure.in:51: the top level])
-m4trace:configure.in:51: -1- AM_NLS
-m4trace:configure.in:51: -1- AC_SUBST([USE_NLS])
-m4trace:configure.in:51: -1- AC_SUBST_TRACE([USE_NLS])
-m4trace:configure.in:51: -1- m4_pattern_allow([^USE_NLS$])
-m4trace:configure.in:51: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-config/gettext.m4:59: AM_GNU_GETTEXT is expanded from...
-configure.in:51: the top level])
-m4trace:configure.in:51: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-config/iconv.m4:22: AM_ICONV_LINK is expanded from...
-config/gettext.m4:59: AM_GNU_GETTEXT is expanded from...
-configure.in:51: the top level])
-m4trace:configure.in:51: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-config/iconv.m4:22: AM_ICONV_LINK is expanded from...
-config/gettext.m4:59: AM_GNU_GETTEXT is expanded from...
-configure.in:51: the top level])
-m4trace:configure.in:51: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ICONV])
-m4trace:configure.in:51: -1- m4_pattern_allow([^HAVE_ICONV$])
-m4trace:configure.in:51: -1- AH_OUTPUT([HAVE_ICONV], [/* Define if you have the iconv() function. */
-@%:@undef HAVE_ICONV])
-m4trace:configure.in:51: -1- AC_SUBST([LIBICONV])
-m4trace:configure.in:51: -1- AC_SUBST_TRACE([LIBICONV])
-m4trace:configure.in:51: -1- m4_pattern_allow([^LIBICONV$])
-m4trace:configure.in:51: -1- AC_SUBST([LTLIBICONV])
-m4trace:configure.in:51: -1- AC_SUBST_TRACE([LTLIBICONV])
-m4trace:configure.in:51: -1- m4_pattern_allow([^LTLIBICONV$])
-m4trace:configure.in:51: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-config/gettext.m4:59: AM_GNU_GETTEXT is expanded from...
-configure.in:51: the top level])
-m4trace:configure.in:51: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-config/gettext.m4:59: AM_GNU_GETTEXT is expanded from...
-configure.in:51: the top level])
-m4trace:configure.in:51: -1- AC_DEFINE_TRACE_LITERAL([ENABLE_NLS])
-m4trace:configure.in:51: -1- m4_pattern_allow([^ENABLE_NLS$])
-m4trace:configure.in:51: -1- AH_OUTPUT([ENABLE_NLS], [/* Define to 1 if translation of program messages to the user\'s native
- language is requested. */
-@%:@undef ENABLE_NLS])
-m4trace:configure.in:51: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETTEXT])
-m4trace:configure.in:51: -1- m4_pattern_allow([^HAVE_GETTEXT$])
-m4trace:configure.in:51: -1- AH_OUTPUT([HAVE_GETTEXT], [/* Define if the GNU gettext() function is already present or preinstalled. */
-@%:@undef HAVE_GETTEXT])
-m4trace:configure.in:51: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DCGETTEXT])
-m4trace:configure.in:51: -1- m4_pattern_allow([^HAVE_DCGETTEXT$])
-m4trace:configure.in:51: -1- AH_OUTPUT([HAVE_DCGETTEXT], [/* Define if the GNU dcgettext() function is already present or preinstalled.
- */
-@%:@undef HAVE_DCGETTEXT])
-m4trace:configure.in:51: -1- AC_SUBST([INTLLIBS])
-m4trace:configure.in:51: -1- AC_SUBST_TRACE([INTLLIBS])
-m4trace:configure.in:51: -1- m4_pattern_allow([^INTLLIBS$])
-m4trace:configure.in:51: -1- AC_SUBST([LIBINTL])
-m4trace:configure.in:51: -1- AC_SUBST_TRACE([LIBINTL])
-m4trace:configure.in:51: -1- m4_pattern_allow([^LIBINTL$])
-m4trace:configure.in:51: -1- AC_SUBST([LTLIBINTL])
-m4trace:configure.in:51: -1- AC_SUBST_TRACE([LTLIBINTL])
-m4trace:configure.in:51: -1- m4_pattern_allow([^LTLIBINTL$])
-m4trace:configure.in:51: -1- AC_SUBST([POSUB])
-m4trace:configure.in:51: -1- AC_SUBST_TRACE([POSUB])
-m4trace:configure.in:51: -1- m4_pattern_allow([^POSUB$])
-m4trace:configure.in:56: -1- AC_DEFINE_TRACE_LITERAL([_FILE_OFFSET_BITS])
-m4trace:configure.in:56: -1- m4_pattern_allow([^_FILE_OFFSET_BITS$])
-m4trace:configure.in:56: -1- AH_OUTPUT([_FILE_OFFSET_BITS], [/* Number of bits in a file offset, on hosts where this is settable. */
-@%:@undef _FILE_OFFSET_BITS])
-m4trace:configure.in:56: -1- AC_DEFINE_TRACE_LITERAL([_LARGE_FILES])
-m4trace:configure.in:56: -1- m4_pattern_allow([^_LARGE_FILES$])
-m4trace:configure.in:56: -1- AH_OUTPUT([_LARGE_FILES], [/* Define for large files, on AIX-style hosts. */
-@%:@undef _LARGE_FILES])
-m4trace:configure.in:62: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
-m4trace:configure.in:62: -1- m4_pattern_allow([^STDC_HEADERS$])
-m4trace:configure.in:62: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
-@%:@undef STDC_HEADERS])
-m4trace:configure.in:63: -1- AH_OUTPUT([HAVE_DIRENT_H], [/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR\'.
- */
-@%:@undef HAVE_DIRENT_H])
-m4trace:configure.in:63: -1- AH_OUTPUT([HAVE_SYS_NDIR_H], [/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR\'.
- */
-@%:@undef HAVE_SYS_NDIR_H])
-m4trace:configure.in:63: -1- AH_OUTPUT([HAVE_SYS_DIR_H], [/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR\'.
- */
-@%:@undef HAVE_SYS_DIR_H])
-m4trace:configure.in:63: -1- AH_OUTPUT([HAVE_NDIR_H], [/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR\'. */
-@%:@undef HAVE_NDIR_H])
-m4trace:configure.in:64: -1- AC_DEFINE_TRACE_LITERAL([STAT_MACROS_BROKEN])
-m4trace:configure.in:64: -1- m4_pattern_allow([^STAT_MACROS_BROKEN$])
-m4trace:configure.in:64: -1- AH_OUTPUT([STAT_MACROS_BROKEN], [/* Define to 1 if the `S_IS*\' macros in <sys/stat.h> do not work properly. */
-@%:@undef STAT_MACROS_BROKEN])
-m4trace:configure.in:65: -1- AC_DEFINE_TRACE_LITERAL([TIME_WITH_SYS_TIME])
-m4trace:configure.in:65: -1- m4_pattern_allow([^TIME_WITH_SYS_TIME$])
-m4trace:configure.in:65: -1- AH_OUTPUT([TIME_WITH_SYS_TIME], [/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-@%:@undef TIME_WITH_SYS_TIME])
-m4trace:configure.in:66: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
-@%:@undef HAVE_STDLIB_H])
-m4trace:configure.in:66: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the <locale.h> header file. */
-@%:@undef HAVE_LOCALE_H])
-m4trace:configure.in:66: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
-@%:@undef HAVE_UNISTD_H])
-m4trace:configure.in:66: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
-@%:@undef HAVE_LIMITS_H])
-m4trace:configure.in:66: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
-@%:@undef HAVE_FCNTL_H])
-m4trace:configure.in:66: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
-@%:@undef HAVE_STRING_H])
-m4trace:configure.in:66: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
-@%:@undef HAVE_MEMORY_H])
-m4trace:configure.in:66: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
-@%:@undef HAVE_SYS_PARAM_H])
-m4trace:configure.in:66: -1- AH_OUTPUT([HAVE_SYS_RESOURCE_H], [/* Define to 1 if you have the <sys/resource.h> header file. */
-@%:@undef HAVE_SYS_RESOURCE_H])
-m4trace:configure.in:66: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
-@%:@undef HAVE_SYS_TIME_H])
-m4trace:configure.in:66: -1- AH_OUTPUT([HAVE_SYS_TIMEB_H], [/* Define to 1 if you have the <sys/timeb.h> header file. */
-@%:@undef HAVE_SYS_TIMEB_H])
-m4trace:configure.in:71: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ANSI_COMPILER])
-m4trace:configure.in:71: -1- m4_pattern_allow([^HAVE_ANSI_COMPILER$])
-m4trace:configure.in:71: -1- AH_OUTPUT([HAVE_ANSI_COMPILER], [/* Define to 1 if your compiler conforms to the ANSI C standard. */
-@%:@undef HAVE_ANSI_COMPILER])
-m4trace:configure.in:77: -1- AH_OUTPUT([HAVE_STDARG_H], [/* Define to 1 if you have the <stdarg.h> header file. */
-@%:@undef HAVE_STDARG_H])
-m4trace:configure.in:77: -1- AH_OUTPUT([HAVE_VARARGS_H], [/* Define to 1 if you have the <varargs.h> header file. */
-@%:@undef HAVE_VARARGS_H])
-m4trace:configure.in:79: -1- AM_PROG_CC_C_O
-m4trace:configure.in:79: -1- AC_DEFINE_TRACE_LITERAL([NO_MINUS_C_MINUS_O])
-m4trace:configure.in:79: -1- m4_pattern_allow([^NO_MINUS_C_MINUS_O$])
-m4trace:configure.in:79: -1- AH_OUTPUT([NO_MINUS_C_MINUS_O], [/* Define to 1 if your C compiler doesn\'t accept -c and -o together. */
-@%:@undef NO_MINUS_C_MINUS_O])
-m4trace:configure.in:79: -1- AC_REQUIRE_AUX_FILE([compile])
-m4trace:configure.in:80: -1- AC_DEFINE_TRACE_LITERAL([const])
-m4trace:configure.in:80: -1- m4_pattern_allow([^const$])
-m4trace:configure.in:80: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */
-@%:@undef const])
-m4trace:configure.in:81: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/types.m4:738: AC_TYPE_SIGNAL is expanded from...
-configure.in:81: the top level])
-m4trace:configure.in:81: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
-m4trace:configure.in:81: -1- m4_pattern_allow([^RETSIGTYPE$])
-m4trace:configure.in:81: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
-@%:@undef RETSIGTYPE])
-m4trace:configure.in:82: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
-m4trace:configure.in:82: -1- m4_pattern_allow([^uid_t$])
-m4trace:configure.in:82: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
-@%:@undef uid_t])
-m4trace:configure.in:82: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
-m4trace:configure.in:82: -1- m4_pattern_allow([^gid_t$])
-m4trace:configure.in:82: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
-@%:@undef gid_t])
-m4trace:configure.in:83: -1- AC_DEFINE_TRACE_LITERAL([pid_t])
-m4trace:configure.in:83: -1- m4_pattern_allow([^pid_t$])
-m4trace:configure.in:83: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if <sys/types.h> does not define. */
-@%:@undef pid_t])
-m4trace:configure.in:87: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t])
-m4trace:configure.in:87: -1- m4_pattern_allow([^uintmax_t$])
-m4trace:configure.in:87: -1- AH_OUTPUT([uintmax_t], [/* Define uintmax_t if not defined in <stdint.h> or <inttypes.h>. */
-@%:@undef uintmax_t])
-m4trace:configure.in:95: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-acinclude.m4:105: AC_STRUCT_ST_MTIM_NSEC is expanded from...
-configure.in:95: the top level])
-m4trace:configure.in:95: -1- AC_DEFINE_TRACE_LITERAL([ST_MTIM_NSEC])
-m4trace:configure.in:95: -1- m4_pattern_allow([^ST_MTIM_NSEC$])
-m4trace:configure.in:95: -1- AH_OUTPUT([ST_MTIM_NSEC], [/* Define if struct stat contains a nanoseconds field */
-@%:@undef ST_MTIM_NSEC])
-m4trace:configure.in:114: -1- AC_DEFINE_TRACE_LITERAL([FILE_TIMESTAMP_HI_RES])
-m4trace:configure.in:114: -1- m4_pattern_allow([^FILE_TIMESTAMP_HI_RES$])
-m4trace:configure.in:114: -1- AH_OUTPUT([FILE_TIMESTAMP_HI_RES], [/* Use high resolution file timestamps if nonzero. */
-@%:@undef FILE_TIMESTAMP_HI_RES])
-m4trace:configure.in:122: -1- AC_DEFINE_TRACE_LITERAL([HAVE_CLOCK_GETTIME])
-m4trace:configure.in:122: -1- m4_pattern_allow([^HAVE_CLOCK_GETTIME$])
-m4trace:configure.in:122: -1- AH_OUTPUT([HAVE_CLOCK_GETTIME], [/* Define to 1 if you have the clock_gettime function. */
-@%:@undef HAVE_CLOCK_GETTIME])
-m4trace:configure.in:128: -1- _m4_warn([syntax], [AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body], [../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
-../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
-../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-config/dospaths.m4:21: pds_AC_DOS_PATHS is expanded from...
-configure.in:128: the top level])
-m4trace:configure.in:128: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DOS_PATHS])
-m4trace:configure.in:128: -1- m4_pattern_allow([^HAVE_DOS_PATHS$])
-m4trace:configure.in:128: -1- AH_OUTPUT([HAVE_DOS_PATHS], [/* Define if the system uses DOS-style pathnames. */
-@%:@undef HAVE_DOS_PATHS])
-m4trace:configure.in:146: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETTIMEOFDAY])
-m4trace:configure.in:146: -1- m4_pattern_allow([^HAVE_GETTIMEOFDAY$])
-m4trace:configure.in:146: -1- AH_OUTPUT([HAVE_GETTIMEOFDAY], [/* Define to 1 if you have a standard gettimeofday function */
-@%:@undef HAVE_GETTIMEOFDAY])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
-@%:@undef HAVE_STRDUP])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_STRNDUP], [/* Define to 1 if you have the `strndup\' function. */
-@%:@undef HAVE_STRNDUP])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_MKSTEMP], [/* Define to 1 if you have the `mkstemp\' function. */
-@%:@undef HAVE_MKSTEMP])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_MKTEMP], [/* Define to 1 if you have the `mktemp\' function. */
-@%:@undef HAVE_MKTEMP])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_FDOPEN], [/* Define to 1 if you have the `fdopen\' function. */
-@%:@undef HAVE_FDOPEN])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_FILENO], [/* Define to 1 if you have the `fileno\' function. */
-@%:@undef HAVE_FILENO])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_DUP2], [/* Define to 1 if you have the `dup2\' function. */
-@%:@undef HAVE_DUP2])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */
-@%:@undef HAVE_GETCWD])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_REALPATH], [/* Define to 1 if you have the `realpath\' function. */
-@%:@undef HAVE_REALPATH])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_SIGSETMASK], [/* Define to 1 if you have the `sigsetmask\' function. */
-@%:@undef HAVE_SIGSETMASK])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_SIGACTION], [/* Define to 1 if you have the `sigaction\' function. */
-@%:@undef HAVE_SIGACTION])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_GETGROUPS], [/* Define to 1 if you have the `getgroups\' function. */
-@%:@undef HAVE_GETGROUPS])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_SETEUID], [/* Define to 1 if you have the `seteuid\' function. */
-@%:@undef HAVE_SETEUID])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_SETEGID], [/* Define to 1 if you have the `setegid\' function. */
-@%:@undef HAVE_SETEGID])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_SETLINEBUF], [/* Define to 1 if you have the `setlinebuf\' function. */
-@%:@undef HAVE_SETLINEBUF])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_SETREUID], [/* Define to 1 if you have the `setreuid\' function. */
-@%:@undef HAVE_SETREUID])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_SETREGID], [/* Define to 1 if you have the `setregid\' function. */
-@%:@undef HAVE_SETREGID])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_GETRLIMIT], [/* Define to 1 if you have the `getrlimit\' function. */
-@%:@undef HAVE_GETRLIMIT])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_SETRLIMIT], [/* Define to 1 if you have the `setrlimit\' function. */
-@%:@undef HAVE_SETRLIMIT])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_SETVBUF], [/* Define to 1 if you have the `setvbuf\' function. */
-@%:@undef HAVE_SETVBUF])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_PIPE], [/* Define to 1 if you have the `pipe\' function. */
-@%:@undef HAVE_PIPE])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
-@%:@undef HAVE_STRERROR])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_STRSIGNAL], [/* Define to 1 if you have the `strsignal\' function. */
-@%:@undef HAVE_STRSIGNAL])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_LSTAT], [/* Define to 1 if you have the `lstat\' function. */
-@%:@undef HAVE_LSTAT])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_READLINK], [/* Define to 1 if you have the `readlink\' function. */
-@%:@undef HAVE_READLINK])
-m4trace:configure.in:150: -1- AH_OUTPUT([HAVE_ATEXIT], [/* Define to 1 if you have the `atexit\' function. */
-@%:@undef HAVE_ATEXIT])
-m4trace:configure.in:159: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_BSD_SIGNAL])
-m4trace:configure.in:159: -1- m4_pattern_allow([^HAVE_DECL_BSD_SIGNAL$])
-m4trace:configure.in:159: -1- AH_OUTPUT([HAVE_DECL_BSD_SIGNAL], [/* Define to 1 if you have the declaration of `bsd_signal\', and to 0 if you
- don\'t. */
-@%:@undef HAVE_DECL_BSD_SIGNAL])
-m4trace:configure.in:161: -1- _m4_warn([obsolete], [The macro `AC_FUNC_SETVBUF_REVERSED' is obsolete. Remove it and all references to SETVBUF_REVERSED.], [../../lib/autoconf/functions.m4:1714: AC_FUNC_SETVBUF_REVERSED is expanded from...
-configure.in:161: the top level])
-m4trace:configure.in:166: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the `strcasecmp\' function. */
-@%:@undef HAVE_STRCASECMP])
-m4trace:configure.in:166: -1- AH_OUTPUT([HAVE_STRNCASECMP], [/* Define to 1 if you have the `strncasecmp\' function. */
-@%:@undef HAVE_STRNCASECMP])
-m4trace:configure.in:166: -1- AH_OUTPUT([HAVE_STRCMPI], [/* Define to 1 if you have the `strcmpi\' function. */
-@%:@undef HAVE_STRCMPI])
-m4trace:configure.in:166: -1- AH_OUTPUT([HAVE_STRNCMPI], [/* Define to 1 if you have the `strncmpi\' function. */
-@%:@undef HAVE_STRNCMPI])
-m4trace:configure.in:166: -1- AH_OUTPUT([HAVE_STRICMP], [/* Define to 1 if you have the `stricmp\' function. */
-@%:@undef HAVE_STRICMP])
-m4trace:configure.in:166: -1- AH_OUTPUT([HAVE_STRNICMP], [/* Define to 1 if you have the `strnicmp\' function. */
-@%:@undef HAVE_STRNICMP])
-m4trace:configure.in:169: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCOLL])
-m4trace:configure.in:169: -1- m4_pattern_allow([^HAVE_STRCOLL$])
-m4trace:configure.in:169: -1- AH_OUTPUT([HAVE_STRCOLL], [/* Define to 1 if you have the `strcoll\' function and it is properly defined.
- */
-@%:@undef HAVE_STRCOLL])
-m4trace:configure.in:171: -1- AC_DEFINE_TRACE_LITERAL([size_t])
-m4trace:configure.in:171: -1- m4_pattern_allow([^size_t$])
-m4trace:configure.in:171: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
-@%:@undef size_t])
-m4trace:configure.in:171: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA_H])
-m4trace:configure.in:171: -1- m4_pattern_allow([^HAVE_ALLOCA_H$])
-m4trace:configure.in:171: -1- AH_OUTPUT([HAVE_ALLOCA_H], [/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
- */
-@%:@undef HAVE_ALLOCA_H])
-m4trace:configure.in:171: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA])
-m4trace:configure.in:171: -1- m4_pattern_allow([^HAVE_ALLOCA$])
-m4trace:configure.in:171: -1- AH_OUTPUT([HAVE_ALLOCA], [/* Define to 1 if you have `alloca\', as a function or macro. */
-@%:@undef HAVE_ALLOCA])
-m4trace:configure.in:171: -1- AC_LIBSOURCE([alloca.c])
-m4trace:configure.in:171: -1- AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])
-m4trace:configure.in:171: -1- AC_SUBST_TRACE([ALLOCA])
-m4trace:configure.in:171: -1- m4_pattern_allow([^ALLOCA$])
-m4trace:configure.in:171: -1- AC_DEFINE_TRACE_LITERAL([C_ALLOCA])
-m4trace:configure.in:171: -1- m4_pattern_allow([^C_ALLOCA$])
-m4trace:configure.in:171: -1- AH_OUTPUT([C_ALLOCA], [/* Define to 1 if using `alloca.c\'. */
-@%:@undef C_ALLOCA])
-m4trace:configure.in:171: -1- AC_DEFINE_TRACE_LITERAL([CRAY_STACKSEG_END])
-m4trace:configure.in:171: -1- m4_pattern_allow([^CRAY_STACKSEG_END$])
-m4trace:configure.in:171: -1- AH_OUTPUT([CRAY_STACKSEG_END], [/* Define to one of `_getb67\', `GETB67\', `getb67\' for Cray-2 and Cray-YMP
- systems. This function is required for `alloca.c\' support on those systems.
- */
-@%:@undef CRAY_STACKSEG_END])
-m4trace:configure.in:171: -1- AH_OUTPUT([STACK_DIRECTION], [/* If using the C implementation of alloca, define if you know the
- direction of stack growth for your system; otherwise it will be
- automatically deduced at runtime.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown */
-@%:@undef STACK_DIRECTION])
-m4trace:configure.in:171: -1- AC_DEFINE_TRACE_LITERAL([STACK_DIRECTION])
-m4trace:configure.in:171: -1- m4_pattern_allow([^STACK_DIRECTION$])
-m4trace:configure.in:172: -1- AH_OUTPUT([HAVE_VFORK_H], [/* Define to 1 if you have the <vfork.h> header file. */
-@%:@undef HAVE_VFORK_H])
-m4trace:configure.in:172: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VFORK_H])
-m4trace:configure.in:172: -1- m4_pattern_allow([^HAVE_VFORK_H$])
-m4trace:configure.in:172: -1- AH_OUTPUT([HAVE_FORK], [/* Define to 1 if you have the `fork\' function. */
-@%:@undef HAVE_FORK])
-m4trace:configure.in:172: -1- AH_OUTPUT([HAVE_VFORK], [/* Define to 1 if you have the `vfork\' function. */
-@%:@undef HAVE_VFORK])
-m4trace:configure.in:172: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WORKING_VFORK])
-m4trace:configure.in:172: -1- m4_pattern_allow([^HAVE_WORKING_VFORK$])
-m4trace:configure.in:172: -1- AH_OUTPUT([HAVE_WORKING_VFORK], [/* Define to 1 if `vfork\' works. */
-@%:@undef HAVE_WORKING_VFORK])
-m4trace:configure.in:172: -1- AC_DEFINE_TRACE_LITERAL([vfork])
-m4trace:configure.in:172: -1- m4_pattern_allow([^vfork$])
-m4trace:configure.in:172: -1- AH_OUTPUT([vfork], [/* Define as `fork\' if `vfork\' does not work. */
-@%:@undef vfork])
-m4trace:configure.in:172: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WORKING_FORK])
-m4trace:configure.in:172: -1- m4_pattern_allow([^HAVE_WORKING_FORK$])
-m4trace:configure.in:172: -1- AH_OUTPUT([HAVE_WORKING_FORK], [/* Define to 1 if `fork\' works. */
-@%:@undef HAVE_WORKING_FORK])
-m4trace:configure.in:173: -1- AH_OUTPUT([HAVE_VPRINTF], [/* Define to 1 if you have the `vprintf\' function. */
-@%:@undef HAVE_VPRINTF])
-m4trace:configure.in:173: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VPRINTF])
-m4trace:configure.in:173: -1- m4_pattern_allow([^HAVE_VPRINTF$])
-m4trace:configure.in:173: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DOPRNT])
-m4trace:configure.in:173: -1- m4_pattern_allow([^HAVE_DOPRNT$])
-m4trace:configure.in:173: -1- AH_OUTPUT([HAVE_DOPRNT], [/* Define to 1 if you don\'t have `vprintf\' but do have `_doprnt.\' */
-@%:@undef HAVE_DOPRNT])
-m4trace:configure.in:174: -1- AC_DEFINE_TRACE_LITERAL([CLOSEDIR_VOID])
-m4trace:configure.in:174: -1- m4_pattern_allow([^CLOSEDIR_VOID$])
-m4trace:configure.in:174: -1- AH_OUTPUT([CLOSEDIR_VOID], [/* Define to 1 if the `closedir\' function returns void instead of `int\'. */
-@%:@undef CLOSEDIR_VOID])
-m4trace:configure.in:176: -1- AH_OUTPUT([HAVE_PSTAT_GETDYNAMIC], [/* Define to 1 if you have the `pstat_getdynamic\' function. */
-@%:@undef HAVE_PSTAT_GETDYNAMIC])
-m4trace:configure.in:176: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PSTAT_GETDYNAMIC])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_PSTAT_GETDYNAMIC$])
-m4trace:configure.in:176: -1- AH_OUTPUT([HAVE_LIBKSTAT], [/* Define to 1 if you have the `kstat\' library (-lkstat). */
-@%:@undef HAVE_LIBKSTAT])
-m4trace:configure.in:176: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBKSTAT])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_LIBKSTAT$])
-m4trace:configure.in:176: -1- AH_OUTPUT([HAVE_GETLOADAVG], [/* Define to 1 if you have the `getloadavg\' function. */
-@%:@undef HAVE_GETLOADAVG])
-m4trace:configure.in:176: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETLOADAVG])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_GETLOADAVG$])
-m4trace:configure.in:176: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS getloadavg.$ac_objext"])
-m4trace:configure.in:176: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:176: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:176: -1- AC_LIBSOURCE([getloadavg.c])
-m4trace:configure.in:176: -1- AC_DEFINE_TRACE_LITERAL([C_GETLOADAVG])
-m4trace:configure.in:176: -1- m4_pattern_allow([^C_GETLOADAVG$])
-m4trace:configure.in:176: -1- AH_OUTPUT([C_GETLOADAVG], [/* Define to 1 if using `getloadavg.c\'. */
-@%:@undef C_GETLOADAVG])
-m4trace:configure.in:176: -1- AC_DEFINE_TRACE_LITERAL([DGUX])
-m4trace:configure.in:176: -1- m4_pattern_allow([^DGUX$])
-m4trace:configure.in:176: -1- AH_OUTPUT([DGUX], [/* Define to 1 for DGUX with <sys/dg_sys_info.h>. */
-@%:@undef DGUX])
-m4trace:configure.in:176: -1- AH_OUTPUT([HAVE_LIBDGC], [/* Define to 1 if you have the `dgc\' library (-ldgc). */
-@%:@undef HAVE_LIBDGC])
-m4trace:configure.in:176: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDGC])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_LIBDGC$])
-m4trace:configure.in:176: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */
-@%:@undef HAVE_SETLOCALE])
-m4trace:configure.in:176: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SETLOCALE])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_SETLOCALE$])
-m4trace:configure.in:176: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
-m4trace:configure.in:176: -1- m4_pattern_allow([^SVR4$])
-m4trace:configure.in:176: -1- AH_OUTPUT([SVR4], [/* Define to 1 on System V Release 4. */
-@%:@undef SVR4])
-m4trace:configure.in:176: -1- AC_DEFINE_TRACE_LITERAL([UMAX])
-m4trace:configure.in:176: -1- m4_pattern_allow([^UMAX$])
-m4trace:configure.in:176: -1- AH_OUTPUT([UMAX], [/* Define to 1 for Encore UMAX. */
-@%:@undef UMAX])
-m4trace:configure.in:176: -1- AC_DEFINE_TRACE_LITERAL([UMAX4_3])
-m4trace:configure.in:176: -1- m4_pattern_allow([^UMAX4_3$])
-m4trace:configure.in:176: -1- AH_OUTPUT([UMAX4_3], [/* Define to 1 for Encore UMAX 4.3 that has <inq_status/cpustats.h> instead of
- <sys/cpustats.h>. */
-@%:@undef UMAX4_3])
-m4trace:configure.in:176: -1- AC_DEFINE_TRACE_LITERAL([UMAX])
-m4trace:configure.in:176: -1- m4_pattern_allow([^UMAX$])
-m4trace:configure.in:176: -1- AH_OUTPUT([HAVE_MACH_MACH_H], [/* Define to 1 if you have the <mach/mach.h> header file. */
-@%:@undef HAVE_MACH_MACH_H])
-m4trace:configure.in:176: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MACH_MACH_H])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_MACH_MACH_H$])
-m4trace:configure.in:176: -1- AH_OUTPUT([HAVE_NLIST_H], [/* Define to 1 if you have the <nlist.h> header file. */
-@%:@undef HAVE_NLIST_H])
-m4trace:configure.in:176: -1- AC_DEFINE_TRACE_LITERAL([HAVE_NLIST_H])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_NLIST_H$])
-m4trace:configure.in:176: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_NLIST_N_UN_N_NAME])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_STRUCT_NLIST_N_UN_N_NAME$])
-m4trace:configure.in:176: -1- AH_OUTPUT([HAVE_STRUCT_NLIST_N_UN_N_NAME], [/* Define to 1 if `n_un.n_name\' is a member of `struct nlist\'. */
-@%:@undef HAVE_STRUCT_NLIST_N_UN_N_NAME])
-m4trace:configure.in:176: -1- AC_DEFINE_TRACE_LITERAL([NLIST_NAME_UNION])
-m4trace:configure.in:176: -1- m4_pattern_allow([^NLIST_NAME_UNION$])
-m4trace:configure.in:176: -1- AH_OUTPUT([NLIST_NAME_UNION], [/* Define to 1 if your `struct nlist\' has an `n_un\' member. Obsolete, depend
- on `HAVE_STRUCT_NLIST_N_UN_N_NAME */
-@%:@undef NLIST_NAME_UNION])
-m4trace:configure.in:176: -1- AC_DEFINE_TRACE_LITERAL([GETLOADAVG_PRIVILEGED])
-m4trace:configure.in:176: -1- m4_pattern_allow([^GETLOADAVG_PRIVILEGED$])
-m4trace:configure.in:176: -1- AH_OUTPUT([GETLOADAVG_PRIVILEGED], [/* Define to 1 if the `getloadavg\' function needs to be run setuid or setgid.
- */
-@%:@undef GETLOADAVG_PRIVILEGED])
-m4trace:configure.in:176: -1- AC_SUBST([NEED_SETGID])
-m4trace:configure.in:176: -1- AC_SUBST_TRACE([NEED_SETGID])
-m4trace:configure.in:176: -1- m4_pattern_allow([^NEED_SETGID$])
-m4trace:configure.in:176: -1- AC_SUBST([KMEM_GROUP], [$ac_cv_group_kmem])
-m4trace:configure.in:176: -1- AC_SUBST_TRACE([KMEM_GROUP])
-m4trace:configure.in:176: -1- m4_pattern_allow([^KMEM_GROUP$])
-m4trace:configure.in:176: -1- AC_SUBST([GETLOADAVG_LIBS])
-m4trace:configure.in:176: -1- AC_SUBST_TRACE([GETLOADAVG_LIBS])
-m4trace:configure.in:176: -1- m4_pattern_allow([^GETLOADAVG_LIBS$])
-m4trace:configure.in:189: -1- AC_DEFINE_TRACE_LITERAL([NLIST_STRUCT])
-m4trace:configure.in:189: -1- m4_pattern_allow([^NLIST_STRUCT$])
-m4trace:configure.in:189: -1- AH_OUTPUT([NLIST_STRUCT], [/* Define to 1 if struct nlist.n_name is a pointer rather than an array. */
-@%:@undef NLIST_STRUCT])
-m4trace:configure.in:194: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST])
-m4trace:configure.in:194: -1- m4_pattern_allow([^HAVE_DECL_SYS_SIGLIST$])
-m4trace:configure.in:194: -1- AH_OUTPUT([HAVE_DECL_SYS_SIGLIST], [/* Define to 1 if you have the declaration of `sys_siglist\', and to 0 if you
- don\'t. */
-@%:@undef HAVE_DECL_SYS_SIGLIST])
-m4trace:configure.in:194: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL__SYS_SIGLIST])
-m4trace:configure.in:194: -1- m4_pattern_allow([^HAVE_DECL__SYS_SIGLIST$])
-m4trace:configure.in:194: -1- AH_OUTPUT([HAVE_DECL__SYS_SIGLIST], [/* Define to 1 if you have the declaration of `_sys_siglist\', and to 0 if you
- don\'t. */
-@%:@undef HAVE_DECL__SYS_SIGLIST])
-m4trace:configure.in:194: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL___SYS_SIGLIST])
-m4trace:configure.in:194: -1- m4_pattern_allow([^HAVE_DECL___SYS_SIGLIST$])
-m4trace:configure.in:194: -1- AH_OUTPUT([HAVE_DECL___SYS_SIGLIST], [/* Define to 1 if you have the declaration of `__sys_siglist\', and to 0 if you
- don\'t. */
-@%:@undef HAVE_DECL___SYS_SIGLIST])
-m4trace:configure.in:205: -1- AH_OUTPUT([HAVE_SYS_WAIT_H], [/* Define to 1 if you have the <sys/wait.h> header file. */
-@%:@undef HAVE_SYS_WAIT_H])
-m4trace:configure.in:205: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_WAIT_H])
-m4trace:configure.in:205: -1- m4_pattern_allow([^HAVE_SYS_WAIT_H$])
-m4trace:configure.in:206: -1- AH_OUTPUT([HAVE_WAITPID], [/* Define to 1 if you have the `waitpid\' function. */
-@%:@undef HAVE_WAITPID])
-m4trace:configure.in:206: -1- AH_OUTPUT([HAVE_WAIT3], [/* Define to 1 if you have the `wait3\' function. */
-@%:@undef HAVE_WAIT3])
-m4trace:configure.in:230: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNION_WAIT])
-m4trace:configure.in:230: -1- m4_pattern_allow([^HAVE_UNION_WAIT$])
-m4trace:configure.in:230: -1- AH_OUTPUT([HAVE_UNION_WAIT], [/* Define to 1 if you have the \\`union wait\' type in <sys/wait.h>. */
-@%:@undef HAVE_UNION_WAIT])
-m4trace:configure.in:238: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DOS_PATHS])
-m4trace:configure.in:238: -1- m4_pattern_allow([^HAVE_DOS_PATHS$])
-m4trace:configure.in:238: -1- AH_OUTPUT([HAVE_DOS_PATHS], [/* Define to 1 if your system requires backslashes or drive specs in
- pathnames. */
-@%:@undef HAVE_DOS_PATHS])
-m4trace:configure.in:245: -1- AC_SUBST([REMOTE])
-m4trace:configure.in:245: -1- AC_SUBST_TRACE([REMOTE])
-m4trace:configure.in:245: -1- m4_pattern_allow([^REMOTE$])
-m4trace:configure.in:248: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.in:248: the top level])
-m4trace:configure.in:247: -1- AH_OUTPUT([HAVE_GETHOSTNAME], [/* Define to 1 if you have the `gethostname\' function. */
-@%:@undef HAVE_GETHOSTNAME])
-m4trace:configure.in:247: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTNAME])
-m4trace:configure.in:247: -1- m4_pattern_allow([^HAVE_GETHOSTNAME$])
-m4trace:configure.in:247: -1- AH_OUTPUT([HAVE_SOCKET], [/* Define to 1 if you have the `socket\' function. */
-@%:@undef HAVE_SOCKET])
-m4trace:configure.in:247: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SOCKET])
-m4trace:configure.in:247: -1- m4_pattern_allow([^HAVE_SOCKET$])
-m4trace:configure.in:247: -1- AH_OUTPUT([HAVE_GETHOSTBYNAME], [/* Define to 1 if you have the `gethostbyname\' function. */
-@%:@undef HAVE_GETHOSTBYNAME])
-m4trace:configure.in:247: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME])
-m4trace:configure.in:247: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME$])
-m4trace:configure.in:247: -1- _m4_warn([obsolete], [The macro `AC_FD_MSG' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:386: AC_FD_MSG is expanded from...
-acinclude.m4:39: CF_NETLIBS is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1482: AC_ARG_WITH is expanded from...
-configure.in:247: the top level])
-m4trace:configure.in:268: -1- AM_CONDITIONAL([USE_CUSTOMS], [test "$use_customs" = true])
-m4trace:configure.in:268: -1- AC_SUBST([USE_CUSTOMS_TRUE])
-m4trace:configure.in:268: -1- AC_SUBST_TRACE([USE_CUSTOMS_TRUE])
-m4trace:configure.in:268: -1- m4_pattern_allow([^USE_CUSTOMS_TRUE$])
-m4trace:configure.in:268: -1- AC_SUBST([USE_CUSTOMS_FALSE])
-m4trace:configure.in:268: -1- AC_SUBST_TRACE([USE_CUSTOMS_FALSE])
-m4trace:configure.in:268: -1- m4_pattern_allow([^USE_CUSTOMS_FALSE$])
-m4trace:configure.in:268: -1- _AM_SUBST_NOTMAKE([USE_CUSTOMS_TRUE])
-m4trace:configure.in:268: -1- _AM_SUBST_NOTMAKE([USE_CUSTOMS_FALSE])
-m4trace:configure.in:272: -1- AH_OUTPUT([HAVE_CASE_INSENSITIVE_FS], [/* Use case insensitive file names */
-@%:@undef HAVE_CASE_INSENSITIVE_FS])
-m4trace:configure.in:274: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.in:274: the top level])
-m4trace:configure.in:273: -1- AC_DEFINE_TRACE_LITERAL([HAVE_CASE_INSENSITIVE_FS])
-m4trace:configure.in:273: -1- m4_pattern_allow([^HAVE_CASE_INSENSITIVE_FS$])
-m4trace:configure.in:283: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.in:283: the top level])
-m4trace:configure.in:300: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SA_RESTART])
-m4trace:configure.in:300: -1- m4_pattern_allow([^HAVE_SA_RESTART$])
-m4trace:configure.in:300: -1- AH_OUTPUT([HAVE_SA_RESTART], [/* Define to 1 if <signal.h> defines the SA_RESTART constant. */
-@%:@undef HAVE_SA_RESTART])
-m4trace:configure.in:317: -1- AC_DEFINE_TRACE_LITERAL([MAKE_JOBSERVER])
-m4trace:configure.in:317: -1- m4_pattern_allow([^MAKE_JOBSERVER$])
-m4trace:configure.in:317: -1- AH_OUTPUT([MAKE_JOBSERVER], [/* Define to 1 to enable job server support in GNU make. */
-@%:@undef MAKE_JOBSERVER])
-m4trace:configure.in:325: -1- AC_DEFINE_TRACE_LITERAL([MAKE_SYMLINKS])
-m4trace:configure.in:325: -1- m4_pattern_allow([^MAKE_SYMLINKS$])
-m4trace:configure.in:325: -1- AH_OUTPUT([MAKE_SYMLINKS], [/* Define to 1 to enable symbolic link timestamp checking. */
-@%:@undef MAKE_SYMLINKS])
-m4trace:configure.in:337: -1- AC_DEFINE_TRACE_LITERAL([SCCS_GET])
-m4trace:configure.in:337: -1- m4_pattern_allow([^SCCS_GET$])
-m4trace:configure.in:337: -1- AH_OUTPUT([SCCS_GET], [/* Define to the name of the SCCS \'get\' command. */
-@%:@undef SCCS_GET])
-m4trace:configure.in:352: -1- AC_DEFINE_TRACE_LITERAL([SCCS_GET_MINUS_G])
-m4trace:configure.in:352: -1- m4_pattern_allow([^SCCS_GET_MINUS_G$])
-m4trace:configure.in:352: -1- AH_OUTPUT([SCCS_GET_MINUS_G], [/* Define to 1 if the SCCS \'get\' command understands the \'-G<file>\' option. */
-@%:@undef SCCS_GET_MINUS_G])
-m4trace:configure.in:381: -1- AC_SUBST([GLOBINC])
-m4trace:configure.in:381: -1- AC_SUBST_TRACE([GLOBINC])
-m4trace:configure.in:381: -1- m4_pattern_allow([^GLOBINC$])
-m4trace:configure.in:382: -1- AC_SUBST([GLOBLIB])
-m4trace:configure.in:382: -1- AC_SUBST_TRACE([GLOBLIB])
-m4trace:configure.in:382: -1- m4_pattern_allow([^GLOBLIB$])
-m4trace:configure.in:385: -1- AM_CONDITIONAL([USE_LOCAL_GLOB], [test "$make_cv_sys_gnu_glob" = no])
-m4trace:configure.in:385: -1- AC_SUBST([USE_LOCAL_GLOB_TRUE])
-m4trace:configure.in:385: -1- AC_SUBST_TRACE([USE_LOCAL_GLOB_TRUE])
-m4trace:configure.in:385: -1- m4_pattern_allow([^USE_LOCAL_GLOB_TRUE$])
-m4trace:configure.in:385: -1- AC_SUBST([USE_LOCAL_GLOB_FALSE])
-m4trace:configure.in:385: -1- AC_SUBST_TRACE([USE_LOCAL_GLOB_FALSE])
-m4trace:configure.in:385: -1- m4_pattern_allow([^USE_LOCAL_GLOB_FALSE$])
-m4trace:configure.in:385: -1- _AM_SUBST_NOTMAKE([USE_LOCAL_GLOB_TRUE])
-m4trace:configure.in:385: -1- _AM_SUBST_NOTMAKE([USE_LOCAL_GLOB_FALSE])
-m4trace:configure.in:389: -1- AC_DEFINE_TRACE_LITERAL([MAKE_HOST])
-m4trace:configure.in:389: -1- m4_pattern_allow([^MAKE_HOST$])
-m4trace:configure.in:389: -1- AH_OUTPUT([MAKE_HOST], [/* Build host information. */
-@%:@undef MAKE_HOST])
-m4trace:configure.in:391: -1- AC_SUBST([MAKE_HOST])
-m4trace:configure.in:391: -1- AC_SUBST_TRACE([MAKE_HOST])
-m4trace:configure.in:391: -1- m4_pattern_allow([^MAKE_HOST$])
-m4trace:configure.in:394: -1- AM_CONDITIONAL([WINDOWSENV], [false])
-m4trace:configure.in:394: -1- AC_SUBST([WINDOWSENV_TRUE])
-m4trace:configure.in:394: -1- AC_SUBST_TRACE([WINDOWSENV_TRUE])
-m4trace:configure.in:394: -1- m4_pattern_allow([^WINDOWSENV_TRUE$])
-m4trace:configure.in:394: -1- AC_SUBST([WINDOWSENV_FALSE])
-m4trace:configure.in:394: -1- AC_SUBST_TRACE([WINDOWSENV_FALSE])
-m4trace:configure.in:394: -1- m4_pattern_allow([^WINDOWSENV_FALSE$])
-m4trace:configure.in:394: -1- _AM_SUBST_NOTMAKE([WINDOWSENV_TRUE])
-m4trace:configure.in:394: -1- _AM_SUBST_NOTMAKE([WINDOWSENV_FALSE])
-m4trace:configure.in:398: -1- AM_CONDITIONAL([WINDOWSENV], [true])
-m4trace:configure.in:398: -1- AC_SUBST([WINDOWSENV_TRUE])
-m4trace:configure.in:398: -1- AC_SUBST_TRACE([WINDOWSENV_TRUE])
-m4trace:configure.in:398: -1- m4_pattern_allow([^WINDOWSENV_TRUE$])
-m4trace:configure.in:398: -1- AC_SUBST([WINDOWSENV_FALSE])
-m4trace:configure.in:398: -1- AC_SUBST_TRACE([WINDOWSENV_FALSE])
-m4trace:configure.in:398: -1- m4_pattern_allow([^WINDOWSENV_FALSE$])
-m4trace:configure.in:398: -1- _AM_SUBST_NOTMAKE([WINDOWSENV_TRUE])
-m4trace:configure.in:398: -1- _AM_SUBST_NOTMAKE([WINDOWSENV_FALSE])
-m4trace:configure.in:400: -1- AC_DEFINE_TRACE_LITERAL([WINDOWS32])
-m4trace:configure.in:400: -1- m4_pattern_allow([^WINDOWS32$])
-m4trace:configure.in:400: -1- AH_OUTPUT([WINDOWS32], [/* Use platform specific coding */
-@%:@undef WINDOWS32])
-m4trace:configure.in:401: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DOS_PATHS])
-m4trace:configure.in:401: -1- m4_pattern_allow([^HAVE_DOS_PATHS$])
-m4trace:configure.in:401: -1- AH_OUTPUT([HAVE_DOS_PATHS], [/* Use platform specific coding */
-@%:@undef HAVE_DOS_PATHS])
-m4trace:configure.in:405: -1- AC_DEFINE_TRACE_LITERAL([PATH_SEPARATOR_CHAR])
-m4trace:configure.in:405: -1- m4_pattern_allow([^PATH_SEPARATOR_CHAR$])
-m4trace:configure.in:405: -1- AH_OUTPUT([PATH_SEPARATOR_CHAR], [/* Define to the character that separates directories in PATH. */
-@%:@undef PATH_SEPARATOR_CHAR])
-m4trace:configure.in:413: -1- m4_pattern_allow([^MAINT_MAKEFILE$])
-m4trace:configure.in:416: -1- AC_DEFINE_TRACE_LITERAL([WITH_DMALLOC])
-m4trace:configure.in:416: -1- m4_pattern_allow([^WITH_DMALLOC$])
-m4trace:configure.in:416: -1- AH_OUTPUT([WITH_DMALLOC], [/* Define if using the dmalloc debugging malloc package */
-@%:@undef WITH_DMALLOC])
-m4trace:configure.in:465: -1- AC_CONFIG_FILES([Makefile glob/Makefile po/Makefile.in config/Makefile doc/Makefile w32/Makefile])
-m4trace:configure.in:469: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
-m4trace:configure.in:469: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
-m4trace:configure.in:469: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:469: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
-m4trace:configure.in:469: -1- AC_SUBST_TRACE([LTLIBOBJS])
-m4trace:configure.in:469: -1- m4_pattern_allow([^LTLIBOBJS$])
-m4trace:configure.in:469: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])
-m4trace:configure.in:469: -1- AC_SUBST([am__EXEEXT_TRUE])
-m4trace:configure.in:469: -1- AC_SUBST_TRACE([am__EXEEXT_TRUE])
-m4trace:configure.in:469: -1- m4_pattern_allow([^am__EXEEXT_TRUE$])
-m4trace:configure.in:469: -1- AC_SUBST([am__EXEEXT_FALSE])
-m4trace:configure.in:469: -1- AC_SUBST_TRACE([am__EXEEXT_FALSE])
-m4trace:configure.in:469: -1- m4_pattern_allow([^am__EXEEXT_FALSE$])
-m4trace:configure.in:469: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE])
-m4trace:configure.in:469: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE])
-m4trace:configure.in:469: -1- AC_SUBST_TRACE([top_builddir])
-m4trace:configure.in:469: -1- AC_SUBST_TRACE([top_build_prefix])
-m4trace:configure.in:469: -1- AC_SUBST_TRACE([srcdir])
-m4trace:configure.in:469: -1- AC_SUBST_TRACE([abs_srcdir])
-m4trace:configure.in:469: -1- AC_SUBST_TRACE([top_srcdir])
-m4trace:configure.in:469: -1- AC_SUBST_TRACE([abs_top_srcdir])
-m4trace:configure.in:469: -1- AC_SUBST_TRACE([builddir])
-m4trace:configure.in:469: -1- AC_SUBST_TRACE([abs_builddir])
-m4trace:configure.in:469: -1- AC_SUBST_TRACE([abs_top_builddir])
-m4trace:configure.in:469: -1- AC_SUBST_TRACE([INSTALL])
-m4trace:configure.in:469: -1- AC_SUBST_TRACE([MKDIR_P])
diff --git a/autom4te.cache/traces.2 b/autom4te.cache/traces.2
deleted file mode 100644
index e97bbef3..00000000
--- a/autom4te.cache/traces.2
+++ /dev/null
@@ -1,3303 +0,0 @@
-m4trace:/usr/share/aclocal-1.11/amversion.m4:17: -1- AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.11'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11.6], [],
- [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-m4trace:/usr/share/aclocal-1.11/amversion.m4:36: -1- AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.11.6])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-m4trace:/usr/share/aclocal-1.11/auxdir.m4:49: -1- AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-m4trace:/usr/share/aclocal-1.11/cond.m4:15: -1- AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-m4trace:/usr/share/aclocal-1.11/depend.m4:28: -1- AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
- [$1], CXX, [depcc="$CXX" am_compiler_list=],
- [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], UPC, [depcc="$UPC" am_compiler_list=],
- [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
- [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- rm -rf conftest.dir
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_$1_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
- fi
- am__universal=false
- m4_case([$1], [CC],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac],
- [CXX],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac])
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_$1_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-m4trace:/usr/share/aclocal-1.11/depend.m4:164: -1- AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-m4trace:/usr/share/aclocal-1.11/depend.m4:172: -1- AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking,
-[ --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
- am__nodep='_no'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-AC_SUBST([am__nodep])dnl
-_AM_SUBST_NOTMAKE([am__nodep])dnl
-])
-m4trace:/usr/share/aclocal-1.11/depout.m4:14: -1- AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
-])
-m4trace:/usr/share/aclocal-1.11/depout.m4:75: -1- AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles],
- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-m4trace:/usr/share/aclocal-1.11/dmalloc.m4:15: -1- AC_DEFUN([AM_WITH_DMALLOC], [AC_MSG_CHECKING([if malloc debugging is wanted])
-AC_ARG_WITH(dmalloc,
-[ --with-dmalloc use dmalloc, as in http://www.dmalloc.com],
-[if test "$withval" = yes; then
- AC_MSG_RESULT(yes)
- AC_DEFINE(WITH_DMALLOC,1,
- [Define if using the dmalloc debugging malloc package])
- LIBS="$LIBS -ldmalloc"
- LDFLAGS="$LDFLAGS -g"
-else
- AC_MSG_RESULT(no)
-fi], [AC_MSG_RESULT(no)])
-])
-m4trace:/usr/share/aclocal-1.11/dmalloc.m4:30: -1- AU_DEFUN([fp_WITH_DMALLOC], [AM_WITH_DMALLOC])
-m4trace:/usr/share/aclocal-1.11/dmalloc.m4:30: -1- AC_DEFUN([fp_WITH_DMALLOC], [AC_DIAGNOSE([obsolete], [The macro `fp_WITH_DMALLOC' is obsolete.
-You should run autoupdate.])dnl
-AM_WITH_DMALLOC])
-m4trace:/usr/share/aclocal-1.11/init.m4:26: -1- AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.62])dnl
-dnl Autoconf wants to disallow AM_ names. We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
- [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES(OBJC)],
- [define([AC_PROG_OBJC],
- defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
- [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
-m4trace:/usr/share/aclocal-1.11/init.m4:126: -1- AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-m4trace:/usr/share/aclocal-1.11/install-sh.m4:14: -1- AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-AC_SUBST(install_sh)])
-m4trace:/usr/share/aclocal-1.11/lead-dot.m4:12: -1- AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-m4trace:/usr/share/aclocal-1.11/make.m4:14: -1- AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-m4trace:/usr/share/aclocal-1.11/minuso.m4:14: -1- AC_DEFUN([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
- [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-m4trace:/usr/share/aclocal-1.11/missing.m4:14: -1- AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-m4trace:/usr/share/aclocal-1.11/missing.m4:24: -1- AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-m4trace:/usr/share/aclocal-1.11/mkdirp.m4:14: -1- AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
- [[\\/$]]* | ?:[[\\/]]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-m4trace:/usr/share/aclocal-1.11/options.m4:14: -1- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-m4trace:/usr/share/aclocal-1.11/options.m4:20: -1- AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-m4trace:/usr/share/aclocal-1.11/options.m4:26: -1- AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-m4trace:/usr/share/aclocal-1.11/options.m4:32: -1- AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-m4trace:/usr/share/aclocal-1.11/runlog.m4:14: -1- AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
- ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- (exit $ac_status); }])
-m4trace:/usr/share/aclocal-1.11/sanity.m4:14: -1- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[[\\\"\#\$\&\'\`$am_lf]]*)
- AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
- *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
- AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-m4trace:/usr/share/aclocal-1.11/silent.m4:14: -1- AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules],
-[ --enable-silent-rules less verbose build output (undo: `make V=1')
- --disable-silent-rules verbose build output (undo: `make V=0')])
-case $enable_silent_rules in
-yes) AM_DEFAULT_VERBOSITY=0;;
-no) AM_DEFAULT_VERBOSITY=1;;
-*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
-esac
-dnl
-dnl A few `make' implementations (e.g., NonStop OS and NextStep)
-dnl do not support nested variable expansions.
-dnl See automake bug#9928 and bug#10237.
-am_make=${MAKE-make}
-AC_CACHE_CHECK([whether $am_make supports nested variables],
- [am_cv_make_support_nested_variables],
- [if AS_ECHO([['TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
- @$(TRUE)
-.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
- am_cv_make_support_nested_variables=yes
-else
- am_cv_make_support_nested_variables=no
-fi])
-if test $am_cv_make_support_nested_variables = yes; then
- dnl Using `$V' instead of `$(V)' breaks IRIX make.
- AM_V='$(V)'
- AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
- AM_V=$AM_DEFAULT_VERBOSITY
- AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AC_SUBST([AM_V])dnl
-AM_SUBST_NOTMAKE([AM_V])dnl
-AC_SUBST([AM_DEFAULT_V])dnl
-AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
-AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
-AM_BACKSLASH='\'
-AC_SUBST([AM_BACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
-])
-m4trace:/usr/share/aclocal-1.11/strip.m4:19: -1- AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-m4trace:/usr/share/aclocal-1.11/substnot.m4:14: -1- AC_DEFUN([_AM_SUBST_NOTMAKE])
-m4trace:/usr/share/aclocal-1.11/substnot.m4:19: -1- AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-m4trace:/usr/share/aclocal-1.11/tar.m4:24: -1- AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used
-# in the wild :-( We should find a proper way to deprecate it ...
-AC_SUBST([AMTAR], ['$${TAR-tar}'])
-m4_if([$1], [v7],
- [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
-
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
-
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
- rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-])
-m4trace:config/codeset.m4:11: -1- AC_DEFUN([AM_LANGINFO_CODESET], [
- AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
- [AC_TRY_LINK([#include <langinfo.h>],
- [char* cs = nl_langinfo(CODESET);],
- am_cv_langinfo_codeset=yes,
- am_cv_langinfo_codeset=no)
- ])
- if test $am_cv_langinfo_codeset = yes; then
- AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
- [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
- fi
-])
-m4trace:config/dospaths.m4:21: -1- AC_DEFUN([pds_AC_DOS_PATHS], [
- AC_CACHE_CHECK([whether system uses MSDOS-style paths], [ac_cv_dos_paths],
- [
- AC_COMPILE_IFELSE([
-#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __EMX__ && !defined __MSYS__ && !defined __CYGWIN__
-neither MSDOS nor Windows nor OS2
-#endif
-],
- [ac_cv_dos_paths=yes],
- [ac_cv_dos_paths=no])
- ])
-
- if test x"$ac_cv_dos_paths" = xyes; then
- AC_DEFINE_UNQUOTED([HAVE_DOS_PATHS], 1,
- [Define if the system uses DOS-style pathnames.])
- fi
- ])
-m4trace:config/gettext.m4:59: -1- AC_DEFUN([AM_GNU_GETTEXT], [
- dnl Argument checking.
- ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
- [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
-])])])])])
- ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
- [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
-])])])])
- define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
- define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
-
- AC_REQUIRE([AM_PO_SUBDIRS])dnl
- ifelse(gt_included_intl, yes, [
- AC_REQUIRE([AM_INTL_SUBDIR])dnl
- ])
-
- dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
-
- dnl Sometimes libintl requires libiconv, so first search for libiconv.
- dnl Ideally we would do this search only after the
- dnl if test "$USE_NLS" = "yes"; then
- dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then
- dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
- dnl the configure script would need to contain the same shell code
- dnl again, outside any 'if'. There are two solutions:
- dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
- dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
- dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
- dnl documented, we avoid it.
- ifelse(gt_included_intl, yes, , [
- AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
- ])
-
- dnl Set USE_NLS.
- AM_NLS
-
- ifelse(gt_included_intl, yes, [
- BUILD_INCLUDED_LIBINTL=no
- USE_INCLUDED_LIBINTL=no
- ])
- LIBINTL=
- LTLIBINTL=
- POSUB=
-
- dnl If we use NLS figure out what method
- if test "$USE_NLS" = "yes"; then
- gt_use_preinstalled_gnugettext=no
- ifelse(gt_included_intl, yes, [
- AC_MSG_CHECKING([whether included gettext is requested])
- AC_ARG_WITH(included-gettext,
- [ --with-included-gettext use the GNU gettext library included here],
- nls_cv_force_use_gnu_gettext=$withval,
- nls_cv_force_use_gnu_gettext=no)
- AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
-
- nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
- if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
- ])
- dnl User does not insist on using GNU NLS library. Figure out what
- dnl to use. If GNU gettext is available we use this. Else we have
- dnl to fall back to GNU NLS library.
-
- dnl Add a version number to the cache macros.
- define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
- define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
- define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
-
- AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
- [AC_TRY_LINK([#include <libintl.h>
-]ifelse([$2], [need-formatstring-macros],
-[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-changequote(,)dnl
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-], [])[extern int _nl_msg_cat_cntr;
-extern int *_nl_domain_bindings;],
- [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
- gt_cv_func_gnugettext_libc=yes,
- gt_cv_func_gnugettext_libc=no)])
-
- if test "$gt_cv_func_gnugettext_libc" != "yes"; then
- dnl Sometimes libintl requires libiconv, so first search for libiconv.
- ifelse(gt_included_intl, yes, , [
- AM_ICONV_LINK
- ])
- dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
- dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
- dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
- dnl even if libiconv doesn't exist.
- AC_LIB_LINKFLAGS_BODY([intl])
- AC_CACHE_CHECK([for GNU gettext in libintl],
- gt_cv_func_gnugettext_libintl,
- [gt_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $INCINTL"
- gt_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBINTL"
- dnl Now see whether libintl exists and does not depend on libiconv.
- AC_TRY_LINK([#include <libintl.h>
-]ifelse([$2], [need-formatstring-macros],
-[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-changequote(,)dnl
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-], [])[extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias ();],
- [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
- gt_cv_func_gnugettext_libintl=yes,
- gt_cv_func_gnugettext_libintl=no)
- dnl Now see whether libintl exists and depends on libiconv.
- if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
- LIBS="$LIBS $LIBICONV"
- AC_TRY_LINK([#include <libintl.h>
-]ifelse([$2], [need-formatstring-macros],
-[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-changequote(,)dnl
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-], [])[extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias ();],
- [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
- [LIBINTL="$LIBINTL $LIBICONV"
- LTLIBINTL="$LTLIBINTL $LTLIBICONV"
- gt_cv_func_gnugettext_libintl=yes
- ])
- fi
- CPPFLAGS="$gt_save_CPPFLAGS"
- LIBS="$gt_save_LIBS"])
- fi
-
- dnl If an already present or preinstalled GNU gettext() is found,
- dnl use it. But if this macro is used in GNU gettext, and GNU
- dnl gettext is already preinstalled in libintl, we update this
- dnl libintl. (Cf. the install rule in intl/Makefile.in.)
- if test "$gt_cv_func_gnugettext_libc" = "yes" \
- || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
- && test "$PACKAGE" != gettext-runtime \
- && test "$PACKAGE" != gettext-tools; }; then
- gt_use_preinstalled_gnugettext=yes
- else
- dnl Reset the values set by searching for libintl.
- LIBINTL=
- LTLIBINTL=
- INCINTL=
- fi
-
- ifelse(gt_included_intl, yes, [
- if test "$gt_use_preinstalled_gnugettext" != "yes"; then
- dnl GNU gettext is not found in the C library.
- dnl Fall back on included GNU gettext library.
- nls_cv_use_gnu_gettext=yes
- fi
- fi
-
- if test "$nls_cv_use_gnu_gettext" = "yes"; then
- dnl Mark actions used to generate GNU NLS library.
- BUILD_INCLUDED_LIBINTL=yes
- USE_INCLUDED_LIBINTL=yes
- LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
- LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
- LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
- fi
-
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
- dnl Mark actions to use GNU gettext tools.
- CATOBJEXT=.gmo
- fi
- ])
-
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
- AC_DEFINE(ENABLE_NLS, 1,
- [Define to 1 if translation of program messages to the user's native language
- is requested.])
- else
- USE_NLS=no
- fi
- fi
-
- AC_MSG_CHECKING([whether to use NLS])
- AC_MSG_RESULT([$USE_NLS])
- if test "$USE_NLS" = "yes"; then
- AC_MSG_CHECKING([where the gettext function comes from])
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
- gt_source="external libintl"
- else
- gt_source="libc"
- fi
- else
- gt_source="included intl directory"
- fi
- AC_MSG_RESULT([$gt_source])
- fi
-
- if test "$USE_NLS" = "yes"; then
-
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
- AC_MSG_CHECKING([how to link with libintl])
- AC_MSG_RESULT([$LIBINTL])
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
- fi
-
- dnl For backward compatibility. Some packages may be using this.
- AC_DEFINE(HAVE_GETTEXT, 1,
- [Define if the GNU gettext() function is already present or preinstalled.])
- AC_DEFINE(HAVE_DCGETTEXT, 1,
- [Define if the GNU dcgettext() function is already present or preinstalled.])
- fi
-
- dnl We need to process the po/ directory.
- POSUB=po
- fi
-
- ifelse(gt_included_intl, yes, [
- dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
- dnl to 'yes' because some of the testsuite requires it.
- if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
- BUILD_INCLUDED_LIBINTL=yes
- fi
-
- dnl Make all variables we use known to autoconf.
- AC_SUBST(BUILD_INCLUDED_LIBINTL)
- AC_SUBST(USE_INCLUDED_LIBINTL)
- AC_SUBST(CATOBJEXT)
-
- dnl For backward compatibility. Some configure.ins may be using this.
- nls_cv_header_intl=
- nls_cv_header_libgt=
-
- dnl For backward compatibility. Some Makefiles may be using this.
- DATADIRNAME=share
- AC_SUBST(DATADIRNAME)
-
- dnl For backward compatibility. Some Makefiles may be using this.
- INSTOBJEXT=.mo
- AC_SUBST(INSTOBJEXT)
-
- dnl For backward compatibility. Some Makefiles may be using this.
- GENCAT=gencat
- AC_SUBST(GENCAT)
-
- dnl For backward compatibility. Some Makefiles may be using this.
- if test "$USE_INCLUDED_LIBINTL" = yes; then
- INTLOBJS="\$(GETTOBJS)"
- fi
- AC_SUBST(INTLOBJS)
-
- dnl Enable libtool support if the surrounding package wishes it.
- INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
- AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
- ])
-
- dnl For backward compatibility. Some Makefiles may be using this.
- INTLLIBS="$LIBINTL"
- AC_SUBST(INTLLIBS)
-
- dnl Make all documented variables known to autoconf.
- AC_SUBST(LIBINTL)
- AC_SUBST(LTLIBINTL)
- AC_SUBST(POSUB)
-])
-m4trace:config/gettext.m4:347: -1- AC_DEFUN([AM_INTL_SUBDIR], [
- AC_REQUIRE([AC_PROG_INSTALL])dnl
- AC_REQUIRE([AM_MKINSTALLDIRS])dnl
- AC_REQUIRE([AC_PROG_CC])dnl
- AC_REQUIRE([AC_CANONICAL_HOST])dnl
- AC_REQUIRE([AC_PROG_RANLIB])dnl
- AC_REQUIRE([AC_ISC_POSIX])dnl
- AC_REQUIRE([AC_HEADER_STDC])dnl
- AC_REQUIRE([AC_C_CONST])dnl
- AC_REQUIRE([bh_C_SIGNED])dnl
- AC_REQUIRE([AC_C_INLINE])dnl
- AC_REQUIRE([AC_TYPE_OFF_T])dnl
- AC_REQUIRE([AC_TYPE_SIZE_T])dnl
- AC_REQUIRE([jm_AC_TYPE_LONG_LONG])dnl
- AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl
- AC_REQUIRE([gt_TYPE_WCHAR_T])dnl
- AC_REQUIRE([gt_TYPE_WINT_T])dnl
- AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
- AC_REQUIRE([jm_AC_HEADER_STDINT_H])
- AC_REQUIRE([gt_TYPE_INTMAX_T])
- AC_REQUIRE([gt_PRINTF_POSIX])
- AC_REQUIRE([AC_FUNC_ALLOCA])dnl
- AC_REQUIRE([AC_FUNC_MMAP])dnl
- AC_REQUIRE([jm_GLIBC21])dnl
- AC_REQUIRE([gt_INTDIV0])dnl
- AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
- AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
- AC_REQUIRE([gt_INTTYPES_PRI])dnl
- AC_REQUIRE([gl_XSIZE])dnl
-
- AC_CHECK_TYPE([ptrdiff_t], ,
- [AC_DEFINE([ptrdiff_t], [long],
- [Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
- ])
- AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
-stdlib.h string.h unistd.h sys/param.h])
- AC_CHECK_FUNCS([asprintf fwprintf getcwd getegid geteuid getgid getuid \
-mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup \
-strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \
-__fsetlocking])
-
- dnl Use the _snprintf function only if it is declared (because on NetBSD it
- dnl is defined as a weak alias of snprintf; we prefer to use the latter).
- gt_CHECK_DECL(_snprintf, [#include <stdio.h>])
- gt_CHECK_DECL(_snwprintf, [#include <stdio.h>])
-
- dnl Use the *_unlocked functions only if they are declared.
- dnl (because some of them were defined without being declared in Solaris
- dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
- dnl on Solaris 2.5.1 to run on Solaris 2.6).
- dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
- gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])
- gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])
- gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
-
- case $gt_cv_func_printf_posix in
- *yes) HAVE_POSIX_PRINTF=1 ;;
- *) HAVE_POSIX_PRINTF=0 ;;
- esac
- AC_SUBST([HAVE_POSIX_PRINTF])
- if test "$ac_cv_func_asprintf" = yes; then
- HAVE_ASPRINTF=1
- else
- HAVE_ASPRINTF=0
- fi
- AC_SUBST([HAVE_ASPRINTF])
- if test "$ac_cv_func_snprintf" = yes; then
- HAVE_SNPRINTF=1
- else
- HAVE_SNPRINTF=0
- fi
- AC_SUBST([HAVE_SNPRINTF])
- if test "$ac_cv_func_wprintf" = yes; then
- HAVE_WPRINTF=1
- else
- HAVE_WPRINTF=0
- fi
- AC_SUBST([HAVE_WPRINTF])
-
- AM_ICONV
- AM_LANGINFO_CODESET
- if test $ac_cv_header_locale_h = yes; then
- AM_LC_MESSAGES
- fi
-
- dnl intl/plural.c is generated from intl/plural.y. It requires bison,
- dnl because plural.y uses bison specific features. It requires at least
- dnl bison-1.26 because earlier versions generate a plural.c that doesn't
- dnl compile.
- dnl bison is only needed for the maintainer (who touches plural.y). But in
- dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
- dnl the rule in general Makefile. Now, some people carelessly touch the
- dnl files or have a broken "make" program, hence the plural.c rule will
- dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
- dnl present or too old.
- AC_CHECK_PROGS([INTLBISON], [bison])
- if test -z "$INTLBISON"; then
- ac_verc_fail=yes
- else
- dnl Found it, now check the version.
- AC_MSG_CHECKING([version of bison])
-changequote(<<,>>)dnl
- ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
- case $ac_prog_version in
- '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
- 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
-changequote([,])dnl
- ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
- *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
- esac
- AC_MSG_RESULT([$ac_prog_version])
- fi
- if test $ac_verc_fail = yes; then
- INTLBISON=:
- fi
-])
-m4trace:config/gettext.m4:468: -1- AC_DEFUN([gt_CHECK_DECL], [
- AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1,
- [AC_TRY_COMPILE([$2], [
-#ifndef $1
- char *p = (char *) $1;
-#endif
-], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)])
- if test $ac_cv_have_decl_$1 = yes; then
- gt_value=1
- else
- gt_value=0
- fi
- AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],
- [Define to 1 if you have the declaration of `$1', and to 0 if you don't.])
-])
-m4trace:config/gettext.m4:487: -1- AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
-m4trace:config/glibc21.m4:12: -1- AC_DEFUN([jm_GLIBC21], [
- AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
- ac_cv_gnu_library_2_1,
- [AC_EGREP_CPP([Lucky GNU user],
- [
-#include <features.h>
-#ifdef __GNU_LIBRARY__
- #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
- Lucky GNU user
- #endif
-#endif
- ],
- ac_cv_gnu_library_2_1=yes,
- ac_cv_gnu_library_2_1=no)
- ]
- )
- AC_SUBST(GLIBC21)
- GLIBC21="$ac_cv_gnu_library_2_1"
-
-])
-m4trace:config/iconv.m4:11: -1- AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [
- dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
-
- dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
- dnl accordingly.
- AC_LIB_LINKFLAGS_BODY([iconv])
-])
-m4trace:config/iconv.m4:22: -1- AC_DEFUN([AM_ICONV_LINK], [
- dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
- dnl those with the standalone portable GNU libiconv installed).
-
- dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
- dnl accordingly.
- AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-
- 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_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_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
- [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_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
- [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"
- fi
- ])
- if test "$am_cv_func_iconv" = yes; then
- AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
- fi
- if test "$am_cv_lib_iconv" = yes; then
- AC_MSG_CHECKING([how to link with libiconv])
- AC_MSG_RESULT([$LIBICONV])
- else
- dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
- dnl either.
- CPPFLAGS="$am_save_CPPFLAGS"
- LIBICONV=
- LTLIBICONV=
- fi
- AC_SUBST(LIBICONV)
- AC_SUBST(LTLIBICONV)
-])
-m4trace:config/iconv.m4:77: -1- 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_TRY_COMPILE([
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#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="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([$]{ac_t:-
- }[$]am_cv_proto_iconv)
- AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
- [Define as const if the declaration of iconv() needs const.])
- fi
-])
-m4trace:config/intdiv0.m4:11: -1- AC_DEFUN([gt_INTDIV0], [
- AC_REQUIRE([AC_PROG_CC])dnl
- AC_REQUIRE([AC_CANONICAL_HOST])dnl
-
- AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
- gt_cv_int_divbyzero_sigfpe,
- [
- AC_TRY_RUN([
-#include <stdlib.h>
-#include <signal.h>
-
-static void
-#ifdef __cplusplus
-sigfpe_handler (int sig)
-#else
-sigfpe_handler (sig) int sig;
-#endif
-{
- /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
- exit (sig != SIGFPE);
-}
-
-int x = 1;
-int y = 0;
-int z;
-int nan;
-
-int main ()
-{
- signal (SIGFPE, sigfpe_handler);
-/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
-#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
- signal (SIGTRAP, sigfpe_handler);
-#endif
-/* Linux/SPARC yields signal SIGILL. */
-#if defined (__sparc__) && defined (__linux__)
- signal (SIGILL, sigfpe_handler);
-#endif
-
- z = x / y;
- nan = y / y;
- exit (1);
-}
-], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
- [
- # Guess based on the CPU.
- case "$host_cpu" in
- alpha* | i[34567]86 | m68k | s390*)
- gt_cv_int_divbyzero_sigfpe="guessing yes";;
- *)
- gt_cv_int_divbyzero_sigfpe="guessing no";;
- esac
- ])
- ])
- case "$gt_cv_int_divbyzero_sigfpe" in
- *yes) value=1;;
- *) value=0;;
- esac
- AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
- [Define if integer division by zero raises signal SIGFPE.])
-])
-m4trace:config/intmax.m4:13: -1- AC_DEFUN([gt_TYPE_INTMAX_T], [
- AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
- AC_REQUIRE([jm_AC_HEADER_STDINT_H])
- AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t,
- [AC_TRY_COMPILE([
-#include <stddef.h>
-#include <stdlib.h>
-#if HAVE_STDINT_H_WITH_UINTMAX
-#include <stdint.h>
-#endif
-#if HAVE_INTTYPES_H_WITH_UINTMAX
-#include <inttypes.h>
-#endif
-], [intmax_t x = -1;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)])
- if test $gt_cv_c_intmax_t = yes; then
- AC_DEFINE(HAVE_INTMAX_T, 1,
- [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
- fi
-])
-m4trace:config/inttypes-pri.m4:14: -1- AC_DEFUN([gt_INTTYPES_PRI], [
- AC_REQUIRE([gt_HEADER_INTTYPES_H])
- if test $gt_cv_header_inttypes_h = yes; then
- AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
- gt_cv_inttypes_pri_broken,
- [
- AC_TRY_COMPILE([#include <inttypes.h>
-#ifdef PRId32
-char *p = PRId32;
-#endif
-], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
- ])
- fi
- if test "$gt_cv_inttypes_pri_broken" = yes; then
- AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
- [Define if <inttypes.h> exists and defines unusable PRI* macros.])
- fi
-])
-m4trace:config/inttypes.m4:14: -1- AC_DEFUN([gt_HEADER_INTTYPES_H], [
- AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h,
- [
- AC_TRY_COMPILE(
- [#include <sys/types.h>
-#include <inttypes.h>],
- [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no)
- ])
- if test $gt_cv_header_inttypes_h = yes; then
- AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
- [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.])
- fi
-])
-m4trace:config/inttypes_h.m4:14: -1- AC_DEFUN([jm_AC_HEADER_INTTYPES_H], [
- AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
- [AC_TRY_COMPILE(
- [#include <sys/types.h>
-#include <inttypes.h>],
- [uintmax_t i = (uintmax_t) -1;],
- jm_ac_cv_header_inttypes_h=yes,
- jm_ac_cv_header_inttypes_h=no)])
- if test $jm_ac_cv_header_inttypes_h = yes; then
- AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
- [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
- and declares uintmax_t. ])
- fi
-])
-m4trace:config/isc-posix.m4:21: -1- AC_DEFUN([AC_ISC_POSIX], [
- dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
- AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
-
-])
-m4trace:config/lcmessage.m4:23: -1- AC_DEFUN([AM_LC_MESSAGES], [
- AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
- [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
- am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
- if test $am_cv_val_LC_MESSAGES = yes; then
- AC_DEFINE(HAVE_LC_MESSAGES, 1,
- [Define if your <locale.h> file defines LC_MESSAGES.])
- fi
-])
-m4trace:config/lib-ld.m4:14: -1- 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 ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- acl_cv_prog_gnu_ld=yes ;;
-*)
- acl_cv_prog_gnu_ld=no ;;
-esac])
-with_gnu_ld=$acl_cv_prog_gnu_ld
-])
-m4trace:config/lib-ld.m4:27: -1- AC_DEFUN([AC_LIB_PROG_LD], [AC_ARG_WITH(gnu-ld,
-[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
-test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- 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 GCC])
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [[\\/]* | [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"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- AC_MSG_CHECKING([for GNU ld])
-else
- AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(acl_cv_path_LD,
-[if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
- for ac_dir in $PATH; do
- 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 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 < /dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break ;;
- *)
- test "$with_gnu_ld" != yes && break ;;
- esac
- fi
- done
- IFS="$ac_save_ifs"
-else
- acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
- AC_MSG_RESULT($LD)
-else
- AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_LIB_PROG_LD_GNU
-])
-m4trace:config/lib-link.m4:15: -1- AC_DEFUN([AC_LIB_LINKFLAGS], [
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
- define([Name],[translit([$1],[./-], [___])])
- define([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"
- ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
- ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
- ])
- LIB[]NAME="$ac_cv_lib[]Name[]_libs"
- LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
- INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
- AC_SUBST([LIB]NAME)
- AC_SUBST([LTLIB]NAME)
- dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
- dnl results of this search when this library appears as a dependency.
- HAVE_LIB[]NAME=yes
- undefine([Name])
- undefine([NAME])
-])
-m4trace:config/lib-link.m4:49: -1- AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], [
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- AC_REQUIRE([AC_LIB_RPATH])
- define([Name],[translit([$1],[./-], [___])])
- define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-
- dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
- dnl accordingly.
- AC_LIB_LINKFLAGS_BODY([$1], [$2])
-
- dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
- dnl because if the user has installed lib[]Name and not disabled its use
- dnl via --without-lib[]Name-prefix, he wants to use it.
- ac_save_CPPFLAGS="$CPPFLAGS"
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-
- AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $LIB[]NAME"
- AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
- LIBS="$ac_save_LIBS"
- ])
- if test "$ac_cv_lib[]Name" = yes; then
- HAVE_LIB[]NAME=yes
- AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
- AC_MSG_CHECKING([how to link with lib[]$1])
- AC_MSG_RESULT([$LIB[]NAME])
- else
- HAVE_LIB[]NAME=no
- dnl If $LIB[]NAME didn't lead to a usable library, we don't need
- dnl $INC[]NAME either.
- CPPFLAGS="$ac_save_CPPFLAGS"
- LIB[]NAME=
- LTLIB[]NAME=
- fi
- AC_SUBST([HAVE_LIB]NAME)
- AC_SUBST([LIB]NAME)
- AC_SUBST([LTLIB]NAME)
- undefine([Name])
- undefine([NAME])
-])
-m4trace:config/lib-link.m4:96: -1- AC_DEFUN([AC_LIB_RPATH], [
- AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
- AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
- AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
- AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
- CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
- ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
- . ./conftest.sh
- rm -f ./conftest.sh
- acl_cv_rpath=done
- ])
- wl="$acl_cv_wl"
- libext="$acl_cv_libext"
- shlibext="$acl_cv_shlibext"
- hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
- hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
- hardcode_direct="$acl_cv_hardcode_direct"
- hardcode_minus_L="$acl_cv_hardcode_minus_L"
- dnl Determine whether the user wants rpath handling at all.
- AC_ARG_ENABLE(rpath,
- [ --disable-rpath do not hardcode runtime library paths],
- :, enable_rpath=yes)
-])
-m4trace:config/lib-link.m4:125: -1- AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [
- define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
- dnl By default, look in $includedir and $libdir.
- use_additional=yes
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- AC_LIB_ARG_WITH([lib$1-prefix],
-[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
- --without-lib$1-prefix don't search for lib$1 in includedir and libdir],
-[
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
- fi
- fi
-])
- dnl Search the library and its dependencies in $additional_libdir and
- dnl $LDFLAGS. Using breadth-first-seach.
- LIB[]NAME=
- LTLIB[]NAME=
- INC[]NAME=
- rpathdirs=
- ltrpathdirs=
- names_already_handled=
- names_next_round='$1 $2'
- while test -n "$names_next_round"; do
- names_this_round="$names_next_round"
- names_next_round=
- for name in $names_this_round; do
- already_handled=
- for n in $names_already_handled; do
- if test "$n" = "$name"; then
- already_handled=yes
- break
- fi
- done
- if test -z "$already_handled"; then
- 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___|'`
- eval value=\"\$HAVE_LIB$uppername\"
- if test -n "$value"; then
- if test "$value" = yes; then
- eval value=\"\$LIB$uppername\"
- test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
- eval value=\"\$LTLIB$uppername\"
- test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
- else
- dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
- dnl that this library doesn't exist. So just drop it.
- :
- fi
- else
- dnl Search the library lib$name in $additional_libdir and $LDFLAGS
- dnl and the already constructed $LIBNAME/$LTLIBNAME.
- found_dir=
- found_la=
- found_so=
- found_a=
- if test $use_additional = yes; then
- if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
- found_dir="$additional_libdir"
- found_so="$additional_libdir/lib$name.$shlibext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- else
- if test -f "$additional_libdir/lib$name.$libext"; then
- found_dir="$additional_libdir"
- found_a="$additional_libdir/lib$name.$libext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- for x in $LDFLAGS $LTLIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- case "$x" in
- -L*)
- dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
- found_dir="$dir"
- found_so="$dir/lib$name.$shlibext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- else
- if test -f "$dir/lib$name.$libext"; then
- found_dir="$dir"
- found_a="$dir/lib$name.$libext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- fi
- fi
- ;;
- esac
- if test "X$found_dir" != "X"; then
- break
- fi
- done
- fi
- if test "X$found_dir" != "X"; then
- dnl Found the library.
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
- if test "X$found_so" != "X"; then
- dnl Linking with a shared library. We attempt to hardcode its
- dnl directory into the executable's runpath, unless it's the
- dnl standard /usr/lib.
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
- dnl No hardcoding is needed.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- else
- dnl Use an explicit option to hardcode DIR into the resulting
- dnl binary.
- dnl Potentially add DIR to ltrpathdirs.
- dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $found_dir"
- fi
- dnl The hardcoding into $LIBNAME is system dependent.
- if test "$hardcode_direct" = yes; then
- dnl Using DIR/libNAME.so during linking hardcodes DIR into the
- dnl resulting binary.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- else
- if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
- dnl Use an explicit option to hardcode DIR into the resulting
- dnl binary.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- dnl Potentially add DIR to rpathdirs.
- dnl The rpathdirs will be appended to $LIBNAME at the end.
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $found_dir"
- fi
- else
- dnl Rely on "-L$found_dir".
- dnl But don't add it if it's already contained in the LDFLAGS
- dnl or the already constructed $LIBNAME
- haveit=
- for x in $LDFLAGS $LIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
- fi
- if test "$hardcode_minus_L" != no; then
- dnl FIXME: Not sure whether we should use
- dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
- dnl here.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
- else
- dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
- dnl here, because this doesn't fit in flags passed to the
- dnl compiler. So give up. No hardcoding. This affects only
- dnl very old systems.
- dnl FIXME: Not sure whether we should use
- dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
- dnl here.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
- fi
- fi
- fi
- fi
- else
- if test "X$found_a" != "X"; then
- dnl Linking with a static library.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
- else
- dnl We shouldn't come here, but anyway it's good to have a
- dnl fallback.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
- fi
- fi
- dnl Assume the include files are nearby.
- additional_includedir=
- case "$found_dir" in
- */lib | */lib/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
- additional_includedir="$basedir/include"
- ;;
- esac
- if test "X$additional_includedir" != "X"; then
- dnl Potentially add $additional_includedir to $INCNAME.
- dnl But don't add it
- dnl 1. if it's the standard /usr/include,
- dnl 2. if it's /usr/local/include and we are using GCC on Linux,
- dnl 3. if it's already present in $CPPFLAGS or the already
- dnl constructed $INCNAME,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- for x in $CPPFLAGS $INC[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- dnl Really add $additional_includedir to $INCNAME.
- INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- fi
- dnl Look for dependencies.
- if test -n "$found_la"; then
- dnl Read the .la file. It defines the variables
- dnl dlname, library_names, old_library, dependency_libs, current,
- dnl age, revision, installed, dlopen, dlpreopen, libdir.
- save_libdir="$libdir"
- case "$found_la" in
- */* | *\\*) . "$found_la" ;;
- *) . "./$found_la" ;;
- esac
- libdir="$save_libdir"
- dnl We use only dependency_libs.
- for dep in $dependency_libs; do
- case "$dep" in
- -L*)
- additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
- dnl But don't add it
- dnl 1. if it's the standard /usr/lib,
- dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
- dnl 3. if it's already present in $LDFLAGS or the already
- dnl constructed $LIBNAME,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_libdir" != "X/usr/lib"; then
- haveit=
- if test "X$additional_libdir" = "X/usr/local/lib"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- haveit=
- for x in $LDFLAGS $LIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- dnl Really add $additional_libdir to $LIBNAME.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
- fi
- fi
- haveit=
- for x in $LDFLAGS $LTLIB[]NAME; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- dnl Really add $additional_libdir to $LTLIBNAME.
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- ;;
- -R*)
- dir=`echo "X$dep" | sed -e 's/^X-R//'`
- if test "$enable_rpath" != no; then
- dnl Potentially add DIR to rpathdirs.
- dnl The rpathdirs will be appended to $LIBNAME at the end.
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $dir"
- fi
- dnl Potentially add DIR to ltrpathdirs.
- dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $dir"
- fi
- fi
- ;;
- -l*)
- dnl Handle this in the next round.
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
- ;;
- *.la)
- dnl Handle this in the next round. Throw away the .la's
- dnl directory; it is already contained in a preceding -L
- dnl option.
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
- ;;
- *)
- dnl Most likely an immediate library name.
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
- ;;
- esac
- done
- fi
- else
- dnl Didn't find the library; assume it is in the system directories
- dnl known to the linker and runtime loader. (All the system
- dnl directories known to the linker should also be known to the
- dnl runtime loader, otherwise the system is severely misconfigured.)
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
- fi
- fi
- fi
- done
- done
- if test "X$rpathdirs" != "X"; then
- if test -n "$hardcode_libdir_separator"; then
- dnl Weird platform: only the last -rpath option counts, the user must
- dnl pass all path elements in one option. We can arrange that for a
- dnl single library, but not when more than one $LIBNAMEs are used.
- alldirs=
- for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
- done
- dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
- else
- dnl The -rpath options are cumulative.
- for found_dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$found_dir"
- eval flag=\"$hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
- done
- fi
- fi
- if test "X$ltrpathdirs" != "X"; then
- dnl When using libtool, the option that works for both libraries and
- dnl executables is -R. The -R options are cumulative.
- for found_dir in $ltrpathdirs; do
- LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
- done
- fi
-])
-m4trace:config/lib-link.m4:536: -1- AC_DEFUN([AC_LIB_APPENDTOVAR], [
- for element in [$2]; do
- haveit=
- for x in $[$1]; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X$element"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- [$1]="${[$1]}${[$1]:+ }$element"
- fi
- done
-])
-m4trace:config/lib-prefix.m4:14: -1- AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])
-m4trace:config/lib-prefix.m4:24: -1- AC_DEFUN([AC_LIB_PREFIX], [
- AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([AC_CANONICAL_HOST])
- AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
- dnl By default, look in $includedir and $libdir.
- use_additional=yes
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- AC_LIB_ARG_WITH([lib-prefix],
-[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
- --without-lib-prefix don't search for libraries in includedir and libdir],
-[
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
- fi
- fi
-])
- if test $use_additional = yes; then
- dnl Potentially add $additional_includedir to $CPPFLAGS.
- dnl But don't add it
- dnl 1. if it's the standard /usr/include,
- dnl 2. if it's already present in $CPPFLAGS,
- dnl 3. if it's /usr/local/include and we are using GCC on Linux,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- for x in $CPPFLAGS; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- dnl Really add $additional_includedir to $CPPFLAGS.
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- dnl Potentially add $additional_libdir to $LDFLAGS.
- dnl But don't add it
- dnl 1. if it's the standard /usr/lib,
- dnl 2. if it's already present in $LDFLAGS,
- dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
- dnl 4. if it doesn't exist as a directory.
- if test "X$additional_libdir" != "X/usr/lib"; then
- haveit=
- for x in $LDFLAGS; do
- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test "X$additional_libdir" = "X/usr/local/lib"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- dnl Really add $additional_libdir to $LDFLAGS.
- LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- fi
-])
-m4trace:config/lib-prefix.m4:123: -1- AC_DEFUN([AC_LIB_PREPARE_PREFIX], [
- dnl Unfortunately, prefix and exec_prefix get only finally determined
- dnl at the end of configure.
- if test "X$prefix" = "XNONE"; then
- acl_final_prefix="$ac_default_prefix"
- else
- acl_final_prefix="$prefix"
- fi
- if test "X$exec_prefix" = "XNONE"; then
- acl_final_exec_prefix='${prefix}'
- else
- acl_final_exec_prefix="$exec_prefix"
- fi
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
- prefix="$acl_save_prefix"
-])
-m4trace:config/lib-prefix.m4:146: -1- AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], [
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- $1
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-])
-m4trace:config/longdouble.m4:13: -1- AC_DEFUN([gt_TYPE_LONGDOUBLE], [
- AC_CACHE_CHECK([for long double], gt_cv_c_long_double,
- [if test "$GCC" = yes; then
- gt_cv_c_long_double=yes
- else
- AC_TRY_COMPILE([
- /* The Stardent Vistra knows sizeof(long double), but does not support it. */
- long double foo = 0.0;
- /* On Ultrix 4.3 cc, long double is 4 and double is 8. */
- int array [2*(sizeof(long double) >= sizeof(double)) - 1];
- ], ,
- gt_cv_c_long_double=yes, gt_cv_c_long_double=no)
- fi])
- if test $gt_cv_c_long_double = yes; then
- AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.])
- fi
-])
-m4trace:config/longlong.m4:13: -1- AC_DEFUN([jm_AC_TYPE_LONG_LONG], [
- AC_CACHE_CHECK([for long long], ac_cv_type_long_long,
- [AC_TRY_LINK([long long ll = 1LL; int i = 63;],
- [long long llmax = (long long) -1;
- return ll << i | ll >> i | llmax / ll | llmax % ll;],
- ac_cv_type_long_long=yes,
- ac_cv_type_long_long=no)])
- if test $ac_cv_type_long_long = yes; then
- AC_DEFINE(HAVE_LONG_LONG, 1,
- [Define if you have the 'long long' type.])
- fi
-])
-m4trace:config/nls.m4:22: -1- AC_DEFUN([AM_NLS], [
- AC_MSG_CHECKING([whether NLS is requested])
- dnl Default is enabled NLS
- AC_ARG_ENABLE(nls,
- [ --disable-nls do not use Native Language Support],
- USE_NLS=$enableval, USE_NLS=yes)
- AC_MSG_RESULT($USE_NLS)
- AC_SUBST(USE_NLS)
-])
-m4trace:config/nls.m4:33: -1- AC_DEFUN([AM_MKINSTALLDIRS], [
- dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
- dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
- dnl Try to locate it.
- MKINSTALLDIRS=
- if test -n "$ac_aux_dir"; then
- case "$ac_aux_dir" in
- /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
- *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
- esac
- fi
- if test -z "$MKINSTALLDIRS"; then
- MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
- fi
- AC_SUBST(MKINSTALLDIRS)
-])
-m4trace:config/po.m4:23: -1- AC_DEFUN([AM_PO_SUBDIRS], [
- AC_REQUIRE([AC_PROG_MAKE_SET])dnl
- AC_REQUIRE([AC_PROG_INSTALL])dnl
- AC_REQUIRE([AM_MKINSTALLDIRS])dnl
- AC_REQUIRE([AM_NLS])dnl
-
- dnl Perform the following tests also if --disable-nls has been given,
- dnl because they are needed for "make dist" to work.
-
- dnl Search for GNU msgfmt in the PATH.
- dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
- dnl The second test excludes FreeBSD msgfmt.
- AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
- [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
- (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
- :)
- AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
-
- dnl Search for GNU xgettext 0.12 or newer in the PATH.
- dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
- dnl The second test excludes FreeBSD xgettext.
- AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
- [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
- (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
- :)
- dnl Remove leftover from FreeBSD xgettext call.
- rm -f messages.po
-
- dnl Search for GNU msgmerge 0.11 or newer in the PATH.
- AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
- [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
-
- dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
- dnl Test whether we really found GNU msgfmt.
- if test "$GMSGFMT" != ":"; then
- dnl If it is no GNU msgfmt we define it as : so that the
- dnl Makefiles still can work.
- if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
- (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- : ;
- else
- GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
- AC_MSG_RESULT(
- [found $GMSGFMT program is not GNU msgfmt; ignore it])
- GMSGFMT=":"
- fi
- fi
-
- dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
- dnl Test whether we really found GNU xgettext.
- if test "$XGETTEXT" != ":"; then
- dnl If it is no GNU xgettext we define it as : so that the
- dnl Makefiles still can work.
- if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
- (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- : ;
- else
- AC_MSG_RESULT(
- [found xgettext program is not GNU xgettext; ignore it])
- XGETTEXT=":"
- fi
- dnl Remove leftover from FreeBSD xgettext call.
- rm -f messages.po
- fi
-
- AC_OUTPUT_COMMANDS([
- for ac_file in $CONFIG_FILES; do
- # Support "outfile[:infile[:infile...]]"
- case "$ac_file" in
- *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- esac
- # PO directories have a Makefile.in generated from Makefile.in.in.
- 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_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.
- test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
- case "$ac_given_srcdir" in
- .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
- /*) top_srcdir="$ac_given_srcdir" ;;
- *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
- 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"
- 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
- # parameters.
- if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
- # The LINGUAS file contains the set of available languages.
- if test -n "$OBSOLETE_ALL_LINGUAS"; then
- 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" "$ac_given_srcdir/$ac_dir/LINGUAS"`
- # Hide the ALL_LINGUAS assigment from automake.
- eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
- POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
- else
- # The set of available languages was given in configure.in.
- eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
- fi
- # Compute POFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
- # Compute UPDATEPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
- # Compute DUMMYPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
- # Compute GMOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
- case "$ac_given_srcdir" in
- .) srcdirpre= ;;
- *) srcdirpre='$(srcdir)/' ;;
- esac
- POFILES=
- UPDATEPOFILES=
- DUMMYPOFILES=
- GMOFILES=
- for lang in $ALL_LINGUAS; do
- POFILES="$POFILES $srcdirpre$lang.po"
- UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
- DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
- GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
- done
- # CATALOGS depends on both $ac_dir and the user's LINGUAS
- # environment variable.
- INST_LINGUAS=
- if test -n "$ALL_LINGUAS"; then
- for presentlang in $ALL_LINGUAS; do
- useit=no
- if test "%UNSET%" != "$LINGUAS"; then
- desiredlanguages="$LINGUAS"
- else
- desiredlanguages="$ALL_LINGUAS"
- fi
- for desiredlang in $desiredlanguages; do
- # Use the presentlang catalog if desiredlang is
- # a. equal to presentlang, or
- # b. a variant of presentlang (because in this case,
- # presentlang can be used as a fallback for messages
- # which are not translated in the desiredlang catalog).
- case "$desiredlang" in
- "$presentlang"*) useit=yes;;
- esac
- done
- if test $useit = yes; then
- INST_LINGUAS="$INST_LINGUAS $presentlang"
- fi
- done
- fi
- CATALOGS=
- if test -n "$INST_LINGUAS"; then
- for lang in $INST_LINGUAS; do
- CATALOGS="$CATALOGS $lang.gmo"
- done
- fi
- test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
- sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
- for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
- if test -f "$f"; then
- case "$f" in
- *.orig | *.bak | *~) ;;
- *) cat "$f" >> "$ac_dir/Makefile" ;;
- esac
- fi
- done
- fi
- ;;
- esac
- done],
- [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
- # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
- # from automake.
- eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
- # Capture the value of LINGUAS because we need it to compute CATALOGS.
- LINGUAS="${LINGUAS-%UNSET%}"
- ])
-])
-m4trace:config/po.m4:208: -1- AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], [
- # When this code is run, in config.status, two variables have already been
- # set:
- # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
- # - LINGUAS is the value of the environment variable LINGUAS at configure
- # time.
-
-changequote(,)dnl
- # Adjust a relative srcdir.
- ac_dir=`echo "$ac_file"|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.
- test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
- case "$ac_given_srcdir" in
- .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
- /*) top_srcdir="$ac_given_srcdir" ;;
- *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- # Find a way to echo strings without interpreting backslash.
- if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
- gt_echo='echo'
- else
- if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
- gt_echo='printf %s\n'
- else
- echo_func () {
- cat <<EOT
-$*
-EOT
- }
- gt_echo='echo_func'
- fi
- fi
-
- # A sed script that extracts the value of VARIABLE from a Makefile.
- sed_x_variable='
-# Test if the hold space is empty.
-x
-s/P/P/
-x
-ta
-# Yes it was empty. Look if we have the expected variable definition.
-/^[ ]*VARIABLE[ ]*=/{
- # Seen the first line of the variable definition.
- s/^[ ]*VARIABLE[ ]*=//
- ba
-}
-bd
-:a
-# Here we are processing a line from the variable definition.
-# Remove comment, more precisely replace it with a space.
-s/#.*$/ /
-# See if the line ends in a backslash.
-tb
-:b
-s/\\$//
-# Print the line, without the trailing backslash.
-p
-tc
-# There was no trailing backslash. The end of the variable definition is
-# reached. Clear the hold space.
-s/^.*$//
-x
-bd
-:c
-# A trailing backslash means that the variable definition continues in the
-# next line. Put a nonempty string into the hold space to indicate this.
-s/^.*$/P/
-x
-:d
-'
-changequote([,])dnl
-
- # Set POTFILES to the value of the Makefile variable POTFILES.
- sed_x_POTFILES="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`"
- POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
- # Compute POTFILES_DEPS as
- # $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
- POTFILES_DEPS=
- for file in $POTFILES; do
- POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
- done
- POMAKEFILEDEPS=""
-
- if test -n "$OBSOLETE_ALL_LINGUAS"; then
- 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
- if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
- # The LINGUAS file contains the set of available languages.
- ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
- POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
- else
- # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
- 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 assigment from automake.
- eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
- # Compute POFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
- # Compute UPDATEPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
- # Compute DUMMYPOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
- # Compute GMOFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
- # Compute PROPERTIESFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
- # Compute CLASSFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
- # Compute QMFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
- # Compute MSGFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
- # Compute RESOURCESDLLFILES
- # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
- case "$ac_given_srcdir" in
- .) srcdirpre= ;;
- *) srcdirpre='$(srcdir)/' ;;
- esac
- POFILES=
- UPDATEPOFILES=
- DUMMYPOFILES=
- GMOFILES=
- PROPERTIESFILES=
- CLASSFILES=
- QMFILES=
- MSGFILES=
- RESOURCESDLLFILES=
- for lang in $ALL_LINGUAS; do
- POFILES="$POFILES $srcdirpre$lang.po"
- UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
- DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
- GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
- PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
- CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
- QMFILES="$QMFILES $srcdirpre$lang.qm"
- frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
- MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
- frobbedlang=`echo $lang | sed -e 's/_/-/g'`
- RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
- done
- # CATALOGS depends on both $ac_dir and the user's LINGUAS
- # environment variable.
- INST_LINGUAS=
- if test -n "$ALL_LINGUAS"; then
- for presentlang in $ALL_LINGUAS; do
- useit=no
- if test "%UNSET%" != "$LINGUAS"; then
- desiredlanguages="$LINGUAS"
- else
- desiredlanguages="$ALL_LINGUAS"
- fi
- for desiredlang in $desiredlanguages; do
- # Use the presentlang catalog if desiredlang is
- # a. equal to presentlang, or
- # b. a variant of presentlang (because in this case,
- # presentlang can be used as a fallback for messages
- # which are not translated in the desiredlang catalog).
- case "$desiredlang" in
- "$presentlang"*) useit=yes;;
- esac
- done
- if test $useit = yes; then
- INST_LINGUAS="$INST_LINGUAS $presentlang"
- fi
- done
- fi
- CATALOGS=
- JAVACATALOGS=
- QTCATALOGS=
- TCLCATALOGS=
- CSHARPCATALOGS=
- if test -n "$INST_LINGUAS"; then
- for lang in $INST_LINGUAS; do
- CATALOGS="$CATALOGS $lang.gmo"
- JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
- QTCATALOGS="$QTCATALOGS $lang.qm"
- frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
- TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
- frobbedlang=`echo $lang | sed -e 's/_/-/g'`
- CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
- done
- 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"
- 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" <<EOF
-$frobbedlang.msg: $lang.po
- @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
- \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
-EOF
- done
- fi
- if grep -l '@CSHARPCATALOGS@' "$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/_/-/g'`
- cat >> "$ac_file.tmp" <<EOF
-$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
- @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
- \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
-EOF
- done
- fi
- if test -n "$POMAKEFILEDEPS"; then
- cat >> "$ac_file.tmp" <<EOF
-Makefile: $POMAKEFILEDEPS
-EOF
- fi
- mv "$ac_file.tmp" "$ac_file"
-])
-m4trace:config/printf-posix.m4:13: -1- AC_DEFUN([gt_PRINTF_POSIX], [
- AC_REQUIRE([AC_PROG_CC])
- AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings],
- gt_cv_func_printf_posix,
- [
- AC_TRY_RUN([
-#include <stdio.h>
-#include <string.h>
-/* The string "%2$d %1$d", with dollar characters protected from the shell's
- dollar expansion (possibly an autoconf bug). */
-static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' };
-static char buf[100];
-int main ()
-{
- sprintf (buf, format, 33, 55);
- return (strcmp (buf, "55 33") != 0);
-}], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no,
- [
- AC_EGREP_CPP(notposix, [
-#if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__
- notposix
-#endif
- ], gt_cv_func_printf_posix="guessing no",
- gt_cv_func_printf_posix="guessing yes")
- ])
- ])
- case $gt_cv_func_printf_posix in
- *yes)
- AC_DEFINE(HAVE_POSIX_PRINTF, 1,
- [Define if your printf() function supports format strings with positions.])
- ;;
- esac
-])
-m4trace:config/progtest.m4:25: -1- AC_DEFUN([AM_PATH_PROG_WITH_TEST], [
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- 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,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "$2", so it can be a program name with args.
-set dummy $2; ac_word=[$]2
-AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL(ac_cv_path_$1,
-[case "[$]$1" in
- [[\\/]]* | ?:[[\\/]]*)
- ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
- ;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in ifelse([$5], , $PATH, [$5]); do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- if [$3]; then
- ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
-dnl If no 4th arg is given, leave the cache variable unset,
-dnl so AC_PATH_PROGS will keep looking.
-ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
-])dnl
- ;;
-esac])dnl
-$1="$ac_cv_path_$1"
-if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
- AC_MSG_RESULT([$]$1)
-else
- AC_MSG_RESULT(no)
-fi
-AC_SUBST($1)dnl
-])
-m4trace:config/signed.m4:11: -1- AC_DEFUN([bh_C_SIGNED], [
- AC_CACHE_CHECK([for signed], bh_cv_c_signed,
- [AC_TRY_COMPILE(, [signed char x;], bh_cv_c_signed=yes, bh_cv_c_signed=no)])
- if test $bh_cv_c_signed = no; then
- AC_DEFINE(signed, ,
- [Define to empty if the C compiler doesn't support this keyword.])
- fi
-])
-m4trace:config/size_max.m4:11: -1- AC_DEFUN([gl_SIZE_MAX], [
- AC_CHECK_HEADERS(stdint.h)
- dnl First test whether the system already has SIZE_MAX.
- AC_MSG_CHECKING([for SIZE_MAX])
- result=
- AC_EGREP_CPP([Found it], [
-#include <limits.h>
-#if HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#ifdef SIZE_MAX
-Found it
-#endif
-], result=yes)
- if test -z "$result"; then
- dnl Define it ourselves. Here we assume that the type 'size_t' is not wider
- dnl than the type 'unsigned long'.
- dnl The _AC_COMPUTE_INT macro works up to LONG_MAX, since it uses 'expr',
- dnl which is guaranteed to work from LONG_MIN to LONG_MAX.
- _AC_COMPUTE_INT([~(size_t)0 / 10], res_hi,
- [#include <stddef.h>], result=?)
- _AC_COMPUTE_INT([~(size_t)0 % 10], res_lo,
- [#include <stddef.h>], result=?)
- _AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint,
- [#include <stddef.h>], result=?)
- if test "$fits_in_uint" = 1; then
- dnl Even though SIZE_MAX fits in an unsigned int, it must be of type
- dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'.
- AC_TRY_COMPILE([#include <stddef.h>
- extern size_t foo;
- extern unsigned long foo;
- ], [], fits_in_uint=0)
- fi
- if test -z "$result"; then
- if test "$fits_in_uint" = 1; then
- result="$res_hi$res_lo"U
- else
- result="$res_hi$res_lo"UL
- fi
- else
- dnl Shouldn't happen, but who knows...
- result='~(size_t)0'
- fi
- fi
- AC_MSG_RESULT([$result])
- if test "$result" != yes; then
- AC_DEFINE_UNQUOTED([SIZE_MAX], [$result],
- [Define as the maximum value of type 'size_t', if the system doesn't define it.])
- fi
-])
-m4trace:config/stdint_h.m4:14: -1- AC_DEFUN([jm_AC_HEADER_STDINT_H], [
- AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
- [AC_TRY_COMPILE(
- [#include <sys/types.h>
-#include <stdint.h>],
- [uintmax_t i = (uintmax_t) -1;],
- jm_ac_cv_header_stdint_h=yes,
- jm_ac_cv_header_stdint_h=no)])
- if test $jm_ac_cv_header_stdint_h = yes; then
- AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
- [Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
- and declares uintmax_t. ])
- fi
-])
-m4trace:config/uintmax_t.m4:16: -1- AC_DEFUN([jm_AC_TYPE_UINTMAX_T], [
- AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
- AC_REQUIRE([jm_AC_HEADER_STDINT_H])
- if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
- AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
- test $ac_cv_type_unsigned_long_long = yes \
- && ac_type='unsigned long long' \
- || ac_type='unsigned long'
- AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
- [Define to unsigned long or unsigned long long
- if <stdint.h> and <inttypes.h> don't define.])
- else
- AC_DEFINE(HAVE_UINTMAX_T, 1,
- [Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>.])
- fi
-])
-m4trace:config/ulonglong.m4:13: -1- AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG], [
- AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
- [AC_TRY_LINK([unsigned long long ull = 1ULL; int i = 63;],
- [unsigned long long ullmax = (unsigned long long) -1;
- return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
- ac_cv_type_unsigned_long_long=yes,
- ac_cv_type_unsigned_long_long=no)])
- if test $ac_cv_type_unsigned_long_long = yes; then
- AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
- [Define if you have the 'unsigned long long' type.])
- fi
-])
-m4trace:config/wchar_t.m4:13: -1- AC_DEFUN([gt_TYPE_WCHAR_T], [
- AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t,
- [AC_TRY_COMPILE([#include <stddef.h>
- wchar_t foo = (wchar_t)'\0';], ,
- gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)])
- if test $gt_cv_c_wchar_t = yes; then
- AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.])
- fi
-])
-m4trace:config/wint_t.m4:13: -1- AC_DEFUN([gt_TYPE_WINT_T], [
- AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t,
- [AC_TRY_COMPILE([#include <wchar.h>
- wint_t foo = (wchar_t)'\0';], ,
- gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)])
- if test $gt_cv_c_wint_t = yes; then
- AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.])
- fi
-])
-m4trace:config/xsize.m4:9: -1- AC_DEFUN([gl_XSIZE], [
- dnl Prerequisites of lib/xsize.h.
- AC_REQUIRE([gl_SIZE_MAX])
- AC_CHECK_HEADERS(stdint.h)
-])
-m4trace:acinclude.m4:39: -1- AC_DEFUN([CF_NETLIBS], [
-cf_test_netlibs=no
-AC_MSG_CHECKING(for network libraries)
-AC_CACHE_VAL(cf_cv_netlibs,[
-AC_MSG_RESULT(working...)
-cf_cv_netlibs=""
-cf_test_netlibs=yes
-AC_CHECK_FUNCS(gethostname,,[
- CF_RECHECK_FUNC(gethostname,nsl,cf_cv_netlibs,[
- CF_RECHECK_FUNC(gethostname,socket,cf_cv_netlibs)])])
-#
-# FIXME: sequent needs this library (i.e., -lsocket -linet -lnsl), but
-# I don't know the entrypoints - 97/7/22 TD
-AC_CHECK_LIB(inet,main,cf_cv_netlibs="-linet $cf_cv_netlibs")
-#
-if test "$ac_cv_func_lsocket" != no ; then
-AC_CHECK_FUNCS(socket,,[
- CF_RECHECK_FUNC(socket,socket,cf_cv_netlibs,[
- CF_RECHECK_FUNC(socket,bsd,cf_cv_netlibs)])])
-fi
-#
-AC_CHECK_FUNCS(gethostbyname,,[
- CF_RECHECK_FUNC(gethostbyname,nsl,cf_cv_netlibs)])
-])
-LIBS="$LIBS $cf_cv_netlibs"
-test $cf_test_netlibs = no && echo "$cf_cv_netlibs" >&AC_FD_MSG
-])
-m4trace:acinclude.m4:79: -1- AC_DEFUN([CF_RECHECK_FUNC], [
-AC_CHECK_LIB($2,$1,[
- CF_UPPER(cf_tr_func,$1)
- AC_DEFINE_UNQUOTED(HAVE_$cf_tr_func,1,[Define if you have function $1])
- ac_cv_func_$1=yes
- $3="-l$2 [$]$3"],[
- ac_cv_func_$1=unknown
- unset ac_cv_func_$1 2>/dev/null
- $4],
- [[$]$3])
-])
-m4trace:acinclude.m4:93: -1- AC_DEFUN([CF_UPPER], [
-changequote(,)dnl
-$1=`echo $2 | tr '[a-z]' '[A-Z]'`
-changequote([,])dnl
-])
-m4trace:acinclude.m4:105: -1- AC_DEFUN([AC_STRUCT_ST_MTIM_NSEC], [AC_CACHE_CHECK([for nanoseconds field of struct stat],
- ac_cv_struct_st_mtim_nsec,
- [ac_save_CPPFLAGS="$CPPFLAGS"
- ac_cv_struct_st_mtim_nsec=no
- # st_mtim.tv_nsec -- the usual case
- # st_mtim._tv_nsec -- Solaris 2.6, if
- # (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1
- # && !defined __EXTENSIONS__)
- # st_mtim.st__tim.tv_nsec -- UnixWare 2.1.2
- # st_mtimespec.tv_nsec -- Darwin (Mac OSX)
- for ac_val in st_mtim.tv_nsec st_mtim._tv_nsec st_mtim.st__tim.tv_nsec st_mtimespec.tv_nsec; do
- CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val"
- AC_TRY_COMPILE([#include <sys/types.h>
-#include <sys/stat.h>
- ], [struct stat s; s.ST_MTIM_NSEC;],
- [ac_cv_struct_st_mtim_nsec=$ac_val; break])
- done
- CPPFLAGS="$ac_save_CPPFLAGS"
- ])
-
- if test $ac_cv_struct_st_mtim_nsec != no; then
- AC_DEFINE_UNQUOTED([ST_MTIM_NSEC], [$ac_cv_struct_st_mtim_nsec],
- [Define if struct stat contains a nanoseconds field])
- fi
-
-])
-m4trace:configure.in:20: -1- m4_pattern_forbid([^_?A[CHUM]_])
-m4trace:configure.in:20: -1- m4_pattern_forbid([_AC_])
-m4trace:configure.in:20: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
-m4trace:configure.in:20: -1- m4_pattern_allow([^AS_FLAGS$])
-m4trace:configure.in:20: -1- m4_pattern_forbid([^_?m4_])
-m4trace:configure.in:20: -1- m4_pattern_forbid([^dnl$])
-m4trace:configure.in:20: -1- m4_pattern_forbid([^_?AS_])
-m4trace:configure.in:20: -1- m4_pattern_allow([^SHELL$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PATH_SEPARATOR$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_NAME$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_VERSION$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_STRING$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_URL$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^exec_prefix$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^prefix$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^program_transform_name$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^bindir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^sbindir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^libexecdir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^datarootdir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^datadir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^sysconfdir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^sharedstatedir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^localstatedir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^includedir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^oldincludedir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^docdir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^infodir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^htmldir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^dvidir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^pdfdir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^psdir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^libdir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^localedir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^mandir$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_NAME$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_VERSION$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_STRING$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^PACKAGE_URL$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^DEFS$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^ECHO_C$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^ECHO_N$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^ECHO_T$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^LIBS$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^build_alias$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^host_alias$])
-m4trace:configure.in:20: -1- m4_pattern_allow([^target_alias$])
-m4trace:configure.in:31: -1- AM_INIT_AUTOMAKE([1.9])
-m4trace:configure.in:31: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
-m4trace:configure.in:31: -1- AM_SET_CURRENT_AUTOMAKE_VERSION
-m4trace:configure.in:31: -1- AM_AUTOMAKE_VERSION([1.11.6])
-m4trace:configure.in:31: -1- _AM_AUTOCONF_VERSION([2.68])
-m4trace:configure.in:31: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^INSTALL_DATA$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^am__isrc$])
-m4trace:configure.in:31: -1- _AM_SUBST_NOTMAKE([am__isrc])
-m4trace:configure.in:31: -1- m4_pattern_allow([^CYGPATH_W$])
-m4trace:configure.in:31: -1- _AM_SET_OPTIONS([1.9])
-m4trace:configure.in:31: -1- _AM_SET_OPTION([1.9])
-m4trace:configure.in:31: -2- _AM_MANGLE_OPTION([1.9])
-m4trace:configure.in:31: -1- m4_pattern_allow([^PACKAGE$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^VERSION$])
-m4trace:configure.in:31: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
-m4trace:configure.in:31: -2- _AM_MANGLE_OPTION([no-define])
-m4trace:configure.in:31: -1- m4_pattern_allow([^PACKAGE$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^VERSION$])
-m4trace:configure.in:31: -1- AM_SANITY_CHECK
-m4trace:configure.in:31: -1- AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
-m4trace:configure.in:31: -1- AM_MISSING_HAS_RUN
-m4trace:configure.in:31: -1- AM_AUX_DIR_EXPAND
-m4trace:configure.in:31: -1- m4_pattern_allow([^ACLOCAL$])
-m4trace:configure.in:31: -1- AM_MISSING_PROG([AUTOCONF], [autoconf])
-m4trace:configure.in:31: -1- m4_pattern_allow([^AUTOCONF$])
-m4trace:configure.in:31: -1- AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
-m4trace:configure.in:31: -1- m4_pattern_allow([^AUTOMAKE$])
-m4trace:configure.in:31: -1- AM_MISSING_PROG([AUTOHEADER], [autoheader])
-m4trace:configure.in:31: -1- m4_pattern_allow([^AUTOHEADER$])
-m4trace:configure.in:31: -1- AM_MISSING_PROG([MAKEINFO], [makeinfo])
-m4trace:configure.in:31: -1- m4_pattern_allow([^MAKEINFO$])
-m4trace:configure.in:31: -1- AM_PROG_INSTALL_SH
-m4trace:configure.in:31: -1- m4_pattern_allow([^install_sh$])
-m4trace:configure.in:31: -1- AM_PROG_INSTALL_STRIP
-m4trace:configure.in:31: -1- m4_pattern_allow([^STRIP$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$])
-m4trace:configure.in:31: -1- AM_PROG_MKDIR_P
-m4trace:configure.in:31: -1- m4_pattern_allow([^MKDIR_P$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^mkdir_p$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^AWK$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^SET_MAKE$])
-m4trace:configure.in:31: -1- AM_SET_LEADING_DOT
-m4trace:configure.in:31: -1- m4_pattern_allow([^am__leading_dot$])
-m4trace:configure.in:31: -1- _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
-m4trace:configure.in:31: -2- _AM_MANGLE_OPTION([tar-ustar])
-m4trace:configure.in:31: -1- _AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])
-m4trace:configure.in:31: -2- _AM_MANGLE_OPTION([tar-pax])
-m4trace:configure.in:31: -1- _AM_PROG_TAR([v7])
-m4trace:configure.in:31: -1- m4_pattern_allow([^AMTAR$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^am__tar$])
-m4trace:configure.in:31: -1- m4_pattern_allow([^am__untar$])
-m4trace:configure.in:31: -1- _AM_IF_OPTION([no-dependencies], [], [AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES(OBJC)],
- [define([AC_PROG_OBJC],
- defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-m4trace:configure.in:31: -2- _AM_MANGLE_OPTION([no-dependencies])
-m4trace:configure.in:31: -1- _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])
-m4trace:configure.in:31: -2- _AM_MANGLE_OPTION([silent-rules])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CFLAGS$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^LDFLAGS$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^LIBS$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CPPFLAGS$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CC$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^ac_ct_CC$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^EXEEXT$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^OBJEXT$])
-m4trace:configure.in:34: -1- _AM_DEPENDENCIES([CC])
-m4trace:configure.in:34: -1- AM_SET_DEPDIR
-m4trace:configure.in:34: -1- m4_pattern_allow([^DEPDIR$])
-m4trace:configure.in:34: -1- AM_OUTPUT_DEPENDENCY_COMMANDS
-m4trace:configure.in:34: -1- AM_MAKE_INCLUDE
-m4trace:configure.in:34: -1- m4_pattern_allow([^am__include$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^am__quote$])
-m4trace:configure.in:34: -1- AM_DEP_TRACK
-m4trace:configure.in:34: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-m4trace:configure.in:34: -1- m4_pattern_allow([^AMDEP_TRUE$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^AMDEP_FALSE$])
-m4trace:configure.in:34: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE])
-m4trace:configure.in:34: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE])
-m4trace:configure.in:34: -1- m4_pattern_allow([^AMDEPBACKSLASH$])
-m4trace:configure.in:34: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])
-m4trace:configure.in:34: -1- m4_pattern_allow([^am__nodep$])
-m4trace:configure.in:34: -1- _AM_SUBST_NOTMAKE([am__nodep])
-m4trace:configure.in:34: -1- m4_pattern_allow([^CCDEPMODE$])
-m4trace:configure.in:34: -1- AM_CONDITIONAL([am__fastdepCC], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3])
-m4trace:configure.in:34: -1- m4_pattern_allow([^am__fastdepCC_TRUE$])
-m4trace:configure.in:34: -1- m4_pattern_allow([^am__fastdepCC_FALSE$])
-m4trace:configure.in:34: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE])
-m4trace:configure.in:34: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE])
-m4trace:configure.in:36: -1- m4_pattern_allow([^RANLIB$])
-m4trace:configure.in:37: -1- m4_pattern_allow([^CPP$])
-m4trace:configure.in:37: -1- m4_pattern_allow([^CPPFLAGS$])
-m4trace:configure.in:37: -1- m4_pattern_allow([^CPP$])
-m4trace:configure.in:38: -1- m4_pattern_allow([^AR$])
-m4trace:configure.in:40: -1- m4_pattern_allow([^PERL$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^build$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^build_cpu$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^build_vendor$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^build_os$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^host$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^host_cpu$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^host_vendor$])
-m4trace:configure.in:43: -1- m4_pattern_allow([^host_os$])
-m4trace:configure.in:44: -1- _m4_warn([obsolete], [The macro `AC_AIX' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/specific.m4:432: AC_AIX is expanded from...
-configure.in:44: the top level])
-m4trace:configure.in:44: -1- m4_pattern_allow([^GREP$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^EGREP$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^STDC_HEADERS$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_POSIX_SOURCE$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_POSIX_1_SOURCE$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_MINIX$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^__EXTENSIONS__$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_ALL_SOURCE$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_GNU_SOURCE$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_POSIX_PTHREAD_SEMANTICS$])
-m4trace:configure.in:44: -1- m4_pattern_allow([^_TANDEM_SOURCE$])
-m4trace:configure.in:45: -1- AC_ISC_POSIX
-m4trace:configure.in:46: -1- _m4_warn([obsolete], [The macro `AC_MINIX' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/specific.m4:437: AC_MINIX is expanded from...
-configure.in:46: the top level])
-m4trace:configure.in:50: -1- AM_GNU_GETTEXT_VERSION([0.14.1])
-m4trace:configure.in:51: -1- AM_GNU_GETTEXT([external])
-m4trace:configure.in:51: -1- AM_PO_SUBDIRS
-m4trace:configure.in:51: -1- AM_MKINSTALLDIRS
-m4trace:configure.in:51: -1- m4_pattern_allow([^MKINSTALLDIRS$])
-m4trace:configure.in:51: -1- AM_NLS
-m4trace:configure.in:51: -1- m4_pattern_allow([^USE_NLS$])
-m4trace:configure.in:51: -1- AM_PATH_PROG_WITH_TEST([MSGFMT], [msgfmt], [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
- (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], [:])
-m4trace:configure.in:51: -1- m4_pattern_allow([^MSGFMT$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^GMSGFMT$])
-m4trace:configure.in:51: -1- AM_PATH_PROG_WITH_TEST([XGETTEXT], [xgettext], [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
- (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], [:])
-m4trace:configure.in:51: -1- m4_pattern_allow([^XGETTEXT$])
-m4trace:configure.in:51: -1- AM_PATH_PROG_WITH_TEST([MSGMERGE], [msgmerge], [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], [:])
-m4trace:configure.in:51: -1- m4_pattern_allow([^MSGMERGE$])
-m4trace:configure.in:51: -1- _m4_warn([obsolete], [The macro `AC_OUTPUT_COMMANDS' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/status.m4:1028: AC_OUTPUT_COMMANDS is expanded from...
-config/po.m4:23: AM_PO_SUBDIRS is expanded from...
-config/gettext.m4:59: AM_GNU_GETTEXT is expanded from...
-configure.in:51: the top level])
-m4trace:configure.in:51: -1- AC_LIB_PREPARE_PREFIX
-m4trace:configure.in:51: -1- AC_LIB_RPATH
-m4trace:configure.in:51: -1- AC_LIB_PROG_LD
-m4trace:configure.in:51: -1- AC_LIB_PROG_LD_GNU
-m4trace:configure.in:51: -1- AM_ICONV_LINKFLAGS_BODY
-m4trace:configure.in:51: -1- AC_LIB_LINKFLAGS_BODY([iconv])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
-m4trace:configure.in:51: -1- AC_LIB_ARG_WITH([libiconv-prefix], [ --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
- --without-libiconv-prefix don't search for libiconv in includedir and libdir], [
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
- fi
- fi
-])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- AM_NLS
-m4trace:configure.in:51: -1- m4_pattern_allow([^USE_NLS$])
-m4trace:configure.in:51: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-config/gettext.m4:59: AM_GNU_GETTEXT is expanded from...
-configure.in:51: the top level])
-m4trace:configure.in:51: -1- AM_ICONV_LINK
-m4trace:configure.in:51: -1- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-config/iconv.m4:22: AM_ICONV_LINK is expanded from...
-config/gettext.m4:59: AM_GNU_GETTEXT is expanded from...
-configure.in:51: the top level])
-m4trace:configure.in:51: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-config/iconv.m4:22: AM_ICONV_LINK is expanded from...
-config/gettext.m4:59: AM_GNU_GETTEXT is expanded from...
-configure.in:51: the top level])
-m4trace:configure.in:51: -1- m4_pattern_allow([^HAVE_ICONV$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^LIBICONV$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^LTLIBICONV$])
-m4trace:configure.in:51: -1- AC_LIB_LINKFLAGS_BODY([intl])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
-m4trace:configure.in:51: -1- AC_LIB_ARG_WITH([libintl-prefix], [ --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib
- --without-libintl-prefix don't search for libintl in includedir and libdir], [
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
- fi
- fi
-])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- ])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-config/gettext.m4:59: AM_GNU_GETTEXT is expanded from...
-configure.in:51: the top level])
-m4trace:configure.in:51: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-config/gettext.m4:59: AM_GNU_GETTEXT is expanded from...
-configure.in:51: the top level])
-m4trace:configure.in:51: -1- m4_pattern_allow([^ENABLE_NLS$])
-m4trace:configure.in:51: -1- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
-m4trace:configure.in:51: -1- AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-m4trace:configure.in:51: -1- m4_pattern_allow([^HAVE_GETTEXT$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^HAVE_DCGETTEXT$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^INTLLIBS$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^LIBINTL$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^LTLIBINTL$])
-m4trace:configure.in:51: -1- m4_pattern_allow([^POSUB$])
-m4trace:configure.in:56: -1- m4_pattern_allow([^_FILE_OFFSET_BITS$])
-m4trace:configure.in:56: -1- m4_pattern_allow([^_LARGE_FILES$])
-m4trace:configure.in:62: -1- m4_pattern_allow([^STDC_HEADERS$])
-m4trace:configure.in:64: -1- m4_pattern_allow([^STAT_MACROS_BROKEN$])
-m4trace:configure.in:65: -1- m4_pattern_allow([^TIME_WITH_SYS_TIME$])
-m4trace:configure.in:71: -1- m4_pattern_allow([^HAVE_ANSI_COMPILER$])
-m4trace:configure.in:79: -1- AM_PROG_CC_C_O
-m4trace:configure.in:79: -1- m4_pattern_allow([^NO_MINUS_C_MINUS_O$])
-m4trace:configure.in:80: -1- m4_pattern_allow([^const$])
-m4trace:configure.in:81: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/types.m4:738: AC_TYPE_SIGNAL is expanded from...
-configure.in:81: the top level])
-m4trace:configure.in:81: -1- m4_pattern_allow([^RETSIGTYPE$])
-m4trace:configure.in:82: -1- m4_pattern_allow([^uid_t$])
-m4trace:configure.in:82: -1- m4_pattern_allow([^gid_t$])
-m4trace:configure.in:83: -1- m4_pattern_allow([^pid_t$])
-m4trace:configure.in:87: -1- m4_pattern_allow([^uintmax_t$])
-m4trace:configure.in:95: -1- AC_STRUCT_ST_MTIM_NSEC
-m4trace:configure.in:95: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-acinclude.m4:105: AC_STRUCT_ST_MTIM_NSEC is expanded from...
-configure.in:95: the top level])
-m4trace:configure.in:95: -1- m4_pattern_allow([^ST_MTIM_NSEC$])
-m4trace:configure.in:114: -1- m4_pattern_allow([^FILE_TIMESTAMP_HI_RES$])
-m4trace:configure.in:122: -1- m4_pattern_allow([^HAVE_CLOCK_GETTIME$])
-m4trace:configure.in:128: -1- pds_AC_DOS_PATHS
-m4trace:configure.in:128: -1- _m4_warn([syntax], [AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body], [../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
-../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
-../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
-../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
-config/dospaths.m4:21: pds_AC_DOS_PATHS is expanded from...
-configure.in:128: the top level])
-m4trace:configure.in:128: -1- m4_pattern_allow([^HAVE_DOS_PATHS$])
-m4trace:configure.in:146: -1- m4_pattern_allow([^HAVE_GETTIMEOFDAY$])
-m4trace:configure.in:159: -1- m4_pattern_allow([^HAVE_DECL_BSD_SIGNAL$])
-m4trace:configure.in:161: -1- _m4_warn([obsolete], [The macro `AC_FUNC_SETVBUF_REVERSED' is obsolete. Remove it and all references to SETVBUF_REVERSED.], [../../lib/autoconf/functions.m4:1714: AC_FUNC_SETVBUF_REVERSED is expanded from...
-configure.in:161: the top level])
-m4trace:configure.in:169: -1- m4_pattern_allow([^HAVE_STRCOLL$])
-m4trace:configure.in:171: -1- m4_pattern_allow([^size_t$])
-m4trace:configure.in:171: -1- m4_pattern_allow([^HAVE_ALLOCA_H$])
-m4trace:configure.in:171: -1- m4_pattern_allow([^HAVE_ALLOCA$])
-m4trace:configure.in:171: -1- m4_pattern_allow([^ALLOCA$])
-m4trace:configure.in:171: -1- m4_pattern_allow([^C_ALLOCA$])
-m4trace:configure.in:171: -1- m4_pattern_allow([^CRAY_STACKSEG_END$])
-m4trace:configure.in:171: -1- m4_pattern_allow([^STACK_DIRECTION$])
-m4trace:configure.in:172: -1- m4_pattern_allow([^HAVE_VFORK_H$])
-m4trace:configure.in:172: -1- m4_pattern_allow([^HAVE_WORKING_VFORK$])
-m4trace:configure.in:172: -1- m4_pattern_allow([^vfork$])
-m4trace:configure.in:172: -1- m4_pattern_allow([^HAVE_WORKING_FORK$])
-m4trace:configure.in:173: -1- m4_pattern_allow([^HAVE_VPRINTF$])
-m4trace:configure.in:173: -1- m4_pattern_allow([^HAVE_DOPRNT$])
-m4trace:configure.in:174: -1- m4_pattern_allow([^CLOSEDIR_VOID$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_PSTAT_GETDYNAMIC$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_LIBKSTAT$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_GETLOADAVG$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^C_GETLOADAVG$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^DGUX$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_LIBDGC$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_SETLOCALE$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^SVR4$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^UMAX$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^UMAX4_3$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^UMAX$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_MACH_MACH_H$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_NLIST_H$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^HAVE_STRUCT_NLIST_N_UN_N_NAME$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^NLIST_NAME_UNION$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^GETLOADAVG_PRIVILEGED$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^NEED_SETGID$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^KMEM_GROUP$])
-m4trace:configure.in:176: -1- m4_pattern_allow([^GETLOADAVG_LIBS$])
-m4trace:configure.in:189: -1- m4_pattern_allow([^NLIST_STRUCT$])
-m4trace:configure.in:194: -1- m4_pattern_allow([^HAVE_DECL_SYS_SIGLIST$])
-m4trace:configure.in:194: -1- m4_pattern_allow([^HAVE_DECL__SYS_SIGLIST$])
-m4trace:configure.in:194: -1- m4_pattern_allow([^HAVE_DECL___SYS_SIGLIST$])
-m4trace:configure.in:205: -1- m4_pattern_allow([^HAVE_SYS_WAIT_H$])
-m4trace:configure.in:230: -1- m4_pattern_allow([^HAVE_UNION_WAIT$])
-m4trace:configure.in:238: -1- m4_pattern_allow([^HAVE_DOS_PATHS$])
-m4trace:configure.in:245: -1- m4_pattern_allow([^REMOTE$])
-m4trace:configure.in:248: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.in:248: the top level])
-m4trace:configure.in:247: -1- CF_NETLIBS
-m4trace:configure.in:247: -1- m4_pattern_allow([^HAVE_GETHOSTNAME$])
-m4trace:configure.in:247: -1- CF_RECHECK_FUNC([gethostname], [nsl], [cf_cv_netlibs], [
- CF_RECHECK_FUNC(gethostname,socket,cf_cv_netlibs)])
-m4trace:configure.in:247: -1- CF_UPPER([cf_tr_func], [gethostname])
-m4trace:configure.in:247: -1- CF_RECHECK_FUNC([gethostname], [socket], [cf_cv_netlibs])
-m4trace:configure.in:247: -1- CF_UPPER([cf_tr_func], [gethostname])
-m4trace:configure.in:247: -1- m4_pattern_allow([^HAVE_SOCKET$])
-m4trace:configure.in:247: -1- CF_RECHECK_FUNC([socket], [socket], [cf_cv_netlibs], [
- CF_RECHECK_FUNC(socket,bsd,cf_cv_netlibs)])
-m4trace:configure.in:247: -1- CF_UPPER([cf_tr_func], [socket])
-m4trace:configure.in:247: -1- CF_RECHECK_FUNC([socket], [bsd], [cf_cv_netlibs])
-m4trace:configure.in:247: -1- CF_UPPER([cf_tr_func], [socket])
-m4trace:configure.in:247: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME$])
-m4trace:configure.in:247: -1- CF_RECHECK_FUNC([gethostbyname], [nsl], [cf_cv_netlibs])
-m4trace:configure.in:247: -1- CF_UPPER([cf_tr_func], [gethostbyname])
-m4trace:configure.in:247: -1- _m4_warn([obsolete], [The macro `AC_FD_MSG' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:386: AC_FD_MSG is expanded from...
-acinclude.m4:39: CF_NETLIBS is expanded from...
-../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
-../../lib/autoconf/general.m4:1482: AC_ARG_WITH is expanded from...
-configure.in:247: the top level])
-m4trace:configure.in:268: -1- AM_CONDITIONAL([USE_CUSTOMS], [test "$use_customs" = true])
-m4trace:configure.in:268: -1- m4_pattern_allow([^USE_CUSTOMS_TRUE$])
-m4trace:configure.in:268: -1- m4_pattern_allow([^USE_CUSTOMS_FALSE$])
-m4trace:configure.in:268: -1- _AM_SUBST_NOTMAKE([USE_CUSTOMS_TRUE])
-m4trace:configure.in:268: -1- _AM_SUBST_NOTMAKE([USE_CUSTOMS_FALSE])
-m4trace:configure.in:274: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.in:274: the top level])
-m4trace:configure.in:273: -1- m4_pattern_allow([^HAVE_CASE_INSENSITIVE_FS$])
-m4trace:configure.in:283: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
-You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
-configure.in:283: the top level])
-m4trace:configure.in:300: -1- m4_pattern_allow([^HAVE_SA_RESTART$])
-m4trace:configure.in:317: -1- m4_pattern_allow([^MAKE_JOBSERVER$])
-m4trace:configure.in:325: -1- m4_pattern_allow([^MAKE_SYMLINKS$])
-m4trace:configure.in:337: -1- m4_pattern_allow([^SCCS_GET$])
-m4trace:configure.in:352: -1- m4_pattern_allow([^SCCS_GET_MINUS_G$])
-m4trace:configure.in:381: -1- m4_pattern_allow([^GLOBINC$])
-m4trace:configure.in:382: -1- m4_pattern_allow([^GLOBLIB$])
-m4trace:configure.in:385: -1- AM_CONDITIONAL([USE_LOCAL_GLOB], [test "$make_cv_sys_gnu_glob" = no])
-m4trace:configure.in:385: -1- m4_pattern_allow([^USE_LOCAL_GLOB_TRUE$])
-m4trace:configure.in:385: -1- m4_pattern_allow([^USE_LOCAL_GLOB_FALSE$])
-m4trace:configure.in:385: -1- _AM_SUBST_NOTMAKE([USE_LOCAL_GLOB_TRUE])
-m4trace:configure.in:385: -1- _AM_SUBST_NOTMAKE([USE_LOCAL_GLOB_FALSE])
-m4trace:configure.in:389: -1- m4_pattern_allow([^MAKE_HOST$])
-m4trace:configure.in:391: -1- m4_pattern_allow([^MAKE_HOST$])
-m4trace:configure.in:394: -1- AM_CONDITIONAL([WINDOWSENV], [false])
-m4trace:configure.in:394: -1- m4_pattern_allow([^WINDOWSENV_TRUE$])
-m4trace:configure.in:394: -1- m4_pattern_allow([^WINDOWSENV_FALSE$])
-m4trace:configure.in:394: -1- _AM_SUBST_NOTMAKE([WINDOWSENV_TRUE])
-m4trace:configure.in:394: -1- _AM_SUBST_NOTMAKE([WINDOWSENV_FALSE])
-m4trace:configure.in:398: -1- AM_CONDITIONAL([WINDOWSENV], [true])
-m4trace:configure.in:398: -1- m4_pattern_allow([^WINDOWSENV_TRUE$])
-m4trace:configure.in:398: -1- m4_pattern_allow([^WINDOWSENV_FALSE$])
-m4trace:configure.in:398: -1- _AM_SUBST_NOTMAKE([WINDOWSENV_TRUE])
-m4trace:configure.in:398: -1- _AM_SUBST_NOTMAKE([WINDOWSENV_FALSE])
-m4trace:configure.in:400: -1- m4_pattern_allow([^WINDOWS32$])
-m4trace:configure.in:401: -1- m4_pattern_allow([^HAVE_DOS_PATHS$])
-m4trace:configure.in:405: -1- m4_pattern_allow([^PATH_SEPARATOR_CHAR$])
-m4trace:configure.in:413: -1- m4_pattern_allow([^MAINT_MAKEFILE$])
-m4trace:configure.in:416: -1- AM_WITH_DMALLOC
-m4trace:configure.in:416: -1- m4_pattern_allow([^WITH_DMALLOC$])
-m4trace:configure.in:469: -1- m4_pattern_allow([^LIB@&t@OBJS$])
-m4trace:configure.in:469: -1- m4_pattern_allow([^LTLIBOBJS$])
-m4trace:configure.in:469: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])
-m4trace:configure.in:469: -1- m4_pattern_allow([^am__EXEEXT_TRUE$])
-m4trace:configure.in:469: -1- m4_pattern_allow([^am__EXEEXT_FALSE$])
-m4trace:configure.in:469: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE])
-m4trace:configure.in:469: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE])
-m4trace:configure.in:469: -1- _AC_AM_CONFIG_HEADER_HOOK(["$ac_file"])
-m4trace:configure.in:469: -1- _AM_OUTPUT_DEPENDENCY_COMMANDS
diff --git a/build.sh.in b/build.sh.in
index 213df8d4..ea5865d5 100755
--- a/build.sh.in
+++ b/build.sh.in
@@ -1,9 +1,8 @@
#!/bin/sh
-# Shell script to build GNU Make in the absence of any `make' program.
+# Shell script to build GNU Make in the absence of any 'make' program.
# @configure_input@
-# Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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
@@ -23,11 +22,11 @@
srcdir='@srcdir@'
CC='@CC@'
-CFLAGS='@CFLAGS@'
+CFLAGS='@CFLAGS@ @GUILE_CFLAGS@'
CPPFLAGS='@CPPFLAGS@'
-LDFLAGS='@LDFLAGS@'
+LDFLAGS='@AM_LDFLAGS@ @LDFLAGS@'
ALLOCA='@ALLOCA@'
-LOADLIBES='@LIBS@ @LIBINTL@'
+LOADLIBES='@LIBS@ @GUILE_LIBS@ @LIBINTL@'
eval extras=\'@LIBOBJS@\'
REMOTE='@REMOTE@'
GLOBLIB='@GLOBLIB@'
@@ -39,7 +38,7 @@ EXEEXT='@EXEEXT@'
prefix='@prefix@'
# Common prefix for machine-dependent installed files.
exec_prefix=`eval echo @exec_prefix@`
-# Directory to find libraries in for `-lXXX'.
+# Directory to find libraries in for '-lXXX'.
libdir=${exec_prefix}/lib
# Directory to search by default for included makefiles.
includedir=${prefix}/include
@@ -47,13 +46,13 @@ includedir=${prefix}/include
localedir=${prefix}/share/locale
aliaspath=${localedir}${PATH_SEPARATOR}.
-defines="-DALIASPATH=\"${aliaspath}\" -DLOCALEDIR=\"${localedir}\" -DLIBDIR=\"${libdir}\" -DINCLUDEDIR=\"${includedir}\""' @DEFS@'
+defines="-DLOCALEDIR=\"${localedir}\" -DLIBDIR=\"${libdir}\" -DINCLUDEDIR=\"${includedir}\""' @DEFS@'
# Exit as soon as any command fails.
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} implicit.${OBJEXT} job.${OBJEXT} main.${OBJEXT} misc.${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 --git a/build.template b/build.template
deleted file mode 100644
index 46a7246e..00000000
--- a/build.template
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/bin/sh
-# Shell script to build GNU Make in the absence of any `make' program.
-# @configure_input@
-
-# Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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 <http://www.gnu.org/licenses/>.
-
-# See Makefile.in for comments describing these variables.
-
-srcdir='@srcdir@'
-CC='@CC@'
-CFLAGS='@CFLAGS@'
-CPPFLAGS='@CPPFLAGS@'
-LDFLAGS='@LDFLAGS@'
-ALLOCA='@ALLOCA@'
-LOADLIBES='@LIBS@ @LIBINTL@'
-eval extras=\'@LIBOBJS@\'
-REMOTE='@REMOTE@'
-GLOBLIB='@GLOBLIB@'
-PATH_SEPARATOR='@PATH_SEPARATOR@'
-OBJEXT='@OBJEXT@'
-EXEEXT='@EXEEXT@'
-
-# Common prefix for machine-independent installed files.
-prefix='@prefix@'
-# Common prefix for machine-dependent installed files.
-exec_prefix=`eval echo @exec_prefix@`
-# Directory to find libraries in for `-lXXX'.
-libdir=${exec_prefix}/lib
-# Directory to search by default for included makefiles.
-includedir=${prefix}/include
-
-localedir=${prefix}/share/locale
-aliaspath=${localedir}${PATH_SEPARATOR}.
-
-defines="-DALIASPATH=\"${aliaspath}\" -DLOCALEDIR=\"${localedir}\" -DLIBDIR=\"${libdir}\" -DINCLUDEDIR=\"${includedir}\""' @DEFS@'
-
-# Exit as soon as any command fails.
-set -e
-
-# These are all the objects we need to link together.
-objs="%objs% remote-${REMOTE}.${OBJEXT} ${extras} ${ALLOCA}"
-
-if [ x"$GLOBLIB" != x ]; then
- objs="$objs %globobjs%"
- globinc=-I${srcdir}/glob
-fi
-
-# Compile the source files into those objects.
-for file in `echo ${objs} | sed 's/\.'${OBJEXT}'/.c/g'`; do
- echo compiling ${file}...
- $CC $defines $CPPFLAGS $CFLAGS \
- -c -I. -I${srcdir} ${globinc} ${srcdir}/$file
-done
-
-# The object files were actually all put in the current directory.
-# Remove the source directory names from the list.
-srcobjs="$objs"
-objs=
-for obj in $srcobjs; do
- objs="$objs `basename $obj`"
-done
-
-# Link all the objects together.
-echo linking make...
-$CC $CFLAGS $LDFLAGS $objs $LOADLIBES -o makenew${EXEEXT}
-echo done
-mv -f makenew${EXEEXT} make${EXEEXT}
diff --git a/build_w32.bat b/build_w32.bat
index de758b0a..00632a75 100644
--- a/build_w32.bat
+++ b/build_w32.bat
@@ -1,6 +1,5 @@
@echo off
-rem Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-rem 2006, 2007, 2008, 2009, 2010 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
@@ -16,21 +15,82 @@ rem
rem You should have received a copy of the GNU General Public License along
rem with this program. If not, see <http://www.gnu.org/licenses/>.
-if exist config.h.W32 GoTo NotCVS
-sed -n "s/^AC_INIT(\[GNU make\],\[\([^]]\+\)\].*/s,%%VERSION%%,\1,g/p" configure.in > config.h.W32.sed
+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
-:NotCVS
-if not exist config.h copy config.h.W32 config.h
+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 SetOpt
+if "%1" == "--without-guile" GoTo NoGuile
+if "%1" == "gcc" GoTo SetCC
+if "%1" == "" GoTo ChkGuile
+:SetOpt
+set OPT=-O0
+shift
+GoTo ParseSW
+:NoGuile
+set NOGUILE=Y
+echo "Building without Guile"
+shift
+GoTo ParseSW
+:SetCC
+set COMPILER=gcc
+echo "Building with GCC"
+shift
+GoTo ParseSW
+rem Build with Guile is supported only on NT and later versions
+: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 "Creating the subproc library"
-%ComSpec% /c build.bat %1
+%ComSpec% /c build.bat
cd ..\..
if exist link.dbg del link.dbg
if exist link.rel del link.rel
-echo "Creating GNU Make for Windows 9X/NT/2K/XP"
-if "%1" == "gcc" GoTo GCCBuild
+echo.
+echo "Creating GNU Make for Windows 9X/NT/2K/XP/Vista/7/8"
+if "%COMPILER%" == "gcc" GoTo GCCBuild
set make=gnumake
echo on
if not exist .\WinDebug\nul mkdir .\WinDebug
@@ -54,12 +114,14 @@ cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D
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 /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
+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
@@ -84,18 +146,27 @@ cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D
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 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/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 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
+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!"
@@ -121,12 +192,14 @@ cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WIND
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 /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
+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
@@ -151,18 +224,27 @@ cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WIND
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 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/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 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
+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!"
@@ -170,34 +252,59 @@ set make=
GoTo BuildEnd
:GCCBuild
echo on
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c variable.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c rule.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c remote-stub.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c commands.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c file.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c getloadavg.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c default.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c signame.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c expand.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c dir.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c main.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c getopt1.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c job.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c read.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c version.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c getopt.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c arscan.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c remake.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c hash.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c strcache.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c misc.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ar.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c function.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c vpath.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c implicit.c
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./glob/glob.c -o glob.o
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./glob/fnmatch.c -o fnmatch.o
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./w32/pathstuff.c -o pathstuff.o
-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 job.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 glob.o fnmatch.o pathstuff.o w32_misc.o sub_proc.o w32err.o -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32
+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
+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:
+echo. --debug For GCC only, make a debug build
+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
:BuildEnd
+@echo off
+set GUILELIBS=
+set GUILECFLAGS=
+set PKGMSC=
+set OPT=
+set COMPILER=
+set NOGUILE=
echo on
diff --git a/commands.c b/commands.c
index f360bd40..7123021f 100644
--- a/commands.c
+++ b/commands.c
@@ -1,7 +1,5 @@
/* Command processing for GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -16,9 +14,9 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
-#include "dep.h"
+#include "makeint.h"
#include "filedef.h"
+#include "dep.h"
#include "variable.h"
#include "job.h"
#include "commands.h"
@@ -35,7 +33,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
int remote_kill (int id, int sig);
-#ifndef HAVE_UNISTD_H
+#ifndef HAVE_UNISTD_H
int getpid ();
#endif
@@ -70,9 +68,9 @@ set_file_variables (struct file *file)
struct dep *d;
const char *at, *percent, *star, *less;
-#ifndef NO_ARCHIVES
- /* If the target is an archive member `lib(member)',
- then $@ is `lib' and $% is `member'. */
+#ifndef NO_ARCHIVES
+ /* If the target is an archive member 'lib(member)',
+ then $@ is 'lib' and $% is 'member'. */
if (ar_name (file->name))
{
@@ -92,7 +90,7 @@ set_file_variables (struct file *file)
percent = p;
}
else
-#endif /* NO_ARCHIVES. */
+#endif /* NO_ARCHIVES. */
{
at = file->name;
percent = "";
@@ -102,35 +100,35 @@ set_file_variables (struct file *file)
if (file->stem == 0)
{
/* In Unix make, $* is set to the target name with
- any suffix in the .SUFFIXES list stripped off for
- explicit rules. We store this in the `stem' member. */
+ any suffix in the .SUFFIXES list stripped off for
+ explicit rules. We store this in the 'stem' member. */
const char *name;
unsigned int len;
-#ifndef NO_ARCHIVES
+#ifndef NO_ARCHIVES
if (ar_name (file->name))
- {
- name = strchr (file->name, '(') + 1;
- len = strlen (name) - 1;
- }
+ {
+ name = strchr (file->name, '(') + 1;
+ len = strlen (name) - 1;
+ }
else
#endif
- {
- name = file->name;
- len = strlen (name);
- }
+ {
+ name = file->name;
+ len = strlen (name);
+ }
for (d = enter_file (strcache_add (".SUFFIXES"))->deps; d ; d = d->next)
- {
- unsigned int slen = strlen (dep_name (d));
- if (len > slen && strneq (dep_name (d), name + (len - slen), slen))
- {
- file->stem = strcache_add_len (name, len - slen);
- break;
- }
- }
+ {
+ unsigned int slen = strlen (dep_name (d));
+ if (len > slen && strneq (dep_name (d), name + (len - slen), slen))
+ {
+ file->stem = strcache_add_len (name, len - slen);
+ break;
+ }
+ }
if (d == 0)
- file->stem = "";
+ file->stem = "";
}
star = file->stem;
@@ -149,7 +147,7 @@ set_file_variables (struct file *file)
In this case $< is the same as $@. */
less = at;
-#define DEFINE_VARIABLE(name, len, value) \
+#define DEFINE_VARIABLE(name, len, value) \
(void) define_variable_for_file (name,len,value,o_automatic,0,file)
/* Define the variables. */
@@ -202,13 +200,13 @@ set_file_variables (struct file *file)
cp = plus_value;
- qmark_len = plus_len + 1; /* Will be this or less. */
+ qmark_len = plus_len + 1; /* Will be this or less. */
for (d = file->deps; d != 0; d = d->next)
if (! d->ignore_mtime && ! d->need_2nd_expansion)
{
const char *c = dep_name (d);
-#ifndef NO_ARCHIVES
+#ifndef NO_ARCHIVES
if (ar_name (c))
{
c = strchr (c, '(') + 1;
@@ -222,7 +220,7 @@ set_file_variables (struct file *file)
cp += len;
*cp++ = FILE_LIST_SEPARATOR;
if (! (d->changed || always_make_flag))
- qmark_len -= len + 1; /* Don't space in $? for this one. */
+ qmark_len -= len + 1; /* Don't space in $? for this one. */
}
/* Kill the last space and define the variable. */
@@ -277,23 +275,23 @@ set_file_variables (struct file *file)
continue;
c = dep_name (d);
-#ifndef NO_ARCHIVES
+#ifndef NO_ARCHIVES
if (ar_name (c))
- {
- c = strchr (c, '(') + 1;
- len = strlen (c) - 1;
- }
- else
+ {
+ c = strchr (c, '(') + 1;
+ len = strlen (c) - 1;
+ }
+ else
#endif
- len = strlen (c);
+ len = strlen (c);
if (d->ignore_mtime)
{
memcpy (bp, c, len);
- bp += len;
- *bp++ = FILE_LIST_SEPARATOR;
- }
- else
+ bp += len;
+ *bp++ = FILE_LIST_SEPARATOR;
+ }
+ else
{
memcpy (cp, c, len);
cp += len;
@@ -321,11 +319,11 @@ set_file_variables (struct file *file)
DEFINE_VARIABLE ("|", 1, bar_value);
}
-#undef DEFINE_VARIABLE
+#undef DEFINE_VARIABLE
}
/* Chop CMDS up into individual command lines if necessary.
- Also set the `lines_flags' and `any_recurse' members. */
+ Also set the 'lines_flags' and 'any_recurse' members. */
void
chop_commands (struct commands *cmds)
@@ -402,6 +400,9 @@ chop_commands (struct commands *cmds)
/* Finally, set the corresponding CMDS->lines_flags elements and the
CMDS->any_recurse flag. */
+ if (nlines > USHRT_MAX)
+ ON (fatal, &cmds->fileinfo, _("Recipe has too many lines (%ud)"), nlines);
+
cmds->ncommand_lines = nlines;
cmds->command_lines = lines;
@@ -433,7 +434,7 @@ chop_commands (struct commands *cmds)
flags |= COMMANDS_RECURSE;
cmds->lines_flags[idx] = flags;
- cmds->any_recurse |= flags & COMMANDS_RECURSE;
+ cmds->any_recurse |= flags & COMMANDS_RECURSE ? 1 : 0;
}
}
@@ -456,7 +457,7 @@ execute_file_commands (struct file *file)
{
/* If there are no commands, assume everything worked. */
set_command_state (file, cs_running);
- file->update_status = 0;
+ file->update_status = us_success;
notice_finished_file (file);
return;
}
@@ -467,6 +468,11 @@ execute_file_commands (struct file *file)
set_file_variables (file);
+ /* If this is a loaded dynamic object, unload it before remaking.
+ Some systems don't support overwriting a loaded object. */
+ if (file->loaded)
+ unload_file (file->name);
+
/* Start the commands running. */
new_job (file);
}
@@ -511,14 +517,14 @@ fatal_error_signal (int sig)
DWORD susp_count = SuspendThread (main_thread);
if (susp_count != 0)
- fprintf (stderr, "SuspendThread: suspend count = %ld\n", susp_count);
+ fprintf (stderr, "SuspendThread: suspend count = %ld\n", susp_count);
else if (susp_count == (DWORD)-1)
- {
- DWORD ierr = GetLastError ();
+ {
+ DWORD ierr = GetLastError ();
- fprintf (stderr, "SuspendThread: error %ld: %s\n",
- ierr, map_windows32_error_to_string (ierr));
- }
+ fprintf (stderr, "SuspendThread: error %ld: %s\n",
+ ierr, map_windows32_error_to_string (ierr));
+ }
}
#endif
handling_fatal_signal = 1;
@@ -534,8 +540,8 @@ fatal_error_signal (int sig)
{
struct child *c;
for (c = children; c != 0; c = c->next)
- if (!c->remote)
- (void) kill (c->pid, SIGTERM);
+ if (!c->remote)
+ (void) kill (c->pid, SIGTERM);
}
/* If we got a signal that means the user
@@ -553,18 +559,18 @@ fatal_error_signal (int sig)
struct child *c;
/* Remote children won't automatically get signals sent
- to the process group, so we must send them. */
+ to the process group, so we must send them. */
for (c = children; c != 0; c = c->next)
- if (c->remote)
- (void) remote_kill (c->pid, sig);
+ if (c->remote)
+ (void) remote_kill (c->pid, sig);
for (c = children; c != 0; c = c->next)
- delete_child_targets (c);
+ delete_child_targets (c);
/* Clean up the children. We don't just use the call below because
- we don't want to print the "Waiting for children" message. */
+ we don't want to print the "Waiting for children" message. */
while (job_slots_used > 0)
- reap_children (1, 0);
+ reap_children (1, 0);
}
else
/* Wait for our children to die. */
@@ -579,7 +585,7 @@ fatal_error_signal (int sig)
if (sig == SIGQUIT)
/* We don't want to send ourselves SIGQUIT, because it will
cause a core dump. Just exit instead. */
- exit (EXIT_FAILURE);
+ exit (MAKE_TROUBLE);
#endif
#ifdef WINDOWS32
@@ -614,17 +620,19 @@ delete_target (struct file *file, const char *on_behalf_of)
if (ar_name (file->name))
{
time_t file_date = (file->last_mtime == NONEXISTENT_MTIME
- ? (time_t) -1
- : (time_t) FILE_TIMESTAMP_S (file->last_mtime));
+ ? (time_t) -1
+ : (time_t) FILE_TIMESTAMP_S (file->last_mtime));
if (ar_member_date (file->name) != file_date)
- {
- if (on_behalf_of)
- error (NILF, _("*** [%s] Archive member `%s' may be bogus; not deleted"),
- on_behalf_of, file->name);
- else
- error (NILF, _("*** Archive member `%s' may be bogus; not deleted"),
- file->name);
- }
+ {
+ if (on_behalf_of)
+ OSS (error, NILF,
+ _("*** [%s] Archive member '%s' may be bogus; not deleted"),
+ on_behalf_of, file->name);
+ else
+ OS (error, NILF,
+ _("*** Archive member '%s' may be bogus; not deleted"),
+ file->name);
+ }
return;
}
#endif
@@ -635,12 +643,13 @@ delete_target (struct file *file, const char *on_behalf_of)
&& FILE_TIMESTAMP_STAT_MODTIME (file->name, st) != file->last_mtime)
{
if (on_behalf_of)
- error (NILF, _("*** [%s] Deleting file `%s'"), on_behalf_of, file->name);
+ OSS (error, NILF,
+ _("*** [%s] Deleting file '%s'"), on_behalf_of, file->name);
else
- error (NILF, _("*** Deleting file `%s'"), file->name);
+ OS (error, NILF, _("*** Deleting file '%s'"), file->name);
if (unlink (file->name) < 0
- && errno != ENOENT) /* It disappeared; so what. */
- perror_with_name ("unlink: ", file->name);
+ && errno != ENOENT) /* It disappeared; so what. */
+ perror_with_name ("unlink: ", file->name);
}
}
@@ -659,7 +668,7 @@ delete_child_targets (struct child *child)
/* Delete the target file if it changed. */
delete_target (child->file, NULL);
- /* Also remove any non-precious targets listed in the `also_make' member. */
+ /* Also remove any non-precious targets listed in the 'also_make' member. */
for (d = child->file->also_make; d != 0; d = d->next)
delete_target (d->file, child->file->name);
@@ -678,17 +687,23 @@ print_commands (const struct commands *cmds)
if (cmds->fileinfo.filenm == 0)
puts (_(" (built-in):"));
else
- printf (_(" (from `%s', line %lu):\n"),
+ printf (_(" (from '%s', line %lu):\n"),
cmds->fileinfo.filenm, cmds->fileinfo.lineno);
s = cmds->commands;
while (*s != '\0')
{
const char *end;
+ int bs;
- end = strchr (s, '\n');
- if (end == 0)
- end = s + strlen (s);
+ /* Print one full logical recipe line: find a non-escaped newline. */
+ for (end = s, bs = 0; *end != '\0'; ++end)
+ {
+ if (*end == '\n' && !bs)
+ break;
+
+ bs = *end == '\\' ? !bs : 0;
+ }
printf ("%c%.*s\n", cmd_prefix, (int) (end - s), s);
diff --git a/commands.h b/commands.h
index 24426fa7..0d58f22d 100644
--- a/commands.h
+++ b/commands.h
@@ -1,7 +1,5 @@
/* Definition of data structures describing shell commands for GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -21,19 +19,20 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
struct commands
{
- struct floc fileinfo; /* Where commands were defined. */
- char *commands; /* Commands text. */
- unsigned int ncommand_lines;/* Number of command lines. */
- char **command_lines; /* Commands chopped up into lines. */
- char *lines_flags; /* One set of flag bits for each line. */
- int any_recurse; /* Nonzero if any `lines_recurse' elt has */
- /* the COMMANDS_RECURSE bit set. */
+ gmk_floc fileinfo; /* Where commands were defined. */
+ char *commands; /* Commands text. */
+ char **command_lines; /* Commands chopped up into lines. */
+ 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 */
+ /* the COMMANDS_RECURSE bit set. */
};
-/* Bits in `lines_flags'. */
-#define COMMANDS_RECURSE 1 /* Recurses: + or $(MAKE). */
-#define COMMANDS_SILENT 2 /* Silent: @. */
-#define COMMANDS_NOERROR 4 /* No errors: -. */
+/* Bits in 'lines_flags'. */
+#define COMMANDS_RECURSE 1 /* Recurses: + or $(MAKE). */
+#define COMMANDS_SILENT 2 /* Silent: @. */
+#define COMMANDS_NOERROR 4 /* No errors: -. */
void execute_file_commands (struct file *file);
void print_commands (const struct commands *cmds);
diff --git a/config.ami b/config.ami
index 6d86c239..e3d6ee8c 100644
--- a/config.ami
+++ b/config.ami
@@ -1,6 +1,5 @@
/* config.h -- hand-massaged for Amiga -*-C-*-
-Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-2005, 2006, 2007, 2008, 2009, 2010 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
@@ -17,7 +16,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define if on AIX 3.
System headers sometimes define this.
- We just want to avoid a redefinition error message. */
+ We just want to avoid a redefinition error message. */
#ifndef _ALL_SOURCE
/* #undef _ALL_SOURCE */
#endif
@@ -38,14 +37,14 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define for DGUX with <sys/dg_sys_info.h>. */
/* #undef DGUX */
-/* Define if the `getloadavg' function needs to be run setuid or setgid. */
+/* Define if the 'getloadavg' function needs to be run setuid or setgid. */
/* #undef GETLOADAVG_PRIVILEGED */
-/* Define to `unsigned long' or `unsigned long long'
+/* Define to 'unsigned long' or 'unsigned long long'
if <inttypes.h> doesn't define. */
#define uintmax_t unsigned long
-/* Define to `int' if <sys/types.h> doesn't define. */
+/* Define to 'int' if <sys/types.h> doesn't define. */
#define gid_t int
/* Define if you have alloca, as a function or macro. */
@@ -54,25 +53,25 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
/* #undef HAVE_ALLOCA_H */
-/* Define if you don't have vprintf but do have _doprnt. */
-/* #undef HAVE_DOPRNT */
-
/* Define if your system has a working fnmatch function. */
/* #undef HAVE_FNMATCH */
-/* Define if your system has its own `getloadavg' function. */
+/* Define if your system has its own 'getloadavg' function. */
/* #undef HAVE_GETLOADAVG */
/* Define if you have the getmntent function. */
/* #undef HAVE_GETMNTENT */
-/* Define if the `long double' type works. */
+/* Embed GNU Guile support */
+/* #undef HAVE_GUILE */
+
+/* Define if the 'long double' type works. */
/* #undef HAVE_LONG_DOUBLE */
-/* Define if you support file names longer than 14 characters. */
+/* Define if you support file names longer than 14 characters. */
#define HAVE_LONG_FILE_NAMES 1
-/* Define if you have a working `mmap' system call. */
+/* Define if you have a working 'mmap' system call. */
/* #undef HAVE_MMAP */
/* Define if system calls automatically restart after interruption
@@ -85,7 +84,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define if your struct stat has st_blocks. */
/* #undef HAVE_ST_BLOCKS */
-/* Define if you have the strcoll function and it is properly defined. */
+/* Define if you have the strcoll function and it is properly defined. */
#define HAVE_STRCOLL 1
/* Define if your struct stat has st_rdev. */
@@ -94,7 +93,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define if you have the strftime function. */
#define HAVE_STRFTIME 1
-/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
+/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
/* #undef HAVE_SYS_WAIT_H */
/* Define if your struct tm has tm_zone. */
@@ -110,16 +109,10 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define if utime(file, NULL) sets file's timestamp to the present. */
/* #undef HAVE_UTIME_NULL */
-/* Define if you have <vfork.h>. */
-/* #undef HAVE_VFORK_H */
-
-/* Define if you have the vprintf function. */
-#define HAVE_VPRINTF 1
-
/* Define if you have the wait3 system call. */
/* #undef HAVE_WAIT3 */
-/* Define if on MINIX. */
+/* Define if on MINIX. */
/* #undef _MINIX */
/* Define if your struct nlist has an n_un member. */
@@ -131,7 +124,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
-/* Define to `int' if <sys/types.h> doesn't define. */
+/* Define to 'int' if <sys/types.h> doesn't define. */
#define pid_t int
/* Define if the system does not provide POSIX.1 features except
@@ -152,28 +145,25 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown
*/
#define STACK_DIRECTION -1
-/* Define if the `S_IS*' macros in <sys/stat.h> do not work properly. */
+/* Define if the 'S_IS*' macros in <sys/stat.h> do not work properly. */
/* #undef STAT_MACROS_BROKEN */
-/* Define if your compiler conforms to the ANSI C standard. */
-#define HAVE_ANSI_COMPILER 1
-
-/* Define if you have the ANSI C header files. */
+/* Define if you have the ANSI C header files. */
#define STDC_HEADERS
/* Define on System V Release 4. */
/* #undef SVR4 */
-/* Define if `sys_siglist' is declared by <signal.h>. */
+/* Define if 'sys_siglist' is declared by <signal.h>. */
/* #undef SYS_SIGLIST_DECLARED */
-/* Define to `int' if <sys/types.h> doesn't define. */
+/* Define to 'int' if <sys/types.h> doesn't define. */
#define uid_t int
/* Define for Encore UMAX. */
@@ -183,19 +173,16 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
instead of <sys/cpustats.h>. */
/* #undef UMAX4_3 */
-/* Define vfork as fork if vfork does not work. */
-/* #undef vfork */
-
/* Name of this package (needed by automake) */
#define PACKAGE "make"
/* Version of this package (needed by automake) */
-#define VERSION "3.82"
+#define VERSION "4.1"
-/* Define to the name of the SCCS `get' command. */
+/* Define to the name of the SCCS 'get' command. */
#define SCCS_GET "get"
-/* Define this if the SCCS `get' command understands the `-G<file>' option. */
+/* Define this if the SCCS 'get' command understands the '-G<file>' option. */
/* #undef SCCS_GET_MINUS_G */
/* Define this to enable job server support in GNU make. */
@@ -205,13 +192,13 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
if it exists. */
/* #undef ST_MTIM_NSEC */
-/* Define this if the C library defines the variable `sys_siglist'. */
+/* Define this if the C library defines the variable 'sys_siglist'. */
/* #undef HAVE_SYS_SIGLIST */
-/* Define this if the C library defines the variable `_sys_siglist'. */
+/* Define this if the C library defines the variable '_sys_siglist'. */
/* #undef HAVE__SYS_SIGLIST */
-/* Define this if you have the `union wait' type in <sys/wait.h>. */
+/* Define this if you have the 'union wait' type in <sys/wait.h>. */
/* #undef HAVE_UNION_WAIT */
/* Define if you have the dup2 function. */
@@ -247,7 +234,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define if you have the seteuid function. */
/* #undef HAVE_SETEUID */
-/* Define if you have the setlinebuf function. */
+/* Define if you have the setlinebuf function. */
/* #undef HAVE_SETLINEBUF */
/* Define if you have the setregid function. */
@@ -256,7 +243,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define if you have the setreuid function. */
/* #undef HAVE_SETREUID */
-/* Define if you have the sigsetmask function. */
+/* Define if you have the sigsetmask function. */
/* #undef HAVE_SIGSETMASK */
/* Define if you have the socket function. */
@@ -301,9 +288,6 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define if you have the <ndir.h> header file. */
/* #undef HAVE_NDIR_H */
-/* Define to 1 if you have the <stdarg.h> header file. */
-#define HAVE_STDARG_H 1
-
/* Define if you have the <stdlib.h> header file. */
/* #undef HAVE_STDLIB_H */
@@ -334,9 +318,18 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define if you have the kstat library (-lkstat). */
/* #undef HAVE_LIBKSTAT */
+/* Define to 1 if you have the `isatty' function. */
+/* #undef HAVE_ISATTY */
+
+/* Define to 1 if you have the `ttyname' function. */
+/* #undef HAVE_TTYNAME */
+
/* Define if you have the sun library (-lsun). */
/* #undef HAVE_LIBSUN */
+/* Output sync sypport */
+#define NO_OUTPUT_SYNC
+
/* Define for Case Insensitve behavior */
#define HAVE_CASE_INSENSITIVE_FS
diff --git a/config.ami.template b/config.ami.template
deleted file mode 100644
index 3a5a29e7..00000000
--- a/config.ami.template
+++ /dev/null
@@ -1,344 +0,0 @@
-/* config.h -- hand-massaged for Amiga -*-C-*-
-Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-2005, 2006, 2007, 2008, 2009, 2010 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 <http://www.gnu.org/licenses/>. */
-
-/* Define if on AIX 3.
- System headers sometimes define this.
- We just want to avoid a redefinition error message. */
-#ifndef _ALL_SOURCE
-/* #undef _ALL_SOURCE */
-#endif
-
-/* Define if using alloca.c. */
-#define C_ALLOCA
-
-/* Define if the closedir function returns void instead of int. */
-/* #undef CLOSEDIR_VOID */
-
-/* Define to empty if the keyword does not work. */
-/* #undef const */
-
-/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
- This function is required for alloca.c support on those systems. */
-/* #undef CRAY_STACKSEG_END */
-
-/* Define for DGUX with <sys/dg_sys_info.h>. */
-/* #undef DGUX */
-
-/* Define if the `getloadavg' function needs to be run setuid or setgid. */
-/* #undef GETLOADAVG_PRIVILEGED */
-
-/* Define to `unsigned long' or `unsigned long long'
- if <inttypes.h> doesn't define. */
-#define uintmax_t unsigned long
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-#define gid_t int
-
-/* Define if you have alloca, as a function or macro. */
-/* #undef HAVE_ALLOCA */
-
-/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
-/* #undef HAVE_ALLOCA_H */
-
-/* Define if you don't have vprintf but do have _doprnt. */
-/* #undef HAVE_DOPRNT */
-
-/* Define if your system has a working fnmatch function. */
-/* #undef HAVE_FNMATCH */
-
-/* Define if your system has its own `getloadavg' function. */
-/* #undef HAVE_GETLOADAVG */
-
-/* Define if you have the getmntent function. */
-/* #undef HAVE_GETMNTENT */
-
-/* Define if the `long double' type works. */
-/* #undef HAVE_LONG_DOUBLE */
-
-/* Define if you support file names longer than 14 characters. */
-#define HAVE_LONG_FILE_NAMES 1
-
-/* Define if you have a working `mmap' system call. */
-/* #undef HAVE_MMAP */
-
-/* Define if system calls automatically restart after interruption
- by a signal. */
-/* #undef HAVE_RESTARTABLE_SYSCALLS */
-
-/* Define if your struct stat has st_blksize. */
-/* #undef HAVE_ST_BLKSIZE */
-
-/* Define if your struct stat has st_blocks. */
-/* #undef HAVE_ST_BLOCKS */
-
-/* Define if you have the strcoll function and it is properly defined. */
-#define HAVE_STRCOLL 1
-
-/* Define if your struct stat has st_rdev. */
-#define HAVE_ST_RDEV 1
-
-/* Define if you have the strftime function. */
-#define HAVE_STRFTIME 1
-
-/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
-/* #undef HAVE_SYS_WAIT_H */
-
-/* Define if your struct tm has tm_zone. */
-/* #undef HAVE_TM_ZONE */
-
-/* Define if you don't have tm_zone but do have the external array
- tzname. */
-#define HAVE_TZNAME 1
-
-/* Define if you have <unistd.h>. */
-#define HAVE_UNISTD_H 1
-
-/* Define if utime(file, NULL) sets file's timestamp to the present. */
-/* #undef HAVE_UTIME_NULL */
-
-/* Define if you have <vfork.h>. */
-/* #undef HAVE_VFORK_H */
-
-/* Define if you have the vprintf function. */
-#define HAVE_VPRINTF 1
-
-/* Define if you have the wait3 system call. */
-/* #undef HAVE_WAIT3 */
-
-/* Define if on MINIX. */
-/* #undef _MINIX */
-
-/* Define if your struct nlist has an n_un member. */
-/* #undef NLIST_NAME_UNION */
-
-/* Define if you have <nlist.h>. */
-/* #undef NLIST_STRUCT */
-
-/* Define if your C compiler doesn't accept -c and -o together. */
-/* #undef NO_MINUS_C_MINUS_O */
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-#define pid_t int
-
-/* Define if the system does not provide POSIX.1 features except
- with this defined. */
-/* #undef _POSIX_1_SOURCE */
-
-/* Define if you need to in order for stat and other things to work. */
-/* #undef _POSIX_SOURCE */
-
-/* Define as the return type of signal handlers (int or void). */
-#define RETSIGTYPE void
-
-/* Define if the setvbuf function takes the buffering type as its second
- argument and the buffer pointer as the third, as on System V
- before release 3. */
-/* #undef SETVBUF_REVERSED */
-
-/* If using the C implementation of alloca, define if you know the
- direction of stack growth for your system; otherwise it will be
- automatically deduced at run-time.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown
- */
-#define STACK_DIRECTION -1
-
-/* Define if the `S_IS*' macros in <sys/stat.h> do not work properly. */
-/* #undef STAT_MACROS_BROKEN */
-
-/* Define if your compiler conforms to the ANSI C standard. */
-#define HAVE_ANSI_COMPILER 1
-
-/* Define if you have the ANSI C header files. */
-#define STDC_HEADERS
-
-/* Define on System V Release 4. */
-/* #undef SVR4 */
-
-/* Define if `sys_siglist' is declared by <signal.h>. */
-/* #undef SYS_SIGLIST_DECLARED */
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-#define uid_t int
-
-/* Define for Encore UMAX. */
-/* #undef UMAX */
-
-/* Define for Encore UMAX 4.3 that has <inq_status/cpustats.h>
- instead of <sys/cpustats.h>. */
-/* #undef UMAX4_3 */
-
-/* Define vfork as fork if vfork does not work. */
-/* #undef vfork */
-
-/* Name of this package (needed by automake) */
-#define PACKAGE "%PACKAGE%"
-
-/* Version of this package (needed by automake) */
-#define VERSION "%VERSION%"
-
-/* Define to the name of the SCCS `get' command. */
-#define SCCS_GET "get"
-
-/* Define this if the SCCS `get' command understands the `-G<file>' option. */
-/* #undef SCCS_GET_MINUS_G */
-
-/* Define this to enable job server support in GNU make. */
-/* #undef MAKE_JOBSERVER */
-
-/* Define to be the nanoseconds member of struct stat's st_mtim,
- if it exists. */
-/* #undef ST_MTIM_NSEC */
-
-/* Define this if the C library defines the variable `sys_siglist'. */
-/* #undef HAVE_SYS_SIGLIST */
-
-/* Define this if the C library defines the variable `_sys_siglist'. */
-/* #undef HAVE__SYS_SIGLIST */
-
-/* Define this if you have the `union wait' type in <sys/wait.h>. */
-/* #undef HAVE_UNION_WAIT */
-
-/* Define if you have the dup2 function. */
-/* #undef HAVE_DUP2 */
-
-/* Define if you have the getcwd function. */
-#define HAVE_GETCWD 1
-
-/* Define if you have the getgroups function. */
-/* #undef HAVE_GETGROUPS */
-
-/* Define if you have the gethostbyname function. */
-/* #undef HAVE_GETHOSTBYNAME */
-
-/* Define if you have the gethostname function. */
-/* #undef HAVE_GETHOSTNAME */
-
-/* Define if you have the memmove function. */
-#define HAVE_MEMMOVE 1
-
-/* Define if you have the mktemp function. */
-#define HAVE_MKTEMP 1
-
-/* Define if you have the psignal function. */
-/* #undef HAVE_PSIGNAL */
-
-/* Define if you have the pstat_getdynamic function. */
-/* #undef HAVE_PSTAT_GETDYNAMIC */
-
-/* Define if you have the setegid function. */
-/* #undef HAVE_SETEGID */
-
-/* Define if you have the seteuid function. */
-/* #undef HAVE_SETEUID */
-
-/* Define if you have the setlinebuf function. */
-/* #undef HAVE_SETLINEBUF */
-
-/* Define if you have the setregid function. */
-/* #undef HAVE_SETREGID */
-
-/* Define if you have the setreuid function. */
-/* #undef HAVE_SETREUID */
-
-/* Define if you have the sigsetmask function. */
-/* #undef HAVE_SIGSETMASK */
-
-/* Define if you have the socket function. */
-/* #undef HAVE_SOCKET */
-
-/* Define to 1 if you have the strcasecmp function. */
-/* #undef HAVE_STRCASECMP */
-
-/* Define to 1 if you have the strcmpi function. */
-/* #undef HAVE_STRCMPI */
-
-/* Define to 1 if you have the stricmp function. */
-/* #undef HAVE_STRICMP */
-
-/* Define if you have the strerror function. */
-#define HAVE_STRERROR 1
-
-/* Define if you have the strsignal function. */
-/* #undef HAVE_STRSIGNAL */
-
-/* Define if you have the wait3 function. */
-/* #undef HAVE_WAIT3 */
-
-/* Define if you have the waitpid function. */
-/* #undef HAVE_WAITPID */
-
-/* Define if you have the <dirent.h> header file. */
-#define HAVE_DIRENT_H 1
-
-/* Define if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H 1
-
-/* Define if you have the <limits.h> header file. */
-#define HAVE_LIMITS_H 1
-
-/* Define if you have the <mach/mach.h> header file. */
-/* #undef HAVE_MACH_MACH_H */
-
-/* Define if you have the <memory.h> header file. */
-/* #undef HAVE_MEMORY_H */
-
-/* Define if you have the <ndir.h> header file. */
-/* #undef HAVE_NDIR_H */
-
-/* Define to 1 if you have the <stdarg.h> header file. */
-#define HAVE_STDARG_H 1
-
-/* Define if you have the <stdlib.h> header file. */
-/* #undef HAVE_STDLIB_H */
-
-/* Define if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
-/* Define if you have the <sys/dir.h> header file. */
-#define HAVE_SYS_DIR_H 1
-
-/* Define if you have the <sys/ndir.h> header file. */
-/* #undef HAVE_SYS_NDIR_H */
-
-/* Define if you have the <sys/param.h> header file. */
-/* #undef HAVE_SYS_PARAM_H */
-
-/* Define if you have the <sys/timeb.h> header file. */
-/* #undef HAVE_SYS_TIMEB_H */
-
-/* Define if you have the <sys/wait.h> header file. */
-/* #undef HAVE_SYS_WAIT_H */
-
-/* Define if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define if you have the dgc library (-ldgc). */
-/* #undef HAVE_LIBDGC */
-
-/* Define if you have the kstat library (-lkstat). */
-/* #undef HAVE_LIBKSTAT */
-
-/* Define if you have the sun library (-lsun). */
-/* #undef HAVE_LIBSUN */
-
-/* Define for Case Insensitve behavior */
-#define HAVE_CASE_INSENSITIVE_FS
-
-/* Build host information. */
-#define MAKE_HOST "Amiga"
diff --git a/config.h-vms b/config.h-vms
index a6f19b64..d20953e7 100644
--- a/config.h-vms
+++ b/config.h-vms
@@ -1,7 +1,6 @@
/* config.h-vms. Generated by hand by Klaus Kämpf <kkaempf@rmi.de> -*-C-*-
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009, 2010 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
@@ -17,7 +16,13 @@ You should have received a copy of the GNU General Public License along with
this program. If not, see <http://www.gnu.org/licenses/>. */
/* config.h. Generated automatically by configure. */
-/* config.h.in. Generated automatically from configure.in by autoheader. */
+/* config.h.in. Generated automatically from configure.ac by autoheader. */
+
+/* Pull in types.h here to get __CRTL_VER defined for old versions of the
+ compiler which don't define it. */
+#ifdef __DECC
+# include <types.h>
+#endif
/* Define to 1 if on AIX 3.
System headers sometimes define this.
@@ -35,6 +40,9 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define as 1 if you have gettext and don't want to use GNU gettext. */
/* #undef HAVE_GETTEXT */
+/* Embed GNU Guile support */
+/* #undef HAVE_GUILE */
+
/* Define to 1 if your locale.h file contains LC_MESSAGES. */
/* #undef HAVE_LC_MESSAGES */
@@ -57,14 +65,14 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define for DGUX with <sys/dg_sys_info.h>. */
/* #undef DGUX */
-/* Define to 1 if the `getloadavg' function needs to be run setuid or setgid. */
+/* Define to 1 if the 'getloadavg' function needs to be run setuid or setgid. */
/* #undef GETLOADAVG_PRIVILEGED */
-/* Define to `unsigned long' or `unsigned long long'
+/* Define to 'unsigned long' or 'unsigned long long'
if <inttypes.h> doesn't define. */
#define uintmax_t unsigned long
-/* Define to `int' if <sys/types.h> doesn't define. */
+/* Define to 'int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define to 1 if you have alloca, as a function or macro. */
@@ -73,28 +81,25 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). */
/* #undef HAVE_ALLOCA_H */
-/* Define to 1 if you don't have vprintf but do have _doprnt. */
-/* #undef HAVE_DOPRNT */
-
/* Define to 1 if you have the fdopen function. */
#define HAVE_FDOPEN 1
/* Define to 1 if your system has a working fnmatch function. */
/* #undef HAVE_FNMATCH */
-/* Define to 1 if your system has its own `getloadavg' function. */
+/* Define to 1 if your system has its own 'getloadavg' function. */
/* #undef HAVE_GETLOADAVG */
/* Define to 1 if you have the getmntent function. */
/* #undef HAVE_GETMNTENT */
-/* Define to 1 if the `long double' type works. */
+/* Define to 1 if the 'long double' type works. */
/* #undef HAVE_LONG_DOUBLE */
/* Define to 1 if you support file names longer than 14 characters. */
#define HAVE_LONG_FILE_NAMES 1
-/* Define to 1 if you have a working `mmap' system call. */
+/* Define to 1 if you have a working 'mmap' system call. */
/* #undef HAVE_MMAP */
/* Define to 1 if system calls automatically restart after interruption
@@ -110,6 +115,11 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the strcoll function and it is properly defined. */
/* #undef HAVE_STRCOLL */
+/* Define to 1 if you have the strncasecmp' function. */
+#if __CRTL_VER >= 70000000
+#define HAVE_STRNCASECMP 1
+#endif
+
/* Define to 1 if your struct stat has st_rdev. */
/* #undef HAVE_ST_RDEV */
@@ -134,12 +144,6 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if utime(file, NULL) sets file's timestamp to the present. */
/* #undef HAVE_UTIME_NULL */
-/* Define to 1 if you have <vfork.h>. */
-/* #undef HAVE_VFORK_H */
-
-/* Define to 1 if you have the vprintf function. */
-#define HAVE_VPRINTF 1
-
/* Define to 1 if you have the wait3 system call. */
/* #undef HAVE_WAIT3 */
@@ -155,7 +159,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
-/* Define to `int' if <sys/types.h> doesn't define. */
+/* Define to 'int' if <sys/types.h> doesn't define. */
/* I assume types.h is available for all 5.0 cc/cxx compilers */
#if __DECC_VER < 50090000
#define pid_t int
@@ -179,13 +183,13 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown
*/
/* #undef STACK_DIRECTION */
-/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
+/* Define to 1 if the 'S_IS*' macros in <sys/stat.h> do not work properly. */
/* #undef STAT_MACROS_BROKEN */
/* Define to 1 if you have the ANSI C header files. */
@@ -194,10 +198,10 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define on System V Release 4. */
/* #undef SVR4 */
-/* Define to 1 if `sys_siglist' is declared by <signal.h>. */
+/* Define to 1 if 'sys_siglist' is declared by <signal.h>. */
/* #undef SYS_SIGLIST_DECLARED */
-/* Define to `int' if <sys/types.h> doesn't define. */
+/* Define to 'int' if <sys/types.h> doesn't define. */
#if __DECC_VER < 50090000
#define uid_t int
#endif
@@ -209,19 +213,16 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
instead of <sys/cpustats.h>. */
/* #undef UMAX4_3 */
-/* Define vfork as fork if vfork does not work. */
-/* #undef vfork */
-
/* Name of this package (needed by automake) */
#define PACKAGE "make"
/* Version of this package (needed by automake) */
-#define VERSION "3.82"
+#define VERSION "4.1"
-/* Define to the name of the SCCS `get' command. */
+/* Define to the name of the SCCS 'get' command. */
/* #undef SCCS_GET */
-/* Define this if the SCCS `get' command understands the `-G<file>' option. */
+/* Define this if the SCCS 'get' command understands the '-G<file>' option. */
/* #undef SCCS_GET_MINUS_G */
/* Define this to enable job server support in GNU make. */
@@ -231,13 +232,13 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
if it exists. */
/* #undef ST_MTIM_NSEC */
-/* Define to 1 if the C library defines the variable `sys_siglist'. */
+/* Define to 1 if the C library defines the variable 'sys_siglist'. */
/* #undefine HAVE_SYS_SIGLIST */
-/* Define to 1 if the C library defines the variable `_sys_siglist'. */
+/* Define to 1 if the C library defines the variable '_sys_siglist'. */
/* #undef HAVE__SYS_SIGLIST */
-/* Define to 1 if you have the `union wait' type in <sys/wait.h>. */
+/* Define to 1 if you have the 'union wait' type in <sys/wait.h>. */
/* #undef HAVE_UNION_WAIT */
/* Define to 1 if you have the dup2 function. */
@@ -255,9 +256,6 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the gethostname function. */
/* #undef HAVE_GETHOSTNAME */
-/* Define to 1 if you have the getloadavg function. */
-/* #undef HAVE_GETLOADAVG */
-
/* Define to 1 if you have the memmove function. */
#define HAVE_MEMMOVE 1
@@ -332,12 +330,6 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the <ndir.h> header file. */
/* #undef HAVE_NDIR_H */
-/* Define to 1 if your compiler conforms to the ANSI C standard. */
-#define HAVE_ANSI_COMPILER 1
-
-/* Define to 1 if you have the <stdarg.h> header file. */
-#define HAVE_STDARG_H 1
-
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
@@ -370,6 +362,12 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the sun library (-lsun). */
/* #undef HAVE_LIBSUN */
+/* Define to 1 if you have the `isatty' function. */
+/* #undef HAVE_ISATTY */
+
+/* Define to 1 if you have the `ttyname' function. */
+/* #undef HAVE_TTYNAME */
+
/* Use high resolution file timestamps if nonzero. */
#define FILE_TIMESTAMP_HI_RES 0
@@ -386,15 +384,9 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* #undef HAVE_VMSDIR_H */
/* #undef _DIRENT_HAVE_D_NAMLEN */
-/* On older systems without 7.0 backport of CRTL the first one is defined */
-#ifdef __CRTL_VER
-# if __CRTL_VER < 70000000
-# define HAVE_VMSDIR_H 1
-# endif
-#else
-# if __VMS_VER < 70000000
-# define HAVE_VMSDIR_H 1
-# endif
+/* On older systems without 7.0 backport of CRTL use non-VMS code for opendir() etc. */
+#if __CRTL_VER < 70000000
+# define HAVE_VMSDIR_H 1
#endif
#if defined(HAVE_VMSDIR_H) && defined(HAVE_DIRENT_H)
@@ -420,10 +412,21 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define if using alloca.c. */
/* #undef C_ALLOCA */
-/* maybe this should be placed into make.h */
-#if defined(__VAX) && defined(__DECC)
-#define alloca(n) __ALLOCA(n)
+/* maybe this should be placed into makeint.h */
+#if defined(__VAX) && defined(__DECC)
+#define alloca(n) __ALLOCA(n)
#endif
+/* Output sync sypport */
+#define NO_OUTPUT_SYNC
+
+/* Define to 1 to write even short single-line actions into a VMS/DCL command
+ file; this also enables exporting make environment variables into the
+ (sub-)process, which executes the action.
+ The usual make rules apply whether a shell variable - here a DCL symbol or
+ VMS logical [see CRTL getenv()] - is added to the make environment and
+ is exported. */
+#define USE_DCL_COM_FILE 1
+
/* Build host information. */
#define MAKE_HOST "VMS"
diff --git a/config.h-vms.template b/config.h-vms.template
deleted file mode 100644
index cf9d5e41..00000000
--- a/config.h-vms.template
+++ /dev/null
@@ -1,434 +0,0 @@
-/* config.h-vms. Generated by hand by Klaus Kämpf <kkaempf@rmi.de> -*-C-*-
-
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009, 2010 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 <http://www.gnu.org/licenses/>. */
-
-/* config.h. Generated automatically by configure. */
-/* config.h.in. Generated automatically from configure.in by autoheader. */
-
-/* Define to 1 if on AIX 3.
- System headers sometimes define this.
- We just want to avoid a redefinition error message. */
-#ifndef _ALL_SOURCE
-/* #undef _ALL_SOURCE */
-#endif
-
-/* Define to 1 if NLS is requested. */
-/* #undef ENABLE_NLS */
-
-/* Define as 1 if you have dcgettext. */
-/* #undef HAVE_DCGETTEXT */
-
-/* Define as 1 if you have gettext and don't want to use GNU gettext. */
-/* #undef HAVE_GETTEXT */
-
-/* Define to 1 if your locale.h file contains LC_MESSAGES. */
-/* #undef HAVE_LC_MESSAGES */
-
-/* Define to the installation directory for locales. */
-#define LOCALEDIR ""
-
-/* Define as 1 if you have the stpcpy function. */
-/* #undef HAVE_STPCPY */
-
-/* Define to 1 if the closedir function returns void instead of int. */
-/* #undef CLOSEDIR_VOID */
-
-/* Define to empty if the keyword does not work. */
-/* #undef const */
-
-/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
- This function is required for alloca.c support on those systems. */
-/* #undef CRAY_STACKSEG_END */
-
-/* Define for DGUX with <sys/dg_sys_info.h>. */
-/* #undef DGUX */
-
-/* Define to 1 if the `getloadavg' function needs to be run setuid or setgid. */
-/* #undef GETLOADAVG_PRIVILEGED */
-
-/* Define to `unsigned long' or `unsigned long long'
- if <inttypes.h> doesn't define. */
-#define uintmax_t unsigned long
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-/* #undef gid_t */
-
-/* Define to 1 if you have alloca, as a function or macro. */
-#define HAVE_ALLOCA 1
-
-/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). */
-/* #undef HAVE_ALLOCA_H */
-
-/* Define to 1 if you don't have vprintf but do have _doprnt. */
-/* #undef HAVE_DOPRNT */
-
-/* Define to 1 if you have the fdopen function. */
-#define HAVE_FDOPEN 1
-
-/* Define to 1 if your system has a working fnmatch function. */
-/* #undef HAVE_FNMATCH */
-
-/* Define to 1 if your system has its own `getloadavg' function. */
-/* #undef HAVE_GETLOADAVG */
-
-/* Define to 1 if you have the getmntent function. */
-/* #undef HAVE_GETMNTENT */
-
-/* Define to 1 if the `long double' type works. */
-/* #undef HAVE_LONG_DOUBLE */
-
-/* Define to 1 if you support file names longer than 14 characters. */
-#define HAVE_LONG_FILE_NAMES 1
-
-/* Define to 1 if you have a working `mmap' system call. */
-/* #undef HAVE_MMAP */
-
-/* Define to 1 if system calls automatically restart after interruption
- by a signal. */
-/* #undef HAVE_RESTARTABLE_SYSCALLS */
-
-/* Define to 1 if your struct stat has st_blksize. */
-/* #undef HAVE_ST_BLKSIZE */
-
-/* Define to 1 if your struct stat has st_blocks. */
-/* #undef HAVE_ST_BLOCKS */
-
-/* Define to 1 if you have the strcoll function and it is properly defined. */
-/* #undef HAVE_STRCOLL */
-
-/* Define to 1 if you have the strncasecmp' function. */
-#if __CRTL_VER >= 70000000
-#define HAVE_STRNCASECMP 1
-#endif
-
-/* Define to 1 if your struct stat has st_rdev. */
-/* #undef HAVE_ST_RDEV */
-
-/* Define to 1 if you have the strftime function. */
-/* #undef HAVE_STRFTIME */
-
-/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
-/* #undef HAVE_SYS_WAIT_H */
-
-/* Define to 1 if your struct tm has tm_zone. */
-/* #undef HAVE_TM_ZONE */
-
-/* Define to 1 if you don't have tm_zone but do have the external array
- tzname. */
-/* #undef HAVE_TZNAME */
-
-/* Define to 1 if you have <unistd.h>. */
-#ifdef __DECC
-#define HAVE_UNISTD_H 1
-#endif
-
-/* Define to 1 if utime(file, NULL) sets file's timestamp to the present. */
-/* #undef HAVE_UTIME_NULL */
-
-/* Define to 1 if you have <vfork.h>. */
-/* #undef HAVE_VFORK_H */
-
-/* Define to 1 if you have the vprintf function. */
-#define HAVE_VPRINTF 1
-
-/* Define to 1 if you have the wait3 system call. */
-/* #undef HAVE_WAIT3 */
-
-/* Define to 1 if on MINIX. */
-/* #undef _MINIX */
-
-/* Define to 1 if your struct nlist has an n_un member. */
-/* #undef NLIST_NAME_UNION */
-
-/* Define to 1 if you have <nlist.h>. */
-/* #undef NLIST_STRUCT */
-
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-/* #undef NO_MINUS_C_MINUS_O */
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-/* I assume types.h is available for all 5.0 cc/cxx compilers */
-#if __DECC_VER < 50090000
-#define pid_t int
-#endif
-
-/* Define to 1 if the system does not provide POSIX.1 features except
- with this defined. */
-/* #undef _POSIX_1_SOURCE */
-
-/* Define to 1 if you need to in order for stat and other things to work. */
-/* #undef _POSIX_SOURCE */
-
-/* Define as the return type of signal handlers (int or void). */
-#define RETSIGTYPE void
-
-/* Define to 1 if the setvbuf function takes the buffering type as its second
- argument and the buffer pointer as the third, as on System V
- before release 3. */
-/* #undef SETVBUF_REVERSED */
-
-/* If using the C implementation of alloca, define if you know the
- direction of stack growth for your system; otherwise it will be
- automatically deduced at run-time.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown
- */
-/* #undef STACK_DIRECTION */
-
-/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
-/* #undef STAT_MACROS_BROKEN */
-
-/* Define to 1 if you have the ANSI C header files. */
-/* #undef STDC_HEADERS */
-
-/* Define on System V Release 4. */
-/* #undef SVR4 */
-
-/* Define to 1 if `sys_siglist' is declared by <signal.h>. */
-/* #undef SYS_SIGLIST_DECLARED */
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-#if __DECC_VER < 50090000
-#define uid_t int
-#endif
-
-/* Define for Encore UMAX. */
-/* #undef UMAX */
-
-/* Define for Encore UMAX 4.3 that has <inq_status/cpustats.h>
- instead of <sys/cpustats.h>. */
-/* #undef UMAX4_3 */
-
-/* Define vfork as fork if vfork does not work. */
-/* #undef vfork */
-
-/* Name of this package (needed by automake) */
-#define PACKAGE "%PACKAGE%"
-
-/* Version of this package (needed by automake) */
-#define VERSION "%VERSION%"
-
-/* Define to the name of the SCCS `get' command. */
-/* #undef SCCS_GET */
-
-/* Define this if the SCCS `get' command understands the `-G<file>' option. */
-/* #undef SCCS_GET_MINUS_G */
-
-/* Define this to enable job server support in GNU make. */
-/* #undef MAKE_JOBSERVER */
-
-/* Define to be the nanoseconds member of struct stat's st_mtim,
- if it exists. */
-/* #undef ST_MTIM_NSEC */
-
-/* Define to 1 if the C library defines the variable `sys_siglist'. */
-/* #undefine HAVE_SYS_SIGLIST */
-
-/* Define to 1 if the C library defines the variable `_sys_siglist'. */
-/* #undef HAVE__SYS_SIGLIST */
-
-/* Define to 1 if you have the `union wait' type in <sys/wait.h>. */
-/* #undef HAVE_UNION_WAIT */
-
-/* Define to 1 if you have the dup2 function. */
-#define HAVE_DUP2 1
-
-/* Define to 1 if you have the getcwd function. */
-#define HAVE_GETCWD 1
-
-/* Define to 1 if you have the getgroups function. */
-/* #undef HAVE_GETGROUPS */
-
-/* Define to 1 if you have the gethostbyname function. */
-/* #undef HAVE_GETHOSTBYNAME */
-
-/* Define to 1 if you have the gethostname function. */
-/* #undef HAVE_GETHOSTNAME */
-
-/* Define to 1 if you have the getloadavg function. */
-/* #undef HAVE_GETLOADAVG */
-
-/* Define to 1 if you have the memmove function. */
-#define HAVE_MEMMOVE 1
-
-/* Define to 1 if you have the mktemp function. */
-#define HAVE_MKTEMP 1
-
-/* Define to 1 if you have the psignal function. */
-/* #undef HAVE_PSIGNAL */
-
-/* Define to 1 if you have the pstat_getdynamic function. */
-/* #undef HAVE_PSTAT_GETDYNAMIC */
-
-/* Define to 1 if you have the setegid function. */
-/* #undef HAVE_SETEGID */
-
-/* Define to 1 if you have the seteuid function. */
-/* #undef HAVE_SETEUID */
-
-/* Define to 1 if you have the setlinebuf function. */
-/* #undef HAVE_SETLINEBUF */
-
-/* Define to 1 if you have the setregid function. */
-/* #undefine HAVE_SETREGID */
-
-/* Define to 1 if you have the setreuid function. */
-/* #define HAVE_SETREUID */
-
-/* Define to 1 if you have the sigsetmask function. */
-#define HAVE_SIGSETMASK 1
-
-/* Define to 1 if you have the socket function. */
-/* #undef HAVE_SOCKET */
-
-/* Define to 1 if you have the strcasecmp function. */
-#define HAVE_STRCASECMP 1
-
-/* Define to 1 if you have the strcmpi function. */
-/* #undef HAVE_STRCMPI */
-
-/* Define to 1 if you have the stricmp function. */
-/* #undef HAVE_STRICMP */
-
-/* Define to 1 if you have the strerror function. */
-#define HAVE_STRERROR 1
-
-/* Define to 1 if you have the strsignal function. */
-/* #undef HAVE_STRSIGNAL */
-
-/* Define to 1 if you have the wait3 function. */
-/* #undef HAVE_WAIT3 */
-
-/* Define to 1 if you have the waitpid function. */
-/* #undef HAVE_WAITPID */
-
-/* Define to 1 if you have the <dirent.h> header file. */
-#define HAVE_DIRENT_H 1
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#ifdef __DECC
-#define HAVE_FCNTL_H 1
-#endif
-
-/* Define to 1 if you have the <limits.h> header file. */
-#define HAVE_LIMITS_H 1
-
-/* Define to 1 if you have the <mach/mach.h> header file. */
-/* #undef HAVE_MACH_MACH_H */
-
-/* Define to 1 if you have the <memory.h> header file. */
-/* #undef HAVE_MEMORY_H */
-
-/* Define to 1 if you have the <ndir.h> header file. */
-/* #undef HAVE_NDIR_H */
-
-/* Define to 1 if your compiler conforms to the ANSI C standard. */
-#define HAVE_ANSI_COMPILER 1
-
-/* Define to 1 if you have the <stdarg.h> header file. */
-#define HAVE_STDARG_H 1
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the <sys/dir.h> header file. */
-/* #undef HAVE_SYS_DIR_H */
-
-/* Define to 1 if you have the <sys/ndir.h> header file. */
-/* #undef HAVE_SYS_NDIR_H */
-
-/* Define to 1 if you have the <sys/param.h> header file. */
-/* #undef HAVE_SYS_PARAM_H */
-
-/* Define to 1 if you have the <sys/timeb.h> header file. */
-#ifndef __GNUC__
-#define HAVE_SYS_TIMEB_H 1
-#endif
-
-/* Define to 1 if you have the <sys/wait.h> header file. */
-/* #undef HAVE_SYS_WAIT_H */
-
-/* Define to 1 if you have the dgc library (-ldgc). */
-/* #undef HAVE_LIBDGC */
-
-/* Define to 1 if you have the kstat library (-lkstat). */
-/* #undef HAVE_LIBKSTAT *
-
-/* Define to 1 if you have the sun library (-lsun). */
-/* #undef HAVE_LIBSUN */
-
-/* Use high resolution file timestamps if nonzero. */
-#define FILE_TIMESTAMP_HI_RES 0
-
-/* Define for case insensitve filenames */
-#define HAVE_CASE_INSENSITIVE_FS 1
-
-/* VMS specific, define it if you want to use case sensitive targets */
-/* #undef WANT_CASE_SENSITIVE_TARGETS */
-
-/* VMS specific, V7.0 has opendir() and friends, so it's undefined */
-/* If you want to use non-VMS code for opendir() etc. on V7.0 and greater
- define the first or both macros AND change the compile command to get the
- non-VMS versions linked: (prefix=(all,except=(opendir,... */
-/* #undef HAVE_VMSDIR_H */
-/* #undef _DIRENT_HAVE_D_NAMLEN */
-
-/* On older systems without 7.0 backport of CRTL the first one is defined */
-#ifdef __CRTL_VER
-# if __CRTL_VER < 70000000
-# define HAVE_VMSDIR_H 1
-# endif
-#else
-# if __VMS_VER < 70000000
-# define HAVE_VMSDIR_H 1
-# endif
-#endif
-
-#if defined(HAVE_VMSDIR_H) && defined(HAVE_DIRENT_H)
-#undef HAVE_DIRENT_H
-#endif
-
-#define HAVE_STDLIB_H 1
-#define INCLUDEDIR "sys$sysroot:[syslib]"
-#define LIBDIR "sys$sysroot:[syslib]"
-
-/* Don't use RTL functions of OpenVMS */
-#ifdef __DECC
-#include <stdio.h>
-#include <unistd.h>
-#define getopt gnu_getopt
-#define optarg gnu_optarg
-#define optopt gnu_optopt
-#define optind gnu_optind
-#define opterr gnu_opterr
-#define globfree gnu_globfree
-#define glob gnu_glob
-#endif
-
-/* Define if using alloca.c. */
-/* #undef C_ALLOCA */
-/* maybe this should be placed into make.h */
-#if defined(__VAX) && defined(__DECC)
-#define alloca(n) __ALLOCA(n)
-#endif
-
-/* Build host information. */
-#define MAKE_HOST "VMS"
diff --git a/config.h.W32 b/config.h.W32
index 4ac84f7a..a5255201 100644
--- a/config.h.W32
+++ b/config.h.W32
@@ -1,7 +1,6 @@
/* config.h.W32 -- hand-massaged config.h file for Windows builds -*-C-*-
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009, 2010 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
@@ -28,19 +27,19 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
# define _CRT_NONSTDC_NO_WARNINGS /* functions w/o a leading underscore */
#endif
-/* Define to 1 if the `closedir' function returns void instead of `int'. */
+/* Define to 1 if the 'closedir' function returns void instead of 'int'. */
/* #undef CLOSEDIR_VOID */
-/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
- systems. This function is required for `alloca.c' support on those systems.
+/* Define to one of '_getb67', 'GETB67', 'getb67' for Cray-2 and Cray-YMP
+ systems. This function is required for 'alloca.c' support on those systems.
*/
/* #undef CRAY_STACKSEG_END */
-/* Define to 1 if using `alloca.c'. */
+/* Define to 1 if using 'alloca.c'. */
/* #undef C_ALLOCA */
-/* Define to 1 if using `getloadavg.c'. */
-/*#define C_GETLOADAVG 1*/
+/* Define to 1 if using 'getloadavg.c'. */
+#define C_GETLOADAVG 1
/* Define to 1 for DGUX with <sys/dg_sys_info.h>. */
/* #undef DGUX */
@@ -52,34 +51,51 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Use high resolution file timestamps if nonzero. */
#define FILE_TIMESTAMP_HI_RES 0
-/* Define to 1 if the `getloadavg' function needs to be run setuid or setgid.
+/* Define to 1 if the 'getloadavg' function needs to be run setuid or setgid.
*/
/* #undef GETLOADAVG_PRIVILEGED */
-/* Define to 1 if you have `alloca', as a function or macro. */
+/* Define to 1 if you have 'alloca', as a function or macro. */
#define HAVE_ALLOCA 1
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
/* #undef HAVE_ALLOCA_H */
-/* Define if your compiler conforms to the ANSI C standard. */
-#define HAVE_ANSI_COMPILER 1
-
-/* Define to 1 if you have the `bsd_signal' function. */
-/* #undef HAVE_BSD_SIGNAL */
+/* Define to 1 if you have the 'atexit' function. */
+#define HAVE_ATEXIT 1
/* Use case insensitive file names */
/* #undef HAVE_CASE_INSENSITIVE_FS */
-/* Define if you have the clock_gettime function. */
+/* Define to 1 if you have the clock_gettime function. */
/* #undef HAVE_CLOCK_GETTIME */
+/* Embed GNU Guile support. Windows build sets this on the
+ compilation command line. */
+/* #undef HAVE_GUILE */
+
/* Define if the GNU dcgettext() function is already present or preinstalled.
*/
/* #undef HAVE_DCGETTEXT */
-/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+/* Define to 1 if you have the declaration of 'bsd_signal', and to 0 if you
+ don't. */
+#define HAVE_DECL_BSD_SIGNAL 0
+
+/* Define to 1 if you have the declaration of 'sys_siglist', and to 0 if you
+ don't. */
+#define HAVE_DECL_SYS_SIGLIST 0
+
+/* Define to 1 if you have the declaration of '_sys_siglist', and to 0 if you
+ don't. */
+#define HAVE_DECL__SYS_SIGLIST 0
+
+/* Define to 1 if you have the declaration of '__sys_siglist', and to 0 if you
+ don't. */
+#define HAVE_DECL___SYS_SIGLIST 0
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines 'DIR'.
*/
#define HAVE_DIRENT_H 1
@@ -90,58 +106,61 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
# define HAVE_DIRECT_H 1
#endif
-/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
-/* #undef HAVE_DOPRNT */
-
/* Use platform specific coding */
#define HAVE_DOS_PATHS 1
-/* Define to 1 if you have the `dup2' function. */
+/* Define to 1 if you have the 'dup2' function. */
#define HAVE_DUP2 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
-/* Define to 1 if you have the `fdopen' function. */
-/*#define HAVE_FDOPEN 1*/
+/* Define to 1 if you have the 'fdopen' function. */
+#ifdef __MINGW32__
+#define HAVE_FDOPEN 1
+#endif
-/* Define to 1 if you have the `fork' function. */
-/* #undef HAVE_FORK */
+/* Define to 1 if you have the 'fileno' function. */
+#define HAVE_FILENO 1
-/* Define to 1 if you have the `getcwd' function. */
+/* Define to 1 if you have the 'getcwd' function. */
#define HAVE_GETCWD 1
-/* Define to 1 if you have the `getgroups' function. */
+/* Define to 1 if you have the 'getgroups' function. */
/* #undef HAVE_GETGROUPS */
-/* Define to 1 if you have the `gethostbyname' function. */
+/* Define to 1 if you have the 'gethostbyname' function. */
/* #undef HAVE_GETHOSTBYNAME */
-/* Define to 1 if you have the `gethostname' function. */
+/* Define to 1 if you have the 'gethostname' function. */
/* #undef HAVE_GETHOSTNAME */
-/* Define to 1 if you have the `getloadavg' function. */
+/* Define to 1 if you have the 'getloadavg' function. */
/* #undef HAVE_GETLOADAVG */
-/* Define to 1 if you have the `getrlimit' function. */
+/* Define to 1 if you have the 'getrlimit' function. */
/* #undef HAVE_GETRLIMIT */
/* Define if the GNU gettext() function is already present or preinstalled. */
/* #undef HAVE_GETTEXT */
-/* Define if you have a standard gettimeofday function */
-/* #undef HAVE_GETTIMEOFDAY */
+/* Define to 1 if you have a standard gettimeofday function */
+#ifdef __MINGW32__
+#define HAVE_GETTIMEOFDAY 1
+#endif
/* Define if you have the iconv() function. */
/* #undef HAVE_ICONV */
/* Define to 1 if you have the <inttypes.h> header file. */
-/*#define HAVE_INTTYPES_H 1*/
+#ifdef __MINGW32__
+#define HAVE_INTTYPES_H 1
+#endif
-/* Define to 1 if you have the `dgc' library (-ldgc). */
+/* Define to 1 if you have the 'dgc' library (-ldgc). */
/* #undef HAVE_LIBDGC */
-/* Define to 1 if you have the `kstat' library (-lkstat). */
+/* Define to 1 if you have the 'kstat' library (-lkstat). */
/* #undef HAVE_LIBKSTAT */
/* Define to 1 if you have the <limits.h> header file. */
@@ -150,195 +169,203 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the <locale.h> header file. */
/*#define HAVE_LOCALE_H 1*/
+/* Define to 1 if you have the 'lstat' function. */
+/* #undef HAVE_LSTAT */
+
/* Define to 1 if you have the <mach/mach.h> header file. */
/* #undef HAVE_MACH_MACH_H */
-/* Define to 1 if you have the `memmove' function. */
-#define HAVE_MEMMOVE 1
-
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
-/* Define to 1 if you have the `mkstemp' function. */
+/* Define to 1 if you have the 'mkstemp' function. */
/* #undef HAVE_MKSTEMP */
-/* Define to 1 if you have the `mktemp' function. */
+/* Define to 1 if you have the 'mktemp' function. */
#define HAVE_MKTEMP 1
-/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+/* Define to 1 if you have the <ndir.h> header file, and it defines 'DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <nlist.h> header file. */
/* #undef HAVE_NLIST_H */
-/* Define to 1 if you have the `pipe' function. */
+/* Define to 1 if you have the 'pipe' function. */
/* #undef HAVE_PIPE */
-/* Define to 1 if you have the `pstat_getdynamic' function. */
+/* Define to 1 if you have the 'pstat_getdynamic' function. */
/* #undef HAVE_PSTAT_GETDYNAMIC */
-/* Define to 1 if you have the `realpath' function. */
+/* Define to 1 if you have the 'readlink' function. */
+/* #undef HAVE_READLINK */
+
+/* Define to 1 if you have the 'realpath' function. */
/* #undef HAVE_REALPATH */
-/* Define if <signal.h> defines the SA_RESTART constant. */
+/* Define to 1 if <signal.h> defines the SA_RESTART constant. */
/* #undef HAVE_SA_RESTART */
-/* Define to 1 if you have the `setegid' function. */
+/* Define to 1 if you have the 'setegid' function. */
/* #undef HAVE_SETEGID */
-/* Define to 1 if you have the `seteuid' function. */
+/* Define to 1 if you have the 'seteuid' function. */
/* #undef HAVE_SETEUID */
-/* Define to 1 if you have the `setlinebuf' function. */
+/* Define to 1 if you have the 'setlinebuf' function. */
/* #undef HAVE_SETLINEBUF */
-/* Define to 1 if you have the `setlocale' function. */
+/* Define to 1 if you have the 'setlocale' function. */
/*#define HAVE_SETLOCALE 1*/
-/* Define to 1 if you have the `setregid' function. */
+/* Define to 1 if you have the 'setregid' function. */
/* #undef HAVE_SETREGID */
-/* Define to 1 if you have the `setreuid' function. */
+/* Define to 1 if you have the 'setreuid' function. */
/* #undef HAVE_SETREUID */
-/* Define to 1 if you have the `setrlimit' function. */
+/* Define to 1 if you have the 'setrlimit' function. */
/* #undef HAVE_SETRLIMIT */
-/* Define to 1 if you have the `setvbuf' function. */
-/*#define HAVE_SETVBUF 1 */
+/* Define to 1 if you have the 'setvbuf' function. */
+#define HAVE_SETVBUF 1
-/* Define to 1 if you have the `sigaction' function. */
+/* Define to 1 if you have the 'sigaction' function. */
/* #undef HAVE_SIGACTION */
-/* Define to 1 if you have the `sigsetmask' function. */
+/* Define to 1 if you have the 'sigsetmask' function. */
/* #undef HAVE_SIGSETMASK */
-/* Define to 1 if you have the `socket' function. */
+/* Define to 1 if you have the 'socket' function. */
/* #undef HAVE_SOCKET */
-/* Define to 1 if you have the <stdarg.h> header file. */
-#define HAVE_STDARG_H 1
-
/* Define to 1 if you have the <stdint.h> header file. */
-/*#define HAVE_STDINT_H 1*/
+#ifdef __MINGW32__
+#define HAVE_STDINT_H 1
+#endif
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
-/* Define to 1 if you have the `strcasecmp' function. */
-/* #undef HAVE_STRCASECMP */
-
-/* Define to 1 if you have the `strcmpi' function. */
-/* #undef HAVE_STRCMPI */
-
-/* Define to 1 if you have the `stricmp' function. */
-#define HAVE_STRICMP 1
-
-/* Define to 1 if you have the `strncasecmp' function. */
-/* #undef HAVE_STRNCASECMP */
-
-/* Define to 1 if you have the `strncmpi' function. */
-/* #undef HAVE_STRNCMPI */
-
-/* Define to 1 if you have the `strnicmp' function. */
-#define HAVE_STRNICMP 1
+/* Define to 1 if you have the 'strcasecmp' function. */
+#ifdef __MINGW32__
+#define HAVE_STRCASECMP 1
+#endif
-/* Define to 1 if you have the `strchr' function. */
-#define HAVE_STRCHR 1
+/* Define to 1 if you have the 'strcmpi' function. */
+#define HAVE_STRCMPI 1
-/* Define to 1 if you have the `strcoll' function and it is properly defined.
+/* Define to 1 if you have the 'strcoll' function and it is properly defined.
*/
#define HAVE_STRCOLL 1
-/* Define to 1 if you have the `strdup' function. */
-/* #define HAVE_STRDUP 1*/
+/* Define to 1 if you have the 'strdup' function. */
+#define HAVE_STRDUP 1
-/* Define to 1 if you have the `strerror' function. */
+/* Define to 1 if you have the 'strerror' function. */
#define HAVE_STRERROR 1
+/* Define to 1 if you have the 'stricmp' function. */
+#define HAVE_STRICMP 1
+
/* Define to 1 if you have the <strings.h> header file. */
/* #define HAVE_STRINGS_H 1 */
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
-/* Define to 1 if you have the `strsignal' function. */
+/* Define to 1 if you have the 'strncasecmp' function. */
+#ifdef __MINGW32__
+#define HAVE_STRNCASECMP 1
+#endif
+
+/* Define to 1 if you have the 'strncmpi' function. */
+/* #undef HAVE_STRNCMPI */
+
+/* Define to 1 if you have the 'strndup' function. */
+/* #undef HAVE_STRNDUP */
+
+/* Define to 1 if you have the 'strnicmp' function. */
+#ifdef __MINGW32__
+#define HAVE_STRNICMP 1
+#endif
+
+/* Define to 1 if you have the 'strsignal' function. */
/* #undef HAVE_STRSIGNAL */
-/* Define to 1 if `n_un.n_name' is member of `struct nlist'. */
+/* Define to 1 if you have the `isatty' function. */
+#define HAVE_ISATTY 1
+
+/* Define to 1 if you have the `ttyname' function. */
+#define HAVE_TTYNAME 1
+char *ttyname (int);
+
+/* Define to 1 if 'n_un.n_name' is a member of 'struct nlist'. */
/* #undef HAVE_STRUCT_NLIST_N_UN_N_NAME */
-/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines 'DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
-/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines 'DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
-/* #define HAVE_SYS_PARAM_H 1 */
+#ifdef __MINGW32__
+#define HAVE_SYS_PARAM_H 1
+#endif
/* Define to 1 if you have the <sys/resource.h> header file. */
/* #undef HAVE_SYS_RESOURCE_H */
/* Define to 1 if you have the <sys/stat.h> header file. */
-/* #define HAVE_SYS_STAT_H 1 */
+#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/timeb.h> header file. */
-/*#define HAVE_SYS_TIMEB_H 1*/
+#define HAVE_SYS_TIMEB_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
-/*#define HAVE_SYS_TIME_H 1*/
+#ifdef __MINGW32__
+#define HAVE_SYS_TIME_H 1
+#endif
/* Define to 1 if you have the <sys/types.h> header file. */
-/*#define HAVE_SYS_TYPES_H 1*/
+#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/wait.h> header file. */
/* #undef HAVE_SYS_WAIT_H */
-/* Define this if you have the \`union wait' type in <sys/wait.h>. */
+/* Define to 1 if you have the \'union wait' type in <sys/wait.h>. */
/* #undef HAVE_UNION_WAIT */
/* Define to 1 if you have the <unistd.h> header file. */
-/* #define HAVE_UNISTD_H 1*/
-
-/* Define to 1 if you have the <varargs.h> header file. */
-/* #undef HAVE_VARARGS_H */
-
-/* Define to 1 if you have the `vfork' function. */
-/* #undef HAVE_VFORK */
-
-/* Define to 1 if you have the <vfork.h> header file. */
-/* #undef HAVE_VFORK_H */
-
-/* Define to 1 if you have the `vprintf' function. */
-#define HAVE_VPRINTF 1
-
+#ifdef __MINGW32__
+#define HAVE_UNISTD_H 1
+#endif
-/* Define to 1 if you have the `wait3' function. */
+/* Define to 1 if you have the 'wait3' function. */
/* #undef HAVE_WAIT3 */
-/* Define to 1 if you have the `waitpid' function. */
+/* Define to 1 if you have the 'waitpid' function. */
/* #undef HAVE_WAITPID */
-/* Define to 1 if `fork' works. */
-/* #undef HAVE_WORKING_FORK */
-
-/* Define to 1 if `vfork' works. */
-/* #undef HAVE_WORKING_VFORK */
-
/* Build host information. */
#define MAKE_HOST "Windows32"
-/* Define this to enable job server support in GNU make. */
-/* #undef MAKE_JOBSERVER */
+/* Define to 1 to enable job server support in GNU make. */
+#define MAKE_JOBSERVER 1
+
+/* Define to 1 to enable 'load' support in GNU make. */
+#define MAKE_LOAD 1
+
+/* Define to 1 to enable symbolic link timestamp checking. */
+/* #undef MAKE_SYMLINKS */
-/* Define to 1 if your `struct nlist' has an `n_un' member. Obsolete, depend
- on `HAVE_STRUCT_NLIST_N_UN_N_NAME */
+/* Define to 1 if your 'struct nlist' has an 'n_un' member. Obsolete, depend
+ on 'HAVE_STRUCT_NLIST_N_UN_N_NAME */
/* #undef NLIST_NAME_UNION */
-/* Define if struct nlist.n_name is a pointer rather than an array. */
+/* Define to 1 if struct nlist.n_name is a pointer rather than an array. */
/* #undef NLIST_STRUCT */
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
@@ -347,10 +374,22 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Name of this package (needed by automake) */
#define PACKAGE "make"
-/* Define to 1 if the C compiler supports function prototypes. */
-#define PROTOTYPES 1
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "bug-make@gnu.org"
-/* Define as the return type of signal handlers (`int' or `void'). */
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "GNU make"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL "http://www.gnu.org/software/make/"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "4.1"
+
+/* Define to the character that separates directories in PATH. */
+#define PATH_SEPARATOR_CHAR ';'
+
+/* Define as the return type of signal handlers ('int' or 'void'). */
#define RETSIGTYPE void
/* Define to the name of the SCCS 'get' command. */
@@ -359,20 +398,20 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define this if the SCCS 'get' command understands the '-G<file>' option. */
/* #undef SCCS_GET_MINUS_G */
-/* Define to 1 if the `setvbuf' function takes the buffering type as its
+/* Define to 1 if the 'setvbuf' function takes the buffering type as its
second argument and the buffer pointer as the third, as on System V before
release 3. */
/* #undef SETVBUF_REVERSED */
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
- automatically deduced at run-time.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown */
+ automatically deduced at run time.
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown */
/* #undef STACK_DIRECTION */
-/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
+/* Define to 1 if the 'S_IS*' macros in <sys/stat.h> do not work properly. */
/* #undef STAT_MACROS_BROKEN */
/* Define to 1 if you have the ANSI C header files. */
@@ -385,7 +424,9 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* #undef SVR4 */
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-/* #define TIME_WITH_SYS_TIME 1 */
+#ifdef __MINGW32__
+#define TIME_WITH_SYS_TIME 1
+#endif
/* Define to 1 for Encore UMAX. */
/* #undef UMAX */
@@ -395,7 +436,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* #undef UMAX4_3 */
/* Version number of package */
-#define VERSION "3.82"
+#define VERSION "4.1"
/* Define if using the dmalloc debugging malloc package */
/* #undef WITH_DMALLOC */
@@ -420,21 +461,18 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
this defined. */
/* #undef _POSIX_1_SOURCE */
-/* Define to 1 if you need to in order for `stat' and other things to work. */
-#define _POSIX_SOURCE 1
-
-/* Define like PROTOTYPES; this can be used by system headers. */
-/*#define __PROTOTYPES 1*/
+/* Define to 1 if you need to in order for 'stat' and other things to work. */
+/* #undef _POSIX_SOURCE */
-/* Define to empty if `const' does not conform to ANSI C. */
+/* Define to empty if 'const' does not conform to ANSI C. */
/* #undef const */
#include <sys/types.h>
-/* Define to `int' if <sys/types.h> doesn't define. */
+/* Define to 'int' if <sys/types.h> doesn't define. */
#define gid_t int
-/* Define to `int' if <sys/types.h> does not define. */
+/* Define to 'int' if <sys/types.h> does not define. */
/* GCC 4.x reportedly defines pid_t. */
#ifndef _PID_T_
#ifdef _WIN64
@@ -444,45 +482,17 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#endif
#endif
-/* Define to `int' if <sys/types.h> doesn't define. */
+/* Define to 'int' if <sys/types.h> doesn't define. */
#define uid_t int
/* Define uintmax_t if not defined in <stdint.h> or <inttypes.h>. */
+#if !HAVE_STDINT_H && !HAVE_INTTYPES_H
#define uintmax_t unsigned long
-
-/* Define as `fork' if `vfork' does not work. */
-/*#define vfork fork*/
-
-/* Define to `unsigned long' or `unsigned long long'
- if <inttypes.h> doesn't define. */
-#define uintmax_t unsigned long
-
-/* Define if you support file names longer than 14 characters. */
-#define HAVE_LONG_FILE_NAMES 1
-
-/* Define if your struct stat has st_rdev. */
-#undef HAVE_ST_RDEV
-#define HAVE_ST_RDEV 1
-
-/* Define if you have the strftime function. */
-#undef HAVE_STRFTIME
-#define HAVE_STRFTIME 1
+#endif
/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
/* #undef HAVE_SYS_WAIT_H */
-/* Define if your struct tm has tm_zone. */
-/* #undef HAVE_TM_ZONE */
-
-/* Define if you don't have tm_zone but do have the external array
- tzname. */
-#undef HAVE_TZNAME
-#define HAVE_TZNAME 1
-
-/* Define if utime(file, NULL) sets file's timestamp to the present. */
-#undef HAVE_UTIME_NULL
-#define HAVE_UTIME_NULL 1
-
/* Define to the installation directory for locales. */
#define LOCALEDIR ""
diff --git a/config.h.W32.template b/config.h.W32.template
deleted file mode 100644
index 03a4316d..00000000
--- a/config.h.W32.template
+++ /dev/null
@@ -1,522 +0,0 @@
-/* config.h.W32 -- hand-massaged config.h file for Windows builds -*-C-*-
-
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009, 2010 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 <http://www.gnu.org/licenses/>. */
-
-/* Suppress some Visual C++ warnings.
- Maybe after the code cleanup for ISO C we can remove some/all of these. */
-#if _MSC_VER > 1000
-# pragma warning(disable:4100) /* unreferenced formal parameter */
-# pragma warning(disable:4102) /* unreferenced label */
-# pragma warning(disable:4127) /* conditional expression is constant */
-# pragma warning(disable:4131) /* uses old-style declarator */
-# pragma warning(disable:4702) /* unreachable code */
-# define _CRT_SECURE_NO_WARNINGS /* function or variable may be unsafe */
-# define _CRT_NONSTDC_NO_WARNINGS /* functions w/o a leading underscore */
-#endif
-
-/* Define to 1 if the `closedir' function returns void instead of `int'. */
-/* #undef CLOSEDIR_VOID */
-
-/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
- systems. This function is required for `alloca.c' support on those systems.
- */
-/* #undef CRAY_STACKSEG_END */
-
-/* Define to 1 if using `alloca.c'. */
-/* #undef C_ALLOCA */
-
-/* Define to 1 if using `getloadavg.c'. */
-/*#define C_GETLOADAVG 1*/
-
-/* Define to 1 for DGUX with <sys/dg_sys_info.h>. */
-/* #undef DGUX */
-
-/* Define to 1 if translation of program messages to the user's native
- language is requested. */
-/* #undef ENABLE_NLS */
-
-/* Use high resolution file timestamps if nonzero. */
-#define FILE_TIMESTAMP_HI_RES 0
-
-/* Define to 1 if the `getloadavg' function needs to be run setuid or setgid.
- */
-/* #undef GETLOADAVG_PRIVILEGED */
-
-/* Define to 1 if you have `alloca', as a function or macro. */
-#define HAVE_ALLOCA 1
-
-/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
- */
-/* #undef HAVE_ALLOCA_H */
-
-/* Define if your compiler conforms to the ANSI C standard. */
-#define HAVE_ANSI_COMPILER 1
-
-/* Define to 1 if you have the `bsd_signal' function. */
-/* #undef HAVE_BSD_SIGNAL */
-
-/* Use case insensitive file names */
-/* #undef HAVE_CASE_INSENSITIVE_FS */
-
-/* Define if you have the clock_gettime function. */
-/* #undef HAVE_CLOCK_GETTIME */
-
-/* Define if the GNU dcgettext() function is already present or preinstalled.
- */
-/* #undef HAVE_DCGETTEXT */
-
-/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
- */
-#define HAVE_DIRENT_H 1
-
-/* Define to 1 if you have the <direct.h> header file, and it defines getcwd()
- and chdir().
- */
-#if (defined(_MSC_VER) || defined(__BORLANDC__)) && !defined(__INTERIX)
-# define HAVE_DIRECT_H 1
-#endif
-
-/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
-/* #undef HAVE_DOPRNT */
-
-/* Use platform specific coding */
-#define HAVE_DOS_PATHS 1
-
-/* Define to 1 if you have the `dup2' function. */
-#define HAVE_DUP2 1
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H 1
-
-/* Define to 1 if you have the `fdopen' function. */
-/*#define HAVE_FDOPEN 1*/
-
-/* Define to 1 if you have the `fork' function. */
-/* #undef HAVE_FORK */
-
-/* Define to 1 if you have the `getcwd' function. */
-#define HAVE_GETCWD 1
-
-/* Define to 1 if you have the `getgroups' function. */
-/* #undef HAVE_GETGROUPS */
-
-/* Define to 1 if you have the `gethostbyname' function. */
-/* #undef HAVE_GETHOSTBYNAME */
-
-/* Define to 1 if you have the `gethostname' function. */
-/* #undef HAVE_GETHOSTNAME */
-
-/* Define to 1 if you have the `getloadavg' function. */
-/* #undef HAVE_GETLOADAVG */
-
-/* Define to 1 if you have the `getrlimit' function. */
-/* #undef HAVE_GETRLIMIT */
-
-/* Define if the GNU gettext() function is already present or preinstalled. */
-/* #undef HAVE_GETTEXT */
-
-/* Define if you have a standard gettimeofday function */
-/* #undef HAVE_GETTIMEOFDAY */
-
-/* Define if you have the iconv() function. */
-/* #undef HAVE_ICONV */
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-/*#define HAVE_INTTYPES_H 1*/
-
-/* Define to 1 if you have the `dgc' library (-ldgc). */
-/* #undef HAVE_LIBDGC */
-
-/* Define to 1 if you have the `kstat' library (-lkstat). */
-/* #undef HAVE_LIBKSTAT */
-
-/* Define to 1 if you have the <limits.h> header file. */
-#define HAVE_LIMITS_H 1
-
-/* Define to 1 if you have the <locale.h> header file. */
-/*#define HAVE_LOCALE_H 1*/
-
-/* Define to 1 if you have the <mach/mach.h> header file. */
-/* #undef HAVE_MACH_MACH_H */
-
-/* Define to 1 if you have the `memmove' function. */
-#define HAVE_MEMMOVE 1
-
-/* Define to 1 if you have the <memory.h> header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the `mkstemp' function. */
-/* #undef HAVE_MKSTEMP */
-
-/* Define to 1 if you have the `mktemp' function. */
-#define HAVE_MKTEMP 1
-
-/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
-/* #undef HAVE_NDIR_H */
-
-/* Define to 1 if you have the <nlist.h> header file. */
-/* #undef HAVE_NLIST_H */
-
-/* Define to 1 if you have the `pipe' function. */
-/* #undef HAVE_PIPE */
-
-/* Define to 1 if you have the `pstat_getdynamic' function. */
-/* #undef HAVE_PSTAT_GETDYNAMIC */
-
-/* Define to 1 if you have the `realpath' function. */
-/* #undef HAVE_REALPATH */
-
-/* Define if <signal.h> defines the SA_RESTART constant. */
-/* #undef HAVE_SA_RESTART */
-
-/* Define to 1 if you have the `setegid' function. */
-/* #undef HAVE_SETEGID */
-
-/* Define to 1 if you have the `seteuid' function. */
-/* #undef HAVE_SETEUID */
-
-/* Define to 1 if you have the `setlinebuf' function. */
-/* #undef HAVE_SETLINEBUF */
-
-/* Define to 1 if you have the `setlocale' function. */
-/*#define HAVE_SETLOCALE 1*/
-
-/* Define to 1 if you have the `setregid' function. */
-/* #undef HAVE_SETREGID */
-
-/* Define to 1 if you have the `setreuid' function. */
-/* #undef HAVE_SETREUID */
-
-/* Define to 1 if you have the `setrlimit' function. */
-/* #undef HAVE_SETRLIMIT */
-
-/* Define to 1 if you have the `setvbuf' function. */
-/*#define HAVE_SETVBUF 1 */
-
-/* Define to 1 if you have the `sigaction' function. */
-/* #undef HAVE_SIGACTION */
-
-/* Define to 1 if you have the `sigsetmask' function. */
-/* #undef HAVE_SIGSETMASK */
-
-/* Define to 1 if you have the `socket' function. */
-/* #undef HAVE_SOCKET */
-
-/* Define to 1 if you have the <stdarg.h> header file. */
-#define HAVE_STDARG_H 1
-
-/* Define to 1 if you have the <stdint.h> header file. */
-/*#define HAVE_STDINT_H 1*/
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the `strcasecmp' function. */
-/* #undef HAVE_STRCASECMP */
-
-/* Define to 1 if you have the `strcmpi' function. */
-/* #undef HAVE_STRCMPI */
-
-/* Define to 1 if you have the `stricmp' function. */
-#define HAVE_STRICMP 1
-
-/* Define to 1 if you have the `strncasecmp' function. */
-/* #undef HAVE_STRNCASECMP */
-
-/* Define to 1 if you have the `strncmpi' function. */
-/* #undef HAVE_STRNCMPI */
-
-/* Define to 1 if you have the `strnicmp' function. */
-#define HAVE_STRNICMP 1
-
-/* Define to 1 if you have the `strchr' function. */
-#define HAVE_STRCHR 1
-
-/* Define to 1 if you have the `strcoll' function and it is properly defined.
- */
-#define HAVE_STRCOLL 1
-
-/* Define to 1 if you have the `strdup' function. */
-/* #define HAVE_STRDUP 1*/
-
-/* Define to 1 if you have the `strerror' function. */
-#define HAVE_STRERROR 1
-
-/* Define to 1 if you have the <strings.h> header file. */
-/* #define HAVE_STRINGS_H 1 */
-
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the `strsignal' function. */
-/* #undef HAVE_STRSIGNAL */
-
-/* Define to 1 if `n_un.n_name' is member of `struct nlist'. */
-/* #undef HAVE_STRUCT_NLIST_N_UN_N_NAME */
-
-/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
- */
-/* #undef HAVE_SYS_DIR_H */
-
-/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
- */
-/* #undef HAVE_SYS_NDIR_H */
-
-/* Define to 1 if you have the <sys/param.h> header file. */
-/* #define HAVE_SYS_PARAM_H 1 */
-
-/* Define to 1 if you have the <sys/resource.h> header file. */
-/* #undef HAVE_SYS_RESOURCE_H */
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-/* #define HAVE_SYS_STAT_H 1 */
-
-/* Define to 1 if you have the <sys/timeb.h> header file. */
-/*#define HAVE_SYS_TIMEB_H 1*/
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-/*#define HAVE_SYS_TIME_H 1*/
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-/*#define HAVE_SYS_TYPES_H 1*/
-
-/* Define to 1 if you have the <sys/wait.h> header file. */
-/* #undef HAVE_SYS_WAIT_H */
-
-/* Define this if you have the \`union wait' type in <sys/wait.h>. */
-/* #undef HAVE_UNION_WAIT */
-
-/* Define to 1 if you have the <unistd.h> header file. */
-/* #define HAVE_UNISTD_H 1*/
-
-/* Define to 1 if you have the <varargs.h> header file. */
-/* #undef HAVE_VARARGS_H */
-
-/* Define to 1 if you have the `vfork' function. */
-/* #undef HAVE_VFORK */
-
-/* Define to 1 if you have the <vfork.h> header file. */
-/* #undef HAVE_VFORK_H */
-
-/* Define to 1 if you have the `vprintf' function. */
-#define HAVE_VPRINTF 1
-
-
-/* Define to 1 if you have the `wait3' function. */
-/* #undef HAVE_WAIT3 */
-
-/* Define to 1 if you have the `waitpid' function. */
-/* #undef HAVE_WAITPID */
-
-/* Define to 1 if `fork' works. */
-/* #undef HAVE_WORKING_FORK */
-
-/* Define to 1 if `vfork' works. */
-/* #undef HAVE_WORKING_VFORK */
-
-/* Build host information. */
-#define MAKE_HOST "Windows32"
-
-/* Define this to enable job server support in GNU make. */
-#define MAKE_JOBSERVER 1
-
-/* Define to 1 if your `struct nlist' has an `n_un' member. Obsolete, depend
- on `HAVE_STRUCT_NLIST_N_UN_N_NAME */
-/* #undef NLIST_NAME_UNION */
-
-/* Define if struct nlist.n_name is a pointer rather than an array. */
-/* #undef NLIST_STRUCT */
-
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-/* #undef NO_MINUS_C_MINUS_O */
-
-/* Name of this package (needed by automake) */
-#define PACKAGE "%PACKAGE%"
-
-/* Define to 1 if the C compiler supports function prototypes. */
-#define PROTOTYPES 1
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-#define RETSIGTYPE void
-
-/* Define to the name of the SCCS 'get' command. */
-#define SCCS_GET "echo no sccs get"
-
-/* Define this if the SCCS 'get' command understands the '-G<file>' option. */
-/* #undef SCCS_GET_MINUS_G */
-
-/* Define to 1 if the `setvbuf' function takes the buffering type as its
- second argument and the buffer pointer as the third, as on System V before
- release 3. */
-/* #undef SETVBUF_REVERSED */
-
-/* If using the C implementation of alloca, define if you know the
- direction of stack growth for your system; otherwise it will be
- automatically deduced at run-time.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown */
-/* #undef STACK_DIRECTION */
-
-/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
-/* #undef STAT_MACROS_BROKEN */
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define if struct stat contains a nanoseconds field */
-/* #undef ST_MTIM_NSEC */
-
-/* Define to 1 on System V Release 4. */
-/* #undef SVR4 */
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-/* #define TIME_WITH_SYS_TIME 1 */
-
-/* Define to 1 for Encore UMAX. */
-/* #undef UMAX */
-
-/* Define to 1 for Encore UMAX 4.3 that has <inq_status/cpustats.h> instead of
- <sys/cpustats.h>. */
-/* #undef UMAX4_3 */
-
-/* Version number of package */
-#define VERSION "%VERSION%"
-
-/* Define if using the dmalloc debugging malloc package */
-/* #undef WITH_DMALLOC */
-
-/* Define to 1 if on AIX 3.
- System headers sometimes define this.
- We just want to avoid a redefinition error message. */
-#ifndef _ALL_SOURCE
-/* # undef _ALL_SOURCE */
-#endif
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-/* #undef _FILE_OFFSET_BITS */
-
-/* Define for large files, on AIX-style hosts. */
-/* #undef _LARGE_FILES */
-
-/* Define to 1 if on MINIX. */
-/* #undef _MINIX */
-
-/* Define to 2 if the system does not provide POSIX.1 features except with
- this defined. */
-/* #undef _POSIX_1_SOURCE */
-
-/* Define to 1 if you need to in order for `stat' and other things to work. */
-#define _POSIX_SOURCE 1
-
-/* Define like PROTOTYPES; this can be used by system headers. */
-/*#define __PROTOTYPES 1*/
-
-/* Define to empty if `const' does not conform to ANSI C. */
-/* #undef const */
-
-#include <sys/types.h>
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-#define gid_t int
-
-/* Define to `int' if <sys/types.h> does not define. */
-/* GCC 4.x reportedly defines pid_t. */
-#ifndef _PID_T_
-#ifdef _WIN64
-#define pid_t __int64
-#else
-#define pid_t int
-#endif
-#endif
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-#define uid_t int
-
-/* Define uintmax_t if not defined in <stdint.h> or <inttypes.h>. */
-#define uintmax_t unsigned long
-
-/* Define as `fork' if `vfork' does not work. */
-/*#define vfork fork*/
-
-/* Define to `unsigned long' or `unsigned long long'
- if <inttypes.h> doesn't define. */
-#define uintmax_t unsigned long
-
-/* Define if you support file names longer than 14 characters. */
-#define HAVE_LONG_FILE_NAMES 1
-
-/* Define if your struct stat has st_rdev. */
-#undef HAVE_ST_RDEV
-#define HAVE_ST_RDEV 1
-
-/* Define if you have the strftime function. */
-#undef HAVE_STRFTIME
-#define HAVE_STRFTIME 1
-
-/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
-/* #undef HAVE_SYS_WAIT_H */
-
-/* Define if your struct tm has tm_zone. */
-/* #undef HAVE_TM_ZONE */
-
-/* Define if you don't have tm_zone but do have the external array
- tzname. */
-#undef HAVE_TZNAME
-#define HAVE_TZNAME 1
-
-/* Define if utime(file, NULL) sets file's timestamp to the present. */
-#undef HAVE_UTIME_NULL
-#define HAVE_UTIME_NULL 1
-
-/* Define to the installation directory for locales. */
-#define LOCALEDIR ""
-
-/*
- * Refer to README.W32 for info on the following settings
- */
-
-
-/*
- * If you have a shell that does not grok 'sh -c quoted-command-line'
- * correctly, you need this setting. Please see below for specific
- * shell support.
- */
-/*#define BATCH_MODE_ONLY_SHELL 1 */
-
-/*
- * Define if you have the Cygnus "Cygwin" GNU Windows32 tool set.
- * Do NOT define BATCH_MODE_ONLY_SHELL if you define HAVE_CYGWIN_SHELL
- */
-/*#define HAVE_CYGWIN_SHELL 1 */
-
-/*
- * Define if you have the MKS tool set or shell. Do NOT define
- * BATCH_MODE_ONLY_SHELL if you define HAVE_MKS_SHELL
- */
-/*#define HAVE_MKS_SHELL 1 */
-
-/*
- * Enforce the mutual exclusivity restriction.
- */
-#ifdef HAVE_MKS_SHELL
-#undef BATCH_MODE_ONLY_SHELL
-#endif
-
-#ifdef HAVE_CYGWIN_SHELL
-#undef BATCH_MODE_ONLY_SHELL
-#endif
diff --git a/config.h.in b/config.h.in
index da28f93d..664fbc2a 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1,4 +1,4 @@
-/* config.h.in. Generated from configure.in by autoheader. */
+/* config.h.in. Generated from configure.ac by autoheader. */
/* Define to 1 if the `closedir' function returns void instead of `int'. */
#undef CLOSEDIR_VOID
@@ -35,15 +35,20 @@
*/
#undef HAVE_ALLOCA_H
-/* Define to 1 if your compiler conforms to the ANSI C standard. */
-#undef HAVE_ANSI_COMPILER
-
/* Define to 1 if you have the `atexit' function. */
#undef HAVE_ATEXIT
/* Use case insensitive file names */
#undef HAVE_CASE_INSENSITIVE_FS
+/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
+ CoreFoundation framework. */
+#undef HAVE_CFLOCALECOPYCURRENT
+
+/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
+ the CoreFoundation framework. */
+#undef HAVE_CFPREFERENCESCOPYAPPVALUE
+
/* Define to 1 if you have the clock_gettime function. */
#undef HAVE_CLOCK_GETTIME
@@ -55,6 +60,18 @@
don't. */
#undef HAVE_DECL_BSD_SIGNAL
+/* Define to 1 if you have the declaration of `dlerror', and to 0 if you
+ don't. */
+#undef HAVE_DECL_DLERROR
+
+/* Define to 1 if you have the declaration of `dlopen', and to 0 if you don't.
+ */
+#undef HAVE_DECL_DLOPEN
+
+/* Define to 1 if you have the declaration of `dlsym', and to 0 if you don't.
+ */
+#undef HAVE_DECL_DLSYM
+
/* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you
don't. */
#undef HAVE_DECL_SYS_SIGLIST
@@ -71,12 +88,12 @@
*/
#undef HAVE_DIRENT_H
-/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
-#undef HAVE_DOPRNT
-
/* Use platform specific coding */
#undef HAVE_DOS_PATHS
+/* Define to 1 if you have the `dup' function. */
+#undef HAVE_DUP
+
/* Define to 1 if you have the `dup2' function. */
#undef HAVE_DUP2
@@ -89,9 +106,6 @@
/* Define to 1 if you have the `fileno' function. */
#undef HAVE_FILENO
-/* Define to 1 if you have the `fork' function. */
-#undef HAVE_FORK
-
/* Define to 1 if you have the `getcwd' function. */
#undef HAVE_GETCWD
@@ -116,12 +130,18 @@
/* Define to 1 if you have a standard gettimeofday function */
#undef HAVE_GETTIMEOFDAY
-/* Define if you have the iconv() function. */
+/* Embed GNU Guile support */
+#undef HAVE_GUILE
+
+/* Define if you have the iconv() function and it works. */
#undef HAVE_ICONV
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
+/* Define to 1 if you have the `isatty' function. */
+#undef HAVE_ISATTY
+
/* Define to 1 if you have the `dgc' library (-ldgc). */
#undef HAVE_LIBDGC
@@ -203,9 +223,6 @@
/* Define to 1 if you have the `socket' function. */
#undef HAVE_SOCKET
-/* Define to 1 if you have the <stdarg.h> header file. */
-#undef HAVE_STDARG_H
-
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
@@ -284,42 +301,30 @@
/* Define to 1 if you have the <sys/wait.h> header file. */
#undef HAVE_SYS_WAIT_H
-/* Define to 1 if you have the \`union wait' type in <sys/wait.h>. */
+/* Define to 1 if you have the `ttyname' function. */
+#undef HAVE_TTYNAME
+
+/* Define to 1 if you have the 'union wait' type in <sys/wait.h>. */
#undef HAVE_UNION_WAIT
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
-/* Define to 1 if you have the <varargs.h> header file. */
-#undef HAVE_VARARGS_H
-
-/* Define to 1 if you have the `vfork' function. */
-#undef HAVE_VFORK
-
-/* Define to 1 if you have the <vfork.h> header file. */
-#undef HAVE_VFORK_H
-
-/* Define to 1 if you have the `vprintf' function. */
-#undef HAVE_VPRINTF
-
/* Define to 1 if you have the `wait3' function. */
#undef HAVE_WAIT3
/* Define to 1 if you have the `waitpid' function. */
#undef HAVE_WAITPID
-/* Define to 1 if `fork' works. */
-#undef HAVE_WORKING_FORK
-
-/* Define to 1 if `vfork' works. */
-#undef HAVE_WORKING_VFORK
-
/* Build host information. */
#undef MAKE_HOST
/* Define to 1 to enable job server support in GNU make. */
#undef MAKE_JOBSERVER
+/* Define to 1 to enable 'load' support in GNU make. */
+#undef MAKE_LOAD
+
/* Define to 1 to enable symbolic link timestamp checking. */
#undef MAKE_SYMLINKS
@@ -330,9 +335,6 @@
/* Define to 1 if struct nlist.n_name is a pointer rather than an array. */
#undef NLIST_STRUCT
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
/* Name of package */
#undef PACKAGE
@@ -427,6 +429,11 @@
/* Define if using the dmalloc debugging malloc package */
#undef WITH_DMALLOC
+/* Enable large inode numbers on Mac OS X 10.5. */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
/* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS
@@ -452,11 +459,11 @@
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
+
/* Define to `int' if <sys/types.h> doesn't define. */
#undef uid_t
/* Define uintmax_t if not defined in <stdint.h> or <inttypes.h>. */
#undef uintmax_t
-
-/* Define as `fork' if `vfork' does not work. */
-#undef vfork
diff --git a/config.h.in~ b/config.h.in~
deleted file mode 100644
index d13f0275..00000000
--- a/config.h.in~
+++ /dev/null
@@ -1,473 +0,0 @@
-/* config.h.in. Generated from configure.in by autoheader. */
-
-/* Define to 1 if the `closedir' function returns void instead of `int'. */
-#undef CLOSEDIR_VOID
-
-/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
- systems. This function is required for `alloca.c' support on those systems.
- */
-#undef CRAY_STACKSEG_END
-
-/* Define to 1 if using `alloca.c'. */
-#undef C_ALLOCA
-
-/* Define to 1 if using `getloadavg.c'. */
-#undef C_GETLOADAVG
-
-/* Define to 1 for DGUX with <sys/dg_sys_info.h>. */
-#undef DGUX
-
-/* Define to 1 if translation of program messages to the user's native
- language is requested. */
-#undef ENABLE_NLS
-
-/* Use high resolution file timestamps if nonzero. */
-#undef FILE_TIMESTAMP_HI_RES
-
-/* Define to 1 if the `getloadavg' function needs to be run setuid or setgid.
- */
-#undef GETLOADAVG_PRIVILEGED
-
-/* Define to 1 if you have `alloca', as a function or macro. */
-#undef HAVE_ALLOCA
-
-/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
- */
-#undef HAVE_ALLOCA_H
-
-/* Define to 1 if your compiler conforms to the ANSI C standard. */
-#undef HAVE_ANSI_COMPILER
-
-/* Define to 1 if you have the `atexit' function. */
-#undef HAVE_ATEXIT
-
-/* Use case insensitive file names */
-#undef HAVE_CASE_INSENSITIVE_FS
-
-/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
- CoreFoundation framework. */
-#undef HAVE_CFLOCALECOPYCURRENT
-
-/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
- the CoreFoundation framework. */
-#undef HAVE_CFPREFERENCESCOPYAPPVALUE
-
-/* Define to 1 if you have the clock_gettime function. */
-#undef HAVE_CLOCK_GETTIME
-
-/* Define if the GNU dcgettext() function is already present or preinstalled.
- */
-#undef HAVE_DCGETTEXT
-
-/* Define to 1 if you have the declaration of `bsd_signal', and to 0 if you
- don't. */
-#undef HAVE_DECL_BSD_SIGNAL
-
-/* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you
- don't. */
-#undef HAVE_DECL_SYS_SIGLIST
-
-/* Define to 1 if you have the declaration of `_sys_siglist', and to 0 if you
- don't. */
-#undef HAVE_DECL__SYS_SIGLIST
-
-/* Define to 1 if you have the declaration of `__sys_siglist', and to 0 if you
- don't. */
-#undef HAVE_DECL___SYS_SIGLIST
-
-/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
- */
-#undef HAVE_DIRENT_H
-
-/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
-#undef HAVE_DOPRNT
-
-/* Use platform specific coding */
-#undef HAVE_DOS_PATHS
-
-/* Define to 1 if you have the `dup2' function. */
-#undef HAVE_DUP2
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#undef HAVE_FCNTL_H
-
-/* Define to 1 if you have the `fdopen' function. */
-#undef HAVE_FDOPEN
-
-/* Define to 1 if you have the `fileno' function. */
-#undef HAVE_FILENO
-
-/* Define to 1 if you have the `fork' function. */
-#undef HAVE_FORK
-
-/* Define to 1 if you have the `getcwd' function. */
-#undef HAVE_GETCWD
-
-/* Define to 1 if you have the `getgroups' function. */
-#undef HAVE_GETGROUPS
-
-/* Define to 1 if you have the `gethostbyname' function. */
-#undef HAVE_GETHOSTBYNAME
-
-/* Define to 1 if you have the `gethostname' function. */
-#undef HAVE_GETHOSTNAME
-
-/* Define to 1 if you have the `getloadavg' function. */
-#undef HAVE_GETLOADAVG
-
-/* Define to 1 if you have the `getrlimit' function. */
-#undef HAVE_GETRLIMIT
-
-/* Define if the GNU gettext() function is already present or preinstalled. */
-#undef HAVE_GETTEXT
-
-/* Define to 1 if you have a standard gettimeofday function */
-#undef HAVE_GETTIMEOFDAY
-
-/* Define if you have the iconv() function and it works. */
-#undef HAVE_ICONV
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the `dgc' library (-ldgc). */
-#undef HAVE_LIBDGC
-
-/* Define to 1 if you have the `kstat' library (-lkstat). */
-#undef HAVE_LIBKSTAT
-
-/* Define to 1 if you have the <limits.h> header file. */
-#undef HAVE_LIMITS_H
-
-/* Define to 1 if you have the <locale.h> header file. */
-#undef HAVE_LOCALE_H
-
-/* Define to 1 if you have the `lstat' function. */
-#undef HAVE_LSTAT
-
-/* Define to 1 if you have the <mach/mach.h> header file. */
-#undef HAVE_MACH_MACH_H
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the `mkstemp' function. */
-#undef HAVE_MKSTEMP
-
-/* Define to 1 if you have the `mktemp' function. */
-#undef HAVE_MKTEMP
-
-/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
-#undef HAVE_NDIR_H
-
-/* Define to 1 if you have the <nlist.h> header file. */
-#undef HAVE_NLIST_H
-
-/* Define to 1 if you have the `pipe' function. */
-#undef HAVE_PIPE
-
-/* Define to 1 if you have the `pstat_getdynamic' function. */
-#undef HAVE_PSTAT_GETDYNAMIC
-
-/* Define to 1 if you have the `readlink' function. */
-#undef HAVE_READLINK
-
-/* Define to 1 if you have the `realpath' function. */
-#undef HAVE_REALPATH
-
-/* Define to 1 if <signal.h> defines the SA_RESTART constant. */
-#undef HAVE_SA_RESTART
-
-/* Define to 1 if you have the `setegid' function. */
-#undef HAVE_SETEGID
-
-/* Define to 1 if you have the `seteuid' function. */
-#undef HAVE_SETEUID
-
-/* Define to 1 if you have the `setlinebuf' function. */
-#undef HAVE_SETLINEBUF
-
-/* Define to 1 if you have the `setlocale' function. */
-#undef HAVE_SETLOCALE
-
-/* Define to 1 if you have the `setregid' function. */
-#undef HAVE_SETREGID
-
-/* Define to 1 if you have the `setreuid' function. */
-#undef HAVE_SETREUID
-
-/* Define to 1 if you have the `setrlimit' function. */
-#undef HAVE_SETRLIMIT
-
-/* Define to 1 if you have the `setvbuf' function. */
-#undef HAVE_SETVBUF
-
-/* Define to 1 if you have the `sigaction' function. */
-#undef HAVE_SIGACTION
-
-/* Define to 1 if you have the `sigsetmask' function. */
-#undef HAVE_SIGSETMASK
-
-/* Define to 1 if you have the `socket' function. */
-#undef HAVE_SOCKET
-
-/* Define to 1 if you have the <stdarg.h> header file. */
-#undef HAVE_STDARG_H
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the `strcasecmp' function. */
-#undef HAVE_STRCASECMP
-
-/* Define to 1 if you have the `strcmpi' function. */
-#undef HAVE_STRCMPI
-
-/* Define to 1 if you have the `strcoll' function and it is properly defined.
- */
-#undef HAVE_STRCOLL
-
-/* Define to 1 if you have the `strdup' function. */
-#undef HAVE_STRDUP
-
-/* Define to 1 if you have the `strerror' function. */
-#undef HAVE_STRERROR
-
-/* Define to 1 if you have the `stricmp' function. */
-#undef HAVE_STRICMP
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the `strncasecmp' function. */
-#undef HAVE_STRNCASECMP
-
-/* Define to 1 if you have the `strncmpi' function. */
-#undef HAVE_STRNCMPI
-
-/* Define to 1 if you have the `strndup' function. */
-#undef HAVE_STRNDUP
-
-/* Define to 1 if you have the `strnicmp' function. */
-#undef HAVE_STRNICMP
-
-/* Define to 1 if you have the `strsignal' function. */
-#undef HAVE_STRSIGNAL
-
-/* Define to 1 if `n_un.n_name' is a member of `struct nlist'. */
-#undef HAVE_STRUCT_NLIST_N_UN_N_NAME
-
-/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
- */
-#undef HAVE_SYS_DIR_H
-
-/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
- */
-#undef HAVE_SYS_NDIR_H
-
-/* Define to 1 if you have the <sys/param.h> header file. */
-#undef HAVE_SYS_PARAM_H
-
-/* Define to 1 if you have the <sys/resource.h> header file. */
-#undef HAVE_SYS_RESOURCE_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/timeb.h> header file. */
-#undef HAVE_SYS_TIMEB_H
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <sys/wait.h> header file. */
-#undef HAVE_SYS_WAIT_H
-
-/* Define to 1 if you have the \`union wait' type in <sys/wait.h>. */
-#undef HAVE_UNION_WAIT
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to 1 if you have the <varargs.h> header file. */
-#undef HAVE_VARARGS_H
-
-/* Define to 1 if you have the `vfork' function. */
-#undef HAVE_VFORK
-
-/* Define to 1 if you have the <vfork.h> header file. */
-#undef HAVE_VFORK_H
-
-/* Define to 1 if you have the `vprintf' function. */
-#undef HAVE_VPRINTF
-
-/* Define to 1 if you have the `wait3' function. */
-#undef HAVE_WAIT3
-
-/* Define to 1 if you have the `waitpid' function. */
-#undef HAVE_WAITPID
-
-/* Define to 1 if `fork' works. */
-#undef HAVE_WORKING_FORK
-
-/* Define to 1 if `vfork' works. */
-#undef HAVE_WORKING_VFORK
-
-/* Build host information. */
-#undef MAKE_HOST
-
-/* Define to 1 to enable job server support in GNU make. */
-#undef MAKE_JOBSERVER
-
-/* Define to 1 to enable symbolic link timestamp checking. */
-#undef MAKE_SYMLINKS
-
-/* Define to 1 if your `struct nlist' has an `n_un' member. Obsolete, depend
- on `HAVE_STRUCT_NLIST_N_UN_N_NAME */
-#undef NLIST_NAME_UNION
-
-/* Define to 1 if struct nlist.n_name is a pointer rather than an array. */
-#undef NLIST_STRUCT
-
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Define to the character that separates directories in PATH. */
-#undef PATH_SEPARATOR_CHAR
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-#undef RETSIGTYPE
-
-/* Define to the name of the SCCS 'get' command. */
-#undef SCCS_GET
-
-/* Define to 1 if the SCCS 'get' command understands the '-G<file>' option. */
-#undef SCCS_GET_MINUS_G
-
-/* If using the C implementation of alloca, define if you know the
- direction of stack growth for your system; otherwise it will be
- automatically deduced at runtime.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown */
-#undef STACK_DIRECTION
-
-/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
-#undef STAT_MACROS_BROKEN
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define if struct stat contains a nanoseconds field */
-#undef ST_MTIM_NSEC
-
-/* Define to 1 on System V Release 4. */
-#undef SVR4
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#undef TIME_WITH_SYS_TIME
-
-/* Define to 1 for Encore UMAX. */
-#undef UMAX
-
-/* Define to 1 for Encore UMAX 4.3 that has <inq_status/cpustats.h> instead of
- <sys/cpustats.h>. */
-#undef UMAX4_3
-
-/* Enable extensions on AIX 3, Interix. */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-/* Enable GNU extensions on systems that have them. */
-#ifndef _GNU_SOURCE
-# undef _GNU_SOURCE
-#endif
-/* Enable threading extensions on Solaris. */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# undef _POSIX_PTHREAD_SEMANTICS
-#endif
-/* Enable extensions on HP NonStop. */
-#ifndef _TANDEM_SOURCE
-# undef _TANDEM_SOURCE
-#endif
-/* Enable general extensions on Solaris. */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
-#endif
-
-
-/* Version number of package */
-#undef VERSION
-
-/* Use platform specific coding */
-#undef WINDOWS32
-
-/* Define if using the dmalloc debugging malloc package */
-#undef WITH_DMALLOC
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#undef _FILE_OFFSET_BITS
-
-/* Define for large files, on AIX-style hosts. */
-#undef _LARGE_FILES
-
-/* Define to 1 if on MINIX. */
-#undef _MINIX
-
-/* Define to 2 if the system does not provide POSIX.1 features except with
- this defined. */
-#undef _POSIX_1_SOURCE
-
-/* Define to 1 if you need to in order for `stat' and other things to work. */
-#undef _POSIX_SOURCE
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#undef const
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-#undef gid_t
-
-/* Define to `int' if <sys/types.h> does not define. */
-#undef pid_t
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-#undef size_t
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-#undef uid_t
-
-/* Define uintmax_t if not defined in <stdint.h> or <inttypes.h>. */
-#undef uintmax_t
-
-/* Define as `fork' if `vfork' does not work. */
-#undef vfork
diff --git a/config/.cvsignore b/config/.cvsignore
deleted file mode 100644
index b95b83b5..00000000
--- a/config/.cvsignore
+++ /dev/null
@@ -1,11 +0,0 @@
-*.m4
-config.*
-mkinstalldirs
-texinfo.tex
-mdate-sh
-compile
-depcomp
-install-sh
-missing
-
-Makefile Makefile.in
diff --git a/config/ChangeLog b/config/ChangeLog
deleted file mode 100644
index aed46943..00000000
--- a/config/ChangeLog
+++ /dev/null
@@ -1,45 +0,0 @@
-2006-03-09 Paul Smith <psmith@gnu.org>
-
- * dospaths.m4: Add MSYS to the list of targets allowing DOS-style
- pathnames. Reported by David Ergo <david.ergo@alterface.com>.
-
-2005-07-01 Paul D. Smith <psmith@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Added more M4 files to EXTRA_DIST, so
- users can re-run aclocal.
-
-2003-04-30 Paul D. Smith <psmith@gnu.org>
-
- * dospaths.m4: New macro to test for DOS-style pathnames, based on
- coreutils 5.0 "dos.m4" by Jim Meyering.
-
-2002-04-21 gettextize <bug-gnu-gettext@gnu.org>
-
- * codeset.m4: New file, from gettext-0.11.1.
- * gettext.m4: New file, from gettext-0.11.1.
- * glibc21.m4: New file, from gettext-0.11.1.
- * iconv.m4: New file, from gettext-0.11.1.
- * isc-posix.m4: New file, from gettext-0.11.1.
- * lcmessage.m4: New file, from gettext-0.11.1.
- * lib-ld.m4: New file, from gettext-0.11.1.
- * lib-link.m4: New file, from gettext-0.11.1.
- * lib-prefix.m4: New file, from gettext-0.11.1.
- * progtest.m4: New file, from gettext-0.11.1.
- * Makefile.am: New file.
-
-
-Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 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 <http://www.gnu.org/licenses/>.
diff --git a/config/Makefile.am b/config/Makefile.am
index 203a5ee3..396c234b 100644
--- a/config/Makefile.am
+++ b/config/Makefile.am
@@ -1,6 +1,5 @@
# -*-Makefile-*-, or close enough
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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
@@ -16,9 +15,4 @@
# You should have received a copy of the GNU General Public License along with
# this program. If not, see <http://www.gnu.org/licenses/>.
-EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 nls.m4 \
- intdiv0.m4 inttypes-pri.m4 inttypes.m4 inttypes_h.m4 \
- isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 \
- progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 longlong.m4 \
- dospaths.m4 po.m4 signed.m4 longdouble.m4 wchar_t.m4 \
- wint_t.m4 intmax.m4 printf-posix.m4 xsize.m4 size_max.m4
+# Autoconf / automake know how to handle this directory.
diff --git a/config/Makefile.in b/config/Makefile.in
index 41127d66..8ebc4fdd 100644
--- a/config/Makefile.in
+++ b/config/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,8 +15,7 @@
@SET_MAKE@
# -*-Makefile-*-, or close enough
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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
@@ -33,6 +31,51 @@
# You should have received a copy of the GNU General Public License along with
# this program. If not, see <http://www.gnu.org/licenses/>.
VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -52,30 +95,50 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = config
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ChangeLog \
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ar-lib \
compile config.guess config.rpath config.sub depcomp \
- install-sh mdate-sh missing mkinstalldirs texinfo.tex
+ install-sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/dospaths.m4 \
$(top_srcdir)/config/gettext.m4 $(top_srcdir)/config/iconv.m4 \
- $(top_srcdir)/config/isc-posix.m4 \
+ $(top_srcdir)/config/intlmacosx.m4 \
$(top_srcdir)/config/lib-ld.m4 \
$(top_srcdir)/config/lib-link.m4 \
$(top_srcdir)/config/lib-prefix.m4 $(top_srcdir)/config/nls.m4 \
$(top_srcdir)/config/po.m4 $(top_srcdir)/config/progtest.m4 \
- $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.in
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_LDFLAGS = @AM_LDFLAGS@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@@ -95,16 +158,21 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GLOBINC = @GLOBINC@
GLOBLIB = @GLOBLIB@
GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
+GUILE_CFLAGS = @GUILE_CFLAGS@
+GUILE_LIBS = @GUILE_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
KMEM_GROUP = @KMEM_GROUP@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
@@ -117,8 +185,8 @@ LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MAKE_HOST = @MAKE_HOST@
MKDIR_P = @MKDIR_P@
-MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEED_SETGID = @NEED_SETGID@
OBJEXT = @OBJEXT@
@@ -131,6 +199,9 @@ PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
POSUB = @POSUB@
RANLIB = @RANLIB@
REMOTE = @REMOTE@
@@ -140,10 +211,13 @@ STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -190,13 +264,6 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 nls.m4 \
- intdiv0.m4 inttypes-pri.m4 inttypes.m4 inttypes_h.m4 \
- isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 \
- progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 longlong.m4 \
- dospaths.m4 po.m4 signed.m4 longdouble.m4 wchar_t.m4 \
- wint_t.m4 intmax.m4 printf-posix.m4 xsize.m4 size_max.m4
-
all: all-am
.SUFFIXES:
@@ -209,9 +276,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu config/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign config/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu config/Makefile
+ $(AUTOMAKE) --foreign config/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -230,11 +297,11 @@ $(top_srcdir)/configure: $(am__configure_deps)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
-tags: TAGS
-TAGS:
+tags TAGS:
-ctags: CTAGS
-CTAGS:
+ctags CTAGS:
+
+cscope cscopelist:
distdir: $(DISTFILES)
@@ -281,10 +348,15 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
@@ -364,16 +436,19 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: all all-am check check-am clean clean-generic distclean \
- distclean-generic distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am
+.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
+ ctags-am distclean distclean-generic distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+ pdf-am ps ps-am tags-am uninstall uninstall-am
+
+# Autoconf / automake know how to handle this directory.
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/config/ar-lib b/config/ar-lib
new file mode 100755
index 00000000..fe2301e7
--- /dev/null
+++ b/config/ar-lib
@@ -0,0 +1,270 @@
+#! /bin/sh
+# Wrapper for Microsoft lib.exe
+
+me=ar-lib
+scriptversion=2012-03-01.08; # UTC
+
+# Copyright (C) 2010-2013 Free Software Foundation, Inc.
+# Written by Peter Rosin <peda@lysator.liu.se>.
+#
+# This program 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 2, or (at your option)
+# any later version.
+#
+# This program 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 <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+
+# func_error message
+func_error ()
+{
+ echo "$me: $1" 1>&2
+ exit 1
+}
+
+file_conv=
+
+# func_file_conv build_file
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts.
+func_file_conv ()
+{
+ file=$1
+ case $file in
+ / | /[!/]*) # absolute file, and not a UNC file
+ if test -z "$file_conv"; then
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+ file_conv=mingw
+ ;;
+ CYGWIN*)
+ file_conv=cygwin
+ ;;
+ *)
+ file_conv=wine
+ ;;
+ esac
+ fi
+ case $file_conv in
+ mingw)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+ cygwin)
+ file=`cygpath -m "$file" || echo "$file"`
+ ;;
+ wine)
+ file=`winepath -w "$file" || echo "$file"`
+ ;;
+ esac
+ ;;
+ esac
+}
+
+# func_at_file at_file operation archive
+# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE
+# for each of them.
+# When interpreting the content of the @FILE, do NOT use func_file_conv,
+# since the user would need to supply preconverted file names to
+# binutils ar, at least for MinGW.
+func_at_file ()
+{
+ operation=$2
+ archive=$3
+ at_file_contents=`cat "$1"`
+ eval set x "$at_file_contents"
+ shift
+
+ for member
+ do
+ $AR -NOLOGO $operation:"$member" "$archive" || exit $?
+ done
+}
+
+case $1 in
+ '')
+ func_error "no command. Try '$0 --help' for more information."
+ ;;
+ -h | --h*)
+ cat <<EOF
+Usage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...]
+
+Members may be specified in a file named with @FILE.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "$me, version $scriptversion"
+ exit $?
+ ;;
+esac
+
+if test $# -lt 3; then
+ func_error "you must specify a program, an action and an archive"
+fi
+
+AR=$1
+shift
+while :
+do
+ if test $# -lt 2; then
+ func_error "you must specify a program, an action and an archive"
+ fi
+ case $1 in
+ -lib | -LIB \
+ | -ltcg | -LTCG \
+ | -machine* | -MACHINE* \
+ | -subsystem* | -SUBSYSTEM* \
+ | -verbose | -VERBOSE \
+ | -wx* | -WX* )
+ AR="$AR $1"
+ shift
+ ;;
+ *)
+ action=$1
+ shift
+ break
+ ;;
+ esac
+done
+orig_archive=$1
+shift
+func_file_conv "$orig_archive"
+archive=$file
+
+# strip leading dash in $action
+action=${action#-}
+
+delete=
+extract=
+list=
+quick=
+replace=
+index=
+create=
+
+while test -n "$action"
+do
+ case $action in
+ d*) delete=yes ;;
+ x*) extract=yes ;;
+ t*) list=yes ;;
+ q*) quick=yes ;;
+ r*) replace=yes ;;
+ s*) index=yes ;;
+ S*) ;; # the index is always updated implicitly
+ c*) create=yes ;;
+ u*) ;; # TODO: don't ignore the update modifier
+ v*) ;; # TODO: don't ignore the verbose modifier
+ *)
+ func_error "unknown action specified"
+ ;;
+ esac
+ action=${action#?}
+done
+
+case $delete$extract$list$quick$replace,$index in
+ yes,* | ,yes)
+ ;;
+ yesyes*)
+ func_error "more than one action specified"
+ ;;
+ *)
+ func_error "no action specified"
+ ;;
+esac
+
+if test -n "$delete"; then
+ if test ! -f "$orig_archive"; then
+ func_error "archive not found"
+ fi
+ for member
+ do
+ case $1 in
+ @*)
+ func_at_file "${1#@}" -REMOVE "$archive"
+ ;;
+ *)
+ func_file_conv "$1"
+ $AR -NOLOGO -REMOVE:"$file" "$archive" || exit $?
+ ;;
+ esac
+ done
+
+elif test -n "$extract"; then
+ if test ! -f "$orig_archive"; then
+ func_error "archive not found"
+ fi
+ if test $# -gt 0; then
+ for member
+ do
+ case $1 in
+ @*)
+ func_at_file "${1#@}" -EXTRACT "$archive"
+ ;;
+ *)
+ func_file_conv "$1"
+ $AR -NOLOGO -EXTRACT:"$file" "$archive" || exit $?
+ ;;
+ esac
+ done
+ else
+ $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member
+ do
+ $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
+ done
+ fi
+
+elif test -n "$quick$replace"; then
+ if test ! -f "$orig_archive"; then
+ if test -z "$create"; then
+ echo "$me: creating $orig_archive"
+ fi
+ orig_archive=
+ else
+ orig_archive=$archive
+ fi
+
+ for member
+ do
+ case $1 in
+ @*)
+ func_file_conv "${1#@}"
+ set x "$@" "@$file"
+ ;;
+ *)
+ func_file_conv "$1"
+ set x "$@" "$file"
+ ;;
+ esac
+ shift
+ shift
+ done
+
+ if test -n "$orig_archive"; then
+ $AR -NOLOGO -OUT:"$archive" "$orig_archive" "$@" || exit $?
+ else
+ $AR -NOLOGO -OUT:"$archive" "$@" || exit $?
+ fi
+
+elif test -n "$list"; then
+ if test ! -f "$orig_archive"; then
+ func_error "archive not found"
+ fi
+ $AR -NOLOGO -LIST "$archive" || exit $?
+fi
diff --git a/config/codeset.m4 b/config/codeset.m4
deleted file mode 100644
index 59535ebc..00000000
--- a/config/codeset.m4
+++ /dev/null
@@ -1,23 +0,0 @@
-# codeset.m4 serial AM1 (gettext-0.10.40)
-dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([AM_LANGINFO_CODESET],
-[
- AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
- [AC_TRY_LINK([#include <langinfo.h>],
- [char* cs = nl_langinfo(CODESET);],
- am_cv_langinfo_codeset=yes,
- am_cv_langinfo_codeset=no)
- ])
- if test $am_cv_langinfo_codeset = yes; then
- AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
- [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
- fi
-])
diff --git a/config/compile b/config/compile
index c0096a7b..531136b0 100755
--- a/config/compile
+++ b/config/compile
@@ -1,10 +1,9 @@
#! /bin/sh
-# Wrapper for compilers which do not understand `-c -o'.
+# Wrapper for compilers which do not understand '-c -o'.
-scriptversion=2009-10-06.20; # UTC
+scriptversion=2012-10-14.11; # UTC
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software
-# Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
@@ -29,21 +28,224 @@ scriptversion=2009-10-06.20; # UTC
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
+nl='
+'
+
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" "" $nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+ file=$1
+ case $file in
+ / | /[!/]*) # absolute file, and not a UNC file
+ if test -z "$file_conv"; then
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+ file_conv=mingw
+ ;;
+ CYGWIN*)
+ file_conv=cygwin
+ ;;
+ *)
+ file_conv=wine
+ ;;
+ esac
+ fi
+ case $file_conv/,$2, in
+ *,$file_conv,*)
+ ;;
+ mingw/*)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+ cygwin/*)
+ file=`cygpath -m "$file" || echo "$file"`
+ ;;
+ wine/*)
+ file=`winepath -w "$file" || echo "$file"`
+ ;;
+ esac
+ ;;
+ esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+ func_file_conv "$1"
+ if test -z "$lib_path"; then
+ lib_path=$file
+ else
+ lib_path="$lib_path;$file"
+ fi
+ linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+ lib=$1
+ found=no
+ save_IFS=$IFS
+ IFS=';'
+ for dir in $lib_path $LIB
+ do
+ IFS=$save_IFS
+ if $shared && test -f "$dir/$lib.dll.lib"; then
+ found=yes
+ lib=$dir/$lib.dll.lib
+ break
+ fi
+ if test -f "$dir/$lib.lib"; then
+ found=yes
+ lib=$dir/$lib.lib
+ break
+ fi
+ if test -f "$dir/lib$lib.a"; then
+ found=yes
+ lib=$dir/lib$lib.a
+ break
+ fi
+ done
+ IFS=$save_IFS
+
+ if test "$found" != yes; then
+ lib=$lib.lib
+ fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+ # Assume a capable shell
+ lib_path=
+ shared=:
+ linker_opts=
+ for arg
+ do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ eat=1
+ case $2 in
+ *.o | *.[oO][bB][jJ])
+ func_file_conv "$2"
+ set x "$@" -Fo"$file"
+ shift
+ ;;
+ *)
+ func_file_conv "$2"
+ set x "$@" -Fe"$file"
+ shift
+ ;;
+ esac
+ ;;
+ -I)
+ eat=1
+ func_file_conv "$2" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -I*)
+ func_file_conv "${1#-I}" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -l)
+ eat=1
+ func_cl_dashl "$2"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -l*)
+ func_cl_dashl "${1#-l}"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -L)
+ eat=1
+ func_cl_dashL "$2"
+ ;;
+ -L*)
+ func_cl_dashL "${1#-L}"
+ ;;
+ -static)
+ shared=false
+ ;;
+ -Wl,*)
+ arg=${1#-Wl,}
+ save_ifs="$IFS"; IFS=','
+ for flag in $arg; do
+ IFS="$save_ifs"
+ linker_opts="$linker_opts $flag"
+ done
+ IFS="$save_ifs"
+ ;;
+ -Xlinker)
+ eat=1
+ linker_opts="$linker_opts $2"
+ ;;
+ -*)
+ set x "$@" "$1"
+ shift
+ ;;
+ *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+ func_file_conv "$1"
+ set x "$@" -Tp"$file"
+ shift
+ ;;
+ *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+ func_file_conv "$1" mingw
+ set x "$@" "$file"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+ done
+ if test -n "$linker_opts"; then
+ linker_opts="-link$linker_opts"
+ fi
+ exec "$@" $linker_opts
+ exit 1
+}
+
+eat=
+
case $1 in
'')
- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
-Wrapper for compilers which do not understand `-c -o'.
-Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
-right script to run: please start by reading the file `INSTALL'.
+right script to run: please start by reading the file 'INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
@@ -53,11 +255,13 @@ EOF
echo "compile $scriptversion"
exit $?
;;
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+ func_cl_wrapper "$@" # Doesn't return...
+ ;;
esac
ofile=
cfile=
-eat=
for arg
do
@@ -66,8 +270,8 @@ do
else
case $1 in
-o)
- # configure might choose to run compile as `compile cc -o foo foo.c'.
- # So we strip `-o arg' only if arg is an object.
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ # So we strip '-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
@@ -94,10 +298,10 @@ do
done
if test -z "$ofile" || test -z "$cfile"; then
- # If no `-o' option was seen then we might have been invoked from a
+ # If no '-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
- # `.c' file was seen then we are probably linking. That is also
+ # '.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
@@ -106,7 +310,7 @@ fi
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
# Create the lock directory.
-# Note: use `[/\\:.-]' here to ensure that we don't use the same name
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
diff --git a/config/config.guess b/config/config.guess
index 5d528b59..1f5c50c0 100644
--- a/config/config.guess
+++ b/config/config.guess
@@ -1,14 +1,12 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-# Free Software Foundation, Inc.
+# Copyright 1992-2014 Free Software Foundation, Inc.
-timestamp='2010-04-03'
+timestamp='2014-03-23'
# This file 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 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
@@ -17,26 +15,22 @@ timestamp='2010-04-03'
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner. Please send patches (context
-# diff format) to <config-patches@gnu.org> and include a ChangeLog
-# entry.
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
+# Originally written by Per Bothner.
#
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+#
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+
me=`echo "$0" | sed -e 's,.*/,,'`
@@ -56,9 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
-Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -92,7 +84,7 @@ if test $# != 0; then
exit 1
fi
-trap 'exit 1' HUP INT TERM
+trap 'exit 1' 1 2 15
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
@@ -106,7 +98,7 @@ trap 'exit 1' HUP INT TERM
set_cc_for_build='
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" HUP INT PIPE TERM ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
{ tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
@@ -140,12 +132,33 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+ # If the system lacks a compiler, then just pick glibc.
+ # We could probably try harder.
+ LIBC=gnu
+
+ eval $set_cc_for_build
+ cat <<-EOF > $dummy.c
+ #include <features.h>
+ #if defined(__UCLIBC__)
+ LIBC=uclibc
+ #elif defined(__dietlibc__)
+ LIBC=dietlibc
+ #else
+ LIBC=gnu
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+ ;;
+esac
+
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
# switched to ELF, *-*-netbsd* would select the old
# object file format. This provides both forward
@@ -181,7 +194,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
fi
;;
*)
- os=netbsd
+ os=netbsd
;;
esac
# The OS release
@@ -202,6 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}"
exit ;;
+ *:Bitrig:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+ exit ;;
*:OpenBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
@@ -224,7 +241,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
;;
*5.*)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
;;
esac
# According to Compaq, /usr/sbin/psrinfo has been available on
@@ -270,7 +287,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit ;;
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+ exitcode=$?
+ trap '' 0
+ exit $exitcode ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
@@ -296,12 +316,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
echo s390-ibm-zvmoe
exit ;;
*:OS400:*:*)
- echo powerpc-ibm-os400
+ echo powerpc-ibm-os400
exit ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit ;;
- arm:riscos:*:*|arm:RISCOS:*:*)
+ arm*:riscos:*:*|arm*:RISCOS:*:*)
echo arm-unknown-riscos
exit ;;
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
@@ -395,23 +415,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
+ echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
+ exit ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
+ echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit ;;
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit ;;
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit ;;
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
m68k:machten:*:*)
echo m68k-apple-machten${UNAME_RELEASE}
exit ;;
@@ -481,8 +501,8 @@ EOF
echo m88k-motorola-sysv3
exit ;;
AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
then
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
@@ -495,7 +515,7 @@ EOF
else
echo i586-dg-dgux${UNAME_RELEASE}
fi
- exit ;;
+ exit ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
exit ;;
@@ -552,7 +572,7 @@ EOF
echo rs6000-ibm-aix3.2
fi
exit ;;
- *:AIX:*:[456])
+ *:AIX:*:[4567])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
@@ -595,52 +615,52 @@ EOF
9000/[678][0-9][0-9])
if [ -x /usr/bin/getconf ]; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
- esac ;;
- esac
+ esac ;;
+ esac
fi
if [ "${HP_ARCH}" = "" ]; then
eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ sed 's/^ //' << EOF >$dummy.c
- #define _HPUX_SOURCE
- #include <stdlib.h>
- #include <unistd.h>
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
EOF
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
test -z "$HP_ARCH" && HP_ARCH=hppa
@@ -731,22 +751,22 @@ EOF
exit ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
- exit ;;
+ exit ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
- exit ;;
+ exit ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
- exit ;;
+ exit ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
- exit ;;
+ exit ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
- exit ;;
+ exit ;;
CRAY*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
@@ -770,14 +790,14 @@ EOF
exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
@@ -789,30 +809,35 @@ EOF
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit ;;
*:FreeBSD:*:*)
- case ${UNAME_MACHINE} in
- pc98)
- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ case ${UNAME_PROCESSOR} in
amd64)
echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
*)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
esac
exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit ;;
+ *:MINGW64*:*)
+ echo ${UNAME_MACHINE}-pc-mingw64
+ exit ;;
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
+ *:MSYS*:*)
+ echo ${UNAME_MACHINE}-pc-msys
+ exit ;;
i*:windows32*:*)
- # uname -m includes "-pc" on this system.
- echo ${UNAME_MACHINE}-mingw32
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
exit ;;
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit ;;
*:Interix*:*)
- case ${UNAME_MACHINE} in
+ case ${UNAME_MACHINE} in
x86)
echo i586-pc-interix${UNAME_RELEASE}
exit ;;
@@ -849,22 +874,22 @@ EOF
exit ;;
*:GNU:*:*)
# the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit ;;
aarch64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
aarch64_be:Linux:*:*)
- UNAME_MACHINE=aarch64_be
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
+ UNAME_MACHINE=aarch64_be
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
EV5) UNAME_MACHINE=alphaev5 ;;
@@ -874,52 +899,56 @@ EOF
EV6) UNAME_MACHINE=alphaev6 ;;
EV67) UNAME_MACHINE=alphaev67 ;;
EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
+ esac
objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ arc:Linux:*:* | arceb:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
arm*:Linux:*:*)
eval $set_cc_for_build
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_EABI__
then
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
else
- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_PCS_VFP
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
+ fi
fi
exit ;;
avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
cris:Linux:*:*)
- echo cris-axis-linux-gnu
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
crisv32:Linux:*:*)
- echo crisv32-axis-linux-gnu
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
frv:Linux:*:*)
- echo frv-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ hexagon:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
i*86:Linux:*:*)
- LIBC=gnu
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #ifdef __dietlibc__
- LIBC=dietlibc
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
mips:Linux:*:* | mips64:Linux:*:*)
eval $set_cc_for_build
@@ -938,51 +967,63 @@ EOF
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
;;
- or32:Linux:*:*)
- echo or32-unknown-linux-gnu
+ openrisc*:Linux:*:*)
+ echo or1k-unknown-linux-${LIBC}
+ exit ;;
+ or32:Linux:*:* | or1k*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
padre:Linux:*:*)
- echo sparc-unknown-linux-gnu
+ echo sparc-unknown-linux-${LIBC}
exit ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
+ echo hppa64-unknown-linux-${LIBC}
exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
- *) echo hppa-unknown-linux-gnu ;;
+ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+ *) echo hppa-unknown-linux-${LIBC} ;;
esac
exit ;;
ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
+ echo powerpc64-unknown-linux-${LIBC}
exit ;;
ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
+ echo powerpc-unknown-linux-${LIBC}
+ exit ;;
+ ppc64le:Linux:*:*)
+ echo powerpc64le-unknown-linux-${LIBC}
+ exit ;;
+ ppcle:Linux:*:*)
+ echo powerpcle-unknown-linux-${LIBC}
exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux
+ echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
exit ;;
sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ tile*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-gnu
+ echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
- echo x86_64-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -991,11 +1032,11 @@ EOF
echo i386-sequent-sysv4
exit ;;
i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
+ # Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
exit ;;
i*86:OS/2:*:*)
@@ -1027,7 +1068,7 @@ EOF
fi
exit ;;
i*86:*:5:[678]*)
- # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
case `/bin/uname -X | grep "^Machine"` in
*486*) UNAME_MACHINE=i486 ;;
*Pentium) UNAME_MACHINE=i586 ;;
@@ -1055,13 +1096,13 @@ EOF
exit ;;
pc:*:*:*)
# Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i586.
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i586.
# Note: whatever this is, it MUST be the same as what config.sub
# prints for the "djgpp" host, or else GDB configury will decide that
# this is a cross-build.
echo i586-pc-msdosdjgpp
- exit ;;
+ exit ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
exit ;;
@@ -1096,8 +1137,8 @@ EOF
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4; exit; } ;;
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
NCR*:*:4.2:* | MPRAS*:*:4.2:*)
OS_REL='.3'
test -r /etc/.relid \
@@ -1140,10 +1181,10 @@ EOF
echo ns32k-sni-sysv
fi
exit ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says <Richard.M.Bartel@ccMail.Census.GOV>
- echo i586-unisys-sysv4
- exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes <hewes@openmarket.com>.
# How about differentiating between stratus architectures? -djm
@@ -1169,11 +1210,11 @@ EOF
exit ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
+ echo mips-nec-sysv${UNAME_RELEASE}
else
- echo mips-unknown-sysv${UNAME_RELEASE}
+ echo mips-unknown-sysv${UNAME_RELEASE}
fi
- exit ;;
+ exit ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
echo powerpc-be-beos
exit ;;
@@ -1186,6 +1227,9 @@ EOF
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
echo i586-pc-haiku
exit ;;
+ x86_64:Haiku:*:*)
+ echo x86_64-unknown-haiku
+ exit ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
exit ;;
@@ -1212,19 +1256,31 @@ EOF
exit ;;
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- case $UNAME_PROCESSOR in
- i386)
- eval $set_cc_for_build
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- UNAME_PROCESSOR="x86_64"
- fi
- fi ;;
- unknown) UNAME_PROCESSOR=powerpc ;;
- esac
+ eval $set_cc_for_build
+ if test "$UNAME_PROCESSOR" = unknown ; then
+ UNAME_PROCESSOR=powerpc
+ fi
+ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
+ fi
+ elif test "$UNAME_PROCESSOR" = i386 ; then
+ # Avoid executing cc on OS X 10.9, as it ships with a stub
+ # that puts up a graphical alert prompting to install
+ # developer tools. Any system running Mac OS X 10.7 or
+ # later (Darwin 11 and later) is required to have a 64-bit
+ # processor. This is not true of the ARM version of Darwin
+ # that Apple uses in portable devices.
+ UNAME_PROCESSOR=x86_64
+ fi
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
@@ -1238,7 +1294,10 @@ EOF
*:QNX:*:4*)
echo i386-pc-qnx
exit ;;
- NSE-?:NONSTOP_KERNEL:*:*)
+ NEO-?:NONSTOP_KERNEL:*:*)
+ echo neo-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSE-*:NONSTOP_KERNEL:*:*)
echo nse-tandem-nsk${UNAME_RELEASE}
exit ;;
NSR-?:NONSTOP_KERNEL:*:*)
@@ -1283,13 +1342,13 @@ EOF
echo pdp10-unknown-its
exit ;;
SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
+ echo mips-sei-seiux${UNAME_RELEASE}
exit ;;
*:DragonFly:*:*)
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit ;;
*:*VMS:*:*)
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
case "${UNAME_MACHINE}" in
A*) echo alpha-dec-vms ; exit ;;
I*) echo ia64-dec-vms ; exit ;;
@@ -1307,158 +1366,10 @@ EOF
i*86:AROS:*:*)
echo ${UNAME_MACHINE}-pc-aros
exit ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include <sys/param.h>
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
- exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
+ x86_64:VMkernel:*:*)
+ echo ${UNAME_MACHINE}-unknown-esx
exit ;;
- esac
-fi
+esac
cat >&2 <<EOF
$0: unable to guess system type
diff --git a/config/config.rpath b/config/config.rpath
index 4db13e50..17298f23 100755
--- a/config/config.rpath
+++ b/config/config.rpath
@@ -2,28 +2,13 @@
# Output a system dependent set of variables, describing how to set the
# run time search path of shared libraries in an executable.
#
-# Copyright 1996-2003 Free Software Foundation, Inc.
+# Copyright 1996-2010 Free Software Foundation, Inc.
# Taken from GNU libtool, 2001
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
-# This program 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 2 of the License, or
-# (at your option) any later version.
-#
-# This program 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
#
# The first argument passed to this file is the canonical host specification,
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
@@ -40,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 M$VC,
+# All known linkers require a `.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
shrext=.so
@@ -50,7 +35,19 @@ host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
+# Code taken from libtool.m4's _LT_CC_BASENAME.
+
+for cc_temp in $CC""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
+
+# Code taken from libtool.m4's _LT_COMPILER_PIC.
wl=
if test "$GCC" = yes; then
@@ -60,7 +57,14 @@ else
aix*)
wl='-Wl,'
;;
- mingw* | pw32* | os2*)
+ darwin*)
+ case $cc_basename in
+ xlc*)
+ wl='-Wl,'
+ ;;
+ esac
+ ;;
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
;;
hpux9* | hpux10* | hpux11*)
wl='-Wl,'
@@ -70,20 +74,39 @@ else
;;
newsos6)
;;
- linux*)
- case $CC in
- icc|ecc)
+ linux* | k*bsd*-gnu)
+ case $cc_basename in
+ ecc*)
wl='-Wl,'
;;
- ccc)
+ icc* | ifort*)
wl='-Wl,'
;;
+ lf95*)
+ wl='-Wl,'
+ ;;
+ pgcc | pgf77 | pgf90)
+ wl='-Wl,'
+ ;;
+ ccc*)
+ wl='-Wl,'
+ ;;
+ como)
+ wl='-lopt='
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ wl='-Wl,'
+ ;;
+ esac
+ ;;
esac
;;
osf3* | osf4* | osf5*)
wl='-Wl,'
;;
- sco3.2v5*)
+ rdos*)
;;
solaris*)
wl='-Wl,'
@@ -91,17 +114,23 @@ else
sunos4*)
wl='-Qoption ld '
;;
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ sysv4 | sysv4.2uw2* | sysv4.3*)
wl='-Wl,'
;;
sysv4*MP*)
;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ wl='-Wl,'
+ ;;
+ unicos*)
+ wl='-Wl,'
+ ;;
uts4*)
;;
esac
fi
-# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
+# Code taken from libtool.m4's _LT_LINKER_SHLIBS.
hardcode_libdir_flag_spec=
hardcode_libdir_separator=
@@ -109,7 +138,7 @@ hardcode_direct=no
hardcode_minus_L=no
case "$host_os" in
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
@@ -117,6 +146,10 @@ case "$host_os" in
with_gnu_ld=no
fi
;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
openbsd*)
with_gnu_ld=no
;;
@@ -124,8 +157,14 @@ esac
ld_shlibs=yes
if test "$with_gnu_ld" = yes; then
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ # Unlike libtool, we use -rpath here, not --rpath, since the documented
+ # option of GNU ld is called -rpath, not --rpath.
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
case "$host_os" in
- aix3* | aix4* | aix5*)
+ aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
@@ -138,7 +177,7 @@ if test "$with_gnu_ld" = yes; then
# 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 can use
+ # behavior of shared libraries on other platforms, we cannot use
# them.
ld_shlibs=no
;;
@@ -149,7 +188,7 @@ if test "$with_gnu_ld" = yes; then
ld_shlibs=no
fi
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
@@ -159,9 +198,20 @@ if test "$with_gnu_ld" = yes; then
ld_shlibs=no
fi
;;
+ interix[3-9]*)
+ hardcode_direct=no
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ gnu* | linux* | k*bsd*-gnu)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
netbsd*)
;;
- solaris* | sysv5*)
+ solaris*)
if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
ld_shlibs=no
elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
@@ -170,6 +220,20 @@ if test "$with_gnu_ld" = yes; then
ld_shlibs=no
fi
;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs=no
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ ;;
sunos4*)
hardcode_direct=yes
;;
@@ -181,10 +245,8 @@ if test "$with_gnu_ld" = yes; then
fi
;;
esac
- if test "$ld_shlibs" = yes; then
- # Unlike libtool, we use -rpath here, not --rpath, since the documented
- # option of GNU ld is called -rpath, not --rpath.
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ if test "$ld_shlibs" = no; then
+ hardcode_libdir_flag_spec=
fi
else
case "$host_os" in
@@ -198,7 +260,7 @@ else
hardcode_direct=unsupported
fi
;;
- aix4* | aix5*)
+ aix[4-9]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
@@ -208,13 +270,14 @@ else
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
break
fi
done
+ ;;
esac
fi
hardcode_direct=yes
@@ -226,7 +289,7 @@ else
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
- hardcode_direct=yes
+ :
else
# We have old collect2
hardcode_direct=unsupported
@@ -234,6 +297,7 @@ else
hardcode_libdir_flag_spec='-L$libdir'
hardcode_libdir_separator=
fi
+ ;;
esac
fi
# Begin _LT_AC_SYS_LIBPATH_AIX.
@@ -266,9 +330,9 @@ else
# see comment about different semantics on the GNU ld section
ld_shlibs=no
;;
- bsdi4*)
+ bsdi[45]*)
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
@@ -277,8 +341,17 @@ else
libext=lib
;;
darwin* | rhapsody*)
- if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
- hardcode_direct=no
+ hardcode_direct=no
+ if test "$GCC" = yes ; then
+ :
+ else
+ case $cc_basename in
+ xlc*)
+ ;;
+ *)
+ ld_shlibs=no
+ ;;
+ esac
fi
;;
dgux*)
@@ -295,7 +368,7 @@ else
hardcode_direct=yes
hardcode_minus_L=yes
;;
- freebsd*)
+ freebsd* | dragonfly*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
@@ -307,24 +380,25 @@ else
# but as the default location of the library.
hardcode_minus_L=yes
;;
- hpux10* | hpux11*)
+ hpux10*)
if test "$with_gnu_ld" = no; then
- case "$host_cpu" in
- hppa*64*)
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=no
- ;;
- ia64*)
- hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ fi
+ ;;
+ hpux11*)
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ case $host_cpu in
+ hppa*64*|ia64*)
hardcode_direct=no
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
;;
*)
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
@@ -347,18 +421,22 @@ else
hardcode_libdir_separator=:
;;
openbsd*)
- hardcode_direct=yes
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ else
+ case "$host_os" in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
else
- case "$host_os" in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
+ ld_shlibs=no
fi
;;
os2*)
@@ -378,8 +456,6 @@ else
fi
hardcode_libdir_separator=:
;;
- sco3.2v5*)
- ;;
solaris*)
hardcode_libdir_flag_spec='-R$libdir'
;;
@@ -408,14 +484,11 @@ else
ld_shlibs=yes
fi
;;
- sysv4.2uw2*)
- hardcode_direct=yes
- hardcode_minus_L=no
- ;;
- sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
;;
- sysv5*)
- hardcode_libdir_flag_spec=
+ sysv5* | sco3.2v5* | sco5v6*)
+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ hardcode_libdir_separator=':'
;;
uts4*)
hardcode_libdir_flag_spec='-L$libdir'
@@ -427,35 +500,55 @@ else
fi
# Check dynamic linker characteristics
-# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
+# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER.
+# Unlike libtool.m4, here we don't care about _all_ names of the library, but
+# only about the one the linker finds when passed -lNAME. This is the last
+# element of library_names_spec in libtool.m4, or possibly two of them if the
+# linker has special search rules.
+library_names_spec= # the last element of library_names_spec in libtool.m4
libname_spec='lib$name'
case "$host_os" in
aix3*)
+ library_names_spec='$libname.a'
;;
- aix4* | aix5*)
+ aix[4-9]*)
+ library_names_spec='$libname$shrext'
;;
amigaos*)
+ library_names_spec='$libname.a'
;;
beos*)
+ library_names_spec='$libname$shrext'
;;
- bsdi4*)
+ bsdi[45]*)
+ library_names_spec='$libname$shrext'
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
shrext=.dll
+ library_names_spec='$libname.dll.a $libname.lib'
;;
darwin* | rhapsody*)
shrext=.dylib
+ library_names_spec='$libname$shrext'
;;
dgux*)
+ library_names_spec='$libname$shrext'
;;
freebsd1*)
;;
- freebsd*)
+ freebsd* | dragonfly*)
+ case "$host_os" in
+ freebsd[123]*)
+ library_names_spec='$libname$shrext$versuffix' ;;
+ *)
+ library_names_spec='$libname$shrext' ;;
+ esac
;;
gnu*)
+ library_names_spec='$libname$shrext'
;;
hpux9* | hpux10* | hpux11*)
- case "$host_cpu" in
+ case $host_cpu in
ia64*)
shrext=.so
;;
@@ -466,8 +559,13 @@ case "$host_os" in
shrext=.sl
;;
esac
+ library_names_spec='$libname$shrext'
+ ;;
+ interix[3-9]*)
+ library_names_spec='$libname$shrext'
;;
irix5* | irix6* | nonstopux*)
+ library_names_spec='$libname$shrext'
case "$host_os" in
irix5* | nonstopux*)
libsuff= shlibsuff=
@@ -484,42 +582,62 @@ case "$host_os" in
;;
linux*oldld* | linux*aout* | linux*coff*)
;;
- linux*)
+ linux* | k*bsd*-gnu)
+ library_names_spec='$libname$shrext'
+ ;;
+ knetbsd*-gnu)
+ library_names_spec='$libname$shrext'
;;
netbsd*)
+ library_names_spec='$libname$shrext'
;;
newsos6)
+ library_names_spec='$libname$shrext'
;;
- nto-qnx)
+ nto-qnx*)
+ library_names_spec='$libname$shrext'
;;
openbsd*)
+ library_names_spec='$libname$shrext$versuffix'
;;
os2*)
libname_spec='$name'
shrext=.dll
+ library_names_spec='$libname.a'
;;
osf3* | osf4* | osf5*)
+ library_names_spec='$libname$shrext'
;;
- sco3.2v5*)
+ rdos*)
;;
solaris*)
+ library_names_spec='$libname$shrext'
;;
sunos4*)
+ library_names_spec='$libname$shrext$versuffix'
;;
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ sysv4 | sysv4.3*)
+ library_names_spec='$libname$shrext'
;;
sysv4*MP*)
+ library_names_spec='$libname$shrext'
+ ;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ library_names_spec='$libname$shrext'
;;
uts4*)
+ library_names_spec='$libname$shrext'
;;
esac
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
+escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
-sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
+LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
# How to pass a linker flag through the compiler.
wl="$escaped_wl"
@@ -530,6 +648,12 @@ libext="$libext"
# Shared library suffix (normally "so").
shlibext="$shlibext"
+# Format of library name prefix.
+libname_spec="$escaped_libname_spec"
+
+# Library names that the linker finds when passed -lNAME.
+library_names_spec="$escaped_library_names_spec"
+
# Flag to hardcode \$libdir into a binary during linking.
# This must work even if \$libdir does not exist.
hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
diff --git a/config/config.sub b/config/config.sub
index 06b53ad0..d4c83385 100644
--- a/config/config.sub
+++ b/config/config.sub
@@ -1,38 +1,31 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-# Free Software Foundation, Inc.
+# Copyright 1992-2014 Free Software Foundation, Inc.
-timestamp='2010-05-21'
+timestamp='2014-09-26'
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# This file 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 2 of the License, or
+# This file 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.
#
-# This program 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.
+# This program 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, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
@@ -75,9 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
-Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -125,13 +116,17 @@ esac
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
- linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
knetbsd*-gnu* | netbsd*-gnu* | \
kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
+ android-linux)
+ os=-linux-android
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+ ;;
*)
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
@@ -154,12 +149,12 @@ case $os in
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray | -microblaze)
+ -apple | -axis | -knuth | -cray | -microblaze*)
os=
basic_machine=$1
;;
- -bluegene*)
- os=-cnk
+ -bluegene*)
+ os=-cnk
;;
-sim | -cisco | -oki | -wec | -winbond)
os=
@@ -175,10 +170,10 @@ case $os in
os=-chorusos
basic_machine=$1
;;
- -chorusrdb)
- os=-chorusrdb
+ -chorusrdb)
+ os=-chorusrdb
basic_machine=$1
- ;;
+ ;;
-hiux*)
os=-hiuxwe2
;;
@@ -223,6 +218,12 @@ case $os in
-isc*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
+ -lynx*178)
+ os=-lynxos178
+ ;;
+ -lynx*5)
+ os=-lynxos5
+ ;;
-lynx*)
os=-lynxos
;;
@@ -251,17 +252,24 @@ case $basic_machine in
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | arc | arceb \
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+ | avr | avr32 \
+ | be32 | be64 \
| bfin \
- | c4x | clipper \
+ | c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
+ | epiphany \
| fido | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | hexagon \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
+ | k1om \
+ | le32 | le64 \
| lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | mcore | mep | metag \
+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
@@ -275,33 +283,38 @@ case $basic_machine in
| mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
+ | mipsisa32r6 | mipsisa32r6el \
| mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64r6 | mipsisa64r6el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
+ | mipsr5900 | mipsr5900el \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
| moxie \
| mt \
| msp430 \
- | nios | nios2 \
+ | nds32 | nds32le | nds32be \
+ | nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
- | or32 \
+ | open8 | or1k | or1knd | or32 \
| pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ | powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
- | rx \
+ | riscv32 | riscv64 \
+ | rl78 | rx \
| score \
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
- | spu | strongarm \
- | tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+ | spu \
+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
| ubicom32 \
- | v850 | v850e \
+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
| we32k \
- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
basic_machine=$basic_machine-unknown
;;
@@ -314,8 +327,10 @@ case $basic_machine in
c6x)
basic_machine=tic6x-unknown
;;
- m6811 | m68hc11 | m6812 | m68hc12 | picochip)
- # Motorola 68HC11/12.
+ leon|leon[3-9])
+ basic_machine=sparc-$basic_machine
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
basic_machine=$basic_machine-unknown
os=-none
;;
@@ -325,6 +340,21 @@ case $basic_machine in
basic_machine=mt-unknown
;;
+ strongarm | thumb | xscale)
+ basic_machine=arm-unknown
+ ;;
+ xgate)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ xscaleeb)
+ basic_machine=armeb-unknown
+ ;;
+
+ xscaleel)
+ basic_machine=armel-unknown
+ ;;
+
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
@@ -342,23 +372,28 @@ case $basic_machine in
| aarch64-* | aarch64_be-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
+ | be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
- | clipper-* | craynv-* | cydra-* \
+ | c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | hexagon-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
+ | k1om-* \
+ | le32-* | le64-* \
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | microblaze-* | microblazeel-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
@@ -372,34 +407,41 @@ case $basic_machine in
| mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa32r6-* | mipsisa32r6el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64r6-* | mipsisa64r6el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipsr5900-* | mipsr5900el-* \
| mipstx39-* | mipstx39el-* \
| mmix-* \
| mt-* \
| msp430-* \
- | nios-* | nios2-* \
+ | nds32-* | nds32le-* | nds32be-* \
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \
| none-* | np1-* | ns16k-* | ns32k-* \
+ | open8-* \
+ | or1k*-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| pyramid-* \
- | romp-* | rs6000-* | rx-* \
+ | rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
- | tahoe-* | thumb-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+ | tahoe-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
- | tile-* | tilegx-* \
+ | tile*-* \
| tron-* \
| ubicom32-* \
- | v850-* | v850e-* | vax-* \
+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+ | vax-* \
| we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \
| ymp-* \
| z8k-* | z80-*)
@@ -424,7 +466,7 @@ case $basic_machine in
basic_machine=a29k-amd
os=-udi
;;
- abacus)
+ abacus)
basic_machine=abacus-unknown
;;
adobe68k)
@@ -507,7 +549,7 @@ case $basic_machine in
basic_machine=c90-cray
os=-unicos
;;
- cegcc)
+ cegcc)
basic_machine=arm-unknown
os=-cegcc
;;
@@ -539,7 +581,7 @@ case $basic_machine in
basic_machine=craynv-cray
os=-unicosmp
;;
- cr16)
+ cr16 | cr16-*)
basic_machine=cr16-unknown
os=-elf
;;
@@ -697,7 +739,6 @@ case $basic_machine in
i370-ibm* | ibm*)
basic_machine=i370-ibm
;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i*86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
@@ -736,6 +777,9 @@ case $basic_machine in
basic_machine=m68k-isi
os=-sysv
;;
+ leon-*|leon[3-9]-*)
+ basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+ ;;
m68knommu)
basic_machine=m68k-unknown
os=-linux
@@ -755,11 +799,15 @@ case $basic_machine in
basic_machine=ns32k-utek
os=-sysv
;;
- microblaze)
+ microblaze*)
basic_machine=microblaze-xilinx
;;
+ mingw64)
+ basic_machine=x86_64-pc
+ os=-mingw64
+ ;;
mingw32)
- basic_machine=i386-pc
+ basic_machine=i686-pc
os=-mingw32
;;
mingw32ce)
@@ -787,6 +835,10 @@ case $basic_machine in
basic_machine=powerpc-unknown
os=-morphos
;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ os=-moxiebox
+ ;;
msdos)
basic_machine=i386-pc
os=-msdos
@@ -794,10 +846,18 @@ case $basic_machine in
ms1-*)
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
+ msys)
+ basic_machine=i686-pc
+ os=-msys
+ ;;
mvs)
basic_machine=i370-ibm
os=-mvs
;;
+ nacl)
+ basic_machine=le32-unknown
+ os=-nacl
+ ;;
ncr3000)
basic_machine=i486-ncr
os=-sysv4
@@ -862,6 +922,12 @@ case $basic_machine in
np1)
basic_machine=np1-gould
;;
+ neo-tandem)
+ basic_machine=neo-tandem
+ ;;
+ nse-tandem)
+ basic_machine=nse-tandem
+ ;;
nsr-tandem)
basic_machine=nsr-tandem
;;
@@ -944,9 +1010,10 @@ case $basic_machine in
;;
power) basic_machine=power-ibm
;;
- ppc) basic_machine=powerpc-unknown
+ ppc | ppcbe) basic_machine=powerpc-unknown
;;
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ppc-* | ppcbe-*)
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppcle | powerpclittle | ppc-le | powerpc-little)
basic_machine=powerpcle-unknown
@@ -971,7 +1038,11 @@ case $basic_machine in
basic_machine=i586-unknown
os=-pw32
;;
- rdos)
+ rdos | rdos64)
+ basic_machine=x86_64-pc
+ os=-rdos
+ ;;
+ rdos32)
basic_machine=i386-pc
os=-rdos
;;
@@ -1040,6 +1111,9 @@ case $basic_machine in
basic_machine=i860-stratus
os=-sysv4
;;
+ strongarm-* | thumb-*)
+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
sun2)
basic_machine=m68000-sun
;;
@@ -1096,13 +1170,8 @@ case $basic_machine in
basic_machine=t90-cray
os=-unicos
;;
- # This must be matched before tile*.
- tilegx*)
- basic_machine=tilegx-unknown
- os=-linux-gnu
- ;;
tile*)
- basic_machine=tile-unknown
+ basic_machine=$basic_machine-unknown
os=-linux-gnu
;;
tx39)
@@ -1172,6 +1241,9 @@ case $basic_machine in
xps | xps100)
basic_machine=xps100-honeywell
;;
+ xscale-* | xscalee[bl]-*)
+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+ ;;
ymp)
basic_machine=ymp-cray
os=-unicos
@@ -1269,11 +1341,11 @@ esac
if [ x"$os" != x"" ]
then
case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
+ # First match some system type aliases
+ # that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception.
- -auroraux)
- os=-auroraux
+ -auroraux)
+ os=-auroraux
;;
-solaris1 | -solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
@@ -1297,29 +1369,29 @@ case $os in
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
- | -sym* | -kopensolaris* \
+ | -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* | -aros* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -openbsd* | -solidbsd* \
+ | -bitrig* | -openbsd* | -solidbsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-android* \
- | -linux-newlib* | -linux-uclibc* \
- | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1358,7 +1430,7 @@ case $os in
-opened*)
os=-openedition
;;
- -os400*)
+ -os400*)
os=-os400
;;
-wince*)
@@ -1407,7 +1479,7 @@ case $os in
-sinix*)
os=-sysv4
;;
- -tpf*)
+ -tpf*)
os=-tpf
;;
-triton*)
@@ -1443,17 +1515,14 @@ case $os in
-aros*)
os=-aros
;;
- -kaos*)
- os=-kaos
- ;;
-zvmoe)
os=-zvmoe
;;
-dicos*)
os=-dicos
;;
- -nacl*)
- ;;
+ -nacl*)
+ ;;
-none)
;;
*)
@@ -1476,10 +1545,10 @@ else
# system, and we'll never get to this point.
case $basic_machine in
- score-*)
+ score-*)
os=-elf
;;
- spu-*)
+ spu-*)
os=-elf
;;
*-acorn)
@@ -1491,8 +1560,14 @@ case $basic_machine in
arm*-semi)
os=-aout
;;
- c4x-* | tic4x-*)
- os=-coff
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ c8051-*)
+ os=-elf
+ ;;
+ hexagon-*)
+ os=-elf
;;
tic54x-*)
os=-coff
@@ -1521,14 +1596,11 @@ case $basic_machine in
;;
m68000-sun)
os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
;;
m68*-cisco)
os=-aout
;;
- mep-*)
+ mep-*)
os=-elf
;;
mips*-cisco)
@@ -1555,7 +1627,7 @@ case $basic_machine in
*-ibm)
os=-aix
;;
- *-knuth)
+ *-knuth)
os=-mmixware
;;
*-wec)
diff --git a/config/depcomp b/config/depcomp
index df8eea7e..4ebd5b3a 100755
--- a/config/depcomp
+++ b/config/depcomp
@@ -1,10 +1,9 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2013-05-30.07; # UTC
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
-# Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -28,9 +27,9 @@ scriptversion=2009-04-28.21; # UTC
case $1 in
'')
- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
- exit 1;
- ;;
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
@@ -40,11 +39,11 @@ as side-effects.
Environment variables:
depmode Dependency tracking mode.
- source Source file read by `PROGRAMS ARGS'.
- object Object file output by `PROGRAMS ARGS'.
+ source Source file read by 'PROGRAMS ARGS'.
+ object Object file output by 'PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
- tmpdepfile Temporary file to use when outputing dependencies.
+ tmpdepfile Temporary file to use when outputting dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
@@ -57,6 +56,66 @@ EOF
;;
esac
+# Get the directory component of the given path, and save it in the
+# global variables '$dir'. Note that this directory component will
+# be either empty or ending with a '/' character. This is deliberate.
+set_dir_from ()
+{
+ case $1 in
+ */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
+ *) dir=;;
+ esac
+}
+
+# Get the suffix-stripped basename of the given path, and save it the
+# global variable '$base'.
+set_base_from ()
+{
+ base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
+}
+
+# If no dependency file was actually created by the compiler invocation,
+# we still have to create a dummy depfile, to avoid errors with the
+# Makefile "include basename.Plo" scheme.
+make_dummy_depfile ()
+{
+ echo "#dummy" > "$depfile"
+}
+
+# Factor out some common post-processing of the generated depfile.
+# Requires the auxiliary global variable '$tmpdepfile' to be set.
+aix_post_process_depfile ()
+{
+ # If the compiler actually managed to produce a dependency file,
+ # post-process it.
+ if test -f "$tmpdepfile"; then
+ # Each line is of the form 'foo.o: dependency.h'.
+ # Do two passes, one to just change these to
+ # $object: dependency.h
+ # and one to simply output
+ # dependency.h:
+ # which is needed to avoid the deleted-header problem.
+ { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
+ sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
+ } > "$depfile"
+ rm -f "$tmpdepfile"
+ else
+ make_dummy_depfile
+ fi
+}
+
+# A tabulation character.
+tab=' '
+# A newline character.
+nl='
+'
+# Character ranges might be problematic outside the C locale.
+# These definitions help.
+upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
+lower=abcdefghijklmnopqrstuvwxyz
+digits=0123456789
+alpha=${upper}${lower}
+
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
@@ -69,6 +128,9 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
+# Avoid interferences from the environment.
+gccflag= dashmflag=
+
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
@@ -80,18 +142,32 @@ if test "$depmode" = hp; then
fi
if test "$depmode" = dashXmstdout; then
- # This is just like dashmstdout with a different argument.
- dashmflag=-xM
- depmode=dashmstdout
+ # This is just like dashmstdout with a different argument.
+ dashmflag=-xM
+ depmode=dashmstdout
fi
cygpath_u="cygpath -u -f -"
if test "$depmode" = msvcmsys; then
- # This is just like msvisualcpp but w/o cygpath translation.
- # Just convert the backslash-escaped backslashes to single forward
- # slashes to satisfy depend.m4
- cygpath_u="sed s,\\\\\\\\,/,g"
- depmode=msvisualcpp
+ # This is just like msvisualcpp but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvisualcpp
+fi
+
+if test "$depmode" = msvc7msys; then
+ # This is just like msvc7 but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvc7
+fi
+
+if test "$depmode" = xlc; then
+ # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
+ gccflag=-qmakedep=gcc,-MF
+ depmode=gcc
fi
case "$depmode" in
@@ -114,8 +190,7 @@ gcc3)
done
"$@"
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
@@ -123,13 +198,17 @@ gcc3)
;;
gcc)
+## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
+## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
+## (see the conditional assignment to $gccflag above).
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-## -MM, not -M (despite what the docs say).
+## -MM, not -M (despite what the docs say). Also, it might not be
+## supported by the other compilers which use the 'gcc' depmode.
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
@@ -137,31 +216,31 @@ gcc)
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
- alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
+ # The second -e expression handles DOS-style file names with drive
+ # letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
+## This next piece of magic avoids the "deleted header file" problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
- tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'. On the theory
+## Some versions of gcc put a space before the ':'. On the theory
## that the space means something, we add a space to the output as
-## well.
+## well. hp depmode also adds that space, but also prefixes the VPATH
+## to the object. Take care to not repeat it in the output.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
@@ -179,8 +258,7 @@ sgi)
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
@@ -188,43 +266,41 @@ sgi)
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
-
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
- # the IRIX cc adds comments like `#:fec' to the end of the
+ # the IRIX cc adds comments like '#:fec' to the end of the
# dependency line.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
- tr '
-' ' ' >> "$depfile"
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
+ | tr "$nl" ' ' >> "$depfile"
echo >> "$depfile"
-
# The second pass generates a dummy entry for each header file.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
- >> "$depfile"
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+ >> "$depfile"
else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
+ make_dummy_depfile
fi
rm -f "$tmpdepfile"
;;
+xlc)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
- # current directory. Also, the AIX compiler puts `$object:' at the
+ # current directory. Also, the AIX compiler puts '$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ set_dir_from "$object"
+ set_base_from "$object"
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.u
tmpdepfile2=$base.u
@@ -237,9 +313,7 @@ aix)
"$@" -M
fi
stat=$?
-
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat
fi
@@ -248,44 +322,100 @@ aix)
do
test -f "$tmpdepfile" && break
done
- if test -f "$tmpdepfile"; then
- # Each line is of the form `foo.o: dependent.h'.
- # Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- # That's a tab and a space in the [].
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
+ aix_post_process_depfile
+ ;;
+
+tcc)
+ # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
+ # FIXME: That version still under development at the moment of writing.
+ # Make that this statement remains true also for stable, released
+ # versions.
+ # It will wrap lines (doesn't matter whether long or short) with a
+ # trailing '\', as in:
+ #
+ # foo.o : \
+ # foo.c \
+ # foo.h \
+ #
+ # It will put a trailing '\' even on the last line, and will use leading
+ # spaces rather than leading tabs (at least since its commit 0394caf7
+ # "Emit spaces for -MD").
+ "$@" -MD -MF "$tmpdepfile"
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
fi
+ rm -f "$depfile"
+ # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
+ # We have to change lines of the first kind to '$object: \'.
+ sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
+ # And for each line of the second kind, we have to emit a 'dep.h:'
+ # dummy dependency, to avoid the deleted-header problem.
+ sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
rm -f "$tmpdepfile"
;;
-icc)
- # Intel's C compiler understands `-MD -MF file'. However on
- # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
- # ICC 7.0 will fill foo.d with something like
- # foo.o: sub/foo.c
- # foo.o: sub/foo.h
- # which is wrong. We want:
- # sub/foo.o: sub/foo.c
- # sub/foo.o: sub/foo.h
- # sub/foo.c:
- # sub/foo.h:
- # ICC 7.1 will output
+## The order of this option in the case statement is important, since the
+## shell code in configure will try each of these formats in the order
+## listed in this file. A plain '-MD' option would be understood by many
+## compilers, so we must ensure this comes after the gcc and icc options.
+pgcc)
+ # Portland's C compiler understands '-MD'.
+ # Will always output deps to 'file.d' where file is the root name of the
+ # source file under compilation, even if file resides in a subdirectory.
+ # The object file name does not affect the name of the '.d' file.
+ # pgcc 10.2 will output
# foo.o: sub/foo.c sub/foo.h
- # and will wrap long lines using \ :
+ # and will wrap long lines using '\' :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
+ set_dir_from "$object"
+ # Use the source, not the object, to determine the base name, since
+ # that's sadly what pgcc will do too.
+ set_base_from "$source"
+ tmpdepfile=$base.d
+
+ # For projects that build the same source file twice into different object
+ # files, the pgcc approach of using the *source* file root name can cause
+ # problems in parallel builds. Use a locking strategy to avoid stomping on
+ # the same $tmpdepfile.
+ lockdir=$base.d-lock
+ trap "
+ echo '$0: caught signal, cleaning up...' >&2
+ rmdir '$lockdir'
+ exit 1
+ " 1 2 13 15
+ numtries=100
+ i=$numtries
+ while test $i -gt 0; do
+ # mkdir is a portable test-and-set.
+ if mkdir "$lockdir" 2>/dev/null; then
+ # This process acquired the lock.
+ "$@" -MD
+ stat=$?
+ # Release the lock.
+ rmdir "$lockdir"
+ break
+ else
+ # If the lock is being held by a different process, wait
+ # until the winning process is done or we timeout.
+ while test -d "$lockdir" && test $i -gt 0; do
+ sleep 1
+ i=`expr $i - 1`
+ done
+ fi
+ i=`expr $i - 1`
+ done
+ trap - 1 2 13 15
+ if test $i -le 0; then
+ echo "$0: failed to acquire lock after $numtries attempts" >&2
+ echo "$0: check lockdir '$lockdir'" >&2
+ exit 1
+ fi
- "$@" -MD -MF "$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
@@ -297,8 +427,8 @@ icc)
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
- sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
- sed -e 's/$/ :/' >> "$depfile"
+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
@@ -309,9 +439,8 @@ hp2)
# 'foo.d', which lands next to the object file, wherever that
# happens to be.
# Much of this is similar to the tru64 case; see comments there.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ set_dir_from "$object"
+ set_base_from "$object"
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir.libs/$base.d
@@ -322,8 +451,7 @@ hp2)
"$@" +Maked
fi
stat=$?
- if test $stat -eq 0; then :
- else
+ if test $stat -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
@@ -333,77 +461,107 @@ hp2)
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
- # Add `dependent.h:' lines.
+ sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
+ # Add 'dependent.h:' lines.
sed -ne '2,${
- s/^ *//
- s/ \\*$//
- s/$/:/
- p
- }' "$tmpdepfile" >> "$depfile"
+ s/^ *//
+ s/ \\*$//
+ s/$/:/
+ p
+ }' "$tmpdepfile" >> "$depfile"
else
- echo "#dummy" > "$depfile"
+ make_dummy_depfile
fi
rm -f "$tmpdepfile" "$tmpdepfile2"
;;
tru64)
- # The Tru64 compiler uses -MD to generate dependencies as a side
- # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
- # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
- # dependencies in `foo.d' instead, so we check for that too.
- # Subdirectories are respected.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
- if test "$libtool" = yes; then
- # With Tru64 cc, shared objects can also be used to make a
- # static library. This mechanism is used in libtool 1.4 series to
- # handle both shared and static libraries in a single compilation.
- # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
- #
- # With libtool 1.5 this exception was removed, and libtool now
- # generates 2 separate objects for the 2 libraries. These two
- # compilations output dependencies in $dir.libs/$base.o.d and
- # in $dir$base.o.d. We have to check for both files, because
- # one of the two compilations can be disabled. We should prefer
- # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
- # automatically cleaned when .libs/ is deleted, while ignoring
- # the former would cause a distcleancheck panic.
- tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
- tmpdepfile2=$dir$base.o.d # libtool 1.5
- tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
- tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
- "$@" -Wc,-MD
- else
- tmpdepfile1=$dir$base.o.d
- tmpdepfile2=$dir$base.d
- tmpdepfile3=$dir$base.d
- tmpdepfile4=$dir$base.d
- "$@" -MD
- fi
-
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- exit $stat
- fi
-
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- do
- test -f "$tmpdepfile" && break
- done
- if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- # That's a tab and a space in the [].
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
+ # The Tru64 compiler uses -MD to generate dependencies as a side
+ # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+ # dependencies in 'foo.d' instead, so we check for that too.
+ # Subdirectories are respected.
+ set_dir_from "$object"
+ set_base_from "$object"
+
+ if test "$libtool" = yes; then
+ # Libtool generates 2 separate objects for the 2 libraries. These
+ # two compilations output dependencies in $dir.libs/$base.o.d and
+ # in $dir$base.o.d. We have to check for both files, because
+ # one of the two compilations can be disabled. We should prefer
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+ # automatically cleaned when .libs/ is deleted, while ignoring
+ # the former would cause a distcleancheck panic.
+ tmpdepfile1=$dir$base.o.d # libtool 1.5
+ tmpdepfile2=$dir.libs/$base.o.d # Likewise.
+ tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
+ "$@" -Wc,-MD
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ tmpdepfile3=$dir$base.d
+ "$@" -MD
+ fi
+
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ # Same post-processing that is required for AIX mode.
+ aix_post_process_depfile
+ ;;
+
+msvc7)
+ if test "$libtool" = yes; then
+ showIncludes=-Wc,-showIncludes
+ else
+ showIncludes=-showIncludes
+ fi
+ "$@" $showIncludes > "$tmpdepfile"
+ stat=$?
+ grep -v '^Note: including file: ' "$tmpdepfile"
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ # The first sed program below extracts the file names and escapes
+ # backslashes for cygpath. The second sed program outputs the file
+ # name when reading, but also accumulates all include files in the
+ # hold buffer in order to output them again at the end. This only
+ # works with sed implementations that can handle large buffers.
+ sed < "$tmpdepfile" -n '
+/^Note: including file: *\(.*\)/ {
+ s//\1/
+ s/\\/\\\\/g
+ p
+}' | $cygpath_u | sort -u | sed -n '
+s/ /\\ /g
+s/\(.*\)/'"$tab"'\1 \\/p
+s/.\(.*\) \\/\1:/
+H
+$ {
+ s/.*/'"$tab"'/
+ G
+ p
+}' >> "$depfile"
+ echo >> "$depfile" # make sure the fragment doesn't end with a backslash
+ rm -f "$tmpdepfile"
+ ;;
+
+msvc7msys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
@@ -422,7 +580,7 @@ dashmstdout)
shift
fi
- # Remove `-o $object'.
+ # Remove '-o $object'.
IFS=" "
for arg
do
@@ -442,18 +600,18 @@ dashmstdout)
done
test -z "$dashmflag" && dashmflag=-M
- # Require at least two characters before searching for `:'
+ # Require at least two characters before searching for ':'
# in the target name. This is to cope with DOS-style filenames:
- # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+ # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
"$@" $dashmflag |
- sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
+ sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
- tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this sed invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
@@ -503,12 +661,15 @@ makedepend)
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
- sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ # makedepend may prepend the VPATH from the source file name to the object.
+ # No need to regex-escape $object, excess matching of '.' is harmless.
+ sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process the last invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed '1,2d' "$tmpdepfile" \
+ | tr ' ' "$nl" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
@@ -525,7 +686,7 @@ cpp)
shift
fi
- # Remove `-o $object'.
+ # Remove '-o $object'.
IFS=" "
for arg
do
@@ -544,10 +705,10 @@ cpp)
esac
done
- "$@" -E |
- sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
- -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
- sed '$ s: \\$::' > "$tmpdepfile"
+ "$@" -E \
+ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ | sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
@@ -579,23 +740,23 @@ msvisualcpp)
shift
;;
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
- set fnord "$@"
- shift
- shift
- ;;
+ set fnord "$@"
+ shift
+ shift
+ ;;
*)
- set fnord "$@" "$arg"
- shift
- shift
- ;;
+ set fnord "$@" "$arg"
+ shift
+ shift
+ ;;
esac
done
"$@" -E 2>/dev/null |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
- sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
- echo " " >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
+ echo "$tab" >> "$depfile"
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
diff --git a/config/dospaths.m4 b/config/dospaths.m4
index da544f8f..92fb5402 100644
--- a/config/dospaths.m4
+++ b/config/dospaths.m4
@@ -1,8 +1,7 @@
# Test if the system uses DOS-style pathnames (drive specs and backslashes)
# By Paul Smith <psmith@gnu.org>. Based on dos.m4 by Jim Meyering.
#
-# Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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
@@ -18,21 +17,17 @@
# You should have received a copy of the GNU General Public License along with
# this program. If not, see <http://www.gnu.org/licenses/>.
-AC_DEFUN([pds_AC_DOS_PATHS],
- [
- AC_CACHE_CHECK([whether system uses MSDOS-style paths], [ac_cv_dos_paths],
- [
- AC_COMPILE_IFELSE([
+AC_DEFUN([pds_AC_DOS_PATHS], [
+ AC_CACHE_CHECK([whether system uses MSDOS-style paths], [ac_cv_dos_paths], [
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __EMX__ && !defined __MSYS__ && !defined __CYGWIN__
neither MSDOS nor Windows nor OS2
#endif
-],
+]])],
[ac_cv_dos_paths=yes],
- [ac_cv_dos_paths=no])
- ])
+ [ac_cv_dos_paths=no])])
- if test x"$ac_cv_dos_paths" = xyes; then
- AC_DEFINE_UNQUOTED([HAVE_DOS_PATHS], 1,
- [Define if the system uses DOS-style pathnames.])
- fi
- ])
+ AS_IF([test x"$ac_cv_dos_paths" = xyes],
+ [ AC_DEFINE_UNQUOTED([HAVE_DOS_PATHS], 1,
+ [Define if the system uses DOS-style pathnames.])])
+])
diff --git a/config/gettext.m4 b/config/gettext.m4
index a374f03f..f84e6a5d 100644
--- a/config/gettext.m4
+++ b/config/gettext.m4
@@ -1,10 +1,8 @@
-# gettext.m4 serial 28 (gettext-0.13)
-dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# 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.
dnl
dnl This file can can be used in projects which are not available under
dnl the GNU General Public License or the GNU Library General Public
@@ -17,7 +15,7 @@ dnl They are *not* in the public domain.
dnl Authors:
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010.
dnl Macro to add for using GNU gettext.
@@ -62,11 +60,18 @@ AC_DEFUN([AM_GNU_GETTEXT],
ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
[errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
])])])])])
+ ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old],
+ [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])])
ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
[errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
])])])])
- define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
- define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
+ define([gt_included_intl],
+ ifelse([$1], [external],
+ ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]),
+ [yes]))
+ define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
+ gt_NEEDS_INIT
+ AM_GNU_GETTEXT_NEED([$2])
AC_REQUIRE([AM_PO_SUBDIRS])dnl
ifelse(gt_included_intl, yes, [
@@ -80,7 +85,7 @@ AC_DEFUN([AM_GNU_GETTEXT],
dnl Sometimes libintl requires libiconv, so first search for libiconv.
dnl Ideally we would do this search only after the
dnl if test "$USE_NLS" = "yes"; then
- dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then
+ dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
dnl the configure script would need to contain the same shell code
dnl again, outside any 'if'. There are two solutions:
@@ -92,8 +97,11 @@ AC_DEFUN([AM_GNU_GETTEXT],
AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
])
+ dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation.
+ gt_INTL_MACOSX
+
dnl Set USE_NLS.
- AM_NLS
+ AC_REQUIRE([AM_NLS])
ifelse(gt_included_intl, yes, [
BUILD_INCLUDED_LIBINTL=no
@@ -103,16 +111,25 @@ AC_DEFUN([AM_GNU_GETTEXT],
LTLIBINTL=
POSUB=
+ dnl Add a version number to the cache macros.
+ case " $gt_needs " in
+ *" need-formatstring-macros "*) gt_api_version=3 ;;
+ *" need-ngettext "*) gt_api_version=2 ;;
+ *) gt_api_version=1 ;;
+ esac
+ gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
+ gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
+
dnl If we use NLS figure out what method
if test "$USE_NLS" = "yes"; then
gt_use_preinstalled_gnugettext=no
ifelse(gt_included_intl, yes, [
AC_MSG_CHECKING([whether included gettext is requested])
- AC_ARG_WITH(included-gettext,
+ AC_ARG_WITH([included-gettext],
[ --with-included-gettext use the GNU gettext library included here],
nls_cv_force_use_gnu_gettext=$withval,
nls_cv_force_use_gnu_gettext=no)
- AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
+ AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext])
nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
@@ -121,28 +138,35 @@ AC_DEFUN([AM_GNU_GETTEXT],
dnl to use. If GNU gettext is available we use this. Else we have
dnl to fall back to GNU NLS library.
- dnl Add a version number to the cache macros.
- define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
- define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
- define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
-
- AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
- [AC_TRY_LINK([#include <libintl.h>
-]ifelse([$2], [need-formatstring-macros],
-[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+ if test $gt_api_version -ge 3; then
+ gt_revision_test_code='
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
#endif
changequote(,)dnl
typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
changequote([,])dnl
-], [])[extern int _nl_msg_cat_cntr;
+'
+ else
+ gt_revision_test_code=
+ fi
+ if test $gt_api_version -ge 2; then
+ gt_expression_test_code=' + * ngettext ("", "", 0)'
+ else
+ gt_expression_test_code=
+ fi
+
+ AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
+ [AC_TRY_LINK([#include <libintl.h>
+$gt_revision_test_code
+extern int _nl_msg_cat_cntr;
extern int *_nl_domain_bindings;],
[bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
- gt_cv_func_gnugettext_libc=yes,
- gt_cv_func_gnugettext_libc=no)])
+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"])])
- if test "$gt_cv_func_gnugettext_libc" != "yes"; then
+ if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
dnl Sometimes libintl requires libiconv, so first search for libiconv.
ifelse(gt_included_intl, yes, , [
AM_ICONV_LINK
@@ -153,52 +177,40 @@ return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("",
dnl even if libiconv doesn't exist.
AC_LIB_LINKFLAGS_BODY([intl])
AC_CACHE_CHECK([for GNU gettext in libintl],
- gt_cv_func_gnugettext_libintl,
+ [$gt_func_gnugettext_libintl],
[gt_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $INCINTL"
gt_save_LIBS="$LIBS"
LIBS="$LIBS $LIBINTL"
dnl Now see whether libintl exists and does not depend on libiconv.
AC_TRY_LINK([#include <libintl.h>
-]ifelse([$2], [need-formatstring-macros],
-[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-changequote(,)dnl
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-], [])[extern int _nl_msg_cat_cntr;
+$gt_revision_test_code
+extern int _nl_msg_cat_cntr;
extern
#ifdef __cplusplus
"C"
#endif
-const char *_nl_expand_alias ();],
+const char *_nl_expand_alias (const char *);],
[bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
- gt_cv_func_gnugettext_libintl=yes,
- gt_cv_func_gnugettext_libintl=no)
+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 test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
LIBS="$LIBS $LIBICONV"
AC_TRY_LINK([#include <libintl.h>
-]ifelse([$2], [need-formatstring-macros],
-[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-changequote(,)dnl
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-], [])[extern int _nl_msg_cat_cntr;
+$gt_revision_test_code
+extern int _nl_msg_cat_cntr;
extern
#ifdef __cplusplus
"C"
#endif
-const char *_nl_expand_alias ();],
+const char *_nl_expand_alias (const char *);],
[bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
[LIBINTL="$LIBINTL $LIBICONV"
LTLIBINTL="$LTLIBINTL $LTLIBICONV"
- gt_cv_func_gnugettext_libintl=yes
+ eval "$gt_func_gnugettext_libintl=yes"
])
fi
CPPFLAGS="$gt_save_CPPFLAGS"
@@ -209,8 +221,8 @@ return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("",
dnl use it. But if this macro is used in GNU gettext, and GNU
dnl gettext is already preinstalled in libintl, we update this
dnl libintl. (Cf. the install rule in intl/Makefile.in.)
- if test "$gt_cv_func_gnugettext_libc" = "yes" \
- || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
+ if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
+ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
&& test "$PACKAGE" != gettext-runtime \
&& test "$PACKAGE" != gettext-tools; }; then
gt_use_preinstalled_gnugettext=yes
@@ -233,11 +245,12 @@ return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("",
dnl Mark actions used to generate GNU NLS library.
BUILD_INCLUDED_LIBINTL=yes
USE_INCLUDED_LIBINTL=yes
- LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
- LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
+ LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD"
+ LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD"
LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
fi
+ CATOBJEXT=
if test "$gt_use_preinstalled_gnugettext" = "yes" \
|| test "$nls_cv_use_gnu_gettext" = "yes"; then
dnl Mark actions to use GNU gettext tools.
@@ -245,9 +258,18 @@ return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("",
fi
])
+ if test -n "$INTL_MACOSX_LIBS"; then
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ dnl Some extra flags are needed during linking.
+ LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
+ LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
+ fi
+ fi
+
if test "$gt_use_preinstalled_gnugettext" = "yes" \
|| test "$nls_cv_use_gnu_gettext" = "yes"; then
- AC_DEFINE(ENABLE_NLS, 1,
+ AC_DEFINE([ENABLE_NLS], [1],
[Define to 1 if translation of program messages to the user's native language
is requested.])
else
@@ -260,7 +282,7 @@ return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("",
if test "$USE_NLS" = "yes"; then
AC_MSG_CHECKING([where the gettext function comes from])
if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
gt_source="external libintl"
else
gt_source="libc"
@@ -274,16 +296,16 @@ return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("",
if test "$USE_NLS" = "yes"; then
if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
AC_MSG_CHECKING([how to link with libintl])
AC_MSG_RESULT([$LIBINTL])
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
fi
dnl For backward compatibility. Some packages may be using this.
- AC_DEFINE(HAVE_GETTEXT, 1,
+ AC_DEFINE([HAVE_GETTEXT], [1],
[Define if the GNU gettext() function is already present or preinstalled.])
- AC_DEFINE(HAVE_DCGETTEXT, 1,
+ AC_DEFINE([HAVE_DCGETTEXT], [1],
[Define if the GNU dcgettext() function is already present or preinstalled.])
fi
@@ -299,9 +321,9 @@ return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("",
fi
dnl Make all variables we use known to autoconf.
- AC_SUBST(BUILD_INCLUDED_LIBINTL)
- AC_SUBST(USE_INCLUDED_LIBINTL)
- AC_SUBST(CATOBJEXT)
+ AC_SUBST([BUILD_INCLUDED_LIBINTL])
+ AC_SUBST([USE_INCLUDED_LIBINTL])
+ AC_SUBST([CATOBJEXT])
dnl For backward compatibility. Some configure.ins may be using this.
nls_cv_header_intl=
@@ -309,177 +331,51 @@ return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("",
dnl For backward compatibility. Some Makefiles may be using this.
DATADIRNAME=share
- AC_SUBST(DATADIRNAME)
+ AC_SUBST([DATADIRNAME])
dnl For backward compatibility. Some Makefiles may be using this.
INSTOBJEXT=.mo
- AC_SUBST(INSTOBJEXT)
+ AC_SUBST([INSTOBJEXT])
dnl For backward compatibility. Some Makefiles may be using this.
GENCAT=gencat
- AC_SUBST(GENCAT)
+ AC_SUBST([GENCAT])
dnl For backward compatibility. Some Makefiles may be using this.
+ INTLOBJS=
if test "$USE_INCLUDED_LIBINTL" = yes; then
INTLOBJS="\$(GETTOBJS)"
fi
- AC_SUBST(INTLOBJS)
+ AC_SUBST([INTLOBJS])
dnl Enable libtool support if the surrounding package wishes it.
INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
- AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
+ AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
])
dnl For backward compatibility. Some Makefiles may be using this.
INTLLIBS="$LIBINTL"
- AC_SUBST(INTLLIBS)
+ AC_SUBST([INTLLIBS])
dnl Make all documented variables known to autoconf.
- AC_SUBST(LIBINTL)
- AC_SUBST(LTLIBINTL)
- AC_SUBST(POSUB)
+ AC_SUBST([LIBINTL])
+ AC_SUBST([LTLIBINTL])
+ AC_SUBST([POSUB])
])
-dnl Checks for all prerequisites of the intl subdirectory,
-dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
-dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
-AC_DEFUN([AM_INTL_SUBDIR],
+dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized.
+m4_define([gt_NEEDS_INIT],
[
- AC_REQUIRE([AC_PROG_INSTALL])dnl
- AC_REQUIRE([AM_MKINSTALLDIRS])dnl
- AC_REQUIRE([AC_PROG_CC])dnl
- AC_REQUIRE([AC_CANONICAL_HOST])dnl
- AC_REQUIRE([AC_PROG_RANLIB])dnl
- AC_REQUIRE([AC_ISC_POSIX])dnl
- AC_REQUIRE([AC_HEADER_STDC])dnl
- AC_REQUIRE([AC_C_CONST])dnl
- AC_REQUIRE([bh_C_SIGNED])dnl
- AC_REQUIRE([AC_C_INLINE])dnl
- AC_REQUIRE([AC_TYPE_OFF_T])dnl
- AC_REQUIRE([AC_TYPE_SIZE_T])dnl
- AC_REQUIRE([jm_AC_TYPE_LONG_LONG])dnl
- AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl
- AC_REQUIRE([gt_TYPE_WCHAR_T])dnl
- AC_REQUIRE([gt_TYPE_WINT_T])dnl
- AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
- AC_REQUIRE([jm_AC_HEADER_STDINT_H])
- AC_REQUIRE([gt_TYPE_INTMAX_T])
- AC_REQUIRE([gt_PRINTF_POSIX])
- AC_REQUIRE([AC_FUNC_ALLOCA])dnl
- AC_REQUIRE([AC_FUNC_MMAP])dnl
- AC_REQUIRE([jm_GLIBC21])dnl
- AC_REQUIRE([gt_INTDIV0])dnl
- AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
- AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
- AC_REQUIRE([gt_INTTYPES_PRI])dnl
- AC_REQUIRE([gl_XSIZE])dnl
-
- AC_CHECK_TYPE([ptrdiff_t], ,
- [AC_DEFINE([ptrdiff_t], [long],
- [Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
- ])
- AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
-stdlib.h string.h unistd.h sys/param.h])
- AC_CHECK_FUNCS([asprintf fwprintf getcwd getegid geteuid getgid getuid \
-mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup \
-strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \
-__fsetlocking])
-
- dnl Use the _snprintf function only if it is declared (because on NetBSD it
- dnl is defined as a weak alias of snprintf; we prefer to use the latter).
- gt_CHECK_DECL(_snprintf, [#include <stdio.h>])
- gt_CHECK_DECL(_snwprintf, [#include <stdio.h>])
-
- dnl Use the *_unlocked functions only if they are declared.
- dnl (because some of them were defined without being declared in Solaris
- dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
- dnl on Solaris 2.5.1 to run on Solaris 2.6).
- dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
- gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])
- gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])
- gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
-
- case $gt_cv_func_printf_posix in
- *yes) HAVE_POSIX_PRINTF=1 ;;
- *) HAVE_POSIX_PRINTF=0 ;;
- esac
- AC_SUBST([HAVE_POSIX_PRINTF])
- if test "$ac_cv_func_asprintf" = yes; then
- HAVE_ASPRINTF=1
- else
- HAVE_ASPRINTF=0
- fi
- AC_SUBST([HAVE_ASPRINTF])
- if test "$ac_cv_func_snprintf" = yes; then
- HAVE_SNPRINTF=1
- else
- HAVE_SNPRINTF=0
- fi
- AC_SUBST([HAVE_SNPRINTF])
- if test "$ac_cv_func_wprintf" = yes; then
- HAVE_WPRINTF=1
- else
- HAVE_WPRINTF=0
- fi
- AC_SUBST([HAVE_WPRINTF])
-
- AM_ICONV
- AM_LANGINFO_CODESET
- if test $ac_cv_header_locale_h = yes; then
- AM_LC_MESSAGES
- fi
-
- dnl intl/plural.c is generated from intl/plural.y. It requires bison,
- dnl because plural.y uses bison specific features. It requires at least
- dnl bison-1.26 because earlier versions generate a plural.c that doesn't
- dnl compile.
- dnl bison is only needed for the maintainer (who touches plural.y). But in
- dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
- dnl the rule in general Makefile. Now, some people carelessly touch the
- dnl files or have a broken "make" program, hence the plural.c rule will
- dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
- dnl present or too old.
- AC_CHECK_PROGS([INTLBISON], [bison])
- if test -z "$INTLBISON"; then
- ac_verc_fail=yes
- else
- dnl Found it, now check the version.
- AC_MSG_CHECKING([version of bison])
-changequote(<<,>>)dnl
- ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
- case $ac_prog_version in
- '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
- 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
-changequote([,])dnl
- ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
- *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
- esac
- AC_MSG_RESULT([$ac_prog_version])
- fi
- if test $ac_verc_fail = yes; then
- INTLBISON=:
- fi
+ m4_divert_text([DEFAULTS], [gt_needs=])
+ m4_define([gt_NEEDS_INIT], [])
])
-dnl gt_CHECK_DECL(FUNC, INCLUDES)
-dnl Check whether a function is declared.
-AC_DEFUN([gt_CHECK_DECL],
+dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL])
+AC_DEFUN([AM_GNU_GETTEXT_NEED],
[
- AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1,
- [AC_TRY_COMPILE([$2], [
-#ifndef $1
- char *p = (char *) $1;
-#endif
-], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)])
- if test $ac_cv_have_decl_$1 = yes; then
- gt_value=1
- else
- gt_value=0
- fi
- AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],
- [Define to 1 if you have the declaration of `$1', and to 0 if you don't.])
+ m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"])
])
diff --git a/config/glibc21.m4 b/config/glibc21.m4
deleted file mode 100644
index 9c9f3db3..00000000
--- a/config/glibc21.m4
+++ /dev/null
@@ -1,32 +0,0 @@
-# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
-dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-# Test for the GNU C Library, version 2.1 or newer.
-# From Bruno Haible.
-
-AC_DEFUN([jm_GLIBC21],
- [
- AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
- ac_cv_gnu_library_2_1,
- [AC_EGREP_CPP([Lucky GNU user],
- [
-#include <features.h>
-#ifdef __GNU_LIBRARY__
- #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
- Lucky GNU user
- #endif
-#endif
- ],
- ac_cv_gnu_library_2_1=yes,
- ac_cv_gnu_library_2_1=no)
- ]
- )
- AC_SUBST(GLIBC21)
- GLIBC21="$ac_cv_gnu_library_2_1"
- ]
-)
diff --git a/config/iconv.m4 b/config/iconv.m4
index c5f35798..e2041b9b 100644
--- a/config/iconv.m4
+++ b/config/iconv.m4
@@ -1,10 +1,8 @@
-# iconv.m4 serial AM4 (gettext-0.11.3)
-dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# 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.
dnl From Bruno Haible.
@@ -23,6 +21,7 @@ AC_DEFUN([AM_ICONV_LINK],
[
dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
dnl those with the standalone portable GNU libiconv installed).
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
dnl accordingly.
@@ -35,7 +34,7 @@ AC_DEFUN([AM_ICONV_LINK],
am_save_CPPFLAGS="$CPPFLAGS"
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
- AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
+ AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
am_cv_func_iconv="no, consider installing GNU libiconv"
am_cv_lib_iconv=no
AC_TRY_LINK([#include <stdlib.h>
@@ -43,7 +42,7 @@ AC_DEFUN([AM_ICONV_LINK],
[iconv_t cd = iconv_open("","");
iconv(cd,NULL,NULL,NULL,NULL);
iconv_close(cd);],
- am_cv_func_iconv=yes)
+ [am_cv_func_iconv=yes])
if test "$am_cv_func_iconv" != yes; then
am_save_LIBS="$LIBS"
LIBS="$LIBS $LIBICONV"
@@ -52,13 +51,110 @@ AC_DEFUN([AM_ICONV_LINK],
[iconv_t cd = iconv_open("","");
iconv(cd,NULL,NULL,NULL,NULL);
iconv_close(cd);],
- am_cv_lib_iconv=yes
- am_cv_func_iconv=yes)
+ [am_cv_lib_iconv=yes]
+ [am_cv_func_iconv=yes])
LIBS="$am_save_LIBS"
fi
])
if test "$am_cv_func_iconv" = yes; then
- AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
+ AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
+ 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
+ AC_TRY_RUN([
+#include <iconv.h>
+#include <string.h>
+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 const char input[] = "\342\202\254"; /* EURO SIGN */
+ char buf[10];
+ 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,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ return 1;
+ }
+ }
+ /* Test against Solaris 10 bug: Failures are not distinguishable from
+ successful returns. */
+ {
+ iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+ if (cd_ascii_to_88591 != (iconv_t)(-1))
+ {
+ static const char input[] = "\263";
+ char buf[10];
+ 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,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ return 1;
+ }
+ }
+#if 0 /* This bug could be worked around by the caller. */
+ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+ char buf[50];
+ 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,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if ((int)res > 0)
+ return 1;
+ }
+ }
+#endif
+ /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+ provided. */
+ if (/* Try standardized names. */
+ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
+ /* Try IRIX, OSF/1 names. */
+ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
+ /* Try AIX names. */
+ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
+ /* Try HP-UX names. */
+ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
+ 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
+ *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+ *) am_func_iconv=yes ;;
+ esac
+ else
+ am_func_iconv=no am_cv_lib_iconv=no
+ fi
+ if test "$am_func_iconv" = yes; then
+ AC_DEFINE([HAVE_ICONV], [1],
+ [Define if you have the iconv() function and it works.])
fi
if test "$am_cv_lib_iconv" = yes; then
AC_MSG_CHECKING([how to link with libiconv])
@@ -70,16 +166,31 @@ AC_DEFUN([AM_ICONV_LINK],
LIBICONV=
LTLIBICONV=
fi
- AC_SUBST(LIBICONV)
- AC_SUBST(LTLIBICONV)
+ AC_SUBST([LIBICONV])
+ AC_SUBST([LTLIBICONV])
])
-AC_DEFUN([AM_ICONV],
+dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
+dnl avoid warnings like
+dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
+dnl This is tricky because of the way 'aclocal' is implemented:
+dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
+dnl Otherwise aclocal's initial scan pass would miss the macro definition.
+dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
+dnl Otherwise aclocal would emit many "Use of uninitialized value $1"
+dnl warnings.
+m4_define([gl_iconv_AC_DEFUN],
+ m4_version_prereq([2.64],
+ [[AC_DEFUN_ONCE(
+ [$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_CACHE_VAL([am_cv_proto_iconv], [
AC_TRY_COMPILE([
#include <stdlib.h>
#include <iconv.h>
@@ -92,12 +203,12 @@ size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, si
#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([$]{ac_t:-
- }[$]am_cv_proto_iconv)
- AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
+ 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.])
fi
])
diff --git a/config/install-sh b/config/install-sh
index 6781b987..377bb868 100755
--- a/config/install-sh
+++ b/config/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2011-11-20.07; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -35,7 +35,7 @@ scriptversion=2009-04-28.21; # UTC
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
+# 'make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
@@ -156,6 +156,10 @@ while test $# -ne 0; do
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
shift;;
-T) no_target_directory=true;;
@@ -186,6 +190,10 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
fi
shift # arg
dst_arg=$arg
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
done
fi
@@ -194,13 +202,17 @@ if test $# -eq 0; then
echo "$0: no input file specified." >&2
exit 1
fi
- # It's OK to call `install-sh -d' without argument.
+ # It's OK to call 'install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
if test -z "$dir_arg"; then
- trap '(exit $?); exit' 1 2 13 15
+ do_exit='(exit $ret); exit $ret'
+ trap "ret=129; $do_exit" 1
+ trap "ret=130; $do_exit" 2
+ trap "ret=141; $do_exit" 13
+ trap "ret=143; $do_exit" 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
@@ -228,9 +240,9 @@ fi
for src
do
- # Protect names starting with `-'.
+ # Protect names problematic for 'test' and other utilities.
case $src in
- -*) src=./$src;;
+ -* | [=\(\)!]) src=./$src;;
esac
if test -n "$dir_arg"; then
@@ -252,12 +264,7 @@ do
echo "$0: no destination specified." >&2
exit 1
fi
-
dst=$dst_arg
- # Protect names starting with `-'.
- case $dst in
- -*) dst=./$dst;;
- esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
@@ -347,7 +354,7 @@ do
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
- # other-writeable bit of parent directory when it shouldn't.
+ # other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
@@ -385,7 +392,7 @@ do
case $dstdir in
/*) prefix='/';;
- -*) prefix='./';;
+ [-=\(\)!]*) prefix='./';;
*) prefix='';;
esac
@@ -403,7 +410,7 @@ do
for d
do
- test -z "$d" && continue
+ test X"$d" = X && continue
prefix=$prefix$d
if test -d "$prefix"; then
diff --git a/config/intdiv0.m4 b/config/intdiv0.m4
deleted file mode 100644
index 55dddcf1..00000000
--- a/config/intdiv0.m4
+++ /dev/null
@@ -1,72 +0,0 @@
-# intdiv0.m4 serial 1 (gettext-0.11.3)
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([gt_INTDIV0],
-[
- AC_REQUIRE([AC_PROG_CC])dnl
- AC_REQUIRE([AC_CANONICAL_HOST])dnl
-
- AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
- gt_cv_int_divbyzero_sigfpe,
- [
- AC_TRY_RUN([
-#include <stdlib.h>
-#include <signal.h>
-
-static void
-#ifdef __cplusplus
-sigfpe_handler (int sig)
-#else
-sigfpe_handler (sig) int sig;
-#endif
-{
- /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
- exit (sig != SIGFPE);
-}
-
-int x = 1;
-int y = 0;
-int z;
-int nan;
-
-int main ()
-{
- signal (SIGFPE, sigfpe_handler);
-/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
-#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
- signal (SIGTRAP, sigfpe_handler);
-#endif
-/* Linux/SPARC yields signal SIGILL. */
-#if defined (__sparc__) && defined (__linux__)
- signal (SIGILL, sigfpe_handler);
-#endif
-
- z = x / y;
- nan = y / y;
- exit (1);
-}
-], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
- [
- # Guess based on the CPU.
- case "$host_cpu" in
- alpha* | i[34567]86 | m68k | s390*)
- gt_cv_int_divbyzero_sigfpe="guessing yes";;
- *)
- gt_cv_int_divbyzero_sigfpe="guessing no";;
- esac
- ])
- ])
- case "$gt_cv_int_divbyzero_sigfpe" in
- *yes) value=1;;
- *) value=0;;
- esac
- AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
- [Define if integer division by zero raises signal SIGFPE.])
-])
diff --git a/config/intlmacosx.m4 b/config/intlmacosx.m4
new file mode 100644
index 00000000..dd910259
--- /dev/null
+++ b/config/intlmacosx.m4
@@ -0,0 +1,51 @@
+# 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.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+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 MacOS X.
+dnl Defines INTL_MACOSX_LIBS.
+AC_DEFUN([gt_INTL_MACOSX],
+[
+ 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_TRY_LINK([#include <CoreFoundation/CFPreferences.h>],
+ [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 MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
+ fi
+ 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_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [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 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
+ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+ fi
+ AC_SUBST([INTL_MACOSX_LIBS])
+])
diff --git a/config/intmax.m4 b/config/intmax.m4
deleted file mode 100644
index dfb08ccc..00000000
--- a/config/intmax.m4
+++ /dev/null
@@ -1,32 +0,0 @@
-# intmax.m4 serial 1 (gettext-0.12)
-dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Bruno Haible.
-dnl Test whether the system has the 'intmax_t' type, but don't attempt to
-dnl find a replacement if it is lacking.
-
-AC_DEFUN([gt_TYPE_INTMAX_T],
-[
- AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
- AC_REQUIRE([jm_AC_HEADER_STDINT_H])
- AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t,
- [AC_TRY_COMPILE([
-#include <stddef.h>
-#include <stdlib.h>
-#if HAVE_STDINT_H_WITH_UINTMAX
-#include <stdint.h>
-#endif
-#if HAVE_INTTYPES_H_WITH_UINTMAX
-#include <inttypes.h>
-#endif
-], [intmax_t x = -1;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)])
- if test $gt_cv_c_intmax_t = yes; then
- AC_DEFINE(HAVE_INTMAX_T, 1,
- [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
- fi
-])
diff --git a/config/inttypes-pri.m4 b/config/inttypes-pri.m4
deleted file mode 100644
index fd007c31..00000000
--- a/config/inttypes-pri.m4
+++ /dev/null
@@ -1,32 +0,0 @@
-# inttypes-pri.m4 serial 1 (gettext-0.11.4)
-dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Bruno Haible.
-
-# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
-# macros to non-string values. This is the case on AIX 4.3.3.
-
-AC_DEFUN([gt_INTTYPES_PRI],
-[
- AC_REQUIRE([gt_HEADER_INTTYPES_H])
- if test $gt_cv_header_inttypes_h = yes; then
- AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
- gt_cv_inttypes_pri_broken,
- [
- AC_TRY_COMPILE([#include <inttypes.h>
-#ifdef PRId32
-char *p = PRId32;
-#endif
-], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
- ])
- fi
- if test "$gt_cv_inttypes_pri_broken" = yes; then
- AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
- [Define if <inttypes.h> exists and defines unusable PRI* macros.])
- fi
-])
diff --git a/config/inttypes.m4 b/config/inttypes.m4
deleted file mode 100644
index ab370ffe..00000000
--- a/config/inttypes.m4
+++ /dev/null
@@ -1,27 +0,0 @@
-# inttypes.m4 serial 1 (gettext-0.11.4)
-dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Paul Eggert.
-
-# Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with
-# <sys/types.h>.
-
-AC_DEFUN([gt_HEADER_INTTYPES_H],
-[
- AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h,
- [
- AC_TRY_COMPILE(
- [#include <sys/types.h>
-#include <inttypes.h>],
- [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no)
- ])
- if test $gt_cv_header_inttypes_h = yes; then
- AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
- [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.])
- fi
-])
diff --git a/config/inttypes_h.m4 b/config/inttypes_h.m4
deleted file mode 100644
index f342eba3..00000000
--- a/config/inttypes_h.m4
+++ /dev/null
@@ -1,28 +0,0 @@
-# inttypes_h.m4 serial 5 (gettext-0.12)
-dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Paul Eggert.
-
-# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
-# doesn't clash with <sys/types.h>, and declares uintmax_t.
-
-AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
-[
- AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
- [AC_TRY_COMPILE(
- [#include <sys/types.h>
-#include <inttypes.h>],
- [uintmax_t i = (uintmax_t) -1;],
- jm_ac_cv_header_inttypes_h=yes,
- jm_ac_cv_header_inttypes_h=no)])
- if test $jm_ac_cv_header_inttypes_h = yes; then
- AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
- [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
- and declares uintmax_t. ])
- fi
-])
diff --git a/config/isc-posix.m4 b/config/isc-posix.m4
deleted file mode 100644
index 1319dd1c..00000000
--- a/config/isc-posix.m4
+++ /dev/null
@@ -1,26 +0,0 @@
-# isc-posix.m4 serial 2 (gettext-0.11.2)
-dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-# This file is not needed with autoconf-2.53 and newer. Remove it in 2005.
-
-# This test replaces the one in autoconf.
-# Currently this macro should have the same name as the autoconf macro
-# because gettext's gettext.m4 (distributed in the automake package)
-# still uses it. Otherwise, the use in gettext.m4 makes autoheader
-# give these diagnostics:
-# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
-# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
-
-undefine([AC_ISC_POSIX])
-
-AC_DEFUN([AC_ISC_POSIX],
- [
- dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
- AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
- ]
-)
diff --git a/config/lcmessage.m4 b/config/lcmessage.m4
deleted file mode 100644
index ffd4008b..00000000
--- a/config/lcmessage.m4
+++ /dev/null
@@ -1,32 +0,0 @@
-# lcmessage.m4 serial 3 (gettext-0.11.3)
-dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
-
-# Check whether LC_MESSAGES is available in <locale.h>.
-
-AC_DEFUN([AM_LC_MESSAGES],
-[
- AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
- [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
- am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
- if test $am_cv_val_LC_MESSAGES = yes; then
- AC_DEFINE(HAVE_LC_MESSAGES, 1,
- [Define if your <locale.h> file defines LC_MESSAGES.])
- fi
-])
diff --git a/config/lib-ld.m4 b/config/lib-ld.m4
index 38aeaec1..ebb30528 100644
--- a/config/lib-ld.m4
+++ b/config/lib-ld.m4
@@ -1,10 +1,8 @@
-# lib-ld.m4 serial 3 (gettext-0.13)
-dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# 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/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
@@ -12,7 +10,7 @@ dnl with libtool.m4.
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,
+[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 ld's only accept -v.
case `$LD -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
@@ -25,7 +23,7 @@ with_gnu_ld=$acl_cv_prog_gnu_ld
dnl From libtool-1.4. Sets the variable LD.
AC_DEFUN([AC_LIB_PROG_LD],
-[AC_ARG_WITH(gnu-ld,
+[AC_ARG_WITH([gnu-ld],
[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
AC_REQUIRE([AC_PROG_CC])dnl
@@ -61,7 +59,7 @@ if test "$GCC" = yes; then
# 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%/%"`
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
done
test -z "$LD" && LD="$ac_prog"
;;
@@ -79,7 +77,7 @@ elif test "$with_gnu_ld" = yes; then
else
AC_MSG_CHECKING([for non-GNU ld])
fi
-AC_CACHE_VAL(acl_cv_path_LD,
+AC_CACHE_VAL([acl_cv_path_LD],
[if test -z "$LD"; then
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
for ac_dir in $PATH; do
@@ -91,9 +89,9 @@ AC_CACHE_VAL(acl_cv_path_LD,
# Break only if it was the GNU/non-GNU ld that we prefer.
case `"$acl_cv_path_LD" -v 2>&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
@@ -103,9 +101,9 @@ else
fi])
LD="$acl_cv_path_LD"
if test -n "$LD"; then
- AC_MSG_RESULT($LD)
+ AC_MSG_RESULT([$LD])
else
- AC_MSG_RESULT(no)
+ AC_MSG_RESULT([no])
fi
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
AC_LIB_PROG_LD_GNU
diff --git a/config/lib-link.m4 b/config/lib-link.m4
index eeb200d2..c73bd8e3 100644
--- a/config/lib-link.m4
+++ b/config/lib-link.m4
@@ -1,58 +1,66 @@
-# lib-link.m4 serial 4 (gettext-0.12)
-dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# 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.
dnl From Bruno Haible.
+AC_PREREQ([2.54])
+
dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
dnl the libraries corresponding to explicit and implicit dependencies.
dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
dnl augments the CPPFLAGS variable.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
AC_DEFUN([AC_LIB_LINKFLAGS],
[
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
AC_REQUIRE([AC_LIB_RPATH])
- define([Name],[translit([$1],[./-], [___])])
- define([NAME],[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"
ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
+ ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
])
LIB[]NAME="$ac_cv_lib[]Name[]_libs"
LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
+ LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
AC_SUBST([LIB]NAME)
AC_SUBST([LTLIB]NAME)
+ AC_SUBST([LIB]NAME[_PREFIX])
dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
dnl results of this search when this library appears as a dependency.
HAVE_LIB[]NAME=yes
- undefine([Name])
- undefine([NAME])
+ popdef([NAME])
+ popdef([Name])
])
-dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
dnl searches for libname and the libraries corresponding to explicit and
dnl implicit dependencies, together with the specified include files and
-dnl the ability to compile and link the specified testcode. If found, it
-dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
-dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl the ability to compile and link the specified testcode. The missing-message
+dnl defaults to 'no' and may contain additional hints for the user.
+dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
+dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
[
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
AC_REQUIRE([AC_LIB_RPATH])
- define([Name],[translit([$1],[./-], [___])])
- define([NAME],[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.
@@ -66,13 +74,25 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
ac_save_LIBS="$LIBS"
- LIBS="$LIBS $LIB[]NAME"
- AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
+ dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
+ dnl because these -l options might require -L options that are present in
+ dnl LIBS. -l options benefit only from the -L options listed before it.
+ dnl Otherwise, add it to the front of LIBS, because it may be a static
+ dnl library that depends on another static library that is present in LIBS.
+ dnl Static libraries benefit only from the static libraries listed after
+ dnl it.
+ case " $LIB[]NAME" in
+ *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
+ *) LIBS="$LIB[]NAME $LIBS" ;;
+ esac
+ AC_TRY_LINK([$3], [$4],
+ [ac_cv_lib[]Name=yes],
+ [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
LIBS="$ac_save_LIBS"
])
if test "$ac_cv_lib[]Name" = yes; then
HAVE_LIB[]NAME=yes
- AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
+ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
AC_MSG_CHECKING([how to link with lib[]$1])
AC_MSG_RESULT([$LIB[]NAME])
else
@@ -82,24 +102,32 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
CPPFLAGS="$ac_save_CPPFLAGS"
LIB[]NAME=
LTLIB[]NAME=
+ LIB[]NAME[]_PREFIX=
fi
AC_SUBST([HAVE_LIB]NAME)
AC_SUBST([LIB]NAME)
AC_SUBST([LTLIB]NAME)
- undefine([Name])
- undefine([NAME])
+ AC_SUBST([LIB]NAME[_PREFIX])
+ popdef([NAME])
+ popdef([Name])
])
dnl Determine the platform dependent parameters needed to use rpath:
-dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
-dnl hardcode_direct, hardcode_minus_L.
+dnl acl_libext,
+dnl acl_shlibext,
+dnl acl_hardcode_libdir_flag_spec,
+dnl acl_hardcode_libdir_separator,
+dnl acl_hardcode_direct,
+dnl acl_hardcode_minus_L.
AC_DEFUN([AC_LIB_RPATH],
[
+ dnl Tell automake >= 1.10 to complain if config.rpath is missing.
+ m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
- AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
+ AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
. ./conftest.sh
@@ -107,34 +135,66 @@ AC_DEFUN([AC_LIB_RPATH],
acl_cv_rpath=done
])
wl="$acl_cv_wl"
- libext="$acl_cv_libext"
- shlibext="$acl_cv_shlibext"
- hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
- hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
- hardcode_direct="$acl_cv_hardcode_direct"
- hardcode_minus_L="$acl_cv_hardcode_minus_L"
+ acl_libext="$acl_cv_libext"
+ acl_shlibext="$acl_cv_shlibext"
+ acl_libname_spec="$acl_cv_libname_spec"
+ acl_library_names_spec="$acl_cv_library_names_spec"
+ acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+ acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+ acl_hardcode_direct="$acl_cv_hardcode_direct"
+ acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
dnl Determine whether the user wants rpath handling at all.
- AC_ARG_ENABLE(rpath,
+ AC_ARG_ENABLE([rpath],
[ --disable-rpath do not hardcode runtime library paths],
:, enable_rpath=yes)
])
+dnl AC_LIB_FROMPACKAGE(name, package)
+dnl declares that libname comes from the given package. The configure file
+dnl will then not have a --with-libname-prefix option but a
+dnl --with-package-prefix option. Several libraries can come from the same
+dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
+dnl macro call that searches for libname.
+AC_DEFUN([AC_LIB_FROMPACKAGE],
+[
+ pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ define([acl_frompackage_]NAME, [$2])
+ popdef([NAME])
+ pushdef([PACK],[$2])
+ pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ define([acl_libsinpackage_]PACKUP,
+ m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1])
+ popdef([PACKUP])
+ popdef([PACK])
+])
+
dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
dnl the libraries corresponding to explicit and implicit dependencies.
dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
+dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
+dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
[
- define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
+ 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],[translit(PACK,[.],[_])],PACK)])
dnl By default, look in $includedir and $libdir.
use_additional=yes
AC_LIB_WITH_FINAL_PREFIX([
eval additional_includedir=\"$includedir\"
eval additional_libdir=\"$libdir\"
])
- AC_LIB_ARG_WITH([lib$1-prefix],
-[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
- --without-lib$1-prefix don't search for lib$1 in includedir and libdir],
+ AC_ARG_WITH(P_A_C_K[-prefix],
+[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib
+ --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]],
[
if test "X$withval" = "Xno"; then
use_additional=no
@@ -146,7 +206,11 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
])
else
additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
+ additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
+ fi
fi
fi
])
@@ -155,6 +219,10 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
LIB[]NAME=
LTLIB[]NAME=
INC[]NAME=
+ LIB[]NAME[]_PREFIX=
+ dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
+ dnl computed. So it has to be reset here.
+ HAVE_LIB[]NAME=
rpathdirs=
ltrpathdirs=
names_already_handled=
@@ -194,22 +262,55 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
found_la=
found_so=
found_a=
+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
+ if test -n "$acl_shlibext"; then
+ shrext=".$acl_shlibext" # typically: shrext=.so
+ else
+ shrext=
+ fi
if test $use_additional = yes; then
- if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
- found_dir="$additional_libdir"
- found_so="$additional_libdir/lib$name.$shlibext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- else
- if test -f "$additional_libdir/lib$name.$libext"; then
- found_dir="$additional_libdir"
- found_a="$additional_libdir/lib$name.$libext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
+ dir="$additional_libdir"
+ dnl The same code as in the loop below:
+ dnl First look for a shared library.
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
fi
fi
fi
+ dnl Then look for a static library.
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
fi
if test "X$found_dir" = "X"; then
for x in $LDFLAGS $LTLIB[]NAME; do
@@ -217,21 +318,46 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
case "$x" in
-L*)
dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
- found_dir="$dir"
- found_so="$dir/lib$name.$shlibext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- else
- if test -f "$dir/lib$name.$libext"; then
+ dnl First look for a shared library.
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
found_dir="$dir"
- found_a="$dir/lib$name.$libext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
fi
fi
fi
+ dnl Then look for a static library.
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
;;
esac
if test "X$found_dir" != "X"; then
@@ -246,7 +372,9 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
dnl Linking with a shared library. We attempt to hardcode its
dnl directory into the executable's runpath, unless it's the
dnl standard /usr/lib.
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
dnl No hardcoding is needed.
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
else
@@ -265,12 +393,12 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
ltrpathdirs="$ltrpathdirs $found_dir"
fi
dnl The hardcoding into $LIBNAME is system dependent.
- if test "$hardcode_direct" = yes; then
+ if test "$acl_hardcode_direct" = yes; then
dnl Using DIR/libNAME.so during linking hardcodes DIR into the
dnl resulting binary.
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
else
- if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
dnl Use an explicit option to hardcode DIR into the resulting
dnl binary.
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
@@ -301,13 +429,13 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
if test -z "$haveit"; then
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
fi
- if test "$hardcode_minus_L" != no; then
+ if test "$acl_hardcode_minus_L" != no; then
dnl FIXME: Not sure whether we should use
dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
dnl here.
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
else
- dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
+ dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
dnl here, because this doesn't fit in flags passed to the
dnl compiler. So give up. No hardcoding. This affects only
dnl very old systems.
@@ -332,8 +460,18 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
dnl Assume the include files are nearby.
additional_includedir=
case "$found_dir" in
- */lib | */lib/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+ */$acl_libdirstem | */$acl_libdirstem/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ if test "$name" = '$1'; then
+ LIB[]NAME[]_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = '$1'; then
+ LIB[]NAME[]_PREFIX="$basedir"
+ fi
additional_includedir="$basedir/include"
;;
esac
@@ -350,7 +488,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
if test "X$additional_includedir" = "X/usr/local/include"; then
if test -n "$GCC"; then
case $host_os in
- linux*) haveit=yes;;
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
esac
fi
fi
@@ -394,12 +532,14 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
dnl 3. if it's already present in $LDFLAGS or the already
dnl constructed $LIBNAME,
dnl 4. if it doesn't exist as a directory.
- if test "X$additional_libdir" != "X/usr/lib"; then
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
haveit=
- if test "X$additional_libdir" = "X/usr/local/lib"; then
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
if test -n "$GCC"; then
case $host_os in
- linux*) haveit=yes;;
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
esac
fi
fi
@@ -495,18 +635,18 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
done
done
if test "X$rpathdirs" != "X"; then
- if test -n "$hardcode_libdir_separator"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
dnl Weird platform: only the last -rpath option counts, the user must
dnl pass all path elements in one option. We can arrange that for a
dnl single library, but not when more than one $LIBNAMEs are used.
alldirs=
for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
done
- dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
+ dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
acl_save_libdir="$libdir"
libdir="$alldirs"
- eval flag=\"$hardcode_libdir_flag_spec\"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
else
@@ -514,7 +654,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
for found_dir in $rpathdirs; do
acl_save_libdir="$libdir"
libdir="$found_dir"
- eval flag=\"$hardcode_libdir_flag_spec\"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
done
@@ -527,6 +667,11 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
done
fi
+ popdef([P_A_C_K])
+ popdef([PACKLIBS])
+ popdef([PACKUP])
+ popdef([PACK])
+ popdef([NAME])
])
dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
@@ -549,3 +694,81 @@ AC_DEFUN([AC_LIB_APPENDTOVAR],
fi
done
])
+
+dnl For those cases where a variable contains several -L and -l options
+dnl referring to unknown libraries and directories, this macro determines the
+dnl necessary additional linker options for the runtime path.
+dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
+dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
+dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
+dnl otherwise linking without libtool is assumed.
+AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
+[
+ AC_REQUIRE([AC_LIB_RPATH])
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ $1=
+ if test "$enable_rpath" != no; then
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+ dnl Use an explicit option to hardcode directories into the resulting
+ dnl binary.
+ rpathdirs=
+ next=
+ for opt in $2; do
+ if test -n "$next"; then
+ dir="$next"
+ dnl No need to hardcode the standard /usr/lib.
+ if test "X$dir" != "X/usr/$acl_libdirstem" \
+ && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ next=
+ else
+ case $opt in
+ -L) next=yes ;;
+ -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
+ dnl No need to hardcode the standard /usr/lib.
+ if test "X$dir" != "X/usr/$acl_libdirstem" \
+ && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ next= ;;
+ *) next= ;;
+ esac
+ fi
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n ""$3""; then
+ dnl libtool is used for linking. Use -R options.
+ for dir in $rpathdirs; do
+ $1="${$1}${$1:+ }-R$dir"
+ done
+ else
+ dnl The linker is used for linking directly.
+ if test -n "$acl_hardcode_libdir_separator"; then
+ dnl Weird platform: only the last -rpath option counts, the user
+ dnl must pass all path elements in one option.
+ alldirs=
+ for dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
+ done
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ $1="$flag"
+ else
+ dnl The -rpath options are cumulative.
+ for dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$dir"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ $1="${$1}${$1:+ }$flag"
+ done
+ fi
+ fi
+ fi
+ fi
+ fi
+ AC_SUBST([$1])
+])
diff --git a/config/lib-prefix.m4 b/config/lib-prefix.m4
index 8aff5a9d..1601ceae 100644
--- a/config/lib-prefix.m4
+++ b/config/lib-prefix.m4
@@ -1,10 +1,8 @@
-# lib-prefix.m4 serial 3 (gettext-0.13)
-dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# lib-prefix.m4 serial 7 (gettext-0.18)
+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.
dnl From Bruno Haible.
@@ -26,6 +24,7 @@ AC_DEFUN([AC_LIB_PREFIX],
AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
dnl By default, look in $includedir and $libdir.
use_additional=yes
@@ -47,7 +46,7 @@ AC_DEFUN([AC_LIB_PREFIX],
])
else
additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
+ additional_libdir="$withval/$acl_libdirstem"
fi
fi
])
@@ -71,7 +70,7 @@ AC_DEFUN([AC_LIB_PREFIX],
if test "X$additional_includedir" = "X/usr/local/include"; then
if test -n "$GCC"; then
case $host_os in
- linux*) haveit=yes;;
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
esac
fi
fi
@@ -89,7 +88,7 @@ AC_DEFUN([AC_LIB_PREFIX],
dnl 2. if it's already present in $LDFLAGS,
dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
dnl 4. if it doesn't exist as a directory.
- if test "X$additional_libdir" != "X/usr/lib"; then
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
haveit=
for x in $LDFLAGS; do
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
@@ -99,7 +98,7 @@ AC_DEFUN([AC_LIB_PREFIX],
fi
done
if test -z "$haveit"; then
- if test "X$additional_libdir" = "X/usr/local/lib"; then
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
if test -n "$GCC"; then
case $host_os in
linux*) haveit=yes;;
@@ -153,3 +152,73 @@ AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
exec_prefix="$acl_save_exec_prefix"
prefix="$acl_save_prefix"
])
+
+dnl AC_LIB_PREPARE_MULTILIB creates
+dnl - a variable acl_libdirstem, containing the basename of the libdir, either
+dnl "lib" or "lib64" or "lib/64",
+dnl - a variable acl_libdirstem2, as a secondary possible value for
+dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
+dnl "lib/amd64".
+AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
+[
+ dnl There is no formal standard regarding lib and lib64.
+ dnl On glibc systems, the current practice is that on a system supporting
+ dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+ dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
+ dnl the compiler's default mode by looking at the compiler's library search
+ dnl path. If at least one of its elements ends in /lib64 or points to a
+ dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
+ dnl Otherwise we use the default, namely "lib".
+ dnl On Solaris systems, the current practice is that on a system supporting
+ dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+ dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
+ dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ acl_libdirstem=lib
+ acl_libdirstem2=
+ case "$host_os" in
+ solaris*)
+ dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
+ dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
+ dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
+ dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
+ dnl symlink is missing, so we set acl_libdirstem2 too.
+ AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
+ [AC_EGREP_CPP([sixtyfour bits], [
+#ifdef _LP64
+sixtyfour bits
+#endif
+ ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
+ ])
+ if test $gl_cv_solaris_64bit = yes; then
+ acl_libdirstem=lib/64
+ case "$host_cpu" in
+ sparc*) acl_libdirstem2=lib/sparcv9 ;;
+ i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+ esac
+ fi
+ ;;
+ *)
+ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+ if test -n "$searchpath"; then
+ acl_save_IFS="${IFS= }"; IFS=":"
+ for searchdir in $searchpath; do
+ if test -d "$searchdir"; then
+ case "$searchdir" in
+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+ */../ | */.. )
+ # Better ignore directories of this form. They are misleading.
+ ;;
+ *) searchdir=`cd "$searchdir" && pwd`
+ case "$searchdir" in
+ */lib64 ) acl_libdirstem=lib64 ;;
+ esac ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_IFS"
+ fi
+ ;;
+ esac
+ test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+])
diff --git a/config/longdouble.m4 b/config/longdouble.m4
deleted file mode 100644
index 1333d2f5..00000000
--- a/config/longdouble.m4
+++ /dev/null
@@ -1,30 +0,0 @@
-# longdouble.m4 serial 1 (gettext-0.12)
-dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Bruno Haible.
-dnl Test whether the compiler supports the 'long double' type.
-dnl Prerequisite: AC_PROG_CC
-
-AC_DEFUN([gt_TYPE_LONGDOUBLE],
-[
- AC_CACHE_CHECK([for long double], gt_cv_c_long_double,
- [if test "$GCC" = yes; then
- gt_cv_c_long_double=yes
- else
- AC_TRY_COMPILE([
- /* The Stardent Vistra knows sizeof(long double), but does not support it. */
- long double foo = 0.0;
- /* On Ultrix 4.3 cc, long double is 4 and double is 8. */
- int array [2*(sizeof(long double) >= sizeof(double)) - 1];
- ], ,
- gt_cv_c_long_double=yes, gt_cv_c_long_double=no)
- fi])
- if test $gt_cv_c_long_double = yes; then
- AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.])
- fi
-])
diff --git a/config/longlong.m4 b/config/longlong.m4
deleted file mode 100644
index d7d7350b..00000000
--- a/config/longlong.m4
+++ /dev/null
@@ -1,25 +0,0 @@
-# longlong.m4 serial 4
-dnl Copyright (C) 1999-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Paul Eggert.
-
-# Define HAVE_LONG_LONG if 'long long' works.
-
-AC_DEFUN([jm_AC_TYPE_LONG_LONG],
-[
- AC_CACHE_CHECK([for long long], ac_cv_type_long_long,
- [AC_TRY_LINK([long long ll = 1LL; int i = 63;],
- [long long llmax = (long long) -1;
- return ll << i | ll >> i | llmax / ll | llmax % ll;],
- ac_cv_type_long_long=yes,
- ac_cv_type_long_long=no)])
- if test $ac_cv_type_long_long = yes; then
- AC_DEFINE(HAVE_LONG_LONG, 1,
- [Define if you have the 'long long' type.])
- fi
-])
diff --git a/config/mdate-sh b/config/mdate-sh
index e631b221..b3719cf7 100755
--- a/config/mdate-sh
+++ b/config/mdate-sh
@@ -1,10 +1,9 @@
#!/bin/sh
# Get modification time of a file or directory and pretty-print it.
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2010-08-21.06; # UTC
-# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007, 2009 Free
-# Software Foundation, Inc.
+# Copyright (C) 1995-2013 Free Software Foundation, Inc.
# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
#
# This program is free software; you can redistribute it and/or modify
@@ -29,16 +28,26 @@ scriptversion=2009-04-28.21; # UTC
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+fi
+
case $1 in
'')
- echo "$0: No file. Try \`$0 --help' for more information." 1>&2
+ echo "$0: No file. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: mdate-sh [--help] [--version] FILE
-Pretty-print the modification time of FILE.
+Pretty-print the modification day of FILE, in the format:
+1 January 1970
Report bugs to <bug-automake@gnu.org>.
EOF
@@ -50,6 +59,13 @@ EOF
;;
esac
+error ()
+{
+ echo "$0: $1" >&2
+ exit 1
+}
+
+
# Prevent date giving response in another language.
LANG=C
export LANG
@@ -59,7 +75,7 @@ LC_TIME=C
export LC_TIME
# GNU ls changes its time format in response to the TIME_STYLE
-# variable. Since we cannot assume `unset' works, revert this
+# variable. Since we cannot assume 'unset' works, revert this
# variable to its documented default.
if test "${TIME_STYLE+set}" = set; then
TIME_STYLE=posix-long-iso
@@ -79,14 +95,14 @@ if ls -n /dev/null 1>/dev/null 2>&1; then
ls_command="$ls_command -n"
fi
-# A `ls -l' line looks as follows on OS/2.
+# A 'ls -l' line looks as follows on OS/2.
# drwxrwx--- 0 Aug 11 2001 foo
# This differs from Unix, which adds ownership information.
# drwxrwx--- 2 root root 4096 Aug 11 2001 foo
#
# To find the date, we split the line on spaces and iterate on words
# until we find a month. This cannot work with files whose owner is a
-# user named `Jan', or `Feb', etc. However, it's unlikely that `/'
+# user named "Jan", or "Feb", etc. However, it's unlikely that '/'
# will be owned by a user whose name is a month. So we first look at
# the extended ls output of the root directory to decide how many
# words should be skipped to get the date.
@@ -99,6 +115,7 @@ month=
command=
until test $month
do
+ test $# -gt 0 || error "failed parsing '$ls_command /' output"
shift
# Add another shift to the command.
command="$command shift;"
@@ -118,8 +135,10 @@ do
esac
done
+test -n "$month" || error "failed parsing '$ls_command /' output"
+
# Get the extended ls output of the file or directory.
-set dummy x`eval "$ls_command \"\$save_arg1\""`
+set dummy x`eval "$ls_command \"\\\$save_arg1\""`
# Remove all preceding arguments
eval $command
diff --git a/config/missing b/config/missing
index 28055d2a..db98974f 100755
--- a/config/missing
+++ b/config/missing
@@ -1,11 +1,10 @@
#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
+# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2013-10-28.13; # UTC
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -26,69 +25,40 @@ scriptversion=2009-04-28.21; # UTC
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
- echo 1>&2 "Try \`$0 --help' for more information"
+ echo 1>&2 "Try '$0 --help' for more information"
exit 1
fi
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
- configure_ac=configure.ac
-else
- configure_ac=configure.in
-fi
+case $1 in
-msg="missing on your system"
+ --is-lightweight)
+ # Used by our autoconf macros to check whether the available missing
+ # script is modern enough.
+ exit 0
+ ;;
-case $1 in
---run)
- # Try to run requested program, and just exit if it succeeds.
- run=
- shift
- "$@" && exit 0
- # Exit code 63 means version mismatch. This often happens
- # when the user try to use an ancient version of a tool on
- # a file that requires a minimum version. In this case we
- # we should proceed has if the program had been absent, or
- # if --run hadn't been passed.
- if test $? = 63; then
- run=:
- msg="probably too old"
- fi
- ;;
+ --run)
+ # Back-compat with the calling convention used by older automake.
+ shift
+ ;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
- --run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
- aclocal touch file \`aclocal.m4'
- autoconf touch file \`configure'
- autoheader touch file \`config.h.in'
- autom4te touch the output file, or create a stub one
- automake touch all \`Makefile.in' files
- bison create \`y.tab.[ch]', if possible, from existing .[ch]
- flex create \`lex.yy.c', if possible, from existing .c
- help2man touch the output file
- lex create \`lex.yy.c', if possible, from existing .c
- makeinfo touch the output file
- tar try tar, gnutar, gtar, then tar without non-portable flags
- yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+ aclocal autoconf autoheader autom4te automake makeinfo
+ bison yacc flex lex help2man
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
Send bug reports to <bug-automake@gnu.org>."
exit $?
@@ -100,272 +70,141 @@ Send bug reports to <bug-automake@gnu.org>."
;;
-*)
- echo 1>&2 "$0: Unknown \`$1' option"
- echo 1>&2 "Try \`$0 --help' for more information"
+ echo 1>&2 "$0: unknown '$1' option"
+ echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
esac
-# normalize program name to check for.
-program=`echo "$1" | sed '
- s/^gnu-//; t
- s/^gnu//; t
- s/^g//; t'`
-
-# Now exit if we have it, but it failed. Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program). This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
- lex*|yacc*)
- # Not GNU programs, they don't have --version.
- ;;
-
- tar*)
- if test -n "$run"; then
- echo 1>&2 "ERROR: \`tar' requires --run"
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- exit 1
- fi
- ;;
-
- *)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- # Could not run --version or --help. This is probably someone
- # running `$TOOL --version' or `$TOOL --help' to check whether
- # $TOOL exists and not knowing $TOOL uses missing.
- exit 1
- fi
- ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
- aclocal*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acinclude.m4' or \`${configure_ac}'. You might want
- to install the \`Automake' and \`Perl' packages. Grab them from
- any GNU archive site."
- touch aclocal.m4
- ;;
-
- autoconf*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`${configure_ac}'. You might want to install the
- \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
- archive site."
- touch configure
- ;;
-
- autoheader*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acconfig.h' or \`${configure_ac}'. You might want
- to install the \`Autoconf' and \`GNU m4' packages. Grab them
- from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
- test -z "$files" && files="config.h"
- touch_files=
- for f in $files; do
- case $f in
- *:*) touch_files="$touch_files "`echo "$f" |
- sed -e 's/^[^:]*://' -e 's/:.*//'`;;
- *) touch_files="$touch_files $f.in";;
- esac
- done
- touch $touch_files
- ;;
-
- automake*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
- You might want to install the \`Automake' and \`Perl' packages.
- Grab them from any GNU archive site."
- find . -type f -name Makefile.am -print |
- sed 's/\.am$/.in/' |
- while read f; do touch "$f"; done
- ;;
-
- autom4te*)
- echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
- You might have modified some files without having the
- proper tools for further handling them.
- You can get \`$1' as part of \`Autoconf' from any GNU
- archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo "#! /bin/sh"
- echo "# Created by GNU Automake missing as a replacement of"
- echo "# $ $@"
- echo "exit 0"
- chmod +x $file
- exit 1
- fi
- ;;
-
- bison*|yacc*)
- echo 1>&2 "\
-WARNING: \`$1' $msg. You should only need it if
- you modified a \`.y' file. You may need the \`Bison' package
- in order for those modifications to take effect. You can get
- \`Bison' from any GNU archive site."
- rm -f y.tab.c y.tab.h
- if test $# -ne 1; then
- eval LASTARG="\${$#}"
- case $LASTARG in
- *.y)
- SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.c
- fi
- SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.h
- fi
- ;;
- esac
- fi
- if test ! -f y.tab.h; then
- echo >y.tab.h
- fi
- if test ! -f y.tab.c; then
- echo 'main() { return 0; }' >y.tab.c
- fi
- ;;
-
- lex*|flex*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.l' file. You may need the \`Flex' package
- in order for those modifications to take effect. You can get
- \`Flex' from any GNU archive site."
- rm -f lex.yy.c
- if test $# -ne 1; then
- eval LASTARG="\${$#}"
- case $LASTARG in
- *.l)
- SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" lex.yy.c
- fi
- ;;
- esac
- fi
- if test ! -f lex.yy.c; then
- echo 'main() { return 0; }' >lex.yy.c
- fi
- ;;
-
- help2man*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a dependency of a manual page. You may need the
- \`Help2man' package in order for those modifications to take
- effect. You can get \`Help2man' from any GNU archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo ".ab help2man is required to generate this page"
- exit $?
- fi
- ;;
-
- makeinfo*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.texi' or \`.texinfo' file, or any other file
- indirectly affecting the aspect of the manual. The spurious
- call might also be the consequence of using a buggy \`make' (AIX,
- DU, IRIX). You might want to install the \`Texinfo' package or
- the \`GNU make' package. Grab either from any GNU archive site."
- # The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -z "$file"; then
- # ... or it is the one specified with @setfilename ...
- infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '
- /^@setfilename/{
- s/.* \([^ ]*\) *$/\1/
- p
- q
- }' $infile`
- # ... or it is derived from the source name (dir/f.texi becomes f.info)
- test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
- fi
- # If the file does not exist, the user really needs makeinfo;
- # let's fail without touching anything.
- test -f $file || exit 1
- touch $file
- ;;
-
- tar*)
- shift
-
- # We have already tried tar in the generic part.
- # Look for gnutar/gtar before invocation to avoid ugly error
- # messages.
- if (gnutar --version > /dev/null 2>&1); then
- gnutar "$@" && exit 0
- fi
- if (gtar --version > /dev/null 2>&1); then
- gtar "$@" && exit 0
- fi
- firstarg="$1"
- if shift; then
- case $firstarg in
- *o*)
- firstarg=`echo "$firstarg" | sed s/o//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- case $firstarg in
- *h*)
- firstarg=`echo "$firstarg" | sed s/h//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- fi
-
- echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
- You may want to install GNU tar or Free paxutils, or check the
- command line arguments."
- exit 1
- ;;
-
- *)
- echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
- You might have modified some files without having the
- proper tools for further handling them. Check the \`README' file,
- it often tells you about the needed prerequisites for installing
- this package. You may also peek at any GNU archive site, in case
- some other package would contain this missing \`$1' program."
- exit 1
- ;;
-esac
+# Run the given program, remember its exit status.
+"$@"; st=$?
+
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
+
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch. This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+ msg="probably too old"
+elif test $st -eq 127; then
+ # Program was missing.
+ msg="missing on your system"
+else
+ # Program was found and executed, but failed. Give up.
+ exit $st
+fi
-exit 0
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+ case $1 in
+ aclocal|automake)
+ echo "The '$1' program is part of the GNU Automake package:"
+ echo "<$gnu_software_URL/automake>"
+ echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/autoconf>"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ autoconf|autom4te|autoheader)
+ echo "The '$1' program is part of the GNU Autoconf package:"
+ echo "<$gnu_software_URL/autoconf/>"
+ echo "It also requires GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ esac
+}
+
+give_advice ()
+{
+ # Normalize program name to check for.
+ normalized_program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+ printf '%s\n' "'$1' is $msg."
+
+ configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+ case $normalized_program in
+ autoconf*)
+ echo "You should only need it if you modified 'configure.ac',"
+ echo "or m4 files included by it."
+ program_details 'autoconf'
+ ;;
+ autoheader*)
+ echo "You should only need it if you modified 'acconfig.h' or"
+ echo "$configure_deps."
+ program_details 'autoheader'
+ ;;
+ automake*)
+ echo "You should only need it if you modified 'Makefile.am' or"
+ echo "$configure_deps."
+ program_details 'automake'
+ ;;
+ aclocal*)
+ echo "You should only need it if you modified 'acinclude.m4' or"
+ echo "$configure_deps."
+ program_details 'aclocal'
+ ;;
+ autom4te*)
+ echo "You might have modified some maintainer files that require"
+ echo "the 'autom4te' program to be rebuilt."
+ program_details 'autom4te'
+ ;;
+ bison*|yacc*)
+ echo "You should only need it if you modified a '.y' file."
+ echo "You may want to install the GNU Bison package:"
+ echo "<$gnu_software_URL/bison/>"
+ ;;
+ lex*|flex*)
+ echo "You should only need it if you modified a '.l' file."
+ echo "You may want to install the Fast Lexical Analyzer package:"
+ echo "<$flex_URL>"
+ ;;
+ help2man*)
+ echo "You should only need it if you modified a dependency" \
+ "of a man page."
+ echo "You may want to install the GNU Help2man package:"
+ echo "<$gnu_software_URL/help2man/>"
+ ;;
+ makeinfo*)
+ echo "You should only need it if you modified a '.texi' file, or"
+ echo "any other file indirectly affecting the aspect of the manual."
+ echo "You might want to install the Texinfo package:"
+ echo "<$gnu_software_URL/texinfo/>"
+ echo "The spurious makeinfo call might also be the consequence of"
+ echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+ echo "want to install GNU make:"
+ echo "<$gnu_software_URL/make/>"
+ ;;
+ *)
+ echo "You might have modified some files without having the proper"
+ echo "tools for further handling them. Check the 'README' file, it"
+ echo "often tells you about the needed prerequisites for installing"
+ echo "this package. You may also peek at any GNU archive site, in"
+ echo "case some other package contains this missing '$1' program."
+ ;;
+ esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+ -e '2,$s/^/ /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
diff --git a/config/mkinstalldirs b/config/mkinstalldirs
deleted file mode 100755
index d2d5f21b..00000000
--- a/config/mkinstalldirs
+++ /dev/null
@@ -1,111 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain
-
-errstatus=0
-dirmode=""
-
-usage="\
-Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
-
-# process command line arguments
-while test $# -gt 0 ; do
- case $1 in
- -h | --help | --h*) # -h for help
- echo "$usage" 1>&2
- exit 0
- ;;
- -m) # -m PERM arg
- shift
- test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
- dirmode=$1
- shift
- ;;
- --) # stop option processing
- shift
- break
- ;;
- -*) # unknown option
- echo "$usage" 1>&2
- exit 1
- ;;
- *) # first non-opt arg
- break
- ;;
- esac
-done
-
-for file
-do
- if test -d "$file"; then
- shift
- else
- break
- fi
-done
-
-case $# in
- 0) exit 0 ;;
-esac
-
-case $dirmode in
- '')
- if mkdir -p -- . 2>/dev/null; then
- echo "mkdir -p -- $*"
- exec mkdir -p -- "$@"
- fi
- ;;
- *)
- if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
- echo "mkdir -m $dirmode -p -- $*"
- exec mkdir -m "$dirmode" -p -- "$@"
- fi
- ;;
-esac
-
-for file
-do
- set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
- shift
-
- pathcomp=
- for d
- do
- pathcomp="$pathcomp$d"
- case $pathcomp in
- -*) pathcomp=./$pathcomp ;;
- esac
-
- if test ! -d "$pathcomp"; then
- echo "mkdir $pathcomp"
-
- mkdir "$pathcomp" || lasterr=$?
-
- if test ! -d "$pathcomp"; then
- errstatus=$lasterr
- else
- if test ! -z "$dirmode"; then
- echo "chmod $dirmode $pathcomp"
- lasterr=""
- chmod "$dirmode" "$pathcomp" || lasterr=$?
-
- if test ! -z "$lasterr"; then
- errstatus=$lasterr
- fi
- fi
- fi
- fi
-
- pathcomp="$pathcomp/"
- done
-done
-
-exit $errstatus
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# End:
-# mkinstalldirs ends here
diff --git a/config/nls.m4 b/config/nls.m4
index 36bc4931..003704c4 100644
--- a/config/nls.m4
+++ b/config/nls.m4
@@ -1,10 +1,9 @@
-# nls.m4 serial 1 (gettext-0.12)
-dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# nls.m4 serial 5 (gettext-0.18)
+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,
+dnl with or without modifications, as long as this notice is preserved.
dnl
dnl This file can can be used in projects which are not available under
dnl the GNU General Public License or the GNU Library General Public
@@ -19,31 +18,15 @@ dnl Authors:
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+AC_PREREQ([2.50])
+
AC_DEFUN([AM_NLS],
[
AC_MSG_CHECKING([whether NLS is requested])
dnl Default is enabled NLS
- AC_ARG_ENABLE(nls,
+ AC_ARG_ENABLE([nls],
[ --disable-nls do not use Native Language Support],
USE_NLS=$enableval, USE_NLS=yes)
- AC_MSG_RESULT($USE_NLS)
- AC_SUBST(USE_NLS)
-])
-
-AC_DEFUN([AM_MKINSTALLDIRS],
-[
- dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
- dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
- dnl Try to locate it.
- MKINSTALLDIRS=
- if test -n "$ac_aux_dir"; then
- case "$ac_aux_dir" in
- /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
- *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
- esac
- fi
- if test -z "$MKINSTALLDIRS"; then
- MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
- fi
- AC_SUBST(MKINSTALLDIRS)
+ AC_MSG_RESULT([$USE_NLS])
+ AC_SUBST([USE_NLS])
])
diff --git a/config/po.m4 b/config/po.m4
index e1619988..47f36a41 100644
--- a/config/po.m4
+++ b/config/po.m4
@@ -1,10 +1,8 @@
-# po.m4 serial 3 (gettext-0.14)
-dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# 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.
dnl
dnl This file can can be used in projects which are not available under
dnl the GNU General Public License or the GNU Library General Public
@@ -19,14 +17,20 @@ dnl Authors:
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+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([AM_MKINSTALLDIRS])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.18])
+
dnl Perform the following tests also if --disable-nls has been given,
dnl because they are needed for "make dist" to work.
@@ -34,59 +38,61 @@ AC_DEFUN([AM_PO_SUBDIRS],
dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
dnl The second test excludes FreeBSD msgfmt.
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
- [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
+ [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
(if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
:)
- AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+ AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT])
+
+ dnl Test whether it is GNU msgfmt >= 0.15.
+changequote(,)dnl
+ case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
+ *) MSGFMT_015=$MSGFMT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([MSGFMT_015])
+changequote(,)dnl
+ case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
+ *) GMSGFMT_015=$GMSGFMT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([GMSGFMT_015])
dnl Search for GNU xgettext 0.12 or newer in the PATH.
dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
dnl The second test excludes FreeBSD xgettext.
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
- [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
+ [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
(if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
:)
dnl Remove leftover from FreeBSD xgettext call.
rm -f messages.po
+ dnl Test whether it is GNU xgettext >= 0.15.
+changequote(,)dnl
+ case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
+ *) XGETTEXT_015=$XGETTEXT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([XGETTEXT_015])
+
dnl Search for GNU msgmerge 0.11 or newer in the PATH.
AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
- [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
+ [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
- dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
- dnl Test whether we really found GNU msgfmt.
- if test "$GMSGFMT" != ":"; then
- dnl If it is no GNU msgfmt we define it as : so that the
- dnl Makefiles still can work.
- if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
- (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- : ;
- else
- GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
- AC_MSG_RESULT(
- [found $GMSGFMT program is not GNU msgfmt; ignore it])
- GMSGFMT=":"
- fi
- fi
+ dnl Installation directories.
+ dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
+ dnl have to define it here, so that it can be used in po/Makefile.
+ test -n "$localedir" || localedir='${datadir}/locale'
+ AC_SUBST([localedir])
- dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
- dnl Test whether we really found GNU xgettext.
- if test "$XGETTEXT" != ":"; then
- dnl If it is no GNU xgettext we define it as : so that the
- dnl Makefiles still can work.
- if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
- (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- : ;
- else
- AC_MSG_RESULT(
- [found xgettext program is not GNU xgettext; ignore it])
- XGETTEXT=":"
- fi
- dnl Remove leftover from FreeBSD xgettext call.
- rm -f messages.po
- fi
+ dnl Support for AM_XGETTEXT_OPTION.
+ test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
+ AC_SUBST([XGETTEXT_EXTRA_OPTIONS])
- AC_OUTPUT_COMMANDS([
+ AC_CONFIG_COMMANDS([po-directories], [[
for ac_file in $CONFIG_FILES; do
# Support "outfile[:infile[:infile...]]"
case "$ac_file" in
@@ -106,6 +112,9 @@ AC_DEFUN([AM_PO_SUBDIRS],
/*) top_srcdir="$ac_given_srcdir" ;;
*) top_srcdir="$ac_dots$ac_given_srcdir" ;;
esac
+ # Treat a directory as a PO directory if and only if it has a
+ # POTFILES.in file. This allows packages to have multiple PO
+ # directories under different names or in different locations.
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"
@@ -119,12 +128,13 @@ AC_DEFUN([AM_PO_SUBDIRS],
if test -n "$OBSOLETE_ALL_LINGUAS"; then
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" "$ac_given_srcdir/$ac_dir/LINGUAS"`
- # Hide the ALL_LINGUAS assigment from automake.
+ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ # 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 assigment from automake < 1.5.
eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
fi
# Compute POFILES
@@ -194,10 +204,10 @@ AC_DEFUN([AM_PO_SUBDIRS],
fi
;;
esac
- done],
+ done]],
[# Capture the value of obsolete ALL_LINGUAS because we need it to compute
# POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
- # from automake.
+ # from automake < 1.5.
eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
# Capture the value of LINGUAS because we need it to compute CATALOGS.
LINGUAS="${LINGUAS-%UNSET%}"
@@ -283,7 +293,7 @@ x
changequote([,])dnl
# Set POTFILES to the value of the Makefile variable POTFILES.
- sed_x_POTFILES="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`"
+ sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
# Compute POTFILES_DEPS as
# $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
@@ -298,14 +308,14 @@ changequote([,])dnl
fi
if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
# The LINGUAS file contains the set of available languages.
- ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
else
# Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
- sed_x_LINGUAS="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`"
+ 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 assigment from automake.
+ # Hide the ALL_LINGUAS assigment from automake < 1.5.
eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
# Compute POFILES
# as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
@@ -348,7 +358,7 @@ changequote([,])dnl
QMFILES="$QMFILES $srcdirpre$lang.qm"
frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
- frobbedlang=`echo $lang | sed -e 's/_/-/g'`
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
done
# CATALOGS depends on both $ac_dir and the user's LINGUAS
@@ -389,7 +399,7 @@ changequote([,])dnl
QTCATALOGS="$QTCATALOGS $lang.qm"
frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
- frobbedlang=`echo $lang | sed -e 's/_/-/g'`
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
done
fi
@@ -409,7 +419,7 @@ EOF
if grep -l '@CSHARPCATALOGS@' "$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/_/-/g'`
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
cat >> "$ac_file.tmp" <<EOF
$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
@@ -424,3 +434,16 @@ EOF
fi
mv "$ac_file.tmp" "$ac_file"
])
+
+dnl Initializes the accumulator used by AM_XGETTEXT_OPTION.
+AC_DEFUN([AM_XGETTEXT_OPTION_INIT],
+[
+ XGETTEXT_EXTRA_OPTIONS=
+])
+
+dnl Registers an option to be passed to xgettext in the po subdirectory.
+AC_DEFUN([AM_XGETTEXT_OPTION],
+[
+ AC_REQUIRE([AM_XGETTEXT_OPTION_INIT])
+ XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"
+])
diff --git a/config/printf-posix.m4 b/config/printf-posix.m4
deleted file mode 100644
index 186ba6a6..00000000
--- a/config/printf-posix.m4
+++ /dev/null
@@ -1,46 +0,0 @@
-# printf-posix.m4 serial 2 (gettext-0.13.1)
-dnl Copyright (C) 2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Bruno Haible.
-dnl Test whether the printf() function supports POSIX/XSI format strings with
-dnl positions.
-
-AC_DEFUN([gt_PRINTF_POSIX],
-[
- AC_REQUIRE([AC_PROG_CC])
- AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings],
- gt_cv_func_printf_posix,
- [
- AC_TRY_RUN([
-#include <stdio.h>
-#include <string.h>
-/* The string "%2$d %1$d", with dollar characters protected from the shell's
- dollar expansion (possibly an autoconf bug). */
-static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' };
-static char buf[100];
-int main ()
-{
- sprintf (buf, format, 33, 55);
- return (strcmp (buf, "55 33") != 0);
-}], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no,
- [
- AC_EGREP_CPP(notposix, [
-#if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__
- notposix
-#endif
- ], gt_cv_func_printf_posix="guessing no",
- gt_cv_func_printf_posix="guessing yes")
- ])
- ])
- case $gt_cv_func_printf_posix in
- *yes)
- AC_DEFINE(HAVE_POSIX_PRINTF, 1,
- [Define if your printf() function supports format strings with positions.])
- ;;
- esac
-])
diff --git a/config/progtest.m4 b/config/progtest.m4
index 8fe527ce..2d804ac9 100644
--- a/config/progtest.m4
+++ b/config/progtest.m4
@@ -1,10 +1,8 @@
-# progtest.m4 serial 3 (gettext-0.12)
-dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
+# progtest.m4 serial 6 (gettext-0.18)
+dnl Copyright (C) 1996-2003, 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.
dnl
dnl This file can can be used in projects which are not available under
dnl the GNU General Public License or the GNU Library General Public
@@ -18,6 +16,8 @@ dnl They are *not* in the public domain.
dnl Authors:
dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
+AC_PREREQ([2.50])
+
# Search path for a program which passes the given test.
dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
@@ -55,7 +55,7 @@ rm -f conf$$.file
# Extract the first word of "$2", so it can be a program name with args.
set dummy $2; ac_word=[$]2
AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL(ac_cv_path_$1,
+AC_CACHE_VAL([ac_cv_path_$1],
[case "[$]$1" in
[[\\/]]* | ?:[[\\/]]*)
ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
@@ -67,6 +67,7 @@ AC_CACHE_VAL(ac_cv_path_$1,
test -z "$ac_dir" && ac_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
if [$3]; then
ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
break 2
@@ -83,9 +84,9 @@ ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
esac])dnl
$1="$ac_cv_path_$1"
if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
- AC_MSG_RESULT([$]$1)
+ AC_MSG_RESULT([$][$1])
else
- AC_MSG_RESULT(no)
+ AC_MSG_RESULT([no])
fi
-AC_SUBST($1)dnl
+AC_SUBST([$1])dnl
])
diff --git a/config/signed.m4 b/config/signed.m4
deleted file mode 100644
index dc1f54f1..00000000
--- a/config/signed.m4
+++ /dev/null
@@ -1,19 +0,0 @@
-# signed.m4 serial 1 (gettext-0.10.40)
-dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([bh_C_SIGNED],
-[
- AC_CACHE_CHECK([for signed], bh_cv_c_signed,
- [AC_TRY_COMPILE(, [signed char x;], bh_cv_c_signed=yes, bh_cv_c_signed=no)])
- if test $bh_cv_c_signed = no; then
- AC_DEFINE(signed, ,
- [Define to empty if the C compiler doesn't support this keyword.])
- fi
-])
diff --git a/config/size_max.m4 b/config/size_max.m4
deleted file mode 100644
index 5762fc33..00000000
--- a/config/size_max.m4
+++ /dev/null
@@ -1,61 +0,0 @@
-# size_max.m4 serial 2
-dnl Copyright (C) 2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([gl_SIZE_MAX],
-[
- AC_CHECK_HEADERS(stdint.h)
- dnl First test whether the system already has SIZE_MAX.
- AC_MSG_CHECKING([for SIZE_MAX])
- result=
- AC_EGREP_CPP([Found it], [
-#include <limits.h>
-#if HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#ifdef SIZE_MAX
-Found it
-#endif
-], result=yes)
- if test -z "$result"; then
- dnl Define it ourselves. Here we assume that the type 'size_t' is not wider
- dnl than the type 'unsigned long'.
- dnl The _AC_COMPUTE_INT macro works up to LONG_MAX, since it uses 'expr',
- dnl which is guaranteed to work from LONG_MIN to LONG_MAX.
- _AC_COMPUTE_INT([~(size_t)0 / 10], res_hi,
- [#include <stddef.h>], result=?)
- _AC_COMPUTE_INT([~(size_t)0 % 10], res_lo,
- [#include <stddef.h>], result=?)
- _AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint,
- [#include <stddef.h>], result=?)
- if test "$fits_in_uint" = 1; then
- dnl Even though SIZE_MAX fits in an unsigned int, it must be of type
- dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'.
- AC_TRY_COMPILE([#include <stddef.h>
- extern size_t foo;
- extern unsigned long foo;
- ], [], fits_in_uint=0)
- fi
- if test -z "$result"; then
- if test "$fits_in_uint" = 1; then
- result="$res_hi$res_lo"U
- else
- result="$res_hi$res_lo"UL
- fi
- else
- dnl Shouldn't happen, but who knows...
- result='~(size_t)0'
- fi
- fi
- AC_MSG_RESULT([$result])
- if test "$result" != yes; then
- AC_DEFINE_UNQUOTED([SIZE_MAX], [$result],
- [Define as the maximum value of type 'size_t', if the system doesn't define it.])
- fi
-])
diff --git a/config/stdint_h.m4 b/config/stdint_h.m4
deleted file mode 100644
index 32ba7ae7..00000000
--- a/config/stdint_h.m4
+++ /dev/null
@@ -1,28 +0,0 @@
-# stdint_h.m4 serial 3 (gettext-0.12)
-dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Paul Eggert.
-
-# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
-# doesn't clash with <sys/types.h>, and declares uintmax_t.
-
-AC_DEFUN([jm_AC_HEADER_STDINT_H],
-[
- AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
- [AC_TRY_COMPILE(
- [#include <sys/types.h>
-#include <stdint.h>],
- [uintmax_t i = (uintmax_t) -1;],
- jm_ac_cv_header_stdint_h=yes,
- jm_ac_cv_header_stdint_h=no)])
- if test $jm_ac_cv_header_stdint_h = yes; then
- AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
- [Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
- and declares uintmax_t. ])
- fi
-])
diff --git a/config/texinfo.tex b/config/texinfo.tex
index bab1b33d..6312dadb 100644
--- a/config/texinfo.tex
+++ b/config/texinfo.tex
@@ -3,11 +3,11 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2010-06-17.11}
+\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 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
@@ -24,13 +24,14 @@
%
% As a special exception, when this file is read by TeX when processing
% a Texinfo source document, you may use the result without
-% restriction. (This has been our intent since Texinfo was invented.)
+% restriction. This Exception is an additional permission under section 7
+% of the GNU General Public License, version 3 ("GPLv3").
%
% Please try the latest version of texinfo.tex before submitting bug
% reports; you can get the latest version from:
-% http://www.gnu.org/software/texinfo/ (the Texinfo home page), or
-% ftp://tug.org/tex/texinfo.tex
-% (and all CTAN mirrors, see http://www.ctan.org).
+% http://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or
+% http://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or
+% http://www.gnu.org/software/texinfo/ (the Texinfo home page)
% The texinfo.tex in any given distribution could well be out
% of date, so if that's what you're using, please check.
%
@@ -116,10 +117,11 @@
% Set up fixed words for English if not already set.
\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi
\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi
+\ifx\putworderror\undefined \gdef\putworderror{error}\fi
\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi
\ifx\putwordin\undefined \gdef\putwordin{in}\fi
-\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
-\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
+\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
+\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
\ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi
\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi
\ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi
@@ -158,15 +160,18 @@
\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 = `\_
% Ignore a token.
@@ -215,7 +220,7 @@
\tracingmacros2
\tracingrestores1
\showboxbreadth\maxdimen \showboxdepth\maxdimen
- \ifx\eTeXversion\undefined\else % etex gives us more logging
+ \ifx\eTeXversion\thisisundefined\else % etex gives us more logging
\tracingscantokens1
\tracingifs1
\tracinggroups1
@@ -226,6 +231,13 @@
\errorcontextlines16
}%
+% @errormsg{MSG}. Do the index-like expansions on MSG, but if things
+% aren't perfect, it's not the end of the world, being an error message,
+% after all.
+%
+\def\errormsg{\begingroup \indexnofonts \doerrormsg}
+\def\doerrormsg#1{\errmessage{#1}}
+
% add check for \lastpenalty to plain's definitions. If the last thing
% we did was a \nobreak, we don't want to insert more space.
%
@@ -269,9 +281,9 @@
\toks6=\expandafter{\prevsectiondefs}%
\toks8=\expandafter{\lastcolordefs}%
\mark{%
- \the\toks0 \the\toks2
- \noexpand\or \the\toks4 \the\toks6
- \noexpand\else \the\toks8
+ \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
}%
}
% \topmark doesn't work for the very first chapter (after the title
@@ -310,10 +322,13 @@
%
% 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=\pagewidth \texinfochars}
+ %
\ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi
- \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}%
+ \global\setbox\headlinebox = \vbox{\commmonheadfootline \makeheadline}%
+ %
\ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi
- \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}%
+ \global\setbox\footlinebox = \vbox{\commmonheadfootline \makefootline}%
%
{%
% Have to do this stuff outside the \shipout because we want it to
@@ -545,7 +560,7 @@
}
\def\inenvironment#1{%
\ifx#1\empty
- out of any environment%
+ outside of any environment%
\else
in environment \expandafter\string#1%
\fi
@@ -557,7 +572,7 @@
\parseargdef\end{%
\if 1\csname iscond.#1\endcsname
\else
- % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03
+ % The general wording of \badenverr may not be ideal.
\expandafter\checkenv\csname#1\endcsname
\csname E#1\endcsname
\endgroup
@@ -583,7 +598,7 @@
\def\:{\spacefactor=1000 }
% @* forces a line break.
-\def\*{\hfil\break\hbox{}\ignorespaces}
+\def\*{\unskip\hfil\break\hbox{}\ignorespaces}
% @/ allows a line break.
\let\/=\allowbreak
@@ -608,7 +623,7 @@
\else\ifx\temp\offword \plainnonfrenchspacing
\else
\errhelp = \EMsimple
- \errmessage{Unknown @frenchspacing option `\temp', must be on/off}%
+ \errmessage{Unknown @frenchspacing option `\temp', must be on|off}%
\fi\fi
}
@@ -690,15 +705,6 @@ where each line of input produces a line of output.}
\newdimen\mil \mil=0.001in
-% Old definition--didn't work.
-%\parseargdef\need{\par %
-%% This method tries to make TeX break the page naturally
-%% if the depth of the box does not fit.
-%{\baselineskip=0pt%
-%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak
-%\prevdepth=-1000pt
-%}}
-
\parseargdef\need{%
% Ensure vertical mode, so we don't make a big box in the middle of a
% paragraph.
@@ -849,6 +855,7 @@ where each line of input produces a line of output.}
\makevalueexpandable % we want to expand any @value in FILE.
\turnoffactive % and allow special characters in the expansion
\indexnofonts % Allow `@@' and other weird things in file names.
+ \wlog{texinfo.tex: doing @include of #1^^J}%
\edef\temp{\noexpand\input #1 }%
%
% This trickery is to read FILE outside of a group, in case it makes
@@ -884,7 +891,7 @@ where each line of input produces a line of output.}
\def\popthisfilestack{\errthisfilestackempty}
\def\errthisfilestackempty{\errmessage{Internal error:
the stack of filenames is empty.}}
-
+%
\def\thisfile{}
% @center line
@@ -892,36 +899,46 @@ where each line of input produces a line of output.}
%
\parseargdef\center{%
\ifhmode
- \let\next\centerH
+ \let\centersub\centerH
\else
- \let\next\centerV
+ \let\centersub\centerV
\fi
- \next{\hfil \ignorespaces#1\unskip \hfil}%
+ \centersub{\hfil \ignorespaces#1\unskip \hfil}%
+ \let\centersub\relax % don't let the definition persist, just in case
}
-\def\centerH#1{%
- {%
- \hfil\break
- \advance\hsize by -\leftskip
- \advance\hsize by -\rightskip
- \line{#1}%
- \break
- }%
+\def\centerH#1{{%
+ \hfil\break
+ \advance\hsize by -\leftskip
+ \advance\hsize by -\rightskip
+ \line{#1}%
+ \break
+}}
+%
+\newcount\centerpenalty
+\def\centerV#1{%
+ % The idea here is the same as in \startdefun, \cartouche, etc.: if
+ % @center is the first thing after a section heading, we need to wipe
+ % out the negative parskip inserted by \sectionheading, but still
+ % prevent a page break here.
+ \centerpenalty = \lastpenalty
+ \ifnum\centerpenalty>10000 \vskip\parskip \fi
+ \ifnum\centerpenalty>9999 \penalty\centerpenalty \fi
+ \line{\kern\leftskip #1\kern\rightskip}%
}
-\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}}
% @sp n outputs n lines of vertical space
-
+%
\parseargdef\sp{\vskip #1\baselineskip}
% @comment ...line which is ignored...
% @c is the same as @comment
% @ignore ... @end ignore is another way to write a comment
-
+%
\def\comment{\begingroup \catcode`\^^M=\other%
\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
\commentxxx}
{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
-
+%
\let\c=\comment
% @paragraphindent NCHARS
@@ -1078,9 +1095,8 @@ where each line of input produces a line of output.}
\newif\ifpdfmakepagedest
% 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 \undefined,
-% borrowed from ifpdf.sty.
-\ifx\pdfoutput\undefined
+% can be set). So we test for \relax and 0 as well as being undefined.
+\ifx\pdfoutput\thisisundefined
\else
\ifx\pdfoutput\relax
\else
@@ -1095,50 +1111,24 @@ where each line of input produces a line of output.}
% for display in the outlines, and in other places. Thus, we have to
% double any backslashes. Otherwise, a name like "\node" will be
% interpreted as a newline (\n), followed by o, d, e. Not good.
-% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html
-% (and related messages, the final outcome is that it is up to the TeX
-% user to double the backslashes and otherwise make the string valid, so
-% that's what we do).
-
-% double active backslashes.
-%
-{\catcode`\@=0 \catcode`\\=\active
- @gdef@activebackslashdouble{%
- @catcode`@\=@active
- @let\=@doublebackslash}
-}
-
-% To handle parens, we must adopt a different approach, since parens are
-% not active characters. hyperref.dtx (which has the same problem as
-% us) handles it with this amazing macro to replace tokens, with minor
-% changes for Texinfo. It is included here under the GPL by permission
-% from the author, Heiko Oberdiek.
-%
-% #1 is the tokens to replace.
-% #2 is the replacement.
-% #3 is the control sequence with the string.
-%
-\def\HyPsdSubst#1#2#3{%
- \def\HyPsdReplace##1#1##2\END{%
- ##1%
- \ifx\\##2\\%
- \else
- #2%
- \HyReturnAfterFi{%
- \HyPsdReplace##2\END
- }%
- \fi
- }%
- \xdef#3{\expandafter\HyPsdReplace#3#1\END}%
-}
-\long\def\HyReturnAfterFi#1\fi{\fi#1}
-
-% #1 is a control sequence in which to do the replacements.
-\def\backslashparens#1{%
- \xdef#1{#1}% redefine it as its expansion; the definition is simply
- % \lastnode when called from \setref -> \pdfmkdest.
- \HyPsdSubst{(}{\realbackslash(}{#1}%
- \HyPsdSubst{)}{\realbackslash)}{#1}%
+%
+% See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and
+% related messages. The final outcome is that it is up to the TeX user
+% to double the backslashes and otherwise make the string valid, so
+% that's what we do. pdftex 1.30.0 (ca.2005) introduced a primitive to
+% do this reliably, so we use it.
+
+% #1 is a control sequence in which to do the replacements,
+% which we \xdef.
+\def\txiescapepdf#1{%
+ \ifx\pdfescapestring\thisisundefined
+ % No primitive available; should we give a warning or log?
+ % Many times it won't matter.
+ \else
+ % The expandable \pdfescapestring primitive escapes parentheses,
+ % backslashes, and other special chars.
+ \xdef#1{\pdfescapestring{#1}}%
+ \fi
}
\newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images
@@ -1148,10 +1138,12 @@ output) for that.)}
\ifpdf
%
- % Color manipulation macros based on pdfcolor.tex,
+ % Color manipulation macros using ideas from pdfcolor.tex,
% except using rgb instead of cmyk; the latter is said to render as a
% very dark gray on-screen and a very dark halftone in print, instead
- % of actual black.
+ % of actual black. The dark red here is dark enough to print on paper as
+ % nearly black, but still distinguishable for online viewing. We use
+ % black by default, though.
\def\rgbDarkRed{0.50 0.09 0.12}
\def\rgbBlack{0 0 0}
%
@@ -1197,32 +1189,34 @@ output) for that.)}
%
% #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto).
\def\dopdfimage#1#2#3{%
- \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
- \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
+ \def\pdfimagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
+ \def\pdfimageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
%
- % pdftex (and the PDF format) support .png, .jpg, .pdf (among
- % others). Let's try in that order.
+ % pdftex (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\pdfimgext=\empty
\begingroup
- \openin 1 #1.png \ifeof 1
- \openin 1 #1.jpg \ifeof 1
- \openin 1 #1.jpeg \ifeof 1
- \openin 1 #1.JPG \ifeof 1
- \openin 1 #1.pdf \ifeof 1
- \openin 1 #1.PDF \ifeof 1
+ \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
\errhelp = \nopdfimagehelp
\errmessage{Could not find image file #1 for pdf}%
- \else \gdef\pdfimgext{PDF}%
+ \else \gdef\pdfimgext{JPG}%
\fi
- \else \gdef\pdfimgext{pdf}%
+ \else \gdef\pdfimgext{jpeg}%
\fi
- \else \gdef\pdfimgext{JPG}%
+ \else \gdef\pdfimgext{jpg}%
\fi
- \else \gdef\pdfimgext{jpeg}%
+ \else \gdef\pdfimgext{png}%
\fi
- \else \gdef\pdfimgext{jpg}%
+ \else \gdef\pdfimgext{PDF}%
\fi
- \else \gdef\pdfimgext{png}%
+ \else \gdef\pdfimgext{pdf}%
\fi
\closein 1
\endgroup
@@ -1234,8 +1228,8 @@ output) for that.)}
\else
\immediate\pdfximage
\fi
- \ifdim \wd0 >0pt width \imagewidth \fi
- \ifdim \wd2 >0pt height \imageheight \fi
+ \ifdim \wd0 >0pt width \pdfimagewidth \fi
+ \ifdim \wd2 >0pt height \pdfimageheight \fi
\ifnum\pdftexversion<13
#1.\pdfimgext
\else
@@ -1250,20 +1244,18 @@ output) for that.)}
% such as \, aren't expanded when present in a section title.
\indexnofonts
\turnoffactive
- \activebackslashdouble
\makevalueexpandable
\def\pdfdestname{#1}%
- \backslashparens\pdfdestname
+ \txiescapepdf\pdfdestname
\safewhatsit{\pdfdest name{\pdfdestname} xyz}%
}}
%
% used to mark target names; must be expandable.
\def\pdfmkpgn#1{#1}
%
- % by default, use a color that is dark enough to print on paper as
- % nearly black, but still distinguishable for online viewing.
- \def\urlcolor{\rgbDarkRed}
- \def\linkcolor{\rgbDarkRed}
+ % by default, use black for everything.
+ \def\urlcolor{\rgbBlack}
+ \def\linkcolor{\rgbBlack}
\def\endlink{\setcolor{\maincolor}\pdfendlink}
%
% Adding outlines to PDF; macros for calculating structure of outlines
@@ -1285,28 +1277,22 @@ output) for that.)}
% 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.
- \def\pdfoutlinedest{#3}%
+ \edef\pdfoutlinedest{#3}%
\ifx\pdfoutlinedest\empty
\def\pdfoutlinedest{#4}%
\else
- % Doubled backslashes in the name.
- {\activebackslashdouble \xdef\pdfoutlinedest{#3}%
- \backslashparens\pdfoutlinedest}%
+ \txiescapepdf\pdfoutlinedest
\fi
%
- % Also double the backslashes in the display string.
- {\activebackslashdouble \xdef\pdfoutlinetext{#1}%
- \backslashparens\pdfoutlinetext}%
+ % Also escape PDF chars in the display string.
+ \edef\pdfoutlinetext{#1}%
+ \txiescapepdf\pdfoutlinetext
%
\pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}%
}
%
\def\pdfmakeoutlines{%
\begingroup
- % Thanh's hack / proper braces in bookmarks
- \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
- \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
- %
% Read toc silently, to get counts of subentries for \pdfoutline.
\def\partentry##1##2##3##4{}% ignore parts in the outlines
\def\numchapentry##1##2##3##4{%
@@ -1362,25 +1348,41 @@ output) for that.)}
% Latin 2 (0xea) gets translated to a | character. Info from
% Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100.
%
- % xx to do this right, we have to translate 8-bit characters to
- % their "best" equivalent, based on the @documentencoding. Right
- % now, I guess we'll just let the pdf reader have its way.
+ % TODO this right, we have to translate 8-bit characters to
+ % their "best" equivalent, based on the @documentencoding. Too
+ % much work for too little return. Just use the ASCII equivalents
+ % we use for the index sort strings.
+ %
\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[}]%
+ ]
%
\def\skipspaces#1{\def\PP{#1}\def\D{|}%
\ifx\PP\D\let\nextsp\relax
\else\let\nextsp\skipspaces
- \ifx\p\space\else\addtokens{\filename}{\PP}%
- \advance\filenamelength by 1
- \fi
+ \addtokens{\filename}{\PP}%
+ \advance\filenamelength by 1
\fi
\nextsp}
- \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax}
+ \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
+ }
\ifnum\pdftexversion < 14
\let \startlink \pdfannotlink
\else
@@ -1477,9 +1479,6 @@ output) for that.)}
\def\ttsl{\setfontstyle{ttsl}}
-% Default leading.
-\newdimen\textleading \textleading = 13.2pt
-
% Set the baselineskip to #1, and the lineskip and strut size
% correspondingly. There is no deep meaning behind these magic numbers
% used as factors; they just match (closely enough) what Knuth defined.
@@ -1491,6 +1490,7 @@ output) for that.)}
% can get a sort of poor man's double spacing by redefining this.
\def\baselinefactor{1}
%
+\newdimen\textleading
\def\setleading#1{%
\dimen0 = #1\relax
\normalbaselineskip = \baselinefactor\dimen0
@@ -1512,7 +1512,7 @@ output) for that.)}
% if we are producing pdf, and we have \pdffontattr, then define cmaps.
% (\pdffontattr was introduced many years ago, but people still run
% older pdftex's; it's easy to conditionalize, so we do.)
-\ifpdf \ifx\pdffontattr\undefined \else
+\ifpdf \ifx\pdffontattr\thisisundefined \else
\begingroup
\catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char.
\catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap
@@ -1763,28 +1763,34 @@ end
\fi\fi
-% Set the font macro #1 to the font named #2, adding on the
-% specified font prefix (normally `cm').
+% Set the font macro #1 to the font named \fontprefix#2.
% #3 is the font's design size, #4 is a scale factor, #5 is the CMap
-% encoding (currently only OT1, OT1IT and OT1TT are allowed, pass
-% empty to omit).
+% encoding (only OT1, OT1IT and OT1TT are allowed, or empty to omit).
+% Example:
+% #1 = \textrm
+% #2 = \rmshape
+% #3 = 10
+% #4 = \mainmagstep
+% #5 = OT1
+%
\def\setfont#1#2#3#4#5{%
\font#1=\fontprefix#2#3 scaled #4
\csname cmap#5\endcsname#1%
}
% This is what gets called when #5 of \setfont is empty.
\let\cmap\gobble
-% emacs-page end of cmaps
+%
+% (end of cmaps)
% Use cm as the default font prefix.
% To specify the font prefix, you must define \fontprefix
% before you read in texinfo.tex.
-\ifx\fontprefix\undefined
+\ifx\fontprefix\thisisundefined
\def\fontprefix{cm}
\fi
% Support font families that don't use the same naming scheme as CM.
\def\rmshape{r}
-\def\rmbshape{bx} %where the normal face is bold
+\def\rmbshape{bx} % where the normal face is bold
\def\bfshape{b}
\def\bxshape{bx}
\def\ttshape{tt}
@@ -1799,8 +1805,7 @@ end
\def\scshape{csc}
\def\scbshape{csc}
-% Definitions for a main text size of 11pt. This is the default in
-% Texinfo.
+% Definitions for a main text size of 11pt. (The default in Texinfo.)
%
\def\definetextfontsizexi{%
% Text fonts (11.2pt, magstep1).
@@ -1925,7 +1930,7 @@ end
\textleading = 13.2pt % line spacing for 11pt CM
\textfonts % reset the current fonts
\rm
-} % end of 11pt text font size definitions
+} % end of 11pt text font size definitions, \definetextfontsizexi
% Definitions to make the main text be 10pt Computer Modern, with
@@ -2057,7 +2062,7 @@ end
\textleading = 12pt % line spacing for 10pt CM
\textfonts % reset the current fonts
\rm
-} % end of 10pt text font size definitions
+} % end of 10pt text font size definitions, \definetextfontsizex
% We provide the user-level command
@@ -2070,7 +2075,7 @@ end
%
\parseargdef\fonttextsize{%
\def\textsizearg{#1}%
- \wlog{doing @fonttextsize \textsizearg}%
+ %\wlog{doing @fonttextsize \textsizearg}%
%
% Set \globaldefs so that documents can use this inside @tex, since
% makeinfo 4.8 does not support it, but we need it nonetheless.
@@ -2141,7 +2146,7 @@ end
\let\tenttsl=\secttsl
\def\curfontsize{sec}%
\def\lsize{subsec}\def\lllsize{reduced}%
- \resetmathfonts \setleading{16pt}}
+ \resetmathfonts \setleading{17pt}}
\def\subsecfonts{%
\let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
\let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
@@ -2252,12 +2257,14 @@ end
% Markup style setup for left and right quotes.
\defmarkupstylesetup\markupsetuplq{%
- \expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname
+ \expandafter\let\expandafter \temp
+ \csname markupsetuplq\currentmarkupstyle\endcsname
\ifx\temp\relax \markupsetuplqdefault \else \temp \fi
}
\defmarkupstylesetup\markupsetuprq{%
- \expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname
+ \expandafter\let\expandafter \temp
+ \csname markupsetuprq\currentmarkupstyle\endcsname
\ifx\temp\relax \markupsetuprqdefault \else \temp \fi
}
@@ -2270,8 +2277,6 @@ end
\gdef\markupsetcodequoteleft{\let`\codequoteleft}
\gdef\markupsetcodequoteright{\let'\codequoteright}
-
-\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft}
}
\let\markupsetuplqcode \markupsetcodequoteleft
@@ -2280,6 +2285,9 @@ end
\let\markupsetuplqexample \markupsetcodequoteleft
\let\markupsetuprqexample \markupsetcodequoteright
%
+\let\markupsetuplqkbd \markupsetcodequoteleft
+\let\markupsetuprqkbd \markupsetcodequoteright
+%
\let\markupsetuplqsamp \markupsetcodequoteleft
\let\markupsetuprqsamp \markupsetcodequoteright
%
@@ -2289,14 +2297,11 @@ end
\let\markupsetuplqverbatim \markupsetcodequoteleft
\let\markupsetuprqverbatim \markupsetcodequoteright
-\let\markupsetuplqkbd \markupsetnoligaturesquoteleft
-
-% Allow an option to not replace quotes with a regular directed right
-% quote/apostrophe (char 0x27), but instead use the undirected quote
-% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it
-% the default, but it works for pasting with more pdf viewers (at least
-% evince), the lilypond developers report. xpdf does work with the
-% regular 0x27.
+% Allow an option to not use regular directed right quote/apostrophe
+% (char 0x27), but instead the undirected quote from cmtt (char 0x0d).
+% The undirected quote is ugly, so don't make it the default, but it
+% works for pasting with more pdf viewers (at least evince), the
+% lilypond developers report. xpdf does work with the regular 0x27.
%
\def\codequoteright{%
\expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
@@ -2320,6 +2325,36 @@ end
\else \char'22 \fi
}
+% Commands to set the quote options.
+%
+\parseargdef\codequoteundirected{%
+ \def\temp{#1}%
+ \ifx\temp\onword
+ \expandafter\let\csname SETtxicodequoteundirected\endcsname
+ = t%
+ \else\ifx\temp\offword
+ \expandafter\let\csname SETtxicodequoteundirected\endcsname
+ = \relax
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @codequoteundirected value `\temp', must be on|off}%
+ \fi\fi
+}
+%
+\parseargdef\codequotebacktick{%
+ \def\temp{#1}%
+ \ifx\temp\onword
+ \expandafter\let\csname SETtxicodequotebacktick\endcsname
+ = t%
+ \else\ifx\temp\offword
+ \expandafter\let\csname SETtxicodequotebacktick\endcsname
+ = \relax
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @codequotebacktick value `\temp', must be on|off}%
+ \fi\fi
+}
+
% [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font.
\def\noligaturesquoteleft{\relax\lq}
@@ -2333,7 +2368,7 @@ end
% and 2) do not add an italic correction.
\def\dosmartslant#1#2{%
\ifusingtt
- {\ttsl #2\let\next=\relax}%
+ {{\ttsl #2}\let\next=\relax}%
{\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}%
\next
}
@@ -2346,20 +2381,29 @@ end
\ifx\next,%
\else\ifx\next-%
\else\ifx\next.%
+ \else\ifx\next\.%
+ \else\ifx\next\comma%
\else\ptexslash
- \fi\fi\fi}
+ \fi\fi\fi\fi\fi
+ \aftersmartic
+}
-% like \smartslanted except unconditionally uses \ttsl, and no ic.
-% @var is set to this for defun arguments.
+% Unconditional use \ttsl, and no ic. @var is set to this for defuns.
\def\ttslanted#1{{\ttsl #1}}
% @cite is like \smartslanted except unconditionally use \sl. We never want
% ttsl for book titles, do we?
\def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection}
+\def\aftersmartic{}
+\def\var#1{%
+ \let\saveaftersmartic = \aftersmartic
+ \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}%
+ \smartslanted{#1}%
+}
+
\let\i=\smartitalic
\let\slanted=\smartslanted
-\def\var#1{\smartslanted{#1}}
\let\dfn=\smartslanted
\let\emph=\smartitalic
@@ -2409,34 +2453,12 @@ end
% @samp.
\def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}}
-% definition of @key that produces a lozenge. Doesn't adjust to text size.
-%\setfont\keyrm\rmshape{8}{1000}{OT1}
-%\font\keysy=cmsy9
-%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
-% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
-% \vbox{\hrule\kern-0.4pt
-% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
-% \kern-0.4pt\hrule}%
-% \kern-.06em\raise0.4pt\hbox{\angleright}}}}
+% @indicateurl is \samp, that is, with quotes.
+\let\indicateurl=\samp
-% definition of @key with no lozenge. If the current font is already
-% monospace, don't change it; that way, we respect @kbdinputstyle. But
-% if it isn't monospace, then use \tt.
-%
-\def\key#1{{\setupmarkupstyle{key}%
- \nohyphenation
- \ifmonospace\else\tt\fi
- #1}\null}
-
-% ctrl is no longer a Texinfo command.
-\def\ctrl #1{{\tt \rawbackslash \hat}#1}
-
-% @file, @option are the same as @samp.
-\let\file=\samp
-\let\option=\samp
-
-% @code is a modification of @t,
-% which makes spaces the same size as normal in the surrounding text.
+% @code (and similar) prints in typewriter, but with spaces the same
+% size as normal in the surrounding text, without hyphenation, etc.
+% This is a subroutine for that.
\def\tclose#1{%
{%
% Change normal interword space to be same as for the current font.
@@ -2455,18 +2477,18 @@ end
\plainfrenchspacing
#1%
}%
- \null
+ \null % reset spacefactor to 1000
}
% We *must* turn on hyphenation at `-' and `_' in @code.
+% (But see \codedashfinish below.)
% Otherwise, it is too hard to avoid overfull hboxes
% in the Emacs manual, the Library manual, etc.
-
+%
% Unfortunately, TeX uses one parameter (\hyphenchar) to control
% both hyphenation at - and hyphenation within words.
% We must therefore turn them both off (\tclose does that)
-% and arrange explicitly to hyphenate at a dash.
-% -- rms.
+% and arrange explicitly to hyphenate at a dash. -- rms.
{
\catcode`\-=\active \catcode`\_=\active
\catcode`\'=\active \catcode`\`=\active
@@ -2480,15 +2502,38 @@ end
\let-\codedash
\let_\codeunder
\else
- \let-\realdash
+ \let-\normaldash
\let_\realunder
\fi
+ % Given -foo (with a single dash), we do not want to allow a break
+ % after the hyphen.
+ \global\let\codedashprev=\codedash
+ %
\codex
}
+ %
+ \gdef\codedash{\futurelet\next\codedashfinish}
+ \gdef\codedashfinish{%
+ \normaldash % always output the dash character itself.
+ %
+ % Now, output a discretionary to allow a line break, unless
+ % (a) the next character is a -, or
+ % (b) the preceding character is a -.
+ % E.g., given --posix, we do not want to allow a break after either -.
+ % Given --foo-bar, we do want to allow a break between the - and the b.
+ \ifx\next\codedash \else
+ \ifx\codedashprev\codedash
+ \else \discretionary{}{}{}\fi
+ \fi
+ % we need the space after the = for the case when \next itself is a
+ % space token; it would get swallowed otherwise. As in @code{- a}.
+ \global\let\codedashprev= \next
+ }
}
+\def\normaldash{-}
+%
+\def\codex #1{\tclose{#1}\endgroup}
-\def\realdash{-}
-\def\codedash{-\discretionary{}{}{}}
\def\codeunder{%
% this is all so @math{@code{var_name}+1} can work. In math mode, _
% is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.)
@@ -2500,12 +2545,11 @@ end
\discretionary{}{}{}}%
{\_}%
}
-\def\codex #1{\tclose{#1}\endgroup}
% An additional complication: the above will allow breaks after, e.g.,
-% each of the four underscores in __typeof__. This is undesirable in
-% some manuals, especially if they don't have long identifiers in
-% general. @allowcodebreaks provides a way to control this.
+% each of the four underscores in __typeof__. This is bad.
+% @allowcodebreaks provides a document-level way to turn breaking at -
+% and _ on and off.
%
\newif\ifallowcodebreaks \allowcodebreakstrue
@@ -2520,83 +2564,135 @@ end
\allowcodebreaksfalse
\else
\errhelp = \EMsimple
- \errmessage{Unknown @allowcodebreaks option `\txiarg'}%
+ \errmessage{Unknown @allowcodebreaks option `\txiarg', must be true|false}%
\fi\fi
}
-% @kbd is like @code, except that if the argument is just one @key command,
-% then @kbd has no effect.
-\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}}
-
-% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
-% `example' (@kbd uses ttsl only inside of @example and friends),
-% or `code' (@kbd uses normal tty font always).
-\parseargdef\kbdinputstyle{%
- \def\txiarg{#1}%
- \ifx\txiarg\worddistinct
- \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}%
- \else\ifx\txiarg\wordexample
- \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}%
- \else\ifx\txiarg\wordcode
- \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
- \else
- \errhelp = \EMsimple
- \errmessage{Unknown @kbdinputstyle option `\txiarg'}%
- \fi\fi\fi
-}
-\def\worddistinct{distinct}
-\def\wordexample{example}
-\def\wordcode{code}
-
-% Default is `distinct'.
-\kbdinputstyle distinct
-
-\def\xkey{\key}
-\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
-\ifx\one\xkey\ifx\threex\three \key{#2}%
-\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
-\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi}
-
-% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
-\let\indicateurl=\code
-\let\env=\code
+% For @command, @env, @file, @option quotes seem unnecessary,
+% so use \code rather than \samp.
\let\command=\code
-
-% @clicksequence{File @click{} Open ...}
-\def\clicksequence#1{\begingroup #1\endgroup}
-
-% @clickstyle @arrow (by default)
-\parseargdef\clickstyle{\def\click{#1}}
-\def\click{\arrow}
-
-% @uref (abbreviation for `urlref') takes an optional (comma-separated)
-% second argument specifying the text to display and an optional third
-% arg as text to display instead of (rather than in addition to) the url
-% itself. First (mandatory) arg is the url. Perhaps eventually put in
-% a hypertex \special here.
-%
-\def\uref#1{\douref #1,,,\finish}
-\def\douref#1,#2,#3,#4\finish{\begingroup
+\let\env=\code
+\let\file=\code
+\let\option=\code
+
+% @uref (abbreviation for `urlref') aka @url takes an optional
+% (comma-separated) second argument specifying the text to display and
+% an optional third arg as text to display instead of (rather than in
+% addition to) the url itself. First (mandatory) arg is the url.
+
+% TeX-only option to allow changing PDF output to show only the second
+% arg (if given), and not the url (which is then just the link target).
+\newif\ifurefurlonlylink
+
+% The main macro is \urefbreak, which allows breaking at expected
+% places within the url. (There used to be another version, which
+% didn't support automatic breaking.)
+\def\urefbreak{\begingroup \urefcatcodes \dourefbreak}
+\let\uref=\urefbreak
+%
+\def\dourefbreak#1{\urefbreakfinish #1,,,\finish}
+\def\urefbreakfinish#1,#2,#3,#4\finish{% doesn't work in @example
\unsepspaces
\pdfurl{#1}%
\setbox0 = \hbox{\ignorespaces #3}%
\ifdim\wd0 > 0pt
\unhbox0 % third arg given, show only that
\else
- \setbox0 = \hbox{\ignorespaces #2}%
+ \setbox0 = \hbox{\ignorespaces #2}% look for second arg
\ifdim\wd0 > 0pt
\ifpdf
- \unhbox0 % PDF: 2nd arg given, show only it
+ \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
\else
- \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
+ \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
\fi
\else
- \code{#1}% only url given, so show it
+ \urefcode{#1}% only url given, so show it
\fi
\fi
\endlink
\endgroup}
+% Allow line breaks around only a few characters (only).
+\def\urefcatcodes{%
+ \catcode\ampChar=\active \catcode\dotChar=\active
+ \catcode\hashChar=\active \catcode\questChar=\active
+ \catcode\slashChar=\active
+}
+{
+ \urefcatcodes
+ %
+ \global\def\urefcode{\begingroup
+ \setupmarkupstyle{code}%
+ \urefcatcodes
+ \let&\urefcodeamp
+ \let.\urefcodedot
+ \let#\urefcodehash
+ \let?\urefcodequest
+ \let/\urefcodeslash
+ \codex
+ }
+ %
+ % By default, they are just regular characters.
+ \global\def&{\normalamp}
+ \global\def.{\normaldot}
+ \global\def#{\normalhash}
+ \global\def?{\normalquest}
+ \global\def/{\normalslash}
+}
+
+% we put a little stretch before and after the breakable chars, to help
+% line breaking of long url's. The unequal skips make look better in
+% cmtt at least, especially for dots.
+\def\urefprestretchamount{.13em}
+\def\urefpoststretchamount{.1em}
+\def\urefprestretch{\urefprebreak \hskip0pt plus\urefprestretchamount\relax}
+\def\urefpoststretch{\urefpostbreak \hskip0pt plus\urefprestretchamount\relax}
+%
+\def\urefcodeamp{\urefprestretch \&\urefpoststretch}
+\def\urefcodedot{\urefprestretch .\urefpoststretch}
+\def\urefcodehash{\urefprestretch \#\urefpoststretch}
+\def\urefcodequest{\urefprestretch ?\urefpoststretch}
+\def\urefcodeslash{\futurelet\next\urefcodeslashfinish}
+{
+ \catcode`\/=\active
+ \global\def\urefcodeslashfinish{%
+ \urefprestretch \slashChar
+ % Allow line break only after the final / in a sequence of
+ % slashes, to avoid line break between the slashes in http://.
+ \ifx\next/\else \urefpoststretch \fi
+ }
+}
+
+% One more complication: by default we'll break after the special
+% characters, but some people like to break before the special chars, so
+% allow that. Also allow no breaking at all, for manual control.
+%
+\parseargdef\urefbreakstyle{%
+ \def\txiarg{#1}%
+ \ifx\txiarg\wordnone
+ \def\urefprebreak{\nobreak}\def\urefpostbreak{\nobreak}
+ \else\ifx\txiarg\wordbefore
+ \def\urefprebreak{\allowbreak}\def\urefpostbreak{\nobreak}
+ \else\ifx\txiarg\wordafter
+ \def\urefprebreak{\nobreak}\def\urefpostbreak{\allowbreak}
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @urefbreakstyle setting `\txiarg'}%
+ \fi\fi\fi
+}
+\def\wordafter{after}
+\def\wordbefore{before}
+\def\wordnone{none}
+
+\urefbreakstyle after
+
% @url synonym for @uref, since that's how everyone uses it.
%
\let\url=\uref
@@ -2618,6 +2714,67 @@ end
\let\email=\uref
\fi
+% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
+% `example' (@kbd uses ttsl only inside of @example and friends),
+% or `code' (@kbd uses normal tty font always).
+\parseargdef\kbdinputstyle{%
+ \def\txiarg{#1}%
+ \ifx\txiarg\worddistinct
+ \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}%
+ \else\ifx\txiarg\wordexample
+ \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}%
+ \else\ifx\txiarg\wordcode
+ \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @kbdinputstyle setting `\txiarg'}%
+ \fi\fi\fi
+}
+\def\worddistinct{distinct}
+\def\wordexample{example}
+\def\wordcode{code}
+
+% Default is `distinct'.
+\kbdinputstyle distinct
+
+% @kbd is like @code, except that if the argument is just one @key command,
+% then @kbd has no effect.
+\def\kbd#1{{\def\look{#1}\expandafter\kbdsub\look??\par}}
+
+\def\xkey{\key}
+\def\kbdsub#1#2#3\par{%
+ \def\one{#1}\def\three{#3}\def\threex{??}%
+ \ifx\one\xkey\ifx\threex\three \key{#2}%
+ \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
+ \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
+}
+
+% definition of @key that produces a lozenge. Doesn't adjust to text size.
+%\setfont\keyrm\rmshape{8}{1000}{OT1}
+%\font\keysy=cmsy9
+%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
+% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
+% \vbox{\hrule\kern-0.4pt
+% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
+% \kern-0.4pt\hrule}%
+% \kern-.06em\raise0.4pt\hbox{\angleright}}}}
+
+% definition of @key with no lozenge. If the current font is already
+% monospace, don't change it; that way, we respect @kbdinputstyle. But
+% if it isn't monospace, then use \tt.
+%
+\def\key#1{{\setupmarkupstyle{key}%
+ \nohyphenation
+ \ifmonospace\else\tt\fi
+ #1}\null}
+
+% @clicksequence{File @click{} Open ...}
+\def\clicksequence#1{\begingroup #1\endgroup}
+
+% @clickstyle @arrow (by default)
+\parseargdef\clickstyle{\def\click{#1}}
+\def\click{\arrow}
+
% Typeset a dimension, e.g., `in' or `pt'. The only reason for the
% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
%
@@ -2639,6 +2796,7 @@ end
\ifx\temp\empty \else
\space ({\unsepspaces \ignorespaces \temp \unskip})%
\fi
+ \null % reset \spacefactor=1000
}
% @abbr for "Comput. J." and the like.
@@ -2651,6 +2809,7 @@ end
\ifx\temp\empty \else
\space ({\unsepspaces \ignorespaces \temp \unskip})%
\fi
+ \null % reset \spacefactor=1000
}
% @asis just yields its argument. Used with @table, for example.
@@ -2715,20 +2874,77 @@ end
}
}
+% 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,
+% except specified as a normal braced arg, so no newlines to worry about.
+%
+\def\outfmtnametex{tex}
+%
+\long\def\inlinefmt#1{\doinlinefmt #1,\finish}
+\long\def\doinlinefmt#1,#2,\finish{%
+ \def\inlinefmtname{#1}%
+ \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi
+}
+%
+% @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if
+% FMTNAME is tex, else ELSE-TEXT.
+\long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish}
+\long\def\doinlinefmtifelse#1,#2,#3,#4,\finish{%
+ \def\inlinefmtname{#1}%
+ \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\else \ignorespaces #3\fi
+}
+%
+% For raw, must switch into @tex before parsing the argument, to avoid
+% setting catcodes prematurely. Doing it this way means that, for
+% example, @inlineraw{html, foo{bar} gets a parse error instead of being
+% ignored. But this isn't important because if people want a literal
+% *right* brace they would have to use a command anyway, so they may as
+% well use a command to get a left brace too. We could re-use the
+% delimiter character idea from \verb, but it seems like overkill.
+%
+\long\def\inlineraw{\tex \doinlineraw}
+\long\def\doinlineraw#1{\doinlinerawtwo #1,\finish}
+\def\doinlinerawtwo#1,#2,\finish{%
+ \def\inlinerawname{#1}%
+ \ifx\inlinerawname\outfmtnametex \ignorespaces #2\fi
+ \endgroup % close group opened by \tex.
+}
+
+% @inlineifset{VAR, TEXT} expands TEXT if VAR is @set.
+%
+\long\def\inlineifset#1{\doinlineifset #1,\finish}
+\long\def\doinlineifset#1,#2,\finish{%
+ \def\inlinevarname{#1}%
+ \expandafter\ifx\csname SET\inlinevarname\endcsname\relax
+ \else\ignorespaces#2\fi
+}
+
+% @inlineifclear{VAR, TEXT} expands TEXT if VAR is not @set.
+%
+\long\def\inlineifclear#1{\doinlineifclear #1,\finish}
+\long\def\doinlineifclear#1,#2,\finish{%
+ \def\inlinevarname{#1}%
+ \expandafter\ifx\csname SET\inlinevarname\endcsname\relax \ignorespaces#2\fi
+}
+
\message{glyphs,}
% and logos.
-% @@ prints an @.
+% @@ prints an @, as does @atchar{}.
\def\@{\char64 }
+\let\atchar=\@
-% Used to generate quoted braces. 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.
+% @{ @} @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\else\ecfont\fi \char123}}
\def\myrbrace{{\ifmonospace\else\ecfont\fi \char125}}
-\let\{=\mylbrace
-\let\}=\myrbrace
+\let\{=\mylbrace \let\lbracechar=\{
+\let\}=\myrbrace \let\rbracechar=\}
\begingroup
% Definitions to produce \{ and \} commands for indices,
% and @{ and @} for the aux/toc files.
@@ -2856,7 +3072,7 @@ end
{\tentt \global\dimen0 = 3em}% Width of the box.
\dimen2 = .55pt % Thickness of rules
% The text. (`r' is open on the right, `e' somewhat less so on the left.)
-\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt}
+\setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt}
%
\setbox\errorbox=\hbox to \dimen0{\hfil
\hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
@@ -2977,12 +3193,17 @@ end
% hopefully nobody will notice/care.
\edef\ecsize{\csname\curfontsize ecsize\endcsname}%
\edef\nominalsize{\csname\curfontsize nominalsize\endcsname}%
- \ifx\curfontstyle\bfstylename
- % bold:
- \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
+ \ifmonospace
+ % typewriter:
+ \font\thisecfont = ectt\ecsize \space at \nominalsize
\else
- % regular:
- \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
+ \ifx\curfontstyle\bfstylename
+ % bold:
+ \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
+ \else
+ % regular:
+ \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
+ \fi
\fi
\thisecfont
}
@@ -3005,7 +3226,7 @@ end
% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38
% so we'll define it if necessary.
%
-\ifx\Orb\undefined
+\ifx\Orb\thisisundefined
\def\Orb{\mathhexbox20D}
\fi
@@ -3033,8 +3254,9 @@ end
\newif\ifsetshortcontentsaftertitlepage
\let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
-\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
- \endgroup\page\hbox{}\page}
+\parseargdef\shorttitlepage{%
+ \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}%
+ \endgroup\page\hbox{}\page}
\envdef\titlepage{%
% Open one extra group, as we want to close it in the middle of \Etitlepage.
@@ -3094,14 +3316,28 @@ end
\finishedtitlepagetrue
}
-%%% Macros to be used within @titlepage:
+% Settings used for typesetting titles: no hyphenation, no indentation,
+% don't worry much about spacing, ragged right. This should be used
+% inside a \vbox, and fonts need to be set appropriately first. Because
+% it is always used for titles, nothing else, we call \rmisbold. \par
+% should be specified before the end of the \vbox, since a vbox is a group.
+%
+\def\raggedtitlesettings{%
+ \rmisbold
+ \hyphenpenalty=10000
+ \parindent=0pt
+ \tolerance=5000
+ \ptexraggedright
+}
+
+% Macros to be used within @titlepage:
\let\subtitlerm=\tenrm
\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
\parseargdef\title{%
\checkenv\titlepage
- \leftline{\titlefonts\rmisbold #1}
+ \vbox{\titlefonts \raggedtitlesettings #1\par}%
% print a rule at the page bottom also.
\finishedtitlepagefalse
\vskip4pt \hrule height 4pt width \hsize \vskip4pt
@@ -3127,7 +3363,7 @@ end
}
-%%% Set up page headings and footings.
+% Set up page headings and footings.
\let\thispage=\folio
@@ -3279,7 +3515,7 @@ end
% This produces Day Month Year style of output.
% Only define if not already defined, in case a txi-??.tex file has set
% up a different format (e.g., txi-cs.tex does this).
-\ifx\today\undefined
+\ifx\today\thisisundefined
\def\today{%
\number\day\space
\ifcase\month
@@ -3449,7 +3685,7 @@ end
\parskip=\smallskipamount
\ifdim\parskip=0pt \parskip=2pt \fi
%
- % Try typesetting the item mark that if the document erroneously says
+ % Try typesetting the item mark so that if the document erroneously says
% something like @itemize @samp (intending @table), there's an error
% right away at the @itemize. It's not the best error message in the
% world, but it's better than leaving it to the @item. This means if
@@ -3699,19 +3935,23 @@ end
}
% multitable-only commands.
-%
-% @headitem starts a heading row, which we typeset in bold.
-% Assignments have to be global since we are inside the implicit group
-% of an alignment entry. \everycr resets \everytab so we don't have to
+%
+% @headitem starts a heading row, which we typeset in bold. Assignments
+% have to be global since we are inside the implicit group of an
+% alignment entry. \everycr below resets \everytab so we don't have to
% undo it ourselves.
\def\headitemfont{\b}% for people to use in the template row; not changeable
\def\headitem{%
\checkenv\multitable
\crcr
+ \gdef\headitemcrhook{\nobreak}% attempt to avoid page break after headings
\global\everytab={\bf}% can't use \headitemfont since the parsing differs
\the\everytab % for the first item
}%
%
+% default for tables with no headings.
+\let\headitemcrhook=\relax
+%
% A \tab used to include \hskip1sp. But then the space in a template
% line is not enough. That is bad. So let's go back to just `&' until
% we again encounter the problem the 1sp was intended to solve.
@@ -3742,15 +3982,15 @@ end
%
\everycr = {%
\noalign{%
- \global\everytab={}%
+ \global\everytab={}% Reset from possible headitem.
\global\colcount=0 % Reset the column counter.
- % Check for saved footnotes, etc.
+ %
+ % Check for saved footnotes, etc.:
\checkinserts
- % Keeps underfull box messages off when table breaks over pages.
- %\filbreak
- % Maybe so, but it also creates really weird page breaks when the
- % table breaks over pages. Wouldn't \vfil be better? Wait until the
- % problem manifests itself, so it can be fixed for real --karl.
+ %
+ % Perhaps a \nobreak, then reset:
+ \headitemcrhook
+ \global\let\headitemcrhook=\relax
}%
}%
%
@@ -3826,18 +4066,18 @@ end
\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
\global\advance\multitablelinespace by-\ht0
\fi
-%% Test to see if parskip is larger than space between lines of
-%% table. If not, do nothing.
-%% If so, set to same dimension as multitablelinespace.
+% Test to see if parskip is larger than space between lines of
+% table. If not, do nothing.
+% If so, set to same dimension as multitablelinespace.
\ifdim\multitableparskip>\multitablelinespace
\global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
- %% than skip between lines in the table.
+\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
+ % than skip between lines in the table.
\fi%
\ifdim\multitableparskip=0pt
\global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
- %% than skip between lines in the table.
+\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
+ % than skip between lines in the table.
\fi}
@@ -3989,7 +4229,7 @@ end
\def\value{\begingroup\makevalueexpandable\valuexxx}
\def\valuexxx#1{\expandablevalue{#1}\endgroup}
{
- \catcode`\- = \active \catcode`\_ = \active
+ \catcode`\-=\active \catcode`\_=\active
%
\gdef\makevalueexpandable{%
\let\value = \expandablevalue
@@ -3998,7 +4238,7 @@ end
% ..., but we might end up with active ones in the argument if
% we're called from @code, as @code{@value{foo-bar_}}, though.
% So \let them to their normal equivalents.
- \let-\realdash \let_\normalunderscore
+ \let-\normaldash \let_\normalunderscore
}
}
@@ -4009,7 +4249,12 @@ end
% variable's value contains other Texinfo commands, it's almost certain
% it will fail (although perhaps we could fix that with sufficient work
% to do a one-level expansion on the result, instead of complete).
-%
+%
+% Unfortunately, this has the consequence that when _ is in the *value*
+% of an @set, it does not print properly in the roman fonts (get the cmr
+% dot accent at position 126 instead). No fix comes to mind, and it's
+% been this way since 2003 or earlier, so just ignore it.
+%
\def\expandablevalue#1{%
\expandafter\ifx\csname SET#1\endcsname\relax
{[No value for ``#1'']}%
@@ -4021,8 +4266,9 @@ end
% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
% with @set.
-%
-% To get special treatment of `@end ifset,' call \makeond and the redefine.
+%
+% To get the special treatment we need for `@end ifset,' we call
+% \makecond and then redefine.
%
\makecond{ifset}
\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}}
@@ -4038,7 +4284,7 @@ end
}
\def\ifsetfail{\doignore{ifset}}
-% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
+% @ifclear VAR ... @end executes the `...' iff VAR has never been
% defined with @set, or has been undefined with @clear.
%
% The `\else' inside the `\doifset' parameter is a trick to reuse the
@@ -4049,6 +4295,35 @@ end
\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
\def\ifclearfail{\doignore{ifclear}}
+% @ifcommandisdefined CMD ... @end executes the `...' if CMD (written
+% without the @) is in fact defined. We can only feasibly check at the
+% TeX level, so something like `mathcode' is going to considered
+% defined even though it is not a Texinfo command.
+%
+\makecond{ifcommanddefined}
+\def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}}
+%
+\def\doifcmddefined#1#2{{%
+ \makevalueexpandable
+ \let\next=\empty
+ \expandafter\ifx\csname #2\endcsname\relax
+ #1% If not defined, \let\next as above.
+ \fi
+ \expandafter
+ }\next
+}
+\def\ifcmddefinedfail{\doignore{ifcommanddefined}}
+
+% @ifcommandnotdefined CMD ... handled similar to @ifclear above.
+\makecond{ifcommandnotdefined}
+\def\ifcommandnotdefined{%
+ \parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}}
+\def\ifcmdnotdefinedfail{\doignore{ifcommandnotdefined}}
+
+% Set the `txicommandconditionals' variable, so documents have a way to
+% test if the @ifcommand...defined conditionals are available.
+\set txicommandconditionals
+
% @dircategory CATEGORY -- specify a category of the dir file
% which this file should belong to. Ignore this in TeX.
\let\dircategory=\comment
@@ -4157,7 +4432,7 @@ end
% complicated, when \tex is in effect and \{ is a \delimiter again.
% We can't use \lbracecmd and \rbracecmd because texindex assumes
% braces and backslashes are used only as delimiters. Perhaps we
- % should define @lbrace and @rbrace commands a la @comma.
+ % should use @lbracechar and @rbracechar?
\def\{{{\tt\char123}}%
\def\}{{\tt\char125}}%
%
@@ -4178,8 +4453,7 @@ end
% @end macro
% ...
% @funindex commtest
- %
- % The above is not enough to reproduce the bug, but it gives the flavor.
+ % This is not enough to reproduce the bug, but it gives the flavor.
%
% Sample whatsit resulting:
% .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}}
@@ -4212,7 +4486,7 @@ end
\def\commondummies{%
%
% \definedummyword defines \#1 as \string\#1\space, thus effectively
- % preventing its expansion. This is used only for control% words,
+ % 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.
@@ -4231,6 +4505,7 @@ end
\commondummiesnofonts
%
\definedummyletter\_%
+ \definedummyletter\-%
%
% Non-English letters.
\definedummyword\AA
@@ -4267,6 +4542,7 @@ end
\definedummyword\TeX
%
% Assorted special characters.
+ \definedummyword\arrow
\definedummyword\bullet
\definedummyword\comma
\definedummyword\copyright
@@ -4277,11 +4553,14 @@ end
\definedummyword\equiv
\definedummyword\error
\definedummyword\euro
+ \definedummyword\expansion
+ \definedummyword\geq
\definedummyword\guillemetleft
\definedummyword\guillemetright
\definedummyword\guilsinglleft
\definedummyword\guilsinglright
- \definedummyword\expansion
+ \definedummyword\lbracechar
+ \definedummyword\leq
\definedummyword\minus
\definedummyword\ogonek
\definedummyword\pounds
@@ -4293,6 +4572,7 @@ end
\definedummyword\quoteleft
\definedummyword\quoteright
\definedummyword\quotesinglbase
+ \definedummyword\rbracechar
\definedummyword\result
\definedummyword\textdegree
%
@@ -4338,19 +4618,27 @@ end
\definedummyword\b
\definedummyword\i
\definedummyword\r
+ \definedummyword\sansserif
\definedummyword\sc
+ \definedummyword\slanted
\definedummyword\t
%
% Commands that take arguments.
+ \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
@@ -4366,8 +4654,21 @@ end
\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
+
% \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
@@ -4378,7 +4679,7 @@ end
\def\definedummyaccent##1{\let##1\asis}%
% We can just ignore other control letters.
\def\definedummyletter##1{\let##1\empty}%
- % Hopefully, all control words can become @asis.
+ % All control words become @asis by default; overrides below.
\let\definedummyword\definedummyaccent
%
\commondummiesnofonts
@@ -4390,8 +4691,22 @@ end
%
\def\ { }%
\def\@{@}%
- % how to handle braces?
\def\_{\normalunderscore}%
+ \def\-{}% @- shouldn't affect sorting
+ %
+ % 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}%
@@ -4419,6 +4734,7 @@ end
%
% Assorted special characters.
% (The following {} will end up in the sort string, but that's ok.)
+ \def\arrow{->}%
\def\bullet{bullet}%
\def\comma{,}%
\def\copyright{copyright}%
@@ -4428,10 +4744,12 @@ end
\def\error{error}%
\def\euro{euro}%
\def\expansion{==>}%
+ \def\geq{>=}%
\def\guillemetleft{<<}%
\def\guillemetright{>>}%
\def\guilsinglleft{<}%
\def\guilsinglright{>}%
+ \def\leq{<=}%
\def\minus{-}%
\def\point{.}%
\def\pounds{pounds}%
@@ -4564,10 +4882,9 @@ end
%
% ..., ready, GO:
%
-\def\safewhatsit#1{%
-\ifhmode
+\def\safewhatsit#1{\ifhmode
#1%
-\else
+ \else
% \lastskip and \lastpenalty cannot both be nonzero simultaneously.
\whatsitskip = \lastskip
\edef\lastskipmacro{\the\lastskip}%
@@ -4591,7 +4908,6 @@ end
% to re-insert the same penalty (values >10000 are used for various
% signals); since we just inserted a non-discardable item, any
% following glue (such as a \parskip) would be a breakpoint. For example:
- %
% @deffn deffn-whatever
% @vindex index-whatever
% Description.
@@ -4604,8 +4920,7 @@ end
% (the whatsit from the \write), so we must insert a \nobreak.
\nobreak\vskip\whatsitskip
\fi
-\fi
-}
+\fi}
% The index entry written in the file actually looks like
% \entry {sortstring}{page}{topic}
@@ -5225,7 +5540,8 @@ end
\global\let\subsubsection = \appendixsubsubsec
}
-\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz
+% normally unnmhead0 calls unnumberedzzz:
+\outer\parseargdef\unnumbered{\unnmhead0{#1}}
\def\unnumberedzzz#1{%
\global\secno=0 \global\subsecno=0 \global\subsubsecno=0
\global\advance\unnumberedno by 1
@@ -5269,40 +5585,47 @@ end
\let\top\unnumbered
% Sections.
+%
\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
\def\seczzz#1{%
\global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
\sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}%
}
-\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz
+% normally calls appendixsectionzzz:
+\outer\parseargdef\appendixsection{\apphead1{#1}}
\def\appendixsectionzzz#1{%
\global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
\sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}%
}
\let\appendixsec\appendixsection
-\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz
+% normally calls unnumberedseczzz:
+\outer\parseargdef\unnumberedsec{\unnmhead1{#1}}
\def\unnumberedseczzz#1{%
\global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
\sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}%
}
% Subsections.
-\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz
+%
+% normally calls numberedsubseczzz:
+\outer\parseargdef\numberedsubsec{\numhead2{#1}}
\def\numberedsubseczzz#1{%
\global\subsubsecno=0 \global\advance\subsecno by 1
\sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}%
}
-\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz
+% normally calls appendixsubseczzz:
+\outer\parseargdef\appendixsubsec{\apphead2{#1}}
\def\appendixsubseczzz#1{%
\global\subsubsecno=0 \global\advance\subsecno by 1
\sectionheading{#1}{subsec}{Yappendix}%
{\appendixletter.\the\secno.\the\subsecno}%
}
-\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz
+% normally calls unnumberedsubseczzz:
+\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}}
\def\unnumberedsubseczzz#1{%
\global\subsubsecno=0 \global\advance\subsecno by 1
\sectionheading{#1}{subsec}{Ynothing}%
@@ -5310,21 +5633,25 @@ end
}
% Subsubsections.
-\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz
+%
+% normally numberedsubsubseczzz:
+\outer\parseargdef\numberedsubsubsec{\numhead3{#1}}
\def\numberedsubsubseczzz#1{%
\global\advance\subsubsecno by 1
\sectionheading{#1}{subsubsec}{Ynumbered}%
{\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}%
}
-\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz
+% normally appendixsubsubseczzz:
+\outer\parseargdef\appendixsubsubsec{\apphead3{#1}}
\def\appendixsubsubseczzz#1{%
\global\advance\subsubsecno by 1
\sectionheading{#1}{subsubsec}{Yappendix}%
{\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}%
}
-\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz
+% normally unnumberedsubsubseczzz:
+\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}}
\def\unnumberedsubsubseczzz#1{%
\global\advance\subsubsecno by 1
\sectionheading{#1}{subsubsec}{Ynothing}%
@@ -5340,14 +5667,6 @@ end
% Define @majorheading, @heading and @subheading
-% NOTE on use of \vbox for chapter headings, section headings, and such:
-% 1) We use \vbox rather than the earlier \line to permit
-% overlong headings to fold.
-% 2) \hyphenpenalty is set to 10000 because hyphenation in a
-% heading is obnoxious; this forbids it.
-% 3) Likewise, headings look best if no \parindent is used, and
-% if justification is not attempted. Hence \raggedright.
-
\def\majorheading{%
{\advance\chapheadingskip by 10pt \chapbreak }%
\parsearg\chapheadingzzz
@@ -5355,10 +5674,8 @@ end
\def\chapheading{\chapbreak \parsearg\chapheadingzzz}
\def\chapheadingzzz#1{%
- {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\ptexraggedright
- \rmisbold #1\hfill}}%
- \bigskip \par\penalty 200\relax
+ \vbox{\chapfonts \raggedtitlesettings #1\par}%
+ \nobreak\bigskip \nobreak
\suppressfirstparagraphindent
}
@@ -5374,14 +5691,13 @@ end
% (including whitespace, linebreaking, etc. around it),
% given all the information in convenient, parsed form.
-%%% Args are the skip and penalty (usually negative)
+% Args are the skip and penalty (usually negative)
\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
-%%% Define plain chapter starts, and page on/off switching for it
% Parameter controlling skip before chapter headings (if needed)
-
\newskip\chapheadingskip
+% Define plain chapter starts, and page on/off switching for it.
\def\chapbreak{\dobreak \chapheadingskip {-4000}}
\def\chappager{\par\vfill\supereject}
% Because \domark is called before \chapoddpage, the filler page will
@@ -5518,8 +5834,7 @@ end
%
% Typeset the actual heading.
\nobreak % Avoid page breaks at the interline glue.
- \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright
- \hangindent=\wd0 \centerparametersmaybe
+ \vbox{\raggedtitlesettings \hangindent=\wd0 \centerparametersmaybe
\unhbox0 #1\par}%
}%
\nobreak\bigskip % no page break after a chapter title
@@ -5541,18 +5856,18 @@ end
\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
%
\def\unnchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\ptexraggedright
- \rmisbold #1\hfill}}\bigskip \par\nobreak
+ \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 {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt
- \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak
+ \chapoddpage
+ \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}%
+ \nobreak\bigskip \nobreak
}
\def\CHAPFopen{%
\global\let\chapmacro=\chfopen
@@ -5584,6 +5899,8 @@ end
%
\def\sectionheading#1#2#3#4{%
{%
+ \checkenv{}% should not be in an environment.
+ %
% Switch to the right set of fonts.
\csname #2fonts\endcsname \rmisbold
%
@@ -5641,7 +5958,7 @@ end
%
% Now the second mark, after the heading break. No break points
% between here and the heading.
- \let\prevsectiondefs=\lastsectiondefs
+ \global\let\prevsectiondefs=\lastsectiondefs
\domark
%
% Only insert the space after the number if we have a section number.
@@ -5695,15 +6012,15 @@ end
%
% We'll almost certainly start a paragraph next, so don't let that
% glue accumulate. (Not a breakpoint because it's preceded by a
- % discardable item.)
+ % discardable item.) However, when a paragraph is not started next
+ % (\startdefun, \cartouche, \center, etc.), this needs to be wiped out
+ % or the negative glue will cause weirdly wrong output, typically
+ % obscuring the section heading with something else.
\vskip-\parskip
%
- % This is purely so the last item on the list is a known \penalty >
- % 10000. This is so \startdefun can avoid allowing breakpoints after
- % section headings. Otherwise, it would insert a valid breakpoint between:
- %
- % @section sec-whatever
- % @deffn def-whatever
+ % This is so the last item on the main vertical list is a known
+ % \penalty > 10000, so \startdefun, etc., can recognize the situation
+ % and do the needful.
\penalty 10001
}
@@ -6008,8 +6325,8 @@ end
\catcode `\|=\other
\catcode `\<=\other
\catcode `\>=\other
- \catcode`\`=\other
- \catcode`\'=\other
+ \catcode `\`=\other
+ \catcode `\'=\other
\escapechar=`\\
%
% ' is active in math mode (mathcode"8000). So reset it, and all our
@@ -6033,7 +6350,7 @@ end
\let\/=\ptexslash
\let\*=\ptexstar
\let\t=\ptext
- \expandafter \let\csname top\endcsname=\ptextop % outer
+ \expandafter \let\csname top\endcsname=\ptextop % we've made it outer
\let\frenchspacing=\plainfrenchspacing
%
\def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
@@ -6117,8 +6434,12 @@ end
% side, and for 6pt waste from
% each corner char, and rule thickness
\normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
- % Flag to tell @lisp, etc., not to narrow margin.
- \let\nonarrowing = t%
+ %
+ % If this cartouche directly follows a sectioning command, we need the
+ % \parskip glue (backspaced over by default) or the cartouche can
+ % collide with the section heading.
+ \ifnum\lastpenalty>10000 \vskip\parskip \penalty\lastpenalty \fi
+ %
\vbox\bgroup
\baselineskip=0pt\parskip=0pt\lineskip=0pt
\carttop
@@ -6132,7 +6453,7 @@ end
\lineskip=\normlskip
\parskip=\normpskip
\vskip -\parskip
- \comment % For explanation, see the end of \def\group.
+ \comment % For explanation, see the end of def\group.
}
\def\Ecartouche{%
\ifhmode\par\fi
@@ -6152,7 +6473,7 @@ end
\newdimen\nonfillparindent
\def\nonfillstart{%
\aboveenvbreak
- \hfuzz = 12pt % Don't be fussy
+ \ifdim\hfuzz < 12pt \hfuzz = 12pt \fi % Don't be fussy
\sepspaces % Make spaces be word-separators rather than space tokens.
\let\par = \lisppar % don't ignore blank lines
\obeylines % each line of input is a line of output
@@ -6279,9 +6600,13 @@ end
% @raggedright does more-or-less normal line breaking but no right
-% justification. From plain.tex.
+% justification. From plain.tex. Don't stretch around special
+% characters in urls in this environment, since the stretch at the right
+% should be enough.
\envdef\raggedright{%
- \rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax
+ \rightskip0pt plus2.4em \spaceskip.3333em \xspaceskip.5em\relax
+ \def\urefprestretchamount{0pt}%
+ \def\urefpoststretchamount{0pt}%
}
\let\Eraggedright\par
@@ -6310,16 +6635,9 @@ end
\makedispenvdef{quotation}{\quotationstart}
%
\def\quotationstart{%
- {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
- \parindent=0pt
- %
- % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
+ \indentedblockstart % same as \indentedblock, but increase right margin too.
\ifx\nonarrowing\relax
- \advance\leftskip by \lispnarrowing
\advance\rightskip by \lispnarrowing
- \exdentamount = \lispnarrowing
- \else
- \let\nonarrowing = \relax
\fi
\parsearg\quotationlabel
}
@@ -6329,7 +6647,7 @@ end
%
\def\Equotation{%
\par
- \ifx\quotationauthor\undefined\else
+ \ifx\quotationauthor\thisisundefined\else
% indent a bit.
\leftline{\kern 2\leftskip \sl ---\quotationauthor}%
\fi
@@ -6345,6 +6663,32 @@ end
\fi
}
+% @indentedblock is like @quotation, but indents only on the left and
+% has no optional argument.
+%
+\makedispenvdef{indentedblock}{\indentedblockstart}
+%
+\def\indentedblockstart{%
+ {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
+ \parindent=0pt
+ %
+ % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
+ \ifx\nonarrowing\relax
+ \advance\leftskip by \lispnarrowing
+ \exdentamount = \lispnarrowing
+ \else
+ \let\nonarrowing = \relax
+ \fi
+}
+
+% Keep a nonzero parskip for the environment, since we're doing normal filling.
+%
+\def\Eindentedblock{%
+ \par
+ {\parskip=0pt \afterenvbreak}%
+}
+\def\Esmallindentedblock{\Eindentedblock}
+
% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
% If we want to allow any <char> as delimiter,
@@ -6488,6 +6832,7 @@ end
\makevalueexpandable
\setupverbatim
\indexnofonts % Allow `@@' and other weird things in file names.
+ \wlog{texinfo.tex: doing @verbatiminclude of #1^^J}%
\input #1
\afterenvbreak
}%
@@ -6537,7 +6882,7 @@ end
% commands also insert a nobreak penalty, and we don't want to allow
% a break between a section heading and a defun.
%
- % As a minor refinement, we avoid "club" headers by signalling
+ % As a further refinement, we avoid "club" headers by signalling
% with penalty of 10003 after the very first @deffn in the
% sequence (see above), and penalty of 10002 after any following
% @def command.
@@ -6604,13 +6949,36 @@ end
\def\domakedefun#1#2#3{%
\envdef#1{%
\startdefun
+ \doingtypefnfalse % distinguish typed functions from all else
\parseargusing\activeparens{\printdefunline#3}%
}%
\def#2{\dodefunx#1}%
\def#3%
}
-%%% Untyped functions:
+\newif\ifdoingtypefn % doing typed function?
+\newif\ifrettypeownline % typeset return type on its own line?
+
+% @deftypefnnewline on|off says whether the return type of typed functions
+% are printed on their own line. This affects @deftypefn, @deftypefun,
+% @deftypeop, and @deftypemethod.
+%
+\parseargdef\deftypefnnewline{%
+ \def\temp{#1}%
+ \ifx\temp\onword
+ \expandafter\let\csname SETtxideftypefnnl\endcsname
+ = \empty
+ \else\ifx\temp\offword
+ \expandafter\let\csname SETtxideftypefnnl\endcsname
+ = \relax
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @txideftypefnnl value `\temp',
+ must be on|off}%
+ \fi\fi
+}
+
+% Untyped functions:
% @deffn category name args
\makedefun{deffn}{\deffngeneral{}}
@@ -6629,7 +6997,7 @@ end
\defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}%
}
-%%% Typed functions:
+% Typed functions:
% @deftypefn category type name args
\makedefun{deftypefn}{\deftypefngeneral{}}
@@ -6644,10 +7012,11 @@ end
%
\def\deftypefngeneral#1#2 #3 #4 #5\endheader{%
\dosubind{fn}{\code{#4}}{#1}%
+ \doingtypefntrue
\defname{#2}{#3}{#4}\defunargs{#5\unskip}%
}
-%%% Typed variables:
+% Typed variables:
% @deftypevr category type var args
\makedefun{deftypevr}{\deftypecvgeneral{}}
@@ -6665,7 +7034,7 @@ end
\defname{#2}{#3}{#4}\defunargs{#5\unskip}%
}
-%%% Untyped variables:
+% Untyped variables:
% @defvr category var args
\makedefun{defvr}#1 {\deftypevrheader{#1} {} }
@@ -6676,7 +7045,8 @@ end
% \defcvof {category of}class var args
\def\defcvof#1#2 {\deftypecvof{#1}#2 {} }
-%%% Type:
+% Types:
+
% @deftp category name args
\makedefun{deftp}#1 #2 #3\endheader{%
\doind{tp}{\code{#2}}%
@@ -6704,25 +7074,49 @@ end
% We are followed by (but not passed) the arguments, if any.
%
\def\defname#1#2#3{%
+ \par
% Get the values of \leftskip and \rightskip as they were outside the @def...
\advance\leftskip by -\defbodyindent
%
- % How we'll format the type name. Putting it in brackets helps
+ % Determine if we are typesetting the return type of a typed function
+ % on a line by itself.
+ \rettypeownlinefalse
+ \ifdoingtypefn % doing a typed function specifically?
+ % then check user option for putting return type on its own line:
+ \expandafter\ifx\csname SETtxideftypefnnl\endcsname\relax \else
+ \rettypeownlinetrue
+ \fi
+ \fi
+ %
+ % How we'll format the category name. Putting it in brackets helps
% distinguish it from the body text that may end up on the next line
% just below it.
\def\temp{#1}%
\setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi}
%
- % Figure out line sizes for the paragraph shape.
+ % Figure out line sizes for the paragraph shape. We'll always have at
+ % least two.
+ \tempnum = 2
+ %
% The first line needs space for \box0; but if \rightskip is nonzero,
% we need only space for the part of \box0 which exceeds it:
\dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip
+ %
+ % If doing a return type on its own line, we'll have another line.
+ \ifrettypeownline
+ \advance\tempnum by 1
+ \def\maybeshapeline{0in \hsize}%
+ \else
+ \def\maybeshapeline{}%
+ \fi
+ %
% The continuations:
\dimen2=\hsize \advance\dimen2 by -\defargsindent
- % (plain.tex says that \dimen1 should be used only as global.)
- \parshape 2 0in \dimen0 \defargsindent \dimen2
%
- % Put the type name to the right margin.
+ % The final paragraph shape:
+ \parshape \tempnum 0in \dimen0 \maybeshapeline \defargsindent \dimen2
+ %
+ % Put the category name at the right margin.
\noindent
\hbox to 0pt{%
\hfil\box0 \kern-\hsize
@@ -6744,8 +7138,16 @@ end
% . this still does not fix the ?` and !` ligatures, but so far no
% one has made identifiers using them :).
\df \tt
- \def\temp{#2}% return value type
- \ifx\temp\empty\else \tclose{\temp} \fi
+ \def\temp{#2}% text of the return type
+ \ifx\temp\empty\else
+ \tclose{\temp}% typeset the return type
+ \ifrettypeownline
+ % put return type on its own line; prohibit line break following:
+ \hfil\vadjust{\nobreak}\break
+ \else
+ \space % type on same line, so just followed by a space
+ \fi
+ \fi % no return type
#3% output function name
}%
{\rm\enskip}% hskip 0.5 em of \tenrm
@@ -6765,7 +7167,10 @@ end
\df \sl \hyphenchar\font=0
%
% On the other hand, if an argument has two dashes (for instance), we
- % want a way to get ttsl. Let's try @var for that.
+ % want a way to get ttsl. We used to recommend @var for that, so
+ % leave the code in, but it's strange for @var to lead to typewriter.
+ % Nowadays we recommend @code, since the difference between a ttsl hyphen
+ % and a tt hyphen is pretty tiny. @code also disables ?` !`.
\def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}%
#1%
\sl\hyphenchar\font=45
@@ -6863,7 +7268,7 @@ end
% To do this right we need a feature of e-TeX, \scantokens,
% which we arrange to emulate with a temporary file in ordinary TeX.
-\ifx\eTeXversion\undefined
+\ifx\eTeXversion\thisisundefined
\newwrite\macscribble
\def\scantokens#1{%
\toks0={#1}%
@@ -6874,25 +7279,30 @@ end
}
\fi
-\def\scanmacro#1{%
- \begingroup
- \newlinechar`\^^M
- \let\xeatspaces\eatspaces
- % 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=`\@
- % ... and \example
- \spaceisspace
- %
- % Append \endinput to make sure that TeX does not see the ending newline.
- % I've verified that it is necessary both for e-TeX and for ordinary TeX
- % --kasal, 29nov03
- \scantokens{#1\endinput}%
- \endgroup
-}
+\def\scanmacro#1{\begingroup
+ \newlinechar`\^^M
+ \let\xeatspaces\eatspaces
+ %
+ % 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=`\@
+ %
+ % ... and for \example:
+ \spaceisspace
+ %
+ % 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}
\def\scanexp#1{%
\edef\temp{\noexpand\scanmacro{#1}}%
@@ -7025,9 +7435,15 @@ end
\def\macroxxx#1{%
\getargs{#1}% now \macname is the macname and \argl the arglist
\ifx\argl\empty % no arguments
- \paramno=0
+ \paramno=0\relax
\else
\expandafter\parsemargdef \argl;%
+ \if\paramno>256\relax
+ \ifx\eTeXversion\thisisundefined
+ \errhelp = \EMsimple
+ \errmessage{You need eTeX to compile a file with macros with more than 256 arguments}
+ \fi
+ \fi
\fi
\if1\csname ismacro.\the\macname\endcsname
\message{Warning: redefining \the\macname}%
@@ -7077,9 +7493,17 @@ end
\def\getmacname#1 #2\relax{\macname={#1}}
\def\getmacargs#1{\def\argl{#1}}
+% 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 be ##N where N is the position in that list.
+% 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).
%
% We need to get `macro parameter char #' into several definitions.
@@ -7089,12 +7513,33 @@ end
%
% 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
\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
+ \fi
}
\def\parsemargdefxxx#1,{%
\if#1;\let\next=\relax
@@ -7105,16 +7550,205 @@ end
\edef\paramlist{\paramlist\hash\the\paramno,}%
\fi\next}
+\def\parsemmanyargdef@@#1,{%
+ \if#1;\let\next=\relax
+ \else
+ \let\next=\parsemmanyargdef@@
+ \edef\tempb{\eatspaces{#1}}%
+ \expandafter\def\expandafter\tempa
+ \expandafter{\csname macarg.\tempb\endcsname}%
+ % Note that we need some extra \noexpand\noexpand, this is because we
+ % don't want \the to be expanded in the \parsermacbody as it uses an
+ % \xdef .
+ \expandafter\edef\tempa
+ {\noexpand\noexpand\noexpand\the\toks\the\paramno}%
+ \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
+\def\nilm@{\nil@}%
+\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
+% macarg.ARGNAME
+%
+% #1 is the macro name
+% #2 is the list of argument names
+% #3 is the list of argument values
+\def\getargvals@#1#2#3{%
+ \def\macargdeflist@{}%
+ \def\saveparamlist@{#2}% Need to keep a copy for parameter expansion.
+ \def\paramlist{#2,\nil@}%
+ \def\macroname{#1}%
+ \begingroup
+ \macroargctxt
+ \def\argvaluelist{#3,\nil@}%
+ \def\@tempa{#3}%
+ \ifx\@tempa\empty
+ \setemptyargvalues@
+ \else
+ \getargvals@@
+ \fi
+}
-% This defines the macro itself. There are six cases: recursive and
-% nonrecursive macros of zero, one, and many arguments.
+%
+\def\getargvals@@{%
+ \ifx\paramlist\nilm@
+ % Some sanity check needed here that \argvaluelist is also empty.
+ \ifx\argvaluelist\nillm@
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Too many arguments in macro `\macroname'!}%
+ \fi
+ \let\next\macargexpandinbody@
+ \else
+ \ifx\argvaluelist\nillm@
+ % No more arguments values passed to macro. Set remaining named-arg
+ % macros to empty.
+ \let\next\setemptyargvalues@
+ \else
+ % pop current arg name into \@tempb
+ \def\@tempa##1{\pop@{\@tempb}{\paramlist}##1\endargs@}%
+ \expandafter\@tempa\expandafter{\paramlist}%
+ % pop current argument value into \@tempc
+ \def\@tempa##1{\longpop@{\@tempc}{\argvaluelist}##1\endargs@}%
+ \expandafter\@tempa\expandafter{\argvaluelist}%
+ % Here \@tempb is the current arg name and \@tempc is the current arg value.
+ % First place the new argument macro definition into \@tempd
+ \expandafter\macname\expandafter{\@tempc}%
+ \expandafter\let\csname macarg.\@tempb\endcsname\relax
+ \expandafter\def\expandafter\@tempe\expandafter{%
+ \csname macarg.\@tempb\endcsname}%
+ \edef\@tempd{\long\def\@tempe{\the\macname}}%
+ \push@\@tempd\macargdeflist@
+ \let\next\getargvals@@
+ \fi
+ \fi
+ \next
+}
+
+\def\push@#1#2{%
+ \expandafter\expandafter\expandafter\def
+ \expandafter\expandafter\expandafter#2%
+ \expandafter\expandafter\expandafter{%
+ \expandafter#1#2}%
+}
+
+% Replace arguments by their values in the macro body, and place the result
+% 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
+ % values into respective token registers.
+ %
+ % First we save the token context, and initialize argument numbering.
+ \begingroup
+ \paramno0\relax
+ % Then, for each argument number #N, we place the corresponding argument
+ % value into a new token list register \toks#N
+ \expandafter\putargsintokens@\saveparamlist@,;,%
+ % Then, we expand the body so that argument are replaced by their
+ % values. The trick for values not to be expanded themselves is that they
+ % are within tokens and that tokens expand only once in an \edef .
+ \edef\@tempc{\csname mac.\macroname .body\endcsname}%
+ % Now we restore the token stack pointer to free the token list registers
+ % which we have used, but we make sure that expanded body is saved after
+ % group.
+ \expandafter
+ \endgroup
+ \expandafter\def\expandafter\@tempa\expandafter{\@tempc}%
+ }
+
+\def\macargexpandinbody@{%
+ %% Define the named-macro outside of this group and then close this group.
+ \expandafter
+ \endgroup
+ \macargdeflist@
+ % First the replace in body the macro arguments by their values, the result
+ % is in \@tempa .
+ \macvalstoargs@
+ % Then we point at the \norecurse or \gobble (for recursive) macro value
+ % with \@tempb .
+ \expandafter\let\expandafter\@tempb\csname mac.\macroname .recurse\endcsname
+ % Depending on whether it is recursive or not, we need some tailing
+ % \egroup .
+ \ifx\@tempb\gobble
+ \let\@tempc\relax
+ \else
+ \let\@tempc\egroup
+ \fi
+ % And now we do the real job:
+ \edef\@tempd{\noexpand\@tempb{\macroname}\noexpand\scanmacro{\@tempa}\@tempc}%
+ \@tempd
+}
+
+\def\putargsintokens@#1,{%
+ \if#1;\let\next\relax
+ \else
+ \let\next\putargsintokens@
+ % First we allocate the new token list register, and give it a temporary
+ % alias \@tempb .
+ \toksdef\@tempb\the\paramno
+ % Then we place the argument value into that token list register.
+ \expandafter\let\expandafter\@tempa\csname macarg.#1\endcsname
+ \expandafter\@tempb\expandafter{\@tempa}%
+ \advance\paramno by 1\relax
+ \fi
+ \next
+}
+
+% 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@
+ \else
+ \expandafter\setemptyargvaluesparser@\paramlist\endargs@
+ \let\next\setemptyargvalues@
+ \fi
+ \next
+}
+
+\def\setemptyargvaluesparser@#1,#2\endargs@{%
+ \expandafter\def\expandafter\@tempa\expandafter{%
+ \expandafter\def\csname macarg.#1\endcsname{}}%
+ \push@\@tempa\macargdeflist@
+ \def\paramlist{#2}%
+}
+
+% #1 is the element target macro
+% #2 is the list macro
+% #3,#4\endargs@ is the list value
+\def\pop@#1#2#3,#4\endargs@{%
+ \def#1{#3}%
+ \def#2{#4}%
+}
+\long\def\longpop@#1#2#3,#4\endargs@{%
+ \long\def#1{#3}%
+ \long\def#2{#4}%
+}
+
+% 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.
@@ -7133,17 +7767,25 @@ end
\expandafter\noexpand\csname\the\macname xxx\endcsname}%
\expandafter\xdef\csname\the\macname xxx\endcsname##1{%
\egroup\noexpand\scanmacro{\temp}}%
- \else % many
- \expandafter\xdef\csname\the\macname\endcsname{%
- \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 xxx\endcsname
- \paramlist{\egroup\noexpand\scanmacro{\temp}}%
+ \else
+ \ifnum\paramno<10\relax % at most 9
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \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 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\temp
+ \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble
+ \fi
\fi
\else
\ifcase\paramno
@@ -7160,23 +7802,33 @@ end
\egroup
\noexpand\norecurse{\the\macname}%
\noexpand\scanmacro{\temp}\egroup}%
- \else % many
- \expandafter\xdef\csname\the\macname\endcsname{%
- \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 xxx\endcsname
- \paramlist{%
- \egroup
- \noexpand\norecurse{\the\macname}%
- \noexpand\scanmacro{\temp}\egroup}%
+ \else % at most 9
+ \ifnum\paramno<10\relax
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \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 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\temp
+ \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\norecurse
+ \fi
\fi
\fi}
+\catcode `\@\texiatcatcode\relax
+
\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
% \braceorline decides whether the next nonwhitespace character is a
@@ -7215,7 +7867,8 @@ end
% @inforef is relatively simple.
\def\inforef #1{\inforefzzz #1,,,,**}
-\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
+\def\inforefzzz #1,#2,#3,#4**{%
+ \putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
node \samp{\ignorespaces#1{}}}
% @node's only job in TeX is to define \lastnode, which is used in
@@ -7276,11 +7929,32 @@ end
\toks0 = \expandafter{\lastsection}%
\immediate \writexrdef{title}{\the\toks0 }%
\immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc.
- \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, during \shipout
+ \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, at \shipout
}%
\fi
}
+% @xrefautosectiontitle on|off says whether @section(ing) names are used
+% automatically in xrefs, if the third arg is not explicitly specified.
+% This was provided as a "secret" @set xref-automatic-section-title
+% variable, now it's official.
+%
+\parseargdef\xrefautomaticsectiontitle{%
+ \def\temp{#1}%
+ \ifx\temp\onword
+ \expandafter\let\csname SETxref-automatic-section-title\endcsname
+ = \empty
+ \else\ifx\temp\offword
+ \expandafter\let\csname SETxref-automatic-section-title\endcsname
+ = \relax
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @xrefautomaticsectiontitle value `\temp',
+ must be on|off}%
+ \fi\fi
+}
+
+%
% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is
% the node name, #2 the name of the Info cross-reference, #3 the printed
% node name, #4 the name of the Info file, #5 the name of the printed
@@ -7289,26 +7963,41 @@ end
\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
\def\ref#1{\xrefX[#1,,,,,,,]}
+%
+\newbox\toprefbox
+\newbox\printedrefnamebox
+\newbox\infofilenamebox
+\newbox\printedmanualbox
+%
\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
\unsepspaces
- \def\printedmanual{\ignorespaces #5}%
+ %
+ % Get args without leading/trailing spaces.
\def\printedrefname{\ignorespaces #3}%
- \setbox1=\hbox{\printedmanual\unskip}%
- \setbox0=\hbox{\printedrefname\unskip}%
- \ifdim \wd0 = 0pt
+ \setbox\printedrefnamebox = \hbox{\printedrefname\unskip}%
+ %
+ \def\infofilename{\ignorespaces #4}%
+ \setbox\infofilenamebox = \hbox{\infofilename\unskip}%
+ %
+ \def\printedmanual{\ignorespaces #5}%
+ \setbox\printedmanualbox = \hbox{\printedmanual\unskip}%
+ %
+ % If the printed reference name (arg #3) was not explicitly given in
+ % the @xref, figure out what we want to use.
+ \ifdim \wd\printedrefnamebox = 0pt
% No printed node name was explicitly given.
- \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax
- % Use the node name inside the square brackets.
+ \expandafter\ifx\csname SETxref-automatic-section-title\endcsname \relax
+ % Not auto section-title: use node name inside the square brackets.
\def\printedrefname{\ignorespaces #1}%
\else
- % Use the actual chapter/section title appear inside
- % the square brackets. Use the real section title if we have it.
- \ifdim \wd1 > 0pt
- % It is in another manual, so we don't have it.
+ % Auto section-title: use chapter/section title inside
+ % the square brackets if we have it.
+ \ifdim \wd\printedmanualbox > 0pt
+ % It is in another manual, so we don't have it; use node name.
\def\printedrefname{\ignorespaces #1}%
\else
\ifhavexrefs
- % We know the real title if we have the xref values.
+ % We (should) know the real title if we have the xref values.
\def\printedrefname{\refx{#1-title}{}}%
\else
% Otherwise just copy the Info node name.
@@ -7322,13 +8011,20 @@ end
\ifpdf
{\indexnofonts
\turnoffactive
+ \makevalueexpandable
% This expands tokens, so do it after making catcode changes, so _
- % etc. don't get their TeX definitions.
+ % etc. don't get their TeX definitions. This ignores all spaces in
+ % #4, including (wrongly) those in the middle of the filename.
\getfilename{#4}%
%
- % See comments at \activebackslashdouble.
- {\activebackslashdouble \xdef\pdfxrefdest{#1}%
- \backslashparens\pdfxrefdest}%
+ % This (wrongly) does not take account of leading or trailing
+ % spaces in #1, which should be ignored.
+ \edef\pdfxrefdest{#1}%
+ \ifx\pdfxrefdest\empty
+ \def\pdfxrefdest{Top}% no empty targets
+ \else
+ \txiescapepdf\pdfxrefdest % escape PDF special chars
+ \fi
%
\leavevmode
\startlink attr{/Border [0 0 0]}%
@@ -7355,29 +8051,42 @@ end
\iffloat\Xthisreftitle
% If the user specified the print name (third arg) to the ref,
% print it instead of our usual "Figure 1.2".
- \ifdim\wd0 = 0pt
+ \ifdim\wd\printedrefnamebox = 0pt
\refx{#1-snt}{}%
\else
\printedrefname
\fi
%
- % if the user also gave the printed manual name (fifth arg), append
+ % If the user also gave the printed manual name (fifth arg), append
% "in MANUALNAME".
- \ifdim \wd1 > 0pt
+ \ifdim \wd\printedmanualbox > 0pt
\space \putwordin{} \cite{\printedmanual}%
\fi
\else
% node/anchor (non-float) references.
+ %
+ % If we use \unhbox to print the node names, TeX does not insert
+ % empty discretionaries after hyphens, which means that it will not
+ % find a line break at a hyphen in a node names. Since some manuals
+ % are best written with fairly long node names, containing hyphens,
+ % this is a loss. Therefore, we give the text of the node name
+ % again, so it is as if TeX is seeing it for the first time.
+ %
+ \ifdim \wd\printedmanualbox > 0pt
+ % Cross-manual reference with a printed manual name.
+ %
+ \crossmanualxref{\cite{\printedmanual\unskip}}%
+ %
+ \else\ifdim \wd\infofilenamebox > 0pt
+ % Cross-manual reference with only an info filename (arg 4), no
+ % printed manual name (arg 5). This is essentially the same as
+ % the case above; we output the filename, since we have nothing else.
+ %
+ \crossmanualxref{\code{\infofilename\unskip}}%
%
- % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
- % insert empty discretionaries after hyphens, which means that it will
- % not find a line break at a hyphen in a node names. Since some manuals
- % are best written with fairly long node names, containing hyphens, this
- % is a loss. Therefore, we give the text of the node name again, so it
- % is as if TeX is seeing it for the first time.
- \ifdim \wd1 > 0pt
- \putwordSection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}%
\else
+ % Reference within this manual.
+ %
% _ (for example) has to be the character _ for the purposes of the
% control sequence corresponding to the node, but it has to expand
% into the usual \leavevmode...\vrule stuff for purposes of
@@ -7389,7 +8098,7 @@ end
\setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
\ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
}%
- % output the `[mynode]' via a macro so it can be overridden.
+ % output the `[mynode]' via the macro below so it can be overridden.
\xrefprintnodename\printedrefname
%
% But we always want a comma and a space:
@@ -7397,11 +8106,37 @@ end
%
% output the `page 3'.
\turnoffactive \putwordpage\tie\refx{#1-pg}{}%
- \fi
+ \fi\fi
\fi
\endlink
\endgroup}
+% Output a cross-manual xref to #1. Used just above (twice).
+%
+% Only include the text "Section ``foo'' in" if the foo is neither
+% missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply
+% "see The Foo Manual", the idea being to refer to the whole manual.
+%
+% But, this being TeX, we can't easily compare our node name against the
+% string "Top" while ignoring the possible spaces before and after in
+% the input. By adding the arbitrary 7sp below, we make it much less
+% likely that a real node name would have the same width as "Top" (e.g.,
+% in a monospaced font). Hopefully it will never happen in practice.
+%
+% For the same basic reason, we retypeset the "Top" at every
+% reference, since the current font is indeterminate.
+%
+\def\crossmanualxref#1{%
+ \setbox\toprefbox = \hbox{Top\kern7sp}%
+ \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}%
+ \ifdim \wd2 > 7sp % nonempty?
+ \ifdim \wd2 = \wd\toprefbox \else % same as Top?
+ \putwordSection{} ``\printedrefname'' \putwordin{}\space
+ \fi
+ \fi
+ #1%
+}
+
% This macro is called from \xrefX for the `[nodename]' part of xref
% output. It's a separate macro only so it can be changed more easily,
% since square brackets don't work well in some documents. Particularly
@@ -7452,7 +8187,8 @@ end
\angleleft un\-de\-fined\angleright
\iflinks
\ifhavexrefs
- \message{\linenumber Undefined cross reference `#1'.}%
+ {\toks0 = {#1}% avoid expansion of possibly-complex value
+ \message{\linenumber Undefined cross reference `\the\toks0'.}}%
\else
\ifwarnedxrefs\else
\global\warnedxrefstrue
@@ -7616,7 +8352,7 @@ end
% space to prevent strange expansion errors.)
\def\supereject{\par\penalty -20000\footnoteno =0 }
-% @footnotestyle is meaningful for info output only.
+% @footnotestyle is meaningful for Info output only.
\let\footnotestyle=\comment
{\catcode `\@=11
@@ -7625,6 +8361,7 @@ end
\gdef\footnote{%
\let\indent=\ptexindent
\let\noindent=\ptexnoindent
+ %
\global\advance\footnoteno by \@ne
\edef\thisfootno{$^{\the\footnoteno}$}%
%
@@ -7648,6 +8385,11 @@ end
%
\gdef\dofootnote{%
\insert\footins\bgroup
+ %
+ % Nested footnotes are not supported in TeX, that would take a lot
+ % more work. (\startsavinginserts does not suffice.)
+ \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.
@@ -7679,17 +8421,25 @@ end
% expands into a box, it must come within the paragraph, lest it
% provide a place where TeX can split the footnote.
\footstrut
+ %
+ % Invoke rest of plain TeX footnote routine.
\futurelet\next\fo@t
}
}%end \catcode `\@=11
+\def\errfootnote{%
+ \errhelp=\EMsimple
+ \errmessage{Nested footnotes not supported in texinfo.tex,
+ even though they work in makeinfo; sorry}
+}
+
% 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.
% Similarly, if a @footnote appears inside an alignment, save the footnote
% text to a box and make the \insert when a row of the table is finished.
% And the same can be done for other insert classes. --kasal, 16nov03.
-
+%
% Replace the \insert primitive by a cheating macro.
% Deeper inside, just make sure that the saved insertions are not spilled
% out prematurely.
@@ -7766,7 +8516,7 @@ end
it from ftp://tug.org/tex/epsf.tex.}
%
\def\image#1{%
- \ifx\epsfbox\undefined
+ \ifx\epsfbox\thisisundefined
\ifwarnednoepsf \else
\errhelp = \noepsfhelp
\errmessage{epsf.tex not found, images will be ignored}%
@@ -7790,6 +8540,13 @@ end
% If the image is by itself, center it.
\ifvmode
\imagevmodetrue
+ \else \ifx\centersub\centerV
+ % for @center @image, we need a vbox so we can have our vertical space
+ \imagevmodetrue
+ \vbox\bgroup % vbox has better behavior than vtop herev
+ \fi\fi
+ %
+ \ifimagevmode
\nobreak\medskip
% Usually we'll have text after the image which will insert
% \parskip glue, so insert it here too to equalize the space
@@ -7799,9 +8556,13 @@ end
\fi
%
% Leave vertical mode so that indentation from an enclosing
- % environment such as @quotation is respected. On the other hand, if
- % it's at the top level, we don't want the normal paragraph indentation.
- \noindent
+ % environment such as @quotation is respected.
+ % However, if we're at the top level, we don't want the
+ % normal paragraph indentation.
+ % On the other hand, if we are in the case of @center @image, we don't
+ % want to start a paragraph, which will create a hsize-width box and
+ % eradicate the centering.
+ \ifx\centersub\centerV\else \noindent \fi
%
% Output the image.
\ifpdf
@@ -7813,7 +8574,10 @@ end
\epsfbox{#1.eps}%
\fi
%
- \ifimagevmode \medskip \fi % space after the standalone image
+ \ifimagevmode
+ \medskip % space after a standalone image
+ \fi
+ \ifx\centersub\centerV \egroup \fi
\endgroup}
@@ -8092,20 +8856,20 @@ end
{
\catcode`\_ = \active
\globaldefs=1
-\parseargdef\documentlanguage{\begingroup
- \let_=\normalunderscore % normal _ character for filenames
+\parseargdef\documentlanguage{%
\tex % read txi-??.tex file in plain TeX.
% Read the file by the name they passed if it exists.
+ \let_ = \normalunderscore % normal _ character for filename test
\openin 1 txi-#1.tex
\ifeof 1
- \documentlanguagetrywithoutunderscore{#1_\finish}%
+ \documentlanguagetrywithoutunderscore #1_\finish
\else
\globaldefs = 1 % everything in the txi-LL files needs to persist
\input txi-#1.tex
\fi
\closein 1
\endgroup % end raw TeX
-\endgroup}
+}
%
% If they passed de_DE, and txi-de_DE.tex doesn't exist,
% try txi-de.tex.
@@ -8231,7 +8995,7 @@ directory should work if nowhere else does.}
%
% Latin1 (ISO-8859-1) character definitions.
\def\latonechardefs{%
- \gdef^^a0{~}
+ \gdef^^a0{\tie}
\gdef^^a1{\exclamdown}
\gdef^^a2{\missingcharmsg{CENT SIGN}}
\gdef^^a3{{\pounds}}
@@ -8261,7 +9025,7 @@ directory should work if nowhere else does.}
\gdef^^b9{$^1$}
\gdef^^ba{\ordm}
%
- \gdef^^bb{\guilletright}
+ \gdef^^bb{\guillemetright}
\gdef^^bc{$1\over4$}
\gdef^^bd{$1\over2$}
\gdef^^be{$3\over4$}
@@ -8353,7 +9117,7 @@ directory should work if nowhere else does.}
% Latin2 (ISO-8859-2) character definitions.
\def\lattwochardefs{%
- \gdef^^a0{~}
+ \gdef^^a0{\tie}
\gdef^^a1{\ogonek{A}}
\gdef^^a2{\u{}}
\gdef^^a3{\L}
@@ -8434,8 +9198,8 @@ directory should work if nowhere else does.}
\gdef^^ea{\ogonek{e}}
\gdef^^eb{\"e}
\gdef^^ec{\v e}
- \gdef^^ed{\'\i}
- \gdef^^ee{\^\i}
+ \gdef^^ed{\'{\dotless{i}}}
+ \gdef^^ee{\^{\dotless{i}}}
\gdef^^ef{\v d}
%
\gdef^^f0{\dh}
@@ -8526,7 +9290,7 @@ directory should work if nowhere else does.}
\gdef\DeclareUnicodeCharacter#1#2{%
\countUTFz = "#1\relax
- \wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
+ %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
\begingroup
\parseXMLCharref
\def\UTFviiiTwoOctets##1##2{%
@@ -9202,28 +9966,21 @@ directory should work if nowhere else does.}
\message{and turning on texinfo input format.}
+\def^^L{\par} % remove \outer, so ^L can appear in an @comment
+
% DEL is a comment character, in case @c does not suffice.
\catcode`\^^? = 14
% Define macros to output various characters with catcode for normal text.
-\catcode`\"=\other
-\catcode`\~=\other
-\catcode`\^=\other
-\catcode`\_=\other
-\catcode`\|=\other
-\catcode`\<=\other
-\catcode`\>=\other
-\catcode`\+=\other
-\catcode`\$=\other
-\def\normaldoublequote{"}
-\def\normaltilde{~}
-\def\normalcaret{^}
-\def\normalunderscore{_}
-\def\normalverticalbar{|}
-\def\normalless{<}
-\def\normalgreater{>}
-\def\normalplus{+}
-\def\normaldollar{$}%$ font-lock fix
+\catcode`\"=\other \def\normaldoublequote{"}
+\catcode`\$=\other \def\normaldollar{$}%$ font-lock fix
+\catcode`\+=\other \def\normalplus{+}
+\catcode`\<=\other \def\normalless{<}
+\catcode`\>=\other \def\normalgreater{>}
+\catcode`\^=\other \def\normalcaret{^}
+\catcode`\_=\other \def\normalunderscore{_}
+\catcode`\|=\other \def\normalverticalbar{|}
+\catcode`\~=\other \def\normaltilde{~}
% This macro is used to make a character print one way in \tt
% (where it can probably be output as-is), and another way in other fonts,
@@ -9250,11 +10007,9 @@ directory should work if nowhere else does.}
\catcode`\"=\active
\def\activedoublequote{{\tt\char34}}
\let"=\activedoublequote
-\catcode`\~=\active
-\def~{{\tt\char126}}
+\catcode`\~=\active \def\activetilde{{\tt\char126}} \let~ = \activetilde
\chardef\hat=`\^
-\catcode`\^=\active
-\def^{{\tt \hat}}
+\catcode`\^=\active \def\activehat{{\tt \hat}} \let^ = \activehat
\catcode`\_=\active
\def_{\ifusingtt\normalunderscore\_}
@@ -9264,16 +10019,26 @@ directory should work if nowhere else does.}
\catcode`\|=\active
\def|{{\tt\char124}}
+
\chardef \less=`\<
-\catcode`\<=\active
-\def<{{\tt \less}}
+\catcode`\<=\active \def\activeless{{\tt \less}}\let< = \activeless
\chardef \gtr=`\>
-\catcode`\>=\active
-\def>{{\tt \gtr}}
-\catcode`\+=\active
-\def+{{\tt \char 43}}
-\catcode`\$=\active
-\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
+\catcode`\>=\active \def\activegtr{{\tt \gtr}}\let> = \activegtr
+\catcode`\+=\active \def+{{\tt \char 43}}
+\catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
+
+% used for headline/footline in the output routine, in case the page
+% breaks in the middle of an @tex block.
+\def\texinfochars{%
+ \let< = \activeless
+ \let> = \activegtr
+ \let~ = \activetilde
+ \let^ = \activehat
+ \markupsetuplqdefault \markupsetuprqdefault
+ \let\b = \strong
+ \let\i = \smartitalic
+ % 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.
@@ -9301,34 +10066,48 @@ directory should work if nowhere else does.}
% In texinfo, backslash is an active character; it prints the backslash
% in fixed width font.
-\catcode`\\=\active
-@def@normalbackslash{{@tt@backslashcurfont}}
+\catcode`\\=\active % @ for escape char from now on.
+
+% 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.
+
% 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.
+% catcode other. We switch back and forth between these.
@gdef@rawbackslash{@let\=@backslashcurfont}
@gdef@otherbackslash{@let\=@realbackslash}
% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
-% the literal character `\'.
-%
-@def@normalturnoffactive{%
- @let\=@normalbackslash
- @let"=@normaldoublequote
- @let~=@normaltilde
- @let^=@normalcaret
- @let_=@normalunderscore
- @let|=@normalverticalbar
- @let<=@normalless
- @let>=@normalgreater
- @let+=@normalplus
- @let$=@normaldollar %$ font-lock fix
- @markupsetuplqdefault
- @markupsetuprqdefault
- @unsepspaces
+% the literal character `\'. Also revert - to its normal character, in
+% case the active - from code has slipped in.
+%
+{@catcode`- = @active
+ @gdef@normalturnoffactive{%
+ @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
+ @markupsetuplqdefault
+ @markupsetuprqdefault
+ @unsepspaces
+ }
}
% Make _ and + \other characters, temporarily.
@@ -9357,10 +10136,19 @@ directory should work if nowhere else does.}
% Say @foo, not \foo, in error messages.
@escapechar = `@@
+% These (along with & and #) are made active for url-breaking, so need
+% active definitions as the normal characters.
+@def@normaldot{.}
+@def@normalquest{?}
+@def@normalslash{/}
+
% These look ok in all fonts, so just make them not special.
-@catcode`@& = @other
-@catcode`@# = @other
-@catcode`@% = @other
+% @hashchar{} gets its own user-level command, because of #line.
+@catcode`@& = @other @def@normalamp{&}
+@catcode`@# = @other @def@normalhash{#}
+@catcode`@% = @other @def@normalpercent{%}
+
+@let @hashchar = @normalhash
@c Finally, make ` and ' active, so that txicodequoteundirected and
@c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we
diff --git a/config/uintmax_t.m4 b/config/uintmax_t.m4
deleted file mode 100644
index b5f28d44..00000000
--- a/config/uintmax_t.m4
+++ /dev/null
@@ -1,32 +0,0 @@
-# uintmax_t.m4 serial 7 (gettext-0.12)
-dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Paul Eggert.
-
-AC_PREREQ(2.13)
-
-# Define uintmax_t to 'unsigned long' or 'unsigned long long'
-# if it is not already defined in <stdint.h> or <inttypes.h>.
-
-AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
-[
- AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
- AC_REQUIRE([jm_AC_HEADER_STDINT_H])
- if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
- AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
- test $ac_cv_type_unsigned_long_long = yes \
- && ac_type='unsigned long long' \
- || ac_type='unsigned long'
- AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
- [Define to unsigned long or unsigned long long
- if <stdint.h> and <inttypes.h> don't define.])
- else
- AC_DEFINE(HAVE_UINTMAX_T, 1,
- [Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>.])
- fi
-])
diff --git a/config/ulonglong.m4 b/config/ulonglong.m4
deleted file mode 100644
index 1da8b809..00000000
--- a/config/ulonglong.m4
+++ /dev/null
@@ -1,25 +0,0 @@
-# ulonglong.m4 serial 3
-dnl Copyright (C) 1999-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Paul Eggert.
-
-# Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works.
-
-AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
-[
- AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
- [AC_TRY_LINK([unsigned long long ull = 1ULL; int i = 63;],
- [unsigned long long ullmax = (unsigned long long) -1;
- return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
- ac_cv_type_unsigned_long_long=yes,
- ac_cv_type_unsigned_long_long=no)])
- if test $ac_cv_type_unsigned_long_long = yes; then
- AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
- [Define if you have the 'unsigned long long' type.])
- fi
-])
diff --git a/config/wchar_t.m4 b/config/wchar_t.m4
deleted file mode 100644
index d8fd1ec5..00000000
--- a/config/wchar_t.m4
+++ /dev/null
@@ -1,22 +0,0 @@
-# wchar_t.m4 serial 1 (gettext-0.12)
-dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Bruno Haible.
-dnl Test whether <stddef.h> has the 'wchar_t' type.
-dnl Prerequisite: AC_PROG_CC
-
-AC_DEFUN([gt_TYPE_WCHAR_T],
-[
- AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t,
- [AC_TRY_COMPILE([#include <stddef.h>
- wchar_t foo = (wchar_t)'\0';], ,
- gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)])
- if test $gt_cv_c_wchar_t = yes; then
- AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.])
- fi
-])
diff --git a/config/wint_t.m4 b/config/wint_t.m4
deleted file mode 100644
index 3d8d2159..00000000
--- a/config/wint_t.m4
+++ /dev/null
@@ -1,22 +0,0 @@
-# wint_t.m4 serial 1 (gettext-0.12)
-dnl Copyright (C) 2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Bruno Haible.
-dnl Test whether <wchar.h> has the 'wint_t' type.
-dnl Prerequisite: AC_PROG_CC
-
-AC_DEFUN([gt_TYPE_WINT_T],
-[
- AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t,
- [AC_TRY_COMPILE([#include <wchar.h>
- wint_t foo = (wchar_t)'\0';], ,
- gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)])
- if test $gt_cv_c_wint_t = yes; then
- AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.])
- fi
-])
diff --git a/config/xsize.m4 b/config/xsize.m4
deleted file mode 100644
index 9b7cf9b4..00000000
--- a/config/xsize.m4
+++ /dev/null
@@ -1,14 +0,0 @@
-# xsize.m4 serial 2
-dnl Copyright (C) 2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-AC_DEFUN([gl_XSIZE],
-[
- dnl Prerequisites of lib/xsize.h.
- AC_REQUIRE([gl_SIZE_MAX])
- AC_CHECK_HEADERS(stdint.h)
-])
diff --git a/configh.dos b/configh.dos
index ee840f4d..b3162147 100644
--- a/configh.dos
+++ b/configh.dos
@@ -1,7 +1,6 @@
/* configh.dos -- hand-massaged config.h file for MS-DOS builds -*-C-*-
-Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-2004, 2005, 2006, 2007, 2008, 2009, 2010 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
@@ -25,10 +24,10 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#if __DJGPP__ > 2 || __DJGPP_MINOR__ > 1
-/* Define to 1 if `sys_siglist' is declared by <signal.h> or <unistd.h>. */
+/* Define to 1 if 'sys_siglist' is declared by <signal.h> or <unistd.h>. */
# define SYS_SIGLIST_DECLARED 1
-/* Define to 1 if the C library defines the variable `_sys_siglist'. */
+/* Define to 1 if the C library defines the variable '_sys_siglist'. */
# define HAVE_DECL_SYS_SIGLIST 1
#else
@@ -41,13 +40,13 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Use high resolution file timestamps if nonzero. */
#define FILE_TIMESTAMP_HI_RES 0
-/* Define to 1 if you have `alloca', as a function or macro. */
+/* Define to 1 if you have 'alloca', as a function or macro. */
#define HAVE_ALLOCA 1
/* Define to 1 if you have the fdopen function. */
#define HAVE_FDOPEN 1
-/* Define to 1 if you have the `getgroups' function. */
+/* Define to 1 if you have the 'getgroups' function. */
#define HAVE_GETGROUPS 1
/* Define to 1 if you have the <memory.h> header file. */
@@ -56,18 +55,18 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the mkstemp function. */
#define HAVE_MKSTEMP 1
-/* Define to 1 if you have the `mktemp' function. */
+/* Define to 1 if you have the 'mktemp' function. */
#define HAVE_MKTEMP 1
-/* Define to 1 if you have the `setlinebuf' function. */
+/* Define to 1 if you have the 'setlinebuf' function. */
#define HAVE_SETLINEBUF 1
-/* Define to 1 if you have the `setvbuf' function. */
+/* Define to 1 if you have the 'setvbuf' function. */
#define HAVE_SETVBUF 1
#define SCCS_GET "get"
-/* Define to `unsigned long' or `unsigned long long'
+/* Define to 'unsigned long' or 'unsigned long long'
if <inttypes.h> doesn't define. */
#define uintmax_t unsigned long long
@@ -77,19 +76,12 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the select function. */
#define HAVE_SELECT 1
-/* Define to 1 if your compiler conforms to the ANSI C standard. */
-#define HAVE_ANSI_COMPILER 1
-
-/* Define to 1 if you have the <stdarg.h> header file. */
-#define HAVE_STDARG_H 1
-
-/* Define to 1 if you have the vprintf library function. */
-#undef HAVE_VPRINTF
-#define HAVE_VPRINTF 1
-
/* Define to 1 if you have the stricmp function. */
#define HAVE_STRICMP 1
+/* Define to 1 if you have the 'strncasecmp' function. */
+#define HAVE_STRNCASECMP 1
+
/* Name of the package */
#define PACKAGE "make"
@@ -100,19 +92,19 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#define PACKAGE_NAME "GNU make"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GNU make 3.82"
+#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 "3.82"
+#define PACKAGE_VERSION "4.1"
-/* Define to 1 if the C compiler supports function prototypes. */
-#define PROTOTYPES 1
+/* Output sync sypport */
+#define NO_OUTPUT_SYNC
/* Version number of package */
-#define VERSION "3.82"
+#define VERSION "4.1"
/* Build host information. */
#define MAKE_HOST "i386-pc-msdosdjgpp"
diff --git a/configh.dos.template b/configh.dos.template
deleted file mode 100644
index 4aba61e6..00000000
--- a/configh.dos.template
+++ /dev/null
@@ -1,124 +0,0 @@
-/* configh.dos -- hand-massaged config.h file for MS-DOS builds -*-C-*-
-
-Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-2004, 2005, 2006, 2007, 2008, 2009, 2010 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 <http://www.gnu.org/licenses/>. */
-
-/* Include this header to make __DJGPP_MINOR__ available because DJGPP ports
- of GCC 4.3.0 and later no longer do it automatically. */
-#include <sys/version.h>
-
-/* Many things are defined already by a system header. */
-#include <sys/config.h>
-
-#if __DJGPP__ > 2 || __DJGPP_MINOR__ > 1
-
-/* Define to 1 if `sys_siglist' is declared by <signal.h> or <unistd.h>. */
-# define SYS_SIGLIST_DECLARED 1
-
-/* Define to 1 if the C library defines the variable `_sys_siglist'. */
-# define HAVE_DECL_SYS_SIGLIST 1
-
-#else
-
-/* Define NSIG. */
-# define NSIG SIGMAX
-
-#endif
-
-/* Use high resolution file timestamps if nonzero. */
-#define FILE_TIMESTAMP_HI_RES 0
-
-/* Define to 1 if you have `alloca', as a function or macro. */
-#define HAVE_ALLOCA 1
-
-/* Define to 1 if you have the fdopen function. */
-#define HAVE_FDOPEN 1
-
-/* Define to 1 if you have the `getgroups' function. */
-#define HAVE_GETGROUPS 1
-
-/* Define to 1 if you have the <memory.h> header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the mkstemp function. */
-#define HAVE_MKSTEMP 1
-
-/* Define to 1 if you have the `mktemp' function. */
-#define HAVE_MKTEMP 1
-
-/* Define to 1 if you have the `setlinebuf' function. */
-#define HAVE_SETLINEBUF 1
-
-/* Define to 1 if you have the `setvbuf' function. */
-#define HAVE_SETVBUF 1
-
-#define SCCS_GET "get"
-
-/* Define to `unsigned long' or `unsigned long long'
- if <inttypes.h> doesn't define. */
-#define uintmax_t unsigned long long
-
-/* Define the type of the first arg to select(). */
-#define fd_set_size_t int
-
-/* Define to 1 if you have the select function. */
-#define HAVE_SELECT 1
-
-/* Define to 1 if your compiler conforms to the ANSI C standard. */
-#define HAVE_ANSI_COMPILER 1
-
-/* Define to 1 if you have the <stdarg.h> header file. */
-#define HAVE_STDARG_H 1
-
-/* Define to 1 if you have the vprintf library function. */
-#undef HAVE_VPRINTF
-#define HAVE_VPRINTF 1
-
-/* Define to 1 if you have the stricmp function. */
-#define HAVE_STRICMP 1
-
-/* Define to 1 if you have the `strncasecmp' function. */
-#define HAVE_STRNCASECMP 1
-
-/* Name of the package */
-#define PACKAGE "%PACKAGE%"
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT "bug-%PACKAGE%@gnu.org"
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME "GNU %PACKAGE%"
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GNU %PACKAGE% %VERSION%"
-
-/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME "%PACKAGE%"
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION "%VERSION%"
-
-/* Define to 1 if the C compiler supports function prototypes. */
-#define PROTOTYPES 1
-
-/* Version number of package */
-#define VERSION "%VERSION%"
-
-/* Build host information. */
-#define MAKE_HOST "i386-pc-msdosdjgpp"
-
-/* Grok DOS paths (drive specs and backslash path element separators) */
-#define HAVE_DOS_PATHS
diff --git a/configure b/configure
index 130f4f8a..c587e449 100755
--- a/configure
+++ b/configure
@@ -1,14 +1,11 @@
#! /bin/sh
-# From configure.in Id: configure.in,v 1.156 2010/07/28 05:39:50 psmith Exp .
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.65 for GNU make 3.82.
+# Generated by GNU Autoconf 2.69 for GNU make 4.1.
#
# Report bugs to <bug-make@gnu.org>.
#
#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
#
#
# This configure script is free software; the Free Software Foundation
@@ -92,6 +89,7 @@ fi
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -136,6 +134,31 @@ export LANGUAGE
# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+# Use a proper internal environment variable to ensure we don't fall
+ # into an infinite loop, continuously re-executing ourselves.
+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+ _as_can_reexec=no; export _as_can_reexec;
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+ fi
+ # We don't want this to propagate to other subprocesses.
+ { _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then
as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
@@ -169,7 +192,8 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
else
exitcode=1; echo positional parameters were not saved.
fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -214,14 +238,25 @@ IFS=$as_save_IFS
if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+ export CONFIG_SHELL
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
fi
if test x$as_have_required = xno; then :
@@ -320,10 +355,18 @@ $as_echo X"$as_dir" |
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -360,19 +403,19 @@ else
fi # as_fn_arith
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
- as_status=$?; test $as_status -eq 0 && as_status=1
- if test "$3"; then
- as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
- $as_echo "$as_me: error: $1" >&2
+ $as_echo "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
@@ -445,6 +488,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
chmod +x "$as_me.lineno" ||
{ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+ # already done that, so ensure we don't try to do so again and fall
+ # in an infinite loop. This has already happened in practice.
+ _as_can_reexec=no; export _as_can_reexec
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
# original and so on. Autoconf is especially sensitive to this).
@@ -479,16 +526,16 @@ if (echo >conf$$.file) 2>/dev/null; then
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
+ # In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
@@ -500,28 +547,8 @@ else
as_mkdir_p=false
fi
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -534,7 +561,7 @@ test -n "$DJDIR" || exec 7<&0 </dev/null
exec 6>&1
# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
@@ -553,8 +580,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='GNU make'
PACKAGE_TARNAME='make'
-PACKAGE_VERSION='3.82'
-PACKAGE_STRING='GNU make 3.82'
+PACKAGE_VERSION='4.1'
+PACKAGE_STRING='GNU make 4.1'
PACKAGE_BUGREPORT='bug-make@gnu.org'
PACKAGE_URL='http://www.gnu.org/software/make/'
@@ -595,6 +622,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
+gt_needs=
ac_subst_vars='am__EXEEXT_FALSE
am__EXEEXT_TRUE
LTLIBOBJS
@@ -605,6 +633,7 @@ USE_LOCAL_GLOB_FALSE
USE_LOCAL_GLOB_TRUE
GLOBLIB
GLOBINC
+AM_LDFLAGS
USE_CUSTOMS_FALSE
USE_CUSTOMS_TRUE
REMOTE
@@ -612,6 +641,13 @@ GETLOADAVG_LIBS
KMEM_GROUP
NEED_SETGID
LIBOBJS
+HAVE_GUILE_FALSE
+HAVE_GUILE_TRUE
+GUILE_LIBS
+GUILE_CFLAGS
+PKG_CONFIG_LIBDIR
+PKG_CONFIG_PATH
+PKG_CONFIG
ALLOCA
POSUB
LTLIBINTL
@@ -619,14 +655,17 @@ LIBINTL
INTLLIBS
LTLIBICONV
LIBICONV
+INTL_MACOSX_LIBS
+XGETTEXT_EXTRA_OPTIONS
MSGMERGE
+XGETTEXT_015
XGETTEXT
+GMSGFMT_015
+MSGFMT_015
GMSGFMT
MSGFMT
+GETTEXT_MACRO_VERSION
USE_NLS
-MKINSTALLDIRS
-EGREP
-GREP
host_os
host_vendor
host_cpu
@@ -635,13 +674,17 @@ build_os
build_vendor
build_cpu
build
+ac_ct_AR
PERL
AR
-CPP
RANLIB
+EGREP
+GREP
+CPP
am__fastdepCC_FALSE
am__fastdepCC_TRUE
CCDEPMODE
+am__nodep
AMDEPBACKSLASH
AMDEP_FALSE
AMDEP_TRUE
@@ -655,6 +698,10 @@ CPPFLAGS
LDFLAGS
CFLAGS
CC
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
am__untar
am__tar
AMTAR
@@ -719,6 +766,7 @@ SHELL'
ac_subst_files='MAINT_MAKEFILE'
ac_user_opts='
enable_option_checking
+enable_silent_rules
enable_dependency_tracking
enable_nls
with_gnu_ld
@@ -726,9 +774,11 @@ enable_rpath
with_libiconv_prefix
with_libintl_prefix
enable_largefile
+with_guile
with_customs
enable_case_insensitive_file_system
enable_job_server
+enable_load
with_dmalloc
'
ac_precious_vars='build_alias
@@ -739,7 +789,12 @@ CFLAGS
LDFLAGS
LIBS
CPPFLAGS
-CPP'
+CPP
+PKG_CONFIG
+PKG_CONFIG_PATH
+PKG_CONFIG_LIBDIR
+GUILE_CFLAGS
+GUILE_LIBS'
# Initialize some variables set by options.
@@ -802,8 +857,9 @@ do
fi
case $ac_option in
- *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *) ac_optarg=yes ;;
+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *=) ac_optarg= ;;
+ *) ac_optarg=yes ;;
esac
# Accept the important Cygnus configure options, so we can diagnose typos.
@@ -848,7 +904,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error "invalid feature name: $ac_useropt"
+ as_fn_error $? "invalid feature name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
@@ -874,7 +930,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error "invalid feature name: $ac_useropt"
+ as_fn_error $? "invalid feature name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
@@ -1078,7 +1134,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error "invalid package name: $ac_useropt"
+ as_fn_error $? "invalid package name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
@@ -1094,7 +1150,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error "invalid package name: $ac_useropt"
+ as_fn_error $? "invalid package name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
@@ -1124,8 +1180,8 @@ do
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
- -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+ -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
;;
*=*)
@@ -1133,7 +1189,7 @@ Try \`$0 --help' for more information."
# Reject names that are not valid shell variable names.
case $ac_envvar in #(
'' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
esac
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
@@ -1143,7 +1199,7 @@ Try \`$0 --help' for more information."
$as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
$as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
;;
esac
@@ -1151,13 +1207,13 @@ done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error "missing argument to $ac_option"
+ as_fn_error $? "missing argument to $ac_option"
fi
if test -n "$ac_unrecognized_opts"; then
case $enable_option_checking in
no) ;;
- fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
*) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
esac
fi
@@ -1180,7 +1236,7 @@ do
[\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
- as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
done
# There might be people who depend on the old broken behavior: `$host'
@@ -1194,8 +1250,6 @@ target=$target_alias
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
- $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
@@ -1210,9 +1264,9 @@ test "$silent" = yes && exec 6>/dev/null
ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error "working directory cannot be determined"
+ as_fn_error $? "working directory cannot be determined"
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error "pwd does not report name of working directory"
+ as_fn_error $? "pwd does not report name of working directory"
# Find the source files, if location was not specified.
@@ -1251,11 +1305,11 @@ else
fi
if test ! -r "$srcdir/$ac_unique_file"; then
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
pwd)`
# When building in place, set srcdir=.
if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1281,7 +1335,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GNU make 3.82 to adapt to many kinds of systems.
+\`configure' configures GNU make 4.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1295,7 +1349,7 @@ Configuration:
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking...' messages
+ -q, --quiet, --silent do not print \`checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for \`--cache-file=config.cache'
-n, --no-create do not create output files
@@ -1351,7 +1405,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GNU make 3.82:";;
+ short | recursive ) echo "Configuration of GNU make 4.1:";;
esac
cat <<\_ACEOF
@@ -1359,14 +1413,19 @@ Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
+ --enable-silent-rules less verbose build output (undo: "make V=1")
+ --disable-silent-rules verbose build output (undo: "make V=0")
+ --enable-dependency-tracking
+ do not reject slow dependency extractors
+ --disable-dependency-tracking
+ speeds up one-time build
--disable-nls do not use Native Language Support
--disable-rpath do not hardcode runtime library paths
--disable-largefile omit support for large files
--enable-case-insensitive-file-system
assume file systems are case insensitive
--disable-job-server disallow recursive make communication during -jN
+ --disable-load disable support for the 'load' operation
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -1376,9 +1435,9 @@ Optional Packages:
--without-libiconv-prefix don't search for libiconv in includedir and libdir
--with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib
--without-libintl-prefix don't search for libintl in includedir and libdir
+ --with-guile Support GNU Guile for embedded scripting
--with-customs=DIR enable remote jobs via Customs--see README.customs
- --with-dmalloc use dmalloc, as in
- http://www.dmalloc.com/dmalloc.tar.gz
+ --with-dmalloc use dmalloc, as in http://www.dmalloc.com
Some influential environment variables:
CC C compiler command
@@ -1389,6 +1448,14 @@ Some influential environment variables:
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CPP C preprocessor
+ PKG_CONFIG path to pkg-config utility
+ PKG_CONFIG_PATH
+ directories to add to pkg-config's search path
+ PKG_CONFIG_LIBDIR
+ path overriding pkg-config's built-in search path
+ GUILE_CFLAGS
+ C compiler flags for GUILE, overriding pkg-config
+ GUILE_LIBS linker flags for GUILE, overriding pkg-config
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
@@ -1458,10 +1525,10 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GNU make configure 3.82
-generated by GNU Autoconf 2.65
+GNU make configure 4.1
+generated by GNU Autoconf 2.69
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
@@ -1505,7 +1572,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_compile
@@ -1531,7 +1598,7 @@ $as_echo "$ac_try_echo"; } >&5
mv -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } >/dev/null && {
+ test $ac_status = 0; } > conftest.i && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then :
@@ -1542,7 +1609,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_cpp
@@ -1555,10 +1622,10 @@ fi
ac_fn_c_check_header_mongrel ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+ if eval \${$3+:} false; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
fi
eval ac_res=\$$3
@@ -1594,7 +1661,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
else
ac_header_preproc=no
fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
$as_echo "$ac_header_preproc" >&6; }
@@ -1617,17 +1684,15 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( cat <<\_ASBOX
-## ------------------------------- ##
+( $as_echo "## ------------------------------- ##
## Report this to bug-make@gnu.org ##
-## ------------------------------- ##
-_ASBOX
+## ------------------------------- ##"
) | sed "s/^/$as_me: WARNING: /" >&2
;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
eval "$3=\$ac_header_compiler"
@@ -1636,7 +1701,7 @@ eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
fi
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_header_mongrel
@@ -1677,7 +1742,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=$ac_status
fi
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_run
@@ -1691,7 +1756,7 @@ ac_fn_c_check_header_compile ()
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1709,7 +1774,7 @@ fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_header_compile
@@ -1740,7 +1805,7 @@ $as_echo "$ac_try_echo"; } >&5
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
+ test -x conftest$ac_exeext
}; then :
ac_retval=0
else
@@ -1754,7 +1819,7 @@ fi
# interfere with the next link command; also delete a directory that is
# left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_link
@@ -1768,7 +1833,7 @@ ac_fn_c_check_type ()
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
eval "$3=no"
@@ -1809,7 +1874,7 @@ fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_type
@@ -1821,7 +1886,7 @@ ac_fn_c_check_func ()
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1876,19 +1941,22 @@ fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_func
-# ac_fn_c_check_decl LINENO SYMBOL VAR
-# ------------------------------------
-# Tests whether SYMBOL is declared, setting cache variable VAR accordingly.
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
ac_fn_c_check_decl ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $2 is declared" >&5
-$as_echo_n "checking whether $2 is declared... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+ as_decl_name=`echo $2|sed 's/ *(.*//'`
+ as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1897,8 +1965,12 @@ $4
int
main ()
{
-#ifndef $2
- (void) $2;
+#ifndef $as_decl_name
+#ifdef __cplusplus
+ (void) $as_decl_use;
+#else
+ (void) $as_decl_name;
+#endif
#endif
;
@@ -1915,7 +1987,7 @@ fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_decl
@@ -1928,7 +2000,7 @@ ac_fn_c_check_member ()
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
$as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1972,15 +2044,15 @@ fi
eval ac_res=\$$4
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_member
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GNU make $as_me 3.82, which was
-generated by GNU Autoconf 2.65. Invocation command line was
+It was created by GNU make $as_me 4.1, which was
+generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2090,11 +2162,9 @@ trap 'exit_status=$?
{
echo
- cat <<\_ASBOX
-## ---------------- ##
+ $as_echo "## ---------------- ##
## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
echo
# The following way of writing the cache mishandles newlines in values,
(
@@ -2128,11 +2198,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
)
echo
- cat <<\_ASBOX
-## ----------------- ##
+ $as_echo "## ----------------- ##
## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
echo
for ac_var in $ac_subst_vars
do
@@ -2145,11 +2213,9 @@ _ASBOX
echo
if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------------- ##
+ $as_echo "## ------------------- ##
## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
echo
for ac_var in $ac_subst_files
do
@@ -2163,11 +2229,9 @@ _ASBOX
fi
if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
+ $as_echo "## ----------- ##
## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
echo
cat confdefs.h
echo
@@ -2222,7 +2286,12 @@ _ACEOF
ac_site_file1=NONE
ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then
- ac_site_file1=$CONFIG_SITE
+ # We do not want a PATH search for config.site.
+ case $CONFIG_SITE in #((
+ -*) ac_site_file1=./$CONFIG_SITE;;
+ */*) ac_site_file1=$CONFIG_SITE;;
+ *) ac_site_file1=./$CONFIG_SITE;;
+ esac
elif test "x$prefix" != xNONE; then
ac_site_file1=$prefix/share/config.site
ac_site_file2=$prefix/etc/config.site
@@ -2237,7 +2306,11 @@ do
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
$as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
+ . "$ac_site_file" \
+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
fi
done
@@ -2258,6 +2331,7 @@ $as_echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
+gt_needs="$gt_needs "
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
@@ -2313,7 +2387,7 @@ if $ac_cache_corrupted; then
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
fi
## -------------------- ##
## Main body of script. ##
@@ -2329,20 +2403,25 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
# Autoconf setup
ac_aux_dir=
for ac_dir in config "$srcdir"/config; do
- for ac_t in install-sh install.sh shtool; do
- if test -f "$ac_dir/$ac_t"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/$ac_t -c"
- break 2
- fi
- done
+ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
done
if test -z "$ac_aux_dir"; then
- as_fn_error "cannot find install-sh, install.sh, or shtool in config \"$srcdir\"/config" "$LINENO" 5
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in config \"$srcdir\"/config" "$LINENO" 5
fi
# These three variables are undocumented and unsupported,
@@ -2359,7 +2438,10 @@ ac_config_headers="$ac_config_headers config.h"
# Automake setup
-am__api_version='1.11'
+# 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__api_version='1.14'
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
@@ -2378,7 +2460,7 @@ am__api_version='1.11'
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
$as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -2398,7 +2480,7 @@ case $as_dir/ in #((
# by default.
for ac_prog in ginstall scoinst install; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
if test $ac_prog = install &&
grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
@@ -2456,56 +2538,71 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
# Reject unsafe characters in $srcdir or the absolute working directory
# name. Accept space and tab only in the latter.
am_lf='
'
case `pwd` in
*[\\\"\#\$\&\'\`$am_lf]*)
- as_fn_error "unsafe absolute working directory name" "$LINENO" 5;;
+ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
esac
case $srcdir in
*[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+ as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
esac
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error "ls -t appears to fail. Make sure there is not a broken
-alias in your environment" "$LINENO" 5
- fi
-
+ am_has_slept=no
+ for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
+ alias in your environment" "$LINENO" 5
+ fi
+ if test "$2" = conftest.file || test $am_try -eq 2; then
+ break
+ fi
+ # Just in case.
+ sleep 1
+ am_has_slept=yes
+ done
test "$2" = conftest.file
)
then
# Ok.
:
else
- as_fn_error "newly created file is older than distributed files!
+ as_fn_error $? "newly created file is older than distributed files!
Check your system clock" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
test "$program_prefix" != NONE &&
program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
@@ -2528,12 +2625,12 @@ if test x"${MISSING+set}" != xset; then
esac
fi
# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
else
am_missing_run=
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
fi
if test x"${install_sh}" != xset; then
@@ -2545,17 +2642,17 @@ if test x"${install_sh}" != xset; then
esac
fi
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip". However 'strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
+# will honor the 'STRIP' environment variable to overrule this program.
if test "$cross_compiling" != no; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
@@ -2567,7 +2664,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2595,7 +2692,7 @@ if test -z "$ac_cv_prog_STRIP"; then
set dummy strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
@@ -2607,7 +2704,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_STRIP="strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2648,7 +2745,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
if test -z "$MKDIR_P"; then
- if test "${ac_cv_path_mkdir+set}" = set; then :
+ if ${ac_cv_path_mkdir+:} false; then :
$as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -2658,7 +2755,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_prog in mkdir gmkdir; do
for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+ as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
'mkdir (GNU coreutils) '* | \
'mkdir (coreutils) '* | \
@@ -2687,19 +2784,13 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
$as_echo "$MKDIR_P" >&6; }
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$AWK"; then
@@ -2711,7 +2802,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AWK="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2739,7 +2830,7 @@ done
$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
$as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
@@ -2747,7 +2838,7 @@ SHELL = /bin/sh
all:
@echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
case `${MAKE-make} -f conftest.make 2>/dev/null` in
*@@@%%%=?*=@@@%%%*)
eval ac_cv_prog_make_${ac_make}_set=yes;;
@@ -2775,13 +2866,52 @@ else
fi
rmdir .tst 2>/dev/null
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+ enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
if test "`cd $srcdir && pwd`" != "`pwd`"; then
# Use -I$(srcdir) only when $(srcdir) != ., so that make's output
# is not polluted with repeated "-I."
am__isrc=' -I$(srcdir)'
# test to see if srcdir already configured
if test -f $srcdir/config.status; then
- as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+ as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
fi
fi
@@ -2797,7 +2927,7 @@ fi
# Define the identity of the package.
PACKAGE='make'
- VERSION='3.82'
+ VERSION='4.1'
cat >>confdefs.h <<_ACEOF
@@ -2825,20 +2955,135 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+# For better backward compatibility. To be removed once Automake 1.9.x
+# dies out for good. For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
-# Always define AMTAR for backward compatibility.
+# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
+
-AMTAR=${AMTAR-"${am_missing_run}tar"}
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar pax cpio none'
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+ fi
+fi
+
# Checks for programs.
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+ enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+ am__nodep='_no'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -2849,7 +3094,7 @@ if test -n "$ac_tool_prefix"; then
set dummy ${ac_tool_prefix}gcc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -2861,7 +3106,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2889,7 +3134,7 @@ if test -z "$ac_cv_prog_CC"; then
set dummy gcc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
@@ -2901,7 +3146,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2942,7 +3187,7 @@ if test -z "$CC"; then
set dummy ${ac_tool_prefix}cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -2954,7 +3199,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2982,7 +3227,7 @@ if test -z "$CC"; then
set dummy cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -2995,7 +3240,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
@@ -3041,7 +3286,7 @@ if test -z "$CC"; then
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$CC"; then
@@ -3053,7 +3298,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3085,7 +3330,7 @@ do
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_CC"; then
@@ -3097,7 +3342,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3139,8 +3384,8 @@ fi
test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
# Provide some information about the compiler.
$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -3254,9 +3499,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
@@ -3298,8 +3542,8 @@ done
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest conftest$ac_cv_exeext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
@@ -3356,9 +3600,9 @@ $as_echo "$ac_try_echo"; } >&5
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
+as_fn_error $? "cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
fi
fi
@@ -3369,7 +3613,7 @@ rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
ac_clean_files=$ac_clean_files_save
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
$as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3409,8 +3653,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
@@ -3420,7 +3664,7 @@ OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3457,7 +3701,7 @@ ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
@@ -3535,7 +3779,7 @@ else
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_prog_cc_c89=no
@@ -3544,8 +3788,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdarg.h>
#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
struct buf { int x; };
FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -3629,82 +3872,80 @@ ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
+int
+main ()
+{
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
+ ;
+ return 0;
+}
+_ACEOF
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
fi
-
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
depcc="$CC" am_compiler_list=
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
$as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
# making bogus files that we don't know about and never remove. For
# instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
mkdir conftest.dir
# Copy depcomp to subdir because otherwise we won't find it if we're
# using a relative directory.
@@ -3738,16 +3979,16 @@ else
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
# mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
am__obj=sub/conftest.${OBJEXT-o}
am__minus_obj="-o $am__obj"
case $depmode in
@@ -3756,16 +3997,16 @@ else
test "$am__universal" = false || continue
;;
nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
if test "x$enable_dependency_tracking" = xyes; then
continue
else
break
fi
;;
- msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
# not run yet. These depmodes are late enough in the game, and
# so weak that their functioning should not be impacted.
am__obj=conftest.${OBJEXT-o}
@@ -3820,98 +4061,6 @@ fi
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -3924,7 +4073,7 @@ if test -n "$CPP" && test -d "$CPP"; then
CPP=
fi
if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then :
+ if ${ac_cv_prog_CPP+:} false; then :
$as_echo_n "(cached) " >&6
else
# Double quotes because CPP needs to be expanded
@@ -3954,7 +4103,7 @@ else
# Broken: fails on valid input.
continue
fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
@@ -3970,11 +4119,11 @@ else
ac_preproc_ok=:
break
fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
if $ac_preproc_ok; then :
break
fi
@@ -4013,7 +4162,7 @@ else
# Broken: fails on valid input.
continue
fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
@@ -4029,18 +4178,18 @@ else
ac_preproc_ok=:
break
fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
if $ac_preproc_ok; then :
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
fi
ac_ext=c
@@ -4049,161 +4198,10 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-# Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AR="ar"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Perl is needed for the test suite (only)
-# Extract the first word of "perl", so it can be a program name with args.
-set dummy perl; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_PERL+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$PERL"; then
- ac_cv_prog_PERL="$PERL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_PERL="perl"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_prog_PERL" && ac_cv_prog_PERL="perl"
-fi
-fi
-PERL=$ac_cv_prog_PERL
-if test -n "$PERL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
-$as_echo "$PERL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-# Specialized system macros
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -z "$GREP"; then
@@ -4217,7 +4215,7 @@ do
for ac_prog in grep ggrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+ as_fn_executable_p "$ac_path_GREP" || continue
# Check for GNU ac_path_GREP and select it if it is found.
# Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in
@@ -4252,7 +4250,7 @@ esac
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_GREP"; then
- as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_GREP=$GREP
@@ -4266,7 +4264,7 @@ $as_echo "$ac_cv_path_GREP" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
$as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
$as_echo_n "(cached) " >&6
else
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -4283,7 +4281,7 @@ do
for ac_prog in egrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+ as_fn_executable_p "$ac_path_EGREP" || continue
# Check for GNU ac_path_EGREP and select it if it is found.
# Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
@@ -4318,7 +4316,7 @@ esac
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_EGREP"; then
- as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_EGREP=$EGREP
@@ -4333,7 +4331,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4450,8 +4448,7 @@ do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
"
-eval as_val=\$$as_ac_Header
- if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
@@ -4463,7 +4460,7 @@ done
ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
MINIX=yes
else
MINIX=
@@ -4485,14 +4482,14 @@ $as_echo "#define _MINIX 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-# define __EXTENSIONS__ 1
- $ac_includes_default
+# define __EXTENSIONS__ 1
+ $ac_includes_default
int
main ()
{
@@ -4522,15 +4519,1292 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
$as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strerror in -lcposix" >&5
-$as_echo_n "checking for strerror in -lcposix... " >&6; }
-if test "${ac_cv_lib_cposix_strerror+set}" = set; then :
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcposix $LIBS"
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if ${ac_cv_c_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
+else
+ ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+else
+ CFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if ${ac_cv_prog_cc_c89+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+depcc="$CC" am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+fi
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if ${ac_cv_prog_CPP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+# Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AR="ar"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+# Perl is needed for the test suite (only)
+# Extract the first word of "perl", so it can be a program name with args.
+set dummy perl; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_PERL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$PERL"; then
+ ac_cv_prog_PERL="$PERL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_PERL="perl"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_prog_PERL" && ac_cv_prog_PERL="perl"
+fi
+fi
+PERL=$ac_cv_prog_PERL
+if test -n "$PERL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
+$as_echo "$PERL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+# Needed for w32/Makefile.am
+if test -n "$ac_tool_prefix"; then
+ for ac_prog in ar lib "link -lib"
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AR" && break
+ done
+fi
+if test -z "$AR"; then
+ ac_ct_AR=$AR
+ for ac_prog in ar lib "link -lib"
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_AR" && break
+done
+
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+fi
+
+: ${AR=ar}
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5
+$as_echo_n "checking the archiver ($AR) interface... " >&6; }
+if ${am_cv_ar_interface+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ am_cv_ar_interface=ar
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int some_variable = 0;
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
+ (eval $am_ar_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test "$ac_status" -eq 0; then
+ am_cv_ar_interface=ar
+ else
+ am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
+ (eval $am_ar_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test "$ac_status" -eq 0; then
+ am_cv_ar_interface=lib
+ else
+ am_cv_ar_interface=unknown
+ fi
+ fi
+ rm -f conftest.lib libconftest.a
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5
+$as_echo "$am_cv_ar_interface" >&6; }
+
+case $am_cv_ar_interface in
+ar)
+ ;;
+lib)
+ # Microsoft lib, so override with the ar-lib wrapper script.
+ # FIXME: It is wrong to rewrite AR.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__AR in this case,
+ # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
+ # similar.
+ AR="$am_aux_dir/ar-lib $AR"
+ ;;
+unknown)
+ as_fn_error $? "could not determine $AR interface" "$LINENO" 5
+ ;;
+esac
+
+
+# Specialized system macros
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
+$as_echo_n "checking for library containing strerror... " >&6; }
+if ${ac_cv_search_strerror+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -4549,40 +5823,48 @@ return strerror ();
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_cposix_strerror=yes
-else
- ac_cv_lib_cposix_strerror=no
+for ac_lib in '' cposix; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_strerror=$ac_res
fi
rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cposix_strerror" >&5
-$as_echo "$ac_cv_lib_cposix_strerror" >&6; }
-if test "x$ac_cv_lib_cposix_strerror" = x""yes; then :
- LIBS="$LIBS -lcposix"
+ conftest$ac_exeext
+ if ${ac_cv_search_strerror+:} false; then :
+ break
fi
+done
+if ${ac_cv_search_strerror+:} false; then :
+else
+ ac_cv_search_strerror=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5
+$as_echo "$ac_cv_search_strerror" >&6; }
+ac_res=$ac_cv_search_strerror
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+fi
# Enable gettext, in "external" mode.
-
- MKINSTALLDIRS=
- if test -n "$ac_aux_dir"; then
- case "$ac_aux_dir" in
- /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
- *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
- esac
- fi
- if test -z "$MKINSTALLDIRS"; then
- MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
- fi
-
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+ [\\/$]* | ?:[\\/]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
@@ -4600,6 +5882,9 @@ $as_echo "$USE_NLS" >&6; }
+ GETTEXT_MACRO_VERSION=0.18
+
+
# Prepare PATH_SEPARATOR.
@@ -4634,7 +5919,7 @@ rm -f conf$$.file
set dummy msgfmt; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_MSGFMT+set}" = set; then :
+if ${ac_cv_path_MSGFMT+:} false; then :
$as_echo_n "(cached) " >&6
else
case "$MSGFMT" in
@@ -4648,7 +5933,8 @@ else
test -z "$ac_dir" && ac_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
+ echo "$as_me: trying $ac_dir/$ac_word..." >&5
+ if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 &&
(if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext"
break 2
@@ -4674,7 +5960,7 @@ fi
set dummy gmsgfmt; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_GMSGFMT+set}" = set; then :
+if ${ac_cv_path_GMSGFMT+:} false; then :
$as_echo_n "(cached) " >&6
else
case $GMSGFMT in
@@ -4688,7 +5974,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4712,6 +5998,17 @@ fi
+ case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
+ *) MSGFMT_015=$MSGFMT ;;
+ esac
+
+ case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
+ *) GMSGFMT_015=$GMSGFMT ;;
+ esac
+
+
# Prepare PATH_SEPARATOR.
# The user is always right.
@@ -4745,7 +6042,7 @@ rm -f conf$$.file
set dummy xgettext; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_XGETTEXT+set}" = set; then :
+if ${ac_cv_path_XGETTEXT+:} false; then :
$as_echo_n "(cached) " >&6
else
case "$XGETTEXT" in
@@ -4759,7 +6056,8 @@ else
test -z "$ac_dir" && ac_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
+ echo "$as_me: trying $ac_dir/$ac_word..." >&5
+ if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 &&
(if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext"
break 2
@@ -4783,6 +6081,12 @@ fi
rm -f messages.po
+ case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
+ *) XGETTEXT_015=$XGETTEXT ;;
+ esac
+
+
# Prepare PATH_SEPARATOR.
# The user is always right.
@@ -4816,7 +6120,7 @@ rm -f conf$$.file
set dummy msgmerge; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_MSGMERGE+set}" = set; then :
+if ${ac_cv_path_MSGMERGE+:} false; then :
$as_echo_n "(cached) " >&6
else
case "$MSGMERGE" in
@@ -4830,7 +6134,8 @@ else
test -z "$ac_dir" && ac_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- if $ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1; then
+ echo "$as_me: trying $ac_dir/$ac_word..." >&5
+ if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then
ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
break 2
fi
@@ -4852,31 +6157,13 @@ $as_echo "no" >&6; }
fi
- if test "$GMSGFMT" != ":"; then
- if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
- (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- : ;
- else
- GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5
-$as_echo "found $GMSGFMT program is not GNU msgfmt; ignore it" >&6; }
- GMSGFMT=":"
- fi
- fi
+ test -n "$localedir" || localedir='${datadir}/locale'
- if test "$XGETTEXT" != ":"; then
- if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
- (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- : ;
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5
-$as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; }
- XGETTEXT=":"
- fi
- rm -f messages.po
- fi
- ac_config_commands="$ac_config_commands default-1"
+ test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
+
+
+ ac_config_commands="$ac_config_commands po-directories"
@@ -4935,7 +6222,7 @@ $as_echo_n "checking for ld used by GCC... " >&6; }
# 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%/%"`
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
done
test -z "$LD" && LD="$ac_prog"
;;
@@ -4955,7 +6242,7 @@ else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
$as_echo_n "checking for non-GNU ld... " >&6; }
fi
-if test "${acl_cv_path_LD+set}" = set; then :
+if ${acl_cv_path_LD+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
@@ -4969,9 +6256,9 @@ else
# Break only if it was the GNU/non-GNU ld that we prefer.
case `"$acl_cv_path_LD" -v 2>&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
@@ -4989,10 +6276,10 @@ else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${acl_cv_prog_gnu_ld+set}" = set; then :
+if ${acl_cv_prog_gnu_ld+:} false; then :
$as_echo_n "(cached) " >&6
else
# I'd rather use --version here, but apparently some GNU ld's only accept -v.
@@ -5009,9 +6296,10 @@ with_gnu_ld=$acl_cv_prog_gnu_ld
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
$as_echo_n "checking for shared library run path origin... " >&6; }
-if test "${acl_cv_rpath+set}" = set; then :
+if ${acl_cv_rpath+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -5025,12 +6313,14 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
$as_echo "$acl_cv_rpath" >&6; }
wl="$acl_cv_wl"
- libext="$acl_cv_libext"
- shlibext="$acl_cv_shlibext"
- hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
- hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
- hardcode_direct="$acl_cv_hardcode_direct"
- hardcode_minus_L="$acl_cv_hardcode_minus_L"
+ acl_libext="$acl_cv_libext"
+ acl_shlibext="$acl_cv_shlibext"
+ acl_libname_spec="$acl_cv_libname_spec"
+ acl_library_names_spec="$acl_cv_library_names_spec"
+ acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+ acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+ acl_hardcode_direct="$acl_cv_hardcode_direct"
+ acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
# Check whether --enable-rpath was given.
if test "${enable_rpath+set}" = set; then :
enableval=$enable_rpath; :
@@ -5041,6 +6331,74 @@ fi
+ acl_libdirstem=lib
+ acl_libdirstem2=
+ case "$host_os" in
+ solaris*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
+$as_echo_n "checking for 64-bit host... " >&6; }
+if ${gl_cv_solaris_64bit+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef _LP64
+sixtyfour bits
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "sixtyfour bits" >/dev/null 2>&1; then :
+ gl_cv_solaris_64bit=yes
+else
+ gl_cv_solaris_64bit=no
+fi
+rm -f conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
+$as_echo "$gl_cv_solaris_64bit" >&6; }
+ if test $gl_cv_solaris_64bit = yes; then
+ acl_libdirstem=lib/64
+ case "$host_cpu" in
+ sparc*) acl_libdirstem2=lib/sparcv9 ;;
+ i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+ esac
+ fi
+ ;;
+ *)
+ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+ if test -n "$searchpath"; then
+ acl_save_IFS="${IFS= }"; IFS=":"
+ for searchdir in $searchpath; do
+ if test -d "$searchdir"; then
+ case "$searchdir" in
+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+ */../ | */.. )
+ # Better ignore directories of this form. They are misleading.
+ ;;
+ *) searchdir=`cd "$searchdir" && pwd`
+ case "$searchdir" in
+ */lib64 ) acl_libdirstem=lib64 ;;
+ esac ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_IFS"
+ fi
+ ;;
+ esac
+ test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+
+
+
+
+
+
+
+
@@ -5080,7 +6438,11 @@ if test "${with_libiconv_prefix+set}" = set; then :
else
additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
+ additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
+ fi
fi
fi
@@ -5089,6 +6451,8 @@ fi
LIBICONV=
LTLIBICONV=
INCICONV=
+ LIBICONV_PREFIX=
+ HAVE_LIBICONV=
rpathdirs=
ltrpathdirs=
names_already_handled=
@@ -5122,22 +6486,52 @@ fi
found_la=
found_so=
found_a=
+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
+ if test -n "$acl_shlibext"; then
+ shrext=".$acl_shlibext" # typically: shrext=.so
+ else
+ shrext=
+ fi
if test $use_additional = yes; then
- if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
- found_dir="$additional_libdir"
- found_so="$additional_libdir/lib$name.$shlibext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- else
- if test -f "$additional_libdir/lib$name.$libext"; then
- found_dir="$additional_libdir"
- found_a="$additional_libdir/lib$name.$libext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
+ dir="$additional_libdir"
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
fi
fi
fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
fi
if test "X$found_dir" = "X"; then
for x in $LDFLAGS $LTLIBICONV; do
@@ -5153,21 +6547,44 @@ fi
case "$x" in
-L*)
dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
- found_dir="$dir"
- found_so="$dir/lib$name.$shlibext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- else
- if test -f "$dir/lib$name.$libext"; then
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
found_dir="$dir"
- found_a="$dir/lib$name.$libext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
fi
fi
fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
;;
esac
if test "X$found_dir" != "X"; then
@@ -5178,7 +6595,9 @@ fi
if test "X$found_dir" != "X"; then
LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
if test "X$found_so" != "X"; then
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
else
haveit=
@@ -5191,10 +6610,10 @@ fi
if test -z "$haveit"; then
ltrpathdirs="$ltrpathdirs $found_dir"
fi
- if test "$hardcode_direct" = yes; then
+ if test "$acl_hardcode_direct" = yes; then
LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
else
- if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
haveit=
for x in $rpathdirs; do
@@ -5226,7 +6645,7 @@ fi
if test -z "$haveit"; then
LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
fi
- if test "$hardcode_minus_L" != no; then
+ if test "$acl_hardcode_minus_L" != no; then
LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
else
LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
@@ -5243,8 +6662,18 @@ fi
fi
additional_includedir=
case "$found_dir" in
- */lib | */lib/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+ */$acl_libdirstem | */$acl_libdirstem/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ if test "$name" = 'iconv'; then
+ LIBICONV_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = 'iconv'; then
+ LIBICONV_PREFIX="$basedir"
+ fi
additional_includedir="$basedir/include"
;;
esac
@@ -5254,7 +6683,7 @@ fi
if test "X$additional_includedir" = "X/usr/local/include"; then
if test -n "$GCC"; then
case $host_os in
- linux*) haveit=yes;;
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
esac
fi
fi
@@ -5293,12 +6722,14 @@ fi
case "$dep" in
-L*)
additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- if test "X$additional_libdir" != "X/usr/lib"; then
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
haveit=
- if test "X$additional_libdir" = "X/usr/local/lib"; then
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
if test -n "$GCC"; then
case $host_os in
- linux*) haveit=yes;;
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
esac
fi
fi
@@ -5395,21 +6826,21 @@ fi
done
done
if test "X$rpathdirs" != "X"; then
- if test -n "$hardcode_libdir_separator"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
alldirs=
for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
done
acl_save_libdir="$libdir"
libdir="$alldirs"
- eval flag=\"$hardcode_libdir_flag_spec\"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
else
for found_dir in $rpathdirs; do
acl_save_libdir="$libdir"
libdir="$found_dir"
- eval flag=\"$hardcode_libdir_flag_spec\"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
done
@@ -5438,17 +6869,93 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
-$as_echo_n "checking whether NLS is requested... " >&6; }
- # Check whether --enable-nls was given.
-if test "${enable_nls+set}" = set; then :
- enableval=$enable_nls; USE_NLS=$enableval
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5
+$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; }
+if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- USE_NLS=yes
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <CoreFoundation/CFPreferences.h>
+int
+main ()
+{
+CFPreferencesCopyAppValue(NULL, NULL)
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gt_cv_func_CFPreferencesCopyAppValue=yes
+else
+ gt_cv_func_CFPreferencesCopyAppValue=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$gt_save_LIBS"
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
+$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+
+$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h
+
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5
+$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; }
+if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <CoreFoundation/CFLocale.h>
+int
+main ()
+{
+CFLocaleCopyCurrent();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gt_cv_func_CFLocaleCopyCurrent=yes
+else
+ gt_cv_func_CFLocaleCopyCurrent=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$gt_save_LIBS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5
+$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; }
+ if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+
+$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h
+
+ fi
+ INTL_MACOSX_LIBS=
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+ fi
+
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
-$as_echo "$USE_NLS" >&6; }
@@ -5457,45 +6964,67 @@ $as_echo "$USE_NLS" >&6; }
LTLIBINTL=
POSUB=
+ case " $gt_needs " in
+ *" need-formatstring-macros "*) gt_api_version=3 ;;
+ *" need-ngettext "*) gt_api_version=2 ;;
+ *) gt_api_version=1 ;;
+ esac
+ gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
+ gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
+
if test "$USE_NLS" = "yes"; then
gt_use_preinstalled_gnugettext=no
-
-
-
+ if test $gt_api_version -ge 3; then
+ gt_revision_test_code='
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+'
+ else
+ gt_revision_test_code=
+ fi
+ if test $gt_api_version -ge 2; then
+ gt_expression_test_code=' + * ngettext ("", "", 0)'
+ else
+ gt_expression_test_code=
+ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5
$as_echo_n "checking for GNU gettext in libc... " >&6; }
-if test "${gt_cv_func_gnugettext1_libc+set}" = set; then :
+if eval \${$gt_func_gnugettext_libc+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <libintl.h>
+$gt_revision_test_code
extern int _nl_msg_cat_cntr;
extern int *_nl_domain_bindings;
int
main ()
{
bindtextdomain ("", "");
-return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- gt_cv_func_gnugettext1_libc=yes
+ eval "$gt_func_gnugettext_libc=yes"
else
- gt_cv_func_gnugettext1_libc=no
+ eval "$gt_func_gnugettext_libc=no"
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libc" >&5
-$as_echo "$gt_cv_func_gnugettext1_libc" >&6; }
+eval ac_res=\$$gt_func_gnugettext_libc
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
- if test "$gt_cv_func_gnugettext1_libc" != "yes"; then
+ if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
@@ -5528,7 +7057,7 @@ $as_echo "$gt_cv_func_gnugettext1_libc" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
$as_echo_n "checking for iconv... " >&6; }
-if test "${am_cv_func_iconv+set}" = set; then :
+if ${am_cv_func_iconv+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -5583,6 +7112,123 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
$as_echo "$am_cv_func_iconv" >&6; }
if test "$am_cv_func_iconv" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
+$as_echo_n "checking for working iconv... " >&6; }
+if ${am_cv_func_iconv_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ am_save_LIBS="$LIBS"
+ if test $am_cv_lib_iconv = yes; then
+ LIBS="$LIBS $LIBICONV"
+ fi
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in
+ aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+ *) am_cv_func_iconv_works="guessing yes" ;;
+ esac
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <iconv.h>
+#include <string.h>
+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 const char input[] = "\342\202\254"; /* EURO SIGN */
+ char buf[10];
+ 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,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ return 1;
+ }
+ }
+ /* Test against Solaris 10 bug: Failures are not distinguishable from
+ successful returns. */
+ {
+ iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+ if (cd_ascii_to_88591 != (iconv_t)(-1))
+ {
+ static const char input[] = "\263";
+ char buf[10];
+ 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,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ return 1;
+ }
+ }
+#if 0 /* This bug could be worked around by the caller. */
+ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+ char buf[50];
+ 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,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if ((int)res > 0)
+ return 1;
+ }
+ }
+#endif
+ /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+ provided. */
+ if (/* Try standardized names. */
+ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
+ /* Try IRIX, OSF/1 names. */
+ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
+ /* Try AIX names. */
+ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
+ /* Try HP-UX names. */
+ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
+ return 1;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ am_cv_func_iconv_works=yes
+else
+ am_cv_func_iconv_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ LIBS="$am_save_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
+$as_echo "$am_cv_func_iconv_works" >&6; }
+ case "$am_cv_func_iconv_works" in
+ *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+ *) am_func_iconv=yes ;;
+ esac
+ else
+ am_func_iconv=no am_cv_lib_iconv=no
+ fi
+ if test "$am_func_iconv" = yes; then
$as_echo "#define HAVE_ICONV 1" >>confdefs.h
@@ -5603,6 +7249,11 @@ $as_echo "$LIBICONV" >&6; }
+
+
+
+
+
use_additional=yes
acl_save_prefix="$prefix"
@@ -5638,7 +7289,11 @@ if test "${with_libintl_prefix+set}" = set; then :
else
additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
+ additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
+ fi
fi
fi
@@ -5647,6 +7302,8 @@ fi
LIBINTL=
LTLIBINTL=
INCINTL=
+ LIBINTL_PREFIX=
+ HAVE_LIBINTL=
rpathdirs=
ltrpathdirs=
names_already_handled=
@@ -5680,22 +7337,52 @@ fi
found_la=
found_so=
found_a=
+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
+ if test -n "$acl_shlibext"; then
+ shrext=".$acl_shlibext" # typically: shrext=.so
+ else
+ shrext=
+ fi
if test $use_additional = yes; then
- if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
- found_dir="$additional_libdir"
- found_so="$additional_libdir/lib$name.$shlibext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- else
- if test -f "$additional_libdir/lib$name.$libext"; then
- found_dir="$additional_libdir"
- found_a="$additional_libdir/lib$name.$libext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
+ dir="$additional_libdir"
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
fi
fi
fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
fi
if test "X$found_dir" = "X"; then
for x in $LDFLAGS $LTLIBINTL; do
@@ -5711,21 +7398,44 @@ fi
case "$x" in
-L*)
dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
- found_dir="$dir"
- found_so="$dir/lib$name.$shlibext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- else
- if test -f "$dir/lib$name.$libext"; then
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
found_dir="$dir"
- found_a="$dir/lib$name.$libext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
fi
fi
fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
;;
esac
if test "X$found_dir" != "X"; then
@@ -5736,7 +7446,9 @@ fi
if test "X$found_dir" != "X"; then
LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
if test "X$found_so" != "X"; then
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
else
haveit=
@@ -5749,10 +7461,10 @@ fi
if test -z "$haveit"; then
ltrpathdirs="$ltrpathdirs $found_dir"
fi
- if test "$hardcode_direct" = yes; then
+ if test "$acl_hardcode_direct" = yes; then
LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
else
- if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
haveit=
for x in $rpathdirs; do
@@ -5784,7 +7496,7 @@ fi
if test -z "$haveit"; then
LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
fi
- if test "$hardcode_minus_L" != no; then
+ if test "$acl_hardcode_minus_L" != no; then
LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
else
LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
@@ -5801,8 +7513,18 @@ fi
fi
additional_includedir=
case "$found_dir" in
- */lib | */lib/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+ */$acl_libdirstem | */$acl_libdirstem/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ if test "$name" = 'intl'; then
+ LIBINTL_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = 'intl'; then
+ LIBINTL_PREFIX="$basedir"
+ fi
additional_includedir="$basedir/include"
;;
esac
@@ -5812,7 +7534,7 @@ fi
if test "X$additional_includedir" = "X/usr/local/include"; then
if test -n "$GCC"; then
case $host_os in
- linux*) haveit=yes;;
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
esac
fi
fi
@@ -5851,12 +7573,14 @@ fi
case "$dep" in
-L*)
additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- if test "X$additional_libdir" != "X/usr/lib"; then
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
haveit=
- if test "X$additional_libdir" = "X/usr/local/lib"; then
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
if test -n "$GCC"; then
case $host_os in
- linux*) haveit=yes;;
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
esac
fi
fi
@@ -5953,21 +7677,21 @@ fi
done
done
if test "X$rpathdirs" != "X"; then
- if test -n "$hardcode_libdir_separator"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
alldirs=
for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
done
acl_save_libdir="$libdir"
libdir="$alldirs"
- eval flag=\"$hardcode_libdir_flag_spec\"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
else
for found_dir in $rpathdirs; do
acl_save_libdir="$libdir"
libdir="$found_dir"
- eval flag=\"$hardcode_libdir_flag_spec\"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
libdir="$acl_save_libdir"
LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
done
@@ -5979,9 +7703,14 @@ fi
done
fi
+
+
+
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
$as_echo_n "checking for GNU gettext in libintl... " >&6; }
-if test "${gt_cv_func_gnugettext1_libintl+set}" = set; then :
+if eval \${$gt_func_gnugettext_libintl+:} false; then :
$as_echo_n "(cached) " >&6
else
gt_save_CPPFLAGS="$CPPFLAGS"
@@ -5991,44 +7720,46 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <libintl.h>
+$gt_revision_test_code
extern int _nl_msg_cat_cntr;
extern
#ifdef __cplusplus
"C"
#endif
-const char *_nl_expand_alias ();
+const char *_nl_expand_alias (const char *);
int
main ()
{
bindtextdomain ("", "");
-return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0)
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- gt_cv_func_gnugettext1_libintl=yes
+ eval "$gt_func_gnugettext_libintl=yes"
else
- gt_cv_func_gnugettext1_libintl=no
+ eval "$gt_func_gnugettext_libintl=no"
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
- if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
LIBS="$LIBS $LIBICONV"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <libintl.h>
+$gt_revision_test_code
extern int _nl_msg_cat_cntr;
extern
#ifdef __cplusplus
"C"
#endif
-const char *_nl_expand_alias ();
+const char *_nl_expand_alias (const char *);
int
main ()
{
bindtextdomain ("", "");
-return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0)
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
;
return 0;
}
@@ -6036,7 +7767,7 @@ _ACEOF
if ac_fn_c_try_link "$LINENO"; then :
LIBINTL="$LIBINTL $LIBICONV"
LTLIBINTL="$LTLIBINTL $LTLIBICONV"
- gt_cv_func_gnugettext1_libintl=yes
+ eval "$gt_func_gnugettext_libintl=yes"
fi
rm -f core conftest.err conftest.$ac_objext \
@@ -6045,12 +7776,13 @@ rm -f core conftest.err conftest.$ac_objext \
CPPFLAGS="$gt_save_CPPFLAGS"
LIBS="$gt_save_LIBS"
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libintl" >&5
-$as_echo "$gt_cv_func_gnugettext1_libintl" >&6; }
+eval ac_res=\$$gt_func_gnugettext_libintl
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
fi
- if test "$gt_cv_func_gnugettext1_libc" = "yes" \
- || { test "$gt_cv_func_gnugettext1_libintl" = "yes" \
+ if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
+ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
&& test "$PACKAGE" != gettext-runtime \
&& test "$PACKAGE" != gettext-tools; }; then
gt_use_preinstalled_gnugettext=yes
@@ -6062,6 +7794,14 @@ $as_echo "$gt_cv_func_gnugettext1_libintl" >&6; }
+ if test -n "$INTL_MACOSX_LIBS"; then
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
+ LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
+ fi
+ fi
+
if test "$gt_use_preinstalled_gnugettext" = "yes" \
|| test "$nls_cv_use_gnu_gettext" = "yes"; then
@@ -6080,7 +7820,7 @@ $as_echo "$USE_NLS" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5
$as_echo_n "checking where the gettext function comes from... " >&6; }
if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
gt_source="external libintl"
else
gt_source="libc"
@@ -6095,7 +7835,7 @@ $as_echo "$gt_source" >&6; }
if test "$USE_NLS" = "yes"; then
if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5
$as_echo_n "checking how to link with libintl... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5
@@ -6158,7 +7898,7 @@ if test "$enable_largefile" != no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if test "${ac_cv_sys_largefile_CC+set}" = set; then :
+if ${ac_cv_sys_largefile_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_sys_largefile_CC=no
@@ -6174,7 +7914,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -6209,7 +7949,7 @@ $as_echo "$ac_cv_sys_largefile_CC" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if test "${ac_cv_sys_file_offset_bits+set}" = set; then :
+if ${ac_cv_sys_file_offset_bits+:} false; then :
$as_echo_n "(cached) " >&6
else
while :; do
@@ -6220,7 +7960,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -6244,7 +7984,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -6278,7 +8018,7 @@ rm -rf conftest*
if test $ac_cv_sys_file_offset_bits = unknown; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-if test "${ac_cv_sys_large_files+set}" = set; then :
+if ${ac_cv_sys_large_files+:} false; then :
$as_echo_n "(cached) " >&6
else
while :; do
@@ -6289,7 +8029,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -6313,7 +8053,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
@@ -6345,13 +8085,15 @@ _ACEOF
esac
rm -rf conftest*
fi
+
+
fi
# Checks for libraries.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getpwnam" >&5
$as_echo_n "checking for library containing getpwnam... " >&6; }
-if test "${ac_cv_search_getpwnam+set}" = set; then :
+if ${ac_cv_search_getpwnam+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -6385,11 +8127,11 @@ for ac_lib in '' sun; do
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if test "${ac_cv_search_getpwnam+set}" = set; then :
+ if ${ac_cv_search_getpwnam+:} false; then :
break
fi
done
-if test "${ac_cv_search_getpwnam+set}" = set; then :
+if ${ac_cv_search_getpwnam+:} false; then :
else
ac_cv_search_getpwnam=no
@@ -6409,7 +8151,7 @@ fi
# Checks for header files.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6524,7 +8266,7 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5
$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_ac_Header+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6551,8 +8293,7 @@ fi
eval ac_res=\$$as_ac_Header
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
-eval as_val=\$$as_ac_Header
- if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
_ACEOF
@@ -6565,7 +8306,7 @@ done
if test $ac_header_dirent = dirent.h; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
$as_echo_n "checking for library containing opendir... " >&6; }
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -6599,11 +8340,11 @@ for ac_lib in '' dir; do
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if test "${ac_cv_search_opendir+set}" = set; then :
+ if ${ac_cv_search_opendir+:} false; then :
break
fi
done
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
else
ac_cv_search_opendir=no
@@ -6622,7 +8363,7 @@ fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5
$as_echo_n "checking for library containing opendir... " >&6; }
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -6656,11 +8397,11 @@ for ac_lib in '' x; do
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if test "${ac_cv_search_opendir+set}" = set; then :
+ if ${ac_cv_search_opendir+:} false; then :
break
fi
done
-if test "${ac_cv_search_opendir+set}" = set; then :
+if ${ac_cv_search_opendir+:} false; then :
else
ac_cv_search_opendir=no
@@ -6680,7 +8421,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5
$as_echo_n "checking whether stat file-mode macros are broken... " >&6; }
-if test "${ac_cv_header_stat_broken+set}" = set; then :
+if ${ac_cv_header_stat_broken+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6722,7 +8463,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
-if test "${ac_cv_header_time+set}" = set; then :
+if ${ac_cv_header_time+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6756,12 +8497,11 @@ $as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h
fi
for ac_header in 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
+ memory.h sys/param.h sys/resource.h sys/time.h sys/timeb.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
- if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
@@ -6771,159 +8511,10 @@ fi
done
-# Set a flag if we have an ANSI C compiler
-if test "$ac_cv_prog_cc_stdc" != no; then
-
-$as_echo "#define HAVE_ANSI_COMPILER 1" >>confdefs.h
-
-fi
-
-
-# Determine what kind of variadic function calls we support
-for ac_header in stdarg.h varargs.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
- if test "x$as_val" = x""yes; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
- break
-fi
-
-done
-
-
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if test "${ac_cv_c_const+set}" = set; then :
+if ${ac_cv_c_const+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6932,11 +8523,11 @@ else
int
main ()
{
-/* FIXME: Include the comments suggested by Paul. */
+
#ifndef __cplusplus
- /* Ultrix mips cc rejects this. */
+ /* Ultrix mips cc rejects this sort of thing. */
typedef int charset[2];
- const charset cs;
+ const charset cs = { 0, 0 };
/* SunOS 4.1.1 cc rejects this. */
char const *const *pcpcc;
char **ppc;
@@ -6953,8 +8544,9 @@ main ()
++pcpcc;
ppc = (char**) pcpcc;
pcpcc = (char const *const *) ppc;
- { /* SCO 3.2v4 cc rejects this. */
- char *t;
+ { /* SCO 3.2v4 cc rejects this sort of thing. */
+ char tx;
+ char *t = &tx;
char const *s = 0 ? (char *) 0 : (char const *) 0;
*t++ = 0;
@@ -6970,10 +8562,10 @@ main ()
iptr p = 0;
++p;
}
- { /* AIX XL C 1.02.0.0 rejects this saying
+ { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
"k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
+ struct s { int j; const int *ap[3]; } bx;
+ struct s *b = &bx; b->j = 5;
}
{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
const int foo = 10;
@@ -7003,7 +8595,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
$as_echo_n "checking return type of signal handlers... " >&6; }
-if test "${ac_cv_type_signal+set}" = set; then :
+if ${ac_cv_type_signal+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7036,7 +8628,7 @@ _ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
$as_echo_n "checking for uid_t in sys/types.h... " >&6; }
-if test "${ac_cv_type_uid_t+set}" = set; then :
+if ${ac_cv_type_uid_t+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7065,7 +8657,7 @@ $as_echo "#define gid_t int" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
-if test "x$ac_cv_type_pid_t" = x""yes; then :
+if test "x$ac_cv_type_pid_t" = xyes; then :
else
@@ -7079,13 +8671,12 @@ fi
# Find some definition for uintmax_t
ac_fn_c_check_type "$LINENO" "uintmax_t" "ac_cv_type_uintmax_t" "$ac_includes_default"
-if test "x$ac_cv_type_uintmax_t" = x""yes; then :
+if test "x$ac_cv_type_uintmax_t" = xyes; then :
else
-
- uintmax_t="unsigned long"
+ uintmax_t="unsigned long"
ac_fn_c_check_type "$LINENO" "unsigned long long" "ac_cv_type_unsigned_long_long" "$ac_includes_default"
-if test "x$ac_cv_type_unsigned_long_long" = x""yes; then :
+if test "x$ac_cv_type_unsigned_long_long" = xyes; then :
uintmax_t="unsigned long long"
fi
@@ -7094,24 +8685,27 @@ cat >>confdefs.h <<_ACEOF
#define uintmax_t $uintmax_t
_ACEOF
+
fi
# Find out whether our struct stat returns nanosecond resolution timestamps.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for nanoseconds field of struct stat.st_mtim" >&5
-$as_echo_n "checking for nanoseconds field of struct stat.st_mtim... " >&6; }
-if test "${ac_cv_struct_st_mtim_nsec+set}" = set; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for nanoseconds field of struct stat" >&5
+$as_echo_n "checking for nanoseconds field of struct stat... " >&6; }
+if ${ac_cv_struct_st_mtim_nsec+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_save_CPPFLAGS="$CPPFLAGS"
ac_cv_struct_st_mtim_nsec=no
- # tv_nsec -- the usual case
- # _tv_nsec -- Solaris 2.6, if
+ # st_mtim.tv_nsec -- the usual case
+ # st_mtim._tv_nsec -- Solaris 2.6, if
# (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1
# && !defined __EXTENSIONS__)
- # st__tim.tv_nsec -- UnixWare 2.1.2
- for ac_val in tv_nsec _tv_nsec st__tim.tv_nsec; do
+ # st_mtim.st__tim.tv_nsec -- UnixWare 2.1.2
+ # st_mtime_n -- AIX 5.2 and above
+ # st_mtimespec.tv_nsec -- Darwin (Mac OSX)
+ for ac_val in st_mtim.tv_nsec st_mtim._tv_nsec st_mtim.st__tim.tv_nsec st_mtime_n st_mtimespec.tv_nsec; do
CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -7121,7 +8715,7 @@ else
int
main ()
{
-struct stat s; s.st_mtim.ST_MTIM_NSEC;
+struct stat s; s.ST_MTIM_NSEC;
;
return 0;
}
@@ -7148,18 +8742,17 @@ _ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use high resolution file timestamps" >&5
$as_echo_n "checking whether to use high resolution file timestamps... " >&6; }
-if test "${make_cv_file_timestamp_hi_res+set}" = set; then :
+if ${make_cv_file_timestamp_hi_res+:} false; then :
$as_echo_n "(cached) " >&6
else
-
- make_cv_file_timestamp_hi_res=no
- if test "$ac_cv_struct_st_mtim_nsec" != no; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ make_cv_file_timestamp_hi_res=no
+ if test "$ac_cv_struct_st_mtim_nsec" != no; then :
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-# if HAVE_INTTYPES_H
-# include <inttypes.h>
-# endif
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
int
main ()
{
@@ -7172,12 +8765,12 @@ if ac_fn_c_try_compile "$LINENO"; then :
make_cv_file_timestamp_hi_res=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-fi
+fi
+fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_file_timestamp_hi_res" >&5
$as_echo "$make_cv_file_timestamp_hi_res" >&6; }
-if test "$make_cv_file_timestamp_hi_res" = yes; then
+if test "$make_cv_file_timestamp_hi_res" = yes; then :
val=1
else
val=0
@@ -7188,12 +8781,12 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
-if test "$make_cv_file_timestamp_hi_res" = yes; then
- # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
+if test "$make_cv_file_timestamp_hi_res" = yes; then :
+ # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
# Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
$as_echo_n "checking for library containing clock_gettime... " >&6; }
-if test "${ac_cv_search_clock_gettime+set}" = set; then :
+if ${ac_cv_search_clock_gettime+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
@@ -7227,11 +8820,11 @@ for ac_lib in '' rt posix4; do
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
- if test "${ac_cv_search_clock_gettime+set}" = set; then :
+ if ${ac_cv_search_clock_gettime+:} false; then :
break
fi
done
-if test "${ac_cv_search_clock_gettime+set}" = set; then :
+if ${ac_cv_search_clock_gettime+:} false; then :
else
ac_cv_search_clock_gettime=no
@@ -7247,28 +8840,37 @@ if test "$ac_res" != no; then :
fi
- if test "$ac_cv_search_clock_gettime" != no; then
+ if test "$ac_cv_search_clock_gettime" != no; then :
$as_echo "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h
- fi
+
+fi
+
fi
# Check for DOS-style pathnames.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system uses MSDOS-style paths" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system uses MSDOS-style paths" >&5
$as_echo_n "checking whether system uses MSDOS-style paths... " >&6; }
-if test "${ac_cv_dos_paths+set}" = set; then :
+if ${ac_cv_dos_paths+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __EMX__ && !defined __MSYS__ && !defined __CYGWIN__
neither MSDOS nor Windows nor OS2
#endif
+int
+main ()
+{
+
+ ;
+ return 0;
+}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_dos_paths=yes
@@ -7276,18 +8878,17 @@ else
ac_cv_dos_paths=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_dos_paths" >&5
$as_echo "$ac_cv_dos_paths" >&6; }
- if test x"$ac_cv_dos_paths" = xyes; then
+ if test x"$ac_cv_dos_paths" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_DOS_PATHS 1
_ACEOF
- fi
+fi
# See if we have a standard version of gettimeofday(). Since actual
@@ -7295,7 +8896,7 @@ _ACEOF
# one.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for standard gettimeofday" >&5
$as_echo_n "checking for standard gettimeofday... " >&6; }
-if test "${ac_cv_func_gettimeofday+set}" = set; then :
+if ${ac_cv_func_gettimeofday+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_func_gettimeofday=no
@@ -7306,11 +8907,11 @@ else
/* end confdefs.h. */
#include <sys/time.h>
int main ()
- {
- struct timeval t; t.tv_sec = -1; t.tv_usec = -1;
- exit (gettimeofday (&t, 0) != 0
- || t.tv_sec < 0 || t.tv_usec < 0);
- }
+ {
+ struct timeval t; t.tv_sec = -1; t.tv_usec = -1;
+ exit (gettimeofday (&t, 0) != 0
+ || t.tv_sec < 0 || t.tv_usec < 0);
+ }
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
ac_cv_func_gettimeofday=yes
@@ -7324,22 +8925,22 @@ fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_gettimeofday" >&5
$as_echo "$ac_cv_func_gettimeofday" >&6; }
-if test "$ac_cv_func_gettimeofday" = yes; then
+if test "$ac_cv_func_gettimeofday" = yes; then :
$as_echo "#define HAVE_GETTIMEOFDAY 1" >>confdefs.h
+
fi
for ac_func in strdup strndup mkstemp mktemp fdopen fileno \
- dup2 getcwd realpath sigsetmask sigaction \
+ dup dup2 getcwd realpath sigsetmask sigaction \
getgroups seteuid setegid setlinebuf setreuid setregid \
getrlimit setrlimit setvbuf pipe strerror strsignal \
- lstat readlink atexit
+ lstat readlink atexit isatty ttyname
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
- if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
@@ -7351,9 +8952,10 @@ done
# We need to check declarations, not just existence, because on Tru64 this
# function is not declared without special flags, which themselves cause
# other problems. We'll just use our own.
-ac_fn_c_check_decl "$LINENO" "bsd_signal" "ac_cv_have_decl_bsd_signal" "#include <signal.h>
+ac_fn_c_check_decl "$LINENO" "bsd_signal" "ac_cv_have_decl_bsd_signal" "#define _GNU_SOURCE 1
+#include <signal.h>
"
-if test "x$ac_cv_have_decl_bsd_signal" = x""yes; then :
+if test "x$ac_cv_have_decl_bsd_signal" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -7364,7 +8966,7 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
-if test "${ac_cv_func_setvbuf_reversed+set}" = set; then :
+if ${ac_cv_func_setvbuf_reversed+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_cv_func_setvbuf_reversed=no
@@ -7379,8 +8981,7 @@ for ac_func in strcasecmp strncasecmp strcmpi strncmpi stricmp strnicmp
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
- if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
@@ -7392,7 +8993,7 @@ done
# strcoll() is used by the GNU glob library
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strcoll" >&5
$as_echo_n "checking for working strcoll... " >&6; }
-if test "${ac_cv_func_strcoll_works+set}" = set; then :
+if ${ac_cv_func_strcoll_works+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
@@ -7430,11 +9031,22 @@ $as_echo "#define HAVE_STRCOLL 1" >>confdefs.h
fi
+ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
+if test "x$ac_cv_type_size_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned int
+_ACEOF
+
+fi
+
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
$as_echo_n "checking for working alloca.h... " >&6; }
-if test "${ac_cv_working_alloca_h+set}" = set; then :
+if ${ac_cv_working_alloca_h+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7467,7 +9079,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
$as_echo_n "checking for alloca... " >&6; }
-if test "${ac_cv_func_alloca_works+set}" = set; then :
+if ${ac_cv_func_alloca_works+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7486,7 +9098,7 @@ else
#pragma alloca
# else
# ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
+void *alloca (size_t);
# endif
# endif
# endif
@@ -7530,7 +9142,7 @@ $as_echo "#define C_ALLOCA 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if test "${ac_cv_os_cray+set}" = set; then :
+if ${ac_cv_os_cray+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7557,8 +9169,7 @@ if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
- if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
#define CRAY_STACKSEG_END $ac_func
@@ -7572,7 +9183,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
$as_echo_n "checking stack direction for C alloca... " >&6; }
-if test "${ac_cv_c_stack_direction+set}" = set; then :
+if ${ac_cv_c_stack_direction+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
@@ -7582,23 +9193,20 @@ else
/* end confdefs.h. */
$ac_includes_default
int
-find_stack_direction ()
+find_stack_direction (int *addr, int depth)
{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
+ int dir, dummy = 0;
+ if (! addr)
+ addr = &dummy;
+ *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
+ dir = depth ? find_stack_direction (addr, depth - 1) : 0;
+ return dir + dummy;
}
int
-main ()
+main (int argc, char **argv)
{
- return find_stack_direction () < 0;
+ return find_stack_direction (0, argc + !argv + 20) < 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
@@ -7620,293 +9228,421 @@ _ACEOF
fi
-for ac_header in vfork.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default"
-if test "x$ac_cv_header_vfork_h" = x""yes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_VFORK_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in fork vfork
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
- if test "x$as_val" = x""yes; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-if test "x$ac_cv_func_fork" = xyes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5
-$as_echo_n "checking for working fork... " >&6; }
-if test "${ac_cv_func_fork_works+set}" = set; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether closedir returns void" >&5
+$as_echo_n "checking whether closedir returns void... " >&6; }
+if ${ac_cv_func_closedir_void+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
- ac_cv_func_fork_works=cross
+ ac_cv_func_closedir_void=yes
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
+#include <$ac_header_dirent>
+#ifndef __cplusplus
+int closedir ();
+#endif
+
int
main ()
{
-
- /* By Ruediger Kuhlmann. */
- return fork () < 0;
-
+return closedir (opendir (".")) != 0;
;
return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_func_fork_works=yes
+ ac_cv_func_closedir_void=no
else
- ac_cv_func_fork_works=no
+ ac_cv_func_closedir_void=yes
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5
-$as_echo "$ac_cv_func_fork_works" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_closedir_void" >&5
+$as_echo "$ac_cv_func_closedir_void" >&6; }
+if test $ac_cv_func_closedir_void = yes; then
+
+$as_echo "#define CLOSEDIR_VOID 1" >>confdefs.h
-else
- ac_cv_func_fork_works=$ac_cv_func_fork
fi
-if test "x$ac_cv_func_fork_works" = xcross; then
- case $host in
- *-*-amigaos* | *-*-msdosdjgpp*)
- # Override, as these systems have only a dummy fork() stub
- ac_cv_func_fork_works=no
- ;;
- *)
- ac_cv_func_fork_works=yes
- ;;
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5
-$as_echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;}
-fi
-ac_cv_func_vfork_works=$ac_cv_func_vfork
-if test "x$ac_cv_func_vfork" = xyes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5
-$as_echo_n "checking for working vfork... " >&6; }
-if test "${ac_cv_func_vfork_works+set}" = set; then :
+
+
+# See if the user wants to add (or not) GNU Guile support
+
+
+
+
+
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
$as_echo_n "(cached) " >&6
else
- if test "$cross_compiling" = yes; then :
- ac_cv_func_vfork_works=cross
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Thanks to Paul Eggert for this test. */
-$ac_includes_default
-#include <sys/wait.h>
-#ifdef HAVE_VFORK_H
-# include <vfork.h>
-#endif
-/* On some sparc systems, changes by the child to local and incoming
- argument registers are propagated back to the parent. The compiler
- is told about this with #include <vfork.h>, but some compilers
- (e.g. gcc -O) don't grok <vfork.h>. Test for this by using a
- static variable whose address is put into a register that is
- clobbered by the vfork. */
-static void
-#ifdef __cplusplus
-sparc_address_test (int arg)
-# else
-sparc_address_test (arg) int arg;
-#endif
-{
- static pid_t child;
- if (!child) {
- child = vfork ();
- if (child < 0) {
- perror ("vfork");
- _exit(2);
- }
- if (!child) {
- arg = getpid();
- write(-1, "", 0);
- _exit (arg);
- }
- }
-}
-
-int
-main ()
-{
- pid_t parent = getpid ();
- pid_t child;
-
- sparc_address_test (0);
-
- child = vfork ();
-
- if (child == 0) {
- /* Here is another test for sparc vfork register problems. This
- test uses lots of local variables, at least as many local
- variables as main has allocated so far including compiler
- temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris
- 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should
- reuse the register of parent for one of the local variables,
- since it will think that parent can't possibly be used any more
- in this routine. Assigning to the local variable will thus
- munge parent in the parent process. */
- pid_t
- p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),
- p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();
- /* Convince the compiler that p..p7 are live; otherwise, it might
- use the same hardware register for all 8 local variables. */
- if (p != p1 || p != p2 || p != p3 || p != p4
- || p != p5 || p != p6 || p != p7)
- _exit(1);
-
- /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent
- from child file descriptors. If the child closes a descriptor
- before it execs or exits, this munges the parent's descriptor
- as well. Test for this by closing stdout in the child. */
- _exit(close(fileno(stdout)) != 0);
- } else {
- int status;
- struct stat st;
+ case $PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- while (wait(&status) != child)
- ;
- return (
- /* Was there some problem with vforking? */
- child < 0
+ ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
- /* Did the child fail? (This shouldn't happen.) */
- || status
- /* Did the vfork/compiler bug occur? */
- || parent != getpid()
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+ ac_pt_PKG_CONFIG=$PKG_CONFIG
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $ac_pt_PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- /* Did the file descriptor bug occur? */
- || fstat(fileno(stdout), &st) != 0
- );
- }
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_func_vfork_works=yes
+ ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
else
- ac_cv_func_vfork_works=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+
+ if test "x$ac_pt_PKG_CONFIG" = x; then
+ PKG_CONFIG=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ PKG_CONFIG=$ac_pt_PKG_CONFIG
+ fi
+else
+ PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5
-$as_echo "$ac_cv_func_vfork_works" >&6; }
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=0.9.0
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ PKG_CONFIG=""
+ fi
+fi
-fi;
-if test "x$ac_cv_func_fork_works" = xcross; then
- ac_cv_func_vfork_works=$ac_cv_func_vfork
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5
-$as_echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;}
+# Check whether --with-guile was given.
+if test "${with_guile+set}" = set; then :
+ withval=$with_guile;
fi
-if test "x$ac_cv_func_vfork_works" = xyes; then
-$as_echo "#define HAVE_WORKING_VFORK 1" >>confdefs.h
+# For some strange reason, at least on Ubuntu, each version of Guile
+# comes with it's own PC file so we have to specify them as individual
+# packages. Ugh.
+if test "x$with_guile" != xno; then :
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GUILE" >&5
+$as_echo_n "checking for GUILE... " >&6; }
+
+if test -n "$GUILE_CFLAGS"; then
+ pkg_cv_GUILE_CFLAGS="$GUILE_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"guile-2.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "guile-2.0") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_GUILE_CFLAGS=`$PKG_CONFIG --cflags "guile-2.0" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$GUILE_LIBS"; then
+ pkg_cv_GUILE_LIBS="$GUILE_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"guile-2.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "guile-2.0") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_GUILE_LIBS=`$PKG_CONFIG --libs "guile-2.0" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
-$as_echo "#define vfork fork" >>confdefs.h
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
fi
-if test "x$ac_cv_func_fork_works" = xyes; then
+ if test $_pkg_short_errors_supported = yes; then
+ GUILE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "guile-2.0" 2>&1`
+ else
+ GUILE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "guile-2.0" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$GUILE_PKG_ERRORS" >&5
-$as_echo "#define HAVE_WORKING_FORK 1" >>confdefs.h
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GUILE" >&5
+$as_echo_n "checking for GUILE... " >&6; }
+
+if test -n "$GUILE_CFLAGS"; then
+ pkg_cv_GUILE_CFLAGS="$GUILE_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"guile-1.8\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "guile-1.8") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_GUILE_CFLAGS=`$PKG_CONFIG --cflags "guile-1.8" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$GUILE_LIBS"; then
+ pkg_cv_GUILE_LIBS="$GUILE_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"guile-1.8\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "guile-1.8") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_GUILE_LIBS=`$PKG_CONFIG --libs "guile-1.8" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
fi
-for ac_func in vprintf
-do :
- ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf"
-if test "x$ac_cv_func_vprintf" = x""yes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_VPRINTF 1
-_ACEOF
-ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt"
-if test "x$ac_cv_func__doprnt" = x""yes; then :
-$as_echo "#define HAVE_DOPRNT 1" >>confdefs.h
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
fi
+ if test $_pkg_short_errors_supported = yes; then
+ GUILE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "guile-1.8" 2>&1`
+ else
+ GUILE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "guile-1.8" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$GUILE_PKG_ERRORS" >&5
+ have_guile=no
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ have_guile=no
+else
+ GUILE_CFLAGS=$pkg_cv_GUILE_CFLAGS
+ GUILE_LIBS=$pkg_cv_GUILE_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ have_guile=yes
fi
-done
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GUILE" >&5
+$as_echo_n "checking for GUILE... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether closedir returns void" >&5
-$as_echo_n "checking whether closedir returns void... " >&6; }
-if test "${ac_cv_func_closedir_void+set}" = set; then :
- $as_echo_n "(cached) " >&6
+if test -n "$GUILE_CFLAGS"; then
+ pkg_cv_GUILE_CFLAGS="$GUILE_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"guile-1.8\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "guile-1.8") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_GUILE_CFLAGS=`$PKG_CONFIG --cflags "guile-1.8" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
- if test "$cross_compiling" = yes; then :
- ac_cv_func_closedir_void=yes
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$GUILE_LIBS"; then
+ pkg_cv_GUILE_LIBS="$GUILE_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"guile-1.8\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "guile-1.8") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_GUILE_LIBS=`$PKG_CONFIG --libs "guile-1.8" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header_dirent>
-#ifndef __cplusplus
-int closedir ();
-#endif
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
-int
-main ()
-{
-return closedir (opendir (".")) != 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_func_closedir_void=no
+
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
else
- ac_cv_func_closedir_void=yes
+ _pkg_short_errors_supported=no
fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ if test $_pkg_short_errors_supported = yes; then
+ GUILE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "guile-1.8" 2>&1`
+ else
+ GUILE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "guile-1.8" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$GUILE_PKG_ERRORS" >&5
+
+ have_guile=no
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ have_guile=no
+else
+ GUILE_CFLAGS=$pkg_cv_GUILE_CFLAGS
+ GUILE_LIBS=$pkg_cv_GUILE_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ have_guile=yes
+fi
+else
+ GUILE_CFLAGS=$pkg_cv_GUILE_CFLAGS
+ GUILE_LIBS=$pkg_cv_GUILE_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ have_guile=yes
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_closedir_void" >&5
-$as_echo "$ac_cv_func_closedir_void" >&6; }
-if test $ac_cv_func_closedir_void = yes; then
-$as_echo "#define CLOSEDIR_VOID 1" >>confdefs.h
+if test "$have_guile" = yes; then :
+
+$as_echo "#define HAVE_GUILE 1" >>confdefs.h
fi
+ if test "$have_guile" = yes; then
+ HAVE_GUILE_TRUE=
+ HAVE_GUILE_FALSE='#'
+else
+ HAVE_GUILE_TRUE='#'
+ HAVE_GUILE_FALSE=
+fi
+
ac_have_func=no # yes means we've found a way to get the load average.
# Make sure getloadavg.c is where it belongs, at configure-time.
test -f "$srcdir/$ac_config_libobj_dir/getloadavg.c" ||
- as_fn_error "$srcdir/$ac_config_libobj_dir/getloadavg.c is missing" "$LINENO" 5
+ as_fn_error $? "$srcdir/$ac_config_libobj_dir/getloadavg.c is missing" "$LINENO" 5
ac_save_LIBS=$LIBS
# Check for getloadavg, but be sure not to touch the cache variable.
(ac_fn_c_check_func "$LINENO" "getloadavg" "ac_cv_func_getloadavg"
-if test "x$ac_cv_func_getloadavg" = x""yes; then :
+if test "x$ac_cv_func_getloadavg" = xyes; then :
exit 0
else
exit 1
@@ -7917,7 +9653,7 @@ fi
for ac_func in pstat_getdynamic
do :
ac_fn_c_check_func "$LINENO" "pstat_getdynamic" "ac_cv_func_pstat_getdynamic"
-if test "x$ac_cv_func_pstat_getdynamic" = x""yes; then :
+if test "x$ac_cv_func_pstat_getdynamic" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_PSTAT_GETDYNAMIC 1
_ACEOF
@@ -7929,7 +9665,7 @@ done
# Solaris has libkstat which does not require root.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kstat_open in -lkstat" >&5
$as_echo_n "checking for kstat_open in -lkstat... " >&6; }
-if test "${ac_cv_lib_kstat_kstat_open+set}" = set; then :
+if ${ac_cv_lib_kstat_kstat_open+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -7963,7 +9699,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kstat_kstat_open" >&5
$as_echo "$ac_cv_lib_kstat_kstat_open" >&6; }
-if test "x$ac_cv_lib_kstat_kstat_open" = x""yes; then :
+if test "x$ac_cv_lib_kstat_kstat_open" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBKSTAT 1
_ACEOF
@@ -7981,7 +9717,7 @@ test $ac_cv_lib_kstat_kstat_open = yes && ac_have_func=yes
if test $ac_have_func = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for elf_begin in -lelf" >&5
$as_echo_n "checking for elf_begin in -lelf... " >&6; }
-if test "${ac_cv_lib_elf_elf_begin+set}" = set; then :
+if ${ac_cv_lib_elf_elf_begin+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8015,7 +9751,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_elf_elf_begin" >&5
$as_echo "$ac_cv_lib_elf_elf_begin" >&6; }
-if test "x$ac_cv_lib_elf_elf_begin" = x""yes; then :
+if test "x$ac_cv_lib_elf_elf_begin" = xyes; then :
LIBS="-lelf $LIBS"
fi
@@ -8023,7 +9759,7 @@ fi
if test $ac_have_func = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kvm_open in -lkvm" >&5
$as_echo_n "checking for kvm_open in -lkvm... " >&6; }
-if test "${ac_cv_lib_kvm_kvm_open+set}" = set; then :
+if ${ac_cv_lib_kvm_kvm_open+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8057,14 +9793,14 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kvm_kvm_open" >&5
$as_echo "$ac_cv_lib_kvm_kvm_open" >&6; }
-if test "x$ac_cv_lib_kvm_kvm_open" = x""yes; then :
+if test "x$ac_cv_lib_kvm_kvm_open" = xyes; then :
LIBS="-lkvm $LIBS"
fi
# Check for the 4.4BSD definition of getloadavg.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getloadavg in -lutil" >&5
$as_echo_n "checking for getloadavg in -lutil... " >&6; }
-if test "${ac_cv_lib_util_getloadavg+set}" = set; then :
+if ${ac_cv_lib_util_getloadavg+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8098,7 +9834,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_getloadavg" >&5
$as_echo "$ac_cv_lib_util_getloadavg" >&6; }
-if test "x$ac_cv_lib_util_getloadavg" = x""yes; then :
+if test "x$ac_cv_lib_util_getloadavg" = xyes; then :
LIBS="-lutil $LIBS" ac_have_func=yes ac_cv_func_getloadavg_setgid=yes
fi
@@ -8111,7 +9847,7 @@ if test $ac_have_func = no; then
LIBS="-L/usr/local/lib $LIBS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getloadavg in -lgetloadavg" >&5
$as_echo_n "checking for getloadavg in -lgetloadavg... " >&6; }
-if test "${ac_cv_lib_getloadavg_getloadavg+set}" = set; then :
+if ${ac_cv_lib_getloadavg_getloadavg+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8145,7 +9881,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_getloadavg_getloadavg" >&5
$as_echo "$ac_cv_lib_getloadavg_getloadavg" >&6; }
-if test "x$ac_cv_lib_getloadavg_getloadavg" = x""yes; then :
+if test "x$ac_cv_lib_getloadavg_getloadavg" = xyes; then :
LIBS="-lgetloadavg $LIBS"
else
LIBS=$ac_getloadavg_LIBS
@@ -8158,7 +9894,7 @@ fi
for ac_func in getloadavg
do :
ac_fn_c_check_func "$LINENO" "getloadavg" "ac_cv_func_getloadavg"
-if test "x$ac_cv_func_getloadavg" = x""yes; then :
+if test "x$ac_cv_func_getloadavg" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_GETLOADAVG 1
_ACEOF
@@ -8176,14 +9912,14 @@ $as_echo "#define C_GETLOADAVG 1" >>confdefs.h
# Figure out what our getloadavg.c needs.
ac_have_func=no
ac_fn_c_check_header_mongrel "$LINENO" "sys/dg_sys_info.h" "ac_cv_header_sys_dg_sys_info_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_dg_sys_info_h" = x""yes; then :
+if test "x$ac_cv_header_sys_dg_sys_info_h" = xyes; then :
ac_have_func=yes
$as_echo "#define DGUX 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dg_sys_info in -ldgc" >&5
$as_echo_n "checking for dg_sys_info in -ldgc... " >&6; }
-if test "${ac_cv_lib_dgc_dg_sys_info+set}" = set; then :
+if ${ac_cv_lib_dgc_dg_sys_info+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8217,7 +9953,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dgc_dg_sys_info" >&5
$as_echo "$ac_cv_lib_dgc_dg_sys_info" >&6; }
-if test "x$ac_cv_lib_dgc_dg_sys_info" = x""yes; then :
+if test "x$ac_cv_lib_dgc_dg_sys_info" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBDGC 1
_ACEOF
@@ -8231,7 +9967,7 @@ fi
ac_fn_c_check_header_mongrel "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default"
-if test "x$ac_cv_header_locale_h" = x""yes; then :
+if test "x$ac_cv_header_locale_h" = xyes; then :
fi
@@ -8239,7 +9975,7 @@ fi
for ac_func in setlocale
do :
ac_fn_c_check_func "$LINENO" "setlocale" "ac_cv_func_setlocale"
-if test "x$ac_cv_func_setlocale" = x""yes; then :
+if test "x$ac_cv_func_setlocale" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_SETLOCALE 1
_ACEOF
@@ -8251,7 +9987,8 @@ done
# We cannot check for <dwarf.h>, because Solaris 2 does not use dwarf (it
# uses stabs), but it is still SVR4. We cannot check for <elf.h> because
# Irix 4.0.5F has the header but not the library.
-if test $ac_have_func = no && test "$ac_cv_lib_elf_elf_begin" = yes; then
+if test $ac_have_func = no && test "$ac_cv_lib_elf_elf_begin" = yes \
+ && test "$ac_cv_lib_kvm_kvm_open" = yes; then
ac_have_func=yes
$as_echo "#define SVR4 1" >>confdefs.h
@@ -8260,7 +9997,7 @@ fi
if test $ac_have_func = no; then
ac_fn_c_check_header_mongrel "$LINENO" "inq_stats/cpustats.h" "ac_cv_header_inq_stats_cpustats_h" "$ac_includes_default"
-if test "x$ac_cv_header_inq_stats_cpustats_h" = x""yes; then :
+if test "x$ac_cv_header_inq_stats_cpustats_h" = xyes; then :
ac_have_func=yes
$as_echo "#define UMAX 1" >>confdefs.h
@@ -8275,7 +10012,7 @@ fi
if test $ac_have_func = no; then
ac_fn_c_check_header_mongrel "$LINENO" "sys/cpustats.h" "ac_cv_header_sys_cpustats_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_cpustats_h" = x""yes; then :
+if test "x$ac_cv_header_sys_cpustats_h" = xyes; then :
ac_have_func=yes; $as_echo "#define UMAX 1" >>confdefs.h
fi
@@ -8287,7 +10024,7 @@ if test $ac_have_func = no; then
for ac_header in mach/mach.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "mach/mach.h" "ac_cv_header_mach_mach_h" "$ac_includes_default"
-if test "x$ac_cv_header_mach_mach_h" = x""yes; then :
+if test "x$ac_cv_header_mach_mach_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_MACH_MACH_H 1
_ACEOF
@@ -8301,13 +10038,13 @@ fi
for ac_header in nlist.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "nlist.h" "ac_cv_header_nlist_h" "$ac_includes_default"
-if test "x$ac_cv_header_nlist_h" = x""yes; then :
+if test "x$ac_cv_header_nlist_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_NLIST_H 1
_ACEOF
ac_fn_c_check_member "$LINENO" "struct nlist" "n_un.n_name" "ac_cv_member_struct_nlist_n_un_n_name" "#include <nlist.h>
"
-if test "x$ac_cv_member_struct_nlist_n_un_n_name" = x""yes; then :
+if test "x$ac_cv_member_struct_nlist_n_un_n_name" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_STRUCT_NLIST_N_UN_N_NAME 1
@@ -8330,7 +10067,7 @@ done
# Some definitions of getloadavg require that the program be installed setgid.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getloadavg requires setgid" >&5
$as_echo_n "checking whether getloadavg requires setgid... " >&6; }
-if test "${ac_cv_func_getloadavg_setgid+set}" = set; then :
+if ${ac_cv_func_getloadavg_setgid+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8363,7 +10100,7 @@ fi
if test $ac_cv_func_getloadavg_setgid = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking group of /dev/kmem" >&5
$as_echo_n "checking group of /dev/kmem... " >&6; }
-if test "${ac_cv_group_kmem+set}" = set; then :
+if ${ac_cv_group_kmem+:} false; then :
$as_echo_n "(cached) " >&6
else
# On Solaris, /dev/kmem is a symlink. Get info on the real file.
@@ -8392,8 +10129,8 @@ LIBS=$ac_save_LIBS
# AC_FUNC_GETLOADAVG is documented to set the NLIST_STRUCT value, but it
# doesn't. So, we will.
-if test "$ac_cv_header_nlist_h" = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+if test "$ac_cv_header_nlist_h" = yes; then :
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <nlist.h>
int
@@ -8412,11 +10149,13 @@ else
make_cv_nlist_struct=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- if test "$make_cv_nlist_struct" = yes; then
+ if test "$make_cv_nlist_struct" = yes; then :
$as_echo "#define NLIST_STRUCT 1" >>confdefs.h
- fi
+
+fi
+
fi
ac_fn_c_check_decl "$LINENO" "sys_siglist" "ac_cv_have_decl_sys_siglist" "$ac_includes_default
@@ -8427,7 +10166,7 @@ ac_fn_c_check_decl "$LINENO" "sys_siglist" "ac_cv_have_decl_sys_siglist" "$ac_in
#endif
"
-if test "x$ac_cv_have_decl_sys_siglist" = x""yes; then :
+if test "x$ac_cv_have_decl_sys_siglist" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -8444,7 +10183,7 @@ ac_fn_c_check_decl "$LINENO" "_sys_siglist" "ac_cv_have_decl__sys_siglist" "$ac_
#endif
"
-if test "x$ac_cv_have_decl__sys_siglist" = x""yes; then :
+if test "x$ac_cv_have_decl__sys_siglist" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -8461,7 +10200,7 @@ ac_fn_c_check_decl "$LINENO" "__sys_siglist" "ac_cv_have_decl___sys_siglist" "$a
#endif
"
-if test "x$ac_cv_have_decl___sys_siglist" = x""yes; then :
+if test "x$ac_cv_have_decl___sys_siglist" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
@@ -8478,7 +10217,7 @@ for ac_header in sys/wait.h
do :
ac_fn_c_check_header_compile "$LINENO" "sys/wait.h" "ac_cv_header_sys_wait_h" "#include <sys/types.h>
"
-if test "x$ac_cv_header_sys_wait_h" = x""yes; then :
+if test "x$ac_cv_header_sys_wait_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_SYS_WAIT_H 1
_ACEOF
@@ -8491,8 +10230,7 @@ for ac_func in waitpid wait3
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
- if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
@@ -8502,10 +10240,10 @@ done
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for union wait" >&5
$as_echo_n "checking for union wait... " >&6; }
-if test "${make_cv_union_wait+set}" = set; then :
+if ${make_cv_union_wait+:} false; then :
$as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
#include <sys/wait.h>
@@ -8539,45 +10277,49 @@ else
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
-fi
-if test "$make_cv_union_wait" = yes; then
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_union_wait" >&5
+$as_echo "$make_cv_union_wait" >&6; }
+if test "$make_cv_union_wait" = yes; then :
$as_echo "#define HAVE_UNION_WAIT 1" >>confdefs.h
+
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_union_wait" >&5
-$as_echo "$make_cv_union_wait" >&6; }
# If we're building on Windows/DOS/OS/2, add some support for DOS drive specs.
-if test "$PATH_SEPARATOR" = ';'; then
+if test "$PATH_SEPARATOR" = ';'; then :
$as_echo "#define HAVE_DOS_PATHS 1" >>confdefs.h
-fi
+fi
# See if the user wants to use pmake's "customs" distributed build capability
-
REMOTE=stub
use_customs=false
# Check whether --with-customs was given.
if test "${with_customs+set}" = set; then :
- withval=$with_customs; case $withval in
- n|no) : ;;
- *) make_cppflags="$CPPFLAGS"
- case $withval in
- y|ye|yes) : ;;
- *) CPPFLAGS="$CPPFLAGS -I$with_customs/include/customs"
- make_ldflags="$LDFLAGS -L$with_customs/lib" ;;
- esac
+ withval=$with_customs; case $withval in #(
+ n|no) :
+ : ;; #(
+ *) :
+ make_cppflags="$CPPFLAGS"
+ case $withval in #(
+ y|ye|yes) :
+ : ;; #(
+ *) :
+ CPPFLAGS="$CPPFLAGS -I$with_customs/include/customs"
+ make_ldflags="$LDFLAGS -L$with_customs/lib" ;;
+esac
cf_test_netlibs=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for network libraries" >&5
$as_echo_n "checking for network libraries... " >&6; }
-if test "${cf_cv_netlibs+set}" = set; then :
+if ${cf_cv_netlibs+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -8588,7 +10330,7 @@ cf_test_netlibs=yes
for ac_func in gethostname
do :
ac_fn_c_check_func "$LINENO" "gethostname" "ac_cv_func_gethostname"
-if test "x$ac_cv_func_gethostname" = x""yes; then :
+if test "x$ac_cv_func_gethostname" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_GETHOSTNAME 1
_ACEOF
@@ -8598,7 +10340,7 @@ else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostname in -lnsl" >&5
$as_echo_n "checking for gethostname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostname+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8632,7 +10374,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostname" >&5
$as_echo "$ac_cv_lib_nsl_gethostname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostname" = xyes; then :
cf_tr_func=`echo gethostname | tr '[a-z]' '[A-Z]'`
@@ -8652,7 +10394,7 @@ else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostname in -lsocket" >&5
$as_echo_n "checking for gethostname in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_gethostname+set}" = set; then :
+if ${ac_cv_lib_socket_gethostname+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8686,7 +10428,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_gethostname" >&5
$as_echo "$ac_cv_lib_socket_gethostname" >&6; }
-if test "x$ac_cv_lib_socket_gethostname" = x""yes; then :
+if test "x$ac_cv_lib_socket_gethostname" = xyes; then :
cf_tr_func=`echo gethostname | tr '[a-z]' '[A-Z]'`
@@ -8717,7 +10459,7 @@ done
# I don't know the entrypoints - 97/7/22 TD
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -linet" >&5
$as_echo_n "checking for main in -linet... " >&6; }
-if test "${ac_cv_lib_inet_main+set}" = set; then :
+if ${ac_cv_lib_inet_main+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8745,7 +10487,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_inet_main" >&5
$as_echo "$ac_cv_lib_inet_main" >&6; }
-if test "x$ac_cv_lib_inet_main" = x""yes; then :
+if test "x$ac_cv_lib_inet_main" = xyes; then :
cf_cv_netlibs="-linet $cf_cv_netlibs"
fi
@@ -8754,7 +10496,7 @@ if test "$ac_cv_func_lsocket" != no ; then
for ac_func in socket
do :
ac_fn_c_check_func "$LINENO" "socket" "ac_cv_func_socket"
-if test "x$ac_cv_func_socket" = x""yes; then :
+if test "x$ac_cv_func_socket" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_SOCKET 1
_ACEOF
@@ -8764,7 +10506,7 @@ else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5
$as_echo_n "checking for socket in -lsocket... " >&6; }
-if test "${ac_cv_lib_socket_socket+set}" = set; then :
+if ${ac_cv_lib_socket_socket+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8798,7 +10540,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5
$as_echo "$ac_cv_lib_socket_socket" >&6; }
-if test "x$ac_cv_lib_socket_socket" = x""yes; then :
+if test "x$ac_cv_lib_socket_socket" = xyes; then :
cf_tr_func=`echo socket | tr '[a-z]' '[A-Z]'`
@@ -8818,7 +10560,7 @@ else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lbsd" >&5
$as_echo_n "checking for socket in -lbsd... " >&6; }
-if test "${ac_cv_lib_bsd_socket+set}" = set; then :
+if ${ac_cv_lib_bsd_socket+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8852,7 +10594,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_socket" >&5
$as_echo "$ac_cv_lib_bsd_socket" >&6; }
-if test "x$ac_cv_lib_bsd_socket" = x""yes; then :
+if test "x$ac_cv_lib_bsd_socket" = xyes; then :
cf_tr_func=`echo socket | tr '[a-z]' '[A-Z]'`
@@ -8883,7 +10625,7 @@ fi
for ac_func in gethostbyname
do :
ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
-if test "x$ac_cv_func_gethostbyname" = x""yes; then :
+if test "x$ac_cv_func_gethostbyname" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_GETHOSTBYNAME 1
_ACEOF
@@ -8893,7 +10635,7 @@ else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -8927,7 +10669,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
cf_tr_func=`echo gethostbyname | tr '[a-z]' '[A-Z]'`
@@ -8956,21 +10698,23 @@ fi
LIBS="$LIBS $cf_cv_netlibs"
test $cf_test_netlibs = no && echo "$cf_cv_netlibs" >&6
- ac_fn_c_check_header_mongrel "$LINENO" "customs.h" "ac_cv_header_customs_h" "$ac_includes_default"
-if test "x$ac_cv_header_customs_h" = x""yes; then :
+ ac_fn_c_check_header_mongrel "$LINENO" "customs.h" "ac_cv_header_customs_h" "$ac_includes_default"
+if test "x$ac_cv_header_customs_h" = xyes; then :
use_customs=true
- REMOTE=cstms
- LIBS="$LIBS -lcustoms" LDFLAGS="$make_ldflags"
+ REMOTE=cstms
+ LIBS="$LIBS -lcustoms" LDFLAGS="$make_ldflags"
else
with_customs=no
- CPPFLAGS="$make_cppflags" make_badcust=yes
+ CPPFLAGS="$make_cppflags" make_badcust=yes
fi
- ;;
- esac
+ ;;
+esac
+
fi
+
# Tell automake about this, so it can include the right .c files.
if test "$use_customs" = true; then
USE_CUSTOMS_TRUE=
@@ -8983,18 +10727,16 @@ fi
# See if the user asked to handle case insensitive file systems.
-
# Check whether --enable-case-insensitive-file-system was given.
if test "${enable_case_insensitive_file_system+set}" = set; then :
- enableval=$enable_case_insensitive_file_system; case $enableval in
- yes) $as_echo "#define HAVE_CASE_INSENSITIVE_FS 1" >>confdefs.h
- ;;
- esac
+ enableval=$enable_case_insensitive_file_system; if test "$enableval" = yes; then :
+ $as_echo "#define HAVE_CASE_INSENSITIVE_FS 1" >>confdefs.h
+
+fi
fi
# See if we can handle the job server feature, and if the user wants it.
-
# Check whether --enable-job-server was given.
if test "${enable_job_server+set}" = set; then :
enableval=$enable_job_server; make_cv_job_server="$enableval" user_job_server="$enableval"
@@ -9003,14 +10745,15 @@ else
fi
-has_wait_nohang=yes
-case "$ac_cv_func_waitpid/$ac_cv_func_wait3" in
- no/no) has_wait_nohang=no ;;
-esac
+if test "$ac_cv_func_waitpid" = no && test "$ac_cv_func_wait3" = no; then :
+ has_wait_nohang=no
+else
+ has_wait_nohang=yes
+fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SA_RESTART" >&5
$as_echo_n "checking for SA_RESTART... " >&6; }
-if test "${make_cv_sa_restart+set}" = set; then :
+if ${make_cv_sa_restart+:} false; then :
$as_echo_n "(cached) " >&6
else
@@ -9035,47 +10778,236 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_sa_restart" >&5
$as_echo "$make_cv_sa_restart" >&6; }
-if test "$make_cv_sa_restart" != no; then
+if test "$make_cv_sa_restart" != no; then :
$as_echo "#define HAVE_SA_RESTART 1" >>confdefs.h
+
fi
-# enable make_cv_sa_restart for OS/2 so that the jobserver will be enabled,
-# but do it after HAVE_SA_RESTART has been defined.
-case "$host_os" in
- os2*) make_cv_sa_restart=yes ;;
+# Only allow jobserver on systems that support it
+case /$ac_cv_func_pipe/$ac_cv_func_sigaction/$make_cv_sa_restart/$has_wait_nohang/ in #(
+ */no/*) :
+ make_cv_job_server=no ;; #(
+ *) :
+ ;;
esac
-case "$ac_cv_func_pipe/$ac_cv_func_sigaction/$make_cv_sa_restart/$has_wait_nohang/$make_cv_job_server" in
- yes/yes/yes/yes/yes)
+# Also supported on OS2 and MinGW
+case $host_os in #(
+ os2*|mingw*) :
+ make_cv_job_server=yes ;; #(
+ *) :
+ ;;
+esac
+
+# If we support it and the user didn't disable it, build with jobserver
+case /$make_cv_job_server/$user_job_server/ in #(
+ */no/*) :
+ : no jobserver ;; #(
+ *) :
$as_echo "#define MAKE_JOBSERVER 1" >>confdefs.h
-;;
+
+ ;;
+esac
+
+# If dl*() functions are supported we can enable the load operation
+ac_fn_c_check_decl "$LINENO" "dlopen" "ac_cv_have_decl_dlopen" "#include <dlfcn.h>
+"
+if test "x$ac_cv_have_decl_dlopen" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_DLOPEN $ac_have_decl
+_ACEOF
+ac_fn_c_check_decl "$LINENO" "dlsym" "ac_cv_have_decl_dlsym" "#include <dlfcn.h>
+"
+if test "x$ac_cv_have_decl_dlsym" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_DLSYM $ac_have_decl
+_ACEOF
+ac_fn_c_check_decl "$LINENO" "dlerror" "ac_cv_have_decl_dlerror" "#include <dlfcn.h>
+"
+if test "x$ac_cv_have_decl_dlerror" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_DLERROR $ac_have_decl
+_ACEOF
+
+
+# Check whether --enable-load was given.
+if test "${enable_load+set}" = set; then :
+ enableval=$enable_load; make_cv_load="$enableval" user_load="$enableval"
+else
+ make_cv_load="yes"
+fi
+
+
+case /$ac_cv_have_decl_dlopen/$ac_cv_have_decl_dlsym/$ac_cv_have_decl_dlerror/ in #(
+ */no/*) :
+ make_cv_load=no ;; #(
+ *) :
+ ;;
+esac
+
+# We might need -ldl
+if test "$make_cv_load" = yes; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
+$as_echo_n "checking for library containing dlopen... " >&6; }
+if ${ac_cv_search_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' dl; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_dlopen=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_dlopen+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_dlopen+:} false; then :
+
+else
+ ac_cv_search_dlopen=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
+$as_echo "$ac_cv_search_dlopen" >&6; }
+ac_res=$ac_cv_search_dlopen
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+else
+ make_cv_load=
+fi
+
+
+fi
+
+case /$make_cv_load/$user_load/ in #(
+ */no/*) :
+ make_cv_load=no ;; #(
+ *) :
+
+$as_echo "#define MAKE_LOAD 1" >>confdefs.h
+
+ ;;
esac
+# If we want load support, we might need to link with export-dynamic.
+# See if we can figure it out. Unfortunately this is very difficult.
+# For example passing -rdynamic to the SunPRO linker gives a warning
+# but succeeds and creates a shared object, not an executable!
+if test "$make_cv_load" = yes; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking If the linker accepts -Wl,--export-dynamic" >&5
+$as_echo_n "checking If the linker accepts -Wl,--export-dynamic... " >&6; }
+ old_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int main(){}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ AM_LDFLAGS=-Wl,--export-dynamic
+
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking If the linker accepts -rdynamic" >&5
+$as_echo_n "checking If the linker accepts -rdynamic... " >&6; }
+ LDFLAGS="$old_LDFLAGS -rdynamic"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int main(){}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ AM_LDFLAGS=-rdynamic
+
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$old_LDFLAGS"
+
+fi
+
# if we have both lstat() and readlink() then we can support symlink
# timechecks.
-case "$ac_cv_func_lstat/$ac_cv_func_readlink" in
- yes/yes)
+if test "$ac_cv_func_lstat" = yes && test "$ac_cv_func_readlink" = yes; then :
$as_echo "#define MAKE_SYMLINKS 1" >>confdefs.h
-;;
-esac
+
+
+fi
# Find the SCCS commands, so we can include them in our default rules.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of SCCS get command" >&5
$as_echo_n "checking for location of SCCS get command... " >&6; }
-if test "${make_cv_path_sccs_get+set}" = set; then :
+if ${make_cv_path_sccs_get+:} false; then :
$as_echo_n "(cached) " >&6
else
-if test -f /usr/sccs/get; then
+ if test -f /usr/sccs/get; then :
make_cv_path_sccs_get=/usr/sccs/get
else
make_cv_path_sccs_get=get
fi
+
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_path_sccs_get" >&5
$as_echo "$make_cv_path_sccs_get" >&6; }
@@ -9086,29 +11018,31 @@ _ACEOF
ac_clean_files="$ac_clean_files s.conftest conftoast" # Remove these later.
-if ( /usr/sccs/admin -n s.conftest || admin -n s.conftest ) >/dev/null 2>&1 &&
- test -f s.conftest; then
- # We successfully created an SCCS file.
+if (/usr/sccs/admin -n s.conftest || admin -n s.conftest) >/dev/null 2>&1 &&
+ test -f s.conftest; then :
+ # We successfully created an SCCS file.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if SCCS get command understands -G" >&5
$as_echo_n "checking if SCCS get command understands -G... " >&6; }
-if test "${make_cv_sys_get_minus_G+set}" = set; then :
+if ${make_cv_sys_get_minus_G+:} false; then :
$as_echo_n "(cached) " >&6
else
+ if $make_cv_path_sccs_get -Gconftoast s.conftest >/dev/null 2>&1 &&
+ test -f conftoast; then :
+ make_cv_sys_get_minus_G=yes
+else
+ make_cv_sys_get_minus_G=no
+fi
- if $make_cv_path_sccs_get -Gconftoast s.conftest >/dev/null 2>&1 &&
- test -f conftoast; then
- make_cv_sys_get_minus_G=yes
- else
- make_cv_sys_get_minus_G=no
- fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_sys_get_minus_G" >&5
$as_echo "$make_cv_sys_get_minus_G" >&6; }
- case "$make_cv_sys_get_minus_G" in
- yes)
+ if test "$make_cv_sys_get_minus_G" = yes; then :
+
$as_echo "#define SCCS_GET_MINUS_G 1" >>confdefs.h
-;;
- esac
+
+
+fi
+
fi
rm -f s.conftest conftoast
@@ -9116,11 +11050,10 @@ rm -f s.conftest conftoast
# local version.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if system libc has GNU glob" >&5
$as_echo_n "checking if system libc has GNU glob... " >&6; }
-if test "${make_cv_sys_gnu_glob+set}" = set; then :
+if ${make_cv_sys_gnu_glob+:} false; then :
$as_echo_n "(cached) " >&6
else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <features.h>
@@ -9134,25 +11067,22 @@ else
gnu glob
# endif
#endif
-
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "gnu glob" >/dev/null 2>&1; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-make_cv_sys_gnu_glob=yes
+ make_cv_sys_gnu_glob=yes
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no; using local copy" >&5
-$as_echo "no; using local copy" >&6; }
-make_cv_sys_gnu_glob=no
+ make_cv_sys_gnu_glob=no
fi
rm -f conftest*
fi
-
-if test "$make_cv_sys_gnu_glob" = no; then
- GLOBINC='-I$(srcdir)/glob'
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $make_cv_sys_gnu_glob" >&5
+$as_echo "$make_cv_sys_gnu_glob" >&6; }
+if test "$make_cv_sys_gnu_glob" = no; then :
+ GLOBINC='-I$(srcdir)/glob'
GLOBLIB=glob/libglob.a
+
fi
@@ -9187,8 +11117,8 @@ else
fi
-case "$host" in
- *-*-mingw32)
+case $host in #(
+ *-*-mingw32) :
if true; then
WINDOWSENV_TRUE=
WINDOWSENV_FALSE='#'
@@ -9204,7 +11134,9 @@ $as_echo "#define WINDOWS32 1" >>confdefs.h
$as_echo "#define HAVE_DOS_PATHS 1" >>confdefs.h
- ;;
+ ;; #(
+ *) :
+ ;;
esac
@@ -9216,8 +11148,9 @@ _ACEOF
# Include the Maintainer's Makefile section, if it's here.
MAINT_MAKEFILE=/dev/null
-if test -r "$srcdir/maintMakefile"; then
- MAINT_MAKEFILE="$srcdir/maintMakefile"
+if test -r "$srcdir/maintMakefile"; then :
+ MAINT_MAKEFILE="$srcdir/maintMakefile"
+
fi
@@ -9252,48 +11185,64 @@ SET_MAKE=
# Sanity check and inform the user of what we found
-case "$make_badcust" in
- yes) echo
- echo "WARNING: --with-customs specified but no customs.h could be found;"
- echo " disabling Customs support."
- echo ;;
-esac
+if test "x$make_badcust" = xyes; then :
-case "$with_customs" in
- ""|n|no|y|ye|yes) ;;
- *) if test -f "$with_customs/lib/libcustoms.a"; then
- :
- else
- echo
- echo "WARNING: '$with_customs/lib' does not appear to contain the"
- echo " Customs library. You must build and install Customs"
- echo " before compiling GNU make."
- echo
- fi ;;
-esac
+echo
+echo "WARNING: --with-customs specified but no customs.h could be found;"
+echo " disabling Customs support."
+echo
-case "$has_wait_nohang" in
- no) echo
- echo "WARNING: Your system has neither waitpid() nor wait3()."
- echo " Without one of these, signal handling is unreliable."
- echo " You should be aware that running GNU make with -j"
- echo " could result in erratic behavior."
- echo ;;
-esac
+fi
-case "$make_cv_job_server/$user_job_server" in
- no/yes) echo
- echo "WARNING: Make job server requires a POSIX-ish system that"
- echo " supports the pipe(), sigaction(), and either"
- echo " waitpid() or wait3() functions. Your system doesn't"
- echo " appear to provide one or more of those."
- echo " Disabling job server support."
- echo ;;
+case $with_customs in #(
+ ""|n|no|y|ye|yes) :
+ : ;; #(
+ *) :
+ if test -f "$with_customs/lib/libcustoms.a"; then :
+ :
+else
+ echo
+ echo "WARNING: '$with_customs/lib' does not appear to contain the"
+ echo " Customs library. You must build and install Customs"
+ echo " before compiling GNU make."
+ echo
+
+fi ;;
esac
+if test "x$has_wait_nohang" = xno; then :
+ echo
+ echo "WARNING: Your system has neither waitpid() nor wait3()."
+ echo " Without one of these, signal handling is unreliable."
+ echo " You should be aware that running GNU make with -j"
+ echo " could result in erratic behavior."
+ echo
+
+fi
+
+if test "x$make_cv_job_server" = xno && test "x$user_job_server" = xyes; then :
+ echo
+ echo "WARNING: Make job server requires a POSIX-ish system that"
+ echo " supports the pipe(), sigaction(), and either"
+ echo " waitpid() or wait3() functions. Your system doesn't"
+ echo " appear to provide one or more of those."
+ echo " Disabling job server support."
+ echo
+
+fi
+
+if test "x$make_cv_load" = xno && test "x$user_load" = xyes; then :
+ echo
+ echo "WARNING: 'load' support requires a POSIX-ish system that"
+ echo " supports the dlopen(), dlsym(), and dlerror() functions."
+ echo " Your system doesn't appear to provide one or more of these."
+ echo " Disabling 'load' support."
+ echo
+
+fi
# Specify what files are to be created.
-ac_config_files="$ac_config_files Makefile glob/Makefile po/Makefile.in config/Makefile doc/Makefile w32/Makefile"
+ac_config_files="$ac_config_files Makefile glob/Makefile po/Makefile.in config/Makefile doc/Makefile w32/Makefile tests/config-flags.pm"
# OK, do it!
@@ -9362,10 +11311,21 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
:end' >>confcache
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
if test -w "$cache_file"; then
- test "x$cache_file" != "x/dev/null" &&
+ if test "x$cache_file" != "x/dev/null"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
$as_echo "$as_me: updating cache $cache_file" >&6;}
- cat confcache >$cache_file
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -9381,6 +11341,7 @@ DEFS=-DHAVE_CONFIG_H
ac_libobjs=
ac_ltlibobjs=
+U=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -9395,6 +11356,14 @@ LIBOBJS=$ac_libobjs
LTLIBOBJS=$ac_ltlibobjs
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+$as_echo_n "checking that generated files are newer than configure... " >&6; }
+ if test -n "$am_sleep_pid"; then
+ # Hide warnings about reused PIDs.
+ wait $am_sleep_pid 2>/dev/null
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
if test -n "$EXEEXT"; then
am__EXEEXT_TRUE=
am__EXEEXT_FALSE='#'
@@ -9404,31 +11373,39 @@ else
fi
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- as_fn_error "conditional \"AMDEP\" was never defined.
+ as_fn_error $? "conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- as_fn_error "conditional \"am__fastdepCC\" was never defined.
+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_GUILE_TRUE}" && test -z "${HAVE_GUILE_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_GUILE\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${USE_CUSTOMS_TRUE}" && test -z "${USE_CUSTOMS_FALSE}"; then
- as_fn_error "conditional \"USE_CUSTOMS\" was never defined.
+ as_fn_error $? "conditional \"USE_CUSTOMS\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${USE_LOCAL_GLOB_TRUE}" && test -z "${USE_LOCAL_GLOB_FALSE}"; then
- as_fn_error "conditional \"USE_LOCAL_GLOB\" was never defined.
+ as_fn_error $? "conditional \"USE_LOCAL_GLOB\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${WINDOWSENV_TRUE}" && test -z "${WINDOWSENV_FALSE}"; then
- as_fn_error "conditional \"WINDOWSENV\" was never defined.
+ as_fn_error $? "conditional \"WINDOWSENV\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${WINDOWSENV_TRUE}" && test -z "${WINDOWSENV_FALSE}"; then
- as_fn_error "conditional \"WINDOWSENV\" was never defined.
+ as_fn_error $? "conditional \"WINDOWSENV\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -9529,6 +11506,7 @@ fi
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -9574,19 +11552,19 @@ export LANGUAGE
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
- as_status=$?; test $as_status -eq 0 && as_status=1
- if test "$3"; then
- as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
- $as_echo "$as_me: error: $1" >&2
+ $as_echo "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
@@ -9724,16 +11702,16 @@ if (echo >conf$$.file) 2>/dev/null; then
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
+ # In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
@@ -9782,7 +11760,7 @@ $as_echo X"$as_dir" |
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p
@@ -9793,28 +11771,16 @@ else
as_mkdir_p=false
fi
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -9835,8 +11801,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GNU make $as_me 3.82, which was
-generated by GNU Autoconf 2.65. Invocation command line was
+This file was extended by GNU make $as_me 4.1, which was
+generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -9903,11 +11869,11 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-GNU make config.status 3.82
-configured by $0, generated by GNU Autoconf 2.65,
+GNU make config.status 4.1
+configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
@@ -9925,11 +11891,16 @@ ac_need_defaults=:
while test $# != 0
do
case $1 in
- --*=*)
+ --*=?*)
ac_option=`expr "X$1" : 'X\([^=]*\)='`
ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
ac_shift=:
;;
+ --*=)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=
+ ac_shift=:
+ ;;
*)
ac_option=$1
ac_optarg=$2
@@ -9951,6 +11922,7 @@ do
$ac_shift
case $ac_optarg in
*\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ '') as_fn_error $? "missing file argument" ;;
esac
as_fn_append CONFIG_FILES " '$ac_optarg'"
ac_need_defaults=false;;
@@ -9963,7 +11935,7 @@ do
ac_need_defaults=false;;
--he | --h)
# Conflict between --help and --header
- as_fn_error "ambiguous option: \`$1'
+ as_fn_error $? "ambiguous option: \`$1'
Try \`$0 --help' for more information.";;
--help | --hel | -h )
$as_echo "$ac_cs_usage"; exit ;;
@@ -9972,7 +11944,7 @@ Try \`$0 --help' for more information.";;
ac_cs_silent=: ;;
# This is an error.
- -*) as_fn_error "unrecognized option: \`$1'
+ -*) as_fn_error $? "unrecognized option: \`$1'
Try \`$0 --help' for more information." ;;
*) as_fn_append ac_config_targets " $1"
@@ -9992,7 +11964,7 @@ fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
shift
\$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
CONFIG_SHELL='$SHELL'
@@ -10019,7 +11991,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
# Capture the value of obsolete ALL_LINGUAS because we need it to compute
# POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
- # from automake.
+ # from automake < 1.5.
eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
# Capture the value of LINGUAS because we need it to compute CATALOGS.
LINGUAS="${LINGUAS-%UNSET%}"
@@ -10035,15 +12007,16 @@ do
case $ac_config_target in
"config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+ "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"glob/Makefile") CONFIG_FILES="$CONFIG_FILES glob/Makefile" ;;
"po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
"config/Makefile") CONFIG_FILES="$CONFIG_FILES config/Makefile" ;;
"doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
"w32/Makefile") CONFIG_FILES="$CONFIG_FILES w32/Makefile" ;;
+ "tests/config-flags.pm") CONFIG_FILES="$CONFIG_FILES tests/config-flags.pm" ;;
- *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
done
@@ -10066,9 +12039,10 @@ fi
# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
- tmp=
+ tmp= ac_tmp=
trap 'exit_status=$?
- { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
' 0
trap 'as_fn_exit 1' 1 2 13 15
}
@@ -10076,12 +12050,13 @@ $debug ||
{
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
+ test -d "$tmp"
} ||
{
tmp=./conf$$-$RANDOM
(umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
@@ -10115,24 +12090,24 @@ if test "x$ac_cr" = x; then
fi
ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\r'
+ ac_cs_awk_cr='\\r'
else
ac_cs_awk_cr=$ac_cr
fi
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
_ACEOF
# Create commands to substitute file output variables.
{
echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" &&
- echo 'cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&' &&
+ echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' &&
echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' &&
echo "_ACAWK" &&
echo "_ACEOF"
} >conf$$files.sh &&
. ./conf$$files.sh ||
- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
rm -f conf$$files.sh
{
@@ -10140,18 +12115,18 @@ rm -f conf$$files.sh
echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
echo "_ACEOF"
} >conf$$subs.sh ||
- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
. ./conf$$subs.sh ||
- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
if test $ac_delim_n = $ac_delim_num; then
break
elif $ac_last_try; then
- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
@@ -10159,7 +12134,7 @@ done
rm -f conf$$subs.sh
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
_ACEOF
sed -n '
h
@@ -10207,7 +12182,7 @@ t delim
rm -f conf$$subs.awk
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
for (key in S) S_is_set[key] = 1
FS = ""
\$ac_cs_awk_pipe_init
@@ -10245,21 +12220,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
else
cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
- || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
# trailing colons and then remove the whole line if VPATH becomes empty
# (actually we leave an empty line to preserve line numbers).
if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[ ]*\):*/\1/
+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
+h
+s///
+s/^/:/
+s/[ ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
s/:*$//
+x
+s/\(=[ ]*\).*/\1/
+G
+s/\n//
s/^[^=]*=[ ]*$//
}'
fi
@@ -10271,7 +12254,7 @@ fi # test -n "$CONFIG_FILES"
# No need to generate them if there are no CONFIG_HEADERS.
# This happens for instance with `./config.status Makefile'.
if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
BEGIN {
_ACEOF
@@ -10283,11 +12266,11 @@ _ACEOF
# handling of long lines.
ac_delim='%!_!# '
for ac_last_try in false false :; do
- ac_t=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_t"; then
+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_tt"; then
break
elif $ac_last_try; then
- as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
@@ -10372,7 +12355,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error "could not setup config headers machinery" "$LINENO" 5
+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
fi # test -n "$CONFIG_HEADERS"
@@ -10385,7 +12368,7 @@ do
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
- :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
@@ -10404,7 +12387,7 @@ do
for ac_f
do
case $ac_f in
- -) ac_f="$tmp/stdin";;
+ -) ac_f="$ac_tmp/stdin";;
*) # Look for the file first in the build tree, then in the source tree
# (if the path is not absolute). The absolute path cannot be DOS-style,
# because $ac_f cannot contain `:'.
@@ -10413,7 +12396,7 @@ do
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
- as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
esac
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
as_fn_append ac_file_inputs " '$ac_f'"
@@ -10439,8 +12422,8 @@ $as_echo "$as_me: creating $ac_file" >&6;}
esac
case $ac_tag in
- *:-:* | *:-) cat >"$tmp/stdin" \
- || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
esac
;;
esac
@@ -10578,26 +12561,27 @@ $ac_datarootdir_hack
"
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" |
if $ac_cs_awk_getline; then
- $AWK -f "$tmp/subs.awk"
+ $AWK -f "$ac_tmp/subs.awk"
else
- $AWK -f "$tmp/subs.awk" | $SHELL
-fi >$tmp/out \
- || as_fn_error "could not create $ac_file" "$LINENO" 5
+ $AWK -f "$ac_tmp/subs.awk" | $SHELL
+fi \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&5
+which seems to be undefined. Please make sure it is defined" >&5
$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&2;}
+which seems to be undefined. Please make sure it is defined" >&2;}
- rm -f "$tmp/stdin"
+ rm -f "$ac_tmp/stdin"
case $ac_file in
- -) cat "$tmp/out" && rm -f "$tmp/out";;
- *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
esac \
- || as_fn_error "could not create $ac_file" "$LINENO" 5
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
;;
:H)
#
@@ -10606,21 +12590,21 @@ which seems to be undefined. Please make sure it is defined." >&2;}
if test x"$ac_file" != x-; then
{
$as_echo "/* $configure_input */" \
- && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
- } >"$tmp/config.h" \
- || as_fn_error "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+ } >"$ac_tmp/config.h" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
$as_echo "$as_me: $ac_file is unchanged" >&6;}
else
rm -f "$ac_file"
- mv "$tmp/config.h" "$ac_file" \
- || as_fn_error "could not create $ac_file" "$LINENO" 5
+ mv "$ac_tmp/config.h" "$ac_file" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
fi
else
$as_echo "/* $configure_input */" \
- && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error "could not create -" "$LINENO" 5
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+ || as_fn_error $? "could not create -" "$LINENO" 5
fi
# Compute "$ac_file"'s index in $config_headers.
_am_arg="$ac_file"
@@ -10666,7 +12650,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
case $ac_file$ac_mode in
"depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # Older Autoconf quotes --file arguments for eval, but not when files
# are listed without --file. Let's play safe and only enable the eval
# if we detect the quoting.
case $CONFIG_FILES in
@@ -10679,7 +12663,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
+ # We used to match only the files named 'Makefile.in', but
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
@@ -10713,21 +12697,19 @@ $as_echo X"$mf" |
continue
fi
# Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
+ # from the Makefile without running 'make'.
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
+ test -z "$am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
# Find all dependency output files, they are included files with
# $(DEPDIR) in their names. We invoke sed twice because it is the
# simplest approach to changing $(DEPDIR) to its actual value in the
# expansion.
for file in `sed -n "
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
fdir=`$as_dirname -- "$file" ||
@@ -10760,7 +12742,7 @@ $as_echo X"$file" |
done
}
;;
- "default-1":C)
+ "po-directories":C)
for ac_file in $CONFIG_FILES; do
# Support "outfile[:infile[:infile...]]"
case "$ac_file" in
@@ -10780,6 +12762,9 @@ $as_echo X"$file" |
/*) top_srcdir="$ac_given_srcdir" ;;
*) top_srcdir="$ac_dots$ac_given_srcdir" ;;
esac
+ # Treat a directory as a PO directory if and only if it has a
+ # POTFILES.in file. This allows packages to have multiple PO
+ # directories under different names or in different locations.
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"
@@ -10793,12 +12778,13 @@ $as_echo X"$file" |
if test -n "$OBSOLETE_ALL_LINGUAS"; then
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" "$ac_given_srcdir/$ac_dir/LINGUAS"`
- # Hide the ALL_LINGUAS assigment from automake.
+ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ # 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 assigment from automake < 1.5.
eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
fi
# Compute POFILES
@@ -10879,7 +12865,7 @@ _ACEOF
ac_clean_files=$ac_clean_files_save
test $ac_write_fail = 0 ||
- as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
# configure is writing to config.log, and then calls config.status.
@@ -10900,7 +12886,7 @@ if test "$no_create" != yes; then
exec 5>>config.log
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit $?
+ $ac_cs_success || as_fn_exit 1
fi
if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
@@ -10910,8 +12896,9 @@ fi
# We only generate the build.sh if we have a build.sh.in; we won't have
# one before we've created a distribution.
-if test -f "$srcdir/build.sh.in"; then
- ./config.status --file build.sh
+if test -f "$srcdir/build.sh.in"; then :
+ ./config.status --file build.sh
chmod +x build.sh
+
fi
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 00000000..fab9a2da
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,525 @@
+# Process this file with autoconf to produce a configure script.
+#
+# 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
+# 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 <http://www.gnu.org/licenses/>.
+
+AC_INIT([GNU make],[4.1],[bug-make@gnu.org])
+
+AC_PREREQ([2.62])
+
+# Autoconf setup
+AC_CONFIG_AUX_DIR([config])
+AC_CONFIG_SRCDIR([vpath.c])
+AC_CONFIG_HEADERS([config.h])
+
+# Automake setup
+# 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.11.1 silent-rules foreign -Wall])
+
+# Checks for programs.
+AC_USE_SYSTEM_EXTENSIONS
+AC_PROG_CC
+AC_PROG_INSTALL
+AC_PROG_RANLIB
+AC_PROG_CPP
+AC_CHECK_PROG([AR], [ar], [ar], [ar])
+# Perl is needed for the test suite (only)
+AC_CHECK_PROG([PERL], [perl], [perl], [perl])
+
+# Needed for w32/Makefile.am
+AM_PROG_AR
+
+# Specialized system macros
+AC_CANONICAL_HOST
+AC_AIX
+AC_ISC_POSIX
+AC_MINIX
+
+# Enable gettext, in "external" mode.
+AM_GNU_GETTEXT_VERSION([0.18.1])
+AM_GNU_GETTEXT([external])
+
+# This test must come as early as possible after the compiler configuration
+# tests, because the choice of the file model can (in principle) affect
+# whether functions and headers are available, whether they work, etc.
+AC_SYS_LARGEFILE
+
+# Checks for libraries.
+AC_SEARCH_LIBS([getpwnam], [sun])
+
+# Checks for header files.
+AC_HEADER_STDC
+AC_HEADER_DIRENT
+AC_HEADER_STAT
+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])
+
+AM_PROG_CC_C_O
+AC_C_CONST
+AC_TYPE_SIGNAL
+AC_TYPE_UID_T
+AC_TYPE_PID_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 <stdint.h> or <inttypes.h>.])
+])
+
+# Find out whether our struct stat returns nanosecond resolution timestamps.
+
+AC_STRUCT_ST_MTIM_NSEC
+AC_CACHE_CHECK([whether to use high resolution file timestamps],
+ [make_cv_file_timestamp_hi_res],
+[ make_cv_file_timestamp_hi_res=no
+ AS_IF([test "$ac_cv_struct_st_mtim_nsec" != no],
+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif]],
+ [[char a[0x7fffffff < (uintmax_t)-1 >> 30 ? 1 : -1];]])],
+ [make_cv_file_timestamp_hi_res=yes])
+ ])])
+AS_IF([test "$make_cv_file_timestamp_hi_res" = yes], [val=1], [val=0])
+AC_DEFINE_UNQUOTED([FILE_TIMESTAMP_HI_RES], [$val],
+ [Use high resolution file timestamps if nonzero.])
+
+AS_IF([test "$make_cv_file_timestamp_hi_res" = yes],
+[ # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
+ # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
+ AC_SEARCH_LIBS([clock_gettime], [rt posix4])
+ AS_IF([test "$ac_cv_search_clock_gettime" != no],
+ [ AC_DEFINE([HAVE_CLOCK_GETTIME], [1],
+ [Define to 1 if you have the clock_gettime function.])
+ ])
+])
+
+# Check for DOS-style pathnames.
+pds_AC_DOS_PATHS
+
+# See if we have a standard version of gettimeofday(). Since actual
+# implementations can differ, just make sure we have the most common
+# one.
+AC_CACHE_CHECK([for standard gettimeofday], [ac_cv_func_gettimeofday],
+ [ac_cv_func_gettimeofday=no
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <sys/time.h>
+ int main ()
+ {
+ struct timeval t; t.tv_sec = -1; t.tv_usec = -1;
+ exit (gettimeofday (&t, 0) != 0
+ || t.tv_sec < 0 || t.tv_usec < 0);
+ }]])],
+ [ac_cv_func_gettimeofday=yes],
+ [ac_cv_func_gettimeofday=no],
+ [ac_cv_func_gettimeofday="no (cross-compiling)"])])
+AS_IF([test "$ac_cv_func_gettimeofday" = yes],
+[ AC_DEFINE([HAVE_GETTIMEOFDAY], [1],
+ [Define to 1 if you have a standard gettimeofday function])
+])
+
+AC_CHECK_FUNCS([strdup strndup mkstemp mktemp fdopen fileno \
+ dup dup2 getcwd realpath sigsetmask sigaction \
+ getgroups seteuid setegid setlinebuf setreuid setregid \
+ getrlimit setrlimit setvbuf pipe strerror strsignal \
+ 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
+# other problems. We'll just use our own.
+AC_CHECK_DECLS([bsd_signal], [], [], [[#define _GNU_SOURCE 1
+#include <signal.h>]])
+
+AC_FUNC_SETVBUF_REVERSED
+
+# Rumor has it that strcasecmp lives in -lresolv on some odd systems.
+# It doesn't hurt much to use our own if we can't find it so I don't
+# make the effort here.
+AC_CHECK_FUNCS([strcasecmp strncasecmp strcmpi strncmpi stricmp strnicmp])
+
+# strcoll() is used by the GNU glob library
+AC_FUNC_STRCOLL
+
+AC_FUNC_ALLOCA
+AC_FUNC_CLOSEDIR_VOID
+
+# See if the user wants to add (or not) GNU Guile support
+PKG_PROG_PKG_CONFIG
+AC_ARG_WITH([guile], [AS_HELP_STRING([--with-guile],
+ [Support GNU Guile for embedded scripting])])
+
+# For some strange reason, at least on Ubuntu, each version of Guile
+# comes with it's own PC file so we have to specify them as individual
+# packages. Ugh.
+AS_IF([test "x$with_guile" != xno],
+[ PKG_CHECK_MODULES([GUILE], [guile-2.0], [have_guile=yes],
+ [PKG_CHECK_MODULES([GUILE], [guile-1.8], [have_guile=yes],
+ [have_guile=no])])
+])
+
+AS_IF([test "$have_guile" = yes],
+ [AC_DEFINE([HAVE_GUILE], [1], [Embed GNU Guile support])])
+
+AM_CONDITIONAL([HAVE_GUILE], [test "$have_guile" = yes])
+
+AC_FUNC_GETLOADAVG
+
+# AC_FUNC_GETLOADAVG is documented to set the NLIST_STRUCT value, but it
+# doesn't. So, we will.
+
+AS_IF([test "$ac_cv_header_nlist_h" = yes],
+[ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <nlist.h>]],
+ [[struct nlist nl;
+ nl.n_name = "string";
+ return 0;]])],
+ [make_cv_nlist_struct=yes],
+ [make_cv_nlist_struct=no])
+ AS_IF([test "$make_cv_nlist_struct" = yes],
+ [ AC_DEFINE([NLIST_STRUCT], [1],
+ [Define to 1 if struct nlist.n_name is a pointer rather than an array.])
+ ])
+])
+
+AC_CHECK_DECLS([sys_siglist, _sys_siglist, __sys_siglist], , ,
+ [AC_INCLUDES_DEFAULT
+#include <signal.h>
+/* NetBSD declares sys_siglist in unistd.h. */
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+])
+
+
+# Check out the wait reality.
+AC_CHECK_HEADERS([sys/wait.h],[],[],[[#include <sys/types.h>]])
+AC_CHECK_FUNCS([waitpid wait3])
+AC_CACHE_CHECK([for union wait], [make_cv_union_wait],
+[ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
+#include <sys/wait.h>]],
+ [[union wait status; int pid; pid = wait (&status);
+#ifdef WEXITSTATUS
+/* Some POSIXoid systems have both the new-style macros and the old
+ union wait type, and they do not work together. If union wait
+ conflicts with WEXITSTATUS et al, we don't want to use it at all. */
+ if (WEXITSTATUS (status) != 0) pid = -1;
+#ifdef WTERMSIG
+ /* If we have WEXITSTATUS and WTERMSIG, just use them on ints. */
+ -- blow chunks here --
+#endif
+#endif
+#ifdef HAVE_WAITPID
+ /* Make sure union wait works with waitpid. */
+ pid = waitpid (-1, &status, 0);
+#endif
+ ]])],
+ [make_cv_union_wait=yes],
+ [make_cv_union_wait=no])
+])
+AS_IF([test "$make_cv_union_wait" = yes],
+[ AC_DEFINE([HAVE_UNION_WAIT], [1],
+ [Define to 1 if you have the 'union wait' type in <sys/wait.h>.])
+])
+
+
+# If we're building on Windows/DOS/OS/2, add some support for DOS drive specs.
+AS_IF([test "$PATH_SEPARATOR" = ';'],
+[ AC_DEFINE([HAVE_DOS_PATHS], [1],
+ [Define to 1 if your system requires backslashes or drive specs in pathnames.])
+])
+
+# See if the user wants to use pmake's "customs" distributed build capability
+AC_SUBST([REMOTE]) REMOTE=stub
+use_customs=false
+AC_ARG_WITH([customs],
+[AC_HELP_STRING([--with-customs=DIR],
+ [enable remote jobs via Customs--see README.customs])],
+[ AS_CASE([$withval], [n|no], [:],
+ [make_cppflags="$CPPFLAGS"
+ AS_CASE([$withval],
+ [y|ye|yes], [:],
+ [CPPFLAGS="$CPPFLAGS -I$with_customs/include/customs"
+ make_ldflags="$LDFLAGS -L$with_customs/lib"])
+ CF_NETLIBS
+ AC_CHECK_HEADER([customs.h],
+ [use_customs=true
+ REMOTE=cstms
+ LIBS="$LIBS -lcustoms" LDFLAGS="$make_ldflags"],
+ [with_customs=no
+ CPPFLAGS="$make_cppflags" make_badcust=yes])
+ ])
+])
+
+# Tell automake about this, so it can include the right .c files.
+AM_CONDITIONAL([USE_CUSTOMS], [test "$use_customs" = true])
+
+# See if the user asked to handle case insensitive file systems.
+AH_TEMPLATE([HAVE_CASE_INSENSITIVE_FS], [Use case insensitive file names])
+AC_ARG_ENABLE([case-insensitive-file-system],
+ AC_HELP_STRING([--enable-case-insensitive-file-system],
+ [assume file systems are case insensitive]),
+ [AS_IF([test "$enableval" = yes], [AC_DEFINE([HAVE_CASE_INSENSITIVE_FS])])])
+
+# See if we can handle the job server feature, and if the user wants it.
+AC_ARG_ENABLE([job-server],
+ AC_HELP_STRING([--disable-job-server],
+ [disallow recursive make communication during -jN]),
+ [make_cv_job_server="$enableval" user_job_server="$enableval"],
+ [make_cv_job_server="yes"])
+
+AS_IF([test "$ac_cv_func_waitpid" = no && test "$ac_cv_func_wait3" = no],
+ [has_wait_nohang=no],
+ [has_wait_nohang=yes])
+
+AC_CACHE_CHECK([for SA_RESTART], [make_cv_sa_restart], [
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <signal.h>]],
+ [[return SA_RESTART;]])],
+ [make_cv_sa_restart=yes],
+ [make_cv_sa_restart=no])])
+
+AS_IF([test "$make_cv_sa_restart" != no],
+[ AC_DEFINE([HAVE_SA_RESTART], [1],
+ [Define to 1 if <signal.h> defines the SA_RESTART constant.])
+])
+
+# Only allow jobserver on systems that support it
+AS_CASE([/$ac_cv_func_pipe/$ac_cv_func_sigaction/$make_cv_sa_restart/$has_wait_nohang/],
+ [*/no/*], [make_cv_job_server=no])
+
+# Also supported on OS2 and MinGW
+AS_CASE([$host_os], [os2*|mingw*], [make_cv_job_server=yes])
+
+# If we support it and the user didn't disable it, build with jobserver
+AS_CASE([/$make_cv_job_server/$user_job_server/],
+ [*/no/*], [: no jobserver],
+ [AC_DEFINE(MAKE_JOBSERVER, 1,
+ [Define to 1 to enable job server support in GNU make.])
+ ])
+
+# If dl*() functions are supported we can enable the load operation
+AC_CHECK_DECLS([dlopen, dlsym, dlerror], [], [],
+ [[#include <dlfcn.h>]])
+
+AC_ARG_ENABLE([load],
+ AC_HELP_STRING([--disable-load],
+ [disable support for the 'load' operation]),
+ [make_cv_load="$enableval" user_load="$enableval"],
+ [make_cv_load="yes"])
+
+AS_CASE([/$ac_cv_have_decl_dlopen/$ac_cv_have_decl_dlsym/$ac_cv_have_decl_dlerror/],
+ [*/no/*], [make_cv_load=no])
+
+# We might need -ldl
+AS_IF([test "$make_cv_load" = yes], [
+ AC_SEARCH_LIBS([dlopen], [dl], [], [make_cv_load=])
+ ])
+
+AS_CASE([/$make_cv_load/$user_load/],
+ [*/no/*], [make_cv_load=no],
+ [AC_DEFINE(MAKE_LOAD, 1,
+ [Define to 1 to enable 'load' support in GNU make.])
+ ])
+
+# If we want load support, we might need to link with export-dynamic.
+# See if we can figure it out. Unfortunately this is very difficult.
+# For example passing -rdynamic to the SunPRO linker gives a warning
+# but succeeds and creates a shared object, not an executable!
+AS_IF([test "$make_cv_load" = yes], [
+ AC_MSG_CHECKING([If the linker accepts -Wl,--export-dynamic])
+ old_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
+ AC_LINK_IFELSE([AC_LANG_SOURCE([int main(){}])],
+ [AC_MSG_RESULT([yes])
+ AC_SUBST([AM_LDFLAGS], [-Wl,--export-dynamic])],
+ [AC_MSG_RESULT([no])
+ AC_MSG_CHECKING([If the linker accepts -rdynamic])
+ LDFLAGS="$old_LDFLAGS -rdynamic"
+ AC_LINK_IFELSE([AC_LANG_SOURCE([int main(){}])],
+ [AC_MSG_RESULT([yes])
+ AC_SUBST([AM_LDFLAGS], [-rdynamic])],
+ [AC_MSG_RESULT([no])])
+ ])
+ LDFLAGS="$old_LDFLAGS"
+])
+
+# if we have both lstat() and readlink() then we can support symlink
+# timechecks.
+AS_IF([test "$ac_cv_func_lstat" = yes && test "$ac_cv_func_readlink" = yes],
+ [ AC_DEFINE([MAKE_SYMLINKS], [1],
+ [Define to 1 to enable symbolic link timestamp checking.])
+])
+
+# Find the SCCS commands, so we can include them in our default rules.
+
+AC_CACHE_CHECK([for location of SCCS get command], [make_cv_path_sccs_get], [
+ AS_IF([test -f /usr/sccs/get],
+ [make_cv_path_sccs_get=/usr/sccs/get],
+ [make_cv_path_sccs_get=get])
+])
+AC_DEFINE_UNQUOTED([SCCS_GET], ["$make_cv_path_sccs_get"],
+ [Define to the name of the SCCS 'get' command.])
+
+ac_clean_files="$ac_clean_files s.conftest conftoast" # Remove these later.
+AS_IF([(/usr/sccs/admin -n s.conftest || admin -n s.conftest) >/dev/null 2>&1 &&
+ test -f s.conftest],
+[ # We successfully created an SCCS file.
+ AC_CACHE_CHECK([if SCCS get command understands -G], [make_cv_sys_get_minus_G],
+ [AS_IF([$make_cv_path_sccs_get -Gconftoast s.conftest >/dev/null 2>&1 &&
+ test -f conftoast],
+ [make_cv_sys_get_minus_G=yes],
+ [make_cv_sys_get_minus_G=no])
+ ])
+ AS_IF([test "$make_cv_sys_get_minus_G" = yes],
+ [AC_DEFINE([SCCS_GET_MINUS_G], [1],
+ [Define to 1 if the SCCS 'get' command understands the '-G<file>' option.])
+ ])
+])
+rm -f s.conftest conftoast
+
+# Check the system to see if it provides GNU glob. If not, use our
+# local version.
+AC_CACHE_CHECK([if system libc has GNU glob], [make_cv_sys_gnu_glob],
+[ AC_EGREP_CPP([gnu glob],[
+#include <features.h>
+#include <glob.h>
+#include <fnmatch.h>
+
+#define GLOB_INTERFACE_VERSION 1
+#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
+# include <gnu-versions.h>
+# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION
+ gnu glob
+# endif
+#endif],
+ [make_cv_sys_gnu_glob=yes],
+ [make_cv_sys_gnu_glob=no])])
+AS_IF([test "$make_cv_sys_gnu_glob" = no],
+[ GLOBINC='-I$(srcdir)/glob'
+ GLOBLIB=glob/libglob.a
+])
+AC_SUBST([GLOBINC])
+AC_SUBST([GLOBLIB])
+
+# Tell automake about this, so it can build the right .c files.
+AM_CONDITIONAL([USE_LOCAL_GLOB], [test "$make_cv_sys_gnu_glob" = no])
+
+# Let the makefile know what our build host is
+
+AC_DEFINE_UNQUOTED([MAKE_HOST],["$host"],[Build host information.])
+MAKE_HOST="$host"
+AC_SUBST([MAKE_HOST])
+
+w32_target_env=no
+AM_CONDITIONAL([WINDOWSENV], [false])
+
+AS_CASE([$host],
+ [*-*-mingw32],
+ [AM_CONDITIONAL([WINDOWSENV], [true])
+ w32_target_env=yes
+ AC_DEFINE([WINDOWS32], [1], [Use platform specific coding])
+ AC_DEFINE([HAVE_DOS_PATHS], [1], [Use platform specific coding])
+ ])
+
+AC_DEFINE_UNQUOTED([PATH_SEPARATOR_CHAR],['$PATH_SEPARATOR'],
+ [Define to the character that separates directories in PATH.])
+
+# Include the Maintainer's Makefile section, if it's here.
+
+MAINT_MAKEFILE=/dev/null
+AS_IF([test -r "$srcdir/maintMakefile"],
+[ MAINT_MAKEFILE="$srcdir/maintMakefile"
+])
+AC_SUBST_FILE([MAINT_MAKEFILE])
+
+# Allow building with dmalloc
+AM_WITH_DMALLOC
+
+# Forcibly disable SET_MAKE. If it's set it breaks things like the test
+# scripts, etc.
+SET_MAKE=
+
+# Sanity check and inform the user of what we found
+
+AS_IF([test "x$make_badcust" = xyes], [
+echo
+echo "WARNING: --with-customs specified but no customs.h could be found;"
+echo " disabling Customs support."
+echo
+])
+
+AS_CASE([$with_customs],
+[""|n|no|y|ye|yes], [:],
+[AS_IF([test -f "$with_customs/lib/libcustoms.a"], [:],
+[ echo
+ echo "WARNING: '$with_customs/lib' does not appear to contain the"
+ echo " Customs library. You must build and install Customs"
+ echo " before compiling GNU make."
+ echo
+])])
+
+AS_IF([test "x$has_wait_nohang" = xno],
+[ echo
+ echo "WARNING: Your system has neither waitpid() nor wait3()."
+ echo " Without one of these, signal handling is unreliable."
+ echo " You should be aware that running GNU make with -j"
+ echo " could result in erratic behavior."
+ echo
+])
+
+AS_IF([test "x$make_cv_job_server" = xno && test "x$user_job_server" = xyes],
+[ echo
+ echo "WARNING: Make job server requires a POSIX-ish system that"
+ echo " supports the pipe(), sigaction(), and either"
+ echo " waitpid() or wait3() functions. Your system doesn't"
+ echo " appear to provide one or more of those."
+ echo " Disabling job server support."
+ echo
+])
+
+AS_IF([test "x$make_cv_load" = xno && test "x$user_load" = xyes],
+[ echo
+ echo "WARNING: 'load' support requires a POSIX-ish system that"
+ echo " supports the dlopen(), dlsym(), and dlerror() functions."
+ echo " Your system doesn't appear to provide one or more of these."
+ echo " Disabling 'load' support."
+ echo
+])
+
+# Specify what files are to be created.
+AC_CONFIG_FILES([Makefile glob/Makefile po/Makefile.in config/Makefile \
+ doc/Makefile w32/Makefile tests/config-flags.pm])
+
+# OK, do it!
+
+AC_OUTPUT
+
+# We only generate the build.sh if we have a build.sh.in; we won't have
+# one before we've created a distribution.
+AS_IF([test -f "$srcdir/build.sh.in"],
+[ ./config.status --file build.sh
+ chmod +x build.sh
+])
+
+dnl Local Variables:
+dnl comment-start: "dnl "
+dnl comment-end: ""
+dnl comment-start-skip: "\\bdnl\\b\\s *"
+dnl compile-command: "make configure config.h.in"
+dnl End:
diff --git a/configure.bat b/configure.bat
index c7b45917..e54ba843 100644
--- a/configure.bat
+++ b/configure.bat
@@ -1,6 +1,5 @@
@echo off
-rem Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-rem 2004, 2005, 2006, 2007, 2008, 2009, 2010 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 --git a/configure.in b/configure.in
deleted file mode 100644
index 0b036172..00000000
--- a/configure.in
+++ /dev/null
@@ -1,478 +0,0 @@
-# Process this file with autoconf to produce a configure script.
-#
-# Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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 <http://www.gnu.org/licenses/>.
-
-AC_INIT([GNU make],[3.82],[bug-make@gnu.org])
-
-AC_PREREQ(2.59)
-AC_REVISION([[$Id: configure.in,v 1.156 2010/07/28 05:39:50 psmith Exp $]])
-
-# Autoconf setup
-AC_CONFIG_AUX_DIR(config)
-AC_CONFIG_SRCDIR(vpath.c)
-AC_CONFIG_HEADERS(config.h)
-
-# Automake setup
-AM_INIT_AUTOMAKE([1.9])
-
-# Checks for programs.
-AC_PROG_CC
-AC_PROG_INSTALL
-AC_PROG_RANLIB
-AC_PROG_CPP
-AC_CHECK_PROG(AR, ar, ar, ar)
-# Perl is needed for the test suite (only)
-AC_CHECK_PROG(PERL, perl, perl, perl)
-
-# Specialized system macros
-AC_CANONICAL_HOST
-AC_AIX
-AC_ISC_POSIX
-AC_MINIX
-
-# Enable gettext, in "external" mode.
-
-AM_GNU_GETTEXT_VERSION(0.14.1)
-AM_GNU_GETTEXT([external])
-
-# This test must come as early as possible after the compiler configuration
-# tests, because the choice of the file model can (in principle) affect
-# whether functions and headers are available, whether they work, etc.
-AC_SYS_LARGEFILE
-
-# Checks for libraries.
-AC_SEARCH_LIBS(getpwnam, [sun])
-
-# Checks for header files.
-AC_HEADER_STDC
-AC_HEADER_DIRENT
-AC_HEADER_STAT
-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)
-
-# Set a flag if we have an ANSI C compiler
-if test "$ac_cv_prog_cc_stdc" != no; then
- AC_DEFINE(HAVE_ANSI_COMPILER, 1,
- [Define to 1 if your compiler conforms to the ANSI C standard.])
-fi
-
-
-# Determine what kind of variadic function calls we support
-AC_CHECK_HEADERS(stdarg.h varargs.h, break)
-
-AM_PROG_CC_C_O
-AC_C_CONST
-AC_TYPE_SIGNAL
-AC_TYPE_UID_T
-AC_TYPE_PID_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 <stdint.h> or <inttypes.h>.])])
-
-# Find out whether our struct stat returns nanosecond resolution timestamps.
-
-AC_STRUCT_ST_MTIM_NSEC
-AC_MSG_CHECKING([whether to use high resolution file timestamps])
-AC_CACHE_VAL(make_cv_file_timestamp_hi_res, [
- make_cv_file_timestamp_hi_res=no
- if test "$ac_cv_struct_st_mtim_nsec" != no; then
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-# if HAVE_INTTYPES_H
-# include <inttypes.h>
-# endif]],
- [[char a[0x7fffffff < (uintmax_t)-1 >> 30 ? 1 : -1];]])],
- [make_cv_file_timestamp_hi_res=yes],
- [])
- fi])
-AC_MSG_RESULT($make_cv_file_timestamp_hi_res)
-if test "$make_cv_file_timestamp_hi_res" = yes; then
- val=1
-else
- val=0
-fi
-AC_DEFINE_UNQUOTED(FILE_TIMESTAMP_HI_RES, $val,
- [Use high resolution file timestamps if nonzero.])
-
-if test "$make_cv_file_timestamp_hi_res" = yes; then
- # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function.
- # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4.
- AC_SEARCH_LIBS(clock_gettime, [rt posix4])
- if test "$ac_cv_search_clock_gettime" != no; then
- AC_DEFINE(HAVE_CLOCK_GETTIME, 1,
- [Define to 1 if you have the clock_gettime function.])
- fi
-fi
-
-# Check for DOS-style pathnames.
-pds_AC_DOS_PATHS
-
-# See if we have a standard version of gettimeofday(). Since actual
-# implementations can differ, just make sure we have the most common
-# one.
-AC_CACHE_CHECK([for standard gettimeofday], ac_cv_func_gettimeofday,
- [ac_cv_func_gettimeofday=no
- AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <sys/time.h>
- int main ()
- {
- struct timeval t; t.tv_sec = -1; t.tv_usec = -1;
- exit (gettimeofday (&t, 0) != 0
- || t.tv_sec < 0 || t.tv_usec < 0);
- }]])],
- [ac_cv_func_gettimeofday=yes],
- [ac_cv_func_gettimeofday=no],
- [ac_cv_func_gettimeofday="no (cross-compiling)"])])
-if test "$ac_cv_func_gettimeofday" = yes; then
- AC_DEFINE(HAVE_GETTIMEOFDAY, 1,
- [Define to 1 if you have a standard gettimeofday function])
-fi
-
-AC_CHECK_FUNCS( strdup strndup mkstemp mktemp fdopen fileno \
- dup2 getcwd realpath sigsetmask sigaction \
- getgroups seteuid setegid setlinebuf setreuid setregid \
- getrlimit setrlimit setvbuf pipe strerror strsignal \
- lstat readlink atexit)
-
-# We need to check declarations, not just existence, because on Tru64 this
-# function is not declared without special flags, which themselves cause
-# other problems. We'll just use our own.
-AC_CHECK_DECLS([bsd_signal], [], [], [[#include <signal.h>]])
-
-AC_FUNC_SETVBUF_REVERSED
-
-# Rumor has it that strcasecmp lives in -lresolv on some odd systems.
-# It doesn't hurt much to use our own if we can't find it so I don't
-# make the effort here.
-AC_CHECK_FUNCS(strcasecmp strncasecmp strcmpi strncmpi stricmp strnicmp)
-
-# strcoll() is used by the GNU glob library
-AC_FUNC_STRCOLL
-
-AC_FUNC_ALLOCA
-AC_FUNC_FORK([])
-AC_FUNC_VPRINTF
-AC_FUNC_CLOSEDIR_VOID
-
-AC_FUNC_GETLOADAVG
-
-# AC_FUNC_GETLOADAVG is documented to set the NLIST_STRUCT value, but it
-# doesn't. So, we will.
-
-if test "$ac_cv_header_nlist_h" = yes; then
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <nlist.h>]],
- [[struct nlist nl;
- nl.n_name = "string";
- return 0;]])],
- [make_cv_nlist_struct=yes],
- [make_cv_nlist_struct=no])
- if test "$make_cv_nlist_struct" = yes; then
- AC_DEFINE(NLIST_STRUCT, 1,
- [Define to 1 if struct nlist.n_name is a pointer rather than an array.])
- fi
-fi
-
-AC_CHECK_DECLS([sys_siglist, _sys_siglist, __sys_siglist], , ,
- [AC_INCLUDES_DEFAULT
-#include <signal.h>
-/* NetBSD declares sys_siglist in unistd.h. */
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-])
-
-
-# Check out the wait reality.
-AC_CHECK_HEADERS(sys/wait.h,,,[[#include <sys/types.h>]])
-AC_CHECK_FUNCS(waitpid wait3)
-AC_MSG_CHECKING(for union wait)
-AC_CACHE_VAL(make_cv_union_wait, [dnl
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
-#include <sys/wait.h>]],
- [[union wait status; int pid; pid = wait (&status);
-#ifdef WEXITSTATUS
-/* Some POSIXoid systems have both the new-style macros and the old
- union wait type, and they do not work together. If union wait
- conflicts with WEXITSTATUS et al, we don't want to use it at all. */
- if (WEXITSTATUS (status) != 0) pid = -1;
-#ifdef WTERMSIG
- /* If we have WEXITSTATUS and WTERMSIG, just use them on ints. */
- -- blow chunks here --
-#endif
-#endif
-#ifdef HAVE_WAITPID
- /* Make sure union wait works with waitpid. */
- pid = waitpid (-1, &status, 0);
-#endif
- ]])],
- [make_cv_union_wait=yes],
- [make_cv_union_wait=no])])
-if test "$make_cv_union_wait" = yes; then
- AC_DEFINE(HAVE_UNION_WAIT, 1,
- [Define to 1 if you have the \`union wait' type in <sys/wait.h>.])
-fi
-AC_MSG_RESULT($make_cv_union_wait)
-
-
-# If we're building on Windows/DOS/OS/2, add some support for DOS drive specs.
-if test "$PATH_SEPARATOR" = ';'; then
- AC_DEFINE(HAVE_DOS_PATHS, 1,
- [Define to 1 if your system requires backslashes or drive specs in pathnames.])
-fi
-
-
-# See if the user wants to use pmake's "customs" distributed build capability
-
-AC_SUBST(REMOTE) REMOTE=stub
-use_customs=false
-AC_ARG_WITH(customs,
- AC_HELP_STRING([--with-customs=DIR],
- [enable remote jobs via Customs--see README.customs]),
- [case $withval in
- n|no) : ;;
- *) make_cppflags="$CPPFLAGS"
- case $withval in
- y|ye|yes) : ;;
- *) CPPFLAGS="$CPPFLAGS -I$with_customs/include/customs"
- make_ldflags="$LDFLAGS -L$with_customs/lib" ;;
- esac
- CF_NETLIBS
- AC_CHECK_HEADER(customs.h,
- [use_customs=true
- REMOTE=cstms
- LIBS="$LIBS -lcustoms" LDFLAGS="$make_ldflags"],
- [with_customs=no
- CPPFLAGS="$make_cppflags" make_badcust=yes])
- ;;
- esac])
-# Tell automake about this, so it can include the right .c files.
-AM_CONDITIONAL(USE_CUSTOMS, test "$use_customs" = true)
-
-# See if the user asked to handle case insensitive file systems.
-
-AH_TEMPLATE(HAVE_CASE_INSENSITIVE_FS, [Use case insensitive file names])
-AC_ARG_ENABLE(case-insensitive-file-system,
- AC_HELP_STRING([--enable-case-insensitive-file-system],
- [assume file systems are case insensitive]),
- [case $enableval in
- yes) AC_DEFINE(HAVE_CASE_INSENSITIVE_FS) ;;
- esac])
-
-# See if we can handle the job server feature, and if the user wants it.
-
-AC_ARG_ENABLE(job-server,
- AC_HELP_STRING([--disable-job-server],
- [disallow recursive make communication during -jN]),
- [make_cv_job_server="$enableval" user_job_server="$enableval"],
- [make_cv_job_server="yes"])
-
-has_wait_nohang=yes
-case "$ac_cv_func_waitpid/$ac_cv_func_wait3" in
- no/no) has_wait_nohang=no ;;
-esac
-
-AC_CACHE_CHECK(for SA_RESTART, make_cv_sa_restart, [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <signal.h>]],
- [[return SA_RESTART;]])],
- [make_cv_sa_restart=yes],
- [make_cv_sa_restart=no])])
-
-if test "$make_cv_sa_restart" != no; then
- AC_DEFINE(HAVE_SA_RESTART, 1,
- [Define to 1 if <signal.h> defines the SA_RESTART constant.])
-fi
-
-# enable make_cv_sa_restart for OS/2 so that the jobserver will be enabled,
-# but do it after HAVE_SA_RESTART has been defined.
-case "$host_os" in
- os2*) make_cv_sa_restart=yes ;;
-esac
-
-case "$ac_cv_func_pipe/$ac_cv_func_sigaction/$make_cv_sa_restart/$has_wait_nohang/$make_cv_job_server" in
- yes/yes/yes/yes/yes)
- AC_DEFINE(MAKE_JOBSERVER, 1,
- [Define to 1 to enable job server support in GNU make.]);;
-esac
-
-# if we have both lstat() and readlink() then we can support symlink
-# timechecks.
-case "$ac_cv_func_lstat/$ac_cv_func_readlink" in
- yes/yes)
- AC_DEFINE(MAKE_SYMLINKS, 1,
- [Define to 1 to enable symbolic link timestamp checking.]);;
-esac
-
-# Find the SCCS commands, so we can include them in our default rules.
-
-AC_CACHE_CHECK(for location of SCCS get command, make_cv_path_sccs_get, [
-if test -f /usr/sccs/get; then
- make_cv_path_sccs_get=/usr/sccs/get
-else
- make_cv_path_sccs_get=get
-fi])
-AC_DEFINE_UNQUOTED(SCCS_GET, ["$make_cv_path_sccs_get"],
- [Define to the name of the SCCS 'get' command.])
-
-ac_clean_files="$ac_clean_files s.conftest conftoast" # Remove these later.
-if ( /usr/sccs/admin -n s.conftest || admin -n s.conftest ) >/dev/null 2>&1 &&
- test -f s.conftest; then
- # We successfully created an SCCS file.
- AC_CACHE_CHECK(if SCCS get command understands -G, make_cv_sys_get_minus_G, [
- if $make_cv_path_sccs_get -Gconftoast s.conftest >/dev/null 2>&1 &&
- test -f conftoast; then
- make_cv_sys_get_minus_G=yes
- else
- make_cv_sys_get_minus_G=no
- fi])
- case "$make_cv_sys_get_minus_G" in
- yes) AC_DEFINE(SCCS_GET_MINUS_G, 1,
- [Define to 1 if the SCCS 'get' command understands the '-G<file>' option.]);;
- esac
-fi
-rm -f s.conftest conftoast
-
-# Check the system to see if it provides GNU glob. If not, use our
-# local version.
-AC_MSG_CHECKING(if system libc has GNU glob)
-AC_CACHE_VAL(make_cv_sys_gnu_glob, [
- AC_EGREP_CPP(gnu glob,[
-#include <features.h>
-#include <glob.h>
-#include <fnmatch.h>
-
-#define GLOB_INTERFACE_VERSION 1
-#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
-# include <gnu-versions.h>
-# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION
- gnu glob
-# endif
-#endif
- ], [AC_MSG_RESULT(yes)
-make_cv_sys_gnu_glob=yes], [AC_MSG_RESULT([no; using local copy])
-make_cv_sys_gnu_glob=no])])
-if test "$make_cv_sys_gnu_glob" = no; then
- GLOBINC='-I$(srcdir)/glob'
- GLOBLIB=glob/libglob.a
-fi
-AC_SUBST(GLOBINC)
-AC_SUBST(GLOBLIB)
-
-# Tell automake about this, so it can build the right .c files.
-AM_CONDITIONAL(USE_LOCAL_GLOB, test "$make_cv_sys_gnu_glob" = no)
-
-# Let the makefile know what our build host is
-
-AC_DEFINE_UNQUOTED(MAKE_HOST,"$host",[Build host information.])
-MAKE_HOST="$host"
-AC_SUBST(MAKE_HOST)
-
-w32_target_env=no
-AM_CONDITIONAL([WINDOWSENV], false)
-
-case "$host" in
- *-*-mingw32)
- AM_CONDITIONAL(WINDOWSENV, true)
- w32_target_env=yes
- AC_DEFINE([WINDOWS32], [1], [Use platform specific coding])
- AC_DEFINE([HAVE_DOS_PATHS], [1], [Use platform specific coding])
- ;;
-esac
-
-AC_DEFINE_UNQUOTED(PATH_SEPARATOR_CHAR,'$PATH_SEPARATOR',[Define to the character that separates directories in PATH.])
-
-# Include the Maintainer's Makefile section, if it's here.
-
-MAINT_MAKEFILE=/dev/null
-if test -r "$srcdir/maintMakefile"; then
- MAINT_MAKEFILE="$srcdir/maintMakefile"
-fi
-AC_SUBST_FILE(MAINT_MAKEFILE)
-
-# Allow building with dmalloc
-AM_WITH_DMALLOC
-
-# Forcibly disable SET_MAKE. If it's set it breaks things like the test
-# scripts, etc.
-SET_MAKE=
-
-# Sanity check and inform the user of what we found
-
-case "$make_badcust" in
- yes) echo
- echo "WARNING: --with-customs specified but no customs.h could be found;"
- echo " disabling Customs support."
- echo ;;
-esac
-
-case "$with_customs" in
- ""|n|no|y|ye|yes) ;;
- *) if test -f "$with_customs/lib/libcustoms.a"; then
- :
- else
- echo
- echo "WARNING: '$with_customs/lib' does not appear to contain the"
- echo " Customs library. You must build and install Customs"
- echo " before compiling GNU make."
- echo
- fi ;;
-esac
-
-case "$has_wait_nohang" in
- no) echo
- echo "WARNING: Your system has neither waitpid() nor wait3()."
- echo " Without one of these, signal handling is unreliable."
- echo " You should be aware that running GNU make with -j"
- echo " could result in erratic behavior."
- echo ;;
-esac
-
-case "$make_cv_job_server/$user_job_server" in
- no/yes) echo
- echo "WARNING: Make job server requires a POSIX-ish system that"
- echo " supports the pipe(), sigaction(), and either"
- echo " waitpid() or wait3() functions. Your system doesn't"
- echo " appear to provide one or more of those."
- echo " Disabling job server support."
- echo ;;
-esac
-
-
-# Specify what files are to be created.
-AC_CONFIG_FILES(Makefile glob/Makefile po/Makefile.in config/Makefile doc/Makefile w32/Makefile)
-
-# OK, do it!
-
-AC_OUTPUT
-
-# We only generate the build.sh if we have a build.sh.in; we won't have
-# one before we've created a distribution.
-if test -f "$srcdir/build.sh.in"; then
- ./config.status --file build.sh
- chmod +x build.sh
-fi
-
-dnl Local Variables:
-dnl comment-start: "dnl "
-dnl comment-end: ""
-dnl comment-start-skip: "\\bdnl\\b\\s *"
-dnl compile-command: "make configure config.h.in"
-dnl End:
diff --git a/debug.h b/debug.h
index 3d20c875..9d2ec04a 100644
--- a/debug.h
+++ b/debug.h
@@ -1,6 +1,5 @@
/* Debugging macros and interface.
-Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-2009, 2010 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 --git a/default.c b/default.c
index 4d6d984b..3b6f7ae7 100644
--- a/default.c
+++ b/default.c
@@ -1,7 +1,5 @@
/* Data base of default implicit rules for GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -16,7 +14,10 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
+
+#include <assert.h>
+
#include "filedef.h"
#include "variable.h"
#include "rule.h"
@@ -32,14 +33,16 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* This is the default list of suffixes for suffix rules.
- `.s' must come last, so that a `.o' file will be made from
- a `.c' or `.p' or ... file rather than from a .s file. */
+ '.s' must come last, so that a '.o' file will be made from
+ a '.c' or '.p' or ... file rather than from a .s file. */
static char default_suffixes[]
#ifdef VMS
- = ".exe .olb .ln .obj .c .cxx .cc .pas .p .for .f .r .y .l .mar \
-.s .ss .i .ii .mod .sym .def .h .info .dvi .tex .texinfo .texi .txinfo \
-.w .ch .cweb .web .com .sh .elc .el";
+ /* VMS should include all UNIX/POSIX + some VMS extensions */
+ = ".out .exe .a .olb .hlb .tlb .mlb .ln .o .obj .c .cxx .cc .cpp .pas .p \
+.for .f .r .y .l .ym .yl .mar .s .ss .i .ii .mod .sym .def .h .info .dvi \
+.tex .texinfo .texi .txinfo .mem .hlp .brn .rnh .rno .rnt .rnx .w .ch .cweb \
+.web .com .sh .elc .el";
#elif defined(__EMX__)
= ".out .a .ln .o .c .cc .C .cpp .p .f .F .m .r .y .l .ym .yl .s .S \
.mod .sym .def .h .info .dvi .tex .texinfo .texi .txinfo \
@@ -52,24 +55,40 @@ static char default_suffixes[]
static struct pspec default_pattern_rules[] =
{
+#ifdef VMS
{ "(%)", "%",
- "$(AR) $(ARFLAGS) $@ $<" },
+ "@if f$$search(\"$@\") .eqs. \"\" then $(LIBRARY)/CREATE/"
+ "$(or "
+ "$(patsubst %,TEXT,$(filter %.tlb %.TLB,$@)),"
+ "$(patsubst %,HELP,$(filter %.hlb %.HLB,$@)),"
+ "$(patsubst %,MACRO,$(filter %.mlb %.MLB,$@)),"
+ "$(and "
+ "$(patsubst %,SHARE,$(filter %.olb %.OLB,$@)),"
+ "$(patsubst %,SHARE,$(filter %.exe %.EXE,$<))),"
+ "OBJECT)"
+ " $@\n"
+ "$(AR) $(ARFLAGS) $@ $<" },
+#else
+ { "(%)", "%",
+ "$(AR) $(ARFLAGS) $@ $<" },
+#endif
/* The X.out rules are only in BSD's default set because
- BSD Make has no null-suffix rules, so `foo.out' and
- `foo' are the same thing. */
+ BSD Make has no null-suffix rules, so 'foo.out' and
+ 'foo' are the same thing. */
#ifdef VMS
{ "%.exe", "%",
- "copy $< $@" },
-#else
- { "%.out", "%",
- "@rm -f $@ \n cp $< $@" },
+ "$(CP) $< $@" },
+
#endif
+ { "%.out", "%",
+ "@rm -f $@ \n cp $< $@" },
+
/* Syntax is "ctangle foo.w foo.ch foo.c". */
{ "%.c", "%.w %.ch",
- "$(CTANGLE) $^ $@" },
+ "$(CTANGLE) $^ $@" },
{ "%.tex", "%.w %.ch",
- "$(CWEAVE) $^ $@" },
+ "$(CWEAVE) $^ $@" },
{ 0, 0, 0 }
};
@@ -77,37 +96,39 @@ static struct pspec default_pattern_rules[] =
static struct pspec default_terminal_rules[] =
{
#ifdef VMS
+
/* RCS. */
{ "%", "%$$5lv", /* Multinet style */
- "if f$$search($@) .nes. \"\" then +$(CHECKOUT,v)" },
+ "if f$$search(\"$@\") .nes. \"\" then +$(CHECKOUT,v)" },
{ "%", "[.$$rcs]%$$5lv", /* Multinet style */
- "if f$$search($@) .nes. \"\" then +$(CHECKOUT,v)" },
+ "if f$$search(\"$@\") .nes. \"\" then +$(CHECKOUT,v)" },
{ "%", "%_v", /* Normal style */
- "if f$$search($@) .nes. \"\" then +$(CHECKOUT,v)" },
+ "if f$$search(\"$@\") .nes. \"\" then +$(CHECKOUT,v)" },
{ "%", "[.rcs]%_v", /* Normal style */
- "if f$$search($@) .nes. \"\" then +$(CHECKOUT,v)" },
+ "if f$$search(\"$@\") .nes. \"\" then +$(CHECKOUT,v)" },
/* SCCS. */
- /* ain't no SCCS on vms */
+ /* ain't no SCCS on vms */
+
#else
/* RCS. */
{ "%", "%,v",
- "$(CHECKOUT,v)" },
+ "$(CHECKOUT,v)" },
{ "%", "RCS/%,v",
- "$(CHECKOUT,v)" },
+ "$(CHECKOUT,v)" },
{ "%", "RCS/%",
- "$(CHECKOUT,v)" },
+ "$(CHECKOUT,v)" },
/* SCCS. */
{ "%", "s.%",
- "$(GET) $(GFLAGS) $(SCCS_OUTPUT_OPTION) $<" },
+ "$(GET) $(GFLAGS) $(SCCS_OUTPUT_OPTION) $<" },
{ "%", "SCCS/s.%",
- "$(GET) $(GFLAGS) $(SCCS_OUTPUT_OPTION) $<" },
+ "$(GET) $(GFLAGS) $(SCCS_OUTPUT_OPTION) $<" },
#endif /* !VMS */
{ 0, 0, 0 }
};
-static char *default_suffix_rules[] =
+static const char *default_suffix_rules[] =
{
#ifdef VMS
".obj.exe",
@@ -148,6 +169,8 @@ static char *default_suffix_rules[] =
"$(COMPILE.c)/noprep/noobj/machine /list=$@ $<",
".c.obj",
"$(COMPILE.c) /obj=$@ $<",
+ ".c.o",
+ "$(COMPILE.c) /obj=$@ $<",
".cc.ii",
"$(COMPILE.cc)/prep /list=$@ $<",
".cc.ss",
@@ -156,12 +179,20 @@ static char *default_suffix_rules[] =
"$(COMPILE.cc)/noprep/noobj/machine /list=$@ $<",
".cc.obj",
"$(COMPILE.cc) /obj=$@ $<",
+ ".cc.o",
+ "$(COMPILE.cc) /obj=$@ $<",
".cxx.obj",
"$(COMPILE.cxx) /obj=$@ $<",
+ ".cxx.o",
+ "$(COMPILE.cxx) /obj=$@ $<",
".for.obj",
"$(COMPILE.for) /obj=$@ $<",
+ ".for.o",
+ "$(COMPILE.for) /obj=$@ $<",
".pas.obj",
"$(COMPILE.pas) /obj=$@ $<",
+ ".pas.o",
+ "$(COMPILE.pas) /obj=$@ $<",
".y.c",
"$(YACC.y) $< \n rename y_tab.c $@",
@@ -293,13 +324,13 @@ static char *default_suffix_rules[] =
"$(TEXI2DVI) $(TEXI2DVI_FLAGS) $<",
".w.c",
- "$(CTANGLE) $< - $@", /* The `-' says there is no `.ch' file. */
+ "$(CTANGLE) $< - $@", /* The '-' says there is no '.ch' file. */
".web.p",
"$(TANGLE) $<",
".w.tex",
- "$(CWEAVE) $< - $@", /* The `-' says there is no `.ch' file. */
+ "$(CWEAVE) $< - $@", /* The '-' says there is no '.ch' file. */
".web.tex",
"$(WEAVE) $<",
@@ -321,7 +352,8 @@ static const char *default_variables[] =
#ifdef __VAX
"ARCH", "VAX",
#endif
- "AR", "library/obj",
+ "AR", "library",
+ "LIBRARY", "library",
"ARFLAGS", "/replace",
"AS", "macro",
"MACRO", "macro",
@@ -331,15 +363,21 @@ static const char *default_variables[] =
"CC", "cc",
#endif
"CD", "builtin_cd",
- "MAKE", "make",
- "ECHO", "write sys$$output \"",
+ "ECHO", "builtin_echo",
#ifdef GCC_IS_NATIVE
"C++", "gcc/plus",
"CXX", "gcc/plus",
#else
"C++", "cxx",
"CXX", "cxx",
+#ifndef __ia64
"CXXLD", "cxxlink",
+ "CXXLINK", "cxxlink",
+#else
+ /* CXXLINK is not used on VMS/IA64 */
+ "CXXLD", "link",
+ "CXXLINK", "link",
+#endif
#endif
"CO", "co",
"CPP", "$(CC) /preprocess_only",
@@ -392,6 +430,7 @@ static const char *default_variables[] =
"MV", "rename/new_version",
"CP", "copy",
+ ".LIBPATTERNS", "%.olb lib%.a",
#else /* !VMS */
@@ -401,7 +440,7 @@ static const char *default_variables[] =
#ifdef GCC_IS_NATIVE
"CC", "gcc",
# ifdef __MSDOS__
- "CXX", "gpp", /* g++ is an invalid name on MSDOS */
+ "CXX", "gpp", /* g++ is an invalid name on MSDOS */
# else
"CXX", "gcc",
# endif /* __MSDOS__ */
@@ -419,17 +458,17 @@ static const char *default_variables[] =
"COFLAGS", "",
"CPP", "$(CC) -E",
-#ifdef CRAY
+#ifdef CRAY
"CF77PPFLAGS", "-P",
"CF77PP", "/lib/cpp",
"CFT", "cft77",
"CF", "cf77",
"FC", "$(CF)",
-#else /* Not CRAY. */
-#ifdef _IBMR2
+#else /* Not CRAY. */
+#ifdef _IBMR2
"FC", "xlf",
#else
-#ifdef __convex__
+#ifdef __convex__
"FC", "fc",
#else
"FC", "f77",
@@ -439,7 +478,7 @@ static const char *default_variables[] =
However, there is no way to make implicit rules use them and FC. */
"F77", "$(FC)",
"F77FLAGS", "$(FFLAGS)",
-#endif /* Cray. */
+#endif /* Cray. */
"GET", SCCS_GET,
"LD", "ld",
#ifdef GCC_IS_NATIVE
@@ -449,20 +488,20 @@ static const char *default_variables[] =
#endif
"LINT", "lint",
"M2C", "m2c",
-#ifdef pyr
+#ifdef pyr
"PC", "pascal",
#else
-#ifdef CRAY
+#ifdef CRAY
"PC", "PASCAL",
"SEGLDR", "segldr",
#else
"PC", "pc",
-#endif /* CRAY. */
-#endif /* pyr. */
+#endif /* CRAY. */
+#endif /* pyr. */
#ifdef GCC_IS_NATIVE
"YACC", "bison -y",
#else
- "YACC", "yacc", /* Or "bison -y" */
+ "YACC", "yacc", /* Or "bison -y" */
#endif
"MAKEINFO", "makeinfo",
"TEX", "tex",
@@ -508,25 +547,29 @@ static const char *default_variables[] =
"PREPROCESS.r", "$(FC) $(FFLAGS) $(RFLAGS) $(TARGET_ARCH) -F",
"LINT.c", "$(LINT) $(LINTFLAGS) $(CPPFLAGS) $(TARGET_ARCH)",
-#ifndef NO_MINUS_C_MINUS_O
+#ifndef NO_MINUS_C_MINUS_O
"OUTPUT_OPTION", "-o $@",
#endif
-#ifdef SCCS_GET_MINUS_G
+#ifdef SCCS_GET_MINUS_G
"SCCS_OUTPUT_OPTION", "-G$@",
#endif
-#ifdef _AMIGA
+#if defined(_AMIGA)
".LIBPATTERNS", "%.lib",
-#else
-#ifdef __MSDOS__
+#elif defined(__MSDOS__)
".LIBPATTERNS", "lib%.a $(DJDIR)/lib/lib%.a",
+#elif defined(__APPLE__)
+ ".LIBPATTERNS", "lib%.dylib lib%.a",
+#elif defined(__CYGWIN__) || defined(WINDOWS32)
+ ".LIBPATTERNS", "lib%.dll.a %.dll.a lib%.a %.lib lib%.dll %.dll",
#else
".LIBPATTERNS", "lib%.so lib%.a",
#endif
-#endif
#endif /* !VMS */
+ /* Make this assignment to avoid undefined variable warnings. */
+ "GNUMAKEFLAGS", "",
0, 0
};
@@ -536,15 +579,19 @@ void
set_default_suffixes (void)
{
suffix_file = enter_file (strcache_add (".SUFFIXES"));
+ suffix_file->builtin = 1;
if (no_builtin_rules_flag)
define_variable_cname ("SUFFIXES", "", o_default, 0);
else
{
- char *p = default_suffixes;
- suffix_file->deps = enter_prereqs(PARSE_FILE_SEQ (&p, struct dep, '\0',
- NULL, 0),
- NULL);
+ struct dep *d;
+ const char *p = default_suffixes;
+ suffix_file->deps = enter_prereqs (PARSE_SIMPLE_SEQ ((char **)&p, struct dep),
+ NULL);
+ for (d = suffix_file->deps; d; d = d->next)
+ d->file->builtin = 1;
+
define_variable_cname ("SUFFIXES", default_suffixes, o_default, 0);
}
}
@@ -557,7 +604,7 @@ set_default_suffixes (void)
void
install_default_suffix_rules (void)
{
- char **s;
+ const char **s;
if (no_builtin_rules_flag)
return;
@@ -565,14 +612,14 @@ install_default_suffix_rules (void)
for (s = default_suffix_rules; *s != 0; s += 2)
{
struct file *f = enter_file (strcache_add (s[0]));
- /* Don't clobber cmds given in a makefile if there were any. */
- if (f->cmds == 0)
- {
- f->cmds = xmalloc (sizeof (struct commands));
- f->cmds->fileinfo.filenm = 0;
- f->cmds->commands = s[1];
- f->cmds->command_lines = 0;
- }
+ /* This function should run before any makefile is parsed. */
+ assert (f->cmds == 0);
+ f->cmds = xmalloc (sizeof (struct commands));
+ f->cmds->fileinfo.filenm = 0;
+ f->cmds->commands = xstrdup (s[1]);
+ f->cmds->command_lines = 0;
+ f->cmds->recipe_prefix = RECIPEPREFIX_DEFAULT;
+ f->builtin = 1;
}
}
@@ -605,3 +652,12 @@ define_default_variables (void)
for (s = default_variables; *s != 0; s += 2)
define_variable (s[0], strlen (s[0]), s[1], o_default, 1);
}
+
+void
+undefine_default_variables (void)
+{
+ const char **s;
+
+ for (s = default_variables; *s != 0; s += 2)
+ undefine_variable_global (s[0], strlen (s[0]), o_default);
+}
diff --git a/dep.h b/dep.h
index c27423ba..b8c0d29b 100644
--- a/dep.h
+++ b/dep.h
@@ -1,7 +1,5 @@
/* Definitions of dependency data structures for GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -16,19 +14,19 @@ 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 <http://www.gnu.org/licenses/>. */
-/* Flag bits for the second argument to `read_makefile'.
- These flags are saved in the `changed' field of each
- `struct dep' in the chain returned by `read_all_makefiles'. */
+/* Flag bits for the second argument to 'read_makefile'.
+ 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. */
-#define RM_DONTCARE (1 << 2) /* No error if it doesn't exist. */
-#define RM_NO_TILDE (1 << 3) /* Don't expand ~ in file name. */
-#define RM_NOFLAG 0
+#define RM_NO_DEFAULT_GOAL (1 << 0) /* Do not set default goal. */
+#define RM_INCLUDED (1 << 1) /* Search makefile search path. */
+#define RM_DONTCARE (1 << 2) /* No error if it doesn't exist. */
+#define RM_NO_TILDE (1 << 3) /* Don't expand ~ in file name. */
+#define RM_NOFLAG 0
/* Structure representing one dependency of a file.
- Each struct file's `deps' points to a chain of these,
- chained through the `next'. `stem' is the stem for this
+ 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.
Note that the first two words of this match a struct nameseq. */
@@ -55,22 +53,23 @@ struct nameseq
const char *name;
};
-
-#define PARSEFS_NONE (0x0000)
-#define PARSEFS_NOSTRIP (0x0001)
-#define PARSEFS_NOAR (0x0002)
-#define PARSEFS_NOGLOB (0x0004)
-#define PARSEFS_EXISTS (0x0008)
-#define PARSEFS_NOCACHE (0x0010)
+#define PARSEFS_NONE 0x0000
+#define PARSEFS_NOSTRIP 0x0001
+#define PARSEFS_NOAR 0x0002
+#define PARSEFS_NOGLOB 0x0004
+#define PARSEFS_EXISTS 0x0008
+#define PARSEFS_NOCACHE 0x0010
#define PARSE_FILE_SEQ(_s,_t,_c,_p,_f) \
(_t *)parse_file_seq ((_s),sizeof (_t),(_c),(_p),(_f))
+#define PARSE_SIMPLE_SEQ(_s,_t) \
+ (_t *)parse_file_seq ((_s),sizeof (_t),MAP_NUL,NULL,PARSEFS_NONE)
#ifdef VMS
void *parse_file_seq ();
#else
void *parse_file_seq (char **stringp, unsigned int size,
- int stopchar, const char *prefix, int flags);
+ int stopmap, const char *prefix, int flags);
#endif
char *tilde_expand (const char *name);
@@ -89,5 +88,5 @@ struct dep *copy_dep_chain (const struct dep *d);
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);
-int update_goal_chain (struct dep *goals);
+void eval_buffer (char *buffer, const gmk_floc *floc);
+enum update_status update_goal_chain (struct dep *goals);
diff --git a/dir.c b/dir.c
index 55290195..7e00b8f7 100644
--- a/dir.c
+++ b/dir.c
@@ -1,7 +1,5 @@
/* Directory hashing for GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -16,10 +14,12 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
#include "hash.h"
+#include "filedef.h"
+#include "dep.h"
-#ifdef HAVE_DIRENT_H
+#ifdef HAVE_DIRENT_H
# include <dirent.h>
# define NAMLEN(dirent) strlen((dirent)->d_name)
# ifdef VMS
@@ -86,21 +86,21 @@ dosify (const char *filename)
df = dos_filename;
/* First, transform the name part. */
- for (i = 0; *filename != '\0' && i < 8 && *filename != '.'; ++i)
+ for (i = 0; i < 8 && ! STOP_SET (*filename, MAP_DOT|MAP_NUL); ++i)
*df++ = tolower ((unsigned char)*filename++);
/* Now skip to the next dot. */
- while (*filename != '\0' && *filename != '.')
+ while (! STOP_SET (*filename, MAP_DOT|MAP_NUL))
++filename;
if (*filename != '\0')
{
*df++ = *filename++;
- for (i = 0; *filename != '\0' && i < 3 && *filename != '.'; ++i)
- *df++ = tolower ((unsigned char)*filename++);
+ for (i = 0; i < 3 && ! STOP_SET (*filename, MAP_DOT|MAP_NUL); ++i)
+ *df++ = tolower ((unsigned char)*filename++);
}
/* Look for more dots. */
- while (*filename != '\0' && *filename != '.')
+ while (! STOP_SET (*filename, MAP_DOT|MAP_NUL))
++filename;
if (*filename == '.')
return filename;
@@ -146,11 +146,11 @@ static int
vms_hash (const char *name)
{
int h = 0;
- int g;
while (*name)
{
unsigned char uc = *name;
+ int g;
#ifdef HAVE_CASE_INSENSITIVE_FS
h = (h << 4) + (isupper (uc) ? tolower (uc) : uc);
#else
@@ -159,10 +159,10 @@ vms_hash (const char *name)
name++;
g = h & 0xf0000000;
if (g)
- {
- h = h ^ (g >> 24);
- h = h ^ g;
- }
+ {
+ h = h ^ (g >> 24);
+ h = h ^ g;
+ }
}
return h;
}
@@ -179,7 +179,7 @@ vmsstat_dir (const char *name, struct stat *st)
if (dir == 0)
return -1;
closedir (dir);
- s = strchr (name, ':'); /* find device */
+ s = strchr (name, ':'); /* find device */
if (s)
{
/* to keep the compiler happy we said "const char *name", now we cheat */
@@ -204,13 +204,13 @@ vmsstat_dir (const char *name, struct stat *st)
/* Hash table of directories. */
-#ifndef DIRECTORY_BUCKETS
+#ifndef DIRECTORY_BUCKETS
#define DIRECTORY_BUCKETS 199
#endif
struct directory_contents
{
- dev_t dev; /* Device and inode numbers of this dir. */
+ dev_t dev; /* Device and inode numbers of this dir. */
#ifdef WINDOWS32
/* Inode means nothing on WINDOWS32. Even file key information is
* unreliable because it is random per file open and undefined for remote
@@ -231,8 +231,8 @@ struct directory_contents
ino_t ino;
# endif
#endif /* WINDOWS32 */
- struct hash_table dirfiles; /* Files in this directory. */
- DIR *dirstream; /* Stream reading this directory. */
+ struct hash_table dirfiles; /* Files in this directory. */
+ DIR *dirstream; /* Stream reading this directory. */
};
static unsigned long
@@ -248,9 +248,9 @@ directory_contents_hash_1 (const void *key_0)
#else
# ifdef VMS
hash = (((unsigned int) key->dev << 4)
- ^ ((unsigned int) key->ino[0]
- + (unsigned int) key->ino[1]
- + (unsigned int) key->ino[2]));
+ ^ ((unsigned int) key->ino[0]
+ + (unsigned int) key->ino[1]
+ + (unsigned int) key->ino[2]));
# else
hash = ((unsigned int) key->dev << 4) ^ (unsigned int) key->ino;
# endif
@@ -271,9 +271,9 @@ directory_contents_hash_2 (const void *key_0)
#else
# ifdef VMS
hash = (((unsigned int) key->dev << 4)
- ^ ~((unsigned int) key->ino[0]
- + (unsigned int) key->ino[1]
- + (unsigned int) key->ino[2]));
+ ^ ~((unsigned int) key->ino[0]
+ + (unsigned int) key->ino[1]
+ + (unsigned int) key->ino[2]));
# else
hash = ((unsigned int) key->dev << 4) ^ (unsigned int) ~key->ino;
# endif
@@ -333,11 +333,11 @@ static struct hash_table directory_contents;
struct directory
{
- const char *name; /* Name of the directory. */
+ const char *name; /* Name of the directory. */
/* The directory's contents. This data may be shared by several
entries in the hash table, which refer to the same directory
- (identified uniquely by `dev' and `ino') under different names. */
+ (identified uniquely by 'dev' and 'ino') under different names. */
struct directory_contents *contents;
};
@@ -357,7 +357,7 @@ static int
directory_hash_cmp (const void *x, const void *y)
{
return_ISTRING_COMPARE (((const struct directory *) x)->name,
- ((const struct directory *) y)->name);
+ ((const struct directory *) y)->name);
}
/* Table of directories hashed by name. */
@@ -374,9 +374,9 @@ static unsigned int open_directories = 0;
struct dirfile
{
- const char *name; /* Name of the file. */
+ const char *name; /* Name of the file. */
short length;
- short impossible; /* This file is impossible. */
+ short impossible; /* This file is impossible. */
};
static unsigned long
@@ -402,7 +402,7 @@ dirfile_hash_cmp (const void *xv, const void *yv)
return_ISTRING_COMPARE (x->name, y->name);
}
-#ifndef DIRFILE_BUCKETS
+#ifndef DIRFILE_BUCKETS
#define DIRFILE_BUCKETS 107
#endif
@@ -410,24 +410,15 @@ static int dir_contents_file_exists_p (struct directory_contents *dir,
const char *filename);
static struct directory *find_directory (const char *name);
-/* Find the directory named NAME and return its `struct directory'. */
+/* Find the directory named NAME and return its 'struct directory'. */
static struct directory *
find_directory (const char *name)
{
- const char *p;
struct directory *dir;
struct directory **dir_slot;
struct directory dir_key;
- int r;
-#ifdef WINDOWS32
- char* w32_path;
- char fs_label[BUFSIZ];
- char fs_type[BUFSIZ];
- unsigned long fs_serno;
- unsigned long fs_flags;
- unsigned long fs_len;
-#endif
+
#ifdef VMS
if ((*name == '.') && (*(name+1) == 0))
name = "[]";
@@ -441,20 +432,20 @@ find_directory (const char *name)
if (HASH_VACANT (dir))
{
- struct stat st;
-
/* The directory was not found. Create a new entry for it. */
+ const char *p = name + strlen (name);
+ struct stat st;
+ int r;
- p = name + strlen (name);
dir = xmalloc (sizeof (struct directory));
#if defined(HAVE_CASE_INSENSITIVE_FS) && defined(VMS)
- dir->name = strcache_add_len (downcase(name), p - name);
+ dir->name = strcache_add_len (downcase (name), p - name);
#else
dir->name = strcache_add_len (name, p - name);
#endif
hash_insert_at (&directories, dir, dir_slot);
/* The directory is not in the name hash table.
- Find its device and inode numbers, and look it up by them. */
+ Find its device and inode numbers, and look it up by them. */
#ifdef VMS
r = vmsstat_dir (name, &st);
@@ -481,96 +472,101 @@ find_directory (const char *name)
if (r < 0)
{
- /* Couldn't stat the directory. Mark this by
- setting the `contents' member to a nil pointer. */
- dir->contents = 0;
- }
+ /* Couldn't stat the directory. Mark this by
+ setting the 'contents' member to a nil pointer. */
+ dir->contents = 0;
+ }
else
- {
- /* Search the contents hash table; device and inode are the key. */
+ {
+ /* Search the contents hash table; device and inode are the key. */
- struct directory_contents *dc;
- struct directory_contents **dc_slot;
- struct directory_contents dc_key;
+#ifdef WINDOWS32
+ char *w32_path;
+#endif
+ struct directory_contents *dc;
+ struct directory_contents **dc_slot;
+ struct directory_contents dc_key;
- dc_key.dev = st.st_dev;
+ dc_key.dev = st.st_dev;
#ifdef WINDOWS32
- dc_key.path_key = w32_path = w32ify (name, 1);
- dc_key.ctime = st.st_ctime;
+ dc_key.path_key = w32_path = w32ify (name, 1);
+ dc_key.ctime = st.st_ctime;
#else
# 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];
+ dc_key.ino[0] = st.st_ino[0];
+ dc_key.ino[1] = st.st_ino[1];
+ dc_key.ino[2] = st.st_ino[2];
# else
- dc_key.ino = st.st_ino;
+ dc_key.ino = st.st_ino;
# endif
#endif
- dc_slot = (struct directory_contents **) hash_find_slot (&directory_contents, &dc_key);
- dc = *dc_slot;
+ dc_slot = (struct directory_contents **) hash_find_slot (&directory_contents, &dc_key);
+ dc = *dc_slot;
- if (HASH_VACANT (dc))
- {
- /* Nope; this really is a directory we haven't seen before. */
-
- dc = (struct directory_contents *)
- xmalloc (sizeof (struct directory_contents));
+ if (HASH_VACANT (dc))
+ {
+ /* Nope; this really is a directory we haven't seen before. */
+#ifdef WINDOWS32
+ char fs_label[BUFSIZ];
+ char fs_type[BUFSIZ];
+ unsigned long fs_serno;
+ unsigned long fs_flags;
+ unsigned long fs_len;
+#endif
+ dc = (struct directory_contents *)
+ xmalloc (sizeof (struct directory_contents));
- /* Enter it in the contents hash table. */
- dc->dev = st.st_dev;
+ /* Enter it in the contents hash table. */
+ dc->dev = st.st_dev;
#ifdef WINDOWS32
dc->path_key = xstrdup (w32_path);
- dc->ctime = st.st_ctime;
+ dc->ctime = st.st_ctime;
dc->mtime = st.st_mtime;
- /*
- * NTFS is the only WINDOWS32 filesystem that bumps mtime
- * on a directory when files are added/deleted from
- * a directory.
- */
+ /* NTFS is the only WINDOWS32 filesystem that bumps mtime on a
+ directory when files are added/deleted from a directory. */
w32_path[3] = '\0';
- if (GetVolumeInformation(w32_path,
- fs_label, sizeof (fs_label),
- &fs_serno, &fs_len,
- &fs_flags, fs_type, sizeof (fs_type)) == FALSE)
+ if (GetVolumeInformation (w32_path, fs_label, sizeof (fs_label),
+ &fs_serno, &fs_len, &fs_flags, fs_type,
+ sizeof (fs_type)) == FALSE)
dc->fs_flags = FS_UNKNOWN;
- else if (!strcmp(fs_type, "FAT"))
+ else if (!strcmp (fs_type, "FAT"))
dc->fs_flags = FS_FAT;
- else if (!strcmp(fs_type, "NTFS"))
+ else if (!strcmp (fs_type, "NTFS"))
dc->fs_flags = FS_NTFS;
else
dc->fs_flags = FS_UNKNOWN;
#else
# ifdef VMS
- dc->ino[0] = st.st_ino[0];
- dc->ino[1] = st.st_ino[1];
- dc->ino[2] = st.st_ino[2];
+ dc->ino[0] = st.st_ino[0];
+ dc->ino[1] = st.st_ino[1];
+ dc->ino[2] = st.st_ino[2];
# else
- dc->ino = st.st_ino;
+ dc->ino = st.st_ino;
# endif
#endif /* WINDOWS32 */
- hash_insert_at (&directory_contents, dc, dc_slot);
- ENULLLOOP (dc->dirstream, opendir (name));
- if (dc->dirstream == 0)
+ hash_insert_at (&directory_contents, dc, dc_slot);
+ ENULLLOOP (dc->dirstream, opendir (name));
+ if (dc->dirstream == 0)
/* Couldn't open the directory. Mark this by setting the
- `files' member to a nil pointer. */
+ 'files' member to a nil pointer. */
dc->dirfiles.ht_vec = 0;
- else
- {
- hash_init (&dc->dirfiles, DIRFILE_BUCKETS,
- dirfile_hash_1, dirfile_hash_2, dirfile_hash_cmp);
- /* Keep track of how many directories are open. */
- ++open_directories;
- if (open_directories == MAX_OPEN_DIRECTORIES)
- /* We have too many directories open already.
- Read the entire directory and then close it. */
- dir_contents_file_exists_p (dc, 0);
- }
- }
-
- /* Point the name-hashed entry for DIR at its contents data. */
- dir->contents = dc;
- }
+ else
+ {
+ hash_init (&dc->dirfiles, DIRFILE_BUCKETS,
+ dirfile_hash_1, dirfile_hash_2, dirfile_hash_cmp);
+ /* Keep track of how many directories are open. */
+ ++open_directories;
+ if (open_directories == MAX_OPEN_DIRECTORIES)
+ /* We have too many directories open already.
+ Read the entire directory and then close it. */
+ dir_contents_file_exists_p (dc, 0);
+ }
+ }
+
+ /* Point the name-hashed entry for DIR at its contents data. */
+ dir->contents = dc;
+ }
}
return dir;
@@ -583,7 +579,6 @@ static int
dir_contents_file_exists_p (struct directory_contents *dir,
const char *filename)
{
- unsigned int hash;
struct dirfile *df;
struct dirent *d;
#ifdef WINDOWS32
@@ -612,16 +607,15 @@ dir_contents_file_exists_p (struct directory_contents *dir,
filename = vmsify (filename,0);
#endif
- hash = 0;
if (filename != 0)
{
struct dirfile dirfile_key;
if (*filename == '\0')
- {
- /* Checking if the directory exists. */
- return 1;
- }
+ {
+ /* Checking if the directory exists. */
+ return 1;
+ }
dirfile_key.name = filename;
dirfile_key.length = strlen (filename);
df = hash_find_item (&dir->dirfiles, &dirfile_key);
@@ -641,32 +635,32 @@ dir_contents_file_exists_p (struct directory_contents *dir,
* on directories (ugh!).
*/
if (dir->path_key)
- {
+ {
if ((dir->fs_flags & FS_FAT) != 0)
- {
- dir->mtime = time ((time_t *) 0);
- rehash = 1;
- }
- else if (stat (dir->path_key, &st) == 0 && st.st_mtime > dir->mtime)
- {
- /* reset date stamp to show most recent re-process. */
- dir->mtime = st.st_mtime;
- rehash = 1;
- }
+ {
+ dir->mtime = time ((time_t *) 0);
+ rehash = 1;
+ }
+ else if (stat (dir->path_key, &st) == 0 && st.st_mtime > dir->mtime)
+ {
+ /* reset date stamp to show most recent re-process. */
+ dir->mtime = st.st_mtime;
+ rehash = 1;
+ }
/* If it has been already read in, all done. */
- if (!rehash)
- return 0;
+ if (!rehash)
+ return 0;
/* make sure directory can still be opened; if not return. */
dir->dirstream = opendir (dir->path_key);
if (!dir->dirstream)
return 0;
- }
+ }
else
#endif
- /* The directory has been all read in. */
- return 0;
+ /* The directory has been all read in. */
+ return 0;
}
while (1)
@@ -680,7 +674,7 @@ dir_contents_file_exists_p (struct directory_contents *dir,
if (d == 0)
{
if (errno)
- fatal (NILF, "INTERNAL: readdir: %s\n", strerror (errno));
+ pfatal_with_name ("INTERNAL: readdir");
break;
}
@@ -693,7 +687,7 @@ dir_contents_file_exists_p (struct directory_contents *dir,
}
#endif
if (!REAL_DIR_ENTRY (d))
- continue;
+ continue;
len = NAMLEN (d);
dirfile_key.name = d->d_name;
@@ -706,17 +700,17 @@ dir_contents_file_exists_p (struct directory_contents *dir,
*/
if (! rehash || HASH_VACANT (*dirfile_slot))
#endif
- {
- df = xmalloc (sizeof (struct dirfile));
+ {
+ df = xmalloc (sizeof (struct dirfile));
#if defined(HAVE_CASE_INSENSITIVE_FS) && defined(VMS)
- df->name = strcache_add_len (downcase(d->d_name), len);
+ df->name = strcache_add_len (downcase (d->d_name), len);
#else
- df->name = strcache_add_len (d->d_name, len);
+ df->name = strcache_add_len (d->d_name, len);
#endif
- df->length = len;
- df->impossible = 0;
- hash_insert_at (&dir->dirfiles, df, dirfile_slot);
- }
+ df->length = len;
+ df->impossible = 0;
+ hash_insert_at (&dir->dirfiles, df, dirfile_slot);
+ }
/* Check if the name matches the one we're searching for. */
if (filename != 0 && patheq (d->d_name, filename))
return 1;
@@ -741,7 +735,7 @@ int
dir_file_exists_p (const char *dirname, const char *filename)
{
return dir_contents_file_exists_p (find_directory (dirname)->contents,
- filename);
+ filename);
}
/* Return 1 if the file named NAME exists. */
@@ -753,7 +747,7 @@ file_exists_p (const char *name)
const char *dirname;
const char *slash;
-#ifndef NO_ARCHIVES
+#ifndef NO_ARCHIVES
if (ar_name (name))
return ar_member_date (name) != (time_t) -1;
#endif
@@ -769,7 +763,7 @@ file_exists_p (const char *name)
#ifdef HAVE_DOS_PATHS
/* Forward and backslashes might be mixed. We need the rightmost one. */
{
- const char *bslash = strrchr(name, '\\');
+ const char *bslash = strrchr (name, '\\');
if (!dirend || bslash > dirend)
dirend = bslash;
/* The case of "d:file". */
@@ -794,8 +788,8 @@ file_exists_p (const char *name)
#ifdef HAVE_DOS_PATHS
/* d:/ and d: are *very* different... */
if (dirend < name + 3 && name[1] == ':' &&
- (*dirend == '/' || *dirend == '\\' || *dirend == ':'))
- dirend++;
+ (*dirend == '/' || *dirend == '\\' || *dirend == ':'))
+ dirend++;
#endif
p = alloca (dirend - name + 1);
memcpy (p, name, dirend - name);
@@ -805,7 +799,7 @@ file_exists_p (const char *name)
return dir_file_exists_p (dirname, slash + 1);
}
-/* Mark FILENAME as `impossible' for `file_impossible_p'.
+/* Mark FILENAME as 'impossible' for 'file_impossible_p'.
This means an attempt has been made to search for FILENAME
as an intermediate file, and it has failed. */
@@ -829,7 +823,7 @@ file_impossible (const char *filename)
# ifdef HAVE_DOS_PATHS
/* Forward and backslashes might be mixed. We need the rightmost one. */
{
- const char *bslash = strrchr(p, '\\');
+ const char *bslash = strrchr (p, '\\');
if (!dirend || bslash > dirend)
dirend = bslash;
/* The case of "d:file". */
@@ -849,21 +843,21 @@ file_impossible (const char *filename)
const char *dirname;
const char *slash = dirend;
if (dirend == p)
- dirname = "/";
+ dirname = "/";
else
- {
+ {
char *cp;
#ifdef HAVE_DOS_PATHS
- /* d:/ and d: are *very* different... */
- if (dirend < p + 3 && p[1] == ':' &&
- (*dirend == '/' || *dirend == '\\' || *dirend == ':'))
- dirend++;
+ /* d:/ and d: are *very* different... */
+ if (dirend < p + 3 && p[1] == ':' &&
+ (*dirend == '/' || *dirend == '\\' || *dirend == ':'))
+ dirend++;
#endif
- cp = alloca (dirend - p + 1);
- memcpy (cp, p, dirend - p);
- cp[dirend - p] = '\0';
+ cp = alloca (dirend - p + 1);
+ memcpy (cp, p, dirend - p);
+ cp[dirend - p] = '\0';
dirname = cp;
- }
+ }
dir = find_directory (dirname);
filename = p = slash + 1;
}
@@ -876,7 +870,7 @@ file_impossible (const char *filename)
if (dir->contents->dirfiles.ht_vec == 0)
{
hash_init (&dir->contents->dirfiles, DIRFILE_BUCKETS,
- dirfile_hash_1, dirfile_hash_2, dirfile_hash_cmp);
+ dirfile_hash_1, dirfile_hash_2, dirfile_hash_cmp);
}
/* Make a new entry and put it in the table. */
@@ -884,7 +878,7 @@ file_impossible (const char *filename)
new = xmalloc (sizeof (struct dirfile));
new->length = strlen (filename);
#if defined(HAVE_CASE_INSENSITIVE_FS) && defined(VMS)
- new->name = strcache_add_len (downcase(filename), new->length);
+ new->name = strcache_add_len (downcase (filename), new->length);
#else
new->name = strcache_add_len (filename, new->length);
#endif
@@ -898,7 +892,6 @@ int
file_impossible_p (const char *filename)
{
const char *dirend;
- const char *p = filename;
struct directory_contents *dir;
struct dirfile *dirfile;
struct dirfile dirfile_key;
@@ -912,7 +905,7 @@ file_impossible_p (const char *filename)
#ifdef HAVE_DOS_PATHS
/* Forward and backslashes might be mixed. We need the rightmost one. */
{
- const char *bslash = strrchr(filename, '\\');
+ const char *bslash = strrchr (filename, '\\');
if (!dirend || bslash > dirend)
dirend = bslash;
/* The case of "d:file". */
@@ -932,23 +925,23 @@ file_impossible_p (const char *filename)
const char *dirname;
const char *slash = dirend;
if (dirend == filename)
- dirname = "/";
+ dirname = "/";
else
- {
+ {
char *cp;
#ifdef HAVE_DOS_PATHS
- /* d:/ and d: are *very* different... */
- if (dirend < filename + 3 && filename[1] == ':' &&
- (*dirend == '/' || *dirend == '\\' || *dirend == ':'))
- dirend++;
+ /* d:/ and d: are *very* different... */
+ if (dirend < filename + 3 && filename[1] == ':' &&
+ (*dirend == '/' || *dirend == '\\' || *dirend == ':'))
+ dirend++;
#endif
- cp = alloca (dirend - filename + 1);
- memcpy (cp, p, dirend - p);
- cp[dirend - p] = '\0';
+ cp = alloca (dirend - filename + 1);
+ memcpy (cp, filename, dirend - filename);
+ cp[dirend - filename] = '\0';
dirname = cp;
- }
+ }
dir = find_directory (dirname)->contents;
- p = filename = slash + 1;
+ filename = slash + 1;
}
if (dir == 0 || dir->dirfiles.ht_vec == 0)
@@ -956,13 +949,13 @@ file_impossible_p (const char *filename)
return 0;
#ifdef __MSDOS__
- filename = dosify (p);
+ filename = dosify (filename);
#endif
#ifdef HAVE_CASE_INSENSITIVE_FS
- filename = downcase (p);
+ filename = downcase (filename);
#endif
#ifdef VMS
- filename = vmsify (p, 1);
+ filename = vmsify (filename, 1);
#endif
dirfile_key.name = filename;
@@ -1003,80 +996,80 @@ print_dir_data_base (void)
{
struct directory *dir = *dir_slot;
if (! HASH_VACANT (dir))
- {
- if (dir->contents == 0)
- printf (_("# %s: could not be stat'd.\n"), dir->name);
- else if (dir->contents->dirfiles.ht_vec == 0)
- {
+ {
+ if (dir->contents == 0)
+ printf (_("# %s: could not be stat'd.\n"), dir->name);
+ else if (dir->contents->dirfiles.ht_vec == 0)
+ {
#ifdef WINDOWS32
- printf (_("# %s (key %s, mtime %d): could not be opened.\n"),
- dir->name, dir->contents->path_key,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
- 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],
- dir->contents->ino[2]);
+ 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],
+ dir->contents->ino[2]);
#else
- printf (_("# %s (device %ld, inode %ld): could not be opened.\n"),
- dir->name, (long int) dir->contents->dev,
- (long int) dir->contents->ino);
+ printf (_("# %s (device %ld, inode %ld): could not be opened.\n"),
+ dir->name, (long int) dir->contents->dev,
+ (long int) dir->contents->ino);
#endif
#endif /* WINDOWS32 */
- }
- else
- {
- unsigned int f = 0;
- unsigned int im = 0;
- struct dirfile **files_slot;
- struct dirfile **files_end;
-
- files_slot = (struct dirfile **) dir->contents->dirfiles.ht_vec;
- files_end = files_slot + dir->contents->dirfiles.ht_size;
- for ( ; files_slot < files_end; files_slot++)
- {
- struct dirfile *df = *files_slot;
- if (! HASH_VACANT (df))
- {
- if (df->impossible)
- ++im;
- else
- ++f;
- }
- }
+ }
+ else
+ {
+ unsigned int f = 0;
+ unsigned int im = 0;
+ struct dirfile **files_slot;
+ struct dirfile **files_end;
+
+ files_slot = (struct dirfile **) dir->contents->dirfiles.ht_vec;
+ files_end = files_slot + dir->contents->dirfiles.ht_size;
+ for ( ; files_slot < files_end; files_slot++)
+ {
+ struct dirfile *df = *files_slot;
+ if (! HASH_VACANT (df))
+ {
+ if (df->impossible)
+ ++im;
+ else
+ ++f;
+ }
+ }
#ifdef WINDOWS32
- printf (_("# %s (key %s, mtime %d): "),
- dir->name, dir->contents->path_key, dir->contents->mtime);
+ printf (_("# %s (key %s, mtime %d): "),
+ dir->name, dir->contents->path_key, dir->contents->mtime);
#else /* WINDOWS32 */
#ifdef VMS
- printf (_("# %s (device %d, inode [%d,%d,%d]): "),
- dir->name, dir->contents->dev,
- dir->contents->ino[0], dir->contents->ino[1],
- dir->contents->ino[2]);
+ printf (_("# %s (device %d, inode [%d,%d,%d]): "),
+ dir->name, dir->contents->dev,
+ dir->contents->ino[0], dir->contents->ino[1],
+ dir->contents->ino[2]);
#else
- printf (_("# %s (device %ld, inode %ld): "),
- dir->name,
- (long)dir->contents->dev, (long)dir->contents->ino);
+ printf (_("# %s (device %ld, inode %ld): "),
+ dir->name,
+ (long)dir->contents->dev, (long)dir->contents->ino);
#endif
#endif /* WINDOWS32 */
- if (f == 0)
- fputs (_("No"), stdout);
- else
- printf ("%u", f);
- fputs (_(" files, "), stdout);
- if (im == 0)
- fputs (_("no"), stdout);
- else
- printf ("%u", im);
- fputs (_(" impossibilities"), stdout);
- if (dir->contents->dirstream == 0)
- puts (".");
- else
- puts (_(" so far."));
- files += f;
- impossible += im;
- }
- }
+ if (f == 0)
+ fputs (_("No"), stdout);
+ else
+ printf ("%u", f);
+ fputs (_(" files, "), stdout);
+ if (im == 0)
+ fputs (_("no"), stdout);
+ else
+ printf ("%u", im);
+ fputs (_(" impossibilities"), stdout);
+ if (dir->contents->dirstream == 0)
+ puts (".");
+ else
+ puts (_(" so far."));
+ files += f;
+ impossible += im;
+ }
+ }
}
fputs ("\n# ", stdout);
@@ -1145,52 +1138,48 @@ read_dirstream (__ptr_t stream)
{
struct dirfile *df = *ds->dirfile_slot++;
if (! HASH_VACANT (df) && !df->impossible)
- {
- /* The glob interface wants a `struct dirent', so mock one up. */
- struct dirent *d;
- unsigned int len = df->length + 1;
+ {
+ /* The glob interface wants a 'struct dirent', so mock one up. */
+ struct dirent *d;
+ unsigned int len = df->length + 1;
unsigned int sz = sizeof (*d) - sizeof (d->d_name) + len;
- if (sz > bufsz)
- {
- bufsz *= 2;
- if (sz > bufsz)
- bufsz = sz;
- buf = xrealloc (buf, bufsz);
- }
- d = (struct dirent *) buf;
+ if (sz > bufsz)
+ {
+ bufsz *= 2;
+ if (sz > bufsz)
+ bufsz = sz;
+ buf = xrealloc (buf, bufsz);
+ }
+ d = (struct dirent *) buf;
#ifdef __MINGW32__
# if __MINGW32_MAJOR_VERSION < 3 || (__MINGW32_MAJOR_VERSION == 3 && \
- __MINGW32_MINOR_VERSION == 0)
- d->d_name = xmalloc(len);
+ __MINGW32_MINOR_VERSION == 0)
+ d->d_name = xmalloc (len);
# endif
#endif
- FAKE_DIR_ENTRY (d);
+ FAKE_DIR_ENTRY (d);
#ifdef _DIRENT_HAVE_D_NAMLEN
- d->d_namlen = len - 1;
+ d->d_namlen = len - 1;
#endif
#ifdef _DIRENT_HAVE_D_TYPE
- d->d_type = DT_UNKNOWN;
+ d->d_type = DT_UNKNOWN;
#endif
- memcpy (d->d_name, df->name, len);
- return d;
- }
+ memcpy (d->d_name, df->name, len);
+ return d;
+ }
}
return 0;
}
-static void
-ansi_free (void *p)
-{
- if (p)
- free(p);
-}
-
/* On 64 bit ReliantUNIX (5.44 and above) in LFS mode, stat() is actually a
* macro for stat64(). If stat is a macro, make a local wrapper function to
* invoke it.
+ *
+ * On MS-Windows, stat() "succeeds" for foo/bar/. where foo/bar is a
+ * regular file; fix that here.
*/
-#ifndef stat
+#if !defined(stat) && !defined(WINDOWS32)
# ifndef VMS
int stat (const char *path, struct stat *sbuf);
# endif
@@ -1200,6 +1189,23 @@ static int
local_stat (const char *path, struct stat *buf)
{
int e;
+#ifdef WINDOWS32
+ size_t plen = strlen (path);
+
+ /* Make sure the parent of "." exists and is a directory, not a
+ file. This is because 'stat' on Windows normalizes the argument
+ foo/. => foo without checking first that foo is a directory. */
+ if (plen > 1 && path[plen - 1] == '.'
+ && (path[plen - 2] == '/' || path[plen - 2] == '\\'))
+ {
+ char parent[MAXPATHLEN];
+
+ strncpy (parent, path, plen - 2);
+ parent[plen - 2] = '\0';
+ if (stat (parent, buf) < 0 || !_S_ISDIR (buf->st_mode))
+ return -1;
+ }
+#endif
EINTRLOOP (e, stat (path, buf));
return e;
@@ -1211,7 +1217,7 @@ dir_setup_glob (glob_t *gl)
{
gl->gl_opendir = open_dirstream;
gl->gl_readdir = read_dirstream;
- gl->gl_closedir = ansi_free;
+ gl->gl_closedir = free;
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. */
@@ -1221,8 +1227,8 @@ void
hash_init_directories (void)
{
hash_init (&directories, DIRECTORY_BUCKETS,
- directory_hash_1, directory_hash_2, directory_hash_cmp);
+ directory_hash_1, directory_hash_2, directory_hash_cmp);
hash_init (&directory_contents, DIRECTORY_BUCKETS,
- directory_contents_hash_1, directory_contents_hash_2,
+ directory_contents_hash_1, directory_contents_hash_2,
directory_contents_hash_cmp);
}
diff --git a/doc/.cvsignore b/doc/.cvsignore
deleted file mode 100644
index 49f3e9db..00000000
--- a/doc/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-Makefile Makefile.in
-version.texi fdl.texi make-stds.texi texinfo.tex
-make.info*
-make*.html
-make.aux make.cp make.cps make.fn make.fns make.ky
-make.pg make.toc make.tp make.vr make.log
-make.dvi make.ps make.pdf
-stamp-vti
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 67eec3a7..03977bac 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,6 +1,5 @@
# -*-Makefile-*-, or close enough
-# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-# 2010 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
@@ -23,14 +22,3 @@ info_TEXINFOS = make.texi
make_TEXINFOS = fdl.texi make-stds.texi
CLEANFILES = make*.html
-
-## ----------------------------- ##
-## Other documentation formats. ##
-## ----------------------------- ##
-
-html: make_1.html
-
-make_1.html: $(info_TEXINFOS) $(make_TEXINFOS)
- $(TEXI2HTML) $(TEXI2HTML_FLAGS) $(srcdir)/make.texi
-
-.PHONY: html
diff --git a/doc/Makefile.in b/doc/Makefile.in
index a1089bc1..f930c6aa 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,8 +15,7 @@
@SET_MAKE@
# -*-Makefile-*-, or close enough
-# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-# 2010 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
@@ -33,6 +31,51 @@
# You should have received a copy of the GNU General Public License along with
# this program. If not, see <http://www.gnu.org/licenses/>.
VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -52,26 +95,67 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = doc
-DIST_COMMON = $(make_TEXINFOS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/stamp-vti \
- $(srcdir)/version.texi
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(make_TEXINFOS) $(top_srcdir)/config/mdate-sh \
+ $(srcdir)/version.texi $(srcdir)/stamp-vti \
+ $(top_srcdir)/config/texinfo.tex
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/dospaths.m4 \
$(top_srcdir)/config/gettext.m4 $(top_srcdir)/config/iconv.m4 \
- $(top_srcdir)/config/isc-posix.m4 \
+ $(top_srcdir)/config/intlmacosx.m4 \
$(top_srcdir)/config/lib-ld.m4 \
$(top_srcdir)/config/lib-link.m4 \
$(top_srcdir)/config/lib-prefix.m4 $(top_srcdir)/config/nls.m4 \
$(top_srcdir)/config/po.m4 $(top_srcdir)/config/progtest.m4 \
- $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.in
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
+AM_V_DVIPS = $(am__v_DVIPS_@AM_V@)
+am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@)
+am__v_DVIPS_0 = @echo " DVIPS " $@;
+am__v_DVIPS_1 =
+AM_V_MAKEINFO = $(am__v_MAKEINFO_@AM_V@)
+am__v_MAKEINFO_ = $(am__v_MAKEINFO_@AM_DEFAULT_V@)
+am__v_MAKEINFO_0 = @echo " MAKEINFO" $@;
+am__v_MAKEINFO_1 =
+AM_V_INFOHTML = $(am__v_INFOHTML_@AM_V@)
+am__v_INFOHTML_ = $(am__v_INFOHTML_@AM_DEFAULT_V@)
+am__v_INFOHTML_0 = @echo " INFOHTML" $@;
+am__v_INFOHTML_1 =
+AM_V_TEXI2DVI = $(am__v_TEXI2DVI_@AM_V@)
+am__v_TEXI2DVI_ = $(am__v_TEXI2DVI_@AM_DEFAULT_V@)
+am__v_TEXI2DVI_0 = @echo " TEXI2DVI" $@;
+am__v_TEXI2DVI_1 =
+AM_V_TEXI2PDF = $(am__v_TEXI2PDF_@AM_V@)
+am__v_TEXI2PDF_ = $(am__v_TEXI2PDF_@AM_DEFAULT_V@)
+am__v_TEXI2PDF_0 = @echo " TEXI2PDF" $@;
+am__v_TEXI2PDF_1 =
+AM_V_texinfo = $(am__v_texinfo_@AM_V@)
+am__v_texinfo_ = $(am__v_texinfo_@AM_DEFAULT_V@)
+am__v_texinfo_0 = -q
+am__v_texinfo_1 =
+AM_V_texidevnull = $(am__v_texidevnull_@AM_V@)
+am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@)
+am__v_texidevnull_0 = > /dev/null
+am__v_texidevnull_1 =
INFO_DEPS = $(srcdir)/make.info
TEXINFO_TEX = $(top_srcdir)/config/texinfo.tex
am__TEXINFO_TEX_DIR = $(top_srcdir)/config
@@ -85,6 +169,11 @@ TEXI2PDF = $(TEXI2DVI) --pdf --batch
MAKEINFOHTML = $(MAKEINFO) --html
AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
DVIPS = dvips
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
am__installdirs = "$(DESTDIR)$(infodir)"
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
@@ -107,10 +196,19 @@ am__nobase_list = $(am__nobase_strip_setup); \
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_LDFLAGS = @AM_LDFLAGS@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@@ -130,16 +228,21 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GLOBINC = @GLOBINC@
GLOBLIB = @GLOBLIB@
GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
+GUILE_CFLAGS = @GUILE_CFLAGS@
+GUILE_LIBS = @GUILE_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
KMEM_GROUP = @KMEM_GROUP@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
@@ -152,8 +255,8 @@ LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MAKE_HOST = @MAKE_HOST@
MKDIR_P = @MKDIR_P@
-MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEED_SETGID = @NEED_SETGID@
OBJEXT = @OBJEXT@
@@ -166,6 +269,9 @@ PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
POSUB = @POSUB@
RANLIB = @RANLIB@
REMOTE = @REMOTE@
@@ -175,10 +281,13 @@ STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -243,9 +352,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu doc/Makefile
+ $(AUTOMAKE) --foreign doc/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -266,7 +375,7 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
.texi.info:
- restore=: && backupdir="$(am__leading_dot)am$$$$" && \
+ $(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \
am__cwd=`pwd` && $(am__cd) $(srcdir) && \
rm -rf $$backupdir && mkdir $$backupdir && \
if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
@@ -288,27 +397,25 @@ $(am__aclocal_m4_deps):
rm -rf $$backupdir; exit $$rc
.texi.dvi:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+ $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
- $(TEXI2DVI) $<
+ $(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \
+ $<
.texi.pdf:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+ $(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
- $(TEXI2PDF) $<
+ $(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \
+ $<
.texi.html:
- rm -rf $(@:.html=.htp)
- if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
+ $(AM_V_MAKEINFO)rm -rf $(@:.html=.htp)
+ $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $(@:.html=.htp) $<; \
then \
- rm -rf $@; \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
+ rm -rf $@ && mv $(@:.html=.htp) $@; \
else \
- if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
- rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
- exit 1; \
+ rm -rf $(@:.html=.htp); exit 1; \
fi
$(srcdir)/make.info: make.texi $(srcdir)/version.texi $(make_TEXINFOS)
make.dvi: make.texi $(srcdir)/version.texi $(make_TEXINFOS)
@@ -334,8 +441,8 @@ mostlyclean-vti:
maintainer-clean-vti:
-rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
.dvi.ps:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- $(DVIPS) -o $@ $<
+ $(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+ $(DVIPS) $(AM_V_texinfo) -o $@ $<
uninstall-dvi-am:
@$(NORMAL_UNINSTALL)
@@ -357,9 +464,7 @@ uninstall-html-am:
uninstall-info-am:
@$(PRE_UNINSTALL)
- @if test -d '$(DESTDIR)$(infodir)' && \
- (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
+ @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \
list='$(INFO_DEPS)'; \
for file in $$list; do \
relfile=`echo "$$file" | sed 's|^.*/||'`; \
@@ -416,8 +521,7 @@ dist-info: $(INFO_DEPS)
done
mostlyclean-aminfo:
- -rm -rf make.aux make.cp make.cps make.fn make.fns make.ky make.kys \
- make.log make.pg make.tmp make.toc make.tp make.tps make.vr
+ -rm -rf make.t2d make.t2p
clean-aminfo:
-test -z "make.dvi make.pdf make.ps make.html" \
@@ -429,11 +533,11 @@ maintainer-clean-aminfo:
echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
done
-tags: TAGS
-TAGS:
+tags TAGS:
+
+ctags CTAGS:
-ctags: CTAGS
-CTAGS:
+cscope cscopelist:
distdir: $(DISTFILES)
@@ -486,10 +590,15 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
@@ -514,6 +623,8 @@ dvi: dvi-am
dvi-am: $(DVIS)
+html: html-am
+
html-am: $(HTMLS)
info: info-am
@@ -526,8 +637,11 @@ install-dvi: install-dvi-am
install-dvi-am: $(DVIS)
@$(NORMAL_INSTALL)
- test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
@list='$(DVIS)'; test -n "$(dvidir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(dvidir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(dvidir)" || exit 1; \
+ fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
@@ -542,18 +656,22 @@ install-html: install-html-am
install-html-am: $(HTMLS)
@$(NORMAL_INSTALL)
- test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
@list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \
+ fi; \
for p in $$list; do \
if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
$(am__strip_dir) \
- if test -d "$$d$$p"; then \
+ d2=$$d$$p; \
+ if test -d "$$d2"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
$(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
- echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
- $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
+ echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \
+ $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
else \
- list2="$$list2 $$d$$p"; \
+ list2="$$list2 $$d2"; \
fi; \
done; \
test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
@@ -565,9 +683,12 @@ install-info: install-info-am
install-info-am: $(INFO_DEPS)
@$(NORMAL_INSTALL)
- test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(infodir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(infodir)" || exit 1; \
+ fi; \
for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
@@ -585,8 +706,7 @@ install-info-am: $(INFO_DEPS)
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
@$(POST_INSTALL)
- @if (install-info --version && \
- install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
+ @if $(am__can_run_installinfo); then \
list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
for file in $$list; do \
relfile=`echo "$$file" | sed 's|^.*/||'`; \
@@ -600,8 +720,11 @@ install-pdf: install-pdf-am
install-pdf-am: $(PDFS)
@$(NORMAL_INSTALL)
- test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
@list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pdfdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pdfdir)" || exit 1; \
+ fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
@@ -613,8 +736,11 @@ install-ps: install-ps-am
install-ps-am: $(PSS)
@$(NORMAL_INSTALL)
- test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
@list='$(PSS)'; test -n "$(psdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(psdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(psdir)" || exit 1; \
+ fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
@@ -647,26 +773,20 @@ uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-aminfo clean-generic \
- dist-info distclean distclean-generic distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-aminfo maintainer-clean-generic \
- maintainer-clean-vti mostlyclean mostlyclean-aminfo \
- mostlyclean-generic mostlyclean-vti pdf pdf-am ps ps-am \
- uninstall uninstall-am uninstall-dvi-am uninstall-html-am \
- uninstall-info-am uninstall-pdf-am uninstall-ps-am
-
-
-html: make_1.html
-
-make_1.html: $(info_TEXINFOS) $(make_TEXINFOS)
- $(TEXI2HTML) $(TEXI2HTML_FLAGS) $(srcdir)/make.texi
-
-.PHONY: html
+ cscopelist-am ctags-am dist-info distclean distclean-generic \
+ distdir dvi dvi-am html html-am info info-am install \
+ install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-aminfo \
+ maintainer-clean-generic maintainer-clean-vti mostlyclean \
+ mostlyclean-aminfo mostlyclean-generic mostlyclean-vti pdf \
+ pdf-am ps ps-am tags-am uninstall uninstall-am \
+ uninstall-dvi-am uninstall-html-am uninstall-info-am \
+ uninstall-pdf-am uninstall-ps-am
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/doc/fdl.texi b/doc/fdl.texi
index fc19dddd..9c3bbe56 100644
--- a/doc/fdl.texi
+++ b/doc/fdl.texi
@@ -97,7 +97,7 @@ format, SGML or XML using a publicly available
DTD, and standard-conforming simple HTML,
PostScript or PDF designed for human modification. Examples
of transparent image formats include PNG, XCF and
-JPG. Opaque formats include proprietary formats that can be
+JPG@. Opaque formats include proprietary formats that can be
read and edited only by proprietary word processors, SGML or
XML for which the DTD and/or processing tools are
not generally available, and the machine-generated HTML,
@@ -481,7 +481,7 @@ license notices just after the title page:
@end smallexample
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the ``with@dots{}Texts.'' line with this:
+replace the ``with@dots{}Texts.''@: line with this:
@smallexample
@group
@@ -503,4 +503,3 @@ to permit their use in free software.
@c Local Variables:
@c ispell-local-pdict: "ispell-dict"
@c End:
-
diff --git a/doc/make-stds.texi b/doc/make-stds.texi
index 7cc9537b..db016287 100644
--- a/doc/make-stds.texi
+++ b/doc/make-stds.texi
@@ -8,7 +8,7 @@
@cindex standards for makefiles
@c Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001,
-@c 2004, 2005, 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
+@c 2004, 2005, 2006, 2007, 2008, 2010, 2013 Free Software Foundation, Inc.
@c
@c Permission is granted to copy, distribute and/or modify this document
@c under the terms of the GNU Free Documentation License, Version 1.3
@@ -518,6 +518,19 @@ in @file{$(datadir)} or @file{$(sysconfdir)}. @file{$(localstatedir)}
should normally be @file{/usr/local/var}, but write it as
@file{$(prefix)/var}.
(If you are using Autoconf, write it as @samp{@@localstatedir@@}.)
+
+@item runstatedir
+The directory for installing data files which the programs modify
+while they run, that pertain to one specific machine, and which need
+not persist longer than the execution of the program---which is
+generally long-lived, for example, until the next reboot. PID files
+for system daemons are a typical use. In addition, this directory
+should not be cleaned except perhaps at reboot, while the general
+@file{/tmp} (@code{TMPDIR}) may be cleaned arbitrarily. This should
+normally be @file{/var/run}, but write it as
+@file{$(localstatedir)/run}. Having it as a separate variable allows
+the use of @file{/run} if desired, for example. (If you are using
+Autoconf 2.70 or later, write it as @samp{@@runstatedir@@}.)
@end table
These variables specify the directory for installing certain specific
@@ -602,7 +615,7 @@ should be written as @file{$(datarootdir)/emacs/site-lisp}.
If you are using Autoconf, write the default as @samp{@@lispdir@@}.
In order to make @samp{@@lispdir@@} work, you need the following lines
-in your @file{configure.in} file:
+in your @file{configure.ac} file:
@example
lispdir='$@{datarootdir@}/emacs/site-lisp'
@@ -715,8 +728,9 @@ documentation format) files should be made only when explicitly asked
for.
By default, the Make rules should compile and link with @samp{-g}, so
-that executable programs have debugging symbols. Users who don't mind
-being helpless can strip the executables later if they wish.
+that executable programs have debugging symbols. Otherwise, you are
+essentially helpless in the face of a crash, and it is often far from
+easy to reproduce with a fresh build.
@item install
Compile the program and copy the executables, libraries, and so on to
@@ -724,8 +738,11 @@ the file names where they should reside for actual use. If there is a
simple test to verify that a program is properly installed, this target
should run that test.
-Do not strip executables when installing them. Devil-may-care users can
-use the @code{install-strip} target to do that.
+Do not strip executables when installing them. This helps eventual
+debugging that may be needed later, and nowadays disk space is cheap
+and dynamic loaders typically ensure debug sections are not loaded during
+normal execution. Users that need stripped binaries may invoke the
+@code{install-strip} target to do that.
If possible, write the @code{install} target rule so that it does not
modify anything in the directory where the program was built, provided
@@ -837,10 +854,7 @@ the program has no bugs. However, it can be reasonable to install a
stripped executable for actual execution while saving the unstripped
executable elsewhere in case there is a bug.
-@comment The gratuitous blank line here is to make the table look better
-@comment in the printed Make manual. Please leave it in.
@item clean
-
Delete all files in the current directory that are normally created by
building the program. Also delete files in other directories if they
are created by this makefile. However, don't delete the files that
@@ -943,11 +957,12 @@ foo.dvi: foo.texi chap1.texi chap2.texi
@end smallexample
@noindent
-You must define the variable @code{TEXI2DVI} in the Makefile. It should
-run the program @code{texi2dvi}, which is part of the Texinfo
-distribution.@footnote{@code{texi2dvi} uses @TeX{} to do the real work
-of formatting. @TeX{} is not distributed with Texinfo.} Alternatively,
-write just the dependencies, and allow GNU @code{make} to provide the command.
+You must define the variable @code{TEXI2DVI} in the Makefile. It
+should run the program @code{texi2dvi}, which is part of the Texinfo
+distribution. (@code{texi2dvi} uses @TeX{} to do the real work of
+formatting. @TeX{} is not distributed with Texinfo.) Alternatively,
+write only the dependencies, and allow GNU @code{make} to provide the
+command.
Here's another example, this one for generating HTML from Texinfo:
diff --git a/doc/make.info b/doc/make.info
index bd28f2bf..7a54c1b1 100644
--- a/doc/make.info
+++ b/doc/make.info
@@ -1,19 +1,19 @@
-This is make.info, produced by makeinfo version 4.13 from make.texi.
+This is make.info, produced by makeinfo version 5.2 from make.texi.
-This file documents the GNU `make' utility, which determines
-automatically which pieces of a large program need to be recompiled,
-and issues the commands to recompile them.
+This file documents the GNU 'make' utility, which determines
+automatically which pieces of a large program need to be recompiled, and
+issues the commands to recompile them.
- This is Edition 0.71, last updated 19 July 2010, of `The GNU Make
-Manual', for GNU `make' version 3.82.
+ This is Edition 0.73, last updated 5 October 2014, of 'The GNU Make
+Manual', for GNU 'make' version 4.1.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 Free Software Foundation, Inc.
+2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
- Version 1.2 or any later version published by the Free Software
+ Version 1.3 or any later version published by the Free Software
Foundation; with no Invariant Sections, with the Front-Cover Texts
being "A GNU Manual," and with the Back-Cover Texts as in (a)
below. A copy of the license is included in the section entitled
@@ -22,7 +22,6 @@ Manual', for GNU `make' version 3.82.
(a) The FSF's Back-Cover Text is: "You have the freedom to copy and
modify this GNU manual. Buying copies from the FSF supports it in
developing GNU and promoting software freedom."
-
INFO-DIR-SECTION Software development
START-INFO-DIR-ENTRY
* Make: (make). Remake files automatically.
@@ -30,158 +29,172 @@ END-INFO-DIR-ENTRY

Indirect:
-make.info-1: 1319
-make.info-2: 293656
+make.info-1: 1342
+make.info-2: 305689

Tag Table:
(Indirect)
-Node: Top1319
-Node: Overview14709
-Node: Preparing15719
-Node: Reading16690
-Node: Bugs17617
-Node: Introduction19446
-Node: Rule Introduction21037
-Node: Simple Makefile22970
-Node: How Make Works26666
-Node: Variables Simplify29321
-Node: make Deduces31527
-Node: Combine By Prerequisite33260
-Node: Cleanup34289
-Node: Makefiles35707
-Node: Makefile Contents36543
-Node: Makefile Names39649
-Node: Include41260
-Ref: Include-Footnote-145008
-Node: MAKEFILES Variable45142
-Node: Remaking Makefiles46683
-Node: Overriding Makefiles50907
-Node: Reading Makefiles52935
-Node: Secondary Expansion55947
-Node: Rules63388
-Node: Rule Example66060
-Node: Rule Syntax66914
-Node: Prerequisite Types69507
-Node: Wildcards72374
-Node: Wildcard Examples74092
-Node: Wildcard Pitfall75441
-Node: Wildcard Function77230
-Node: Directory Search79014
-Node: General Search80148
-Node: Selective Search81855
-Node: Search Algorithm84843
-Node: Recipes/Search87361
-Node: Implicit/Search88684
-Node: Libraries/Search89626
-Node: Phony Targets91596
-Node: Force Targets96665
-Node: Empty Targets97702
-Node: Special Targets99007
-Node: Multiple Targets106862
-Node: Multiple Rules108727
-Node: Static Pattern110945
-Node: Static Usage111597
-Node: Static versus Implicit115316
-Node: Double-Colon117057
-Node: Automatic Prerequisites118817
-Node: Recipes123095
-Node: Recipe Syntax124268
-Node: Splitting Lines126383
-Node: Variables in Recipes129483
-Node: Echoing130802
-Node: Execution132077
-Ref: Execution-Footnote-1133488
-Node: One Shell133633
-Node: Choosing the Shell136948
-Node: Parallel141094
-Node: Errors144815
-Node: Interrupts148483
-Node: Recursion150066
-Node: MAKE Variable152164
-Node: Variables/Recursion154411
-Node: Options/Recursion159861
-Node: -w Option165021
-Node: Canned Recipes166016
-Node: Empty Recipes169000
-Node: Using Variables170148
-Node: Reference173523
-Node: Flavors175081
-Node: Advanced180821
-Node: Substitution Refs181326
-Node: Computed Names182879
-Node: Values187425
-Node: Setting188342
-Node: Appending190378
-Node: Override Directive194304
-Node: Multi-Line195931
-Node: Undefine Directive198754
-Node: Environment199840
-Node: Target-specific202091
-Node: Pattern-specific205108
-Node: Suppressing Inheritance206954
-Node: Special Variables208408
-Node: Conditionals213121
-Node: Conditional Example213834
-Node: Conditional Syntax216397
-Node: Testing Flags222127
-Node: Functions223228
-Node: Syntax of Functions224659
-Node: Text Functions226858
-Node: File Name Functions235429
-Node: Conditional Functions240651
-Node: Foreach Function243025
-Node: Call Function246237
-Node: Value Function249122
-Node: Eval Function250559
-Node: Origin Function252835
-Node: Flavor Function256051
-Node: Shell Function257117
-Node: Make Control Functions258751
-Node: Running260413
-Node: Makefile Arguments262396
-Node: Goals263112
-Node: Instead of Execution267851
-Node: Avoiding Compilation271433
-Node: Overriding273407
-Node: Testing275710
-Node: Options Summary277594
-Node: Implicit Rules287992
-Node: Using Implicit290137
-Node: Catalogue of Rules293656
-Node: Implicit Variables303004
-Node: Chained Rules307761
-Node: Pattern Rules311772
-Node: Pattern Intro313307
-Node: Pattern Examples315895
-Node: Automatic Variables317701
-Node: Pattern Match325059
-Node: Match-Anything Rules328382
-Node: Canceling Rules332256
-Node: Last Resort332970
-Node: Suffix Rules334799
-Node: Implicit Rule Search338524
-Node: Archives342023
-Node: Archive Members342721
-Node: Archive Update344331
-Node: Archive Symbols346242
-Node: Archive Pitfalls347476
-Node: Archive Suffix Rules348198
-Node: Features349745
-Node: Missing358290
-Node: Makefile Conventions362017
-Node: Makefile Basics362996
-Node: Utilities in Makefiles366163
-Node: Command Variables368661
-Node: DESTDIR371900
-Node: Directory Variables374067
-Node: Standard Targets388682
-Ref: Standard Targets-Footnote-1402458
-Node: Install Command Categories402558
-Node: Quick Reference407084
-Node: Error Messages418767
-Node: Complex Makefile426463
-Node: GNU Free Documentation License434974
-Node: Concept Index460136
-Node: Name Index526637
+Node: Top1342
+Node: Overview16115
+Node: Preparing17128
+Node: Reading18096
+Node: Bugs19023
+Node: Introduction20852
+Node: Rule Introduction22445
+Node: Simple Makefile24378
+Node: How Make Works28114
+Node: Variables Simplify30763
+Node: make Deduces32969
+Node: Combine By Prerequisite34702
+Node: Cleanup35731
+Node: Makefiles37149
+Node: Makefile Contents37985
+Node: Splitting Lines41158
+Node: Makefile Names42918
+Node: Include44525
+Ref: Include-Footnote-148269
+Node: MAKEFILES Variable48403
+Node: Remaking Makefiles49944
+Node: Overriding Makefiles54169
+Node: Reading Makefiles56197
+Node: Secondary Expansion59659
+Node: Rules67120
+Node: Rule Example69793
+Node: Rule Syntax70646
+Node: Prerequisite Types73241
+Node: Wildcards76108
+Node: Wildcard Examples77827
+Node: Wildcard Pitfall79177
+Node: Wildcard Function80966
+Node: Directory Search82750
+Node: General Search83885
+Node: Selective Search85592
+Node: Search Algorithm88582
+Node: Recipes/Search91100
+Node: Implicit/Search92423
+Node: Libraries/Search93365
+Node: Phony Targets95336
+Node: Force Targets100173
+Node: Empty Targets101210
+Node: Special Targets102512
+Node: Multiple Targets110385
+Node: Multiple Rules112245
+Node: Static Pattern114463
+Node: Static Usage115115
+Node: Static versus Implicit118834
+Node: Double-Colon120574
+Node: Automatic Prerequisites122334
+Node: Recipes126595
+Node: Recipe Syntax127767
+Node: Splitting Recipe Lines129882
+Node: Variables in Recipes133035
+Node: Echoing134361
+Node: Execution135636
+Ref: Execution-Footnote-1137049
+Node: One Shell137194
+Node: Choosing the Shell140509
+Node: Parallel144653
+Node: Parallel Output147322
+Node: Parallel Input151749
+Node: Errors152868
+Node: Interrupts156532
+Node: Recursion158115
+Node: MAKE Variable160212
+Node: Variables/Recursion162455
+Node: Options/Recursion167900
+Node: -w Option173918
+Node: Canned Recipes174913
+Node: Empty Recipes177896
+Node: Using Variables179044
+Node: Reference182472
+Node: Flavors184030
+Node: Advanced190009
+Node: Substitution Refs190514
+Node: Computed Names192067
+Node: Values196615
+Node: Setting197532
+Node: Appending200441
+Node: Override Directive204383
+Node: Multi-Line206010
+Node: Undefine Directive208834
+Node: Environment209923
+Node: Target-specific212175
+Node: Pattern-specific215202
+Node: Suppressing Inheritance217049
+Node: Special Variables218502
+Node: Conditionals224911
+Node: Conditional Example225624
+Node: Conditional Syntax228187
+Node: Testing Flags233944
+Node: Functions235045
+Node: Syntax of Functions236605
+Node: Text Functions238939
+Node: File Name Functions247504
+Node: Conditional Functions252730
+Node: Foreach Function255105
+Node: File Function258318
+Node: Call Function260396
+Node: Value Function263281
+Node: Eval Function264718
+Node: Origin Function266994
+Node: Flavor Function270220
+Node: Make Control Functions271264
+Node: Shell Function272950
+Node: Guile Function274583
+Node: Running275333
+Node: Makefile Arguments277314
+Node: Goals278030
+Node: Instead of Execution282769
+Node: Avoiding Compilation286484
+Node: Overriding288459
+Node: Testing290771
+Node: Options Summary292655
+Node: Implicit Rules305689
+Node: Using Implicit307826
+Node: Catalogue of Rules311345
+Node: Implicit Variables320689
+Node: Chained Rules325762
+Node: Pattern Rules329772
+Node: Pattern Intro331306
+Node: Pattern Examples333888
+Node: Automatic Variables335695
+Node: Pattern Match343045
+Node: Match-Anything Rules346368
+Node: Canceling Rules350247
+Node: Last Resort350961
+Node: Suffix Rules352790
+Node: Implicit Rule Search356515
+Node: Archives360014
+Node: Archive Members360719
+Node: Archive Update362329
+Node: Archive Symbols364240
+Node: Archive Pitfalls365473
+Node: Archive Suffix Rules366195
+Node: Extending make367743
+Node: Guile Integration368880
+Node: Guile Types370108
+Node: Guile Interface372528
+Node: Guile Example373814
+Node: Loading Objects376005
+Node: load Directive377495
+Node: Remaking Loaded Objects380249
+Node: Loaded Object API380883
+Node: Loaded Object Example387645
+Node: Features389892
+Node: Missing399059
+Node: Makefile Conventions402784
+Node: Makefile Basics403763
+Node: Utilities in Makefiles406930
+Node: Command Variables409429
+Node: DESTDIR412669
+Node: Directory Variables414836
+Node: Standard Targets430192
+Node: Install Command Categories444298
+Node: Quick Reference448824
+Node: Error Messages461529
+Node: Complex Makefile469425
+Node: GNU Free Documentation License478043
+Node: Concept Index503185
+Node: Name Index573971

End Tag Table
diff --git a/doc/make.info-1 b/doc/make.info-1
index 509ce052..2a1a9224 100644
--- a/doc/make.info-1
+++ b/doc/make.info-1
@@ -1,19 +1,19 @@
-This is make.info, produced by makeinfo version 4.13 from make.texi.
+This is make.info, produced by makeinfo version 5.2 from make.texi.
-This file documents the GNU `make' utility, which determines
-automatically which pieces of a large program need to be recompiled,
-and issues the commands to recompile them.
+This file documents the GNU 'make' utility, which determines
+automatically which pieces of a large program need to be recompiled, and
+issues the commands to recompile them.
- This is Edition 0.71, last updated 19 July 2010, of `The GNU Make
-Manual', for GNU `make' version 3.82.
+ This is Edition 0.73, last updated 5 October 2014, of 'The GNU Make
+Manual', for GNU 'make' version 4.1.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 Free Software Foundation, Inc.
+2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
- Version 1.2 or any later version published by the Free Software
+ Version 1.3 or any later version published by the Free Software
Foundation; with no Invariant Sections, with the Front-Cover Texts
being "A GNU Manual," and with the Back-Cover Texts as in (a)
below. A copy of the license is included in the section entitled
@@ -22,7 +22,6 @@ Manual', for GNU `make' version 3.82.
(a) The FSF's Back-Cover Text is: "You have the freedom to copy and
modify this GNU manual. Buying copies from the FSF supports it in
developing GNU and promoting software freedom."
-
INFO-DIR-SECTION Software development
START-INFO-DIR-ENTRY
* Make: (make). Remake files automatically.
@@ -31,23 +30,23 @@ END-INFO-DIR-ENTRY

File: make.info, Node: Top, Next: Overview, Prev: (dir), Up: (dir)
-GNU `make'
+GNU 'make'
**********
-This file documents the GNU `make' utility, which determines
-automatically which pieces of a large program need to be recompiled,
-and issues the commands to recompile them.
+This file documents the GNU 'make' utility, which determines
+automatically which pieces of a large program need to be recompiled, and
+issues the commands to recompile them.
- This is Edition 0.71, last updated 19 July 2010, of `The GNU Make
-Manual', for GNU `make' version 3.82.
+ This is Edition 0.73, last updated 5 October 2014, of 'The GNU Make
+Manual', for GNU 'make' version 4.1.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 Free Software Foundation, Inc.
+2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
- Version 1.2 or any later version published by the Free Software
+ Version 1.3 or any later version published by the Free Software
Foundation; with no Invariant Sections, with the Front-Cover Texts
being "A GNU Manual," and with the Back-Cover Texts as in (a)
below. A copy of the license is included in the section entitled
@@ -59,49 +58,50 @@ Manual', for GNU `make' version 3.82.
* Menu:
-* Overview:: Overview of `make'.
-* Introduction:: An introduction to `make'.
-* Makefiles:: Makefiles tell `make' what to do.
+* Overview:: Overview of 'make'.
+* Introduction:: An introduction to 'make'.
+* Makefiles:: Makefiles tell 'make' what to do.
* Rules:: Rules describe when a file must be remade.
* Recipes:: Recipes say how to remake a file.
* Using Variables:: You can use variables to avoid repetition.
* Conditionals:: Use or ignore parts of the makefile based
on the values of variables.
* Functions:: Many powerful ways to manipulate text.
-* Invoking make: Running. How to invoke `make' on the command line.
+* Invoking make: Running. How to invoke 'make' on the command line.
* Implicit Rules:: Use implicit rules to treat many files alike,
based on their file names.
-* Archives:: How `make' can update library archives.
-* Features:: Features GNU `make' has over other `make's.
-* Missing:: What GNU `make' lacks from other `make's.
+* Archives:: How 'make' can update library archives.
+* Extending make:: Using extensions to 'make'.
+* Features:: Features GNU 'make' has over other 'make's.
+* Missing:: What GNU 'make' lacks from other 'make's.
* Makefile Conventions:: Conventions for writing makefiles for
GNU programs.
* Quick Reference:: A quick reference for experienced users.
-* Error Messages:: A list of common errors generated by `make'.
+* Error Messages:: A list of common errors generated by 'make'.
* Complex Makefile:: A real example of a straightforward,
but nontrivial, makefile.
-* GNU Free Documentation License:: License for copying this manual
-* Concept Index:: Index of Concepts
-* Name Index:: Index of Functions, Variables, & Directives
+* GNU Free Documentation License:: License for copying this manual.
+* Concept Index:: Index of Concepts.
+* Name Index:: Index of Functions, Variables, & Directives.
- --- The Detailed Node Listing ---
+ -- The Detailed Node Listing --
-Overview of `make'
+Overview of 'make'
-* Preparing:: Preparing and running make
-* Reading:: On reading this text
-* Bugs:: Problems and bugs
+* Preparing:: Preparing and running 'make'.
+* Reading:: On reading this text.
+* Bugs:: Problems and bugs.
An Introduction to Makefiles
* Rule Introduction:: What a rule looks like.
-* Simple Makefile:: A simple makefile
-* How Make Works:: How `make' processes this makefile
-* Variables Simplify:: Variables make makefiles simpler
-* make Deduces:: Letting `make' deduce the recipe
-* Combine By Prerequisite:: Another style of makefile
-* Cleanup:: Rules for cleaning the directory
+* Simple Makefile:: A simple makefile.
+* How Make Works:: How 'make' processes this makefile.
+* Variables Simplify:: Variables make makefiles simpler.
+* make Deduces:: Letting 'make' deduce the recipes.
+* Combine By Prerequisite:: Another style of makefile.
+* Cleanup:: Rules for cleaning the directory.
Writing Makefiles
@@ -115,12 +115,16 @@ Writing Makefiles
* Reading Makefiles:: How makefiles are parsed.
* Secondary Expansion:: How and when secondary expansion is performed.
+What Makefiles Contain
+
+* Splitting Lines:: Splitting long lines in makefiles
+
Writing Rules
* Rule Example:: An example explained.
* Rule Syntax:: General syntax explained.
* Prerequisite Types:: There are two types of prerequisites.
-* Wildcards:: Using wildcard characters such as `*'.
+* Wildcards:: Using wildcard characters such as '*'.
* Directory Search:: Searching other directories for source files.
* Phony Targets:: Using a target that is not a real file's name.
* Force Targets:: You can use a target without a recipe
@@ -141,7 +145,7 @@ Writing Rules
Using Wildcard Characters in File Names
-* Wildcard Examples:: Several examples
+* Wildcard Examples:: Several examples.
* Wildcard Pitfall:: Problems to avoid.
* Wildcard Function:: How to cause wildcard expansion where
it does not normally take place.
@@ -171,27 +175,33 @@ Writing Recipes in Rules
* Parallel:: How recipes can be executed in parallel.
* Errors:: What happens after a recipe execution error.
* Interrupts:: What happens when a recipe is interrupted.
-* Recursion:: Invoking `make' from makefiles.
+* Recursion:: Invoking 'make' from makefiles.
* Canned Recipes:: Defining canned recipes.
* Empty Recipes:: Defining useful, do-nothing recipes.
Recipe Syntax
-* Splitting Lines:: Breaking long recipe lines for readability.
-* Variables in Recipes:: Using `make' variables in recipes.
+* Splitting Recipe Lines:: Breaking long recipe lines for readability.
+* Variables in Recipes:: Using 'make' variables in recipes.
Recipe Execution
-* Choosing the Shell:: How `make' chooses the shell used
+* One Shell:: One shell for all lines in a recipe.
+* Choosing the Shell:: How 'make' chooses the shell used
to run recipes.
-Recursive Use of `make'
+Parallel Execution
+
+* Parallel Output:: Handling output during parallel execution
+* Parallel Input:: Handling input during parallel execution
+
+Recursive Use of 'make'
-* MAKE Variable:: The special effects of using `$(MAKE)'.
-* Variables/Recursion:: How to communicate variables to a sub-`make'.
-* Options/Recursion:: How to communicate options to a sub-`make'.
-* -w Option:: How the `-w' or `--print-directory' option
- helps debug use of recursive `make' commands.
+* MAKE Variable:: The special effects of using '$(MAKE)'.
+* Variables/Recursion:: How to communicate variables to a sub-'make'.
+* Options/Recursion:: How to communicate options to a sub-'make'.
+* -w Option:: How the '-w' or '--print-directory' option
+ helps debug use of recursive 'make' commands.
How to Use Variables
@@ -206,6 +216,8 @@ How to Use Variables
the user has set it with a command argument.
* Multi-Line:: An alternate way to set a variable
to a multi-line string.
+* Undefine Directive:: How to undefine a variable so that it appears
+ as if it was never set.
* Environment:: Variable values can come from the environment.
* Target-specific:: Variable values can be defined on a per-target
basis.
@@ -233,15 +245,17 @@ Functions for Transforming Text
* File Name Functions:: Functions for manipulating file names.
* Conditional Functions:: Functions that implement conditions.
* Foreach Function:: Repeat some text with controlled variation.
+* File Function:: Write text to a file.
* Call Function:: Expand a user-defined function.
* Value Function:: Return the un-expanded value of a variable.
* Eval Function:: Evaluate the arguments as makefile syntax.
* Origin Function:: Find where a variable got its value.
* Flavor Function:: Find out the flavor of a variable.
-* Shell Function:: Substitute the output of a shell command.
* Make Control Functions:: Functions that control how make runs.
+* Shell Function:: Substitute the output of a shell command.
+* Guile Function:: Use GNU Guile embedded scripting language.
-How to Run `make'
+How to Run 'make'
* Makefile Arguments:: How to specify which makefile to use.
* Goals:: How to use goal arguments to specify which
@@ -260,8 +274,8 @@ How to Run `make'
Using Implicit Rules
* Using Implicit:: How to use an existing implicit rule
- to get the recipe for updating a file.
-* Catalogue of Rules:: A list of built-in implicit rules.
+ to get the recipes for updating a file.
+* Catalogue of Rules:: A list of built-in rules.
* Implicit Variables:: How to change what predefined rules do.
* Chained Rules:: How to use a chain of implicit rules.
* Pattern Rules:: How to define new implicit rules.
@@ -283,7 +297,7 @@ Defining and Redefining Pattern Rules
target file whatever.
* Canceling Rules:: How to override or cancel built-in rules.
-Using `make' to Update Archive Files
+Using 'make' to Update Archive Files
* Archive Members:: Archive members as targets.
* Archive Update:: The implicit rule for archive member targets.
@@ -295,32 +309,51 @@ Implicit Rule for Archive Member Targets
* Archive Symbols:: How to update archive symbol directories.
+Extending GNU 'make'
+
+* Guile Integration:: Using Guile as an embedded scripting language.
+* Loading Objects:: Loading dynamic objects as extensions.
+
+GNU Guile Integration
+
+* Guile Types:: Converting Guile types to 'make' strings.
+* Guile Interface:: Invoking 'make' functions from Guile.
+* Guile Example:: Example using Guile in 'make'.
+
+Loading Dynamic Objects
+
+* load Directive:: Loading dynamic objects as extensions.
+* Remaking Loaded Objects:: How loaded objects get remade.
+* Loaded Object API:: Programmatic interface for loaded objects.
+* Loaded Object Example:: Example of a loaded object
+
+

File: make.info, Node: Overview, Next: Introduction, Prev: Top, Up: Top
-1 Overview of `make'
+1 Overview of 'make'
********************
-The `make' utility automatically determines which pieces of a large
+The 'make' utility automatically determines which pieces of a large
program need to be recompiled, and issues commands to recompile them.
-This manual describes GNU `make', which was implemented by Richard
+This manual describes GNU 'make', which was implemented by Richard
Stallman and Roland McGrath. Development since Version 3.76 has been
handled by Paul D. Smith.
- GNU `make' conforms to section 6.2 of `IEEE Standard 1003.2-1992'
-(POSIX.2).
+ GNU 'make' conforms to section 6.2 of 'IEEE Standard 1003.2-1992'
+(POSIX.2).
- Our examples show C programs, since they are most common, but you
-can use `make' with any programming language whose compiler can be run
-with a shell command. Indeed, `make' is not limited to programs. You
-can use it to describe any task where some files must be updated
+ Our examples show C programs, since they are most common, but you can
+use 'make' with any programming language whose compiler can be run with
+a shell command. Indeed, 'make' is not limited to programs. You can
+use it to describe any task where some files must be updated
automatically from others whenever the others change.
* Menu:
-* Preparing:: Preparing and Running Make
-* Reading:: On Reading this Text
-* Bugs:: Problems and Bugs
+* Preparing:: Preparing and running 'make'.
+* Reading:: On reading this text.
+* Bugs:: Problems and bugs.

File: make.info, Node: Preparing, Next: Reading, Prev: Overview, Up: Overview
@@ -328,24 +361,24 @@ File: make.info, Node: Preparing, Next: Reading, Prev: Overview, Up: Overvie
Preparing and Running Make
==========================
- To prepare to use `make', you must write a file called the
-"makefile" that describes the relationships among files in your program
-and provides commands for updating each file. In a program, typically,
-the executable file is updated from object files, which are in turn
-made by compiling source files.
+To prepare to use 'make', you must write a file called the "makefile"
+that describes the relationships among files in your program and
+provides commands for updating each file. In a program, typically, the
+executable file is updated from object files, which are in turn made by
+compiling source files.
Once a suitable makefile exists, each time you change some source
files, this simple shell command:
make
-suffices to perform all necessary recompilations. The `make' program
-uses the makefile data base and the last-modification times of the
-files to decide which of the files need to be updated. For each of
-those files, it issues the recipes recorded in the data base.
+suffices to perform all necessary recompilations. The 'make' program
+uses the makefile data base and the last-modification times of the files
+to decide which of the files need to be updated. For each of those
+files, it issues the recipes recorded in the data base.
- You can provide command line arguments to `make' to control which
-files should be recompiled, or how. *Note How to Run `make': Running.
+ You can provide command line arguments to 'make' to control which
+files should be recompiled, or how. *Note How to Run 'make': Running.

File: make.info, Node: Reading, Next: Bugs, Prev: Preparing, Up: Overview
@@ -353,17 +386,17 @@ File: make.info, Node: Reading, Next: Bugs, Prev: Preparing, Up: Overview
1.1 How to Read This Manual
===========================
-If you are new to `make', or are looking for a general introduction,
+If you are new to 'make', or are looking for a general introduction,
read the first few sections of each chapter, skipping the later
sections. In each chapter, the first few sections contain introductory
or general information and the later sections contain specialized or
technical information. The exception is the second chapter, *note An
Introduction to Makefiles: Introduction, all of which is introductory.
- If you are familiar with other `make' programs, see *note Features
-of GNU `make': Features, which lists the enhancements GNU `make' has,
-and *note Incompatibilities and Missing Features: Missing, which
-explains the few things GNU `make' lacks that others have.
+ If you are familiar with other 'make' programs, see *note Features of
+GNU 'make': Features, which lists the enhancements GNU 'make' has, and
+*note Incompatibilities and Missing Features: Missing, which explains
+the few things GNU 'make' lacks that others have.
For a quick summary, see *note Options Summary::, *note Quick
Reference::, and *note Special Targets::.
@@ -374,9 +407,9 @@ File: make.info, Node: Bugs, Prev: Reading, Up: Overview
1.2 Problems and Bugs
=====================
-If you have problems with GNU `make' or think you've found a bug,
-please report it to the developers; we cannot promise to do anything but
-we might well want to fix it.
+If you have problems with GNU 'make' or think you've found a bug, please
+report it to the developers; we cannot promise to do anything but we
+might well want to fix it.
Before reporting a bug, make sure you've actually found a real bug.
Carefully reread the documentation and see if it really says you can do
@@ -386,14 +419,14 @@ documentation!
Before reporting a bug or trying to fix it yourself, try to isolate
it to the smallest possible makefile that reproduces the problem. Then
-send us the makefile and the exact results `make' gave you, including
+send us the makefile and the exact results 'make' gave you, including
any error or warning messages. Please don't paraphrase these messages:
it's best to cut and paste them into your report. When generating this
-small makefile, be sure to not use any non-free or unusual tools in
-your recipes: you can almost always emulate what such a tool would do
-with simple shell commands. Finally, be sure to explain what you
-expected to occur; this will help us decide whether the problem was
-really in the documentation.
+small makefile, be sure to not use any non-free or unusual tools in your
+recipes: you can almost always emulate what such a tool would do with
+simple shell commands. Finally, be sure to explain what you expected to
+occur; this will help us decide whether the problem was really in the
+documentation.
Once you have a precise problem you can report it in one of two ways.
Either send electronic mail to:
@@ -405,11 +438,11 @@ or use our Web-based project management tool, at:
http://savannah.gnu.org/projects/make/
In addition to the information above, please be careful to include the
-version number of `make' you are using. You can get this information
-with the command `make --version'. Be sure also to include the type of
+version number of 'make' you are using. You can get this information
+with the command 'make --version'. Be sure also to include the type of
machine and operating system you are using. One way to obtain this
information is by looking at the final lines of output from the command
-`make --help'.
+'make --help'.

File: make.info, Node: Introduction, Next: Makefiles, Prev: Overview, Up: Top
@@ -417,33 +450,33 @@ File: make.info, Node: Introduction, Next: Makefiles, Prev: Overview, Up: To
2 An Introduction to Makefiles
******************************
-You need a file called a "makefile" to tell `make' what to do. Most
-often, the makefile tells `make' how to compile and link a program.
+You need a file called a "makefile" to tell 'make' what to do. Most
+often, the makefile tells 'make' how to compile and link a program.
- In this chapter, we will discuss a simple makefile that describes
-how to compile and link a text editor which consists of eight C source
-files and three header files. The makefile can also tell `make' how to
-run miscellaneous commands when explicitly asked (for example, to remove
+ In this chapter, we will discuss a simple makefile that describes how
+to compile and link a text editor which consists of eight C source files
+and three header files. The makefile can also tell 'make' how to run
+miscellaneous commands when explicitly asked (for example, to remove
certain files as a clean-up operation). To see a more complex example
of a makefile, see *note Complex Makefile::.
- When `make' recompiles the editor, each changed C source file must
-be recompiled. If a header file has changed, each C source file that
+ When 'make' recompiles the editor, each changed C source file must be
+recompiled. If a header file has changed, each C source file that
includes the header file must be recompiled to be safe. Each
compilation produces an object file corresponding to the source file.
Finally, if any source file has been recompiled, all the object files,
whether newly made or saved from previous compilations, must be linked
-together to produce the new executable editor.
+together to produce the new executable editor.
* Menu:
* Rule Introduction:: What a rule looks like.
-* Simple Makefile:: A Simple Makefile
-* How Make Works:: How `make' Processes This Makefile
-* Variables Simplify:: Variables Make Makefiles Simpler
-* make Deduces:: Letting `make' Deduce the Recipes
-* Combine By Prerequisite:: Another Style of Makefile
-* Cleanup:: Rules for Cleaning the Directory
+* Simple Makefile:: A simple makefile.
+* How Make Works:: How 'make' processes this makefile.
+* Variables Simplify:: Variables make makefiles simpler.
+* make Deduces:: Letting 'make' deduce the recipes.
+* Combine By Prerequisite:: Another style of makefile.
+* Cleanup:: Rules for cleaning the directory.

File: make.info, Node: Rule Introduction, Next: Simple Makefile, Prev: Introduction, Up: Introduction
@@ -460,36 +493,36 @@ A simple makefile consists of "rules" with the following shape:
A "target" is usually the name of a file that is generated by a
program; examples of targets are executable or object files. A target
-can also be the name of an action to carry out, such as `clean' (*note
+can also be the name of an action to carry out, such as 'clean' (*note
Phony Targets::).
A "prerequisite" is a file that is used as input to create the
target. A target often depends on several files.
- A "recipe" is an action that `make' carries out. A recipe may have
+ A "recipe" is an action that 'make' carries out. A recipe may have
more than one command, either on the same line or each on its own line.
-*Please note:* you need to put a tab character at the beginning of
-every recipe line! This is an obscurity that catches the unwary. If
-you prefer to prefix your recipes with a character other than tab, you
-can set the `.RECIPEPREFIX' variable to an alternate character (*note
+*Please note:* you need to put a tab character at the beginning of every
+recipe line! This is an obscurity that catches the unwary. If you
+prefer to prefix your recipes with a character other than tab, you can
+set the '.RECIPEPREFIX' variable to an alternate character (*note
Special Variables::).
- Usually a recipe is in a rule with prerequisites and serves to
-create a target file if any of the prerequisites change. However, the
-rule that specifies a recipe for the target need not have
-prerequisites. For example, the rule containing the delete command
-associated with the target `clean' does not have prerequisites.
+ Usually a recipe is in a rule with prerequisites and serves to create
+a target file if any of the prerequisites change. However, the rule
+that specifies a recipe for the target need not have prerequisites. For
+example, the rule containing the delete command associated with the
+target 'clean' does not have prerequisites.
A "rule", then, explains how and when to remake certain files which
-are the targets of the particular rule. `make' carries out the recipe
+are the targets of the particular rule. 'make' carries out the recipe
on the prerequisites to create or update the target. A rule can also
explain how and when to carry out an action. *Note Writing Rules:
Rules.
A makefile may contain other text besides rules, but a simple
makefile need only contain rules. Rules may look somewhat more
-complicated than shown in this template, but all fit the pattern more
-or less.
+complicated than shown in this template, but all fit the pattern more or
+less.

File: make.info, Node: Simple Makefile, Next: How Make Works, Prev: Rule Introduction, Up: Introduction
@@ -498,12 +531,12 @@ File: make.info, Node: Simple Makefile, Next: How Make Works, Prev: Rule Intr
=====================
Here is a straightforward makefile that describes the way an executable
-file called `edit' depends on eight object files which, in turn, depend
+file called 'edit' depends on eight object files which, in turn, depend
on eight C source and three header files.
- In this example, all the C files include `defs.h', but only those
-defining editing commands include `command.h', and only low level files
-that change the editor buffer include `buffer.h'.
+ In this example, all the C files include 'defs.h', but only those
+defining editing commands include 'command.h', and only low level files
+that change the editor buffer include 'buffer.h'.
edit : main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o
@@ -530,10 +563,11 @@ that change the editor buffer include `buffer.h'.
rm edit main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o
-We split each long line into two lines using backslash-newline; this is
-like using one long line, but is easier to read.
+We split each long line into two lines using backslash/newline; this is
+like using one long line, but is easier to read. *Note Splitting Long
+Lines: Splitting Lines.
- To use this makefile to create the executable file called `edit',
+ To use this makefile to create the executable file called 'edit',
type:
make
@@ -544,92 +578,92 @@ files from the directory, type:
make clean
In the example makefile, the targets include the executable file
-`edit', and the object files `main.o' and `kbd.o'. The prerequisites
-are files such as `main.c' and `defs.h'. In fact, each `.o' file is
-both a target and a prerequisite. Recipes include `cc -c main.c' and
-`cc -c kbd.c'.
+'edit', and the object files 'main.o' and 'kbd.o'. The prerequisites
+are files such as 'main.c' and 'defs.h'. In fact, each '.o' file is
+both a target and a prerequisite. Recipes include 'cc -c main.c' and
+'cc -c kbd.c'.
When a target is a file, it needs to be recompiled or relinked if any
of its prerequisites change. In addition, any prerequisites that are
themselves automatically generated should be updated first. In this
-example, `edit' depends on each of the eight object files; the object
-file `main.o' depends on the source file `main.c' and on the header
-file `defs.h'.
+example, 'edit' depends on each of the eight object files; the object
+file 'main.o' depends on the source file 'main.c' and on the header file
+'defs.h'.
A recipe may follow each line that contains a target and
prerequisites. These recipes say how to update the target file. A tab
-character (or whatever character is specified by the `.RECIPEPREFIX'
-variable; *note Special Variables::) must come at the beginning of
-every line in the recipe to distinguish recipes from other lines in the
-makefile. (Bear in mind that `make' does not know anything about how
+character (or whatever character is specified by the '.RECIPEPREFIX'
+variable; *note Special Variables::) must come at the beginning of every
+line in the recipe to distinguish recipes from other lines in the
+makefile. (Bear in mind that 'make' does not know anything about how
the recipes work. It is up to you to supply recipes that will update
-the target file properly. All `make' does is execute the recipe you
-have specified when the target file needs to be updated.)
+the target file properly. All 'make' does is execute the recipe you
+have specified when the target file needs to be updated.)
- The target `clean' is not a file, but merely the name of an action.
+ The target 'clean' is not a file, but merely the name of an action.
Since you normally do not want to carry out the actions in this rule,
-`clean' is not a prerequisite of any other rule. Consequently, `make'
+'clean' is not a prerequisite of any other rule. Consequently, 'make'
never does anything with it unless you tell it specifically. Note that
this rule not only is not a prerequisite, it also does not have any
prerequisites, so the only purpose of the rule is to run the specified
recipe. Targets that do not refer to files but are just actions are
called "phony targets". *Note Phony Targets::, for information about
this kind of target. *Note Errors in Recipes: Errors, to see how to
-cause `make' to ignore errors from `rm' or any other command.
+cause 'make' to ignore errors from 'rm' or any other command.

File: make.info, Node: How Make Works, Next: Variables Simplify, Prev: Simple Makefile, Up: Introduction
-2.3 How `make' Processes a Makefile
+2.3 How 'make' Processes a Makefile
===================================
-By default, `make' starts with the first target (not targets whose
-names start with `.'). This is called the "default goal". ("Goals"
-are the targets that `make' strives ultimately to update. You can
-override this behavior using the command line (*note Arguments to
-Specify the Goals: Goals.) or with the `.DEFAULT_GOAL' special variable
-(*note Other Special Variables: Special Variables.).
+By default, 'make' starts with the first target (not targets whose names
+start with '.'). This is called the "default goal". ("Goals" are the
+targets that 'make' strives ultimately to update. You can override this
+behavior using the command line (*note Arguments to Specify the Goals:
+Goals.) or with the '.DEFAULT_GOAL' special variable (*note Other
+Special Variables: Special Variables.).
In the simple example of the previous section, the default goal is to
-update the executable program `edit'; therefore, we put that rule first.
+update the executable program 'edit'; therefore, we put that rule first.
Thus, when you give the command:
make
-`make' reads the makefile in the current directory and begins by
+'make' reads the makefile in the current directory and begins by
processing the first rule. In the example, this rule is for relinking
-`edit'; but before `make' can fully process this rule, it must process
-the rules for the files that `edit' depends on, which in this case are
-the object files. Each of these files is processed according to its
-own rule. These rules say to update each `.o' file by compiling its
-source file. The recompilation must be done if the source file, or any
-of the header files named as prerequisites, is more recent than the
-object file, or if the object file does not exist.
+'edit'; but before 'make' can fully process this rule, it must process
+the rules for the files that 'edit' depends on, which in this case are
+the object files. Each of these files is processed according to its own
+rule. These rules say to update each '.o' file by compiling its source
+file. The recompilation must be done if the source file, or any of the
+header files named as prerequisites, is more recent than the object
+file, or if the object file does not exist.
The other rules are processed because their targets appear as
prerequisites of the goal. If some other rule is not depended on by the
goal (or anything it depends on, etc.), that rule is not processed,
-unless you tell `make' to do so (with a command such as `make clean').
+unless you tell 'make' to do so (with a command such as 'make clean').
- Before recompiling an object file, `make' considers updating its
+ Before recompiling an object file, 'make' considers updating its
prerequisites, the source file and header files. This makefile does not
-specify anything to be done for them--the `.c' and `.h' files are not
-the targets of any rules--so `make' does nothing for these files. But
-`make' would update automatically generated C programs, such as those
+specify anything to be done for them--the '.c' and '.h' files are not
+the targets of any rules--so 'make' does nothing for these files. But
+'make' would update automatically generated C programs, such as those
made by Bison or Yacc, by their own rules at this time.
- After recompiling whichever object files need it, `make' decides
-whether to relink `edit'. This must be done if the file `edit' does
-not exist, or if any of the object files are newer than it. If an
-object file was just recompiled, it is now newer than `edit', so `edit'
-is relinked.
+ After recompiling whichever object files need it, 'make' decides
+whether to relink 'edit'. This must be done if the file 'edit' does not
+exist, or if any of the object files are newer than it. If an object
+file was just recompiled, it is now newer than 'edit', so 'edit' is
+relinked.
- Thus, if we change the file `insert.c' and run `make', `make' will
-compile that file to update `insert.o', and then link `edit'. If we
-change the file `command.h' and run `make', `make' will recompile the
-object files `kbd.o', `command.o' and `files.o' and then link the file
-`edit'.
+ Thus, if we change the file 'insert.c' and run 'make', 'make' will
+compile that file to update 'insert.o', and then link 'edit'. If we
+change the file 'command.h' and run 'make', 'make' will recompile the
+object files 'kbd.o', 'command.o' and 'files.o' and then link the file
+'edit'.

File: make.info, Node: Variables Simplify, Next: make Deduces, Prev: How Make Works, Up: Introduction
@@ -638,7 +672,7 @@ File: make.info, Node: Variables Simplify, Next: make Deduces, Prev: How Make
====================================
In our example, we had to list all the object files twice in the rule
-for `edit' (repeated here):
+for 'edit' (repeated here):
edit : main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o
@@ -652,15 +686,15 @@ eliminate the risk and simplify the makefile by using a variable.
multiple places later (*note How to Use Variables: Using Variables.).
It is standard practice for every makefile to have a variable named
-`objects', `OBJECTS', `objs', `OBJS', `obj', or `OBJ' which is a list
-of all object file names. We would define such a variable `objects'
-with a line like this in the makefile:
+'objects', 'OBJECTS', 'objs', 'OBJS', 'obj', or 'OBJ' which is a list of
+all object file names. We would define such a variable 'objects' with a
+line like this in the makefile:
objects = main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o
Then, each place we want to put a list of the object file names, we can
-substitute the variable's value by writing `$(objects)' (*note How to
+substitute the variable's value by writing '$(objects)' (*note How to
Use Variables: Using Variables.).
Here is how the complete simple makefile looks when you use a
@@ -693,23 +727,23 @@ variable for the object files:

File: make.info, Node: make Deduces, Next: Combine By Prerequisite, Prev: Variables Simplify, Up: Introduction
-2.5 Letting `make' Deduce the Recipes
+2.5 Letting 'make' Deduce the Recipes
=====================================
It is not necessary to spell out the recipes for compiling the
-individual C source files, because `make' can figure them out: it has an
-"implicit rule" for updating a `.o' file from a correspondingly named
-`.c' file using a `cc -c' command. For example, it will use the recipe
-`cc -c main.c -o main.o' to compile `main.c' into `main.o'. We can
+individual C source files, because 'make' can figure them out: it has an
+"implicit rule" for updating a '.o' file from a correspondingly named
+'.c' file using a 'cc -c' command. For example, it will use the recipe
+'cc -c main.c -o main.o' to compile 'main.c' into 'main.o'. We can
therefore omit the recipes from the rules for the object files. *Note
Using Implicit Rules: Implicit Rules.
- When a `.c' file is used automatically in this way, it is also
+ When a '.c' file is used automatically in this way, it is also
automatically added to the list of prerequisites. We can therefore omit
-the `.c' files from the prerequisites, provided we omit the recipe.
+the '.c' files from the prerequisites, provided we omit the recipe.
Here is the entire example, with both of these changes, and a
-variable `objects' as suggested above:
+variable 'objects' as suggested above:
objects = main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o
@@ -731,7 +765,7 @@ variable `objects' as suggested above:
rm edit $(objects)
This is how we would write the makefile in actual practice. (The
-complications associated with `clean' are described elsewhere. See
+complications associated with 'clean' are described elsewhere. See
*note Phony Targets::, and *note Errors in Recipes: Errors.)
Because implicit rules are so convenient, they are important. You
@@ -758,8 +792,8 @@ Here is what one looks like:
kbd.o command.o files.o : command.h
display.o insert.o search.o files.o : buffer.h
-Here `defs.h' is given as a prerequisite of all the object files;
-`command.h' and `buffer.h' are prerequisites of the specific object
+Here 'defs.h' is given as a prerequisite of all the object files;
+'command.h' and 'buffer.h' are prerequisites of the specific object
files listed for them.
Whether this is better is a matter of taste: it is more compact, but
@@ -774,10 +808,10 @@ File: make.info, Node: Cleanup, Prev: Combine By Prerequisite, Up: Introducti
Compiling a program is not the only thing you might want to write rules
for. Makefiles commonly tell how to do a few other things besides
-compiling a program: for example, how to delete all the object files
-and executables so that the directory is `clean'.
+compiling a program: for example, how to delete all the object files and
+executables so that the directory is 'clean'.
- Here is how we could write a `make' rule for cleaning our example
+ Here is how we could write a 'make' rule for cleaning our example
editor:
clean:
@@ -791,19 +825,19 @@ this:
clean :
-rm edit $(objects)
-This prevents `make' from getting confused by an actual file called
-`clean' and causes it to continue in spite of errors from `rm'. (See
+This prevents 'make' from getting confused by an actual file called
+'clean' and causes it to continue in spite of errors from 'rm'. (See
*note Phony Targets::, and *note Errors in Recipes: Errors.)
A rule such as this should not be placed at the beginning of the
makefile, because we do not want it to run by default! Thus, in the
-example makefile, we want the rule for `edit', which recompiles the
+example makefile, we want the rule for 'edit', which recompiles the
editor, to remain the default goal.
- Since `clean' is not a prerequisite of `edit', this rule will not
-run at all if we give the command `make' with no arguments. In order
-to make the rule run, we have to type `make clean'. *Note How to Run
-`make': Running.
+ Since 'clean' is not a prerequisite of 'edit', this rule will not run
+at all if we give the command 'make' with no arguments. In order to
+make the rule run, we have to type 'make clean'. *Note How to Run
+'make': Running.

File: make.info, Node: Makefiles, Next: Rules, Prev: Introduction, Up: Top
@@ -811,7 +845,7 @@ File: make.info, Node: Makefiles, Next: Rules, Prev: Introduction, Up: Top
3 Writing Makefiles
*******************
-The information that tells `make' how to recompile a system comes from
+The information that tells 'make' how to recompile a system comes from
reading a data base called the "makefile".
* Menu:
@@ -844,17 +878,17 @@ variables, and directives are described at length in later chapters.
* An "implicit rule" says when and how to remake a class of files
based on their names. It describes how a target may depend on a
- file with a name similar to the target and gives a recipe to
- create or update such a target. *Note Using Implicit Rules:
- Implicit Rules.
+ file with a name similar to the target and gives a recipe to create
+ or update such a target. *Note Using Implicit Rules: Implicit
+ Rules.
* A "variable definition" is a line that specifies a text string
value for a variable that can be substituted into the text later.
The simple makefile example shows a variable definition for
- `objects' as a list of all object files (*note Variables Make
+ 'objects' as a list of all object files (*note Variables Make
Makefiles Simpler: Variables Simplify.).
- * A "directive" is an instruction for `make' to do something special
+ * A "directive" is an instruction for 'make' to do something special
while reading the makefile. These include:
* Reading another makefile (*note Including Other Makefiles:
@@ -864,21 +898,20 @@ variables, and directives are described at length in later chapters.
ignore a part of the makefile (*note Conditional Parts of
Makefiles: Conditionals.).
- * Defining a variable from a verbatim string containing
- multiple lines (*note Defining Multi-Line Variables:
- Multi-Line.).
+ * Defining a variable from a verbatim string containing multiple
+ lines (*note Defining Multi-Line Variables: Multi-Line.).
- * `#' in a line of a makefile starts a "comment". It and the rest
- of the line are ignored, except that a trailing backslash not
- escaped by another backslash will continue the comment across
- multiple lines. A line containing just a comment (with perhaps
- spaces before it) is effectively blank, and is ignored. If you
- want a literal `#', escape it with a backslash (e.g., `\#').
- Comments may appear on any line in the makefile, although they are
- treated specially in certain situations.
+ * '#' in a line of a makefile starts a "comment". It and the rest of
+ the line are ignored, except that a trailing backslash not escaped
+ by another backslash will continue the comment across multiple
+ lines. A line containing just a comment (with perhaps spaces
+ before it) is effectively blank, and is ignored. If you want a
+ literal '#', escape it with a backslash (e.g., '\#'). Comments may
+ appear on any line in the makefile, although they are treated
+ specially in certain situations.
You cannot use comments within variable references or function
- calls: any instance of `#' will be treated literally (rather than
+ calls: any instance of '#' will be treated literally (rather than
as the start of a comment) inside a variable reference or function
call.
@@ -886,43 +919,84 @@ variables, and directives are described at length in later chapters.
other recipe text. The shell decides how to interpret it: whether
or not this is a comment is up to the shell.
- Within a `define' directive, comments are not ignored during the
+ Within a 'define' directive, comments are not ignored during the
definition of the variable, but rather kept intact in the value of
the variable. When the variable is expanded they will either be
- treated as `make' comments or as recipe text, depending on the
+ treated as 'make' comments or as recipe text, depending on the
context in which the variable is evaluated.
+* Menu:
+
+* Splitting Lines:: Splitting long lines in makefiles
+
+
+File: make.info, Node: Splitting Lines, Prev: Makefile Contents, Up: Makefile Contents
+
+3.1.1 Splitting Long Lines
+--------------------------
+
+Makefiles use a "line-based" syntax in which the newline character is
+special and marks the end of a statement. GNU 'make' has no limit on
+the length of a statement line, up to the amount of memory in your
+computer.
+
+ However, it is difficult to read lines which are too long to display
+without wrapping or scrolling. So, you can format your makefiles for
+readability by adding newlines into the middle of a statement: you do
+this by escaping the internal newlines with a backslash ('\') character.
+Where we need to make a distinction we will refer to "physical lines" as
+a single line ending with a newline (regardless of whether it is
+escaped) and a "logical line" being a complete statement including all
+escaped newlines up to the first non-escaped newline.
+
+ The way in which backslash/newline combinations are handled depends
+on whether the statement is a recipe line or a non-recipe line.
+Handling of backslash/newline in a recipe line is discussed later (*note
+Splitting Recipe Lines::).
+
+ Outside of recipe lines, backslash/newlines are converted into a
+single space character. Once that is done, all whitespace around the
+backslash/newline is condensed into a single space: this includes all
+whitespace preceding the backslash, all whitespace at the beginning of
+the line after the backslash/newline, and any consecutive
+backslash/newline combinations.
+
+ If the '.POSIX' special target is defined then backslash/newline
+handling is modified slightly to conform to POSIX.2: first, whitespace
+preceding a backslash is not removed and second, consecutive
+backslash/newlines are not condensed.
+

File: make.info, Node: Makefile Names, Next: Include, Prev: Makefile Contents, Up: Makefiles
3.2 What Name to Give Your Makefile
===================================
-By default, when `make' looks for the makefile, it tries the following
-names, in order: `GNUmakefile', `makefile' and `Makefile'.
+By default, when 'make' looks for the makefile, it tries the following
+names, in order: 'GNUmakefile', 'makefile' and 'Makefile'.
- Normally you should call your makefile either `makefile' or
-`Makefile'. (We recommend `Makefile' because it appears prominently
+ Normally you should call your makefile either 'makefile' or
+'Makefile'. (We recommend 'Makefile' because it appears prominently
near the beginning of a directory listing, right near other important
-files such as `README'.) The first name checked, `GNUmakefile', is not
+files such as 'README'.) The first name checked, 'GNUmakefile', is not
recommended for most makefiles. You should use this name if you have a
-makefile that is specific to GNU `make', and will not be understood by
-other versions of `make'. Other `make' programs look for `makefile' and
-`Makefile', but not `GNUmakefile'.
+makefile that is specific to GNU 'make', and will not be understood by
+other versions of 'make'. Other 'make' programs look for 'makefile' and
+'Makefile', but not 'GNUmakefile'.
- If `make' finds none of these names, it does not use any makefile.
-Then you must specify a goal with a command argument, and `make' will
+ If 'make' finds none of these names, it does not use any makefile.
+Then you must specify a goal with a command argument, and 'make' will
attempt to figure out how to remake it using only its built-in implicit
rules. *Note Using Implicit Rules: Implicit Rules.
If you want to use a nonstandard name for your makefile, you can
-specify the makefile name with the `-f' or `--file' option. The
-arguments `-f NAME' or `--file=NAME' tell `make' to read the file NAME
-as the makefile. If you use more than one `-f' or `--file' option, you
+specify the makefile name with the '-f' or '--file' option. The
+arguments '-f NAME' or '--file=NAME' tell 'make' to read the file NAME
+as the makefile. If you use more than one '-f' or '--file' option, you
can specify several makefiles. All the makefiles are effectively
concatenated in the order specified. The default makefile names
-`GNUmakefile', `makefile' and `Makefile' are not checked automatically
-if you specify `-f' or `--file'.
+'GNUmakefile', 'makefile' and 'Makefile' are not checked automatically
+if you specify '-f' or '--file'.

File: make.info, Node: Include, Next: MAKEFILES Variable, Prev: Makefile Names, Up: Makefiles
@@ -930,27 +1004,27 @@ File: make.info, Node: Include, Next: MAKEFILES Variable, Prev: Makefile Name
3.3 Including Other Makefiles
=============================
-The `include' directive tells `make' to suspend reading the current
+The 'include' directive tells 'make' to suspend reading the current
makefile and read one or more other makefiles before continuing. The
directive is a line in the makefile that looks like this:
include FILENAMES...
FILENAMES can contain shell file name patterns. If FILENAMES is empty,
-nothing is included and no error is printed.
+nothing is included and no error is printed.
Extra spaces are allowed and ignored at the beginning of the line,
but the first character must not be a tab (or the value of
-`.RECIPEPREFIX')--if the line begins with a tab, it will be considered
-a recipe line. Whitespace is required between `include' and the file
+'.RECIPEPREFIX')--if the line begins with a tab, it will be considered a
+recipe line. Whitespace is required between 'include' and the file
names, and between file names; extra whitespace is ignored there and at
-the end of the directive. A comment starting with `#' is allowed at
-the end of the line. If the file names contain any variable or
-function references, they are expanded. *Note How to Use Variables:
-Using Variables.
+the end of the directive. A comment starting with '#' is allowed at the
+end of the line. If the file names contain any variable or function
+references, they are expanded. *Note How to Use Variables: Using
+Variables.
- For example, if you have three `.mk' files, `a.mk', `b.mk', and
-`c.mk', and `$(bar)' expands to `bish bash', then the following
+ For example, if you have three '.mk' files, 'a.mk', 'b.mk', and
+'c.mk', and '$(bar)' expands to 'bish bash', then the following
expression
include foo *.mk $(bar)
@@ -959,12 +1033,12 @@ expression
include foo a.mk b.mk c.mk bish bash
- When `make' processes an `include' directive, it suspends reading of
+ When 'make' processes an 'include' directive, it suspends reading of
the containing makefile and reads from each listed file in turn. When
-that is finished, `make' resumes reading the makefile in which the
+that is finished, 'make' resumes reading the makefile in which the
directive appears.
- One occasion for using `include' directives is when several programs,
+ One occasion for using 'include' directives is when several programs,
handled by individual makefiles in various directories, need to use a
common set of variable definitions (*note Setting Variables: Setting.)
or pattern rules (*note Defining and Redefining Pattern Rules: Pattern
@@ -974,38 +1048,38 @@ Rules.).
source files automatically; the prerequisites can be put in a file that
is included by the main makefile. This practice is generally cleaner
than that of somehow appending the prerequisites to the end of the main
-makefile as has been traditionally done with other versions of `make'.
-*Note Automatic Prerequisites::.
+makefile as has been traditionally done with other versions of 'make'.
+*Note Automatic Prerequisites::.
If the specified name does not start with a slash, and the file is
not found in the current directory, several other directories are
-searched. First, any directories you have specified with the `-I' or
-`--include-dir' option are searched (*note Summary of Options: Options
-Summary.). Then the following directories (if they exist) are
-searched, in this order: `PREFIX/include' (normally `/usr/local/include'
-(1)) `/usr/gnu/include', `/usr/local/include', `/usr/include'.
+searched. First, any directories you have specified with the '-I' or
+'--include-dir' option are searched (*note Summary of Options: Options
+Summary.). Then the following directories (if they exist) are searched,
+in this order: 'PREFIX/include' (normally '/usr/local/include' (1))
+'/usr/gnu/include', '/usr/local/include', '/usr/include'.
If an included makefile cannot be found in any of these directories,
a warning message is generated, but it is not an immediately fatal
-error; processing of the makefile containing the `include' continues.
-Once it has finished reading makefiles, `make' will try to remake any
+error; processing of the makefile containing the 'include' continues.
+Once it has finished reading makefiles, 'make' will try to remake any
that are out of date or don't exist. *Note How Makefiles Are Remade:
Remaking Makefiles. Only after it has tried to find a way to remake a
-makefile and failed, will `make' diagnose the missing makefile as a
+makefile and failed, will 'make' diagnose the missing makefile as a
fatal error.
- If you want `make' to simply ignore a makefile which does not exist
-or cannot be remade, with no error message, use the `-include'
-directive instead of `include', like this:
+ If you want 'make' to simply ignore a makefile which does not exist
+or cannot be remade, with no error message, use the '-include' directive
+instead of 'include', like this:
-include FILENAMES...
- This acts like `include' in every way except that there is no error
+ This acts like 'include' in every way except that there is no error
(not even a warning) if any of the FILENAMES (or any prerequisites of
any of the FILENAMES) do not exist or cannot be remade.
- For compatibility with some other `make' implementations, `sinclude'
-is another name for `-include'.
+ For compatibility with some other 'make' implementations, 'sinclude'
+is another name for '-include'.
---------- Footnotes ----------
@@ -1015,31 +1089,31 @@ has been defined to be the root of the DJGPP tree hierarchy.

File: make.info, Node: MAKEFILES Variable, Next: Remaking Makefiles, Prev: Include, Up: Makefiles
-3.4 The Variable `MAKEFILES'
+3.4 The Variable 'MAKEFILES'
============================
-If the environment variable `MAKEFILES' is defined, `make' considers
-its value as a list of names (separated by whitespace) of additional
+If the environment variable 'MAKEFILES' is defined, 'make' considers its
+value as a list of names (separated by whitespace) of additional
makefiles to be read before the others. This works much like the
-`include' directive: various directories are searched for those files
+'include' directive: various directories are searched for those files
(*note Including Other Makefiles: Include.). In addition, the default
goal is never taken from one of these makefiles (or any makefile
included by them) and it is not an error if the files listed in
-`MAKEFILES' are not found.
+'MAKEFILES' are not found.
- The main use of `MAKEFILES' is in communication between recursive
-invocations of `make' (*note Recursive Use of `make': Recursion.). It
+ The main use of 'MAKEFILES' is in communication between recursive
+invocations of 'make' (*note Recursive Use of 'make': Recursion.). It
usually is not desirable to set the environment variable before a
-top-level invocation of `make', because it is usually better not to
-mess with a makefile from outside. However, if you are running `make'
-without a specific makefile, a makefile in `MAKEFILES' can do useful
-things to help the built-in implicit rules work better, such as
-defining search paths (*note Directory Search::).
+top-level invocation of 'make', because it is usually better not to mess
+with a makefile from outside. However, if you are running 'make'
+without a specific makefile, a makefile in 'MAKEFILES' can do useful
+things to help the built-in implicit rules work better, such as defining
+search paths (*note Directory Search::).
- Some users are tempted to set `MAKEFILES' in the environment
+ Some users are tempted to set 'MAKEFILES' in the environment
automatically on login, and program makefiles to expect this to be done.
-This is a very bad idea, because such makefiles will fail to work if
-run by anyone else. It is much better to write explicit `include'
+This is a very bad idea, because such makefiles will fail to work if run
+by anyone else. It is much better to write explicit 'include'
directives in the makefiles. *Note Including Other Makefiles: Include.

@@ -1050,23 +1124,23 @@ File: make.info, Node: Remaking Makefiles, Next: Overriding Makefiles, Prev:
Sometimes makefiles can be remade from other files, such as RCS or SCCS
files. If a makefile can be remade from other files, you probably want
-`make' to get an up-to-date version of the makefile to read in.
+'make' to get an up-to-date version of the makefile to read in.
- To this end, after reading in all makefiles, `make' will consider
+ To this end, after reading in all makefiles, 'make' will consider
each as a goal target and attempt to update it. If a makefile has a
rule which says how to update it (found either in that very makefile or
in another one) or if an implicit rule applies to it (*note Using
Implicit Rules: Implicit Rules.), it will be updated if necessary.
After all makefiles have been checked, if any have actually been
-changed, `make' starts with a clean slate and reads all the makefiles
+changed, 'make' starts with a clean slate and reads all the makefiles
over again. (It will also attempt to update each of them over again,
but normally this will not change them again, since they are already up
to date.)
If you know that one or more of your makefiles cannot be remade and
-you want to keep `make' from performing an implicit rule search on
-them, perhaps for efficiency reasons, you can use any normal method of
-preventing implicit rule lookup to do so. For example, you can write
+you want to keep 'make' from performing an implicit rule search on them,
+perhaps for efficiency reasons, you can use any normal method of
+preventing implicit rule look-up to do so. For example, you can write
an explicit rule with the makefile as the target, and an empty recipe
(*note Using Empty Recipes: Empty Recipes.).
@@ -1074,51 +1148,51 @@ an explicit rule with the makefile as the target, and an empty recipe
recipe but no prerequisites, that file will always be remade (*note
Double-Colon::). In the case of makefiles, a makefile that has a
double-colon rule with a recipe but no prerequisites will be remade
-every time `make' is run, and then again after `make' starts over and
-reads the makefiles in again. This would cause an infinite loop:
-`make' would constantly remake the makefile, and never do anything
-else. So, to avoid this, `make' will *not* attempt to remake makefiles
-which are specified as targets of a double-colon rule with a recipe but
-no prerequisites.
-
- If you do not specify any makefiles to be read with `-f' or `--file'
-options, `make' will try the default makefile names; *note What Name to
+every time 'make' is run, and then again after 'make' starts over and
+reads the makefiles in again. This would cause an infinite loop: 'make'
+would constantly remake the makefile, and never do anything else. So,
+to avoid this, 'make' will *not* attempt to remake makefiles which are
+specified as targets of a double-colon rule with a recipe but no
+prerequisites.
+
+ If you do not specify any makefiles to be read with '-f' or '--file'
+options, 'make' will try the default makefile names; *note What Name to
Give Your Makefile: Makefile Names. Unlike makefiles explicitly
-requested with `-f' or `--file' options, `make' is not certain that
+requested with '-f' or '--file' options, 'make' is not certain that
these makefiles should exist. However, if a default makefile does not
-exist but can be created by running `make' rules, you probably want the
+exist but can be created by running 'make' rules, you probably want the
rules to be run so that the makefile can be used.
- Therefore, if none of the default makefiles exists, `make' will try
+ Therefore, if none of the default makefiles exists, 'make' will try
to make each of them in the same order in which they are searched for
-(*note What Name to Give Your Makefile: Makefile Names.) until it
-succeeds in making one, or it runs out of names to try. Note that it
-is not an error if `make' cannot find or make any makefile; a makefile
-is not always necessary.
-
- When you use the `-t' or `--touch' option (*note Instead of
-Executing Recipes: Instead of Execution.), you would not want to use an
-out-of-date makefile to decide which targets to touch. So the `-t'
-option has no effect on updating makefiles; they are really updated
-even if `-t' is specified. Likewise, `-q' (or `--question') and `-n'
-(or `--just-print') do not prevent updating of makefiles, because an
+(*note What Name to Give Your Makefile: Makefile Names.) until it
+succeeds in making one, or it runs out of names to try. Note that it is
+not an error if 'make' cannot find or make any makefile; a makefile is
+not always necessary.
+
+ When you use the '-t' or '--touch' option (*note Instead of Executing
+Recipes: Instead of Execution.), you would not want to use an
+out-of-date makefile to decide which targets to touch. So the '-t'
+option has no effect on updating makefiles; they are really updated even
+if '-t' is specified. Likewise, '-q' (or '--question') and '-n' (or
+'--just-print') do not prevent updating of makefiles, because an
out-of-date makefile would result in the wrong output for other targets.
-Thus, `make -f mfile -n foo' will update `mfile', read it in, and then
-print the recipe to update `foo' and its prerequisites without running
-it. The recipe printed for `foo' will be the one specified in the
-updated contents of `mfile'.
+Thus, 'make -f mfile -n foo' will update 'mfile', read it in, and then
+print the recipe to update 'foo' and its prerequisites without running
+it. The recipe printed for 'foo' will be the one specified in the
+updated contents of 'mfile'.
However, on occasion you might actually wish to prevent updating of
even the makefiles. You can do this by specifying the makefiles as
-goals in the command line as well as specifying them as makefiles.
-When the makefile name is specified explicitly as a goal, the options
-`-t' and so on do apply to them.
+goals in the command line as well as specifying them as makefiles. When
+the makefile name is specified explicitly as a goal, the options '-t'
+and so on do apply to them.
- Thus, `make -f mfile -n mfile foo' would read the makefile `mfile',
+ Thus, 'make -f mfile -n mfile foo' would read the makefile 'mfile',
print the recipe needed to update it without actually running it, and
-then print the recipe needed to update `foo' without running that. The
-recipe for `foo' will be the one specified by the existing contents of
-`mfile'.
+then print the recipe needed to update 'foo' without running that. The
+recipe for 'foo' will be the one specified by the existing contents of
+'mfile'.

File: make.info, Node: Overriding Makefiles, Next: Reading Makefiles, Prev: Remaking Makefiles, Up: Makefiles
@@ -1127,20 +1201,20 @@ File: make.info, Node: Overriding Makefiles, Next: Reading Makefiles, Prev: R
=======================================
Sometimes it is useful to have a makefile that is mostly just like
-another makefile. You can often use the `include' directive to include
+another makefile. You can often use the 'include' directive to include
one in the other, and add more targets or variable definitions.
-However, it is illegal for two makefiles to give different recipes for
+However, it is invalid for two makefiles to give different recipes for
the same target. But there is another way.
In the containing makefile (the one that wants to include the other),
you can use a match-anything pattern rule to say that to remake any
target that cannot be made from the information in the containing
-makefile, `make' should look in another makefile. *Note Pattern
+makefile, 'make' should look in another makefile. *Note Pattern
Rules::, for more information on pattern rules.
- For example, if you have a makefile called `Makefile' that says how
-to make the target `foo' (and other targets), you can write a makefile
-called `GNUmakefile' that contains:
+ For example, if you have a makefile called 'Makefile' that says how
+to make the target 'foo' (and other targets), you can write a makefile
+called 'GNUmakefile' that contains:
foo:
frobnicate > foo
@@ -1149,33 +1223,33 @@ called `GNUmakefile' that contains:
@$(MAKE) -f Makefile $@
force: ;
- If you say `make foo', `make' will find `GNUmakefile', read it, and
-see that to make `foo', it needs to run the recipe `frobnicate > foo'.
-If you say `make bar', `make' will find no way to make `bar' in
-`GNUmakefile', so it will use the recipe from the pattern rule: `make
--f Makefile bar'. If `Makefile' provides a rule for updating `bar',
-`make' will apply the rule. And likewise for any other target that
-`GNUmakefile' does not say how to make.
+ If you say 'make foo', 'make' will find 'GNUmakefile', read it, and
+see that to make 'foo', it needs to run the recipe 'frobnicate > foo'.
+If you say 'make bar', 'make' will find no way to make 'bar' in
+'GNUmakefile', so it will use the recipe from the pattern rule: 'make -f
+Makefile bar'. If 'Makefile' provides a rule for updating 'bar', 'make'
+will apply the rule. And likewise for any other target that
+'GNUmakefile' does not say how to make.
The way this works is that the pattern rule has a pattern of just
-`%', so it matches any target whatever. The rule specifies a
-prerequisite `force', to guarantee that the recipe will be run even if
-the target file already exists. We give the `force' target an empty
-recipe to prevent `make' from searching for an implicit rule to build
-it--otherwise it would apply the same match-anything rule to `force'
+'%', so it matches any target whatever. The rule specifies a
+prerequisite 'force', to guarantee that the recipe will be run even if
+the target file already exists. We give the 'force' target an empty
+recipe to prevent 'make' from searching for an implicit rule to build
+it--otherwise it would apply the same match-anything rule to 'force'
itself and create a prerequisite loop!

File: make.info, Node: Reading Makefiles, Next: Secondary Expansion, Prev: Overriding Makefiles, Up: Makefiles
-3.7 How `make' Reads a Makefile
+3.7 How 'make' Reads a Makefile
===============================
-GNU `make' does its work in two distinct phases. During the first
-phase it reads all the makefiles, included makefiles, etc. and
-internalizes all the variables and their values, implicit and explicit
-rules, and constructs a dependency graph of all the targets and their
-prerequisites. During the second phase, `make' uses these internal
+GNU 'make' does its work in two distinct phases. During the first phase
+it reads all the makefiles, included makefiles, etc. and internalizes
+all the variables and their values, implicit and explicit rules, and
+constructs a dependency graph of all the targets and their
+prerequisites. During the second phase, 'make' uses these internal
structures to determine what targets will need to be rebuilt and to
invoke the rules necessary to do so.
@@ -1183,11 +1257,11 @@ invoke the rules necessary to do so.
direct impact on how variable and function expansion happens; this is
often a source of some confusion when writing makefiles. Here we will
present a summary of the phases in which expansion happens for different
-constructs within the makefile. We say that expansion is "immediate"
-if it happens during the first phase: in this case `make' will expand
-any variables or functions in that section of a construct as the
-makefile is parsed. We say that expansion is "deferred" if expansion
-is not performed immediately. Expansion of a deferred construct is not
+constructs within the makefile. We say that expansion is "immediate" if
+it happens during the first phase: in this case 'make' will expand any
+variables or functions in that section of a construct as the makefile is
+parsed. We say that expansion is "deferred" if expansion is not
+performed immediately. Expansion of a deferred construct is not
performed until either the construct appears later in an immediate
context, or until the second phase.
@@ -1203,7 +1277,9 @@ Variable definitions are parsed as follows:
IMMEDIATE = DEFERRED
IMMEDIATE ?= DEFERRED
IMMEDIATE := IMMEDIATE
+ IMMEDIATE ::= IMMEDIATE
IMMEDIATE += DEFERRED or IMMEDIATE
+ IMMEDIATE != IMMEDIATE
define IMMEDIATE
DEFERRED
@@ -1221,23 +1297,36 @@ Variable definitions are parsed as follows:
IMMEDIATE
endef
+ define IMMEDIATE ::=
+ IMMEDIATE
+ endef
+
define IMMEDIATE +=
DEFERRED or IMMEDIATE
endef
- For the append operator, `+=', the right-hand side is considered
-immediate if the variable was previously set as a simple variable
-(`:='), and deferred otherwise.
+ define IMMEDIATE !=
+ IMMEDIATE
+ endef
+
+ For the append operator, '+=', the right-hand side is considered
+immediate if the variable was previously set as a simple variable (':='
+or '::='), and deferred otherwise.
+
+ For the shell assignment operator, '!=', the right-hand side is
+evaluated immediately and handed to the shell. The result is stored in
+the variable named on the left, and that variable becomes a simple
+variable (and will thus be re-evaluated on each reference).
Conditional Directives
----------------------
-Conditional directives are parsed immediately. This means, for
-example, that automatic variables cannot be used in conditional
-directives, as automatic variables are not set until the recipe for
-that rule is invoked. If you need to use automatic variables in a
-conditional directive you _must_ move the condition into the recipe and
-use shell conditional syntax instead.
+Conditional directives are parsed immediately. This means, for example,
+that automatic variables cannot be used in conditional directives, as
+automatic variables are not set until the recipe for that rule is
+invoked. If you need to use automatic variables in a conditional
+directive you _must_ move the condition into the recipe and use shell
+conditional syntax instead.
Rule Definition
---------------
@@ -1245,7 +1334,7 @@ Rule Definition
A rule is always expanded the same way, regardless of the form:
IMMEDIATE : IMMEDIATE ; DEFERRED
- DEFERRED
+ DEFERRED
That is, the target and prerequisite sections are expanded
immediately, and the recipe used to construct the target is always
@@ -1258,14 +1347,13 @@ File: make.info, Node: Secondary Expansion, Prev: Reading Makefiles, Up: Make
3.8 Secondary Expansion
=======================
-In the previous section we learned that GNU `make' works in two
-distinct phases: a read-in phase and a target-update phase (*note How
-`make' Reads a Makefile: Reading Makefiles.). GNU make also has the
-ability to enable a _second expansion_ of the prerequisites (only) for
-some or all targets defined in the makefile. In order for this second
-expansion to occur, the special target `.SECONDEXPANSION' must be
-defined before the first prerequisite list that makes use of this
-feature.
+In the previous section we learned that GNU 'make' works in two distinct
+phases: a read-in phase and a target-update phase (*note How 'make'
+Reads a Makefile: Reading Makefiles.). GNU make also has the ability to
+enable a _second expansion_ of the prerequisites (only) for some or all
+targets defined in the makefile. In order for this second expansion to
+occur, the special target '.SECONDEXPANSION' must be defined before the
+first prerequisite list that makes use of this feature.
If that special target is defined then in between the two phases
mentioned above, right at the end of the read-in phase, all the
@@ -1274,11 +1362,10 @@ expanded a _second time_. In most circumstances this secondary
expansion will have no effect, since all variable and function
references will have been expanded during the initial parsing of the
makefiles. In order to take advantage of the secondary expansion phase
-of the parser, then, it's necessary to _escape_ the variable or
-function reference in the makefile. In this case the first expansion
-merely un-escapes the reference but doesn't expand it, and expansion is
-left to the secondary expansion phase. For example, consider this
-makefile:
+of the parser, then, it's necessary to _escape_ the variable or function
+reference in the makefile. In this case the first expansion merely
+un-escapes the reference but doesn't expand it, and expansion is left to
+the secondary expansion phase. For example, consider this makefile:
.SECONDEXPANSION:
ONEVAR = onefile
@@ -1286,15 +1373,15 @@ makefile:
myfile: $(ONEVAR) $$(TWOVAR)
After the first expansion phase the prerequisites list of the
-`myfile' target will be `onefile' and `$(TWOVAR)'; the first
-(unescaped) variable reference to ONEVAR is expanded, while the second
-(escaped) variable reference is simply unescaped, without being
-recognized as a variable reference. Now during the secondary expansion
-the first word is expanded again but since it contains no variable or
-function references it remains the static value `onefile', while the
-second word is now a normal reference to the variable TWOVAR, which is
-expanded to the value `twofile'. The final result is that there are
-two prerequisites, `onefile' and `twofile'.
+'myfile' target will be 'onefile' and '$(TWOVAR)'; the first (unescaped)
+variable reference to ONEVAR is expanded, while the second (escaped)
+variable reference is simply unescaped, without being recognized as a
+variable reference. Now during the secondary expansion the first word
+is expanded again but since it contains no variable or function
+references it remains the value 'onefile', while the second word is now
+a normal reference to the variable TWOVAR, which is expanded to the
+value 'twofile'. The final result is that there are two prerequisites,
+'onefile' and 'twofile'.
Obviously, this is not a very interesting case since the same result
could more easily have been achieved simply by having both variables
@@ -1307,19 +1394,19 @@ apparent if the variables are reset; consider this example:
twofile: $$(AVAR)
AVAR = bottom
- Here the prerequisite of `onefile' will be expanded immediately, and
-resolve to the value `top', while the prerequisite of `twofile' will
-not be full expanded until the secondary expansion and yield a value of
-`bottom'.
+ Here the prerequisite of 'onefile' will be expanded immediately, and
+resolve to the value 'top', while the prerequisite of 'twofile' will not
+be full expanded until the secondary expansion and yield a value of
+'bottom'.
This is marginally more exciting, but the true power of this feature
-only becomes apparent when you discover that secondary expansions
-always take place within the scope of the automatic variables for that
-target. This means that you can use variables such as `$@', `$*', etc.
-during the second expansion and they will have their expected values,
-just as in the recipe. All you have to do is defer the expansion by
-escaping the `$'. Also, secondary expansion occurs for both explicit
-and implicit (pattern) rules. Knowing this, the possible uses for this
+only becomes apparent when you discover that secondary expansions always
+take place within the scope of the automatic variables for that target.
+This means that you can use variables such as '$@', '$*', etc. during
+the second expansion and they will have their expected values, just as
+in the recipe. All you have to do is defer the expansion by escaping
+the '$'. Also, secondary expansion occurs for both explicit and
+implicit (pattern) rules. Knowing this, the possible uses for this
feature increase dramatically. For example:
.SECONDEXPANSION:
@@ -1329,11 +1416,11 @@ feature increase dramatically. For example:
main lib: $$($$@_OBJS)
Here, after the initial expansion the prerequisites of both the
-`main' and `lib' targets will be `$($@_OBJS)'. During the secondary
-expansion, the `$@' variable is set to the name of the target and so
-the expansion for the `main' target will yield `$(main_OBJS)', or
-`main.o try.o test.o', while the secondary expansion for the `lib'
-target will yield `$(lib_OBJS)', or `lib.o api.o'.
+'main' and 'lib' targets will be '$($@_OBJS)'. During the secondary
+expansion, the '$@' variable is set to the name of the target and so the
+expansion for the 'main' target will yield '$(main_OBJS)', or 'main.o
+try.o test.o', while the secondary expansion for the 'lib' target will
+yield '$(lib_OBJS)', or 'lib.o api.o'.
You can also mix in functions here, as long as they are properly
escaped:
@@ -1349,23 +1436,23 @@ files, but gives the same resulting prerequisites list as the previous
example.
Evaluation of automatic variables during the secondary expansion
-phase, especially of the target name variable `$$@', behaves similarly
+phase, especially of the target name variable '$$@', behaves similarly
to evaluation within recipes. However, there are some subtle
differences and "corner cases" which come into play for the different
-types of rule definitions that `make' understands. The subtleties of
+types of rule definitions that 'make' understands. The subtleties of
using the different automatic variables are described below.
Secondary Expansion of Explicit Rules
-------------------------------------
-During the secondary expansion of explicit rules, `$$@' and `$$%'
+During the secondary expansion of explicit rules, '$$@' and '$$%'
evaluate, respectively, to the file name of the target and, when the
-target is an archive member, the target member name. The `$$<'
-variable evaluates to the first prerequisite in the first rule for this
-target. `$$^' and `$$+' evaluate to the list of all prerequisites of
-rules _that have already appeared_ for the same target (`$$+' with
-repetitions and `$$^' without). The following example will help
-illustrate these behaviors:
+target is an archive member, the target member name. The '$$<' variable
+evaluates to the first prerequisite in the first rule for this target.
+'$$^' and '$$+' evaluate to the list of all prerequisites of rules _that
+have already appeared_ for the same target ('$$+' with repetitions and
+'$$^' without). The following example will help illustrate these
+behaviors:
.SECONDEXPANSION:
@@ -1375,16 +1462,16 @@ illustrate these behaviors:
foo: foo.3 bar.3 $$< $$^ $$+ # line #3
- In the first prerequisite list, all three variables (`$$<', `$$^',
-and `$$+') expand to the empty string. In the second, they will have
-values `foo.1', `foo.1 bar.1', and `foo.1 bar.1' respectively. In the
-third they will have values `foo.1', `foo.1 bar.1 foo.2 bar.2', and
-`foo.1 bar.1 foo.2 bar.2 foo.1 foo.1 bar.1 foo.1 bar.1' respectively.
+ In the first prerequisite list, all three variables ('$$<', '$$^',
+and '$$+') expand to the empty string. In the second, they will have
+values 'foo.1', 'foo.1 bar.1', and 'foo.1 bar.1' respectively. In the
+third they will have values 'foo.1', 'foo.1 bar.1 foo.2 bar.2', and
+'foo.1 bar.1 foo.2 bar.2 foo.1 foo.1 bar.1 foo.1 bar.1' respectively.
Rules undergo secondary expansion in makefile order, except that the
rule with the recipe is always evaluated last.
- The variables `$$?' and `$$*' are not available and expand to the
+ The variables '$$?' and '$$*' are not available and expand to the
empty string.
Secondary Expansion of Static Pattern Rules
@@ -1392,13 +1479,13 @@ Secondary Expansion of Static Pattern Rules
Rules for secondary expansion of static pattern rules are identical to
those for explicit rules, above, with one exception: for static pattern
-rules the `$$*' variable is set to the pattern stem. As with explicit
-rules, `$$?' is not available and expands to the empty string.
+rules the '$$*' variable is set to the pattern stem. As with explicit
+rules, '$$?' is not available and expands to the empty string.
Secondary Expansion of Implicit Rules
-------------------------------------
-As `make' searches for an implicit rule, it substitutes the stem and
+As 'make' searches for an implicit rule, it substitutes the stem and
then performs secondary expansion for every rule with a matching target
pattern. The value of the automatic variables is derived in the same
fashion as for static pattern rules. As an example:
@@ -1411,9 +1498,9 @@ fashion as for static pattern rules. As an example:
%oo: $$< $$^ $$+ $$*
- When the implicit rule is tried for target `foo', `$$<' expands to
-`bar', `$$^' expands to `bar boo', `$$+' also expands to `bar boo', and
-`$$*' expands to `f'.
+ When the implicit rule is tried for target 'foo', '$$<' expands to
+'bar', '$$^' expands to 'bar boo', '$$+' also expands to 'bar boo', and
+'$$*' expands to 'f'.
Note that the directory prefix (D), as described in *note Implicit
Rule Search Algorithm: Implicit Rule Search, is appended (after
@@ -1425,11 +1512,12 @@ example:
/tmp/foo.o:
%.o: $$(addsuffix /%.c,foo bar) foo.h
+ @echo $^
- The prerequisite list after the secondary expansion and directory
-prefix reconstruction will be `/tmp/foo/foo.c /tmp/var/bar/foo.c
+ The prerequisite list printed, after the secondary expansion and
+directory prefix reconstruction, will be '/tmp/foo/foo.c /tmp/bar/foo.c
foo.h'. If you are not interested in this reconstruction, you can use
-`$$*' instead of `%' in the prerequisites list.
+'$$*' instead of '%' in the prerequisites list.

File: make.info, Node: Rules, Next: Recipes, Prev: Makefiles, Up: Top
@@ -1437,24 +1525,24 @@ File: make.info, Node: Rules, Next: Recipes, Prev: Makefiles, Up: Top
4 Writing Rules
***************
-A "rule" appears in the makefile and says when and how to remake
-certain files, called the rule's "targets" (most often only one per
-rule). It lists the other files that are the "prerequisites" of the
-target, and the "recipe" to use to create or update the target.
+A "rule" appears in the makefile and says when and how to remake certain
+files, called the rule's "targets" (most often only one per rule). It
+lists the other files that are the "prerequisites" of the target, and
+the "recipe" to use to create or update the target.
The order of rules is not significant, except for determining the
-"default goal": the target for `make' to consider, if you do not
-otherwise specify one. The default goal is the target of the first
-rule in the first makefile. If the first rule has multiple targets,
-only the first target is taken as the default. There are two
-exceptions: a target starting with a period is not a default unless it
-contains one or more slashes, `/', as well; and, a target that defines
-a pattern rule has no effect on the default goal. (*Note Defining and
-Redefining Pattern Rules: Pattern Rules.)
+"default goal": the target for 'make' to consider, if you do not
+otherwise specify one. The default goal is the target of the first rule
+in the first makefile. If the first rule has multiple targets, only the
+first target is taken as the default. There are two exceptions: a
+target starting with a period is not a default unless it contains one or
+more slashes, '/', as well; and, a target that defines a pattern rule
+has no effect on the default goal. (*Note Defining and Redefining
+Pattern Rules: Pattern Rules.)
Therefore, we usually write the makefile so that the first rule is
the one for compiling the entire program or all the programs described
-by the makefile (often with a target called `all'). *Note Arguments to
+by the makefile (often with a target called 'all'). *Note Arguments to
Specify the Goals: Goals.
* Menu:
@@ -1462,10 +1550,10 @@ Specify the Goals: Goals.
* Rule Example:: An example explained.
* Rule Syntax:: General syntax explained.
* Prerequisite Types:: There are two types of prerequisites.
-* Wildcards:: Using wildcard characters such as `*'.
+* Wildcards:: Using wildcard characters such as '*'.
* Directory Search:: Searching other directories for source files.
* Phony Targets:: Using a target that is not a real file's name.
-* Force Targets:: You can use a target without recipes
+* Force Targets:: You can use a target without a recipe
or prerequisites to mark other targets
as phony.
* Empty Targets:: When only the date matters and the
@@ -1492,20 +1580,20 @@ Here is an example of a rule:
foo.o : foo.c defs.h # module for twiddling the frobs
cc -c -g foo.c
- Its target is `foo.o' and its prerequisites are `foo.c' and
-`defs.h'. It has one command in the recipe: `cc -c -g foo.c'. The
-recipe starts with a tab to identify it as a recipe.
+ Its target is 'foo.o' and its prerequisites are 'foo.c' and 'defs.h'.
+It has one command in the recipe: 'cc -c -g foo.c'. The recipe starts
+with a tab to identify it as a recipe.
This rule says two things:
- * How to decide whether `foo.o' is out of date: it is out of date if
- it does not exist, or if either `foo.c' or `defs.h' is more recent
+ * How to decide whether 'foo.o' is out of date: it is out of date if
+ it does not exist, or if either 'foo.c' or 'defs.h' is more recent
than it.
- * How to update the file `foo.o': by running `cc' as stated. The
- recipe does not explicitly mention `defs.h', but we presume that
- `foo.c' includes it, and that that is why `defs.h' was added to
- the prerequisites.
+ * How to update the file 'foo.o': by running 'cc' as stated. The
+ recipe does not explicitly mention 'defs.h', but we presume that
+ 'foo.c' includes it, and that that is why 'defs.h' was added to the
+ prerequisites.

File: make.info, Node: Rule Syntax, Next: Prerequisite Types, Prev: Rule Example, Up: Rules
@@ -1525,35 +1613,34 @@ or like this:
RECIPE
...
- The TARGETS are file names, separated by spaces. Wildcard
-characters may be used (*note Using Wildcard Characters in File Names:
-Wildcards.) and a name of the form `A(M)' represents member M in
-archive file A (*note Archive Members as Targets: Archive Members.).
-Usually there is only one target per rule, but occasionally there is a
-reason to have more (*note Multiple Targets in a Rule: Multiple
-Targets.).
+ The TARGETS are file names, separated by spaces. Wildcard characters
+may be used (*note Using Wildcard Characters in File Names: Wildcards.)
+and a name of the form 'A(M)' represents member M in archive file A
+(*note Archive Members as Targets: Archive Members.). Usually there is
+only one target per rule, but occasionally there is a reason to have
+more (*note Multiple Targets in a Rule: Multiple Targets.).
The RECIPE lines start with a tab character (or the first character
-in the value of the `.RECIPEPREFIX' variable; *note Special
+in the value of the '.RECIPEPREFIX' variable; *note Special
Variables::). The first recipe line may appear on the line after the
prerequisites, with a tab character, or may appear on the same line,
with a semicolon. Either way, the effect is the same. There are other
differences in the syntax of recipes. *Note Writing Recipes in Rules:
Recipes.
- Because dollar signs are used to start `make' variable references,
-if you really want a dollar sign in a target or prerequisite you must
-write two of them, `$$' (*note How to Use Variables: Using Variables.).
-If you have enabled secondary expansion (*note Secondary Expansion::)
-and you want a literal dollar sign in the prerequisites list, you must
-actually write _four_ dollar signs (`$$$$').
+ Because dollar signs are used to start 'make' variable references, if
+you really want a dollar sign in a target or prerequisite you must write
+two of them, '$$' (*note How to Use Variables: Using Variables.). If
+you have enabled secondary expansion (*note Secondary Expansion::) and
+you want a literal dollar sign in the prerequisites list, you must
+actually write _four_ dollar signs ('$$$$').
You may split a long line by inserting a backslash followed by a
-newline, but this is not required, as `make' places no limit on the
+newline, but this is not required, as 'make' places no limit on the
length of a line in a makefile.
- A rule tells `make' two things: when the targets are out of date,
-and how to update them when necessary.
+ A rule tells 'make' two things: when the targets are out of date, and
+how to update them when necessary.
The criterion for being out of date is specified in terms of the
PREREQUISITES, which consist of file names separated by spaces.
@@ -1565,9 +1652,9 @@ information in the prerequisites, so if any of the prerequisites
changes, the contents of the existing target file are no longer
necessarily valid.
- How to update is specified by a RECIPE. This is one or more lines
-to be executed by the shell (normally `sh'), but with some extra
-features (*note Writing Recipes in Rules: Recipes.).
+ How to update is specified by a RECIPE. This is one or more lines to
+be executed by the shell (normally 'sh'), but with some extra features
+(*note Writing Recipes in Rules: Recipes.).

File: make.info, Node: Prerequisite Types, Next: Wildcards, Prev: Rule Syntax, Up: Rules
@@ -1576,13 +1663,13 @@ File: make.info, Node: Prerequisite Types, Next: Wildcards, Prev: Rule Syntax
==========================
There are actually two different types of prerequisites understood by
-GNU `make': normal prerequisites such as described in the previous
+GNU 'make': normal prerequisites such as described in the previous
section, and "order-only" prerequisites. A normal prerequisite makes
two statements: first, it imposes an order in which recipes will be
-invoked: the recipes for all prerequisites of a target will be
-completed before the recipe for the target is run. Second, it imposes
-a dependency relationship: if any prerequisite is newer than the
-target, then the target is considered out-of-date and must be rebuilt.
+invoked: the recipes for all prerequisites of a target will be completed
+before the recipe for the target is run. Second, it imposes a
+dependency relationship: if any prerequisite is newer than the target,
+then the target is considered out-of-date and must be rebuilt.
Normally, this is exactly what you want: if a target's prerequisite
is updated, then the target should also be updated.
@@ -1590,10 +1677,10 @@ is updated, then the target should also be updated.
Occasionally, however, you have a situation where you want to impose
a specific ordering on the rules to be invoked _without_ forcing the
target to be updated if one of those rules is executed. In that case,
-you want to define "order-only" prerequisites. Order-only
-prerequisites can be specified by placing a pipe symbol (`|') in the
-prerequisites list: any prerequisites to the left of the pipe symbol
-are normal; any prerequisites to the right are order-only:
+you want to define "order-only" prerequisites. Order-only prerequisites
+can be specified by placing a pipe symbol ('|') in the prerequisites
+list: any prerequisites to the left of the pipe symbol are normal; any
+prerequisites to the right are order-only:
TARGETS : NORMAL-PREREQUISITES | ORDER-ONLY-PREREQUISITES
@@ -1602,12 +1689,12 @@ may still declare multiple lines of prerequisites for the same target:
they are appended appropriately (normal prerequisites are appended to
the list of normal prerequisites; order-only prerequisites are appended
to the list of order-only prerequisites). Note that if you declare the
-same file to be both a normal and an order-only prerequisite, the
-normal prerequisite takes precedence (since they have a strict superset
-of the behavior of an order-only prerequisite).
+same file to be both a normal and an order-only prerequisite, the normal
+prerequisite takes precedence (since they have a strict superset of the
+behavior of an order-only prerequisite).
Consider an example where your targets are to be placed in a separate
-directory, and that directory might not exist before `make' is run. In
+directory, and that directory might not exist before 'make' is run. In
this situation, you want the directory to be created before any targets
are placed into it but, because the timestamps on directories change
whenever a file is added, removed, or renamed, we certainly don't want
@@ -1628,9 +1715,9 @@ directory an order-only prerequisite on all the targets:
$(OBJDIR):
mkdir $(OBJDIR)
- Now the rule to create the `objdir' directory will be run, if
-needed, before any `.o' is built, but no `.o' will be built because the
-`objdir' directory timestamp changed.
+ Now the rule to create the 'objdir' directory will be run, if needed,
+before any '.o' is built, but no '.o' will be built because the 'objdir'
+directory timestamp changed.

File: make.info, Node: Wildcards, Next: Directory Search, Prev: Prerequisite Types, Up: Rules
@@ -1639,31 +1726,31 @@ File: make.info, Node: Wildcards, Next: Directory Search, Prev: Prerequisite
===========================================
A single file name can specify many files using "wildcard characters".
-The wildcard characters in `make' are `*', `?' and `[...]', the same as
-in the Bourne shell. For example, `*.c' specifies a list of all the
-files (in the working directory) whose names end in `.c'.
+The wildcard characters in 'make' are '*', '?' and '[...]', the same as
+in the Bourne shell. For example, '*.c' specifies a list of all the
+files (in the working directory) whose names end in '.c'.
- The character `~' at the beginning of a file name also has special
+ The character '~' at the beginning of a file name also has special
significance. If alone, or followed by a slash, it represents your home
-directory. For example `~/bin' expands to `/home/you/bin'. If the `~'
+directory. For example '~/bin' expands to '/home/you/bin'. If the '~'
is followed by a word, the string represents the home directory of the
-user named by that word. For example `~john/bin' expands to
-`/home/john/bin'. On systems which don't have a home directory for
-each user (such as MS-DOS or MS-Windows), this functionality can be
-simulated by setting the environment variable HOME.
+user named by that word. For example '~john/bin' expands to
+'/home/john/bin'. On systems which don't have a home directory for each
+user (such as MS-DOS or MS-Windows), this functionality can be simulated
+by setting the environment variable HOME.
- Wildcard expansion is performed by `make' automatically in targets
-and in prerequisites. In recipes, the shell is responsible for
-wildcard expansion. In other contexts, wildcard expansion happens only
-if you request it explicitly with the `wildcard' function.
+ Wildcard expansion is performed by 'make' automatically in targets
+and in prerequisites. In recipes, the shell is responsible for wildcard
+expansion. In other contexts, wildcard expansion happens only if you
+request it explicitly with the 'wildcard' function.
The special significance of a wildcard character can be turned off by
-preceding it with a backslash. Thus, `foo\*bar' would refer to a
-specific file whose name consists of `foo', an asterisk, and `bar'.
+preceding it with a backslash. Thus, 'foo\*bar' would refer to a
+specific file whose name consists of 'foo', an asterisk, and 'bar'.
* Menu:
-* Wildcard Examples:: Several examples
+* Wildcard Examples:: Several examples.
* Wildcard Pitfall:: Problems to avoid.
* Wildcard Function:: How to cause wildcard expansion where
it does not normally take place.
@@ -1682,28 +1769,28 @@ files:
rm -f *.o
Wildcards are also useful in the prerequisites of a rule. With the
-following rule in the makefile, `make print' will print all the `.c'
+following rule in the makefile, 'make print' will print all the '.c'
files that have changed since the last time you printed them:
print: *.c
lpr -p $?
touch print
-This rule uses `print' as an empty target file; see *note Empty Target
-Files to Record Events: Empty Targets. (The automatic variable `$?' is
+This rule uses 'print' as an empty target file; see *note Empty Target
+Files to Record Events: Empty Targets. (The automatic variable '$?' is
used to print only those files that have changed; see *note Automatic
Variables::.)
- Wildcard expansion does not happen when you define a variable.
-Thus, if you write this:
+ Wildcard expansion does not happen when you define a variable. Thus,
+if you write this:
objects = *.o
-then the value of the variable `objects' is the actual string `*.o'.
-However, if you use the value of `objects' in a target or prerequisite,
+then the value of the variable 'objects' is the actual string '*.o'.
+However, if you use the value of 'objects' in a target or prerequisite,
wildcard expansion will take place there. If you use the value of
-`objects' in a recipe, the shell may perform wildcard expansion when
-the recipe runs. To set `objects' to the expansion, instead use:
+'objects' in a recipe, the shell may perform wildcard expansion when the
+recipe runs. To set 'objects' to the expansion, instead use:
objects := $(wildcard *.o)
@@ -1717,7 +1804,7 @@ File: make.info, Node: Wildcard Pitfall, Next: Wildcard Function, Prev: Wildc
Now here is an example of a naive way of using wildcard expansion, that
does not do what you would intend. Suppose you would like to say that
-the executable file `foo' is made from all the object files in the
+the executable file 'foo' is made from all the object files in the
directory, and you write this:
objects = *.o
@@ -1725,66 +1812,65 @@ directory, and you write this:
foo : $(objects)
cc -o foo $(CFLAGS) $(objects)
-The value of `objects' is the actual string `*.o'. Wildcard expansion
-happens in the rule for `foo', so that each _existing_ `.o' file
-becomes a prerequisite of `foo' and will be recompiled if necessary.
+The value of 'objects' is the actual string '*.o'. Wildcard expansion
+happens in the rule for 'foo', so that each _existing_ '.o' file becomes
+a prerequisite of 'foo' and will be recompiled if necessary.
- But what if you delete all the `.o' files? When a wildcard matches
-no files, it is left as it is, so then `foo' will depend on the
-oddly-named file `*.o'. Since no such file is likely to exist, `make'
-will give you an error saying it cannot figure out how to make `*.o'.
+ But what if you delete all the '.o' files? When a wildcard matches
+no files, it is left as it is, so then 'foo' will depend on the
+oddly-named file '*.o'. Since no such file is likely to exist, 'make'
+will give you an error saying it cannot figure out how to make '*.o'.
This is not what you want!
Actually it is possible to obtain the desired result with wildcard
expansion, but you need more sophisticated techniques, including the
-`wildcard' function and string substitution. *Note The Function
-`wildcard': Wildcard Function.
+'wildcard' function and string substitution. *Note The Function
+'wildcard': Wildcard Function.
Microsoft operating systems (MS-DOS and MS-Windows) use backslashes
to separate directories in pathnames, like so:
c:\foo\bar\baz.c
- This is equivalent to the Unix-style `c:/foo/bar/baz.c' (the `c:'
-part is the so-called drive letter). When `make' runs on these
-systems, it supports backslashes as well as the Unix-style forward
-slashes in pathnames. However, this support does _not_ include the
-wildcard expansion, where backslash is a quote character. Therefore,
-you _must_ use Unix-style slashes in these cases.
+ This is equivalent to the Unix-style 'c:/foo/bar/baz.c' (the 'c:'
+part is the so-called drive letter). When 'make' runs on these systems,
+it supports backslashes as well as the Unix-style forward slashes in
+pathnames. However, this support does _not_ include the wildcard
+expansion, where backslash is a quote character. Therefore, you _must_
+use Unix-style slashes in these cases.

File: make.info, Node: Wildcard Function, Prev: Wildcard Pitfall, Up: Wildcards
-4.4.3 The Function `wildcard'
+4.4.3 The Function 'wildcard'
-----------------------------
Wildcard expansion happens automatically in rules. But wildcard
-expansion does not normally take place when a variable is set, or
-inside the arguments of a function. If you want to do wildcard
-expansion in such places, you need to use the `wildcard' function, like
-this:
+expansion does not normally take place when a variable is set, or inside
+the arguments of a function. If you want to do wildcard expansion in
+such places, you need to use the 'wildcard' function, like this:
$(wildcard PATTERN...)
This string, used anywhere in a makefile, is replaced by a
space-separated list of names of existing files that match one of the
given file name patterns. If no existing file name matches a pattern,
-then that pattern is omitted from the output of the `wildcard'
-function. Note that this is different from how unmatched wildcards
-behave in rules, where they are used verbatim rather than ignored
-(*note Wildcard Pitfall::).
+then that pattern is omitted from the output of the 'wildcard' function.
+Note that this is different from how unmatched wildcards behave in
+rules, where they are used verbatim rather than ignored (*note Wildcard
+Pitfall::).
- One use of the `wildcard' function is to get a list of all the C
+ One use of the 'wildcard' function is to get a list of all the C
source files in a directory, like this:
$(wildcard *.c)
We can change the list of C source files into a list of object files
-by replacing the `.c' suffix with `.o' in the result, like this:
+by replacing the '.c' suffix with '.o' in the result, like this:
$(patsubst %.c,%.o,$(wildcard *.c))
-(Here we have used another function, `patsubst'. *Note Functions for
+(Here we have used another function, 'patsubst'. *Note Functions for
String Substitution and Analysis: Text Functions.)
Thus, a makefile to compile all C source files in the directory and
@@ -1796,9 +1882,9 @@ then link them together could be written as follows:
cc -o foo $(objects)
(This takes advantage of the implicit rule for compiling C programs, so
-there is no need to write explicit rules for compiling the files.
-*Note The Two Flavors of Variables: Flavors, for an explanation of
-`:=', which is a variant of `='.)
+there is no need to write explicit rules for compiling the files. *Note
+The Two Flavors of Variables: Flavors, for an explanation of ':=', which
+is a variant of '='.)

File: make.info, Node: Directory Search, Next: Phony Targets, Prev: Wildcards, Up: Rules
@@ -1807,10 +1893,10 @@ File: make.info, Node: Directory Search, Next: Phony Targets, Prev: Wildcards
===========================================
For large systems, it is often desirable to put sources in a separate
-directory from the binaries. The "directory search" features of `make'
-facilitate this by searching several directories automatically to find
-a prerequisite. When you redistribute the files among directories, you
-do not need to change the individual rules, just the search paths.
+directory from the binaries. The "directory search" features of 'make'
+facilitate this by searching several directories automatically to find a
+prerequisite. When you redistribute the files among directories, you do
+not need to change the individual rules, just the search paths.
* Menu:
@@ -1819,7 +1905,7 @@ do not need to change the individual rules, just the search paths.
* Selective Search:: Specifying a search path
for a specified class of names.
* Search Algorithm:: When and how search paths are applied.
-* Recipes/Search:: How to write recipes that work together
+* Recipes/Search:: How to write recipes that work together
with search paths.
* Implicit/Search:: How search paths affect implicit rules.
* Libraries/Search:: Directory search for link libraries.
@@ -1827,37 +1913,37 @@ do not need to change the individual rules, just the search paths.

File: make.info, Node: General Search, Next: Selective Search, Prev: Directory Search, Up: Directory Search
-4.5.1 `VPATH': Search Path for All Prerequisites
+4.5.1 'VPATH': Search Path for All Prerequisites
------------------------------------------------
-The value of the `make' variable `VPATH' specifies a list of
-directories that `make' should search. Most often, the directories are
-expected to contain prerequisite files that are not in the current
-directory; however, `make' uses `VPATH' as a search list for both
-prerequisites and targets of rules.
+The value of the 'make' variable 'VPATH' specifies a list of directories
+that 'make' should search. Most often, the directories are expected to
+contain prerequisite files that are not in the current directory;
+however, 'make' uses 'VPATH' as a search list for both prerequisites and
+targets of rules.
Thus, if a file that is listed as a target or prerequisite does not
-exist in the current directory, `make' searches the directories listed
-in `VPATH' for a file with that name. If a file is found in one of
+exist in the current directory, 'make' searches the directories listed
+in 'VPATH' for a file with that name. If a file is found in one of
them, that file may become the prerequisite (see below). Rules may then
specify the names of files in the prerequisite list as if they all
existed in the current directory. *Note Writing Recipes with Directory
Search: Recipes/Search.
- In the `VPATH' variable, directory names are separated by colons or
+ In the 'VPATH' variable, directory names are separated by colons or
blanks. The order in which directories are listed is the order followed
-by `make' in its search. (On MS-DOS and MS-Windows, semi-colons are
-used as separators of directory names in `VPATH', since the colon can
-be used in the pathname itself, after the drive letter.)
+by 'make' in its search. (On MS-DOS and MS-Windows, semi-colons are
+used as separators of directory names in 'VPATH', since the colon can be
+used in the pathname itself, after the drive letter.)
For example,
VPATH = src:../headers
-specifies a path containing two directories, `src' and `../headers',
-which `make' searches in that order.
+specifies a path containing two directories, 'src' and '../headers',
+which 'make' searches in that order.
- With this value of `VPATH', the following rule,
+ With this value of 'VPATH', the following rule,
foo.o : foo.c
@@ -1865,71 +1951,72 @@ is interpreted as if it were written like this:
foo.o : src/foo.c
-assuming the file `foo.c' does not exist in the current directory but
-is found in the directory `src'.
+assuming the file 'foo.c' does not exist in the current directory but is
+found in the directory 'src'.

File: make.info, Node: Selective Search, Next: Search Algorithm, Prev: General Search, Up: Directory Search
-4.5.2 The `vpath' Directive
+4.5.2 The 'vpath' Directive
---------------------------
-Similar to the `VPATH' variable, but more selective, is the `vpath'
+Similar to the 'VPATH' variable, but more selective, is the 'vpath'
directive (note lower case), which allows you to specify a search path
for a particular class of file names: those that match a particular
pattern. Thus you can supply certain search directories for one class
of file names and other directories (or none) for other file names.
- There are three forms of the `vpath' directive:
+ There are three forms of the 'vpath' directive:
-`vpath PATTERN DIRECTORIES'
+'vpath PATTERN DIRECTORIES'
Specify the search path DIRECTORIES for file names that match
PATTERN.
The search path, DIRECTORIES, is a list of directories to be
searched, separated by colons (semi-colons on MS-DOS and
MS-Windows) or blanks, just like the search path used in the
- `VPATH' variable.
+ 'VPATH' variable.
-`vpath PATTERN'
+'vpath PATTERN'
Clear out the search path associated with PATTERN.
-`vpath'
- Clear all search paths previously specified with `vpath'
+'vpath'
+
+ Clear all search paths previously specified with 'vpath'
directives.
- A `vpath' pattern is a string containing a `%' character. The
-string must match the file name of a prerequisite that is being searched
-for, the `%' character matching any sequence of zero or more characters
-(as in pattern rules; *note Defining and Redefining Pattern Rules:
-Pattern Rules.). For example, `%.h' matches files that end in `.h'.
-(If there is no `%', the pattern must match the prerequisite exactly,
-which is not useful very often.)
-
- `%' characters in a `vpath' directive's pattern can be quoted with
-preceding backslashes (`\'). Backslashes that would otherwise quote
-`%' characters can be quoted with more backslashes. Backslashes that
-quote `%' characters or other backslashes are removed from the pattern
-before it is compared to file names. Backslashes that are not in
-danger of quoting `%' characters go unmolested.
+ A 'vpath' pattern is a string containing a '%' character. The string
+must match the file name of a prerequisite that is being searched for,
+the '%' character matching any sequence of zero or more characters (as
+in pattern rules; *note Defining and Redefining Pattern Rules: Pattern
+Rules.). For example, '%.h' matches files that end in '.h'. (If there
+is no '%', the pattern must match the prerequisite exactly, which is not
+useful very often.)
+
+ '%' characters in a 'vpath' directive's pattern can be quoted with
+preceding backslashes ('\'). Backslashes that would otherwise quote '%'
+characters can be quoted with more backslashes. Backslashes that quote
+'%' characters or other backslashes are removed from the pattern before
+it is compared to file names. Backslashes that are not in danger of
+quoting '%' characters go unmolested.
When a prerequisite fails to exist in the current directory, if the
-PATTERN in a `vpath' directive matches the name of the prerequisite
-file, then the DIRECTORIES in that directive are searched just like
-(and before) the directories in the `VPATH' variable.
+PATTERN in a 'vpath' directive matches the name of the prerequisite
+file, then the DIRECTORIES in that directive are searched just like (and
+before) the directories in the 'VPATH' variable.
For example,
vpath %.h ../headers
-tells `make' to look for any prerequisite whose name ends in `.h' in
-the directory `../headers' if the file is not found in the current
+tells 'make' to look for any prerequisite whose name ends in '.h' in the
+directory '../headers' if the file is not found in the current
directory.
- If several `vpath' patterns match the prerequisite file's name, then
-`make' processes each matching `vpath' directive one by one, searching
-all the directories mentioned in each directive. `make' handles
-multiple `vpath' directives in the order in which they appear in the
+ If several 'vpath' patterns match the prerequisite file's name, then
+'make' processes each matching 'vpath' directive one by one, searching
+all the directories mentioned in each directive. 'make' handles
+multiple 'vpath' directives in the order in which they appear in the
makefile; multiple directives with the same pattern are independent of
each other.
@@ -1939,13 +2026,13 @@ each other.
vpath % blish
vpath %.c bar
-will look for a file ending in `.c' in `foo', then `blish', then `bar',
+will look for a file ending in '.c' in 'foo', then 'blish', then 'bar',
while
vpath %.c foo:bar
vpath % blish
-will look for a file ending in `.c' in `foo', then `bar', then `blish'.
+will look for a file ending in '.c' in 'foo', then 'bar', then 'blish'.

File: make.info, Node: Search Algorithm, Next: Recipes/Search, Prev: Selective Search, Up: Directory Search
@@ -1955,11 +2042,11 @@ File: make.info, Node: Search Algorithm, Next: Recipes/Search, Prev: Selectiv
When a prerequisite is found through directory search, regardless of
type (general or selective), the pathname located may not be the one
-that `make' actually provides you in the prerequisite list. Sometimes
+that 'make' actually provides you in the prerequisite list. Sometimes
the path discovered through directory search is thrown away.
- The algorithm `make' uses to decide whether to keep or abandon a
-path found via directory search is as follows:
+ The algorithm 'make' uses to decide whether to keep or abandon a path
+found via directory search is as follows:
1. If a target file does not exist at the path specified in the
makefile, directory search is performed.
@@ -1976,32 +2063,32 @@ path found via directory search is as follows:
a. If the target does _not_ need to be rebuilt, the path to the
file found during directory search is used for any
prerequisite lists which contain this target. In short, if
- `make' doesn't need to rebuild the target then you use the
+ 'make' doesn't need to rebuild the target then you use the
path found via directory search.
b. If the target _does_ need to be rebuilt (is out-of-date), the
pathname found during directory search is _thrown away_, and
the target is rebuilt using the file name specified in the
- makefile. In short, if `make' must rebuild, then the target
+ makefile. In short, if 'make' must rebuild, then the target
is rebuilt locally, not in the directory found via directory
search.
This algorithm may seem complex, but in practice it is quite often
exactly what you want.
- Other versions of `make' use a simpler algorithm: if the file does
+ Other versions of 'make' use a simpler algorithm: if the file does
not exist, and it is found via directory search, then that pathname is
always used whether or not the target needs to be built. Thus, if the
target is rebuilt it is created at the pathname discovered during
directory search.
If, in fact, this is the behavior you want for some or all of your
-directories, you can use the `GPATH' variable to indicate this to
-`make'.
+directories, you can use the 'GPATH' variable to indicate this to
+'make'.
- `GPATH' has the same syntax and format as `VPATH' (that is, a space-
+ 'GPATH' has the same syntax and format as 'VPATH' (that is, a space-
or colon-delimited list of pathnames). If an out-of-date target is
-found by directory search in a directory that also appears in `GPATH',
+found by directory search in a directory that also appears in 'GPATH',
then that pathname is not thrown away. The target is rebuilt using the
expanded path.
@@ -2013,25 +2100,25 @@ File: make.info, Node: Recipes/Search, Next: Implicit/Search, Prev: Search Al
When a prerequisite is found in another directory through directory
search, this cannot change the recipe of the rule; they will execute as
-written. Therefore, you must write the recipe with care so that it
-will look for the prerequisite in the directory where `make' finds it.
+written. Therefore, you must write the recipe with care so that it will
+look for the prerequisite in the directory where 'make' finds it.
- This is done with the "automatic variables" such as `$^' (*note
-Automatic Variables::). For instance, the value of `$^' is a list of
+ This is done with the "automatic variables" such as '$^' (*note
+Automatic Variables::). For instance, the value of '$^' is a list of
all the prerequisites of the rule, including the names of the
-directories in which they were found, and the value of `$@' is the
+directories in which they were found, and the value of '$@' is the
target. Thus:
foo.o : foo.c
cc -c $(CFLAGS) $^ -o $@
-(The variable `CFLAGS' exists so you can specify flags for C
-compilation by implicit rules; we use it here for consistency so it will
-affect all C compilations uniformly; *note Variables Used by Implicit
-Rules: Implicit Variables.)
+(The variable 'CFLAGS' exists so you can specify flags for C compilation
+by implicit rules; we use it here for consistency so it will affect all
+C compilations uniformly; *note Variables Used by Implicit Rules:
+Implicit Variables.)
Often the prerequisites include header files as well, which you do
-not want to mention in the recipe. The automatic variable `$<' is just
+not want to mention in the recipe. The automatic variable '$<' is just
the first prerequisite:
VPATH = src:../headers
@@ -2044,14 +2131,14 @@ File: make.info, Node: Implicit/Search, Next: Libraries/Search, Prev: Recipes
4.5.5 Directory Search and Implicit Rules
-----------------------------------------
-The search through the directories specified in `VPATH' or with `vpath'
+The search through the directories specified in 'VPATH' or with 'vpath'
also happens during consideration of implicit rules (*note Using
Implicit Rules: Implicit Rules.).
- For example, when a file `foo.o' has no explicit rule, `make'
-considers implicit rules, such as the built-in rule to compile `foo.c'
+ For example, when a file 'foo.o' has no explicit rule, 'make'
+considers implicit rules, such as the built-in rule to compile 'foo.c'
if that file exists. If such a file is lacking in the current
-directory, the appropriate directories are searched for it. If `foo.c'
+directory, the appropriate directories are searched for it. If 'foo.c'
exists (or is mentioned in the makefile) in any of the directories, the
implicit rule for C compilation is applied.
@@ -2067,38 +2154,38 @@ File: make.info, Node: Libraries/Search, Prev: Implicit/Search, Up: Directory
Directory search applies in a special way to libraries used with the
linker. This special feature comes into play when you write a
-prerequisite whose name is of the form `-lNAME'. (You can tell
+prerequisite whose name is of the form '-lNAME'. (You can tell
something strange is going on here because the prerequisite is normally
the name of a file, and the _file name_ of a library generally looks
-like `libNAME.a', not like `-lNAME'.)
+like 'libNAME.a', not like '-lNAME'.)
- When a prerequisite's name has the form `-lNAME', `make' handles it
-specially by searching for the file `libNAME.so', and, if it is not
-found, for the file `libNAME.a' in the current directory, in
-directories specified by matching `vpath' search paths and the `VPATH'
-search path, and then in the directories `/lib', `/usr/lib', and
-`PREFIX/lib' (normally `/usr/local/lib', but MS-DOS/MS-Windows versions
-of `make' behave as if PREFIX is defined to be the root of the DJGPP
-installation tree).
+ When a prerequisite's name has the form '-lNAME', 'make' handles it
+specially by searching for the file 'libNAME.so', and, if it is not
+found, for the file 'libNAME.a' in the current directory, in directories
+specified by matching 'vpath' search paths and the 'VPATH' search path,
+and then in the directories '/lib', '/usr/lib', and 'PREFIX/lib'
+(normally '/usr/local/lib', but MS-DOS/MS-Windows versions of 'make'
+behave as if PREFIX is defined to be the root of the DJGPP installation
+tree).
- For example, if there is a `/usr/lib/libcurses.a' library on your
-system (and no `/usr/lib/libcurses.so' file), then
+ For example, if there is a '/usr/lib/libcurses.a' library on your
+system (and no '/usr/lib/libcurses.so' file), then
foo : foo.c -lcurses
cc $^ -o $@
-would cause the command `cc foo.c /usr/lib/libcurses.a -o foo' to be
-executed when `foo' is older than `foo.c' or than
-`/usr/lib/libcurses.a'.
+would cause the command 'cc foo.c /usr/lib/libcurses.a -o foo' to be
+executed when 'foo' is older than 'foo.c' or than
+'/usr/lib/libcurses.a'.
- Although the default set of files to be searched for is `libNAME.so'
-and `libNAME.a', this is customizable via the `.LIBPATTERNS' variable.
+ Although the default set of files to be searched for is 'libNAME.so'
+and 'libNAME.a', this is customizable via the '.LIBPATTERNS' variable.
Each word in the value of this variable is a pattern string. When a
-prerequisite like `-lNAME' is seen, `make' will replace the percent in
+prerequisite like '-lNAME' is seen, 'make' will replace the percent in
each pattern in the list with NAME and perform the above directory
-searches using each library filename.
+searches using each library file name.
- The default value for `.LIBPATTERNS' is `lib%.so lib%.a', which
+ The default value for '.LIBPATTERNS' is 'lib%.so lib%.a', which
provides the default behavior described above.
You can turn off link library expansion completely by setting this
@@ -2122,41 +2209,31 @@ Here is an example:
clean:
rm *.o temp
-Because the `rm' command does not create a file named `clean', probably
-no such file will ever exist. Therefore, the `rm' command will be
-executed every time you say `make clean'.
-
- The phony target will cease to work if anything ever does create a
-file named `clean' in this directory. Since it has no prerequisites,
-the file `clean' would inevitably be considered up to date, and its
-recipe would not be executed. To avoid this problem, you can explicitly
-declare the target to be phony, using the special target `.PHONY'
-(*note Special Built-in Target Names: Special Targets.) as follows:
-
- .PHONY : clean
-
-Once this is done, `make clean' will run the recipe regardless of
-whether there is a file named `clean'.
-
- Since it knows that phony targets do not name actual files that
-could be remade from other files, `make' skips the implicit rule search
-for phony targets (*note Implicit Rules::). This is why declaring a
-target phony is good for performance, even if you are not worried about
-the actual file existing.
+Because the 'rm' command does not create a file named 'clean', probably
+no such file will ever exist. Therefore, the 'rm' command will be
+executed every time you say 'make clean'.
- Thus, you first write the line that states that `clean' is a phony
-target, then you write the rule, like this:
+ In this example, the 'clean' target will not work properly if a file
+named 'clean' is ever created in this directory. Since it has no
+prerequisites, 'clean' would always be considered up to date and its
+recipe would not be executed. To avoid this problem you can explicitly
+declare the target to be phony by making it a prerequisite of the
+special target '.PHONY' (*note Special Built-in Target Names: Special
+Targets.) as follows:
.PHONY: clean
clean:
rm *.o temp
- Another example of the usefulness of phony targets is in conjunction
-with recursive invocations of `make' (for more information, see *note
-Recursive Use of `make': Recursion.). In this case the makefile will
-often contain a variable which lists a number of subdirectories to be
-built. One way to handle this is with one rule whose recipe is a shell
-loop over the subdirectories, like this:
+Once this is done, 'make clean' will run the recipe regardless of
+whether there is a file named 'clean'.
+
+ Phony targets are also useful in conjunction with recursive
+invocations of 'make' (*note Recursive Use of 'make': Recursion.). In
+this situation the makefile will often contain a variable which lists a
+number of sub-directories to be built. A simplistic way to handle this
+is to define one rule with a recipe that loops over the sub-directories,
+like this:
SUBDIRS = foo bar baz
@@ -2166,17 +2243,17 @@ loop over the subdirectories, like this:
done
There are problems with this method, however. First, any error
-detected in a submake is ignored by this rule, so it will continue to
+detected in a sub-make is ignored by this rule, so it will continue to
build the rest of the directories even when one fails. This can be
overcome by adding shell commands to note the error and exit, but then
-it will do so even if `make' is invoked with the `-k' option, which is
+it will do so even if 'make' is invoked with the '-k' option, which is
unfortunate. Second, and perhaps more importantly, you cannot take
-advantage of `make''s ability to build targets in parallel (*note
+advantage of 'make''s ability to build targets in parallel (*note
Parallel Execution: Parallel.), since there is only one rule.
- By declaring the subdirectories as phony targets (you must do this as
-the subdirectory obviously always exists; otherwise it won't be built)
-you can remove these problems:
+ By declaring the sub-directories as '.PHONY' targets (you must do
+this as the sub-directory obviously always exists; otherwise it won't be
+built) you can remove these problems:
SUBDIRS = foo bar baz
@@ -2189,24 +2266,29 @@ you can remove these problems:
foo: baz
- Here we've also declared that the `foo' subdirectory cannot be built
-until after the `baz' subdirectory is complete; this kind of
+ Here we've also declared that the 'foo' sub-directory cannot be built
+until after the 'baz' sub-directory is complete; this kind of
relationship declaration is particularly important when attempting
parallel builds.
- A phony target should not be a prerequisite of a real target file;
-if it is, its recipe will be run every time `make' goes to update that
+ The implicit rule search (*note Implicit Rules::) is skipped for
+'.PHONY' targets. This is why declaring a target as '.PHONY' is good
+for performance, even if you are not worried about the actual file
+existing.
+
+ A phony target should not be a prerequisite of a real target file; if
+it is, its recipe will be run every time 'make' goes to update that
file. As long as a phony target is never a prerequisite of a real
target, the phony target recipe will be executed only when the phony
target is a specified goal (*note Arguments to Specify the Goals:
Goals.).
Phony targets can have prerequisites. When one directory contains
-multiple programs, it is most convenient to describe all of the
-programs in one makefile `./Makefile'. Since the target remade by
-default will be the first one in the makefile, it is common to make
-this a phony target named `all' and give it, as prerequisites, all the
-individual programs. For example:
+multiple programs, it is most convenient to describe all of the programs
+in one makefile './Makefile'. Since the target remade by default will
+be the first one in the makefile, it is common to make this a phony
+target named 'all' and give it, as prerequisites, all the individual
+programs. For example:
all : prog1 prog2 prog3
.PHONY : all
@@ -2220,14 +2302,14 @@ individual programs. For example:
prog3 : prog3.o sort.o utils.o
cc -o prog3 prog3.o sort.o utils.o
-Now you can say just `make' to remake all three programs, or specify as
-arguments the ones to remake (as in `make prog1 prog3'). Phoniness is
+Now you can say just 'make' to remake all three programs, or specify as
+arguments the ones to remake (as in 'make prog1 prog3'). Phoniness is
not inherited: the prerequisites of a phony target are not themselves
phony, unless explicitly declared to be so.
When one phony target is a prerequisite of another, it serves as a
-subroutine of the other. For example, here `make cleanall' will delete
-the object files, the difference files, and the file `program':
+subroutine of the other. For example, here 'make cleanall' will delete
+the object files, the difference files, and the file 'program':
.PHONY: cleanall cleanobj cleandiff
@@ -2247,7 +2329,7 @@ File: make.info, Node: Force Targets, Next: Empty Targets, Prev: Phony Target
==========================================
If a rule has no prerequisites or recipe, and the target of the rule is
-a nonexistent file, then `make' imagines this target to have been
+a nonexistent file, then 'make' imagines this target to have been
updated whenever its rule is run. This implies that all targets
depending on this one will always have their recipe run.
@@ -2257,17 +2339,17 @@ depending on this one will always have their recipe run.
rm $(objects)
FORCE:
- Here the target `FORCE' satisfies the special conditions, so the
-target `clean' that depends on it is forced to run its recipe. There
-is nothing special about the name `FORCE', but that is one name
-commonly used this way.
+ Here the target 'FORCE' satisfies the special conditions, so the
+target 'clean' that depends on it is forced to run its recipe. There is
+nothing special about the name 'FORCE', but that is one name commonly
+used this way.
- As you can see, using `FORCE' this way has the same results as using
-`.PHONY: clean'.
+ As you can see, using 'FORCE' this way has the same results as using
+'.PHONY: clean'.
- Using `.PHONY' is more explicit and more efficient. However, other
-versions of `make' do not support `.PHONY'; thus `FORCE' appears in
-many makefiles. *Note Phony Targets::.
+ Using '.PHONY' is more explicit and more efficient. However, other
+versions of 'make' do not support '.PHONY'; thus 'FORCE' appears in many
+makefiles. *Note Phony Targets::.

File: make.info, Node: Empty Targets, Next: Special Targets, Prev: Force Targets, Up: Rules
@@ -2282,7 +2364,7 @@ contents do not matter, and usually are empty.
The purpose of the empty target file is to record, with its
last-modification time, when the rule's recipe was last executed. It
-does so because one of the commands in the recipe is a `touch' command
+does so because one of the commands in the recipe is a 'touch' command
to update the target file.
The empty target file should have some prerequisites (otherwise it
@@ -2294,11 +2376,11 @@ remade the target. Here is an example:
print: foo.c bar.c
lpr -p $?
touch print
-
-With this rule, `make print' will execute the `lpr' command if either
-source file has changed since the last `make print'. The automatic
-variable `$?' is used to print only those files that have changed
-(*note Automatic Variables::).
+
+With this rule, 'make print' will execute the 'lpr' command if either
+source file has changed since the last 'make print'. The automatic
+variable '$?' is used to print only those files that have changed (*note
+Automatic Variables::).

File: make.info, Node: Special Targets, Next: Multiple Targets, Prev: Empty Targets, Up: Rules
@@ -2308,160 +2390,175 @@ File: make.info, Node: Special Targets, Next: Multiple Targets, Prev: Empty T
Certain names have special meanings if they appear as targets.
-`.PHONY'
- The prerequisites of the special target `.PHONY' are considered to
+'.PHONY'
+
+ The prerequisites of the special target '.PHONY' are considered to
be phony targets. When it is time to consider such a target,
- `make' will run its recipe unconditionally, regardless of whether
- a file with that name exists or what its last-modification time
- is. *Note Phony Targets: Phony Targets.
+ 'make' will run its recipe unconditionally, regardless of whether a
+ file with that name exists or what its last-modification time is.
+ *Note Phony Targets: Phony Targets.
-`.SUFFIXES'
- The prerequisites of the special target `.SUFFIXES' are the list
- of suffixes to be used in checking for suffix rules. *Note
+'.SUFFIXES'
+
+ The prerequisites of the special target '.SUFFIXES' are the list of
+ suffixes to be used in checking for suffix rules. *Note
Old-Fashioned Suffix Rules: Suffix Rules.
-`.DEFAULT'
- The recipe specified for `.DEFAULT' is used for any target for
+'.DEFAULT'
+
+ The recipe specified for '.DEFAULT' is used for any target for
which no rules are found (either explicit rules or implicit rules).
- *Note Last Resort::. If a `.DEFAULT' recipe is specified, every
+ *Note Last Resort::. If a '.DEFAULT' recipe is specified, every
file mentioned as a prerequisite, but not as a target in a rule,
will have that recipe executed on its behalf. *Note Implicit Rule
Search Algorithm: Implicit Rule Search.
-`.PRECIOUS'
- The targets which `.PRECIOUS' depends on are given the following
- special treatment: if `make' is killed or interrupted during the
+'.PRECIOUS'
+
+ The targets which '.PRECIOUS' depends on are given the following
+ special treatment: if 'make' is killed or interrupted during the
execution of their recipes, the target is not deleted. *Note
- Interrupting or Killing `make': Interrupts. Also, if the target
- is an intermediate file, it will not be deleted after it is no
- longer needed, as is normally done. *Note Chains of Implicit
- Rules: Chained Rules. In this latter respect it overlaps with the
- `.SECONDARY' special target.
+ Interrupting or Killing 'make': Interrupts. Also, if the target is
+ an intermediate file, it will not be deleted after it is no longer
+ needed, as is normally done. *Note Chains of Implicit Rules:
+ Chained Rules. In this latter respect it overlaps with the
+ '.SECONDARY' special target.
You can also list the target pattern of an implicit rule (such as
- `%.o') as a prerequisite file of the special target `.PRECIOUS' to
+ '%.o') as a prerequisite file of the special target '.PRECIOUS' to
preserve intermediate files created by rules whose target patterns
match that file's name.
-`.INTERMEDIATE'
- The targets which `.INTERMEDIATE' depends on are treated as
+'.INTERMEDIATE'
+
+ The targets which '.INTERMEDIATE' depends on are treated as
intermediate files. *Note Chains of Implicit Rules: Chained Rules.
- `.INTERMEDIATE' with no prerequisites has no effect.
+ '.INTERMEDIATE' with no prerequisites has no effect.
-`.SECONDARY'
- The targets which `.SECONDARY' depends on are treated as
+'.SECONDARY'
+
+ The targets which '.SECONDARY' depends on are treated as
intermediate files, except that they are never automatically
deleted. *Note Chains of Implicit Rules: Chained Rules.
- `.SECONDARY' with no prerequisites causes all targets to be treated
+ '.SECONDARY' with no prerequisites causes all targets to be treated
as secondary (i.e., no target is removed because it is considered
intermediate).
-`.SECONDEXPANSION'
- If `.SECONDEXPANSION' is mentioned as a target anywhere in the
+'.SECONDEXPANSION'
+
+ If '.SECONDEXPANSION' is mentioned as a target anywhere in the
makefile, then all prerequisite lists defined _after_ it appears
will be expanded a second time after all makefiles have been read
in. *Note Secondary Expansion: Secondary Expansion.
-`.DELETE_ON_ERROR'
- If `.DELETE_ON_ERROR' is mentioned as a target anywhere in the
- makefile, then `make' will delete the target of a rule if it has
+'.DELETE_ON_ERROR'
+
+ If '.DELETE_ON_ERROR' is mentioned as a target anywhere in the
+ makefile, then 'make' will delete the target of a rule if it has
changed and its recipe exits with a nonzero exit status, just as it
does when it receives a signal. *Note Errors in Recipes: Errors.
-`.IGNORE'
- If you specify prerequisites for `.IGNORE', then `make' will
- ignore errors in execution of the recipe for those particular
- files. The recipe for `.IGNORE' (if any) is ignored.
+'.IGNORE'
+
+ If you specify prerequisites for '.IGNORE', then 'make' will ignore
+ errors in execution of the recipe for those particular files. The
+ recipe for '.IGNORE' (if any) is ignored.
- If mentioned as a target with no prerequisites, `.IGNORE' says to
+ If mentioned as a target with no prerequisites, '.IGNORE' says to
ignore errors in execution of recipes for all files. This usage of
- `.IGNORE' is supported only for historical compatibility. Since
+ '.IGNORE' is supported only for historical compatibility. Since
this affects every recipe in the makefile, it is not very useful;
we recommend you use the more selective ways to ignore errors in
specific recipes. *Note Errors in Recipes: Errors.
-`.LOW_RESOLUTION_TIME'
- If you specify prerequisites for `.LOW_RESOLUTION_TIME', `make'
+'.LOW_RESOLUTION_TIME'
+
+ If you specify prerequisites for '.LOW_RESOLUTION_TIME', 'make'
assumes that these files are created by commands that generate low
- resolution time stamps. The recipe for the `.LOW_RESOLUTION_TIME'
+ resolution time stamps. The recipe for the '.LOW_RESOLUTION_TIME'
target are ignored.
The high resolution file time stamps of many modern file systems
- lessen the chance of `make' incorrectly concluding that a file is
+ lessen the chance of 'make' incorrectly concluding that a file is
up to date. Unfortunately, some hosts do not provide a way to set
- a high resolution file time stamp, so commands like `cp -p' that
- explicitly set a file's time stamp must discard its subsecond part.
- If a file is created by such a command, you should list it as a
- prerequisite of `.LOW_RESOLUTION_TIME' so that `make' does not
+ a high resolution file time stamp, so commands like 'cp -p' that
+ explicitly set a file's time stamp must discard its sub-second
+ part. If a file is created by such a command, you should list it
+ as a prerequisite of '.LOW_RESOLUTION_TIME' so that 'make' does not
mistakenly conclude that the file is out of date. For example:
.LOW_RESOLUTION_TIME: dst
dst: src
cp -p src dst
- Since `cp -p' discards the subsecond part of `src''s time stamp,
- `dst' is typically slightly older than `src' even when it is up to
- date. The `.LOW_RESOLUTION_TIME' line causes `make' to consider
- `dst' to be up to date if its time stamp is at the start of the
- same second that `src''s time stamp is in.
+ Since 'cp -p' discards the sub-second part of 'src''s time stamp,
+ 'dst' is typically slightly older than 'src' even when it is up to
+ date. The '.LOW_RESOLUTION_TIME' line causes 'make' to consider
+ 'dst' to be up to date if its time stamp is at the start of the
+ same second that 'src''s time stamp is in.
Due to a limitation of the archive format, archive member time
stamps are always low resolution. You need not list archive
- members as prerequisites of `.LOW_RESOLUTION_TIME', as `make' does
+ members as prerequisites of '.LOW_RESOLUTION_TIME', as 'make' does
this automatically.
-`.SILENT'
- If you specify prerequisites for `.SILENT', then `make' will not
+'.SILENT'
+
+ If you specify prerequisites for '.SILENT', then 'make' will not
print the recipe used to remake those particular files before
- executing them. The recipe for `.SILENT' is ignored.
+ executing them. The recipe for '.SILENT' is ignored.
- If mentioned as a target with no prerequisites, `.SILENT' says not
+ If mentioned as a target with no prerequisites, '.SILENT' says not
to print any recipes before executing them. This usage of
- `.SILENT' is supported only for historical compatibility. We
+ '.SILENT' is supported only for historical compatibility. We
recommend you use the more selective ways to silence specific
recipes. *Note Recipe Echoing: Echoing. If you want to silence
- all recipes for a particular run of `make', use the `-s' or
- `--silent' option (*note Options Summary::).
+ all recipes for a particular run of 'make', use the '-s' or '--silent'
+ option (*note Options Summary::).
-`.EXPORT_ALL_VARIABLES'
- Simply by being mentioned as a target, this tells `make' to export
+'.EXPORT_ALL_VARIABLES'
+
+ Simply by being mentioned as a target, this tells 'make' to export
all variables to child processes by default. *Note Communicating
- Variables to a Sub-`make': Variables/Recursion.
+ Variables to a Sub-'make': Variables/Recursion.
+
+'.NOTPARALLEL'
-`.NOTPARALLEL'
- If `.NOTPARALLEL' is mentioned as a target, then this invocation
- of `make' will be run serially, even if the `-j' option is given.
- Any recursively invoked `make' command will still run recipes in
+ If '.NOTPARALLEL' is mentioned as a target, then this invocation of
+ 'make' will be run serially, even if the '-j' option is given. Any
+ recursively invoked 'make' command will still run recipes in
parallel (unless its makefile also contains this target). Any
prerequisites on this target are ignored.
-`.ONESHELL'
- If `.ONESHELL' is mentioned as a target, then when a target is
+'.ONESHELL'
+
+ If '.ONESHELL' is mentioned as a target, then when a target is
built all lines of the recipe will be given to a single invocation
of the shell rather than each line being invoked separately (*note
Recipe Execution: Execution.).
-`.POSIX'
- If `.POSIX' is mentioned as a target, then the makefile will be
- parsed and run in POSIX-conforming mode. This does _not_ mean
- that only POSIX-conforming makefiles will be accepted: all advanced
- GNU `make' features are still available. Rather, this target
- causes `make' to behave as required by POSIX in those areas where
- `make''s default behavior differs.
+'.POSIX'
+
+ If '.POSIX' is mentioned as a target, then the makefile will be
+ parsed and run in POSIX-conforming mode. This does _not_ mean that
+ only POSIX-conforming makefiles will be accepted: all advanced GNU
+ 'make' features are still available. Rather, this target causes
+ 'make' to behave as required by POSIX in those areas where 'make''s
+ default behavior differs.
In particular, if this target is mentioned then recipes will be
- invoked as if the shell had been passed the `-e' flag: the first
+ invoked as if the shell had been passed the '-e' flag: the first
failing command in a recipe will cause the recipe to fail
immediately.
Any defined implicit rule suffix also counts as a special target if
it appears as a target, and so does the concatenation of two suffixes,
-such as `.c.o'. These targets are suffix rules, an obsolete way of
+such as '.c.o'. These targets are suffix rules, an obsolete way of
defining implicit rules (but a way still widely used). In principle,
any target name could be special in this way if you break it in two and
add both pieces to the suffix list. In practice, suffixes normally
-begin with `.', so these special target names also begin with `.'.
+begin with '.', so these special target names also begin with '.'.
*Note Old-Fashioned Suffix Rules: Suffix Rules.

@@ -2473,7 +2570,7 @@ File: make.info, Node: Multiple Targets, Next: Multiple Rules, Prev: Special
A rule with multiple targets is equivalent to writing many rules, each
with one target, and all identical aside from that. The same recipe
applies to all the targets, but its effect may vary because you can
-substitute the actual target name into the recipe using `$@'. The rule
+substitute the actual target name into the recipe using '$@'. The rule
contributes the same prerequisites to all the targets also.
This is useful in two cases.
@@ -2486,13 +2583,13 @@ contributes the same prerequisites to all the targets also.
mentioned.
* Similar recipes work for all the targets. The recipes do not need
- to be absolutely identical, since the automatic variable `$@' can
+ to be absolutely identical, since the automatic variable '$@' can
be used to substitute the particular target to be remade into the
commands (*note Automatic Variables::). For example:
bigoutput littleoutput : text.g
generate text.g -$(subst output,,$@) > $@
-
+
is equivalent to
bigoutput : text.g
@@ -2500,15 +2597,15 @@ contributes the same prerequisites to all the targets also.
littleoutput : text.g
generate text.g -little > littleoutput
- Here we assume the hypothetical program `generate' makes two types
- of output, one if given `-big' and one if given `-little'. *Note
- Functions for String Substitution and Analysis: Text Functions,
- for an explanation of the `subst' function.
+ Here we assume the hypothetical program 'generate' makes two types
+ of output, one if given '-big' and one if given '-little'. *Note
+ Functions for String Substitution and Analysis: Text Functions, for
+ an explanation of the 'subst' function.
Suppose you would like to vary the prerequisites according to the
-target, much as the variable `$@' allows you to vary the recipe. You
-cannot do this with multiple targets in an ordinary rule, but you can
-do it with a "static pattern rule". *Note Static Pattern Rules: Static
+target, much as the variable '$@' allows you to vary the recipe. You
+cannot do this with multiple targets in an ordinary rule, but you can do
+it with a "static pattern rule". *Note Static Pattern Rules: Static
Pattern.

@@ -2523,10 +2620,10 @@ the target. If the target is older than any prerequisite from any rule,
the recipe is executed.
There can only be one recipe to be executed for a file. If more than
-one rule gives a recipe for the same file, `make' uses the last one
+one rule gives a recipe for the same file, 'make' uses the last one
given and prints an error message. (As a special case, if the file's
name begins with a dot, no error message is printed. This odd behavior
-is only for compatibility with other implementations of `make'... you
+is only for compatibility with other implementations of 'make'... you
should avoid using it). Occasionally it is useful to have the same
target invoke multiple recipes which are defined in different parts of
your makefile; you can use "double-colon rules" (*note Double-Colon::)
@@ -2534,9 +2631,9 @@ for this.
An extra rule with just prerequisites can be used to give a few extra
prerequisites to many files at once. For example, makefiles often have
-a variable, such as `objects', containing a list of all the compiler
+a variable, such as 'objects', containing a list of all the compiler
output files in the system being made. An easy way to say that all of
-them must be recompiled if `config.h' changes is to write the following:
+them must be recompiled if 'config.h' changes is to write the following:
objects = foo.o bar.o
foo.o : defs.h
@@ -2544,21 +2641,20 @@ them must be recompiled if `config.h' changes is to write the following:
$(objects) : config.h
This could be inserted or taken out without changing the rules that
-really specify how to make the object files, making it a convenient
-form to use if you wish to add the additional prerequisite
-intermittently.
+really specify how to make the object files, making it a convenient form
+to use if you wish to add the additional prerequisite intermittently.
Another wrinkle is that the additional prerequisites could be
specified with a variable that you set with a command line argument to
-`make' (*note Overriding Variables: Overriding.). For example,
+'make' (*note Overriding Variables: Overriding.). For example,
extradeps=
$(objects) : $(extradeps)
-means that the command `make extradeps=foo.h' will consider `foo.h' as
-a prerequisite of each object file, but plain `make' will not.
+means that the command 'make extradeps=foo.h' will consider 'foo.h' as a
+prerequisite of each object file, but plain 'make' will not.
- If none of the explicit rules for a target has a recipe, then `make'
+ If none of the explicit rules for a target has a recipe, then 'make'
searches for an applicable implicit rule to find one *note Using
Implicit Rules: Implicit Rules.).
@@ -2602,33 +2698,33 @@ TARGET-PATTERN to extract a part of the target name, called the "stem".
This stem is substituted into each of the PREREQ-PATTERNS to make the
prerequisite names (one from each PREREQ-PATTERN).
- Each pattern normally contains the character `%' just once. When the
-TARGET-PATTERN matches a target, the `%' can match any part of the
+ Each pattern normally contains the character '%' just once. When the
+TARGET-PATTERN matches a target, the '%' can match any part of the
target name; this part is called the "stem". The rest of the pattern
-must match exactly. For example, the target `foo.o' matches the
-pattern `%.o', with `foo' as the stem. The targets `foo.c' and
-`foo.out' do not match that pattern.
+must match exactly. For example, the target 'foo.o' matches the pattern
+'%.o', with 'foo' as the stem. The targets 'foo.c' and 'foo.out' do not
+match that pattern.
The prerequisite names for each target are made by substituting the
-stem for the `%' in each prerequisite pattern. For example, if one
-prerequisite pattern is `%.c', then substitution of the stem `foo'
-gives the prerequisite name `foo.c'. It is legitimate to write a
-prerequisite pattern that does not contain `%'; then this prerequisite
-is the same for all targets.
-
- `%' characters in pattern rules can be quoted with preceding
-backslashes (`\'). Backslashes that would otherwise quote `%'
+stem for the '%' in each prerequisite pattern. For example, if one
+prerequisite pattern is '%.c', then substitution of the stem 'foo' gives
+the prerequisite name 'foo.c'. It is legitimate to write a prerequisite
+pattern that does not contain '%'; then this prerequisite is the same
+for all targets.
+
+ '%' characters in pattern rules can be quoted with preceding
+backslashes ('\'). Backslashes that would otherwise quote '%'
characters can be quoted with more backslashes. Backslashes that quote
-`%' characters or other backslashes are removed from the pattern before
+'%' characters or other backslashes are removed from the pattern before
it is compared to file names or has a stem substituted into it.
-Backslashes that are not in danger of quoting `%' characters go
-unmolested. For example, the pattern `the\%weird\\%pattern\\' has
-`the%weird\' preceding the operative `%' character, and `pattern\\'
+Backslashes that are not in danger of quoting '%' characters go
+unmolested. For example, the pattern 'the\%weird\\%pattern\\' has
+'the%weird\' preceding the operative '%' character, and 'pattern\\'
following it. The final two backslashes are left alone because they
-cannot affect any `%' character.
+cannot affect any '%' character.
- Here is an example, which compiles each of `foo.o' and `bar.o' from
-the corresponding `.c' file:
+ Here is an example, which compiles each of 'foo.o' and 'bar.o' from
+the corresponding '.c' file:
objects = foo.o bar.o
@@ -2637,14 +2733,14 @@ the corresponding `.c' file:
$(objects): %.o: %.c
$(CC) -c $(CFLAGS) $< -o $@
-Here `$<' is the automatic variable that holds the name of the
-prerequisite and `$@' is the automatic variable that holds the name of
+Here '$<' is the automatic variable that holds the name of the
+prerequisite and '$@' is the automatic variable that holds the name of
the target; see *note Automatic Variables::.
Each target specified must match the target pattern; a warning is
-issued for each target that does not. If you have a list of files,
-only some of which will match the pattern, you can use the `filter'
-function to remove nonmatching file names (*note Functions for String
+issued for each target that does not. If you have a list of files, only
+some of which will match the pattern, you can use the 'filter' function
+to remove non-matching file names (*note Functions for String
Substitution and Analysis: Text Functions.):
files = foo.elc bar.o lose.o
@@ -2654,19 +2750,19 @@ Substitution and Analysis: Text Functions.):
$(filter %.elc,$(files)): %.elc: %.el
emacs -f batch-byte-compile $<
-In this example the result of `$(filter %.o,$(files))' is `bar.o
+In this example the result of '$(filter %.o,$(files))' is 'bar.o
lose.o', and the first static pattern rule causes each of these object
files to be updated by compiling the corresponding C source file. The
-result of `$(filter %.elc,$(files))' is `foo.elc', so that file is made
-from `foo.el'.
+result of '$(filter %.elc,$(files))' is 'foo.elc', so that file is made
+from 'foo.el'.
- Another example shows how to use `$*' in static pattern rules:
+ Another example shows how to use '$*' in static pattern rules:
bigoutput littleoutput : %output : text.g
generate text.g -$* > $@
-When the `generate' command is run, `$*' will expand to the stem,
-either `big' or `little'.
+When the 'generate' command is run, '$*' will expand to the stem, either
+'big' or 'little'.

File: make.info, Node: Static versus Implicit, Prev: Static Usage, Up: Static Pattern
@@ -2678,7 +2774,7 @@ A static pattern rule has much in common with an implicit rule defined
as a pattern rule (*note Defining and Redefining Pattern Rules: Pattern
Rules.). Both have a pattern for the target and patterns for
constructing the names of prerequisites. The difference is in how
-`make' decides _when_ the rule applies.
+'make' decides _when_ the rule applies.
An implicit rule _can_ apply to any target that matches its pattern,
but it _does_ apply only when the target has no recipe otherwise
@@ -2695,15 +2791,15 @@ If two conflicting rules apply, and both have recipes, that's an error.
reasons:
* You may wish to override the usual implicit rule for a few files
- whose names cannot be categorized syntactically but can be given
- in an explicit list.
+ whose names cannot be categorized syntactically but can be given in
+ an explicit list.
* If you cannot be sure of the precise contents of the directories
you are using, you may not be sure which other irrelevant files
- might lead `make' to use the wrong implicit rule. The choice
- might depend on the order in which the implicit rule search is
- done. With static pattern rules, there is no uncertainty: each
- rule applies to precisely the targets specified.
+ might lead 'make' to use the wrong implicit rule. The choice might
+ depend on the order in which the implicit rule search is done.
+ With static pattern rules, there is no uncertainty: each rule
+ applies to precisely the targets specified.

File: make.info, Node: Double-Colon, Next: Automatic Prerequisites, Prev: Static Pattern, Up: Rules
@@ -2711,20 +2807,19 @@ File: make.info, Node: Double-Colon, Next: Automatic Prerequisites, Prev: Sta
4.13 Double-Colon Rules
=======================
-"Double-colon" rules are explicit rules written with `::' instead of
-`:' after the target names. They are handled differently from ordinary
-rules when the same target appears in more than one rule. Pattern
-rules with double-colons have an entirely different meaning (*note
+"Double-colon" rules are explicit rules written with '::' instead of ':'
+after the target names. They are handled differently from ordinary
+rules when the same target appears in more than one rule. Pattern rules
+with double-colons have an entirely different meaning (*note
Match-Anything Rules::).
When a target appears in multiple rules, all the rules must be the
-same type: all ordinary, or all double-colon. If they are
-double-colon, each of them is independent of the others. Each
-double-colon rule's recipe is executed if the target is older than any
-prerequisites of that rule. If there are no prerequisites for that
-rule, its recipe is always executed (even if the target already
-exists). This can result in executing none, any, or all of the
-double-colon rules.
+same type: all ordinary, or all double-colon. If they are double-colon,
+each of them is independent of the others. Each double-colon rule's
+recipe is executed if the target is older than any prerequisites of that
+rule. If there are no prerequisites for that rule, its recipe is always
+executed (even if the target already exists). This can result in
+executing none, any, or all of the double-colon rules.
Double-colon rules with the same target are in fact completely
separate from one another. Each double-colon rule is processed
@@ -2752,20 +2847,20 @@ File: make.info, Node: Automatic Prerequisites, Prev: Double-Colon, Up: Rules
In the makefile for a program, many of the rules you need to write often
say only that some object file depends on some header file. For
-example, if `main.c' uses `defs.h' via an `#include', you would write:
+example, if 'main.c' uses 'defs.h' via an '#include', you would write:
main.o: defs.h
-You need this rule so that `make' knows that it must remake `main.o'
-whenever `defs.h' changes. You can see that for a large program you
+You need this rule so that 'make' knows that it must remake 'main.o'
+whenever 'defs.h' changes. You can see that for a large program you
would have to write dozens of such rules in your makefile. And, you
-must always be very careful to update the makefile every time you add
-or remove an `#include'.
+must always be very careful to update the makefile every time you add or
+remove an '#include'.
To avoid this hassle, most modern C compilers can write these rules
-for you, by looking at the `#include' lines in the source files.
-Usually this is done with the `-M' option to the compiler. For
-example, the command:
+for you, by looking at the '#include' lines in the source files.
+Usually this is done with the '-M' option to the compiler. For example,
+the command:
cc -M main.c
@@ -2773,34 +2868,33 @@ generates the output:
main.o : main.c defs.h
-Thus you no longer have to write all those rules yourself. The
-compiler will do it for you.
+Thus you no longer have to write all those rules yourself. The compiler
+will do it for you.
- Note that such a prerequisite constitutes mentioning `main.o' in a
-makefile, so it can never be considered an intermediate file by implicit
-rule search. This means that `make' won't ever remove the file after
-using it; *note Chains of Implicit Rules: Chained Rules.
+ Note that such a rule constitutes mentioning 'main.o' in a makefile,
+so it can never be considered an intermediate file by implicit rule
+search. This means that 'make' won't ever remove the file after using
+it; *note Chains of Implicit Rules: Chained Rules.
- With old `make' programs, it was traditional practice to use this
+ With old 'make' programs, it was traditional practice to use this
compiler feature to generate prerequisites on demand with a command like
-`make depend'. That command would create a file `depend' containing
-all the automatically-generated prerequisites; then the makefile could
-use `include' to read them in (*note Include::).
-
- In GNU `make', the feature of remaking makefiles makes this practice
-obsolete--you need never tell `make' explicitly to regenerate the
-prerequisites, because it always regenerates any makefile that is out
-of date. *Note Remaking Makefiles::.
-
- The practice we recommend for automatic prerequisite generation is
-to have one makefile corresponding to each source file. For each
-source file `NAME.c' there is a makefile `NAME.d' which lists what
-files the object file `NAME.o' depends on. That way only the source
-files that have changed need to be rescanned to produce the new
-prerequisites.
+'make depend'. That command would create a file 'depend' containing all
+the automatically-generated prerequisites; then the makefile could use
+'include' to read them in (*note Include::).
- Here is the pattern rule to generate a file of prerequisites (i.e.,
-a makefile) called `NAME.d' from a C source file called `NAME.c':
+ In GNU 'make', the feature of remaking makefiles makes this practice
+obsolete--you need never tell 'make' explicitly to regenerate the
+prerequisites, because it always regenerates any makefile that is out of
+date. *Note Remaking Makefiles::.
+
+ The practice we recommend for automatic prerequisite generation is to
+have one makefile corresponding to each source file. For each source
+file 'NAME.c' there is a makefile 'NAME.d' which lists what files the
+object file 'NAME.o' depends on. That way only the source files that
+have changed need to be rescanned to produce the new prerequisites.
+
+ Here is the pattern rule to generate a file of prerequisites (i.e., a
+makefile) called 'NAME.d' from a C source file called 'NAME.c':
%.d: %.c
@set -e; rm -f $@; \
@@ -2809,15 +2903,15 @@ a makefile) called `NAME.d' from a C source file called `NAME.c':
rm -f $@.$$$$
*Note Pattern Rules::, for information on defining pattern rules. The
-`-e' flag to the shell causes it to exit immediately if the `$(CC)'
-command (or any other command) fails (exits with a nonzero status).
+'-e' flag to the shell causes it to exit immediately if the '$(CC)'
+command (or any other command) fails (exits with a nonzero status).
- With the GNU C compiler, you may wish to use the `-MM' flag instead
-of `-M'. This omits prerequisites on system header files. *Note
-Options Controlling the Preprocessor: (gcc.info)Preprocessor Options,
-for details.
+ With the GNU C compiler, you may wish to use the '-MM' flag instead
+of '-M'. This omits prerequisites on system header files. *Note
+Options Controlling the Preprocessor: (gcc)Preprocessor Options, for
+details.
- The purpose of the `sed' command is to translate (for example):
+ The purpose of the 'sed' command is to translate (for example):
main.o : main.c defs.h
@@ -2825,13 +2919,13 @@ into:
main.o main.d : main.c defs.h
-This makes each `.d' file depend on all the source and header files
-that the corresponding `.o' file depends on. `make' then knows it must
+This makes each '.d' file depend on all the source and header files that
+the corresponding '.o' file depends on. 'make' then knows it must
regenerate the prerequisites whenever any of the source or header files
changes.
- Once you've defined the rule to remake the `.d' files, you then use
-the `include' directive to read them all in. *Note Include::. For
+ Once you've defined the rule to remake the '.d' files, you then use
+the 'include' directive to read them all in. *Note Include::. For
example:
sources = foo.c bar.c
@@ -2839,16 +2933,16 @@ example:
include $(sources:.c=.d)
(This example uses a substitution variable reference to translate the
-list of source files `foo.c bar.c' into a list of prerequisite
-makefiles, `foo.d bar.d'. *Note Substitution Refs::, for full
-information on substitution references.) Since the `.d' files are
-makefiles like any others, `make' will remake them as necessary with no
+list of source files 'foo.c bar.c' into a list of prerequisite
+makefiles, 'foo.d bar.d'. *Note Substitution Refs::, for full
+information on substitution references.) Since the '.d' files are
+makefiles like any others, 'make' will remake them as necessary with no
further work from you. *Note Remaking Makefiles::.
- Note that the `.d' files contain target definitions; you should be
-sure to place the `include' directive _after_ the first, default goal
-in your makefiles or run the risk of having a random object file become
-the default goal. *Note How Make Works::.
+ Note that the '.d' files contain target definitions; you should be
+sure to place the 'include' directive _after_ the first, default goal in
+your makefiles or run the risk of having a random object file become the
+default goal. *Note How Make Works::.

File: make.info, Node: Recipes, Next: Using Variables, Prev: Rules, Up: Top
@@ -2862,8 +2956,8 @@ result of executing these commands is that the target of the rule is
brought up to date.
Users use many different shell programs, but recipes in makefiles are
-always interpreted by `/bin/sh' unless the makefile specifies
-otherwise. *Note Recipe Execution: Execution.
+always interpreted by '/bin/sh' unless the makefile specifies otherwise.
+*Note Recipe Execution: Execution.
* Menu:
@@ -2873,7 +2967,7 @@ otherwise. *Note Recipe Execution: Execution.
* Parallel:: How recipes can be executed in parallel.
* Errors:: What happens after a recipe execution error.
* Interrupts:: What happens when a recipe is interrupted.
-* Recursion:: Invoking `make' from makefiles.
+* Recursion:: Invoking 'make' from makefiles.
* Canned Recipes:: Defining canned recipes.
* Empty Recipes:: Defining useful, do-nothing recipes.
@@ -2884,55 +2978,54 @@ File: make.info, Node: Recipe Syntax, Next: Echoing, Prev: Recipes, Up: Reci
=================
Makefiles have the unusual property that there are really two distinct
-syntaxes in one file. Most of the makefile uses `make' syntax (*note
+syntaxes in one file. Most of the makefile uses 'make' syntax (*note
Writing Makefiles: Makefiles.). However, recipes are meant to be
interpreted by the shell and so they are written using shell syntax.
-The `make' program does not try to understand shell syntax: it performs
+The 'make' program does not try to understand shell syntax: it performs
only a very few specific translations on the content of the recipe
before handing it to the shell.
Each line in the recipe must start with a tab (or the first character
-in the value of the `.RECIPEPREFIX' variable; *note Special
+in the value of the '.RECIPEPREFIX' variable; *note Special
Variables::), except that the first recipe line may be attached to the
target-and-prerequisites line with a semicolon in between. _Any_ line
in the makefile that begins with a tab and appears in a "rule context"
(that is, after a rule has been started until another rule or variable
definition) will be considered part of a recipe for that rule. Blank
-lines and lines of just comments may appear among the recipe lines;
-they are ignored.
+lines and lines of just comments may appear among the recipe lines; they
+are ignored.
Some consequences of these rules include:
* A blank line that begins with a tab is not blank: it's an empty
recipe (*note Empty Recipes::).
- * A comment in a recipe is not a `make' comment; it will be passed
- to the shell as-is. Whether the shell treats it as a comment or
- not depends on your shell.
+ * A comment in a recipe is not a 'make' comment; it will be passed to
+ the shell as-is. Whether the shell treats it as a comment or not
+ depends on your shell.
* A variable definition in a "rule context" which is indented by a
tab as the first character on the line, will be considered part of
- a recipe, not a `make' variable definition, and passed to the
+ a recipe, not a 'make' variable definition, and passed to the
shell.
- * A conditional expression (`ifdef', `ifeq', etc. *note Syntax of
+ * A conditional expression ('ifdef', 'ifeq', etc. *note Syntax of
Conditionals: Conditional Syntax.) in a "rule context" which is
indented by a tab as the first character on the line, will be
considered part of a recipe and be passed to the shell.
-
* Menu:
-* Splitting Lines:: Breaking long recipe lines for readability.
-* Variables in Recipes:: Using `make' variables in recipes.
+* Splitting Recipe Lines:: Breaking long recipe lines for readability.
+* Variables in Recipes:: Using 'make' variables in recipes.

-File: make.info, Node: Splitting Lines, Next: Variables in Recipes, Prev: Recipe Syntax, Up: Recipe Syntax
+File: make.info, Node: Splitting Recipe Lines, Next: Variables in Recipes, Prev: Recipe Syntax, Up: Recipe Syntax
5.1.1 Splitting Recipe Lines
----------------------------
-One of the few ways in which `make' does interpret recipes is checking
+One of the few ways in which 'make' does interpret recipes is checking
for a backslash just before the newline. As in normal makefile syntax,
a single logical recipe line can be split into multiple physical lines
in the makefile by placing a backslash before each newline. A sequence
@@ -2940,13 +3033,14 @@ of lines like this is considered a single recipe line, and one instance
of the shell will be invoked to run it.
However, in contrast to how they are treated in other places in a
-makefile, backslash-newline pairs are _not_ removed from the recipe.
-Both the backslash and the newline characters are preserved and passed
-to the shell. How the backslash-newline is interpreted depends on your
-shell. If the first character of the next line after the
-backslash-newline is the recipe prefix character (a tab by default;
-*note Special Variables::), then that character (and only that
-character) is removed. Whitespace is never added to the recipe.
+makefile (*note Splitting Long Lines: Splitting Lines.),
+backslash/newline pairs are _not_ removed from the recipe. Both the
+backslash and the newline characters are preserved and passed to the
+shell. How the backslash/newline is interpreted depends on your shell.
+If the first character of the next line after the backslash/newline is
+the recipe prefix character (a tab by default; *note Special
+Variables::), then that character (and only that character) is removed.
+Whitespace is never added to the recipe.
For example, the recipe for the all target in this makefile:
@@ -2987,20 +3081,20 @@ output:
hello world
Notice how the backslash/newline pair was removed inside the string
-quoted with double quotes (`"..."'), but not from the string quoted
-with single quotes (`'...''). This is the way the default shell
-(`/bin/sh') handles backslash/newline pairs. If you specify a
-different shell in your makefiles it may treat them differently.
+quoted with double quotes ('"..."'), but not from the string quoted with
+single quotes (''...''). This is the way the default shell ('/bin/sh')
+handles backslash/newline pairs. If you specify a different shell in
+your makefiles it may treat them differently.
Sometimes you want to split a long line inside of single quotes, but
-you don't want the backslash-newline to appear in the quoted content.
+you don't want the backslash/newline to appear in the quoted content.
This is often the case when passing scripts to languages such as Perl,
-where extraneous backslashes inside the script can change its meaning
-or even be a syntax error. One simple way of handling this is to place
-the quoted string, or even the entire command, into a `make' variable
-then use the variable in the recipe. In this situation the newline
-quoting rules for makefiles will be used, and the backslash-newline
-will be removed. If we rewrite our example above using this method:
+where extraneous backslashes inside the script can change its meaning or
+even be a syntax error. One simple way of handling this is to place the
+quoted string, or even the entire command, into a 'make' variable then
+use the variable in the recipe. In this situation the newline quoting
+rules for makefiles will be used, and the backslash/newline will be
+removed. If we rewrite our example above using this method:
HELLO = 'hello \
world'
@@ -3016,12 +3110,12 @@ Target-specific Variable Values: Target-specific.) to obtain a tighter
correspondence between the variable and the recipe that uses it.

-File: make.info, Node: Variables in Recipes, Prev: Splitting Lines, Up: Recipe Syntax
+File: make.info, Node: Variables in Recipes, Prev: Splitting Recipe Lines, Up: Recipe Syntax
5.1.2 Using Variables in Recipes
--------------------------------
-The other way in which `make' processes recipes is by expanding any
+The other way in which 'make' processes recipes is by expanding any
variable references in them (*note Basics of Variable References:
Reference.). This occurs after make has finished reading all the
makefiles and the target is determined to be out of date; so, the
@@ -3030,9 +3124,9 @@ recipes for targets which are not rebuilt are never expanded.
Variable and function references in recipes have identical syntax and
semantics to references elsewhere in the makefile. They also have the
same quoting rules: if you want a dollar sign to appear in your recipe,
-you must double it (`$$'). For shells like the default shell, that use
+you must double it ('$$'). For shells like the default shell, that use
dollar signs to introduce variables, it's important to keep clear in
-your mind whether the variable you want to reference is a `make'
+your mind whether the variable you want to reference is a 'make'
variable (use a single dollar sign) or a shell variable (use two dollar
signs). For example:
@@ -3060,29 +3154,29 @@ File: make.info, Node: Echoing, Next: Execution, Prev: Recipe Syntax, Up: Re
5.2 Recipe Echoing
==================
-Normally `make' prints each line of the recipe before it is executed.
+Normally 'make' prints each line of the recipe before it is executed.
We call this "echoing" because it gives the appearance that you are
typing the lines yourself.
- When a line starts with `@', the echoing of that line is suppressed.
-The `@' is discarded before the line is passed to the shell. Typically
+ When a line starts with '@', the echoing of that line is suppressed.
+The '@' is discarded before the line is passed to the shell. Typically
you would use this for a command whose only effect is to print
-something, such as an `echo' command to indicate progress through the
+something, such as an 'echo' command to indicate progress through the
makefile:
@echo About to make distribution files
- When `make' is given the flag `-n' or `--just-print' it only echoes
-most recipes, without executing them. *Note Summary of Options:
-Options Summary. In this case even the recipe lines starting with `@'
-are printed. This flag is useful for finding out which recipes `make'
+ When 'make' is given the flag '-n' or '--just-print' it only echoes
+most recipes, without executing them. *Note Summary of Options: Options
+Summary. In this case even the recipe lines starting with '@' are
+printed. This flag is useful for finding out which recipes 'make'
thinks are necessary without actually doing them.
- The `-s' or `--silent' flag to `make' prevents all echoing, as if
-all recipes started with `@'. A rule in the makefile for the special
-target `.SILENT' without prerequisites has the same effect (*note
-Special Built-in Target Names: Special Targets.). `.SILENT' is
-essentially obsolete since `@' is more flexible.
+ The '-s' or '--silent' flag to 'make' prevents all echoing, as if all
+recipes started with '@'. A rule in the makefile for the special target
+'.SILENT' without prerequisites has the same effect (*note Special
+Built-in Target Names: Special Targets.). '.SILENT' is essentially
+obsolete since '@' is more flexible.

File: make.info, Node: Execution, Next: Parallel, Prev: Echoing, Up: Recipes
@@ -3090,32 +3184,31 @@ File: make.info, Node: Execution, Next: Parallel, Prev: Echoing, Up: Recipes
5.3 Recipe Execution
====================
-When it is time to execute recipes to update a target, they are
-executed by invoking a new subshell for each line of the recipe, unless
-the `.ONESHELL' special target is in effect (*note Using One Shell: One
-Shell.) (In practice, `make' may take shortcuts that do not affect the
+When it is time to execute recipes to update a target, they are executed
+by invoking a new sub-shell for each line of the recipe, unless the
+'.ONESHELL' special target is in effect (*note Using One Shell: One
+Shell.) (In practice, 'make' may take shortcuts that do not affect the
results.)
- *Please note:* this implies that setting shell variables and
-invoking shell commands such as `cd' that set a context local to each
-process will not affect the following lines in the recipe.(1) If you
-want to use `cd' to affect the next statement, put both statements in a
-single recipe line. Then `make' will invoke one shell to run the
-entire line, and the shell will execute the statements in sequence.
-For example:
+ *Please note:* this implies that setting shell variables and invoking
+shell commands such as 'cd' that set a context local to each process
+will not affect the following lines in the recipe.(1) If you want to
+use 'cd' to affect the next statement, put both statements in a single
+recipe line. Then 'make' will invoke one shell to run the entire line,
+and the shell will execute the statements in sequence. For example:
foo : bar/lose
cd $(@D) && gobble $(@F) > ../$@
-Here we use the shell AND operator (`&&') so that if the `cd' command
-fails, the script will fail without trying to invoke the `gobble'
-command in the wrong directory, which could cause problems (in this
-case it would certainly cause `../foo' to be truncated, at least).
+Here we use the shell AND operator ('&&') so that if the 'cd' command
+fails, the script will fail without trying to invoke the 'gobble'
+command in the wrong directory, which could cause problems (in this case
+it would certainly cause '../foo' to be truncated, at least).
* Menu:
-* One Shell:: One shell for all lines in a recipe
-* Choosing the Shell:: How `make' chooses the shell used
+* One Shell:: One shell for all lines in a recipe.
+* Choosing the Shell:: How 'make' chooses the shell used
to run recipes.
---------- Footnotes ----------
@@ -3129,16 +3222,16 @@ File: make.info, Node: One Shell, Next: Choosing the Shell, Prev: Execution,
5.3.1 Using One Shell
---------------------
-Sometimes you would prefer that all the lines in the recipe be passed
-to a single invocation of the shell. There are generally two
-situations where this is useful: first, it can improve performance in
-makefiles where recipes consist of many command lines, by avoiding
-extra processes. Second, you might want newlines to be included in
-your recipe command (for example perhaps you are using a very different
-interpreter as your `SHELL'). If the `.ONESHELL' special target
-appears anywhere in the makefile then _all_ recipe lines for each
-target will be provided to a single invocation of the shell. Newlines
-between recipe lines will be preserved. For example:
+Sometimes you would prefer that all the lines in the recipe be passed to
+a single invocation of the shell. There are generally two situations
+where this is useful: first, it can improve performance in makefiles
+where recipes consist of many command lines, by avoiding extra
+processes. Second, you might want newlines to be included in your
+recipe command (for example perhaps you are using a very different
+interpreter as your 'SHELL'). If the '.ONESHELL' special target appears
+anywhere in the makefile then _all_ recipe lines for each target will be
+provided to a single invocation of the shell. Newlines between recipe
+lines will be preserved. For example:
.ONESHELL:
foo : bar/lose
@@ -3148,14 +3241,14 @@ between recipe lines will be preserved. For example:
would now work as expected even though the commands are on different
recipe lines.
- If `.ONESHELL' is provided, then only the first line of the recipe
-will be checked for the special prefix characters (`@', `-', and `+').
+ If '.ONESHELL' is provided, then only the first line of the recipe
+will be checked for the special prefix characters ('@', '-', and '+').
Subsequent lines will include the special characters in the recipe line
-when the `SHELL' is invoked. If you want your recipe to start with one
+when the 'SHELL' is invoked. If you want your recipe to start with one
of these special characters you'll need to arrange for them to not be
the first characters on the first line, perhaps by adding a comment or
similar. For example, this would be a syntax error in Perl because the
-first `@' is removed by make:
+first '@' is removed by make:
.ONESHELL:
SHELL = /usr/bin/perl
@@ -3183,30 +3276,30 @@ or
my @f = qw(a b c);
print "@f\n";
- As a special feature, if `SHELL' is determined to be a POSIX-style
+ As a special feature, if 'SHELL' is determined to be a POSIX-style
shell, the special prefix characters in "internal" recipe lines will
_removed_ before the recipe is processed. This feature is intended to
-allow existing makefiles to add the `.ONESHELL' special target and
-still run properly without extensive modifications. Since the special
-prefix characters are not legal at the beginning of a line in a POSIX
-shell script this is not a loss in functionality. For example, this
-works as expected:
+allow existing makefiles to add the '.ONESHELL' special target and still
+run properly without extensive modifications. Since the special prefix
+characters are not legal at the beginning of a line in a POSIX shell
+script this is not a loss in functionality. For example, this works as
+expected:
.ONESHELL:
foo : bar/lose
@cd $(@D)
@gobble $(@F) > ../$@
- Even with this special feature, however, makefiles with `.ONESHELL'
+ Even with this special feature, however, makefiles with '.ONESHELL'
will behave differently in ways that could be noticeable. For example,
normally if any line in the recipe fails, that causes the rule to fail
-and no more recipe lines are processed. Under `.ONESHELL' a failure of
-any but the final recipe line will not be noticed by `make'. You can
-modify `.SHELLFLAGS' to add the `-e' option to the shell which will
+and no more recipe lines are processed. Under '.ONESHELL' a failure of
+any but the final recipe line will not be noticed by 'make'. You can
+modify '.SHELLFLAGS' to add the '-e' option to the shell which will
cause any failure anywhere in the command line to cause the shell to
fail, but this could itself cause your recipe to behave differently.
Ultimately you may need to harden your recipe lines to allow them to
-work with `.ONESHELL'.
+work with '.ONESHELL'.

File: make.info, Node: Choosing the Shell, Prev: One Shell, Up: Execution
@@ -3214,34 +3307,34 @@ File: make.info, Node: Choosing the Shell, Prev: One Shell, Up: Execution
5.3.2 Choosing the Shell
------------------------
-The program used as the shell is taken from the variable `SHELL'. If
-this variable is not set in your makefile, the program `/bin/sh' is
-used as the shell. The argument(s) passed to the shell are taken from
-the variable `.SHELLFLAGS'. The default value of `.SHELLFLAGS' is `-c'
-normally, or `-ec' in POSIX-conforming mode.
+The program used as the shell is taken from the variable 'SHELL'. If
+this variable is not set in your makefile, the program '/bin/sh' is used
+as the shell. The argument(s) passed to the shell are taken from the
+variable '.SHELLFLAGS'. The default value of '.SHELLFLAGS' is '-c'
+normally, or '-ec' in POSIX-conforming mode.
- Unlike most variables, the variable `SHELL' is never set from the
-environment. This is because the `SHELL' environment variable is used
+ Unlike most variables, the variable 'SHELL' is never set from the
+environment. This is because the 'SHELL' environment variable is used
to specify your personal choice of shell program for interactive use.
It would be very bad for personal choices like this to affect the
functioning of makefiles. *Note Variables from the Environment:
Environment.
- Furthermore, when you do set `SHELL' in your makefile that value is
-_not_ exported in the environment to recipe lines that `make' invokes.
+ Furthermore, when you do set 'SHELL' in your makefile that value is
+_not_ exported in the environment to recipe lines that 'make' invokes.
Instead, the value inherited from the user's environment, if any, is
exported. You can override this behavior by explicitly exporting
-`SHELL' (*note Communicating Variables to a Sub-`make':
+'SHELL' (*note Communicating Variables to a Sub-'make':
Variables/Recursion.), forcing it to be passed in the environment to
recipe lines.
- However, on MS-DOS and MS-Windows the value of `SHELL' in the
-environment *is* used, since on those systems most users do not set
-this variable, and therefore it is most likely set specifically to be
-used by `make'. On MS-DOS, if the setting of `SHELL' is not suitable
-for `make', you can set the variable `MAKESHELL' to the shell that
-`make' should use; if set it will be used as the shell instead of the
-value of `SHELL'.
+ However, on MS-DOS and MS-Windows the value of 'SHELL' in the
+environment *is* used, since on those systems most users do not set this
+variable, and therefore it is most likely set specifically to be used by
+'make'. On MS-DOS, if the setting of 'SHELL' is not suitable for
+'make', you can set the variable 'MAKESHELL' to the shell that 'make'
+should use; if set it will be used as the shell instead of the value of
+'SHELL'.
Choosing a Shell in DOS and Windows
...................................
@@ -3249,53 +3342,52 @@ Choosing a Shell in DOS and Windows
Choosing a shell in MS-DOS and MS-Windows is much more complex than on
other systems.
- On MS-DOS, if `SHELL' is not set, the value of the variable
-`COMSPEC' (which is always set) is used instead.
+ On MS-DOS, if 'SHELL' is not set, the value of the variable 'COMSPEC'
+(which is always set) is used instead.
- The processing of lines that set the variable `SHELL' in Makefiles
-is different on MS-DOS. The stock shell, `command.com', is
-ridiculously limited in its functionality and many users of `make' tend
-to install a replacement shell. Therefore, on MS-DOS, `make' examines
-the value of `SHELL', and changes its behavior based on whether it
-points to a Unix-style or DOS-style shell. This allows reasonable
-functionality even if `SHELL' points to `command.com'.
+ The processing of lines that set the variable 'SHELL' in Makefiles is
+different on MS-DOS. The stock shell, 'command.com', is ridiculously
+limited in its functionality and many users of 'make' tend to install a
+replacement shell. Therefore, on MS-DOS, 'make' examines the value of
+'SHELL', and changes its behavior based on whether it points to a
+Unix-style or DOS-style shell. This allows reasonable functionality
+even if 'SHELL' points to 'command.com'.
- If `SHELL' points to a Unix-style shell, `make' on MS-DOS
+ If 'SHELL' points to a Unix-style shell, 'make' on MS-DOS
additionally checks whether that shell can indeed be found; if not, it
-ignores the line that sets `SHELL'. In MS-DOS, GNU `make' searches for
+ignores the line that sets 'SHELL'. In MS-DOS, GNU 'make' searches for
the shell in the following places:
- 1. In the precise place pointed to by the value of `SHELL'. For
- example, if the makefile specifies `SHELL = /bin/sh', `make' will
- look in the directory `/bin' on the current drive.
+ 1. In the precise place pointed to by the value of 'SHELL'. For
+ example, if the makefile specifies 'SHELL = /bin/sh', 'make' will
+ look in the directory '/bin' on the current drive.
2. In the current directory.
- 3. In each of the directories in the `PATH' variable, in order.
+ 3. In each of the directories in the 'PATH' variable, in order.
-
- In every directory it examines, `make' will first look for the
-specific file (`sh' in the example above). If this is not found, it
+ In every directory it examines, 'make' will first look for the
+specific file ('sh' in the example above). If this is not found, it
will also look in that directory for that file with one of the known
-extensions which identify executable files. For example `.exe',
-`.com', `.bat', `.btm', `.sh', and some others.
+extensions which identify executable files. For example '.exe', '.com',
+'.bat', '.btm', '.sh', and some others.
- If any of these attempts is successful, the value of `SHELL' will be
+ If any of these attempts is successful, the value of 'SHELL' will be
set to the full pathname of the shell as found. However, if none of
-these is found, the value of `SHELL' will not be changed, and thus the
-line that sets it will be effectively ignored. This is so `make' will
+these is found, the value of 'SHELL' will not be changed, and thus the
+line that sets it will be effectively ignored. This is so 'make' will
only support features specific to a Unix-style shell if such a shell is
-actually installed on the system where `make' runs.
+actually installed on the system where 'make' runs.
Note that this extended search for the shell is limited to the cases
-where `SHELL' is set from the Makefile; if it is set in the environment
+where 'SHELL' is set from the Makefile; if it is set in the environment
or command line, you are expected to set it to the full pathname of the
shell, exactly as things are on Unix.
The effect of the above DOS-specific processing is that a Makefile
-that contains `SHELL = /bin/sh' (as many Unix makefiles do), will work
-on MS-DOS unaltered if you have e.g. `sh.exe' installed in some
-directory along your `PATH'.
+that contains 'SHELL = /bin/sh' (as many Unix makefiles do), will work
+on MS-DOS unaltered if you have e.g. 'sh.exe' installed in some
+directory along your 'PATH'.

File: make.info, Node: Parallel, Next: Errors, Prev: Execution, Up: Recipes
@@ -3303,98 +3395,194 @@ File: make.info, Node: Parallel, Next: Errors, Prev: Execution, Up: Recipes
5.4 Parallel Execution
======================
-GNU `make' knows how to execute several recipes at once. Normally,
-`make' will execute only one recipe at a time, waiting for it to finish
-before executing the next. However, the `-j' or `--jobs' option tells
-`make' to execute many recipes simultaneously. You can inhibit
-parallelism in a particular makefile with the `.NOTPARALLEL'
+GNU 'make' knows how to execute several recipes at once. Normally,
+'make' will execute only one recipe at a time, waiting for it to finish
+before executing the next. However, the '-j' or '--jobs' option tells
+'make' to execute many recipes simultaneously. You can inhibit
+parallelism in a particular makefile with the '.NOTPARALLEL'
pseudo-target (*note Special Built-in Target Names: Special Targets.).
- On MS-DOS, the `-j' option has no effect, since that system doesn't
+ On MS-DOS, the '-j' option has no effect, since that system doesn't
support multi-processing.
- If the `-j' option is followed by an integer, this is the number of
+ If the '-j' option is followed by an integer, this is the number of
recipes to execute at once; this is called the number of "job slots".
-If there is nothing looking like an integer after the `-j' option,
-there is no limit on the number of job slots. The default number of job
-slots is one, which means serial execution (one thing at a time).
-
- One unpleasant consequence of running several recipes simultaneously
-is that output generated by the recipes appears whenever each recipe
-sends it, so messages from different recipes may be interspersed.
+If there is nothing looking like an integer after the '-j' option, there
+is no limit on the number of job slots. The default number of job slots
+is one, which means serial execution (one thing at a time).
- Another problem is that two processes cannot both take input from the
-same device; so to make sure that only one recipe tries to take input
-from the terminal at once, `make' will invalidate the standard input
-streams of all but one running recipe. This means that attempting to
-read from standard input will usually be a fatal error (a `Broken pipe'
-signal) for most child processes if there are several.
-
- It is unpredictable which recipe will have a valid standard input
-stream (which will come from the terminal, or wherever you redirect the
-standard input of `make'). The first recipe run will always get it
-first, and the first recipe started after that one finishes will get it
-next, and so on.
-
- We will change how this aspect of `make' works if we find a better
-alternative. In the mean time, you should not rely on any recipe using
-standard input at all if you are using the parallel execution feature;
-but if you are not using this feature, then standard input works
-normally in all recipes.
-
- Finally, handling recursive `make' invocations raises issues. For
-more information on this, see *note Communicating Options to a
-Sub-`make': Options/Recursion.
+ Handling recursive 'make' invocations raises issues for parallel
+execution. For more information on this, see *note Communicating
+Options to a Sub-'make': Options/Recursion.
If a recipe fails (is killed by a signal or exits with a nonzero
status), and errors are not ignored for that recipe (*note Errors in
Recipes: Errors.), the remaining recipe lines to remake the same target
-will not be run. If a recipe fails and the `-k' or `--keep-going'
+will not be run. If a recipe fails and the '-k' or '--keep-going'
option was not given (*note Summary of Options: Options Summary.),
-`make' aborts execution. If make terminates for any reason (including
-a signal) with child processes running, it waits for them to finish
-before actually exiting.
+'make' aborts execution. If make terminates for any reason (including a
+signal) with child processes running, it waits for them to finish before
+actually exiting.
When the system is heavily loaded, you will probably want to run
-fewer jobs than when it is lightly loaded. You can use the `-l' option
-to tell `make' to limit the number of jobs to run at once, based on the
-load average. The `-l' or `--max-load' option is followed by a
+fewer jobs than when it is lightly loaded. You can use the '-l' option
+to tell 'make' to limit the number of jobs to run at once, based on the
+load average. The '-l' or '--max-load' option is followed by a
floating-point number. For example,
-l 2.5
-will not let `make' start more than one job if the load average is
-above 2.5. The `-l' option with no following number removes the load
-limit, if one was given with a previous `-l' option.
+will not let 'make' start more than one job if the load average is above
+2.5. The '-l' option with no following number removes the load limit,
+if one was given with a previous '-l' option.
- More precisely, when `make' goes to start up a job, and it already
+ More precisely, when 'make' goes to start up a job, and it already
has at least one job running, it checks the current load average; if it
-is not lower than the limit given with `-l', `make' waits until the load
+is not lower than the limit given with '-l', 'make' waits until the load
average goes below that limit, or until all the other jobs finish.
By default, there is no load limit.
+* Menu:
+
+* Parallel Output:: Handling output during parallel execution
+* Parallel Input:: Handling input during parallel execution
+
+
+File: make.info, Node: Parallel Output, Next: Parallel Input, Prev: Parallel, Up: Parallel
+
+5.4.1 Output During Parallel Execution
+--------------------------------------
+
+When running several recipes in parallel the output from each recipe
+appears as soon as it is generated, with the result that messages from
+different recipes may be interspersed, sometimes even appearing on the
+same line. This can make reading the output very difficult.
+
+ To avoid this you can use the '--output-sync' ('-O') option. This
+option instructs 'make' to save the output from the commands it invokes
+and print it all once the commands are completed. Additionally, if
+there are multiple recursive 'make' invocations running in parallel,
+they will communicate so that only one of them is generating output at a
+time.
+
+ If working directory printing is enabled (*note The
+'--print-directory' Option: -w Option.), the enter/leave messages are
+printed around each output grouping. If you prefer not to see these
+messages add the '--no-print-directory' option to 'MAKEFLAGS'.
+
+ There are four levels of granularity when synchronizing output,
+specified by giving an argument to the option (e.g., '-Oline' or
+'--output-sync=recurse').
+
+'none'
+ This is the default: all output is sent directly as it is generated
+ and no synchronization is performed.
+
+'line'
+ Output from each individual line of the recipe is grouped and
+ printed as soon as that line is complete. If a recipe consists of
+ multiple lines, they may be interspersed with lines from other
+ recipes.
+
+'target'
+ Output from the entire recipe for each target is grouped and
+ printed once the target is complete. This is the default if the
+ '--output-sync' or '-O' option is given with no argument.
+
+'recurse'
+ Output from each recursive invocation of 'make' is grouped and
+ printed once the recursive invocation is complete.
+
+ Regardless of the mode chosen, the total build time will be the same.
+The only difference is in how the output appears.
+
+ The 'target' and 'recurse' modes both collect the output of the
+entire recipe of a target and display it uninterrupted when the recipe
+completes. The difference between them is in how recipes that contain
+recursive invocations of 'make' are treated (*note Recursive Use of
+'make': Recursion.). For all recipes which have no recursive lines, the
+'target' and 'recurse' modes behave identically.
+
+ If the 'recurse' mode is chosen, recipes that contain recursive
+'make' invocations are treated the same as other targets: the output
+from the recipe, including the output from the recursive 'make', is
+saved and printed after the entire recipe is complete. This ensures
+output from all the targets built by a given recursive 'make' instance
+are grouped together, which may make the output easier to understand.
+However it also leads to long periods of time during the build where no
+output is seen, followed by large bursts of output. If you are not
+watching the build as it proceeds, but instead viewing a log of the
+build after the fact, this may be the best option for you.
+
+ If you are watching the output, the long gaps of quiet during the
+build can be frustrating. The 'target' output synchronization mode
+detects when 'make' is going to be invoked recursively, using the
+standard methods, and it will not synchronize the output of those lines.
+The recursive 'make' will perform the synchronization for its targets
+and the output from each will be displayed immediately when it
+completes. Be aware that output from recursive lines of the recipe are
+not synchronized (for example if the recursive line prints a message
+before running 'make', that message will not be synchronized).
+
+ The 'line' mode can be useful for front-ends that are watching the
+output of 'make' to track when recipes are started and completed.
+
+ Some programs invoked by 'make' may behave differently if they
+determine they're writing output to a terminal versus a file (often
+described as "interactive" vs. "non-interactive" modes). For example,
+many programs that can display colorized output will not do so if they
+determine they are not writing to a terminal. If your makefile invokes
+a program like this then using the output synchronization options will
+cause the program to believe it's running in "non-interactive" mode even
+though the output will ultimately go to the terminal.
+
+
+File: make.info, Node: Parallel Input, Prev: Parallel Output, Up: Parallel
+
+5.4.2 Input During Parallel Execution
+-------------------------------------
+
+Two processes cannot both take input from the same device at the same
+time. To make sure that only one recipe tries to take input from the
+terminal at once, 'make' will invalidate the standard input streams of
+all but one running recipe. If another recipe attempts to read from
+standard input it will usually incur a fatal error (a 'Broken pipe'
+signal).
+
+ It is unpredictable which recipe will have a valid standard input
+stream (which will come from the terminal, or wherever you redirect the
+standard input of 'make'). The first recipe run will always get it
+first, and the first recipe started after that one finishes will get it
+next, and so on.
+
+ We will change how this aspect of 'make' works if we find a better
+alternative. In the mean time, you should not rely on any recipe using
+standard input at all if you are using the parallel execution feature;
+but if you are not using this feature, then standard input works
+normally in all recipes.
+

File: make.info, Node: Errors, Next: Interrupts, Prev: Parallel, Up: Recipes
5.5 Errors in Recipes
=====================
-After each shell invocation returns, `make' looks at its exit status.
+After each shell invocation returns, 'make' looks at its exit status.
If the shell completed successfully (the exit status is zero), the next
line in the recipe is executed in a new shell; after the last line is
finished, the rule is finished.
- If there is an error (the exit status is nonzero), `make' gives up on
+ If there is an error (the exit status is nonzero), 'make' gives up on
the current rule, and perhaps on all rules.
Sometimes the failure of a certain recipe line does not indicate a
-problem. For example, you may use the `mkdir' command to ensure that a
-directory exists. If the directory already exists, `mkdir' will report
-an error, but you probably want `make' to continue regardless.
+problem. For example, you may use the 'mkdir' command to ensure that a
+directory exists. If the directory already exists, 'mkdir' will report
+an error, but you probably want 'make' to continue regardless.
- To ignore errors in a recipe line, write a `-' at the beginning of
-the line's text (after the initial tab). The `-' is discarded before
+ To ignore errors in a recipe line, write a '-' at the beginning of
+the line's text (after the initial tab). The '-' is discarded before
the line is passed to the shell for execution.
For example,
@@ -3402,81 +3590,80 @@ the line is passed to the shell for execution.
clean:
-rm -f *.o
-This causes `make' to continue even if `rm' is unable to remove a file.
+This causes 'make' to continue even if 'rm' is unable to remove a file.
- When you run `make' with the `-i' or `--ignore-errors' flag, errors
-are ignored in all recipes of all rules. A rule in the makefile for
-the special target `.IGNORE' has the same effect, if there are no
-prerequisites. These ways of ignoring errors are obsolete because `-'
+ When you run 'make' with the '-i' or '--ignore-errors' flag, errors
+are ignored in all recipes of all rules. A rule in the makefile for the
+special target '.IGNORE' has the same effect, if there are no
+prerequisites. These ways of ignoring errors are obsolete because '-'
is more flexible.
- When errors are to be ignored, because of either a `-' or the `-i'
-flag, `make' treats an error return just like success, except that it
+ When errors are to be ignored, because of either a '-' or the '-i'
+flag, 'make' treats an error return just like success, except that it
prints out a message that tells you the status code the shell exited
with, and says that the error has been ignored.
- When an error happens that `make' has not been told to ignore, it
+ When an error happens that 'make' has not been told to ignore, it
implies that the current target cannot be correctly remade, and neither
can any other that depends on it either directly or indirectly. No
further recipes will be executed for these targets, since their
preconditions have not been achieved.
- Normally `make' gives up immediately in this circumstance, returning
-a nonzero status. However, if the `-k' or `--keep-going' flag is
-specified, `make' continues to consider the other prerequisites of the
+ Normally 'make' gives up immediately in this circumstance, returning
+a nonzero status. However, if the '-k' or '--keep-going' flag is
+specified, 'make' continues to consider the other prerequisites of the
pending targets, remaking them if necessary, before it gives up and
returns nonzero status. For example, after an error in compiling one
-object file, `make -k' will continue compiling other object files even
+object file, 'make -k' will continue compiling other object files even
though it already knows that linking them will be impossible. *Note
Summary of Options: Options Summary.
The usual behavior assumes that your purpose is to get the specified
-targets up to date; once `make' learns that this is impossible, it
-might as well report the failure immediately. The `-k' option says
-that the real purpose is to test as many of the changes made in the
-program as possible, perhaps to find several independent problems so
-that you can correct them all before the next attempt to compile. This
-is why Emacs' `compile' command passes the `-k' flag by default.
+targets up to date; once 'make' learns that this is impossible, it might
+as well report the failure immediately. The '-k' option says that the
+real purpose is to test as many of the changes made in the program as
+possible, perhaps to find several independent problems so that you can
+correct them all before the next attempt to compile. This is why Emacs'
+'compile' command passes the '-k' flag by default.
Usually when a recipe line fails, if it has changed the target file
at all, the file is corrupted and cannot be used--or at least it is not
completely updated. Yet the file's time stamp says that it is now up to
-date, so the next time `make' runs, it will not try to update that
-file. The situation is just the same as when the shell is killed by a
-signal; *note Interrupts::. So generally the right thing to do is to
-delete the target file if the recipe fails after beginning to change
-the file. `make' will do this if `.DELETE_ON_ERROR' appears as a
-target. This is almost always what you want `make' to do, but it is
-not historical practice; so for compatibility, you must explicitly
-request it.
+date, so the next time 'make' runs, it will not try to update that file.
+The situation is just the same as when the shell is killed by a signal;
+*note Interrupts::. So generally the right thing to do is to delete the
+target file if the recipe fails after beginning to change the file.
+'make' will do this if '.DELETE_ON_ERROR' appears as a target. This is
+almost always what you want 'make' to do, but it is not historical
+practice; so for compatibility, you must explicitly request it.

File: make.info, Node: Interrupts, Next: Recursion, Prev: Errors, Up: Recipes
-5.6 Interrupting or Killing `make'
+5.6 Interrupting or Killing 'make'
==================================
-If `make' gets a fatal signal while a shell is executing, it may delete
-the target file that the recipe was supposed to update. This is done
-if the target file's last-modification time has changed since `make'
-first checked it.
+If 'make' gets a fatal signal while a shell is executing, it may delete
+the target file that the recipe was supposed to update. This is done if
+the target file's last-modification time has changed since 'make' first
+checked it.
The purpose of deleting the target is to make sure that it is remade
-from scratch when `make' is next run. Why is this? Suppose you type
-`Ctrl-c' while a compiler is running, and it has begun to write an
-object file `foo.o'. The `Ctrl-c' kills the compiler, resulting in an
+from scratch when 'make' is next run. Why is this? Suppose you type
+'Ctrl-c' while a compiler is running, and it has begun to write an
+object file 'foo.o'. The 'Ctrl-c' kills the compiler, resulting in an
incomplete file whose last-modification time is newer than the source
-file `foo.c'. But `make' also receives the `Ctrl-c' signal and deletes
-this incomplete file. If `make' did not do this, the next invocation
-of `make' would think that `foo.o' did not require updating--resulting
-in a strange error message from the linker when it tries to link an
-object file half of which is missing.
+file 'foo.c'. But 'make' also receives the 'Ctrl-c' signal and deletes
+this incomplete file. If 'make' did not do this, the next invocation of
+'make' would think that 'foo.o' did not require updating--resulting in a
+strange error message from the linker when it tries to link an object
+file half of which is missing.
You can prevent the deletion of a target file in this way by making
-the special target `.PRECIOUS' depend on it. Before remaking a target,
-`make' checks to see whether it appears on the prerequisites of
-`.PRECIOUS', and thereby decides whether the target should be deleted
-if a signal happens. Some reasons why you might do this are that the
+the special target '.PRECIOUS' depend on it. Before remaking a target,
+'make' checks to see whether it appears on the prerequisites of
+'.PRECIOUS', and thereby decides whether the target should be deleted if
+a signal happens. Some reasons why you might do this are that the
target is updated in some atomic fashion, or exists only to record a
modification-time (its contents do not matter), or must exist at all
times to prevent other sorts of trouble.
@@ -3484,14 +3671,14 @@ times to prevent other sorts of trouble.

File: make.info, Node: Recursion, Next: Canned Recipes, Prev: Interrupts, Up: Recipes
-5.7 Recursive Use of `make'
+5.7 Recursive Use of 'make'
===========================
-Recursive use of `make' means using `make' as a command in a makefile.
+Recursive use of 'make' means using 'make' as a command in a makefile.
This technique is useful when you want separate makefiles for various
subsystems that compose a larger system. For example, suppose you have
-a subdirectory `subdir' which has its own makefile, and you would like
-the containing directory's makefile to run `make' on the subdirectory.
+a sub-directory 'subdir' which has its own makefile, and you would like
+the containing directory's makefile to run 'make' on the sub-directory.
You can do it by writing this:
subsystem:
@@ -3501,131 +3688,130 @@ or, equivalently, this (*note Summary of Options: Options Summary.):
subsystem:
$(MAKE) -C subdir
-
- You can write recursive `make' commands just by copying this example,
+
+ You can write recursive 'make' commands just by copying this example,
but there are many things to know about how they work and why, and about
-how the sub-`make' relates to the top-level `make'. You may also find
-it useful to declare targets that invoke recursive `make' commands as
-`.PHONY' (for more discussion on when this is useful, see *note Phony
+how the sub-'make' relates to the top-level 'make'. You may also find
+it useful to declare targets that invoke recursive 'make' commands as
+'.PHONY' (for more discussion on when this is useful, see *note Phony
Targets::).
- For your convenience, when GNU `make' starts (after it has processed
-any `-C' options) it sets the variable `CURDIR' to the pathname of the
-current working directory. This value is never touched by `make'
-again: in particular note that if you include files from other
-directories the value of `CURDIR' does not change. The value has the
-same precedence it would have if it were set in the makefile (by
-default, an environment variable `CURDIR' will not override this
-value). Note that setting this variable has no impact on the operation
-of `make' (it does not cause `make' to change its working directory,
-for example).
+ For your convenience, when GNU 'make' starts (after it has processed
+any '-C' options) it sets the variable 'CURDIR' to the pathname of the
+current working directory. This value is never touched by 'make' again:
+in particular note that if you include files from other directories the
+value of 'CURDIR' does not change. The value has the same precedence it
+would have if it were set in the makefile (by default, an environment
+variable 'CURDIR' will not override this value). Note that setting this
+variable has no impact on the operation of 'make' (it does not cause
+'make' to change its working directory, for example).
* Menu:
-* MAKE Variable:: The special effects of using `$(MAKE)'.
-* Variables/Recursion:: How to communicate variables to a sub-`make'.
-* Options/Recursion:: How to communicate options to a sub-`make'.
-* -w Option:: How the `-w' or `--print-directory' option
- helps debug use of recursive `make' commands.
+* MAKE Variable:: The special effects of using '$(MAKE)'.
+* Variables/Recursion:: How to communicate variables to a sub-'make'.
+* Options/Recursion:: How to communicate options to a sub-'make'.
+* -w Option:: How the '-w' or '--print-directory' option
+ helps debug use of recursive 'make' commands.

File: make.info, Node: MAKE Variable, Next: Variables/Recursion, Prev: Recursion, Up: Recursion
-5.7.1 How the `MAKE' Variable Works
+5.7.1 How the 'MAKE' Variable Works
-----------------------------------
-Recursive `make' commands should always use the variable `MAKE', not
-the explicit command name `make', as shown here:
+Recursive 'make' commands should always use the variable 'MAKE', not the
+explicit command name 'make', as shown here:
subsystem:
cd subdir && $(MAKE)
- The value of this variable is the file name with which `make' was
-invoked. If this file name was `/bin/make', then the recipe executed
-is `cd subdir && /bin/make'. If you use a special version of `make' to
-run the top-level makefile, the same special version will be executed
-for recursive invocations.
+ The value of this variable is the file name with which 'make' was
+invoked. If this file name was '/bin/make', then the recipe executed is
+'cd subdir && /bin/make'. If you use a special version of 'make' to run
+the top-level makefile, the same special version will be executed for
+recursive invocations.
- As a special feature, using the variable `MAKE' in the recipe of a
-rule alters the effects of the `-t' (`--touch'), `-n' (`--just-print'),
-or `-q' (`--question') option. Using the `MAKE' variable has the same
-effect as using a `+' character at the beginning of the recipe line.
+ As a special feature, using the variable 'MAKE' in the recipe of a
+rule alters the effects of the '-t' ('--touch'), '-n' ('--just-print'),
+or '-q' ('--question') option. Using the 'MAKE' variable has the same
+effect as using a '+' character at the beginning of the recipe line.
*Note Instead of Executing the Recipes: Instead of Execution. This
-special feature is only enabled if the `MAKE' variable appears directly
-in the recipe: it does not apply if the `MAKE' variable is referenced
+special feature is only enabled if the 'MAKE' variable appears directly
+in the recipe: it does not apply if the 'MAKE' variable is referenced
through expansion of another variable. In the latter case you must use
-the `+' token to get these special effects.
+the '+' token to get these special effects.
- Consider the command `make -t' in the above example. (The `-t'
-option marks targets as up to date without actually running any
-recipes; see *note Instead of Execution::.) Following the usual
-definition of `-t', a `make -t' command in the example would create a
-file named `subsystem' and do nothing else. What you really want it to
-do is run `cd subdir && make -t'; but that would require executing the
-recipe, and `-t' says not to execute recipes.
+ Consider the command 'make -t' in the above example. (The '-t'
+option marks targets as up to date without actually running any recipes;
+see *note Instead of Execution::.) Following the usual definition of
+'-t', a 'make -t' command in the example would create a file named
+'subsystem' and do nothing else. What you really want it to do is run 'cd subdir &&
+make -t'; but that would require executing the recipe, and '-t' says not
+to execute recipes.
The special feature makes this do what you want: whenever a recipe
-line of a rule contains the variable `MAKE', the flags `-t', `-n' and
-`-q' do not apply to that line. Recipe lines containing `MAKE' are
+line of a rule contains the variable 'MAKE', the flags '-t', '-n' and
+'-q' do not apply to that line. Recipe lines containing 'MAKE' are
executed normally despite the presence of a flag that causes most
-recipes not to be run. The usual `MAKEFLAGS' mechanism passes the
-flags to the sub-`make' (*note Communicating Options to a Sub-`make':
+recipes not to be run. The usual 'MAKEFLAGS' mechanism passes the flags
+to the sub-'make' (*note Communicating Options to a Sub-'make':
Options/Recursion.), so your request to touch the files, or print the
recipes, is propagated to the subsystem.

File: make.info, Node: Variables/Recursion, Next: Options/Recursion, Prev: MAKE Variable, Up: Recursion
-5.7.2 Communicating Variables to a Sub-`make'
+5.7.2 Communicating Variables to a Sub-'make'
---------------------------------------------
-Variable values of the top-level `make' can be passed to the sub-`make'
+Variable values of the top-level 'make' can be passed to the sub-'make'
through the environment by explicit request. These variables are
-defined in the sub-`make' as defaults, but do not override what is
-specified in the makefile used by the sub-`make' makefile unless you
-use the `-e' switch (*note Summary of Options: Options Summary.).
+defined in the sub-'make' as defaults, but they do not override
+variables defined in the makefile used by the sub-'make' unless you use
+the '-e' switch (*note Summary of Options: Options Summary.).
- To pass down, or "export", a variable, `make' adds the variable and
+ To pass down, or "export", a variable, 'make' adds the variable and
its value to the environment for running each line of the recipe. The
-sub-`make', in turn, uses the environment to initialize its table of
+sub-'make', in turn, uses the environment to initialize its table of
variable values. *Note Variables from the Environment: Environment.
- Except by explicit request, `make' exports a variable only if it is
+ Except by explicit request, 'make' exports a variable only if it is
either defined in the environment initially or set on the command line,
and if its name consists only of letters, numbers, and underscores.
Some shells cannot cope with environment variable names consisting of
characters other than letters, numbers, and underscores.
- The value of the `make' variable `SHELL' is not exported. Instead,
-the value of the `SHELL' variable from the invoking environment is
-passed to the sub-`make'. You can force `make' to export its value for
-`SHELL' by using the `export' directive, described below. *Note
+ The value of the 'make' variable 'SHELL' is not exported. Instead,
+the value of the 'SHELL' variable from the invoking environment is
+passed to the sub-'make'. You can force 'make' to export its value for
+'SHELL' by using the 'export' directive, described below. *Note
Choosing the Shell::.
- The special variable `MAKEFLAGS' is always exported (unless you
-unexport it). `MAKEFILES' is exported if you set it to anything.
+ The special variable 'MAKEFLAGS' is always exported (unless you
+unexport it). 'MAKEFILES' is exported if you set it to anything.
- `make' automatically passes down variable values that were defined
-on the command line, by putting them in the `MAKEFLAGS' variable.
-*Note Options/Recursion::.
+ 'make' automatically passes down variable values that were defined on
+the command line, by putting them in the 'MAKEFLAGS' variable. *Note
+Options/Recursion::.
Variables are _not_ normally passed down if they were created by
-default by `make' (*note Variables Used by Implicit Rules: Implicit
-Variables.). The sub-`make' will define these for itself.
+default by 'make' (*note Variables Used by Implicit Rules: Implicit
+Variables.). The sub-'make' will define these for itself.
- If you want to export specific variables to a sub-`make', use the
-`export' directive, like this:
+ If you want to export specific variables to a sub-'make', use the
+'export' directive, like this:
export VARIABLE ...
If you want to _prevent_ a variable from being exported, use the
-`unexport' directive, like this:
+'unexport' directive, like this:
unexport VARIABLE ...
-In both of these forms, the arguments to `export' and `unexport' are
-expanded, and so could be variables or functions which expand to a
-(list of) variable names to be (un)exported.
+In both of these forms, the arguments to 'export' and 'unexport' are
+expanded, and so could be variables or functions which expand to a (list
+of) variable names to be (un)exported.
As a convenience, you can define a variable and export it at the same
time by doing:
@@ -3657,173 +3843,186 @@ is just like:
*Note Appending More Text to Variables: Appending.
- You may notice that the `export' and `unexport' directives work in
-`make' in the same way they work in the shell, `sh'.
+ You may notice that the 'export' and 'unexport' directives work in
+'make' in the same way they work in the shell, 'sh'.
If you want all variables to be exported by default, you can use
-`export' by itself:
+'export' by itself:
export
-This tells `make' that variables which are not explicitly mentioned in
-an `export' or `unexport' directive should be exported. Any variable
-given in an `unexport' directive will still _not_ be exported. If you
-use `export' by itself to export variables by default, variables whose
+This tells 'make' that variables which are not explicitly mentioned in
+an 'export' or 'unexport' directive should be exported. Any variable
+given in an 'unexport' directive will still _not_ be exported. If you
+use 'export' by itself to export variables by default, variables whose
names contain characters other than alphanumerics and underscores will
-not be exported unless specifically mentioned in an `export' directive.
+not be exported unless specifically mentioned in an 'export' directive.
- The behavior elicited by an `export' directive by itself was the
-default in older versions of GNU `make'. If your makefiles depend on
-this behavior and you want to be compatible with old versions of
-`make', you can write a rule for the special target
-`.EXPORT_ALL_VARIABLES' instead of using the `export' directive. This
-will be ignored by old `make's, while the `export' directive will cause
-a syntax error.
+ The behavior elicited by an 'export' directive by itself was the
+default in older versions of GNU 'make'. If your makefiles depend on
+this behavior and you want to be compatible with old versions of 'make',
+you can write a rule for the special target '.EXPORT_ALL_VARIABLES'
+instead of using the 'export' directive. This will be ignored by old
+'make's, while the 'export' directive will cause a syntax error.
- Likewise, you can use `unexport' by itself to tell `make' _not_ to
+ Likewise, you can use 'unexport' by itself to tell 'make' _not_ to
export variables by default. Since this is the default behavior, you
-would only need to do this if `export' had been used by itself earlier
-(in an included makefile, perhaps). You *cannot* use `export' and
-`unexport' by themselves to have variables exported for some recipes
-and not for others. The last `export' or `unexport' directive that
-appears by itself determines the behavior for the entire run of `make'.
+would only need to do this if 'export' had been used by itself earlier
+(in an included makefile, perhaps). You *cannot* use 'export' and
+'unexport' by themselves to have variables exported for some recipes and
+not for others. The last 'export' or 'unexport' directive that appears
+by itself determines the behavior for the entire run of 'make'.
- As a special feature, the variable `MAKELEVEL' is changed when it is
+ As a special feature, the variable 'MAKELEVEL' is changed when it is
passed down from level to level. This variable's value is a string
-which is the depth of the level as a decimal number. The value is `0'
-for the top-level `make'; `1' for a sub-`make', `2' for a
-sub-sub-`make', and so on. The incrementation happens when `make' sets
+which is the depth of the level as a decimal number. The value is '0'
+for the top-level 'make'; '1' for a sub-'make', '2' for a
+sub-sub-'make', and so on. The incrementation happens when 'make' sets
up the environment for a recipe.
- The main use of `MAKELEVEL' is to test it in a conditional directive
+ The main use of 'MAKELEVEL' is to test it in a conditional directive
(*note Conditional Parts of Makefiles: Conditionals.); this way you can
-write a makefile that behaves one way if run recursively and another
-way if run directly by you.
+write a makefile that behaves one way if run recursively and another way
+if run directly by you.
- You can use the variable `MAKEFILES' to cause all sub-`make'
-commands to use additional makefiles. The value of `MAKEFILES' is a
+ You can use the variable 'MAKEFILES' to cause all sub-'make' commands
+to use additional makefiles. The value of 'MAKEFILES' is a
whitespace-separated list of file names. This variable, if defined in
the outer-level makefile, is passed down through the environment; then
-it serves as a list of extra makefiles for the sub-`make' to read
-before the usual or specified ones. *Note The Variable `MAKEFILES':
-MAKEFILES Variable.
+it serves as a list of extra makefiles for the sub-'make' to read before
+the usual or specified ones. *Note The Variable 'MAKEFILES': MAKEFILES
+Variable.

File: make.info, Node: Options/Recursion, Next: -w Option, Prev: Variables/Recursion, Up: Recursion
-5.7.3 Communicating Options to a Sub-`make'
+5.7.3 Communicating Options to a Sub-'make'
-------------------------------------------
-Flags such as `-s' and `-k' are passed automatically to the sub-`make'
-through the variable `MAKEFLAGS'. This variable is set up
-automatically by `make' to contain the flag letters that `make'
-received. Thus, if you do `make -ks' then `MAKEFLAGS' gets the value
-`ks'.
+Flags such as '-s' and '-k' are passed automatically to the sub-'make'
+through the variable 'MAKEFLAGS'. This variable is set up automatically
+by 'make' to contain the flag letters that 'make' received. Thus, if
+you do 'make -ks' then 'MAKEFLAGS' gets the value 'ks'.
- As a consequence, every sub-`make' gets a value for `MAKEFLAGS' in
+ As a consequence, every sub-'make' gets a value for 'MAKEFLAGS' in
its environment. In response, it takes the flags from that value and
-processes them as if they had been given as arguments. *Note Summary
-of Options: Options Summary.
+processes them as if they had been given as arguments. *Note Summary of
+Options: Options Summary.
Likewise variables defined on the command line are passed to the
-sub-`make' through `MAKEFLAGS'. Words in the value of `MAKEFLAGS' that
-contain `=', `make' treats as variable definitions just as if they
+sub-'make' through 'MAKEFLAGS'. Words in the value of 'MAKEFLAGS' that
+contain '=', 'make' treats as variable definitions just as if they
appeared on the command line. *Note Overriding Variables: Overriding.
- The options `-C', `-f', `-o', and `-W' are not put into `MAKEFLAGS';
+ The options '-C', '-f', '-o', and '-W' are not put into 'MAKEFLAGS';
these options are not passed down.
- The `-j' option is a special case (*note Parallel Execution:
-Parallel.). If you set it to some numeric value `N' and your operating
+ The '-j' option is a special case (*note Parallel Execution:
+Parallel.). If you set it to some numeric value 'N' and your operating
system supports it (most any UNIX system will; others typically won't),
-the parent `make' and all the sub-`make's will communicate to ensure
-that there are only `N' jobs running at the same time between them all.
+the parent 'make' and all the sub-'make's will communicate to ensure
+that there are only 'N' jobs running at the same time between them all.
Note that any job that is marked recursive (*note Instead of Executing
-Recipes: Instead of Execution.) doesn't count against the total jobs
-(otherwise we could get `N' sub-`make's running and have no slots left
+Recipes: Instead of Execution.) doesn't count against the total jobs
+(otherwise we could get 'N' sub-'make's running and have no slots left
over for any real work!)
If your operating system doesn't support the above communication,
-then `-j 1' is always put into `MAKEFLAGS' instead of the value you
-specified. This is because if the `-j' option were passed down to
-sub-`make's, you would get many more jobs running in parallel than you
-asked for. If you give `-j' with no numeric argument, meaning to run
-as many jobs as possible in parallel, this is passed down, since
-multiple infinities are no more than one.
+then '-j 1' is always put into 'MAKEFLAGS' instead of the value you
+specified. This is because if the '-j' option were passed down to
+sub-'make's, you would get many more jobs running in parallel than you
+asked for. If you give '-j' with no numeric argument, meaning to run as
+many jobs as possible in parallel, this is passed down, since multiple
+infinities are no more than one.
If you do not want to pass the other flags down, you must change the
-value of `MAKEFLAGS', like this:
+value of 'MAKEFLAGS', like this:
subsystem:
cd subdir && $(MAKE) MAKEFLAGS=
The command line variable definitions really appear in the variable
-`MAKEOVERRIDES', and `MAKEFLAGS' contains a reference to this variable.
+'MAKEOVERRIDES', and 'MAKEFLAGS' contains a reference to this variable.
If you do want to pass flags down normally, but don't want to pass down
-the command line variable definitions, you can reset `MAKEOVERRIDES' to
+the command line variable definitions, you can reset 'MAKEOVERRIDES' to
empty, like this:
MAKEOVERRIDES =
This is not usually useful to do. However, some systems have a small
fixed limit on the size of the environment, and putting so much
-information into the value of `MAKEFLAGS' can exceed it. If you see
-the error message `Arg list too long', this may be the problem. (For
-strict compliance with POSIX.2, changing `MAKEOVERRIDES' does not
-affect `MAKEFLAGS' if the special target `.POSIX' appears in the
-makefile. You probably do not care about this.)
-
- A similar variable `MFLAGS' exists also, for historical
-compatibility. It has the same value as `MAKEFLAGS' except that it
-does not contain the command line variable definitions, and it always
-begins with a hyphen unless it is empty (`MAKEFLAGS' begins with a
-hyphen only when it begins with an option that has no single-letter
-version, such as `--warn-undefined-variables'). `MFLAGS' was
-traditionally used explicitly in the recursive `make' command, like
-this:
+information into the value of 'MAKEFLAGS' can exceed it. If you see the
+error message 'Arg list too long', this may be the problem. (For strict
+compliance with POSIX.2, changing 'MAKEOVERRIDES' does not affect
+'MAKEFLAGS' if the special target '.POSIX' appears in the makefile. You
+probably do not care about this.)
+
+ A similar variable 'MFLAGS' exists also, for historical
+compatibility. It has the same value as 'MAKEFLAGS' except that it does
+not contain the command line variable definitions, and it always begins
+with a hyphen unless it is empty ('MAKEFLAGS' begins with a hyphen only
+when it begins with an option that has no single-letter version, such as
+'--warn-undefined-variables'). 'MFLAGS' was traditionally used
+explicitly in the recursive 'make' command, like this:
subsystem:
cd subdir && $(MAKE) $(MFLAGS)
-but now `MAKEFLAGS' makes this usage redundant. If you want your
-makefiles to be compatible with old `make' programs, use this
-technique; it will work fine with more modern `make' versions too.
+but now 'MAKEFLAGS' makes this usage redundant. If you want your
+makefiles to be compatible with old 'make' programs, use this technique;
+it will work fine with more modern 'make' versions too.
- The `MAKEFLAGS' variable can also be useful if you want to have
-certain options, such as `-k' (*note Summary of Options: Options
-Summary.), set each time you run `make'. You simply put a value for
-`MAKEFLAGS' in your environment. You can also set `MAKEFLAGS' in a
+ The 'MAKEFLAGS' variable can also be useful if you want to have
+certain options, such as '-k' (*note Summary of Options: Options
+Summary.), set each time you run 'make'. You simply put a value for
+'MAKEFLAGS' in your environment. You can also set 'MAKEFLAGS' in a
makefile, to specify additional flags that should also be in effect for
-that makefile. (Note that you cannot use `MFLAGS' this way. That
-variable is set only for compatibility; `make' does not interpret a
+that makefile. (Note that you cannot use 'MFLAGS' this way. That
+variable is set only for compatibility; 'make' does not interpret a
value you set for it in any way.)
- When `make' interprets the value of `MAKEFLAGS' (either from the
+ When 'make' interprets the value of 'MAKEFLAGS' (either from the
environment or from a makefile), it first prepends a hyphen if the value
does not already begin with one. Then it chops the value into words
separated by blanks, and parses these words as if they were options
-given on the command line (except that `-C', `-f', `-h', `-o', `-W',
-and their long-named versions are ignored; and there is no error for an
+given on the command line (except that '-C', '-f', '-h', '-o', '-W', and
+their long-named versions are ignored; and there is no error for an
invalid option).
- If you do put `MAKEFLAGS' in your environment, you should be sure not
+ If you do put 'MAKEFLAGS' in your environment, you should be sure not
to include any options that will drastically affect the actions of
-`make' and undermine the purpose of makefiles and of `make' itself.
-For instance, the `-t', `-n', and `-q' options, if put in one of these
+'make' and undermine the purpose of makefiles and of 'make' itself. For
+instance, the '-t', '-n', and '-q' options, if put in one of these
variables, could have disastrous consequences and would certainly have
at least surprising and probably annoying effects.
+ If you'd like to run other implementations of 'make' in addition to
+GNU 'make', and hence do not want to add GNU 'make'-specific flags to
+the 'MAKEFLAGS' variable, you can add them to the 'GNUMAKEFLAGS'
+variable instead. This variable is parsed just before 'MAKEFLAGS', in
+the same way as 'MAKEFLAGS'. When 'make' constructs 'MAKEFLAGS' to pass
+to a recursive 'make' it will include all flags, even those taken from
+'GNUMAKEFLAGS'. As a result, after parsing 'GNUMAKEFLAGS' GNU 'make'
+sets this variable to the empty string to avoid duplicating flags during
+recursion.
+
+ It's best to use 'GNUMAKEFLAGS' only with flags which won't
+materially change the behavior of your makefiles. If your makefiles
+require GNU make anyway then simply use 'MAKEFLAGS'. Flags such as
+'--no-print-directory' or '--output-sync' may be appropriate for
+'GNUMAKEFLAGS'.
+

File: make.info, Node: -w Option, Prev: Options/Recursion, Up: Recursion
-5.7.4 The `--print-directory' Option
+5.7.4 The '--print-directory' Option
------------------------------------
-If you use several levels of recursive `make' invocations, the `-w' or
-`--print-directory' option can make the output a lot easier to
-understand by showing each directory as `make' starts processing it and
-as `make' finishes processing it. For example, if `make -w' is run in
-the directory `/u/gnu/make', `make' will print a line of the form:
+If you use several levels of recursive 'make' invocations, the '-w' or '--print-directory'
+option can make the output a lot easier to understand by showing each
+directory as 'make' starts processing it and as 'make' finishes
+processing it. For example, if 'make -w' is run in the directory
+'/u/gnu/make', 'make' will print a line of the form:
make: Entering directory `/u/gnu/make'.
@@ -3833,11 +4032,11 @@ before doing anything else, and a line of the form:
when processing is completed.
- Normally, you do not need to specify this option because `make' does
-it for you: `-w' is turned on automatically when you use the `-C'
-option, and in sub-`make's. `make' will not automatically turn on `-w'
-if you also use `-s', which says to be silent, or if you use
-`--no-print-directory' to explicitly disable it.
+ Normally, you do not need to specify this option because 'make' does
+it for you: '-w' is turned on automatically when you use the '-C'
+option, and in sub-'make's. 'make' will not automatically turn on '-w'
+if you also use '-s', which says to be silent, or if you use
+'--no-print-directory' to explicitly disable it.

File: make.info, Node: Canned Recipes, Next: Empty Recipes, Prev: Recursion, Up: Recipes
@@ -3846,7 +4045,7 @@ File: make.info, Node: Canned Recipes, Next: Empty Recipes, Prev: Recursion,
===========================
When the same sequence of commands is useful in making various targets,
-you can define it as a canned sequence with the `define' directive, and
+you can define it as a canned sequence with the 'define' directive, and
refer to the canned sequence from the recipes for those targets. The
canned sequence is actually a variable, so the name must not conflict
with other variable names.
@@ -3857,42 +4056,42 @@ with other variable names.
yacc $(firstword $^)
mv y.tab.c $@
endef
-
-Here `run-yacc' is the name of the variable being defined; `endef'
-marks the end of the definition; the lines in between are the commands.
-The `define' directive does not expand variable references and function
-calls in the canned sequence; the `$' characters, parentheses, variable
+
+Here 'run-yacc' is the name of the variable being defined; 'endef' marks
+the end of the definition; the lines in between are the commands. The
+'define' directive does not expand variable references and function
+calls in the canned sequence; the '$' characters, parentheses, variable
names, and so on, all become part of the value of the variable you are
defining. *Note Defining Multi-Line Variables: Multi-Line, for a
-complete explanation of `define'.
+complete explanation of 'define'.
- The first command in this example runs Yacc on the first
-prerequisite of whichever rule uses the canned sequence. The output
-file from Yacc is always named `y.tab.c'. The second command moves the
-output to the rule's target file name.
+ The first command in this example runs Yacc on the first prerequisite
+of whichever rule uses the canned sequence. The output file from Yacc
+is always named 'y.tab.c'. The second command moves the output to the
+rule's target file name.
To use the canned sequence, substitute the variable into the recipe
of a rule. You can substitute it like any other variable (*note Basics
of Variable References: Reference.). Because variables defined by
-`define' are recursively expanded variables, all the variable
-references you wrote inside the `define' are expanded now. For example:
+'define' are recursively expanded variables, all the variable references
+you wrote inside the 'define' are expanded now. For example:
foo.c : foo.y
$(run-yacc)
-`foo.y' will be substituted for the variable `$^' when it occurs in
-`run-yacc''s value, and `foo.c' for `$@'.
+'foo.y' will be substituted for the variable '$^' when it occurs in
+'run-yacc''s value, and 'foo.c' for '$@'.
This is a realistic example, but this particular one is not needed in
-practice because `make' has an implicit rule to figure out these
+practice because 'make' has an implicit rule to figure out these
commands based on the file names involved (*note Using Implicit Rules:
Implicit Rules.).
In recipe execution, each line of a canned sequence is treated just
as if the line appeared on its own in the rule, preceded by a tab. In
-particular, `make' invokes a separate subshell for each line. You can
-use the special prefix characters that affect command lines (`@', `-',
-and `+') on each line of a canned sequence. *Note Writing Recipes in
+particular, 'make' invokes a separate sub-shell for each line. You can
+use the special prefix characters that affect command lines ('@', '-',
+and '+') on each line of a canned sequence. *Note Writing Recipes in
Rules: Recipes. For example, using this canned sequence:
define frobnicate =
@@ -3901,7 +4100,7 @@ Rules: Recipes. For example, using this canned sequence:
frob-step-2 $@-step-1 -o $@
endef
-`make' will not echo the first line, the `echo' command. But it _will_
+'make' will not echo the first line, the 'echo' command. But it _will_
echo the following two recipe lines.
On the other hand, prefix characters on the recipe line that refers
@@ -3910,8 +4109,8 @@ to a canned sequence apply to every line in the sequence. So the rule:
frob.out: frob.in
@$(frobnicate)
-does not echo _any_ recipe lines. (*Note Recipe Echoing: Echoing, for
-a full explanation of `@'.)
+does not echo _any_ recipe lines. (*Note Recipe Echoing: Echoing, for a
+full explanation of '@'.)

File: make.info, Node: Empty Recipes, Prev: Canned Recipes, Up: Recipes
@@ -3925,13 +4124,13 @@ example:
target: ;
-defines an empty recipe for `target'. You could also use a line
+defines an empty recipe for 'target'. You could also use a line
beginning with a recipe prefix character to define an empty recipe, but
this would be confusing because such a line looks empty.
You may be wondering why you would want to define a recipe that does
nothing. The only reason this is useful is to prevent a target from
-getting implicit recipes (from implicit rules or the `.DEFAULT' special
+getting implicit recipes (from implicit rules or the '.DEFAULT' special
target; *note Implicit Rules:: and *note Defining Last-Resort Default
Rules: Last Resort.).
@@ -3950,28 +4149,29 @@ File: make.info, Node: Using Variables, Next: Conditionals, Prev: Recipes, U
A "variable" is a name defined in a makefile to represent a string of
text, called the variable's "value". These values are substituted by
explicit request into targets, prerequisites, recipes, and other parts
-of the makefile. (In some other versions of `make', variables are
-called "macros".)
+of the makefile. (In some other versions of 'make', variables are
+called "macros".)
Variables and functions in all parts of a makefile are expanded when
read, except for in recipes, the right-hand sides of variable
-definitions using `=', and the bodies of variable definitions using the
-`define' directive.
+definitions using '=', and the bodies of variable definitions using the
+'define' directive.
Variables can represent lists of file names, options to pass to
compilers, programs to run, directories to look in for source files,
directories to write output in, or anything else you can imagine.
- A variable name may be any sequence of characters not containing `:',
-`#', `=', or leading or trailing whitespace. However, variable names
-containing characters other than letters, numbers, and underscores
-should be avoided, as they may be given special meanings in the future,
-and with some shells they cannot be passed through the environment to a
-sub-`make' (*note Communicating Variables to a Sub-`make':
-Variables/Recursion.).
+ A variable name may be any sequence of characters not containing ':',
+'#', '=', or whitespace. However, variable names containing characters
+other than letters, numbers, and underscores should be considered
+carefully, as in some shells they cannot be passed through the
+environment to a sub-'make' (*note Communicating Variables to a
+Sub-'make': Variables/Recursion.). Variable names beginning with '.'
+and an uppercase letter may be given special meaning in future versions
+of 'make'.
- Variable names are case-sensitive. The names `foo', `FOO', and
-`Foo' all refer to different variables.
+ Variable names are case-sensitive. The names 'foo', 'FOO', and 'Foo'
+all refer to different variables.
It is traditional to use upper case letters in variable names, but we
recommend using lower case letters for variable names that serve
@@ -4014,9 +4214,9 @@ File: make.info, Node: Reference, Next: Flavors, Prev: Using Variables, Up:
=================================
To substitute a variable's value, write a dollar sign followed by the
-name of the variable in parentheses or braces: either `$(foo)' or
-`${foo}' is a valid reference to the variable `foo'. This special
-significance of `$' is why you must write `$$' to have the effect of a
+name of the variable in parentheses or braces: either '$(foo)' or
+'${foo}' is a valid reference to the variable 'foo'. This special
+significance of '$' is why you must write '$$' to have the effect of a
single dollar sign in a file name or recipe.
Variable references can be used in any context: targets,
@@ -4037,13 +4237,13 @@ rule
prog.o : prog.$(foo)
$(foo)$(foo) -$(foo) prog.$(foo)
-could be used to compile a C program `prog.c'. Since spaces before the
-variable value are ignored in variable assignments, the value of `foo'
-is precisely `c'. (Don't actually write your makefiles this way!)
+could be used to compile a C program 'prog.c'. Since spaces before the
+variable value are ignored in variable assignments, the value of 'foo'
+is precisely 'c'. (Don't actually write your makefiles this way!)
A dollar sign followed by a character other than a dollar sign,
open-parenthesis or open-brace treats that single character as the
-variable name. Thus, you could reference the variable `x' with `$x'.
+variable name. Thus, you could reference the variable 'x' with '$x'.
However, this practice is strongly discouraged, except in the case of
the automatic variables (*note Automatic Variables::).
@@ -4053,18 +4253,18 @@ File: make.info, Node: Flavors, Next: Advanced, Prev: Reference, Up: Using V
6.2 The Two Flavors of Variables
================================
-There are two ways that a variable in GNU `make' can have a value; we
+There are two ways that a variable in GNU 'make' can have a value; we
call them the two "flavors" of variables. The two flavors are
distinguished in how they are defined and in what they do when expanded.
The first flavor of variable is a "recursively expanded" variable.
-Variables of this sort are defined by lines using `=' (*note Setting
-Variables: Setting.) or by the `define' directive (*note Defining
+Variables of this sort are defined by lines using '=' (*note Setting
+Variables: Setting.) or by the 'define' directive (*note Defining
Multi-Line Variables: Multi-Line.). The value you specify is installed
-verbatim; if it contains references to other variables, these
-references are expanded whenever this variable is substituted (in the
-course of expanding some other string). When this happens, it is
-called "recursive expansion".
+verbatim; if it contains references to other variables, these references
+are expanded whenever this variable is substituted (in the course of
+expanding some other string). When this happens, it is called
+"recursive expansion".
For example,
@@ -4074,43 +4274,47 @@ called "recursive expansion".
all:;echo $(foo)
-will echo `Huh?': `$(foo)' expands to `$(bar)' which expands to
-`$(ugh)' which finally expands to `Huh?'.
+will echo 'Huh?': '$(foo)' expands to '$(bar)' which expands to '$(ugh)'
+which finally expands to 'Huh?'.
- This flavor of variable is the only sort supported by other versions
-of `make'. It has its advantages and its disadvantages. An advantage
-(most would say) is that:
+ This flavor of variable is the only sort supported by most other
+versions of 'make'. It has its advantages and its disadvantages. An
+advantage (most would say) is that:
CFLAGS = $(include_dirs) -O
include_dirs = -Ifoo -Ibar
-will do what was intended: when `CFLAGS' is expanded in a recipe, it
-will expand to `-Ifoo -Ibar -O'. A major disadvantage is that you
+will do what was intended: when 'CFLAGS' is expanded in a recipe, it
+will expand to '-Ifoo -Ibar -O'. A major disadvantage is that you
cannot append something on the end of a variable, as in
CFLAGS = $(CFLAGS) -O
because it will cause an infinite loop in the variable expansion.
-(Actually `make' detects the infinite loop and reports an error.)
+(Actually 'make' detects the infinite loop and reports an error.)
Another disadvantage is that any functions (*note Functions for
-Transforming Text: Functions.) referenced in the definition will be
-executed every time the variable is expanded. This makes `make' run
-slower; worse, it causes the `wildcard' and `shell' functions to give
+Transforming Text: Functions.) referenced in the definition will be
+executed every time the variable is expanded. This makes 'make' run
+slower; worse, it causes the 'wildcard' and 'shell' functions to give
unpredictable results because you cannot easily control when they are
called, or even how many times.
To avoid all the problems and inconveniences of recursively expanded
variables, there is another flavor: simply expanded variables.
- "Simply expanded variables" are defined by lines using `:=' (*note
-Setting Variables: Setting.). The value of a simply expanded variable
-is scanned once and for all, expanding any references to other
-variables and functions, when the variable is defined. The actual
-value of the simply expanded variable is the result of expanding the
-text that you write. It does not contain any references to other
-variables; it contains their values _as of the time this variable was
-defined_. Therefore,
+ "Simply expanded variables" are defined by lines using ':=' or '::='
+(*note Setting Variables: Setting.). Both forms are equivalent in GNU
+'make'; however only the '::=' form is described by the POSIX standard
+(support for '::=' was added to the POSIX standard in 2012, so older
+versions of 'make' won't accept this form either).
+
+ The value of a simply expanded variable is scanned once and for all,
+expanding any references to other variables and functions, when the
+variable is defined. The actual value of the simply expanded variable
+is the result of expanding the text that you write. It does not contain
+any references to other variables; it contains their values _as of the
+time this variable was defined_. Therefore,
x := foo
y := $(x) bar
@@ -4125,11 +4329,11 @@ is equivalent to
substituted verbatim.
Here is a somewhat more complicated example, illustrating the use of
-`:=' in conjunction with the `shell' function. (*Note The `shell'
+':=' in conjunction with the 'shell' function. (*Note The 'shell'
Function: Shell Function.) This example also shows use of the variable
-`MAKELEVEL', which is changed when it is passed down from level to
-level. (*Note Communicating Variables to a Sub-`make':
-Variables/Recursion, for information about `MAKELEVEL'.)
+'MAKELEVEL', which is changed when it is passed down from level to
+level. (*Note Communicating Variables to a Sub-'make':
+Variables/Recursion, for information about 'MAKELEVEL'.)
ifeq (0,${MAKELEVEL})
whoami := $(shell whoami)
@@ -4137,7 +4341,7 @@ Variables/Recursion, for information about `MAKELEVEL'.)
MAKE := ${MAKE} host-type=${host-type} whoami=${whoami}
endif
-An advantage of this use of `:=' is that a typical `descend into a
+An advantage of this use of ':=' is that a typical 'descend into a
directory' recipe then looks like this:
${subdirs}:
@@ -4159,37 +4363,37 @@ protecting them with variable references, like this:
nullstring :=
space := $(nullstring) # end of the line
-Here the value of the variable `space' is precisely one space. The
-comment `# end of the line' is included here just for clarity. Since
+Here the value of the variable 'space' is precisely one space. The
+comment '# end of the line' is included here just for clarity. Since
trailing space characters are _not_ stripped from variable values, just
-a space at the end of the line would have the same effect (but be
-rather hard to read). If you put whitespace at the end of a variable
-value, it is a good idea to put a comment like that at the end of the
-line to make your intent clear. Conversely, if you do _not_ want any
-whitespace characters at the end of your variable value, you must
-remember not to put a random comment on the end of the line after some
-whitespace, such as this:
+a space at the end of the line would have the same effect (but be rather
+hard to read). If you put whitespace at the end of a variable value, it
+is a good idea to put a comment like that at the end of the line to make
+your intent clear. Conversely, if you do _not_ want any whitespace
+characters at the end of your variable value, you must remember not to
+put a random comment on the end of the line after some whitespace, such
+as this:
dir := /foo/bar # directory to put the frobs in
-Here the value of the variable `dir' is `/foo/bar ' (with four
+Here the value of the variable 'dir' is '/foo/bar ' (with four
trailing spaces), which was probably not the intention. (Imagine
-something like `$(dir)/file' with this definition!)
+something like '$(dir)/file' with this definition!)
- There is another assignment operator for variables, `?='. This is
+ There is another assignment operator for variables, '?='. This is
called a conditional variable assignment operator, because it only has
an effect if the variable is not yet defined. This statement:
FOO ?= bar
-is exactly equivalent to this (*note The `origin' Function: Origin
+is exactly equivalent to this (*note The 'origin' Function: Origin
Function.):
ifeq ($(origin FOO), undefined)
FOO = bar
endif
- Note that a variable set to an empty value is still defined, so `?='
+ Note that a variable set to an empty value is still defined, so '?='
will not set that variable.

@@ -4214,40 +4418,40 @@ File: make.info, Node: Substitution Refs, Next: Computed Names, Prev: Advance
-----------------------------
A "substitution reference" substitutes the value of a variable with
-alterations that you specify. It has the form `$(VAR:A=B)' (or
-`${VAR:A=B}') and its meaning is to take the value of the variable VAR,
+alterations that you specify. It has the form '$(VAR:A=B)' (or
+'${VAR:A=B}') and its meaning is to take the value of the variable VAR,
replace every A at the end of a word with B in that value, and
substitute the resulting string.
- When we say "at the end of a word", we mean that A must appear
-either followed by whitespace or at the end of the value in order to be
+ When we say "at the end of a word", we mean that A must appear either
+followed by whitespace or at the end of the value in order to be
replaced; other occurrences of A in the value are unaltered. For
example:
foo := a.o b.o c.o
bar := $(foo:.o=.c)
-sets `bar' to `a.c b.c c.c'. *Note Setting Variables: Setting.
+sets 'bar' to 'a.c b.c c.c'. *Note Setting Variables: Setting.
A substitution reference is actually an abbreviation for use of the
-`patsubst' expansion function (*note Functions for String Substitution
+'patsubst' expansion function (*note Functions for String Substitution
and Analysis: Text Functions.). We provide substitution references as
-well as `patsubst' for compatibility with other implementations of
-`make'.
+well as 'patsubst' for compatibility with other implementations of
+'make'.
Another type of substitution reference lets you use the full power of
-the `patsubst' function. It has the same form `$(VAR:A=B)' described
-above, except that now A must contain a single `%' character. This
-case is equivalent to `$(patsubst A,B,$(VAR))'. *Note Functions for
-String Substitution and Analysis: Text Functions, for a description of
-the `patsubst' function.
+the 'patsubst' function. It has the same form '$(VAR:A=B)' described
+above, except that now A must contain a single '%' character. This case
+is equivalent to '$(patsubst A,B,$(VAR))'. *Note Functions for String
+Substitution and Analysis: Text Functions, for a description of the
+'patsubst' function.
For example:
foo := a.o b.o c.o
bar := $(foo:%.o=%.c)
-sets `bar' to `a.c b.c c.c'.
+sets 'bar' to 'a.c b.c c.c'.

File: make.info, Node: Computed Names, Prev: Substitution Refs, Up: Advanced
@@ -4263,18 +4467,18 @@ that wants to understand everything, or you are actually interested in
what they do, read on.
Variables may be referenced inside the name of a variable. This is
-called a "computed variable name" or a "nested variable reference".
-For example,
+called a "computed variable name" or a "nested variable reference". For
+example,
x = y
y = z
a := $($(x))
-defines `a' as `z': the `$(x)' inside `$($(x))' expands to `y', so
-`$($(x))' expands to `$(y)' which in turn expands to `z'. Here the
-name of the variable to reference is not stated explicitly; it is
-computed by expansion of `$(x)'. The reference `$(x)' here is nested
-within the outer variable reference.
+defines 'a' as 'z': the '$(x)' inside '$($(x))' expands to 'y', so
+'$($(x))' expands to '$(y)' which in turn expands to 'z'. Here the name
+of the variable to reference is not stated explicitly; it is computed by
+expansion of '$(x)'. The reference '$(x)' here is nested within the
+outer variable reference.
The previous example shows two levels of nesting, but any number of
levels is possible. For example, here are three levels:
@@ -4284,25 +4488,24 @@ levels is possible. For example, here are three levels:
z = u
a := $($($(x)))
-Here the innermost `$(x)' expands to `y', so `$($(x))' expands to
-`$(y)' which in turn expands to `z'; now we have `$(z)', which becomes
-`u'.
+Here the innermost '$(x)' expands to 'y', so '$($(x))' expands to '$(y)'
+which in turn expands to 'z'; now we have '$(z)', which becomes 'u'.
References to recursively-expanded variables within a variable name
-are reexpanded in the usual fashion. For example:
+are re-expanded in the usual fashion. For example:
x = $(y)
y = z
z = Hello
a := $($(x))
-defines `a' as `Hello': `$($(x))' becomes `$($(y))' which becomes
-`$(z)' which becomes `Hello'.
+defines 'a' as 'Hello': '$($(x))' becomes '$($(y))' which becomes '$(z)'
+which becomes 'Hello'.
Nested variable references can also contain modified references and
function invocations (*note Functions for Transforming Text:
Functions.), just like any other reference. For example, using the
-`subst' function (*note Functions for String Substitution and Analysis:
+'subst' function (*note Functions for String Substitution and Analysis:
Text Functions.):
x = variable1
@@ -4311,16 +4514,16 @@ Text Functions.):
z = y
a := $($($(z)))
-eventually defines `a' as `Hello'. It is doubtful that anyone would
+eventually defines 'a' as 'Hello'. It is doubtful that anyone would
ever want to write a nested reference as convoluted as this one, but it
-works: `$($($(z)))' expands to `$($(y))' which becomes `$($(subst
-1,2,$(x)))'. This gets the value `variable1' from `x' and changes it
-by substitution to `variable2', so that the entire string becomes
-`$(variable2)', a simple variable reference whose value is `Hello'.
+works: '$($($(z)))' expands to '$($(y))' which becomes '$($(subst
+1,2,$(x)))'. This gets the value 'variable1' from 'x' and changes it by
+substitution to 'variable2', so that the entire string becomes
+'$(variable2)', a simple variable reference whose value is 'Hello'.
A computed variable name need not consist entirely of a single
-variable reference. It can contain several variable references, as
-well as some invariant text. For example,
+variable reference. It can contain several variable references, as well
+as some invariant text. For example,
a_dirs := dira dirb
1_dirs := dir1 dir2
@@ -4342,8 +4545,8 @@ well as some invariant text. For example,
dirs := $($(a1)_$(df))
-will give `dirs' the same value as `a_dirs', `1_dirs', `a_files' or
-`1_files' depending on the settings of `use_a' and `use_dirs'.
+will give 'dirs' the same value as 'a_dirs', '1_dirs', 'a_files' or
+'1_files' depending on the settings of 'use_a' and 'use_dirs'.
Computed variable names can also be used in substitution references:
@@ -4352,13 +4555,13 @@ will give `dirs' the same value as `a_dirs', `1_dirs', `a_files' or
sources := $($(a1)_objects:.o=.c)
-defines `sources' as either `a.c b.c c.c' or `1.c 2.c 3.c', depending
-on the value of `a1'.
+defines 'sources' as either 'a.c b.c c.c' or '1.c 2.c 3.c', depending on
+the value of 'a1'.
The only restriction on this sort of use of nested variable
-references is that they cannot specify part of the name of a function
-to be called. This is because the test for a recognized function name
-is done before the expansion of nested references. For example,
+references is that they cannot specify part of the name of a function to
+be called. This is because the test for a recognized function name is
+done before the expansion of nested references. For example,
ifdef do_sort
func := sort
@@ -4370,13 +4573,13 @@ is done before the expansion of nested references. For example,
foo := $($(func) $(bar))
-attempts to give `foo' the value of the variable `sort a d b g q c' or
-`strip a d b g q c', rather than giving `a d b g q c' as the argument
-to either the `sort' or the `strip' function. This restriction could
-be removed in the future if that change is shown to be a good idea.
+attempts to give 'foo' the value of the variable 'sort a d b g q c' or
+'strip a d b g q c', rather than giving 'a d b g q c' as the argument to
+either the 'sort' or the 'strip' function. This restriction could be
+removed in the future if that change is shown to be a good idea.
You can also use computed variable names in the left-hand side of a
-variable assignment, or in a `define' directive, as in:
+variable assignment, or in a 'define' directive, as in:
dir = foo
$(dir)_sources := $(wildcard $(dir)/*.c)
@@ -4384,8 +4587,8 @@ variable assignment, or in a `define' directive, as in:
lpr $($(dir)_sources)
endef
-This example defines the variables `dir', `foo_sources', and
-`foo_print'.
+This example defines the variables 'dir', 'foo_sources', and
+'foo_print'.
Note that "nested variable references" are quite different from
"recursively expanded variables" (*note The Two Flavors of Variables:
@@ -4400,14 +4603,14 @@ File: make.info, Node: Values, Next: Setting, Prev: Advanced, Up: Using Vari
Variables can get values in several different ways:
- * You can specify an overriding value when you run `make'. *Note
+ * You can specify an overriding value when you run 'make'. *Note
Overriding Variables: Overriding.
* You can specify a value in the makefile, either with an assignment
(*note Setting Variables: Setting.) or with a verbatim definition
(*note Defining Multi-Line Variables: Multi-Line.).
- * Variables in the environment become `make' variables. *Note
+ * Variables in the environment become 'make' variables. *Note
Variables from the Environment: Environment.
* Several "automatic" variables are given new values for each rule.
@@ -4424,17 +4627,17 @@ File: make.info, Node: Setting, Next: Appending, Prev: Values, Up: Using Var
=====================
To set a variable from the makefile, write a line starting with the
-variable name followed by `=' or `:='. Whatever follows the `=' or
-`:=' on the line becomes the value. For example,
+variable name followed by '=' ':=', or '::='. Whatever follows the '=',
+':=', or '::=' on the line becomes the value. For example,
objects = main.o foo.o bar.o utils.o
-defines a variable named `objects'. Whitespace around the variable
-name and immediately after the `=' is ignored.
+defines a variable named 'objects'. Whitespace around the variable name
+and immediately after the '=' is ignored.
- Variables defined with `=' are "recursively expanded" variables.
-Variables defined with `:=' are "simply expanded" variables; these
-definitions can contain variable references which will be expanded
+ Variables defined with '=' are "recursively expanded" variables.
+Variables defined with ':=' or '::=' are "simply expanded" variables;
+these definitions can contain variable references which will be expanded
before the definition is made. *Note The Two Flavors of Variables:
Flavors.
@@ -4443,11 +4646,9 @@ are expanded when the line is read to find the actual variable name to
use.
There is no limit on the length of the value of a variable except the
-amount of swapping space on the computer. When a variable definition is
-long, it is a good idea to break it into several lines by inserting
-backslash-newline at convenient places in the definition. This will not
-affect the functioning of `make', but it will make the makefile easier
-to read.
+amount of memory on the computer. You can split the value of a variable
+into multiple physical lines for readability (*note Splitting Long
+Lines: Splitting Lines.).
Most variable names are considered to have the empty string as a
value if you have never set them. Several variables have built-in
@@ -4458,9 +4659,9 @@ rule; these are called the "automatic" variables (*note Automatic
Variables::).
If you'd like a variable to be set to a value only if it's not
-already set, then you can use the shorthand operator `?=' instead of
-`='. These two settings of the variable `FOO' are identical (*note The
-`origin' Function: Origin Function.):
+already set, then you can use the shorthand operator '?=' instead of
+'='. These two settings of the variable 'FOO' are identical (*note The
+'origin' Function: Origin Function.):
FOO ?= bar
@@ -4470,6 +4671,27 @@ and
FOO = bar
endif
+ The shell assignment operator '!=' can be used to execute a program
+and set a variable to its output. This operator first evaluates the
+right-hand side, then passes that result to the shell for execution. If
+the result of the execution ends in a newline, that one newline is
+removed; all other newlines are replaced by spaces. The resulting
+string is then placed into the named recursively-expanded variable. For
+example:
+
+ hash != printf '\043'
+ file_list != find . -name '*.c'
+
+ If the result of the execution could produce a '$', and you don't
+intend what follows that to be interpreted as a make variable or
+function reference, then you must replace every '$' with '$$' as part of
+the execution. Alternatively, you can set a simply expanded variable to
+the result of running a program using the 'shell' function call. *Note
+The 'shell' Function: Shell Function. For example:
+
+ hash := $(shell printf '\043')
+ var := $(shell find . -name "*.c")
+

File: make.info, Node: Appending, Next: Override Directive, Prev: Setting, Up: Using Variables
@@ -4477,19 +4699,19 @@ File: make.info, Node: Appending, Next: Override Directive, Prev: Setting, U
====================================
Often it is useful to add more text to the value of a variable already
-defined. You do this with a line containing `+=', like this:
+defined. You do this with a line containing '+=', like this:
objects += another.o
-This takes the value of the variable `objects', and adds the text
-`another.o' to it (preceded by a single space). Thus:
+This takes the value of the variable 'objects', and adds the text
+'another.o' to it (preceded by a single space). Thus:
objects = main.o foo.o bar.o utils.o
objects += another.o
-sets `objects' to `main.o foo.o bar.o utils.o another.o'.
+sets 'objects' to 'main.o foo.o bar.o utils.o another.o'.
- Using `+=' is similar to:
+ Using '+=' is similar to:
objects = main.o foo.o bar.o utils.o
objects := $(objects) another.o
@@ -4497,39 +4719,38 @@ sets `objects' to `main.o foo.o bar.o utils.o another.o'.
but differs in ways that become important when you use more complex
values.
- When the variable in question has not been defined before, `+=' acts
-just like normal `=': it defines a recursively-expanded variable.
-However, when there _is_ a previous definition, exactly what `+=' does
+ When the variable in question has not been defined before, '+=' acts
+just like normal '=': it defines a recursively-expanded variable.
+However, when there _is_ a previous definition, exactly what '+=' does
depends on what flavor of variable you defined originally. *Note The
-Two Flavors of Variables: Flavors, for an explanation of the two
-flavors of variables.
+Two Flavors of Variables: Flavors, for an explanation of the two flavors
+of variables.
- When you add to a variable's value with `+=', `make' acts
-essentially as if you had included the extra text in the initial
-definition of the variable. If you defined it first with `:=', making
-it a simply-expanded variable, `+=' adds to that simply-expanded
-definition, and expands the new text before appending it to the old
-value just as `:=' does (see *note Setting Variables: Setting, for a
-full explanation of `:='). In fact,
+ When you add to a variable's value with '+=', 'make' acts essentially
+as if you had included the extra text in the initial definition of the
+variable. If you defined it first with ':=' or '::=', making it a
+simply-expanded variable, '+=' adds to that simply-expanded definition,
+and expands the new text before appending it to the old value just as
+':=' does (see *note Setting Variables: Setting, for a full explanation
+of ':=' or '::='). In fact,
variable := value
variable += more
is exactly equivalent to:
-
variable := value
variable := $(variable) more
- On the other hand, when you use `+=' with a variable that you defined
-first to be recursively-expanded using plain `=', `make' does something
+ On the other hand, when you use '+=' with a variable that you defined
+first to be recursively-expanded using plain '=', 'make' does something
a bit different. Recall that when you define a recursively-expanded
-variable, `make' does not expand the value you set for variable and
+variable, 'make' does not expand the value you set for variable and
function references immediately. Instead it stores the text verbatim,
and saves these variable and function references to be expanded later,
when you refer to the new variable (*note The Two Flavors of Variables:
-Flavors.). When you use `+=' on a recursively-expanded variable, it is
-this unexpanded text to which `make' appends the new text you specify.
+Flavors.). When you use '+=' on a recursively-expanded variable, it is
+this unexpanded text to which 'make' appends the new text you specify.
variable = value
variable += more
@@ -4539,46 +4760,46 @@ is roughly equivalent to:
temp = value
variable = $(temp) more
-except that of course it never defines a variable called `temp'. The
-importance of this comes when the variable's old value contains
-variable references. Take this common example:
+except that of course it never defines a variable called 'temp'. The
+importance of this comes when the variable's old value contains variable
+references. Take this common example:
CFLAGS = $(includes) -O
...
CFLAGS += -pg # enable profiling
-The first line defines the `CFLAGS' variable with a reference to another
-variable, `includes'. (`CFLAGS' is used by the rules for C
-compilation; *note Catalogue of Implicit Rules: Catalogue of Rules.)
-Using `=' for the definition makes `CFLAGS' a recursively-expanded
-variable, meaning `$(includes) -O' is _not_ expanded when `make'
-processes the definition of `CFLAGS'. Thus, `includes' need not be
-defined yet for its value to take effect. It only has to be defined
-before any reference to `CFLAGS'. If we tried to append to the value
-of `CFLAGS' without using `+=', we might do it like this:
+The first line defines the 'CFLAGS' variable with a reference to another
+variable, 'includes'. ('CFLAGS' is used by the rules for C compilation;
+*note Catalogue of Built-In Rules: Catalogue of Rules.) Using '=' for
+the definition makes 'CFLAGS' a recursively-expanded variable, meaning '$(includes) -O'
+is _not_ expanded when 'make' processes the definition of 'CFLAGS'.
+Thus, 'includes' need not be defined yet for its value to take effect.
+It only has to be defined before any reference to 'CFLAGS'. If we tried
+to append to the value of 'CFLAGS' without using '+=', we might do it
+like this:
CFLAGS := $(CFLAGS) -pg # enable profiling
-This is pretty close, but not quite what we want. Using `:=' redefines
-`CFLAGS' as a simply-expanded variable; this means `make' expands the
-text `$(CFLAGS) -pg' before setting the variable. If `includes' is not
-yet defined, we get ` -O -pg', and a later definition of `includes'
-will have no effect. Conversely, by using `+=' we set `CFLAGS' to the
-_unexpanded_ value `$(includes) -O -pg'. Thus we preserve the
-reference to `includes', so if that variable gets defined at any later
-point, a reference like `$(CFLAGS)' still uses its value.
+This is pretty close, but not quite what we want. Using ':=' redefines
+'CFLAGS' as a simply-expanded variable; this means 'make' expands the
+text '$(CFLAGS) -pg' before setting the variable. If 'includes' is not
+yet defined, we get ' -O -pg', and a later definition of 'includes' will
+have no effect. Conversely, by using '+=' we set 'CFLAGS' to the
+_unexpanded_ value '$(includes) -O -pg'. Thus we preserve the reference
+to 'includes', so if that variable gets defined at any later point, a
+reference like '$(CFLAGS)' still uses its value.

File: make.info, Node: Override Directive, Next: Multi-Line, Prev: Appending, Up: Using Variables
-6.7 The `override' Directive
+6.7 The 'override' Directive
============================
If a variable has been set with a command argument (*note Overriding
Variables: Overriding.), then ordinary assignments in the makefile are
-ignored. If you want to set the variable in the makefile even though
-it was set with a command argument, you can use an `override'
-directive, which is a line that looks like this:
+ignored. If you want to set the variable in the makefile even though it
+was set with a command argument, you can use an 'override' directive,
+which is a line that looks like this:
override VARIABLE = VALUE
@@ -4592,23 +4813,23 @@ or
*Note Appending More Text to Variables: Appending.
- Variable assignments marked with the `override' flag have a higher
-priority than all other assignments, except another `override'.
+ Variable assignments marked with the 'override' flag have a higher
+priority than all other assignments, except another 'override'.
Subsequent assignments or appends to this variable which are not marked
-`override' will be ignored.
+'override' will be ignored.
- The `override' directive was not invented for escalation in the war
+ The 'override' directive was not invented for escalation in the war
between makefiles and command arguments. It was invented so you can
alter and add to values that the user specifies with command arguments.
- For example, suppose you always want the `-g' switch when you run the
+ For example, suppose you always want the '-g' switch when you run the
C compiler, but you would like to allow the user to specify the other
switches with a command argument just as usual. You could use this
-`override' directive:
+'override' directive:
override CFLAGS += -g
- You can also use `override' directives with `define' directives.
+ You can also use 'override' directives with 'define' directives.
This is done as you might expect:
override define foo =
@@ -4623,34 +4844,34 @@ File: make.info, Node: Multi-Line, Next: Undefine Directive, Prev: Override D
6.8 Defining Multi-Line Variables
=================================
-Another way to set the value of a variable is to use the `define'
+Another way to set the value of a variable is to use the 'define'
directive. This directive has an unusual syntax which allows newline
-characters to be included in the value, which is convenient for
-defining both canned sequences of commands (*note Defining Canned
-Recipes: Canned Recipes.), and also sections of makefile syntax to use
-with `eval' (*note Eval Function::).
+characters to be included in the value, which is convenient for defining
+both canned sequences of commands (*note Defining Canned Recipes: Canned
+Recipes.), and also sections of makefile syntax to use with 'eval'
+(*note Eval Function::).
- The `define' directive is followed on the same line by the name of
+ The 'define' directive is followed on the same line by the name of
the variable being defined and an (optional) assignment operator, and
nothing more. The value to give the variable appears on the following
lines. The end of the value is marked by a line containing just the
-word `endef'. Aside from this difference in syntax, `define' works
-just like any other variable definition. The variable name may contain
+word 'endef'. Aside from this difference in syntax, 'define' works just
+like any other variable definition. The variable name may contain
function and variable references, which are expanded when the directive
is read to find the actual variable name to use.
You may omit the variable assignment operator if you prefer. If
-omitted, `make' assumes it to be `=' and creates a recursively-expanded
+omitted, 'make' assumes it to be '=' and creates a recursively-expanded
variable (*note The Two Flavors of Variables: Flavors.). When using a
-`+=' operator, the value is appended to the previous value as with any
+'+=' operator, the value is appended to the previous value as with any
other append operation: with a single space separating the old and new
values.
- You may nest `define' directives: `make' will keep track of nested
+ You may nest 'define' directives: 'make' will keep track of nested
directives and report an error if they are not all properly closed with
-`endef'. Note that lines beginning with the recipe prefix character
-are considered part of a recipe, so any `define' or `endef' strings
-appearing on such a line will not be considered `make' directives.
+'endef'. Note that lines beginning with the recipe prefix character are
+considered part of a recipe, so any 'define' or 'endef' strings
+appearing on such a line will not be considered 'make' directives.
define two-lines =
echo foo
@@ -4658,9 +4879,9 @@ appearing on such a line will not be considered `make' directives.
endef
The value in an ordinary assignment cannot contain a newline; but the
-newlines that separate the lines of the value in a `define' become part
-of the variable's value (except for the final newline which precedes
-the `endef' and is not considered part of the value).
+newlines that separate the lines of the value in a 'define' become part
+of the variable's value (except for the final newline which precedes the
+'endef' and is not considered part of the value).
When used in a recipe, the previous example is functionally
equivalent to this:
@@ -4669,19 +4890,19 @@ equivalent to this:
since two commands separated by semicolon behave much like two separate
shell commands. However, note that using two separate lines means
-`make' will invoke the shell twice, running an independent subshell for
+'make' will invoke the shell twice, running an independent sub-shell for
each line. *Note Recipe Execution: Execution.
- If you want variable definitions made with `define' to take
+ If you want variable definitions made with 'define' to take
precedence over command-line variable definitions, you can use the
-`override' directive together with `define':
+'override' directive together with 'define':
override define two-lines =
foo
$(bar)
endef
-*Note The `override' Directive: Override Directive.
+*Note The 'override' Directive: Override Directive.

File: make.info, Node: Undefine Directive, Next: Environment, Prev: Multi-Line, Up: Using Variables
@@ -4690,13 +4911,13 @@ File: make.info, Node: Undefine Directive, Next: Environment, Prev: Multi-Lin
========================
If you want to clear a variable, setting its value to empty is usually
-sufficient. Expanding such a variable will yield the same result (empty
-string) regardless of whether it was set or not. However, if you are
-using the `flavor' (*note Flavor Function::) and `origin' (*note Origin
-Function::) functions, there is a difference between a variable that
-was never set and a variable with an empty value. In such situations
-you may want to use the `undefine' directive to make a variable appear
-as if it was never set. For example:
+sufficient. Expanding such a variable will yield the same result (empty
+string) regardless of whether it was set or not. However, if you are
+using the 'flavor' (*note Flavor Function::) and 'origin' (*note Origin
+Function::) functions, there is a difference between a variable that was
+never set and a variable with an empty value. In such situations you
+may want to use the 'undefine' directive to make a variable appear as if
+it was never set. For example:
foo := foo
bar = bar
@@ -4710,7 +4931,7 @@ as if it was never set. For example:
This example will print "undefined" for both variables.
If you want to undefine a command-line variable definition, you can
-use the `override' directive together with `undefine', similar to how
+use the 'override' directive together with 'undefine', similar to how
this is done for variable definitions:
override undefine CFLAGS
@@ -4721,41 +4942,41 @@ File: make.info, Node: Environment, Next: Target-specific, Prev: Undefine Dir
6.10 Variables from the Environment
===================================
-Variables in `make' can come from the environment in which `make' is
-run. Every environment variable that `make' sees when it starts up is
-transformed into a `make' variable with the same name and value.
+Variables in 'make' can come from the environment in which 'make' is
+run. Every environment variable that 'make' sees when it starts up is
+transformed into a 'make' variable with the same name and value.
However, an explicit assignment in the makefile, or with a command
-argument, overrides the environment. (If the `-e' flag is specified,
+argument, overrides the environment. (If the '-e' flag is specified,
then values from the environment override assignments in the makefile.
*Note Summary of Options: Options Summary. But this is not recommended
practice.)
- Thus, by setting the variable `CFLAGS' in your environment, you can
+ Thus, by setting the variable 'CFLAGS' in your environment, you can
cause all C compilations in most makefiles to use the compiler switches
you prefer. This is safe for variables with standard or conventional
meanings because you know that no makefile will use them for other
-things. (Note this is not totally reliable; some makefiles set
-`CFLAGS' explicitly and therefore are not affected by the value in the
+things. (Note this is not totally reliable; some makefiles set 'CFLAGS'
+explicitly and therefore are not affected by the value in the
environment.)
- When `make' runs a recipe, variables defined in the makefile are
+ When 'make' runs a recipe, variables defined in the makefile are
placed into the environment of each shell. This allows you to pass
-values to sub-`make' invocations (*note Recursive Use of `make':
+values to sub-'make' invocations (*note Recursive Use of 'make':
Recursion.). By default, only variables that came from the environment
or the command line are passed to recursive invocations. You can use
-the `export' directive to pass other variables. *Note Communicating
-Variables to a Sub-`make': Variables/Recursion, for full details.
+the 'export' directive to pass other variables. *Note Communicating
+Variables to a Sub-'make': Variables/Recursion, for full details.
Other use of variables from the environment is not recommended. It
-is not wise for makefiles to depend for their functioning on
-environment variables set up outside their control, since this would
-cause different users to get different results from the same makefile.
-This is against the whole purpose of most makefiles.
+is not wise for makefiles to depend for their functioning on environment
+variables set up outside their control, since this would cause different
+users to get different results from the same makefile. This is against
+the whole purpose of most makefiles.
- Such problems would be especially likely with the variable `SHELL',
+ Such problems would be especially likely with the variable 'SHELL',
which is normally present in the environment to specify the user's
choice of interactive shell. It would be very undesirable for this
-choice to affect `make'; so, `make' handles the `SHELL' environment
+choice to affect 'make'; so, 'make' handles the 'SHELL' environment
variable in a special way; see *note Choosing the Shell::.

@@ -4764,14 +4985,14 @@ File: make.info, Node: Target-specific, Next: Pattern-specific, Prev: Environ
6.11 Target-specific Variable Values
====================================
-Variable values in `make' are usually global; that is, they are the
-same regardless of where they are evaluated (unless they're reset, of
+Variable values in 'make' are usually global; that is, they are the same
+regardless of where they are evaluated (unless they're reset, of
course). One exception to that is automatic variables (*note Automatic
Variables::).
The other exception is "target-specific variable values". This
feature allows you to define different values for the same variable,
-based on the target that `make' is currently building. As with
+based on the target that 'make' is currently building. As with
automatic variables, these values are only available within the context
of a target's recipe (and in other target-specific assignments).
@@ -4780,25 +5001,25 @@ of a target's recipe (and in other target-specific assignments).
TARGET ... : VARIABLE-ASSIGNMENT
Target-specific variable assignments can be prefixed with any or all
-of the special keywords `export', `override', or `private'; these apply
+of the special keywords 'export', 'override', or 'private'; these apply
their normal behavior to this instance of the variable only.
Multiple TARGET values create a target-specific variable value for
each member of the target list individually.
The VARIABLE-ASSIGNMENT can be any valid form of assignment;
-recursive (`='), static (`:='), appending (`+='), or conditional
-(`?='). All variables that appear within the VARIABLE-ASSIGNMENT are
-evaluated within the context of the target: thus, any
-previously-defined target-specific variable values will be in effect.
-Note that this variable is actually distinct from any "global" value:
-the two variables do not have to have the same flavor (recursive vs.
-static).
+recursive ('='), simple (':=' or '::='), appending ('+='), or
+conditional ('?='). All variables that appear within the
+VARIABLE-ASSIGNMENT are evaluated within the context of the target:
+thus, any previously-defined target-specific variable values will be in
+effect. Note that this variable is actually distinct from any "global"
+value: the two variables do not have to have the same flavor (recursive
+vs. simple).
Target-specific variables have the same priority as any other
makefile variable. Variables provided on the command line (and in the
-environment if the `-e' option is in force) will take precedence.
-Specifying the `override' directive will allow the target-specific
+environment if the '-e' option is in force) will take precedence.
+Specifying the 'override' directive will allow the target-specific
variable value to be preferred.
There is one more special feature of target-specific variables: when
@@ -4811,17 +5032,17 @@ statement like this:
prog : CFLAGS = -g
prog : prog.o foo.o bar.o
-will set `CFLAGS' to `-g' in the recipe for `prog', but it will also
-set `CFLAGS' to `-g' in the recipes that create `prog.o', `foo.o', and
-`bar.o', and any recipes which create their prerequisites.
+will set 'CFLAGS' to '-g' in the recipe for 'prog', but it will also set
+'CFLAGS' to '-g' in the recipes that create 'prog.o', 'foo.o', and
+'bar.o', and any recipes which create their prerequisites.
Be aware that a given prerequisite will only be built once per
invocation of make, at most. If the same file is a prerequisite of
multiple targets, and each of those targets has a different value for
the same target-specific variable, then the first target to be built
will cause that prerequisite to be built and the prerequisite will
-inherit the target-specific value from the first target. It will
-ignore the target-specific values from any other targets.
+inherit the target-specific value from the first target. It will ignore
+the target-specific values from any other targets.

File: make.info, Node: Pattern-specific, Next: Suppressing Inheritance, Prev: Target-specific, Up: Using Variables
@@ -4830,25 +5051,25 @@ File: make.info, Node: Pattern-specific, Next: Suppressing Inheritance, Prev:
=====================================
In addition to target-specific variable values (*note Target-specific
-Variable Values: Target-specific.), GNU `make' supports
-pattern-specific variable values. In this form, the variable is
-defined for any target that matches the pattern specified.
+Variable Values: Target-specific.), GNU 'make' supports pattern-specific
+variable values. In this form, the variable is defined for any target
+that matches the pattern specified.
Set a pattern-specific variable value like this:
PATTERN ... : VARIABLE-ASSIGNMENT
where PATTERN is a %-pattern. As with target-specific variable
-values, multiple PATTERN values create a pattern-specific variable
-value for each pattern individually. The VARIABLE-ASSIGNMENT can be
-any valid form of assignment. Any command line variable setting will
-take precedence, unless `override' is specified.
+values, multiple PATTERN values create a pattern-specific variable value
+for each pattern individually. The VARIABLE-ASSIGNMENT can be any valid
+form of assignment. Any command line variable setting will take
+precedence, unless 'override' is specified.
For example:
%.o : CFLAGS = -O
-will assign `CFLAGS' the value of `-O' for all targets matching the
-pattern `%.o'.
+will assign 'CFLAGS' the value of '-O' for all targets matching the
+pattern '%.o'.
If a target matches more than one pattern, the matching
pattern-specific variables with longer stems are interpreted first.
@@ -4863,11 +5084,11 @@ generic ones, for example:
all: foo.o lib/bar.o
- In this example the first definition of the `CFLAGS' variable will
-be used to update `lib/bar.o' even though the second one also applies
-to this target. Pattern-specific variables which result in the same
-stem length are considered in the order in which they were defined in
-the makefile.
+ In this example the first definition of the 'CFLAGS' variable will be
+used to update 'lib/bar.o' even though the second one also applies to
+this target. Pattern-specific variables which result in the same stem
+length are considered in the order in which they were defined in the
+makefile.
Pattern-specific variables are searched after any target-specific
variables defined explicitly for that target, and before target-specific
@@ -4879,22 +5100,22 @@ File: make.info, Node: Suppressing Inheritance, Next: Special Variables, Prev
6.13 Suppressing Inheritance
============================
-As described in previous sections, `make' variables are inherited by
+As described in previous sections, 'make' variables are inherited by
prerequisites. This capability allows you to modify the behavior of a
prerequisite based on which targets caused it to be rebuilt. For
-example, you might set a target-specific variable on a `debug' target,
-then running `make debug' will cause that variable to be inherited by
-all prerequisites of `debug', while just running `make all' (for
+example, you might set a target-specific variable on a 'debug' target,
+then running 'make debug' will cause that variable to be inherited by
+all prerequisites of 'debug', while just running 'make all' (for
example) would not have that assignment.
Sometimes, however, you may not want a variable to be inherited. For
-these situations, `make' provides the `private' modifier. Although
-this modifier can be used with any variable assignment, it makes the
-most sense with target- and pattern-specific variables. Any variable
-marked `private' will be visible to its local target but will not be
-inherited by prerequisites of that target. A global variable marked
-`private' will be visible in the global scope but will not be inherited
-by any target, and hence will not be visible in any recipe.
+these situations, 'make' provides the 'private' modifier. Although this
+modifier can be used with any variable assignment, it makes the most
+sense with target- and pattern-specific variables. Any variable marked
+'private' will be visible to its local target but will not be inherited
+by prerequisites of that target. A global variable marked 'private'
+will be visible in the global scope but will not be inherited by any
+target, and hence will not be visible in any recipe.
As an example, consider this makefile:
EXTRA_CFLAGS =
@@ -4902,8 +5123,8 @@ by any target, and hence will not be visible in any recipe.
prog: private EXTRA_CFLAGS = -L/usr/local/lib
prog: a.o b.o
- Due to the `private' modifier, `a.o' and `b.o' will not inherit the
-`EXTRA_CFLAGS' variable assignment from the `progs' target.
+ Due to the 'private' modifier, 'a.o' and 'b.o' will not inherit the
+'EXTRA_CFLAGS' variable assignment from the 'prog' target.

File: make.info, Node: Special Variables, Prev: Suppressing Inheritance, Up: Using Variables
@@ -4911,18 +5132,18 @@ File: make.info, Node: Special Variables, Prev: Suppressing Inheritance, Up:
6.14 Other Special Variables
============================
-GNU `make' supports some variables that have special properties.
+GNU 'make' supports some variables that have special properties.
-`MAKEFILE_LIST'
- Contains the name of each makefile that is parsed by `make', in
- the order in which it was parsed. The name is appended just
- before `make' begins to parse the makefile. Thus, if the first
- thing a makefile does is examine the last word in this variable, it
- will be the name of the current makefile. Once the current
- makefile has used `include', however, the last word will be the
- just-included makefile.
+'MAKEFILE_LIST'
+ Contains the name of each makefile that is parsed by 'make', in the
+ order in which it was parsed. The name is appended just before
+ 'make' begins to parse the makefile. Thus, if the first thing a
+ makefile does is examine the last word in this variable, it will be
+ the name of the current makefile. Once the current makefile has
+ used 'include', however, the last word will be the just-included
+ makefile.
- If a makefile named `Makefile' has this content:
+ If a makefile named 'Makefile' has this content:
name1 := $(lastword $(MAKEFILE_LIST))
@@ -4939,10 +5160,10 @@ GNU `make' supports some variables that have special properties.
name1 = Makefile
name2 = inc.mk
-`.DEFAULT_GOAL'
+'.DEFAULT_GOAL'
Sets the default goal to be used if no targets were specified on
the command line (*note Arguments to Specify the Goals: Goals.).
- The `.DEFAULT_GOAL' variable allows you to discover the current
+ The '.DEFAULT_GOAL' variable allows you to discover the current
default goal, restart the default goal selection algorithm by
clearing its value, or to explicitly set the default goal. The
following example illustrates these cases:
@@ -4975,17 +5196,36 @@ GNU `make' supports some variables that have special properties.
default goal is bar
foo
- Note that assigning more than one target name to `.DEFAULT_GOAL' is
- illegal and will result in an error.
+ Note that assigning more than one target name to '.DEFAULT_GOAL' is
+ invalid and will result in an error.
-`MAKE_RESTARTS'
- This variable is set only if this instance of `make' has restarted
+'MAKE_RESTARTS'
+ This variable is set only if this instance of 'make' has restarted
(*note How Makefiles Are Remade: Remaking Makefiles.): it will
- contain the number of times this instance has restarted. Note
- this is not the same as recursion (counted by the `MAKELEVEL'
- variable). You should not set, modify, or export this variable.
-
-`.RECIPEPREFIX'
+ contain the number of times this instance has restarted. Note this
+ is not the same as recursion (counted by the 'MAKELEVEL' variable).
+ You should not set, modify, or export this variable.
+
+'MAKE_TERMOUT'
+'MAKE_TERMERR'
+ When 'make' starts it will check whether stdout and stderr will
+ show their output on a terminal. If so, it will set 'MAKE_TERMOUT'
+ and 'MAKE_TERMERR', respectively, to the name of the terminal
+ device (or 'true' if this cannot be determined). If set these
+ variables will be marked for export. These variables will not be
+ changed by 'make' and they will not be modified if already set.
+
+ These values can be used (particularly in combination with output
+ synchronization (*note Output During Parallel Execution: Parallel
+ Output.) to determine whether 'make' itself is writing to a
+ terminal; they can be tested to decide whether to force recipe
+ commands to generate colorized output for example.
+
+ If you invoke a sub-'make' and redirect its stdout or stderr it is
+ your responsibility to reset or unexport these variables as well,
+ if your makefiles rely on them.
+
+'.RECIPEPREFIX'
The first character of the value of this variable is used as the
character make assumes is introducing a recipe line. If the
variable is empty (as it is by default) that character is the
@@ -4995,55 +5235,74 @@ GNU `make' supports some variables that have special properties.
all:
> @echo Hello, world
- The value of `.RECIPEPREFIX' can be changed multiple times; once
+ The value of '.RECIPEPREFIX' can be changed multiple times; once
set it stays in effect for all rules parsed until it is modified.
-`.VARIABLES'
- Expands to a list of the _names_ of all global variables defined
- so far. This includes variables which have empty values, as well
- as built-in variables (*note Variables Used by Implicit Rules:
+'.VARIABLES'
+ Expands to a list of the _names_ of all global variables defined so
+ far. This includes variables which have empty values, as well as
+ built-in variables (*note Variables Used by Implicit Rules:
Implicit Variables.), but does not include any variables which are
- only defined in a target-specific context. Note that any value
- you assign to this variable will be ignored; it will always return
- its special value.
+ only defined in a target-specific context. Note that any value you
+ assign to this variable will be ignored; it will always return its
+ special value.
-`.FEATURES'
+'.FEATURES'
Expands to a list of special features supported by this version of
- `make'. Possible values include:
+ 'make'. Possible values include, but are not limited to:
- `archives'
- Supports `ar' (archive) files using special filename syntax.
- *Note Using `make' to Update Archive Files: Archives.
+ 'archives'
+ Supports 'ar' (archive) files using special file name syntax.
+ *Note Using 'make' to Update Archive Files: Archives.
- `check-symlink'
- Supports the `-L' (`--check-symlink-times') flag. *Note
+ 'check-symlink'
+ Supports the '-L' ('--check-symlink-times') flag. *Note
Summary of Options: Options Summary.
- `else-if'
+ 'else-if'
Supports "else if" non-nested conditionals. *Note Syntax of
Conditionals: Conditional Syntax.
- `jobserver'
+ 'jobserver'
Supports "job server" enhanced parallel builds. *Note
Parallel Execution: Parallel.
- `second-expansion'
- Supports secondary expansion of prerequisite lists.
+ 'oneshell'
+ Supports the '.ONESHELL' special target. *Note Using One
+ Shell: One Shell.
- `order-only'
+ 'order-only'
Supports order-only prerequisites. *Note Types of
Prerequisites: Prerequisite Types.
- `target-specific'
+ 'second-expansion'
+ Supports secondary expansion of prerequisite lists.
+
+ 'shortest-stem'
+ Uses the "shortest stem" method of choosing which pattern, of
+ multiple applicable options, will be used. *Note How Patterns
+ Match: Pattern Match.
+
+ 'target-specific'
Supports target-specific and pattern-specific variable
assignments. *Note Target-specific Variable Values:
Target-specific.
+ 'undefine'
+ Supports the 'undefine' directive. *Note Undefine
+ Directive::.
-`.INCLUDE_DIRS'
- Expands to a list of directories that `make' searches for included
- makefiles (*note Including Other Makefiles: Include.).
+ 'guile'
+ Has GNU Guile available as an embedded extension language.
+ *Note GNU Guile Integration: Guile Integration.
+ 'load'
+ Supports dynamically loadable objects for creating custom
+ extensions. *Note Loading Dynamic Objects: Loading Objects.
+
+'.INCLUDE_DIRS'
+ Expands to a list of directories that 'make' searches for included
+ makefiles (*note Including Other Makefiles: Include.).

File: make.info, Node: Conditionals, Next: Functions, Prev: Using Variables, Up: Top
@@ -5054,9 +5313,9 @@ File: make.info, Node: Conditionals, Next: Functions, Prev: Using Variables,
A "conditional" directive causes part of a makefile to be obeyed or
ignored depending on the values of variables. Conditionals can compare
the value of one variable to another, or the value of a variable to a
-constant string. Conditionals control what `make' actually "sees" in
-the makefile, so they _cannot_ be used to control recipes at the time
-of execution.
+constant string. Conditionals control what 'make' actually "sees" in
+the makefile, so they _cannot_ be used to control recipes at the time of
+execution.
* Menu:
@@ -5070,11 +5329,11 @@ File: make.info, Node: Conditional Example, Next: Conditional Syntax, Prev: C
7.1 Example of a Conditional
============================
-The following example of a conditional tells `make' to use one set of
-libraries if the `CC' variable is `gcc', and a different set of
+The following example of a conditional tells 'make' to use one set of
+libraries if the 'CC' variable is 'gcc', and a different set of
libraries otherwise. It works by controlling which of two recipe lines
-will be used for the rule. The result is that `CC=gcc' as an argument
-to `make' changes not only which compiler is used but also which
+will be used for the rule. The result is that 'CC=gcc' as an argument
+to 'make' changes not only which compiler is used but also which
libraries are linked.
libs_for_gcc = -lgnu
@@ -5087,45 +5346,44 @@ libraries are linked.
$(CC) -o foo $(objects) $(normal_libs)
endif
- This conditional uses three directives: one `ifeq', one `else' and
-one `endif'.
+ This conditional uses three directives: one 'ifeq', one 'else' and
+one 'endif'.
- The `ifeq' directive begins the conditional, and specifies the
+ The 'ifeq' directive begins the conditional, and specifies the
condition. It contains two arguments, separated by a comma and
surrounded by parentheses. Variable substitution is performed on both
arguments and then they are compared. The lines of the makefile
-following the `ifeq' are obeyed if the two arguments match; otherwise
+following the 'ifeq' are obeyed if the two arguments match; otherwise
they are ignored.
- The `else' directive causes the following lines to be obeyed if the
+ The 'else' directive causes the following lines to be obeyed if the
previous conditional failed. In the example above, this means that the
second alternative linking command is used whenever the first
-alternative is not used. It is optional to have an `else' in a
+alternative is not used. It is optional to have an 'else' in a
conditional.
- The `endif' directive ends the conditional. Every conditional must
-end with an `endif'. Unconditional makefile text follows.
+ The 'endif' directive ends the conditional. Every conditional must
+end with an 'endif'. Unconditional makefile text follows.
As this example illustrates, conditionals work at the textual level:
the lines of the conditional are treated as part of the makefile, or
ignored, according to the condition. This is why the larger syntactic
-units of the makefile, such as rules, may cross the beginning or the
-end of the conditional.
+units of the makefile, such as rules, may cross the beginning or the end
+of the conditional.
- When the variable `CC' has the value `gcc', the above example has
+ When the variable 'CC' has the value 'gcc', the above example has
this effect:
foo: $(objects)
$(CC) -o foo $(objects) $(libs_for_gcc)
-When the variable `CC' has any other value, the effect is this:
+When the variable 'CC' has any other value, the effect is this:
foo: $(objects)
$(CC) -o foo $(objects) $(normal_libs)
- Equivalent results can be obtained in another way by
-conditionalizing a variable assignment and then using the variable
-unconditionally:
+ Equivalent results can be obtained in another way by conditionalizing
+a variable assignment and then using the variable unconditionally:
libs_for_gcc = -lgnu
normal_libs =
@@ -5145,7 +5403,7 @@ File: make.info, Node: Conditional Syntax, Next: Testing Flags, Prev: Conditi
7.2 Syntax of Conditionals
==========================
-The syntax of a simple conditional with no `else' is as follows:
+The syntax of a simple conditional with no 'else' is as follows:
CONDITIONAL-DIRECTIVE
TEXT-IF-TRUE
@@ -5165,66 +5423,65 @@ text is used instead.
or:
- CONDITIONAL-DIRECTIVE
+ CONDITIONAL-DIRECTIVE-ONE
TEXT-IF-ONE-IS-TRUE
- else CONDITIONAL-DIRECTIVE
- TEXT-IF-TRUE
+ else CONDITIONAL-DIRECTIVE-TWO
+ TEXT-IF-TWO-IS-TRUE
else
- TEXT-IF-FALSE
+ TEXT-IF-ONE-AND-TWO-ARE-FALSE
endif
-There can be as many "`else' CONDITIONAL-DIRECTIVE" clauses as
+There can be as many "'else' CONDITIONAL-DIRECTIVE" clauses as
necessary. Once a given condition is true, TEXT-IF-TRUE is used and no
other clause is used; if no condition is true then TEXT-IF-FALSE is
used. The TEXT-IF-TRUE and TEXT-IF-FALSE can be any number of lines of
text.
The syntax of the CONDITIONAL-DIRECTIVE is the same whether the
-conditional is simple or complex; after an `else' or not. There are
+conditional is simple or complex; after an 'else' or not. There are
four different directives that test different conditions. Here is a
table of them:
-`ifeq (ARG1, ARG2)'
-`ifeq 'ARG1' 'ARG2''
-`ifeq "ARG1" "ARG2"'
-`ifeq "ARG1" 'ARG2''
-`ifeq 'ARG1' "ARG2"'
+'ifeq (ARG1, ARG2)'
+'ifeq 'ARG1' 'ARG2''
+'ifeq "ARG1" "ARG2"'
+'ifeq "ARG1" 'ARG2''
+'ifeq 'ARG1' "ARG2"'
Expand all variable references in ARG1 and ARG2 and compare them.
If they are identical, the TEXT-IF-TRUE is effective; otherwise,
the TEXT-IF-FALSE, if any, is effective.
Often you want to test if a variable has a non-empty value. When
the value results from complex expansions of variables and
- functions, expansions you would consider empty may actually
- contain whitespace characters and thus are not seen as empty.
- However, you can use the `strip' function (*note Text Functions::)
- to avoid interpreting whitespace as a non-empty value. For
- example:
+ functions, expansions you would consider empty may actually contain
+ whitespace characters and thus are not seen as empty. However, you
+ can use the 'strip' function (*note Text Functions::) to avoid
+ interpreting whitespace as a non-empty value. For example:
ifeq ($(strip $(foo)),)
TEXT-IF-EMPTY
endif
- will evaluate TEXT-IF-EMPTY even if the expansion of `$(foo)'
+ will evaluate TEXT-IF-EMPTY even if the expansion of '$(foo)'
contains whitespace characters.
-`ifneq (ARG1, ARG2)'
-`ifneq 'ARG1' 'ARG2''
-`ifneq "ARG1" "ARG2"'
-`ifneq "ARG1" 'ARG2''
-`ifneq 'ARG1' "ARG2"'
+'ifneq (ARG1, ARG2)'
+'ifneq 'ARG1' 'ARG2''
+'ifneq "ARG1" "ARG2"'
+'ifneq "ARG1" 'ARG2''
+'ifneq 'ARG1' "ARG2"'
Expand all variable references in ARG1 and ARG2 and compare them.
If they are different, the TEXT-IF-TRUE is effective; otherwise,
the TEXT-IF-FALSE, if any, is effective.
-`ifdef VARIABLE-NAME'
- The `ifdef' form takes the _name_ of a variable as its argument,
+'ifdef VARIABLE-NAME'
+ The 'ifdef' form takes the _name_ of a variable as its argument,
not a reference to a variable. The value of that variable has a
non-empty value, the TEXT-IF-TRUE is effective; otherwise, the
TEXT-IF-FALSE, if any, is effective. Variables that have never
been defined have an empty value. The text VARIABLE-NAME is
- expanded, so it could be a variable or function that expands to
- the name of a variable. For example:
+ expanded, so it could be a variable or function that expands to the
+ name of a variable. For example:
bar = true
foo = bar
@@ -5232,16 +5489,16 @@ table of them:
frobozz = yes
endif
- The variable reference `$(foo)' is expanded, yielding `bar', which
- is considered to be the name of a variable. The variable `bar' is
+ The variable reference '$(foo)' is expanded, yielding 'bar', which
+ is considered to be the name of a variable. The variable 'bar' is
not expanded, but its value is examined to determine if it is
non-empty.
- Note that `ifdef' only tests whether a variable has a value. It
+ Note that 'ifdef' only tests whether a variable has a value. It
does not expand the variable to see if that value is nonempty.
- Consequently, tests using `ifdef' return true for all definitions
- except those like `foo ='. To test for an empty value, use
- `ifeq ($(foo),)'. For example,
+ Consequently, tests using 'ifdef' return true for all definitions
+ except those like 'foo ='. To test for an empty value, use
+ 'ifeq ($(foo),)'. For example,
bar =
foo = $(bar)
@@ -5251,7 +5508,7 @@ table of them:
frobozz = no
endif
- sets `frobozz' to `yes', while:
+ sets 'frobozz' to 'yes', while:
foo =
ifdef foo
@@ -5260,42 +5517,42 @@ table of them:
frobozz = no
endif
- sets `frobozz' to `no'.
+ sets 'frobozz' to 'no'.
-`ifndef VARIABLE-NAME'
+'ifndef VARIABLE-NAME'
If the variable VARIABLE-NAME has an empty value, the TEXT-IF-TRUE
is effective; otherwise, the TEXT-IF-FALSE, if any, is effective.
The rules for expansion and testing of VARIABLE-NAME are identical
- to the `ifdef' directive.
+ to the 'ifdef' directive.
Extra spaces are allowed and ignored at the beginning of the
conditional directive line, but a tab is not allowed. (If the line
begins with a tab, it will be considered part of a recipe for a rule.)
Aside from this, extra spaces or tabs may be inserted with no effect
anywhere except within the directive name or within an argument. A
-comment starting with `#' may appear at the end of the line.
+comment starting with '#' may appear at the end of the line.
- The other two directives that play a part in a conditional are `else'
-and `endif'. Each of these directives is written as one word, with no
+ The other two directives that play a part in a conditional are 'else'
+and 'endif'. Each of these directives is written as one word, with no
arguments. Extra spaces are allowed and ignored at the beginning of the
-line, and spaces or tabs at the end. A comment starting with `#' may
+line, and spaces or tabs at the end. A comment starting with '#' may
appear at the end of the line.
- Conditionals affect which lines of the makefile `make' uses. If the
-condition is true, `make' reads the lines of the TEXT-IF-TRUE as part
-of the makefile; if the condition is false, `make' ignores those lines
+ Conditionals affect which lines of the makefile 'make' uses. If the
+condition is true, 'make' reads the lines of the TEXT-IF-TRUE as part of
+the makefile; if the condition is false, 'make' ignores those lines
completely. It follows that syntactic units of the makefile, such as
rules, may safely be split across the beginning or the end of the
conditional.
- `make' evaluates conditionals when it reads a makefile.
+ 'make' evaluates conditionals when it reads a makefile.
Consequently, you cannot use automatic variables in the tests of
conditionals because they are not defined until recipes are run (*note
Automatic Variables::).
To prevent intolerable confusion, it is not permitted to start a
conditional in one makefile and end it in another. However, you may
-write an `include' directive within a conditional, provided you do not
+write an 'include' directive within a conditional, provided you do not
attempt to terminate the conditional inside the included file.

@@ -5304,17 +5561,17 @@ File: make.info, Node: Testing Flags, Prev: Conditional Syntax, Up: Condition
7.3 Conditionals that Test Flags
================================
-You can write a conditional that tests `make' command flags such as
-`-t' by using the variable `MAKEFLAGS' together with the `findstring'
+You can write a conditional that tests 'make' command flags such as '-t'
+by using the variable 'MAKEFLAGS' together with the 'findstring'
function (*note Functions for String Substitution and Analysis: Text
-Functions.). This is useful when `touch' is not enough to make a file
+Functions.). This is useful when 'touch' is not enough to make a file
appear up to date.
- The `findstring' function determines whether one string appears as a
-substring of another. If you want to test for the `-t' flag, use `t'
-as the first string and the value of `MAKEFLAGS' as the other.
+ The 'findstring' function determines whether one string appears as a
+substring of another. If you want to test for the '-t' flag, use 't' as
+the first string and the value of 'MAKEFLAGS' as the other.
- For example, here is how to arrange to use `ranlib -t' to finish
+ For example, here is how to arrange to use 'ranlib -t' to finish
marking an archive file up to date:
archive.a: ...
@@ -5325,9 +5582,9 @@ marking an archive file up to date:
ranlib archive.a
endif
-The `+' prefix marks those recipe lines as "recursive" so that they
-will be executed despite use of the `-t' flag. *Note Recursive Use of
-`make': Recursion.
+The '+' prefix marks those recipe lines as "recursive" so that they will
+be executed despite use of the '-t' flag. *Note Recursive Use of
+'make': Recursion.

File: make.info, Node: Functions, Next: Running, Prev: Conditionals, Up: Top
@@ -5349,13 +5606,15 @@ the point of the call, just as a variable might be substituted.
* File Name Functions:: Functions for manipulating file names.
* Conditional Functions:: Functions that implement conditions.
* Foreach Function:: Repeat some text with controlled variation.
+* File Function:: Write text to a file.
* Call Function:: Expand a user-defined function.
* Value Function:: Return the un-expanded value of a variable.
* Eval Function:: Evaluate the arguments as makefile syntax.
* Origin Function:: Find where a variable got its value.
* Flavor Function:: Find out the flavor of a variable.
-* Shell Function:: Substitute the output of a shell command.
* Make Control Functions:: Functions that control how make runs.
+* Shell Function:: Substitute the output of a shell command.
+* Guile Function:: Use GNU Guile embedded scripting language.

File: make.info, Node: Syntax of Functions, Next: Text Functions, Prev: Functions, Up: Functions
@@ -5363,7 +5622,9 @@ File: make.info, Node: Syntax of Functions, Next: Text Functions, Prev: Funct
8.1 Function Call Syntax
========================
-A function call resembles a variable reference. It looks like this:
+A function call resembles a variable reference. It can appear anywhere
+a variable reference can appear, and it is expanded using the same rules
+as variable references. A function call looks like this:
$(FUNCTION ARGUMENTS)
@@ -5372,8 +5633,8 @@ or like this:
${FUNCTION ARGUMENTS}
Here FUNCTION is a function name; one of a short list of names that
-are part of `make'. You can also essentially create your own functions
-by using the `call' builtin function.
+are part of 'make'. You can also essentially create your own functions
+by using the 'call' built-in function.
The ARGUMENTS are the arguments of the function. They are separated
from the function name by one or more spaces or tabs, and if there is
@@ -5384,32 +5645,31 @@ parentheses or braces, can appear in an argument only in matching pairs;
the other kind of delimiters may appear singly. If the arguments
themselves contain other function calls or variable references, it is
wisest to use the same kind of delimiters for all the references; write
-`$(subst a,b,$(x))', not `$(subst a,b,${x})'. This is because it is
+'$(subst a,b,$(x))', not '$(subst a,b,${x})'. This is because it is
clearer, and because only one type of delimiter is matched to find the
end of the reference.
The text written for each argument is processed by substitution of
-variables and function calls to produce the argument value, which is
-the text on which the function acts. The substitution is done in the
-order in which the arguments appear.
+variables and function calls to produce the argument value, which is the
+text on which the function acts. The substitution is done in the order
+in which the arguments appear.
Commas and unmatched parentheses or braces cannot appear in the text
of an argument as written; leading spaces cannot appear in the text of
the first argument as written. These characters can be put into the
-argument value by variable substitution. First define variables
-`comma' and `space' whose values are isolated comma and space
-characters, then substitute these variables where such characters are
-wanted, like this:
+argument value by variable substitution. First define variables 'comma'
+and 'space' whose values are isolated comma and space characters, then
+substitute these variables where such characters are wanted, like this:
comma:= ,
empty:=
space:= $(empty) $(empty)
foo:= a b c
bar:= $(subst $(space),$(comma),$(foo))
- # bar is now `a,b,c'.
+ # bar is now 'a,b,c'.
-Here the `subst' function replaces each space with a comma, through the
-value of `foo', and substitutes the result.
+Here the 'subst' function replaces each space with a comma, through the
+value of 'foo', and substitutes the result.

File: make.info, Node: Text Functions, Next: File Name Functions, Prev: Syntax of Functions, Up: Functions
@@ -5419,34 +5679,34 @@ File: make.info, Node: Text Functions, Next: File Name Functions, Prev: Synta
Here are some functions that operate on strings:
-`$(subst FROM,TO,TEXT)'
- Performs a textual replacement on the text TEXT: each occurrence
- of FROM is replaced by TO. The result is substituted for the
- function call. For example,
+'$(subst FROM,TO,TEXT)'
+ Performs a textual replacement on the text TEXT: each occurrence of
+ FROM is replaced by TO. The result is substituted for the function
+ call. For example,
$(subst ee,EE,feet on the street)
- substitutes the string `fEEt on the strEEt'.
+ substitutes the string 'fEEt on the strEEt'.
-`$(patsubst PATTERN,REPLACEMENT,TEXT)'
+'$(patsubst PATTERN,REPLACEMENT,TEXT)'
Finds whitespace-separated words in TEXT that match PATTERN and
- replaces them with REPLACEMENT. Here PATTERN may contain a `%'
+ replaces them with REPLACEMENT. Here PATTERN may contain a '%'
which acts as a wildcard, matching any number of any characters
- within a word. If REPLACEMENT also contains a `%', the `%' is
- replaced by the text that matched the `%' in PATTERN. Only the
- first `%' in the PATTERN and REPLACEMENT is treated this way; any
- subsequent `%' is unchanged.
-
- `%' characters in `patsubst' function invocations can be quoted
- with preceding backslashes (`\'). Backslashes that would
- otherwise quote `%' characters can be quoted with more backslashes.
- Backslashes that quote `%' characters or other backslashes are
+ within a word. If REPLACEMENT also contains a '%', the '%' is
+ replaced by the text that matched the '%' in PATTERN. Only the
+ first '%' in the PATTERN and REPLACEMENT is treated this way; any
+ subsequent '%' is unchanged.
+
+ '%' characters in 'patsubst' function invocations can be quoted
+ with preceding backslashes ('\'). Backslashes that would otherwise
+ quote '%' characters can be quoted with more backslashes.
+ Backslashes that quote '%' characters or other backslashes are
removed from the pattern before it is compared file names or has a
stem substituted into it. Backslashes that are not in danger of
- quoting `%' characters go unmolested. For example, the pattern
- `the\%weird\\%pattern\\' has `the%weird\' preceding the operative
- `%' character, and `pattern\\' following it. The final two
- backslashes are left alone because they cannot affect any `%'
+ quoting '%' characters go unmolested. For example, the pattern
+ 'the\%weird\\%pattern\\' has 'the%weird\' preceding the operative
+ '%' character, and 'pattern\\' following it. The final two
+ backslashes are left alone because they cannot affect any '%'
character.
Whitespace between words is folded into single space characters;
@@ -5456,11 +5716,11 @@ Here are some functions that operate on strings:
$(patsubst %.c,%.o,x.c.c bar.c)
- produces the value `x.c.o bar.o'.
+ produces the value 'x.c.o bar.o'.
Substitution references (*note Substitution References:
Substitution Refs.) are a simpler way to get the effect of the
- `patsubst' function:
+ 'patsubst' function:
$(VAR:PATTERN=REPLACEMENT)
@@ -5469,7 +5729,7 @@ Here are some functions that operate on strings:
$(patsubst PATTERN,REPLACEMENT,$(VAR))
The second shorthand simplifies one of the most common uses of
- `patsubst': replacing the suffix at the end of file names.
+ 'patsubst': replacing the suffix at the end of file names.
$(VAR:SUFFIX=REPLACEMENT)
@@ -5490,14 +5750,14 @@ Here are some functions that operate on strings:
$(patsubst %.o,%.c,$(objects))
-`$(strip STRING)'
+'$(strip STRING)'
Removes leading and trailing whitespace from STRING and replaces
each internal sequence of one or more whitespace characters with a
- single space. Thus, `$(strip a b c )' results in `a b c'.
+ single space. Thus, '$(strip a b c )' results in 'a b c'.
- The function `strip' can be very useful when used in conjunction
+ The function 'strip' can be very useful when used in conjunction
with conditionals. When comparing something with the empty string
- `' using `ifeq' or `ifneq', you usually want a string of just
+ '' using 'ifeq' or 'ifneq', you usually want a string of just
whitespace to match the empty string (*note Conditionals::).
Thus, the following may fail to have the desired results:
@@ -5509,43 +5769,43 @@ Here are some functions that operate on strings:
all:;@echo 'Nothing to make!'
endif
- Replacing the variable reference `$(needs_made)' with the function
- call `$(strip $(needs_made))' in the `ifneq' directive would make
+ Replacing the variable reference '$(needs_made)' with the function
+ call '$(strip $(needs_made))' in the 'ifneq' directive would make
it more robust.
-`$(findstring FIND,IN)'
+'$(findstring FIND,IN)'
Searches IN for an occurrence of FIND. If it occurs, the value is
FIND; otherwise, the value is empty. You can use this function in
- a conditional to test for the presence of a specific substring in
- a given string. Thus, the two examples,
+ a conditional to test for the presence of a specific substring in a
+ given string. Thus, the two examples,
$(findstring a,a b c)
$(findstring a,b c)
- produce the values `a' and `' (the empty string), respectively.
- *Note Testing Flags::, for a practical application of `findstring'.
+ produce the values 'a' and '' (the empty string), respectively.
+ *Note Testing Flags::, for a practical application of 'findstring'.
-`$(filter PATTERN...,TEXT)'
+'$(filter PATTERN...,TEXT)'
Returns all whitespace-separated words in TEXT that _do_ match any
of the PATTERN words, removing any words that _do not_ match. The
- patterns are written using `%', just like the patterns used in the
- `patsubst' function above.
+ patterns are written using '%', just like the patterns used in the
+ 'patsubst' function above.
- The `filter' function can be used to separate out different types
+ The 'filter' function can be used to separate out different types
of strings (such as file names) in a variable. For example:
sources := foo.c bar.c baz.s ugh.h
foo: $(sources)
cc $(filter %.c %.s,$(sources)) -o foo
- says that `foo' depends of `foo.c', `bar.c', `baz.s' and `ugh.h'
- but only `foo.c', `bar.c' and `baz.s' should be specified in the
+ says that 'foo' depends of 'foo.c', 'bar.c', 'baz.s' and 'ugh.h'
+ but only 'foo.c', 'bar.c' and 'baz.s' should be specified in the
command to the compiler.
-`$(filter-out PATTERN...,TEXT)'
+'$(filter-out PATTERN...,TEXT)'
Returns all whitespace-separated words in TEXT that _do not_ match
- any of the PATTERN words, removing the words that _do_ match one
- or more. This is the exact opposite of the `filter' function.
+ any of the PATTERN words, removing the words that _do_ match one or
+ more. This is the exact opposite of the 'filter' function.
For example, given:
@@ -5553,48 +5813,47 @@ Here are some functions that operate on strings:
mains=main1.o main2.o
the following generates a list which contains all the object files
- not in `mains':
+ not in 'mains':
$(filter-out $(mains),$(objects))
-`$(sort LIST)'
- Sorts the words of LIST in lexical order, removing duplicate
- words. The output is a list of words separated by single spaces.
- Thus,
+'$(sort LIST)'
+ Sorts the words of LIST in lexical order, removing duplicate words.
+ The output is a list of words separated by single spaces. Thus,
$(sort foo bar lose)
- returns the value `bar foo lose'.
+ returns the value 'bar foo lose'.
- Incidentally, since `sort' removes duplicate words, you can use it
+ Incidentally, since 'sort' removes duplicate words, you can use it
for this purpose even if you don't care about the sort order.
-`$(word N,TEXT)'
+'$(word N,TEXT)'
Returns the Nth word of TEXT. The legitimate values of N start
- from 1. If N is bigger than the number of words in TEXT, the
- value is empty. For example,
+ from 1. If N is bigger than the number of words in TEXT, the value
+ is empty. For example,
$(word 2, foo bar baz)
- returns `bar'.
+ returns 'bar'.
-`$(wordlist S,E,TEXT)'
+'$(wordlist S,E,TEXT)'
Returns the list of words in TEXT starting with word S and ending
with word E (inclusive). The legitimate values of S start from 1;
E may start from 0. If S is bigger than the number of words in
TEXT, the value is empty. If E is bigger than the number of words
- in TEXT, words up to the end of TEXT are returned. If S is
- greater than E, nothing is returned. For example,
+ in TEXT, words up to the end of TEXT are returned. If S is greater
+ than E, nothing is returned. For example,
$(wordlist 2, 3, foo bar baz)
- returns `bar baz'.
+ returns 'bar baz'.
-`$(words TEXT)'
+'$(words TEXT)'
Returns the number of words in TEXT. Thus, the last word of TEXT
- is `$(word $(words TEXT),TEXT)'.
+ is '$(word $(words TEXT),TEXT)'.
-`$(firstword NAMES...)'
+'$(firstword NAMES...)'
The argument NAMES is regarded as a series of names, separated by
whitespace. The value is the first name in the series. The rest
of the names are ignored.
@@ -5603,11 +5862,11 @@ Here are some functions that operate on strings:
$(firstword foo bar)
- produces the result `foo'. Although `$(firstword TEXT)' is the
- same as `$(word 1,TEXT)', the `firstword' function is retained for
+ produces the result 'foo'. Although '$(firstword TEXT)' is the
+ same as '$(word 1,TEXT)', the 'firstword' function is retained for
its simplicity.
-`$(lastword NAMES...)'
+'$(lastword NAMES...)'
The argument NAMES is regarded as a series of names, separated by
whitespace. The value is the last name in the series.
@@ -5615,34 +5874,34 @@ Here are some functions that operate on strings:
$(lastword foo bar)
- produces the result `bar'. Although `$(lastword TEXT)' is the
- same as `$(word $(words TEXT),TEXT)', the `lastword' function was
- added for its simplicity and better performance.
+ produces the result 'bar'. Although '$(lastword TEXT)' is the same
+ as '$(word $(words TEXT),TEXT)', the 'lastword' function was added
+ for its simplicity and better performance.
- Here is a realistic example of the use of `subst' and `patsubst'.
-Suppose that a makefile uses the `VPATH' variable to specify a list of
-directories that `make' should search for prerequisite files (*note
-`VPATH' Search Path for All Prerequisites: General Search.). This
+ Here is a realistic example of the use of 'subst' and 'patsubst'.
+Suppose that a makefile uses the 'VPATH' variable to specify a list of
+directories that 'make' should search for prerequisite files (*note
+'VPATH' Search Path for All Prerequisites: General Search.). This
example shows how to tell the C compiler to search for header files in
the same list of directories.
- The value of `VPATH' is a list of directories separated by colons,
-such as `src:../headers'. First, the `subst' function is used to
-change the colons to spaces:
+ The value of 'VPATH' is a list of directories separated by colons,
+such as 'src:../headers'. First, the 'subst' function is used to change
+the colons to spaces:
$(subst :, ,$(VPATH))
-This produces `src ../headers'. Then `patsubst' is used to turn each
-directory name into a `-I' flag. These can be added to the value of
-the variable `CFLAGS', which is passed automatically to the C compiler,
-like this:
+This produces 'src ../headers'. Then 'patsubst' is used to turn each
+directory name into a '-I' flag. These can be added to the value of the
+variable 'CFLAGS', which is passed automatically to the C compiler, like
+this:
override CFLAGS += $(patsubst %,-I%,$(subst :, ,$(VPATH)))
-The effect is to append the text `-Isrc -I../headers' to the previously
-given value of `CFLAGS'. The `override' directive is used so that the
-new value is assigned even if the previous value of `CFLAGS' was
-specified with a command argument (*note The `override' Directive:
+The effect is to append the text '-Isrc -I../headers' to the previously
+given value of 'CFLAGS'. The 'override' directive is used so that the
+new value is assigned even if the previous value of 'CFLAGS' was
+specified with a command argument (*note The 'override' Directive:
Override Directive.).

@@ -5654,27 +5913,26 @@ File: make.info, Node: File Name Functions, Next: Conditional Functions, Prev
Several of the built-in expansion functions relate specifically to
taking apart file names or lists of file names.
- Each of the following functions performs a specific transformation
-on a file name. The argument of the function is regarded as a series
-of file names, separated by whitespace. (Leading and trailing
-whitespace is ignored.) Each file name in the series is transformed in
-the same way and the results are concatenated with single spaces
-between them.
+ Each of the following functions performs a specific transformation on
+a file name. The argument of the function is regarded as a series of
+file names, separated by whitespace. (Leading and trailing whitespace
+is ignored.) Each file name in the series is transformed in the same
+way and the results are concatenated with single spaces between them.
-`$(dir NAMES...)'
+'$(dir NAMES...)'
Extracts the directory-part of each file name in NAMES. The
directory-part of the file name is everything up through (and
including) the last slash in it. If the file name contains no
- slash, the directory part is the string `./'. For example,
+ slash, the directory part is the string './'. For example,
$(dir src/foo.c hacks)
- produces the result `src/ ./'.
+ produces the result 'src/ ./'.
-`$(notdir NAMES...)'
- Extracts all but the directory-part of each file name in NAMES.
- If the file name contains no slash, it is left unchanged.
- Otherwise, everything through the last slash is removed from it.
+'$(notdir NAMES...)'
+ Extracts all but the directory-part of each file name in NAMES. If
+ the file name contains no slash, it is left unchanged. Otherwise,
+ everything through the last slash is removed from it.
A file name that ends with a slash becomes an empty string. This
is unfortunate, because it means that the result does not always
@@ -5685,9 +5943,9 @@ between them.
$(notdir src/foo.c hacks)
- produces the result `foo.c hacks'.
+ produces the result 'foo.c hacks'.
-`$(suffix NAMES...)'
+'$(suffix NAMES...)'
Extracts the suffix of each file name in NAMES. If the file name
contains a period, the suffix is everything starting with the last
period. Otherwise, the suffix is the empty string. This
@@ -5699,42 +5957,42 @@ between them.
$(suffix src/foo.c src-1.0/bar.c hacks)
- produces the result `.c .c'.
+ produces the result '.c .c'.
-`$(basename NAMES...)'
+'$(basename NAMES...)'
Extracts all but the suffix of each file name in NAMES. If the
- file name contains a period, the basename is everything starting
- up to (and not including) the last period. Periods in the
- directory part are ignored. If there is no period, the basename
- is the entire file name. For example,
+ file name contains a period, the basename is everything starting up
+ to (and not including) the last period. Periods in the directory
+ part are ignored. If there is no period, the basename is the
+ entire file name. For example,
$(basename src/foo.c src-1.0/bar hacks)
- produces the result `src/foo src-1.0/bar hacks'.
+ produces the result 'src/foo src-1.0/bar hacks'.
-`$(addsuffix SUFFIX,NAMES...)'
+'$(addsuffix SUFFIX,NAMES...)'
The argument NAMES is regarded as a series of names, separated by
whitespace; SUFFIX is used as a unit. The value of SUFFIX is
appended to the end of each individual name and the resulting
- larger names are concatenated with single spaces between them.
- For example,
+ larger names are concatenated with single spaces between them. For
+ example,
$(addsuffix .c,foo bar)
- produces the result `foo.c bar.c'.
+ produces the result 'foo.c bar.c'.
-`$(addprefix PREFIX,NAMES...)'
+'$(addprefix PREFIX,NAMES...)'
The argument NAMES is regarded as a series of names, separated by
whitespace; PREFIX is used as a unit. The value of PREFIX is
prepended to the front of each individual name and the resulting
- larger names are concatenated with single spaces between them.
- For example,
+ larger names are concatenated with single spaces between them. For
+ example,
$(addprefix src/,foo bar)
- produces the result `src/foo src/bar'.
+ produces the result 'src/foo src/bar'.
-`$(join LIST1,LIST2)'
+'$(join LIST1,LIST2)'
Concatenates the two arguments word by word: the two first words
(one from each argument) concatenated form the first word of the
result, the two second words form the second word of the result,
@@ -5742,36 +6000,36 @@ between them.
of each argument. If one argument has more words that the other,
the extra words are copied unchanged into the result.
- For example, `$(join a b,.c .o)' produces `a.c b.o'.
+ For example, '$(join a b,.c .o)' produces 'a.c b.o'.
Whitespace between the words in the lists is not preserved; it is
replaced with a single space.
- This function can merge the results of the `dir' and `notdir'
- functions, to produce the original list of files which was given
- to those two functions.
+ This function can merge the results of the 'dir' and 'notdir'
+ functions, to produce the original list of files which was given to
+ those two functions.
-`$(wildcard PATTERN)'
+'$(wildcard PATTERN)'
The argument PATTERN is a file name pattern, typically containing
wildcard characters (as in shell file name patterns). The result
- of `wildcard' is a space-separated list of the names of existing
+ of 'wildcard' is a space-separated list of the names of existing
files that match the pattern. *Note Using Wildcard Characters in
File Names: Wildcards.
-`$(realpath NAMES...)'
+'$(realpath NAMES...)'
For each file name in NAMES return the canonical absolute name. A
- canonical name does not contain any `.' or `..' components, nor
- any repeated path separators (`/') or symlinks. In case of a
- failure the empty string is returned. Consult the `realpath(3)'
+ canonical name does not contain any '.' or '..' components, nor any
+ repeated path separators ('/') or symlinks. In case of a failure
+ the empty string is returned. Consult the 'realpath(3)'
documentation for a list of possible failure causes.
-`$(abspath NAMES...)'
+'$(abspath NAMES...)'
For each file name in NAMES return an absolute name that does not
- contain any `.' or `..' components, nor any repeated path
- separators (`/'). Note that, in contrast to `realpath' function,
- `abspath' does not resolve symlinks and does not require the file
+ contain any '.' or '..' components, nor any repeated path
+ separators ('/'). Note that, in contrast to 'realpath' function,
+ 'abspath' does not resolve symlinks and does not require the file
names to refer to an existing file or directory. Use the
- `wildcard' function to test for existence.
+ 'wildcard' function to test for existence.

File: make.info, Node: Conditional Functions, Next: Foreach Function, Prev: File Name Functions, Up: Functions
@@ -5784,87 +6042,85 @@ aspect of these functions is that not all of the arguments are expanded
initially. Only those arguments which need to be expanded, will be
expanded.
-`$(if CONDITION,THEN-PART[,ELSE-PART])'
- The `if' function provides support for conditional expansion in a
- functional context (as opposed to the GNU `make' makefile
- conditionals such as `ifeq' (*note Syntax of Conditionals:
+'$(if CONDITION,THEN-PART[,ELSE-PART])'
+ The 'if' function provides support for conditional expansion in a
+ functional context (as opposed to the GNU 'make' makefile
+ conditionals such as 'ifeq' (*note Syntax of Conditionals:
Conditional Syntax.).
- The first argument, CONDITION, first has all preceding and
- trailing whitespace stripped, then is expanded. If it expands to
- any non-empty string, then the condition is considered to be true.
- If it expands to an empty string, the condition is considered to
- be false.
+ The first argument, CONDITION, first has all preceding and trailing
+ whitespace stripped, then is expanded. If it expands to any
+ non-empty string, then the condition is considered to be true. If
+ it expands to an empty string, the condition is considered to be
+ false.
If the condition is true then the second argument, THEN-PART, is
evaluated and this is used as the result of the evaluation of the
- entire `if' function.
+ entire 'if' function.
If the condition is false then the third argument, ELSE-PART, is
- evaluated and this is the result of the `if' function. If there is
- no third argument, the `if' function evaluates to nothing (the
+ evaluated and this is the result of the 'if' function. If there is
+ no third argument, the 'if' function evaluates to nothing (the
empty string).
Note that only one of the THEN-PART or the ELSE-PART will be
- evaluated, never both. Thus, either can contain side-effects
- (such as `shell' function calls, etc.)
+ evaluated, never both. Thus, either can contain side-effects (such
+ as 'shell' function calls, etc.)
-`$(or CONDITION1[,CONDITION2[,CONDITION3...]])'
- The `or' function provides a "short-circuiting" OR operation.
- Each argument is expanded, in order. If an argument expands to a
+'$(or CONDITION1[,CONDITION2[,CONDITION3...]])'
+ The 'or' function provides a "short-circuiting" OR operation. Each
+ argument is expanded, in order. If an argument expands to a
non-empty string the processing stops and the result of the
expansion is that string. If, after all arguments are expanded,
all of them are false (empty), then the result of the expansion is
the empty string.
-`$(and CONDITION1[,CONDITION2[,CONDITION3...]])'
- The `and' function provides a "short-circuiting" AND operation.
+'$(and CONDITION1[,CONDITION2[,CONDITION3...]])'
+ The 'and' function provides a "short-circuiting" AND operation.
Each argument is expanded, in order. If an argument expands to an
empty string the processing stops and the result of the expansion
- is the empty string. If all arguments expand to a non-empty
- string then the result of the expansion is the expansion of the
- last argument.
-
+ is the empty string. If all arguments expand to a non-empty string
+ then the result of the expansion is the expansion of the last
+ argument.

-File: make.info, Node: Foreach Function, Next: Call Function, Prev: Conditional Functions, Up: Functions
+File: make.info, Node: Foreach Function, Next: File Function, Prev: Conditional Functions, Up: Functions
-8.5 The `foreach' Function
+8.5 The 'foreach' Function
==========================
-The `foreach' function is very different from other functions. It
+The 'foreach' function is very different from other functions. It
causes one piece of text to be used repeatedly, each time with a
-different substitution performed on it. It resembles the `for' command
-in the shell `sh' and the `foreach' command in the C-shell `csh'.
+different substitution performed on it. It resembles the 'for' command
+in the shell 'sh' and the 'foreach' command in the C-shell 'csh'.
- The syntax of the `foreach' function is:
+ The syntax of the 'foreach' function is:
$(foreach VAR,LIST,TEXT)
-The first two arguments, VAR and LIST, are expanded before anything
-else is done; note that the last argument, TEXT, is *not* expanded at
-the same time. Then for each word of the expanded value of LIST, the
+The first two arguments, VAR and LIST, are expanded before anything else
+is done; note that the last argument, TEXT, is *not* expanded at the
+same time. Then for each word of the expanded value of LIST, the
variable named by the expanded value of VAR is set to that word, and
-TEXT is expanded. Presumably TEXT contains references to that
-variable, so its expansion will be different each time.
+TEXT is expanded. Presumably TEXT contains references to that variable,
+so its expansion will be different each time.
The result is that TEXT is expanded as many times as there are
-whitespace-separated words in LIST. The multiple expansions of TEXT
-are concatenated, with spaces between them, to make the result of
-`foreach'.
+whitespace-separated words in LIST. The multiple expansions of TEXT are
+concatenated, with spaces between them, to make the result of 'foreach'.
- This simple example sets the variable `files' to the list of all
-files in the directories in the list `dirs':
+ This simple example sets the variable 'files' to the list of all
+files in the directories in the list 'dirs':
dirs := a b c d
files := $(foreach dir,$(dirs),$(wildcard $(dir)/*))
- Here TEXT is `$(wildcard $(dir)/*)'. The first repetition finds the
-value `a' for `dir', so it produces the same result as `$(wildcard
-a/*)'; the second repetition produces the result of `$(wildcard b/*)';
-and the third, that of `$(wildcard c/*)'.
+ Here TEXT is '$(wildcard $(dir)/*)'. The first repetition finds the
+value 'a' for 'dir', so it produces the same result as '$(wildcard
+a/*)'; the second repetition produces the result of '$(wildcard b/*)';
+and the third, that of '$(wildcard c/*)'.
- This example has the same result (except for setting `dirs') as the
+ This example has the same result (except for setting 'dirs') as the
following example:
files := $(wildcard a/* b/* c/* d/*)
@@ -5876,18 +6132,18 @@ name, with an additional variable:
dirs := a b c d
files := $(foreach dir,$(dirs),$(find_files))
-Here we use the variable `find_files' this way. We use plain `=' to
+Here we use the variable 'find_files' this way. We use plain '=' to
define a recursively-expanding variable, so that its value contains an
-actual function call to be reexpanded under the control of `foreach'; a
-simply-expanded variable would not do, since `wildcard' would be called
-only once at the time of defining `find_files'.
-
- The `foreach' function has no permanent effect on the variable VAR;
-its value and flavor after the `foreach' function call are the same as
-they were beforehand. The other values which are taken from LIST are
-in effect only temporarily, during the execution of `foreach'. The
+actual function call to be re-expanded under the control of 'foreach'; a
+simply-expanded variable would not do, since 'wildcard' would be called
+only once at the time of defining 'find_files'.
+
+ The 'foreach' function has no permanent effect on the variable VAR;
+its value and flavor after the 'foreach' function call are the same as
+they were beforehand. The other values which are taken from LIST are in
+effect only temporarily, during the execution of 'foreach'. The
variable VAR is a simply-expanded variable during the execution of
-`foreach'. If VAR was undefined before the `foreach' function call, it
+'foreach'. If VAR was undefined before the 'foreach' function call, it
is undefined after the call. *Note The Two Flavors of Variables:
Flavors.
@@ -5895,49 +6151,99 @@ Flavors.
result in variable names because many strange things are valid variable
names, but are probably not what you intended. For example,
- files := $(foreach Esta escrito en espanol!,b c ch,$(find_files))
+ files := $(foreach Esta-escrito-en-espanol!,b c ch,$(find_files))
-might be useful if the value of `find_files' references the variable
-whose name is `Esta escrito en espanol!' (es un nombre bastante largo,
+might be useful if the value of 'find_files' references the variable
+whose name is 'Esta-escrito-en-espanol!' (es un nombre bastante largo,
no?), but it is more likely to be a mistake.

-File: make.info, Node: Call Function, Next: Value Function, Prev: Foreach Function, Up: Functions
+File: make.info, Node: File Function, Next: Call Function, Prev: Foreach Function, Up: Functions
-8.6 The `call' Function
+8.6 The 'file' Function
=======================
-The `call' function is unique in that it can be used to create new
+The 'file' function allows the makefile to write to a file. Two modes
+of writing are supported: overwrite, where the text is written to the
+beginning of the file and any existing content is lost, and append,
+where the text is written to the end of the file, preserving the
+existing content. In all cases the file is created if it does not
+exist.
+
+ The syntax of the 'file' function is:
+
+ $(file OP FILENAME[,TEXT])
+
+ The operator OP can be either '>' which indicates overwrite mode, or
+'>>' which indicates append mode. The FILENAME indicates the file to be
+written to. There may optionally be whitespace between the operator and
+the file name.
+
+ When the 'file' function is expanded all its arguments are expanded
+first, then the file indicated by FILENAME will be opened in the mode
+described by OP. Finally TEXT will be written to the file. If TEXT
+does not already end in a newline, even if empty, a final newline will
+be written. If the TEXT argument is not given, nothing will be written.
+The result of evaluating the 'file' function is always the empty string.
+
+ It is a fatal error if the file cannot be opened for writing, or if
+the write operation fails.
+
+ For example, the 'file' function can be useful if your build system
+has a limited command line size and your recipe runs a command that can
+accept arguments from a file as well. Many commands use the convention
+that an argument prefixed with an '@' specifies a file containing more
+arguments. Then you might write your recipe in this way:
+
+ program: $(OBJECTS)
+ $(file >$@.in,$^)
+ $(CMD) $(CMDFLAGS) @$@.in
+ @rm $@.in
+
+ If the command required each argument to be on a separate line of the
+input file, you might write your recipe like this:
+
+ program: $(OBJECTS)
+ $(file >$@.in) $(foreach O,$^,$(file >>$@.in,$O))
+ $(CMD) $(CMDFLAGS) @$@.in
+ @rm $@.in
+
+
+File: make.info, Node: Call Function, Next: Value Function, Prev: File Function, Up: Functions
+
+8.7 The 'call' Function
+=======================
+
+The 'call' function is unique in that it can be used to create new
parameterized functions. You can write a complex expression as the
-value of a variable, then use `call' to expand it with different values.
+value of a variable, then use 'call' to expand it with different values.
- The syntax of the `call' function is:
+ The syntax of the 'call' function is:
$(call VARIABLE,PARAM,PARAM,...)
- When `make' expands this function, it assigns each PARAM to
-temporary variables `$(1)', `$(2)', etc. The variable `$(0)' will
-contain VARIABLE. There is no maximum number of parameter arguments.
-There is no minimum, either, but it doesn't make sense to use `call'
-with no parameters.
+ When 'make' expands this function, it assigns each PARAM to temporary
+variables '$(1)', '$(2)', etc. The variable '$(0)' will contain
+VARIABLE. There is no maximum number of parameter arguments. There is
+no minimum, either, but it doesn't make sense to use 'call' with no
+parameters.
- Then VARIABLE is expanded as a `make' variable in the context of
-these temporary assignments. Thus, any reference to `$(1)' in the
-value of VARIABLE will resolve to the first PARAM in the invocation of
-`call'.
+ Then VARIABLE is expanded as a 'make' variable in the context of
+these temporary assignments. Thus, any reference to '$(1)' in the value
+of VARIABLE will resolve to the first PARAM in the invocation of 'call'.
Note that VARIABLE is the _name_ of a variable, not a _reference_ to
-that variable. Therefore you would not normally use a `$' or
+that variable. Therefore you would not normally use a '$' or
parentheses when writing it. (You can, however, use a variable
reference in the name if you want the name not to be a constant.)
- If VARIABLE is the name of a builtin function, the builtin function
-is always invoked (even if a `make' variable by that name also exists).
+ If VARIABLE is the name of a built-in function, the built-in function
+is always invoked (even if a 'make' variable by that name also exists).
- The `call' function expands the PARAM arguments before assigning
-them to temporary variables. This means that VARIABLE values
-containing references to builtin functions that have special expansion
-rules, like `foreach' or `if', may not work as you expect.
+ The 'call' function expands the PARAM arguments before assigning them
+to temporary variables. This means that VARIABLE values containing
+references to built-in functions that have special expansion rules, like
+'foreach' or 'if', may not work as you expect.
Some examples may make this clearer.
@@ -5947,56 +6253,56 @@ rules, like `foreach' or `if', may not work as you expect.
foo = $(call reverse,a,b)
-Here FOO will contain `b a'.
+Here FOO will contain 'b a'.
This one is slightly more interesting: it defines a macro to search
-for the first instance of a program in `PATH':
+for the first instance of a program in 'PATH':
pathsearch = $(firstword $(wildcard $(addsuffix /$(1),$(subst :, ,$(PATH)))))
LS := $(call pathsearch,ls)
-Now the variable LS contains `/bin/ls' or similar.
+Now the variable LS contains '/bin/ls' or similar.
- The `call' function can be nested. Each recursive invocation gets
-its own local values for `$(1)', etc. that mask the values of
-higher-level `call'. For example, here is an implementation of a "map"
+ The 'call' function can be nested. Each recursive invocation gets
+its own local values for '$(1)', etc. that mask the values of
+higher-level 'call'. For example, here is an implementation of a "map"
function:
map = $(foreach a,$(2),$(call $(1),$(a)))
Now you can MAP a function that normally takes only one argument,
-such as `origin', to multiple values in one step:
+such as 'origin', to multiple values in one step:
o = $(call map,origin,o map MAKE)
- and end up with O containing something like `file file default'.
+ and end up with O containing something like 'file file default'.
A final caution: be careful when adding whitespace to the arguments
-to `call'. As with other functions, any whitespace contained in the
-second and subsequent arguments is kept; this can cause strange
-effects. It's generally safest to remove all extraneous whitespace when
-providing parameters to `call'.
+to 'call'. As with other functions, any whitespace contained in the
+second and subsequent arguments is kept; this can cause strange effects.
+It's generally safest to remove all extraneous whitespace when providing
+parameters to 'call'.

File: make.info, Node: Value Function, Next: Eval Function, Prev: Call Function, Up: Functions
-8.7 The `value' Function
+8.8 The 'value' Function
========================
-The `value' function provides a way for you to use the value of a
+The 'value' function provides a way for you to use the value of a
variable _without_ having it expanded. Please note that this does not
-undo expansions which have already occurred; for example if you create
-a simply expanded variable its value is expanded during the definition;
-in that case the `value' function will return the same result as using
-the variable directly.
+undo expansions which have already occurred; for example if you create a
+simply expanded variable its value is expanded during the definition; in
+that case the 'value' function will return the same result as using the
+variable directly.
- The syntax of the `value' function is:
+ The syntax of the 'value' function is:
$(value VARIABLE)
- Note that VARIABLE is the _name_ of a variable; not a _reference_ to
-that variable. Therefore you would not normally use a `$' or
+ Note that VARIABLE is the _name_ of a variable, not a _reference_ to
+that variable. Therefore you would not normally use a '$' or
parentheses when writing it. (You can, however, use a variable
reference in the name if you want the name not to be a constant.)
@@ -6010,44 +6316,44 @@ makefile:
@echo $(FOO)
@echo $(value FOO)
-The first output line would be `ATH', since the "$P" would be expanded
-as a `make' variable, while the second output line would be the current
-value of your `$PATH' environment variable, since the `value' function
+The first output line would be 'ATH', since the "$P" would be expanded
+as a 'make' variable, while the second output line would be the current
+value of your '$PATH' environment variable, since the 'value' function
avoided the expansion.
- The `value' function is most often used in conjunction with the
-`eval' function (*note Eval Function::).
+ The 'value' function is most often used in conjunction with the
+'eval' function (*note Eval Function::).

File: make.info, Node: Eval Function, Next: Origin Function, Prev: Value Function, Up: Functions
-8.8 The `eval' Function
+8.9 The 'eval' Function
=======================
-The `eval' function is very special: it allows you to define new
+The 'eval' function is very special: it allows you to define new
makefile constructs that are not constant; which are the result of
-evaluating other variables and functions. The argument to the `eval'
+evaluating other variables and functions. The argument to the 'eval'
function is expanded, then the results of that expansion are parsed as
-makefile syntax. The expanded results can define new `make' variables,
+makefile syntax. The expanded results can define new 'make' variables,
targets, implicit or explicit rules, etc.
- The result of the `eval' function is always the empty string; thus,
-it can be placed virtually anywhere in a makefile without causing
-syntax errors.
+ The result of the 'eval' function is always the empty string; thus,
+it can be placed virtually anywhere in a makefile without causing syntax
+errors.
- It's important to realize that the `eval' argument is expanded
-_twice_; first by the `eval' function, then the results of that
+ It's important to realize that the 'eval' argument is expanded
+_twice_; first by the 'eval' function, then the results of that
expansion are expanded again when they are parsed as makefile syntax.
This means you may need to provide extra levels of escaping for "$"
-characters when using `eval'. The `value' function (*note Value
+characters when using 'eval'. The 'value' function (*note Value
Function::) can sometimes be useful in these situations, to circumvent
unwanted expansions.
- Here is an example of how `eval' can be used; this example combines
-a number of concepts and other functions. Although it might seem
-overly complex to use `eval' in this example, rather than just writing
-out the rules, consider two things: first, the template definition (in
-`PROGRAM_template') could need to be much more complex than it is here;
+ Here is an example of how 'eval' can be used; this example combines a
+number of concepts and other functions. Although it might seem overly
+complex to use 'eval' in this example, rather than just writing out the
+rules, consider two things: first, the template definition (in
+'PROGRAM_template') could need to be much more complex than it is here;
and second, you might put the complex, "generic" part of this example
into another makefile, then include it in all the individual makefiles.
Now your individual makefiles are quite straightforward.
@@ -6081,68 +6387,76 @@ Now your individual makefiles are quite straightforward.

File: make.info, Node: Origin Function, Next: Flavor Function, Prev: Eval Function, Up: Functions
-8.9 The `origin' Function
-=========================
+8.10 The 'origin' Function
+==========================
-The `origin' function is unlike most other functions in that it does
-not operate on the values of variables; it tells you something _about_
-a variable. Specifically, it tells you where it came from.
+The 'origin' function is unlike most other functions in that it does not
+operate on the values of variables; it tells you something _about_ a
+variable. Specifically, it tells you where it came from.
- The syntax of the `origin' function is:
+ The syntax of the 'origin' function is:
$(origin VARIABLE)
- Note that VARIABLE is the _name_ of a variable to inquire about; not
+ Note that VARIABLE is the _name_ of a variable to inquire about, not
a _reference_ to that variable. Therefore you would not normally use a
-`$' or parentheses when writing it. (You can, however, use a variable
+'$' or parentheses when writing it. (You can, however, use a variable
reference in the name if you want the name not to be a constant.)
The result of this function is a string telling you how the variable
VARIABLE was defined:
-`undefined'
+'undefined'
+
if VARIABLE was never defined.
-`default'
- if VARIABLE has a default definition, as is usual with `CC' and so
+'default'
+
+ if VARIABLE has a default definition, as is usual with 'CC' and so
on. *Note Variables Used by Implicit Rules: Implicit Variables.
- Note that if you have redefined a default variable, the `origin'
+ Note that if you have redefined a default variable, the 'origin'
function will return the origin of the later definition.
-`environment'
- if VARIABLE was inherited from the environment provided to `make'.
+'environment'
+
+ if VARIABLE was inherited from the environment provided to 'make'.
+
+'environment override'
-`environment override'
- if VARIABLE was inherited from the environment provided to `make',
+ if VARIABLE was inherited from the environment provided to 'make',
and is overriding a setting for VARIABLE in the makefile as a
- result of the `-e' option (*note Summary of Options: Options
+ result of the '-e' option (*note Summary of Options: Options
Summary.).
-`file'
+'file'
+
if VARIABLE was defined in a makefile.
-`command line'
+'command line'
+
if VARIABLE was defined on the command line.
-`override'
- if VARIABLE was defined with an `override' directive in a makefile
- (*note The `override' Directive: Override Directive.).
+'override'
+
+ if VARIABLE was defined with an 'override' directive in a makefile
+ (*note The 'override' Directive: Override Directive.).
+
+'automatic'
-`automatic'
if VARIABLE is an automatic variable defined for the execution of
the recipe for each rule (*note Automatic Variables::).
This information is primarily useful (other than for your curiosity)
to determine if you want to believe the value of a variable. For
-example, suppose you have a makefile `foo' that includes another
-makefile `bar'. You want a variable `bletch' to be defined in `bar' if
-you run the command `make -f bar', even if the environment contains a
-definition of `bletch'. However, if `foo' defined `bletch' before
-including `bar', you do not want to override that definition. This
-could be done by using an `override' directive in `foo', giving that
-definition precedence over the later definition in `bar';
-unfortunately, the `override' directive would also override any command
-line definitions. So, `bar' could include:
+example, suppose you have a makefile 'foo' that includes another
+makefile 'bar'. You want a variable 'bletch' to be defined in 'bar' if
+you run the command 'make -f bar', even if the environment contains a
+definition of 'bletch'. However, if 'foo' defined 'bletch' before
+including 'bar', you do not want to override that definition. This
+could be done by using an 'override' directive in 'foo', giving that
+definition precedence over the later definition in 'bar'; unfortunately,
+the 'override' directive would also override any command line
+definitions. So, 'bar' could include:
ifdef bletch
ifeq "$(origin bletch)" "environment"
@@ -6150,93 +6464,57 @@ line definitions. So, `bar' could include:
endif
endif
-If `bletch' has been defined from the environment, this will redefine
+If 'bletch' has been defined from the environment, this will redefine
it.
- If you want to override a previous definition of `bletch' if it came
-from the environment, even under `-e', you could instead write:
+ If you want to override a previous definition of 'bletch' if it came
+from the environment, even under '-e', you could instead write:
ifneq "$(findstring environment,$(origin bletch))" ""
bletch = barf, gag, etc.
endif
- Here the redefinition takes place if `$(origin bletch)' returns
-either `environment' or `environment override'. *Note Functions for
+ Here the redefinition takes place if '$(origin bletch)' returns
+either 'environment' or 'environment override'. *Note Functions for
String Substitution and Analysis: Text Functions.

-File: make.info, Node: Flavor Function, Next: Shell Function, Prev: Origin Function, Up: Functions
+File: make.info, Node: Flavor Function, Next: Make Control Functions, Prev: Origin Function, Up: Functions
-8.10 The `flavor' Function
+8.11 The 'flavor' Function
==========================
-The `flavor' function is unlike most other functions (and like `origin'
-function) in that it does not operate on the values of variables; it
-tells you something _about_ a variable. Specifically, it tells you the
-flavor of a variable (*note The Two Flavors of Variables: Flavors.).
+The 'flavor' function, like the 'origin' function, does not operate on
+the values of variables but rather it tells you something _about_ a
+variable. Specifically, it tells you the flavor of a variable (*note
+The Two Flavors of Variables: Flavors.).
- The syntax of the `flavor' function is:
+ The syntax of the 'flavor' function is:
$(flavor VARIABLE)
- Note that VARIABLE is the _name_ of a variable to inquire about; not
+ Note that VARIABLE is the _name_ of a variable to inquire about, not
a _reference_ to that variable. Therefore you would not normally use a
-`$' or parentheses when writing it. (You can, however, use a variable
+'$' or parentheses when writing it. (You can, however, use a variable
reference in the name if you want the name not to be a constant.)
- The result of this function is a string that identifies the flavor
-of the variable VARIABLE:
+ The result of this function is a string that identifies the flavor of
+the variable VARIABLE:
-`undefined'
- if VARIABLE was never defined.
-
-`recursive'
- if VARIABLE is a recursively expanded variable.
+'undefined'
-`simple'
- if VARIABLE is a simply expanded variable.
-
-
-
-File: make.info, Node: Shell Function, Next: Make Control Functions, Prev: Flavor Function, Up: Functions
-
-8.11 The `shell' Function
-=========================
-
-The `shell' function is unlike any other function other than the
-`wildcard' function (*note The Function `wildcard': Wildcard Function.)
-in that it communicates with the world outside of `make'.
-
- The `shell' function performs the same function that backquotes
-(``') perform in most shells: it does "command expansion". This means
-that it takes as an argument a shell command and evaluates to the
-output of the command. The only processing `make' does on the result
-is to convert each newline (or carriage-return / newline pair) to a
-single space. If there is a trailing (carriage-return and) newline it
-will simply be removed.
-
- The commands run by calls to the `shell' function are run when the
-function calls are expanded (*note How `make' Reads a Makefile: Reading
-Makefiles.). Because this function involves spawning a new shell, you
-should carefully consider the performance implications of using the
-`shell' function within recursively expanded variables vs. simply
-expanded variables (*note The Two Flavors of Variables: Flavors.).
-
- Here are some examples of the use of the `shell' function:
+ if VARIABLE was never defined.
- contents := $(shell cat foo)
+'recursive'
-sets `contents' to the contents of the file `foo', with a space (rather
-than a newline) separating each line.
+ if VARIABLE is a recursively expanded variable.
- files := $(shell echo *.c)
+'simple'
-sets `files' to the expansion of `*.c'. Unless `make' is using a very
-strange shell, this has the same result as `$(wildcard *.c)' (as long
-as at least one `.c' file exists).
+ if VARIABLE is a simply expanded variable.

-File: make.info, Node: Make Control Functions, Prev: Shell Function, Up: Functions
+File: make.info, Node: Make Control Functions, Next: Shell Function, Prev: Flavor Function, Up: Functions
8.12 Functions That Control Make
================================
@@ -6245,12 +6523,12 @@ These functions control the way make runs. Generally, they are used to
provide information to the user of the makefile or to cause make to stop
if some sort of environmental error is detected.
-`$(error TEXT...)'
+'$(error TEXT...)'
Generates a fatal error where the message is TEXT. Note that the
- error is generated whenever this function is evaluated. So, if
- you put it inside a recipe or on the right side of a recursive
- variable assignment, it won't be evaluated until later. The TEXT
- will be expanded before the error is generated.
+ error is generated whenever this function is evaluated. So, if you
+ put it inside a recipe or on the right side of a recursive variable
+ assignment, it won't be evaluated until later. The TEXT will be
+ expanded before the error is generated.
For example,
@@ -6259,58 +6537,111 @@ if some sort of environmental error is detected.
endif
will generate a fatal error during the read of the makefile if the
- `make' variable `ERROR1' is defined. Or,
+ 'make' variable 'ERROR1' is defined. Or,
ERR = $(error found an error!)
.PHONY: err
err: ; $(ERR)
- will generate a fatal error while `make' is running, if the `err'
+ will generate a fatal error while 'make' is running, if the 'err'
target is invoked.
-`$(warning TEXT...)'
- This function works similarly to the `error' function, above,
- except that `make' doesn't exit. Instead, TEXT is expanded and
- the resulting message is displayed, but processing of the makefile
+'$(warning TEXT...)'
+ This function works similarly to the 'error' function, above,
+ except that 'make' doesn't exit. Instead, TEXT is expanded and the
+ resulting message is displayed, but processing of the makefile
continues.
The result of the expansion of this function is the empty string.
-`$(info TEXT...)'
+'$(info TEXT...)'
This function does nothing more than print its (expanded)
- argument(s) to standard output. No makefile name or line number
- is added. The result of the expansion of this function is the
- empty string.
+ argument(s) to standard output. No makefile name or line number is
+ added. The result of the expansion of this function is the empty
+ string.
+
+
+File: make.info, Node: Shell Function, Next: Guile Function, Prev: Make Control Functions, Up: Functions
+
+8.13 The 'shell' Function
+=========================
+
+The 'shell' function is unlike any other function other than the
+'wildcard' function (*note The Function 'wildcard': Wildcard Function.)
+in that it communicates with the world outside of 'make'.
+
+ The 'shell' function performs the same function that backquotes ('`')
+perform in most shells: it does "command expansion". This means that it
+takes as an argument a shell command and evaluates to the output of the
+command. The only processing 'make' does on the result is to convert
+each newline (or carriage-return / newline pair) to a single space. If
+there is a trailing (carriage-return and) newline it will simply be
+removed.
+
+ The commands run by calls to the 'shell' function are run when the
+function calls are expanded (*note How 'make' Reads a Makefile: Reading
+Makefiles.). Because this function involves spawning a new shell, you
+should carefully consider the performance implications of using the
+'shell' function within recursively expanded variables vs. simply
+expanded variables (*note The Two Flavors of Variables: Flavors.).
+
+ Here are some examples of the use of the 'shell' function:
+
+ contents := $(shell cat foo)
+
+sets 'contents' to the contents of the file 'foo', with a space (rather
+than a newline) separating each line.
+
+ files := $(shell echo *.c)
+
+sets 'files' to the expansion of '*.c'. Unless 'make' is using a very
+strange shell, this has the same result as '$(wildcard *.c)' (as long as
+at least one '.c' file exists).
+
+
+File: make.info, Node: Guile Function, Prev: Shell Function, Up: Functions
+
+8.14 The 'guile' Function
+=========================
+
+If GNU 'make' is built with support for GNU Guile as an embedded
+extension language then the 'guile' function will be available. The
+'guile' function takes one argument which is first expanded by 'make' in
+the normal fashion, then passed to the GNU Guile evaluator. The result
+of the evaluator is converted into a string and used as the expansion of
+the 'guile' function in the makefile. See *note GNU Guile Integration:
+Guile Integration. for details on writing extensions to 'make' in Guile.
+
+ You can determine whether GNU Guile support is available by checking
+the '.FEATURES' variable for the word GUILE.

File: make.info, Node: Running, Next: Implicit Rules, Prev: Functions, Up: Top
-9 How to Run `make'
+9 How to Run 'make'
*******************
-A makefile that says how to recompile a program can be used in more
-than one way. The simplest use is to recompile every file that is out
-of date. Usually, makefiles are written so that if you run `make' with
-no arguments, it does just that.
+A makefile that says how to recompile a program can be used in more than
+one way. The simplest use is to recompile every file that is out of
+date. Usually, makefiles are written so that if you run 'make' with no
+arguments, it does just that.
But you might want to update only some of the files; you might want
to use a different compiler or different compiler options; you might
want just to find out which files are out of date without changing them.
- By giving arguments when you run `make', you can do any of these
+ By giving arguments when you run 'make', you can do any of these
things and many others.
- The exit status of `make' is always one of three values:
-`0'
- The exit status is zero if `make' is successful.
-
-`2'
- The exit status is two if `make' encounters any errors. It will
+ The exit status of 'make' is always one of three values:
+'0'
+ The exit status is zero if 'make' is successful.
+'2'
+ The exit status is two if 'make' encounters any errors. It will
print messages describing the particular errors.
-
-`1'
- The exit status is one if you use the `-q' flag and `make'
+'1'
+ The exit status is one if you use the '-q' flag and 'make'
determines that some target is not already up to date. *Note
Instead of Executing Recipes: Instead of Execution.
@@ -6336,15 +6667,15 @@ File: make.info, Node: Makefile Arguments, Next: Goals, Prev: Running, Up: R
9.1 Arguments to Specify the Makefile
=====================================
-The way to specify the name of the makefile is with the `-f' or
-`--file' option (`--makefile' also works). For example, `-f altmake'
-says to use the file `altmake' as the makefile.
+The way to specify the name of the makefile is with the '-f' or '--file'
+option ('--makefile' also works). For example, '-f altmake' says to use
+the file 'altmake' as the makefile.
- If you use the `-f' flag several times and follow each `-f' with an
+ If you use the '-f' flag several times and follow each '-f' with an
argument, all the specified files are used jointly as makefiles.
- If you do not use the `-f' or `--file' flag, the default is to try
-`GNUmakefile', `makefile', and `Makefile', in that order, and use the
+ If you do not use the '-f' or '--file' flag, the default is to try
+'GNUmakefile', 'makefile', and 'Makefile', in that order, and use the
first of these three which exists or can be made (*note Writing
Makefiles: Makefiles.).
@@ -6354,7 +6685,7 @@ File: make.info, Node: Goals, Next: Instead of Execution, Prev: Makefile Argu
9.2 Arguments to Specify the Goals
==================================
-The "goals" are the targets that `make' should strive ultimately to
+The "goals" are the targets that 'make' should strive ultimately to
update. Other targets are updated as well if they appear as
prerequisites of goals, or prerequisites of prerequisites of goals, etc.
@@ -6364,28 +6695,28 @@ usually written so that the first target is for compiling the entire
program or programs they describe. If the first rule in the makefile
has several targets, only the first target in the rule becomes the
default goal, not the whole list. You can manage the selection of the
-default goal from within your makefile using the `.DEFAULT_GOAL'
+default goal from within your makefile using the '.DEFAULT_GOAL'
variable (*note Other Special Variables: Special Variables.).
You can also specify a different goal or goals with command line
-arguments to `make'. Use the name of the goal as an argument. If you
-specify several goals, `make' processes each of them in turn, in the
+arguments to 'make'. Use the name of the goal as an argument. If you
+specify several goals, 'make' processes each of them in turn, in the
order you name them.
Any target in the makefile may be specified as a goal (unless it
-starts with `-' or contains an `=', in which case it will be parsed as
-a switch or variable definition, respectively). Even targets not in
-the makefile may be specified, if `make' can find implicit rules that
-say how to make them.
+starts with '-' or contains an '=', in which case it will be parsed as a
+switch or variable definition, respectively). Even targets not in the
+makefile may be specified, if 'make' can find implicit rules that say
+how to make them.
- `Make' will set the special variable `MAKECMDGOALS' to the list of
+ 'Make' will set the special variable 'MAKECMDGOALS' to the list of
goals you specified on the command line. If no goals were given on the
-command line, this variable is empty. Note that this variable should
-be used only in special circumstances.
+command line, this variable is empty. Note that this variable should be
+used only in special circumstances.
- An example of appropriate use is to avoid including `.d' files
-during `clean' rules (*note Automatic Prerequisites::), so `make' won't
-create them only to immediately remove them again:
+ An example of appropriate use is to avoid including '.d' files during
+'clean' rules (*note Automatic Prerequisites::), so 'make' won't create
+them only to immediately remove them again:
sources = foo.c bar.c
@@ -6401,68 +6732,68 @@ containing several programs, with a makefile that starts like this:
.PHONY: all
all: size nm ld ar as
- If you are working on the program `size', you might want to say
-`make size' so that only the files of that program are recompiled.
+ If you are working on the program 'size', you might want to say 'make size'
+so that only the files of that program are recompiled.
Another use of specifying a goal is to make files that are not
-normally made. For example, there may be a file of debugging output,
-or a version of the program that is compiled specially for testing,
-which has a rule in the makefile but is not a prerequisite of the
-default goal.
+normally made. For example, there may be a file of debugging output, or
+a version of the program that is compiled specially for testing, which
+has a rule in the makefile but is not a prerequisite of the default
+goal.
Another use of specifying a goal is to run the recipe associated with
a phony target (*note Phony Targets::) or empty target (*note Empty
Target Files to Record Events: Empty Targets.). Many makefiles contain
-a phony target named `clean' which deletes everything except source
+a phony target named 'clean' which deletes everything except source
files. Naturally, this is done only if you request it explicitly with
-`make clean'. Following is a list of typical phony and empty target
+'make clean'. Following is a list of typical phony and empty target
names. *Note Standard Targets::, for a detailed list of all the
standard target names which GNU software packages use.
-`all'
+'all'
Make all the top-level targets the makefile knows about.
-`clean'
- Delete all files that are normally created by running `make'.
+'clean'
+ Delete all files that are normally created by running 'make'.
-`mostlyclean'
- Like `clean', but may refrain from deleting a few files that people
- normally don't want to recompile. For example, the `mostlyclean'
- target for GCC does not delete `libgcc.a', because recompiling it
+'mostlyclean'
+ Like 'clean', but may refrain from deleting a few files that people
+ normally don't want to recompile. For example, the 'mostlyclean'
+ target for GCC does not delete 'libgcc.a', because recompiling it
is rarely necessary and takes a lot of time.
-`distclean'
-`realclean'
-`clobber'
+'distclean'
+'realclean'
+'clobber'
Any of these targets might be defined to delete _more_ files than
- `clean' does. For example, this would delete configuration files
+ 'clean' does. For example, this would delete configuration files
or links that you would normally create as preparation for
compilation, even if the makefile itself cannot create these files.
-`install'
+'install'
Copy the executable file into a directory that users typically
search for commands; copy any auxiliary files that the executable
uses into the directories where it will look for them.
-`print'
+'print'
Print listings of the source files that have changed.
-`tar'
+'tar'
Create a tar file of the source files.
-`shar'
+'shar'
Create a shell archive (shar file) of the source files.
-`dist'
+'dist'
Create a distribution file of the source files. This might be a
tar file, or a shar file, or a compressed version of one of the
above, or even more than one of the above.
-`TAGS'
+'TAGS'
Update a tags table for this program.
-`check'
-`test'
+'check'
+'test'
Perform self tests on the program this makefile builds.

@@ -6471,85 +6802,92 @@ File: make.info, Node: Instead of Execution, Next: Avoiding Compilation, Prev
9.3 Instead of Executing Recipes
================================
-The makefile tells `make' how to tell whether a target is up to date,
+The makefile tells 'make' how to tell whether a target is up to date,
and how to update each target. But updating the targets is not always
-what you want. Certain options specify other activities for `make'.
-
-`-n'
-`--just-print'
-`--dry-run'
-`--recon'
- "No-op". The activity is to print what recipe would be used to
- make the targets up to date, but not actually execute it. Some
- recipes are still executed, even with this flag (*note How the
- `MAKE' Variable Works: MAKE Variable.).
-
-`-t'
-`--touch'
- "Touch". The activity is to mark the targets as up to date without
- actually changing them. In other words, `make' pretends to compile
- the targets but does not really change their contents.
-
-`-q'
-`--question'
- "Question". The activity is to find out silently whether the
- targets are up to date already; but execute no recipe in either
- case. In other words, neither compilation nor output will occur.
-
-`-W FILE'
-`--what-if=FILE'
-`--assume-new=FILE'
-`--new-file=FILE'
- "What if". Each `-W' flag is followed by a file name. The given
- files' modification times are recorded by `make' as being the
+what you want. Certain options specify other activities for 'make'.
+
+'-n'
+'--just-print'
+'--dry-run'
+'--recon'
+
+ "No-op". Causes 'make' to print the recipes that are needed to
+ make the targets up to date, but not actually execute them. Note
+ that some recipes are still executed, even with this flag (*note
+ How the 'MAKE' Variable Works: MAKE Variable.). Also any recipes
+ needed to update included makefiles are still executed (*note How
+ Makefiles Are Remade: Remaking Makefiles.).
+
+'-t'
+'--touch'
+
+ "Touch". Marks targets as up to date without actually changing
+ them. In other words, 'make' pretends to update the targets but
+ does not really change their contents; instead only their modified
+ times are updated.
+
+'-q'
+'--question'
+
+ "Question". Silently check whether the targets are up to date, but
+ do not execute recipes; the exit code shows whether any updates are
+ needed.
+
+'-W FILE'
+'--what-if=FILE'
+'--assume-new=FILE'
+'--new-file=FILE'
+
+ "What if". Each '-W' flag is followed by a file name. The given
+ files' modification times are recorded by 'make' as being the
present time, although the actual modification times remain the
- same. You can use the `-W' flag in conjunction with the `-n' flag
+ same. You can use the '-W' flag in conjunction with the '-n' flag
to see what would happen if you were to modify specific files.
- With the `-n' flag, `make' prints the recipe that it would normally
+ With the '-n' flag, 'make' prints the recipe that it would normally
execute but usually does not execute it.
- With the `-t' flag, `make' ignores the recipes in the rules and uses
-(in effect) the command `touch' for each target that needs to be
-remade. The `touch' command is also printed, unless `-s' or `.SILENT'
-is used. For speed, `make' does not actually invoke the program
-`touch'. It does the work directly.
+ With the '-t' flag, 'make' ignores the recipes in the rules and uses
+(in effect) the command 'touch' for each target that needs to be remade.
+The 'touch' command is also printed, unless '-s' or '.SILENT' is used.
+For speed, 'make' does not actually invoke the program 'touch'. It does
+the work directly.
- With the `-q' flag, `make' prints nothing and executes no recipes,
+ With the '-q' flag, 'make' prints nothing and executes no recipes,
but the exit status code it returns is zero if and only if the targets
to be considered are already up to date. If the exit status is one,
-then some updating needs to be done. If `make' encounters an error,
-the exit status is two, so you can distinguish an error from a target
-that is not up to date.
+then some updating needs to be done. If 'make' encounters an error, the
+exit status is two, so you can distinguish an error from a target that
+is not up to date.
It is an error to use more than one of these three flags in the same
-invocation of `make'.
+invocation of 'make'.
- The `-n', `-t', and `-q' options do not affect recipe lines that
-begin with `+' characters or contain the strings `$(MAKE)' or
-`${MAKE}'. Note that only the line containing the `+' character or the
-strings `$(MAKE)' or `${MAKE}' is run regardless of these options.
-Other lines in the same rule are not run unless they too begin with `+'
-or contain `$(MAKE)' or `${MAKE}' (*Note How the `MAKE' Variable Works:
-MAKE Variable.)
+ The '-n', '-t', and '-q' options do not affect recipe lines that
+begin with '+' characters or contain the strings '$(MAKE)' or '${MAKE}'.
+Note that only the line containing the '+' character or the strings
+'$(MAKE)' or '${MAKE}' is run regardless of these options. Other lines
+in the same rule are not run unless they too begin with '+' or contain
+'$(MAKE)' or '${MAKE}' (*Note How the 'MAKE' Variable Works: MAKE
+Variable.)
- The `-t' flag prevents phony targets (*note Phony Targets::) from
-being updated, unless there are recipe lines beginning with `+' or
-containing `$(MAKE)' or `${MAKE}'.
+ The '-t' flag prevents phony targets (*note Phony Targets::) from
+being updated, unless there are recipe lines beginning with '+' or
+containing '$(MAKE)' or '${MAKE}'.
- The `-W' flag provides two features:
+ The '-W' flag provides two features:
- * If you also use the `-n' or `-q' flag, you can see what `make'
+ * If you also use the '-n' or '-q' flag, you can see what 'make'
would do if you were to modify some files.
- * Without the `-n' or `-q' flag, when `make' is actually executing
- recipes, the `-W' flag can direct `make' to act as if some files
+ * Without the '-n' or '-q' flag, when 'make' is actually executing
+ recipes, the '-W' flag can direct 'make' to act as if some files
had been modified, without actually running the recipes for those
files.
- Note that the options `-p' and `-v' allow you to obtain other
-information about `make' or about the makefiles in use (*note Summary
-of Options: Options Summary.).
+ Note that the options '-p' and '-v' allow you to obtain other
+information about 'make' or about the makefiles in use (*note Summary of
+Options: Options Summary.).

File: make.info, Node: Avoiding Compilation, Next: Overriding, Prev: Instead of Execution, Up: Running
@@ -6560,39 +6898,39 @@ File: make.info, Node: Avoiding Compilation, Next: Overriding, Prev: Instead
Sometimes you may have changed a source file but you do not want to
recompile all the files that depend on it. For example, suppose you add
a macro or a declaration to a header file that many other files depend
-on. Being conservative, `make' assumes that any change in the header
+on. Being conservative, 'make' assumes that any change in the header
file requires recompilation of all dependent files, but you know that
they do not need to be recompiled and you would rather not waste the
time waiting for them to compile.
If you anticipate the problem before changing the header file, you
-can use the `-t' flag. This flag tells `make' not to run the recipes
-in the rules, but rather to mark the target up to date by changing its
+can use the '-t' flag. This flag tells 'make' not to run the recipes in
+the rules, but rather to mark the target up to date by changing its
last-modification date. You would follow this procedure:
- 1. Use the command `make' to recompile the source files that really
+ 1. Use the command 'make' to recompile the source files that really
need recompilation, ensuring that the object files are up-to-date
before you begin.
2. Make the changes in the header files.
- 3. Use the command `make -t' to mark all the object files as up to
- date. The next time you run `make', the changes in the header
+ 3. Use the command 'make -t' to mark all the object files as up to
+ date. The next time you run 'make', the changes in the header
files will not cause any recompilation.
If you have already changed the header file at a time when some files
do need recompilation, it is too late to do this. Instead, you can use
-the `-o FILE' flag, which marks a specified file as "old" (*note
-Summary of Options: Options Summary.). This means that the file itself
-will not be remade, and nothing else will be remade on its account.
-Follow this procedure:
+the '-o FILE' flag, which marks a specified file as "old" (*note Summary
+of Options: Options Summary.). This means that the file itself will not
+be remade, and nothing else will be remade on its account. Follow this
+procedure:
1. Recompile the source files that need compilation for reasons
- independent of the particular header file, with `make -o
+ independent of the particular header file, with 'make -o
HEADERFILE'. If several header files are involved, use a separate
- `-o' option for each header file.
+ '-o' option for each header file.
- 2. Touch all the object files with `make -t'.
+ 2. Touch all the object files with 'make -t'.

File: make.info, Node: Overriding, Next: Testing, Prev: Avoiding Compilation, Up: Running
@@ -6600,7 +6938,7 @@ File: make.info, Node: Overriding, Next: Testing, Prev: Avoiding Compilation,
9.5 Overriding Variables
========================
-An argument that contains `=' specifies the value of a variable: `V=X'
+An argument that contains '=' specifies the value of a variable: 'V=X'
sets the value of the variable V to X. If you specify a value in this
way, all ordinary assignments of the same variable in the makefile are
ignored; we say they have been "overridden" by the command line
@@ -6608,24 +6946,24 @@ argument.
The most common way to use this facility is to pass extra flags to
compilers. For example, in a properly written makefile, the variable
-`CFLAGS' is included in each recipe that runs the C compiler, so a file
-`foo.c' would be compiled something like this:
+'CFLAGS' is included in each recipe that runs the C compiler, so a file
+'foo.c' would be compiled something like this:
cc -c $(CFLAGS) foo.c
- Thus, whatever value you set for `CFLAGS' affects each compilation
+ Thus, whatever value you set for 'CFLAGS' affects each compilation
that occurs. The makefile probably specifies the usual value for
-`CFLAGS', like this:
+'CFLAGS', like this:
CFLAGS=-g
- Each time you run `make', you can override this value if you wish.
-For example, if you say `make CFLAGS='-g -O'', each C compilation will
-be done with `cc -c -g -O'. (This also illustrates how you can use
+ Each time you run 'make', you can override this value if you wish.
+For example, if you say 'make CFLAGS='-g -O'', each C compilation will
+be done with 'cc -c -g -O'. (This also illustrates how you can use
quoting in the shell to enclose spaces and other special characters in
the value of a variable when you override it.)
- The variable `CFLAGS' is only one of many standard variables that
+ The variable 'CFLAGS' is only one of many standard variables that
exist just so that you can change them this way. *Note Variables Used
by Implicit Rules: Implicit Variables, for a complete list.
@@ -6636,15 +6974,15 @@ the makefile works by changing the variables.
When you override a variable with a command line argument, you can
define either a recursively-expanded variable or a simply-expanded
variable. The examples shown above make a recursively-expanded
-variable; to make a simply-expanded variable, write `:=' instead of
-`='. But, unless you want to include a variable reference or function
-call in the _value_ that you specify, it makes no difference which kind
-of variable you create.
+variable; to make a simply-expanded variable, write ':=' or '::='
+instead of '='. But, unless you want to include a variable reference or
+function call in the _value_ that you specify, it makes no difference
+which kind of variable you create.
There is one way that the makefile can change a variable that you
-have overridden. This is to use the `override' directive, which is a
-line that looks like this: `override VARIABLE = VALUE' (*note The
-`override' Directive: Override Directive.).
+have overridden. This is to use the 'override' directive, which is a
+line that looks like this: 'override VARIABLE = VALUE' (*note The
+'override' Directive: Override Directive.).

File: make.info, Node: Testing, Next: Options Summary, Prev: Overriding, Up: Running
@@ -6652,35 +6990,35 @@ File: make.info, Node: Testing, Next: Options Summary, Prev: Overriding, Up:
9.6 Testing the Compilation of a Program
========================================
-Normally, when an error happens in executing a shell command, `make'
+Normally, when an error happens in executing a shell command, 'make'
gives up immediately, returning a nonzero status. No further recipes
are executed for any target. The error implies that the goal cannot be
-correctly remade, and `make' reports this as soon as it knows.
+correctly remade, and 'make' reports this as soon as it knows.
When you are compiling a program that you have just changed, this is
-not what you want. Instead, you would rather that `make' try compiling
+not what you want. Instead, you would rather that 'make' try compiling
every file that can be tried, to show you as many compilation errors as
possible.
- On these occasions, you should use the `-k' or `--keep-going' flag.
-This tells `make' to continue to consider the other prerequisites of
-the pending targets, remaking them if necessary, before it gives up and
+ On these occasions, you should use the '-k' or '--keep-going' flag.
+This tells 'make' to continue to consider the other prerequisites of the
+pending targets, remaking them if necessary, before it gives up and
returns nonzero status. For example, after an error in compiling one
-object file, `make -k' will continue compiling other object files even
+object file, 'make -k' will continue compiling other object files even
though it already knows that linking them will be impossible. In
-addition to continuing after failed shell commands, `make -k' will
-continue as much as possible after discovering that it does not know
-how to make a target or prerequisite file. This will always cause an
-error message, but without `-k', it is a fatal error (*note Summary of
+addition to continuing after failed shell commands, 'make -k' will
+continue as much as possible after discovering that it does not know how
+to make a target or prerequisite file. This will always cause an error
+message, but without '-k', it is a fatal error (*note Summary of
Options: Options Summary.).
- The usual behavior of `make' assumes that your purpose is to get the
-goals up to date; once `make' learns that this is impossible, it might
-as well report the failure immediately. The `-k' flag says that the
+ The usual behavior of 'make' assumes that your purpose is to get the
+goals up to date; once 'make' learns that this is impossible, it might
+as well report the failure immediately. The '-k' flag says that the
real purpose is to test as much as possible of the changes made in the
program, perhaps to find several independent problems so that you can
correct them all before the next attempt to compile. This is why Emacs'
-`M-x compile' command passes the `-k' flag by default.
+'M-x compile' command passes the '-k' flag by default.

File: make.info, Node: Options Summary, Prev: Testing, Up: Running
@@ -6688,379 +7026,291 @@ File: make.info, Node: Options Summary, Prev: Testing, Up: Running
9.7 Summary of Options
======================
-Here is a table of all the options `make' understands:
+Here is a table of all the options 'make' understands:
-`-b'
-`-m'
+'-b'
+'-m'
These options are ignored for compatibility with other versions of
- `make'.
+ 'make'.
-`-B'
-`--always-make'
- Consider all targets out-of-date. GNU `make' proceeds to consider
+'-B'
+'--always-make'
+ Consider all targets out-of-date. GNU 'make' proceeds to consider
targets and their prerequisites using the normal algorithms;
however, all targets so considered are always remade regardless of
the status of their prerequisites. To avoid infinite recursion, if
- `MAKE_RESTARTS' (*note Other Special Variables: Special
- Variables.) is set to a number greater than 0 this option is
- disabled when considering whether to remake makefiles (*note How
- Makefiles Are Remade: Remaking Makefiles.).
+ 'MAKE_RESTARTS' (*note Other Special Variables: Special Variables.)
+ is set to a number greater than 0 this option is disabled when
+ considering whether to remake makefiles (*note How Makefiles Are
+ Remade: Remaking Makefiles.).
-`-C DIR'
-`--directory=DIR'
+'-C DIR'
+'--directory=DIR'
Change to directory DIR before reading the makefiles. If multiple
- `-C' options are specified, each is interpreted relative to the
- previous one: `-C / -C etc' is equivalent to `-C /etc'. This is
- typically used with recursive invocations of `make' (*note
- Recursive Use of `make': Recursion.).
+ '-C' options are specified, each is interpreted relative to the
+ previous one: '-C / -C etc' is equivalent to '-C /etc'. This is
+ typically used with recursive invocations of 'make' (*note
+ Recursive Use of 'make': Recursion.).
+
+'-d'
-`-d'
Print debugging information in addition to normal processing. The
debugging information says which files are being considered for
remaking, which file-times are being compared and with what
results, which files actually need to be remade, which implicit
rules are considered and which are applied--everything interesting
- about how `make' decides what to do. The `-d' option is
- equivalent to `--debug=a' (see below).
+ about how 'make' decides what to do. The '-d' option is equivalent
+ to '--debug=a' (see below).
+
+'--debug[=OPTIONS]'
-`--debug[=OPTIONS]'
Print debugging information in addition to normal processing.
Various levels and types of output can be chosen. With no
arguments, print the "basic" level of debugging. Possible
arguments are below; only the first character is considered, and
values must be comma- or space-separated.
- `a (all)'
- All types of debugging output are enabled. This is
- equivalent to using `-d'.
+ 'a (all)'
+ All types of debugging output are enabled. This is equivalent
+ to using '-d'.
- `b (basic)'
+ 'b (basic)'
Basic debugging prints each target that was found to be
out-of-date, and whether the build was successful or not.
- `v (verbose)'
- A level above `basic'; includes messages about which
- makefiles were parsed, prerequisites that did not need to be
- rebuilt, etc. This option also enables `basic' messages.
+ 'v (verbose)'
+ A level above 'basic'; includes messages about which makefiles
+ were parsed, prerequisites that did not need to be rebuilt,
+ etc. This option also enables 'basic' messages.
- `i (implicit)'
- Prints messages describing the implicit rule searches for
- each target. This option also enables `basic' messages.
+ 'i (implicit)'
+ Prints messages describing the implicit rule searches for each
+ target. This option also enables 'basic' messages.
- `j (jobs)'
+ 'j (jobs)'
Prints messages giving details on the invocation of specific
- subcommands.
+ sub-commands.
- `m (makefile)'
- By default, the above messages are not enabled while trying
- to remake the makefiles. This option enables messages while
- rebuilding makefiles, too. Note that the `all' option does
- enable this option. This option also enables `basic'
+ 'm (makefile)'
+ By default, the above messages are not enabled while trying to
+ remake the makefiles. This option enables messages while
+ rebuilding makefiles, too. Note that the 'all' option does
+ enable this option. This option also enables 'basic'
messages.
-`-e'
-`--environment-overrides'
- Give variables taken from the environment precedence over
- variables from makefiles. *Note Variables from the Environment:
- Environment.
-
-`--eval=STRING'
- Evaluate STRING as makefile syntax. This is a command-line
- version of the `eval' function (*note Eval Function::). The
- evaluation is performed after the default rules and variables have
- been defined, but before any makefiles are read.
-
-`-f FILE'
-`--file=FILE'
-`--makefile=FILE'
+ 'n (none)'
+ Disable all debugging currently enabled. If additional
+ debugging flags are encountered after this they will still
+ take effect.
+
+'-e'
+'--environment-overrides'
+ Give variables taken from the environment precedence over variables
+ from makefiles. *Note Variables from the Environment: Environment.
+
+'--eval=STRING'
+
+ Evaluate STRING as makefile syntax. This is a command-line version
+ of the 'eval' function (*note Eval Function::). The evaluation is
+ performed after the default rules and variables have been defined,
+ but before any makefiles are read.
+
+'-f FILE'
+'--file=FILE'
+'--makefile=FILE'
Read the file named FILE as a makefile. *Note Writing Makefiles:
Makefiles.
-`-h'
-`--help'
- Remind you of the options that `make' understands and then exit.
+'-h'
+'--help'
-`-i'
-`--ignore-errors'
+ Remind you of the options that 'make' understands and then exit.
+
+'-i'
+'--ignore-errors'
Ignore all errors in recipes executed to remake files. *Note
Errors in Recipes: Errors.
-`-I DIR'
-`--include-dir=DIR'
+'-I DIR'
+'--include-dir=DIR'
Specifies a directory DIR to search for included makefiles. *Note
- Including Other Makefiles: Include. If several `-I' options are
+ Including Other Makefiles: Include. If several '-I' options are
used to specify several directories, the directories are searched
in the order specified.
-`-j [JOBS]'
-`--jobs[=JOBS]'
- Specifies the number of recipes (jobs) to run simultaneously.
- With no argument, `make' runs as many recipes simultaneously as
- possible. If there is more than one `-j' option, the last one is
+'-j [JOBS]'
+'--jobs[=JOBS]'
+ Specifies the number of recipes (jobs) to run simultaneously. With
+ no argument, 'make' runs as many recipes simultaneously as
+ possible. If there is more than one '-j' option, the last one is
effective. *Note Parallel Execution: Parallel, for more
information on how recipes are run. Note that this option is
ignored on MS-DOS.
-`-k'
-`--keep-going'
+'-k'
+'--keep-going'
Continue as much as possible after an error. While the target that
failed, and those that depend on it, cannot be remade, the other
prerequisites of these targets can be processed all the same.
*Note Testing the Compilation of a Program: Testing.
-`-l [LOAD]'
-`--load-average[=LOAD]'
-`--max-load[=LOAD]'
+'-l [LOAD]'
+'--load-average[=LOAD]'
+'--max-load[=LOAD]'
Specifies that no new recipes should be started if there are other
recipes running and the load average is at least LOAD (a
floating-point number). With no argument, removes a previous load
limit. *Note Parallel Execution: Parallel.
-`-L'
-`--check-symlink-times'
- On systems that support symbolic links, this option causes `make'
+'-L'
+'--check-symlink-times'
+ On systems that support symbolic links, this option causes 'make'
to consider the timestamps on any symbolic links in addition to the
timestamp on the file referenced by those links. When this option
is provided, the most recent timestamp among the file and the
symbolic links is taken as the modification time for this target
file.
-`-n'
-`--just-print'
-`--dry-run'
-`--recon'
+'-n'
+'--just-print'
+'--dry-run'
+'--recon'
+
Print the recipe that would be executed, but do not execute it
(except in certain circumstances). *Note Instead of Executing
Recipes: Instead of Execution.
-`-o FILE'
-`--old-file=FILE'
-`--assume-old=FILE'
+'-o FILE'
+'--old-file=FILE'
+'--assume-old=FILE'
Do not remake the file FILE even if it is older than its
prerequisites, and do not remake anything on account of changes in
FILE. Essentially the file is treated as very old and its rules
are ignored. *Note Avoiding Recompilation of Some Files: Avoiding
Compilation.
-`-p'
-`--print-data-base'
+'-O[TYPE]'
+'--output-sync[=TYPE]'
+ Ensure that the complete output from each recipe is printed in one
+ uninterrupted sequence. This option is only useful when using the
+ '--jobs' option to run multiple recipes simultaneously (*note
+ Parallel Execution: Parallel.) Without this option output will be
+ displayed as it is generated by the recipes.
+
+ With no type or the type 'target', output from the entire recipe of
+ each target is grouped together. With the type 'line', output from
+ each line in the recipe is grouped together. With the type
+ 'recurse', the output from an entire recursive make is grouped
+ together. With the type 'none', no output synchronization is
+ performed. *Note Output During Parallel Execution: Parallel
+ Output.
+
+'-p'
+'--print-data-base'
Print the data base (rules and variable values) that results from
reading the makefiles; then execute as usual or as otherwise
specified. This also prints the version information given by the
- `-v' switch (see below). To print the data base without trying to
- remake any files, use `make -qp'. To print the data base of
- predefined rules and variables, use `make -p -f /dev/null'. The
- data base output contains filename and linenumber information for
+ '-v' switch (see below). To print the data base without trying to
+ remake any files, use 'make -qp'. To print the data base of
+ predefined rules and variables, use 'make -p -f /dev/null'. The
+ data base output contains file name and line number information for
recipe and variable definitions, so it can be a useful debugging
tool in complex environments.
-`-q'
-`--question'
+'-q'
+'--question'
"Question mode". Do not run any recipes, or print anything; just
return an exit status that is zero if the specified targets are
already up to date, one if any remaking is required, or two if an
error is encountered. *Note Instead of Executing Recipes: Instead
of Execution.
-`-r'
-`--no-builtin-rules'
+'-r'
+'--no-builtin-rules'
Eliminate use of the built-in implicit rules (*note Using Implicit
Rules: Implicit Rules.). You can still define your own by writing
- pattern rules (*note Defining and Redefining Pattern Rules:
- Pattern Rules.). The `-r' option also clears out the default list
- of suffixes for suffix rules (*note Old-Fashioned Suffix Rules:
- Suffix Rules.). But you can still define your own suffixes with a
- rule for `.SUFFIXES', and then define your own suffix rules. Note
- that only _rules_ are affected by the `-r' option; default
- variables remain in effect (*note Variables Used by Implicit
- Rules: Implicit Variables.); see the `-R' option below.
-
-`-R'
-`--no-builtin-variables'
+ pattern rules (*note Defining and Redefining Pattern Rules: Pattern
+ Rules.). The '-r' option also clears out the default list of
+ suffixes for suffix rules (*note Old-Fashioned Suffix Rules: Suffix
+ Rules.). But you can still define your own suffixes with a rule
+ for '.SUFFIXES', and then define your own suffix rules. Note that
+ only _rules_ are affected by the '-r' option; default variables
+ remain in effect (*note Variables Used by Implicit Rules: Implicit
+ Variables.); see the '-R' option below.
+
+'-R'
+'--no-builtin-variables'
Eliminate use of the built-in rule-specific variables (*note
Variables Used by Implicit Rules: Implicit Variables.). You can
- still define your own, of course. The `-R' option also
- automatically enables the `-r' option (see above), since it
- doesn't make sense to have implicit rules without any definitions
- for the variables that they use.
-
-`-s'
-`--silent'
-`--quiet'
+ still define your own, of course. The '-R' option also
+ automatically enables the '-r' option (see above), since it doesn't
+ make sense to have implicit rules without any definitions for the
+ variables that they use.
+
+'-s'
+'--silent'
+'--quiet'
+
Silent operation; do not print the recipes as they are executed.
*Note Recipe Echoing: Echoing.
-`-S'
-`--no-keep-going'
-`--stop'
- Cancel the effect of the `-k' option. This is never necessary
- except in a recursive `make' where `-k' might be inherited from
- the top-level `make' via `MAKEFLAGS' (*note Recursive Use of
- `make': Recursion.) or if you set `-k' in `MAKEFLAGS' in your
- environment.
-
-`-t'
-`--touch'
+'-S'
+'--no-keep-going'
+'--stop'
+
+ Cancel the effect of the '-k' option. This is never necessary
+ except in a recursive 'make' where '-k' might be inherited from the
+ top-level 'make' via 'MAKEFLAGS' (*note Recursive Use of 'make':
+ Recursion.) or if you set '-k' in 'MAKEFLAGS' in your environment.
+
+'-t'
+'--touch'
+
Touch files (mark them up to date without really changing them)
instead of running their recipes. This is used to pretend that the
- recipes were done, in order to fool future invocations of `make'.
+ recipes were done, in order to fool future invocations of 'make'.
*Note Instead of Executing Recipes: Instead of Execution.
-`-v'
-`--version'
- Print the version of the `make' program plus a copyright, a list
- of authors, and a notice that there is no warranty; then exit.
+'--trace'
+ Show tracing information for 'make' execution. Prints the entire
+ recipe to be executed, even for recipes that are normally silent
+ (due to '.SILENT' or '@'). Also prints the makefile name and line
+ number where the recipe was defined, and information on why the
+ target is being rebuilt.
+
+'-v'
+'--version'
+ Print the version of the 'make' program plus a copyright, a list of
+ authors, and a notice that there is no warranty; then exit.
-`-w'
-`--print-directory'
+'-w'
+'--print-directory'
Print a message containing the working directory both before and
- after executing the makefile. This may be useful for tracking
- down errors from complicated nests of recursive `make' commands.
- *Note Recursive Use of `make': Recursion. (In practice, you
- rarely need to specify this option since `make' does it for you;
- see *note The `--print-directory' Option: -w Option.)
-
-`--no-print-directory'
- Disable printing of the working directory under `-w'. This option
- is useful when `-w' is turned on automatically, but you do not
- want to see the extra messages. *Note The `--print-directory'
- Option: -w Option.
-
-`-W FILE'
-`--what-if=FILE'
-`--new-file=FILE'
-`--assume-new=FILE'
+ after executing the makefile. This may be useful for tracking down
+ errors from complicated nests of recursive 'make' commands. *Note
+ Recursive Use of 'make': Recursion. (In practice, you rarely need
+ to specify this option since 'make' does it for you; see *note The
+ '--print-directory' Option: -w Option.)
+
+'--no-print-directory'
+ Disable printing of the working directory under '-w'. This option
+ is useful when '-w' is turned on automatically, but you do not want
+ to see the extra messages. *Note The '--print-directory' Option:
+ -w Option.
+
+'-W FILE'
+'--what-if=FILE'
+'--new-file=FILE'
+'--assume-new=FILE'
Pretend that the target FILE has just been modified. When used
- with the `-n' flag, this shows you what would happen if you were
- to modify that file. Without `-n', it is almost the same as
- running a `touch' command on the given file before running `make',
- except that the modification time is changed only in the
- imagination of `make'. *Note Instead of Executing Recipes:
- Instead of Execution.
-
-`--warn-undefined-variables'
- Issue a warning message whenever `make' sees a reference to an
+ with the '-n' flag, this shows you what would happen if you were to
+ modify that file. Without '-n', it is almost the same as running a
+ 'touch' command on the given file before running 'make', except
+ that the modification time is changed only in the imagination of
+ 'make'. *Note Instead of Executing Recipes: Instead of Execution.
+
+'--warn-undefined-variables'
+ Issue a warning message whenever 'make' sees a reference to an
undefined variable. This can be helpful when you are trying to
debug makefiles which use variables in complex ways.
-
-File: make.info, Node: Implicit Rules, Next: Archives, Prev: Running, Up: Top
-
-10 Using Implicit Rules
-***********************
-
-Certain standard ways of remaking target files are used very often. For
-example, one customary way to make an object file is from a C source
-file using the C compiler, `cc'.
-
- "Implicit rules" tell `make' how to use customary techniques so that
-you do not have to specify them in detail when you want to use them.
-For example, there is an implicit rule for C compilation. File names
-determine which implicit rules are run. For example, C compilation
-typically takes a `.c' file and makes a `.o' file. So `make' applies
-the implicit rule for C compilation when it sees this combination of
-file name endings.
-
- A chain of implicit rules can apply in sequence; for example, `make'
-will remake a `.o' file from a `.y' file by way of a `.c' file.
-
- The built-in implicit rules use several variables in their recipes so
-that, by changing the values of the variables, you can change the way
-the implicit rule works. For example, the variable `CFLAGS' controls
-the flags given to the C compiler by the implicit rule for C
-compilation.
-
- You can define your own implicit rules by writing "pattern rules".
-
- "Suffix rules" are a more limited way to define implicit rules.
-Pattern rules are more general and clearer, but suffix rules are
-retained for compatibility.
-
-* Menu:
-
-* Using Implicit:: How to use an existing implicit rule
- to get the recipes for updating a file.
-* Catalogue of Rules:: A list of built-in implicit rules.
-* Implicit Variables:: How to change what predefined rules do.
-* Chained Rules:: How to use a chain of implicit rules.
-* Pattern Rules:: How to define new implicit rules.
-* Last Resort:: How to define recipes for rules which
- cannot find any.
-* Suffix Rules:: The old-fashioned style of implicit rule.
-* Implicit Rule Search:: The precise algorithm for applying
- implicit rules.
-
-
-File: make.info, Node: Using Implicit, Next: Catalogue of Rules, Prev: Implicit Rules, Up: Implicit Rules
-
-10.1 Using Implicit Rules
-=========================
-
-To allow `make' to find a customary method for updating a target file,
-all you have to do is refrain from specifying recipes yourself. Either
-write a rule with no recipe, or don't write a rule at all. Then `make'
-will figure out which implicit rule to use based on which kind of
-source file exists or can be made.
-
- For example, suppose the makefile looks like this:
-
- foo : foo.o bar.o
- cc -o foo foo.o bar.o $(CFLAGS) $(LDFLAGS)
-
-Because you mention `foo.o' but do not give a rule for it, `make' will
-automatically look for an implicit rule that tells how to update it.
-This happens whether or not the file `foo.o' currently exists.
-
- If an implicit rule is found, it can supply both a recipe and one or
-more prerequisites (the source files). You would want to write a rule
-for `foo.o' with no recipe if you need to specify additional
-prerequisites, such as header files, that the implicit rule cannot
-supply.
-
- Each implicit rule has a target pattern and prerequisite patterns.
-There may be many implicit rules with the same target pattern. For
-example, numerous rules make `.o' files: one, from a `.c' file with the
-C compiler; another, from a `.p' file with the Pascal compiler; and so
-on. The rule that actually applies is the one whose prerequisites
-exist or can be made. So, if you have a file `foo.c', `make' will run
-the C compiler; otherwise, if you have a file `foo.p', `make' will run
-the Pascal compiler; and so on.
-
- Of course, when you write the makefile, you know which implicit rule
-you want `make' to use, and you know it will choose that one because you
-know which possible prerequisite files are supposed to exist. *Note
-Catalogue of Implicit Rules: Catalogue of Rules, for a catalogue of all
-the predefined implicit rules.
-
- Above, we said an implicit rule applies if the required
-prerequisites "exist or can be made". A file "can be made" if it is
-mentioned explicitly in the makefile as a target or a prerequisite, or
-if an implicit rule can be recursively found for how to make it. When
-an implicit prerequisite is the result of another implicit rule, we say
-that "chaining" is occurring. *Note Chains of Implicit Rules: Chained
-Rules.
-
- In general, `make' searches for an implicit rule for each target, and
-for each double-colon rule, that has no recipe. A file that is
-mentioned only as a prerequisite is considered a target whose rule
-specifies nothing, so implicit rule search happens for it. *Note
-Implicit Rule Search Algorithm: Implicit Rule Search, for the details
-of how the search is done.
-
- Note that explicit prerequisites do not influence implicit rule
-search. For example, consider this explicit rule:
-
- foo.o: foo.p
-
-The prerequisite on `foo.p' does not necessarily mean that `make' will
-remake `foo.o' according to the implicit rule to make an object file, a
-`.o' file, from a Pascal source file, a `.p' file. For example, if
-`foo.c' also exists, the implicit rule to make an object file from a C
-source file is used instead, because it appears before the Pascal rule
-in the list of predefined implicit rules (*note Catalogue of Implicit
-Rules: Catalogue of Rules.).
-
- If you do not want an implicit rule to be used for a target that has
-no recipe, you can give that target an empty recipe by writing a
-semicolon (*note Defining Empty Recipes: Empty Recipes.).
-
diff --git a/doc/make.info-2 b/doc/make.info-2
index cd95ff0c..c6229ffa 100644
--- a/doc/make.info-2
+++ b/doc/make.info-2
@@ -1,19 +1,19 @@
-This is make.info, produced by makeinfo version 4.13 from make.texi.
+This is make.info, produced by makeinfo version 5.2 from make.texi.
-This file documents the GNU `make' utility, which determines
-automatically which pieces of a large program need to be recompiled,
-and issues the commands to recompile them.
+This file documents the GNU 'make' utility, which determines
+automatically which pieces of a large program need to be recompiled, and
+issues the commands to recompile them.
- This is Edition 0.71, last updated 19 July 2010, of `The GNU Make
-Manual', for GNU `make' version 3.82.
+ This is Edition 0.73, last updated 5 October 2014, of 'The GNU Make
+Manual', for GNU 'make' version 4.1.
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 Free Software Foundation, Inc.
+2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
- Version 1.2 or any later version published by the Free Software
+ Version 1.3 or any later version published by the Free Software
Foundation; with no Invariant Sections, with the Front-Cover Texts
being "A GNU Manual," and with the Back-Cover Texts as in (a)
below. A copy of the license is included in the section entitled
@@ -22,39 +22,159 @@ Manual', for GNU `make' version 3.82.
(a) The FSF's Back-Cover Text is: "You have the freedom to copy and
modify this GNU manual. Buying copies from the FSF supports it in
developing GNU and promoting software freedom."
-
INFO-DIR-SECTION Software development
START-INFO-DIR-ENTRY
* Make: (make). Remake files automatically.
END-INFO-DIR-ENTRY

+File: make.info, Node: Implicit Rules, Next: Archives, Prev: Running, Up: Top
+
+10 Using Implicit Rules
+***********************
+
+Certain standard ways of remaking target files are used very often. For
+example, one customary way to make an object file is from a C source
+file using the C compiler, 'cc'.
+
+ "Implicit rules" tell 'make' how to use customary techniques so that
+you do not have to specify them in detail when you want to use them.
+For example, there is an implicit rule for C compilation. File names
+determine which implicit rules are run. For example, C compilation
+typically takes a '.c' file and makes a '.o' file. So 'make' applies
+the implicit rule for C compilation when it sees this combination of
+file name endings.
+
+ A chain of implicit rules can apply in sequence; for example, 'make'
+will remake a '.o' file from a '.y' file by way of a '.c' file.
+
+ The built-in implicit rules use several variables in their recipes so
+that, by changing the values of the variables, you can change the way
+the implicit rule works. For example, the variable 'CFLAGS' controls
+the flags given to the C compiler by the implicit rule for C
+compilation.
+
+ You can define your own implicit rules by writing "pattern rules".
+
+ "Suffix rules" are a more limited way to define implicit rules.
+Pattern rules are more general and clearer, but suffix rules are
+retained for compatibility.
+
+* Menu:
+
+* Using Implicit:: How to use an existing implicit rule
+ to get the recipes for updating a file.
+* Catalogue of Rules:: A list of built-in rules.
+* Implicit Variables:: How to change what predefined rules do.
+* Chained Rules:: How to use a chain of implicit rules.
+* Pattern Rules:: How to define new implicit rules.
+* Last Resort:: How to define a recipe for rules which
+ cannot find any.
+* Suffix Rules:: The old-fashioned style of implicit rule.
+* Implicit Rule Search:: The precise algorithm for applying
+ implicit rules.
+
+
+File: make.info, Node: Using Implicit, Next: Catalogue of Rules, Prev: Implicit Rules, Up: Implicit Rules
+
+10.1 Using Implicit Rules
+=========================
+
+To allow 'make' to find a customary method for updating a target file,
+all you have to do is refrain from specifying recipes yourself. Either
+write a rule with no recipe, or don't write a rule at all. Then 'make'
+will figure out which implicit rule to use based on which kind of source
+file exists or can be made.
+
+ For example, suppose the makefile looks like this:
+
+ foo : foo.o bar.o
+ cc -o foo foo.o bar.o $(CFLAGS) $(LDFLAGS)
+
+Because you mention 'foo.o' but do not give a rule for it, 'make' will
+automatically look for an implicit rule that tells how to update it.
+This happens whether or not the file 'foo.o' currently exists.
+
+ If an implicit rule is found, it can supply both a recipe and one or
+more prerequisites (the source files). You would want to write a rule
+for 'foo.o' with no recipe if you need to specify additional
+prerequisites, such as header files, that the implicit rule cannot
+supply.
+
+ Each implicit rule has a target pattern and prerequisite patterns.
+There may be many implicit rules with the same target pattern. For
+example, numerous rules make '.o' files: one, from a '.c' file with the
+C compiler; another, from a '.p' file with the Pascal compiler; and so
+on. The rule that actually applies is the one whose prerequisites exist
+or can be made. So, if you have a file 'foo.c', 'make' will run the C
+compiler; otherwise, if you have a file 'foo.p', 'make' will run the
+Pascal compiler; and so on.
+
+ Of course, when you write the makefile, you know which implicit rule
+you want 'make' to use, and you know it will choose that one because you
+know which possible prerequisite files are supposed to exist. *Note
+Catalogue of Built-In Rules: Catalogue of Rules, for a catalogue of all
+the predefined implicit rules.
+
+ Above, we said an implicit rule applies if the required prerequisites
+"exist or can be made". A file "can be made" if it is mentioned
+explicitly in the makefile as a target or a prerequisite, or if an
+implicit rule can be recursively found for how to make it. When an
+implicit prerequisite is the result of another implicit rule, we say
+that "chaining" is occurring. *Note Chains of Implicit Rules: Chained
+Rules.
+
+ In general, 'make' searches for an implicit rule for each target, and
+for each double-colon rule, that has no recipe. A file that is
+mentioned only as a prerequisite is considered a target whose rule
+specifies nothing, so implicit rule search happens for it. *Note
+Implicit Rule Search Algorithm: Implicit Rule Search, for the details of
+how the search is done.
+
+ Note that explicit prerequisites do not influence implicit rule
+search. For example, consider this explicit rule:
+
+ foo.o: foo.p
+
+The prerequisite on 'foo.p' does not necessarily mean that 'make' will
+remake 'foo.o' according to the implicit rule to make an object file, a
+'.o' file, from a Pascal source file, a '.p' file. For example, if
+'foo.c' also exists, the implicit rule to make an object file from a C
+source file is used instead, because it appears before the Pascal rule
+in the list of predefined implicit rules (*note Catalogue of Built-In
+Rules: Catalogue of Rules.).
+
+ If you do not want an implicit rule to be used for a target that has
+no recipe, you can give that target an empty recipe by writing a
+semicolon (*note Defining Empty Recipes: Empty Recipes.).
+
+
File: make.info, Node: Catalogue of Rules, Next: Implicit Variables, Prev: Using Implicit, Up: Implicit Rules
-10.2 Catalogue of Implicit Rules
+10.2 Catalogue of Built-In Rules
================================
Here is a catalogue of predefined implicit rules which are always
available unless the makefile explicitly overrides or cancels them.
*Note Canceling Implicit Rules: Canceling Rules, for information on
-canceling or overriding an implicit rule. The `-r' or
-`--no-builtin-rules' option cancels all predefined rules.
+canceling or overriding an implicit rule. The '-r' or
+'--no-builtin-rules' option cancels all predefined rules.
This manual only documents the default rules available on POSIX-based
-operating systems. Other operating systems, such as VMS, Windows,
-OS/2, etc. may have different sets of default rules. To see the full
-list of default rules and variables available in your version of GNU
-`make', run `make -p' in a directory with no makefile.
+operating systems. Other operating systems, such as VMS, Windows, OS/2,
+etc. may have different sets of default rules. To see the full list of
+default rules and variables available in your version of GNU 'make', run
+'make -p' in a directory with no makefile.
- Not all of these rules will always be defined, even when the `-r'
+ Not all of these rules will always be defined, even when the '-r'
option is not given. Many of the predefined implicit rules are
-implemented in `make' as suffix rules, so which ones will be defined
+implemented in 'make' as suffix rules, so which ones will be defined
depends on the "suffix list" (the list of prerequisites of the special
-target `.SUFFIXES'). The default suffix list is: `.out', `.a', `.ln',
-`.o', `.c', `.cc', `.C', `.cpp', `.p', `.f', `.F', `.m', `.r', `.y',
-`.l', `.ym', `.lm', `.s', `.S', `.mod', `.sym', `.def', `.h', `.info',
-`.dvi', `.tex', `.texinfo', `.texi', `.txinfo', `.w', `.ch' `.web',
-`.sh', `.elc', `.el'. All of the implicit rules described below whose
+target '.SUFFIXES'). The default suffix list is: '.out', '.a', '.ln',
+'.o', '.c', '.cc', '.C', '.cpp', '.p', '.f', '.F', '.m', '.r', '.y',
+'.l', '.ym', '.lm', '.s', '.S', '.mod', '.sym', '.def', '.h', '.info',
+'.dvi', '.tex', '.texinfo', '.texi', '.txinfo', '.w', '.ch' '.web',
+'.sh', '.elc', '.el'. All of the implicit rules described below whose
prerequisites have one of these suffixes are actually suffix rules. If
you modify the suffix list, the only predefined suffix rules in effect
will be those named by one or two of the suffixes that are on the list
@@ -63,60 +183,57 @@ you specify; rules whose suffixes fail to be on the list are disabled.
suffix rules.
Compiling C programs
- `N.o' is made automatically from `N.c' with a recipe of the form
- `$(CC) $(CPPFLAGS) $(CFLAGS) -c'.
+ 'N.o' is made automatically from 'N.c' with a recipe of the form
+ '$(CC) $(CPPFLAGS) $(CFLAGS) -c'.
Compiling C++ programs
- `N.o' is made automatically from `N.cc', `N.cpp', or `N.C' with a
- recipe of the form `$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c'. We
- encourage you to use the suffix `.cc' for C++ source files instead
- of `.C'.
+ 'N.o' is made automatically from 'N.cc', 'N.cpp', or 'N.C' with a
+ recipe of the form '$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c'. We
+ encourage you to use the suffix '.cc' for C++ source files instead
+ of '.C'.
Compiling Pascal programs
- `N.o' is made automatically from `N.p' with the recipe `$(PC)
+ 'N.o' is made automatically from 'N.p' with the recipe '$(PC)
$(PFLAGS) -c'.
Compiling Fortran and Ratfor programs
- `N.o' is made automatically from `N.r', `N.F' or `N.f' by running
+ 'N.o' is made automatically from 'N.r', 'N.F' or 'N.f' by running
the Fortran compiler. The precise recipe used is as follows:
- `.f'
- `$(FC) $(FFLAGS) -c'.
-
- `.F'
- `$(FC) $(FFLAGS) $(CPPFLAGS) -c'.
-
- `.r'
- `$(FC) $(FFLAGS) $(RFLAGS) -c'.
+ '.f'
+ '$(FC) $(FFLAGS) -c'.
+ '.F'
+ '$(FC) $(FFLAGS) $(CPPFLAGS) -c'.
+ '.r'
+ '$(FC) $(FFLAGS) $(RFLAGS) -c'.
Preprocessing Fortran and Ratfor programs
- `N.f' is made automatically from `N.r' or `N.F'. This rule runs
- just the preprocessor to convert a Ratfor or preprocessable
- Fortran program into a strict Fortran program. The precise recipe
- used is as follows:
-
- `.F'
- `$(FC) $(CPPFLAGS) $(FFLAGS) -F'.
+ 'N.f' is made automatically from 'N.r' or 'N.F'. This rule runs
+ just the preprocessor to convert a Ratfor or preprocessable Fortran
+ program into a strict Fortran program. The precise recipe used is
+ as follows:
- `.r'
- `$(FC) $(FFLAGS) $(RFLAGS) -F'.
+ '.F'
+ '$(FC) $(CPPFLAGS) $(FFLAGS) -F'.
+ '.r'
+ '$(FC) $(FFLAGS) $(RFLAGS) -F'.
Compiling Modula-2 programs
- `N.sym' is made from `N.def' with a recipe of the form `$(M2C)
- $(M2FLAGS) $(DEFFLAGS)'. `N.o' is made from `N.mod'; the form is:
- `$(M2C) $(M2FLAGS) $(MODFLAGS)'.
+ 'N.sym' is made from 'N.def' with a recipe of the form '$(M2C)
+ $(M2FLAGS) $(DEFFLAGS)'. 'N.o' is made from 'N.mod'; the form is:
+ '$(M2C) $(M2FLAGS) $(MODFLAGS)'.
Assembling and preprocessing assembler programs
- `N.o' is made automatically from `N.s' by running the assembler,
- `as'. The precise recipe is `$(AS) $(ASFLAGS)'.
+ 'N.o' is made automatically from 'N.s' by running the assembler,
+ 'as'. The precise recipe is '$(AS) $(ASFLAGS)'.
- `N.s' is made automatically from `N.S' by running the C
- preprocessor, `cpp'. The precise recipe is `$(CPP) $(CPPFLAGS)'.
+ 'N.s' is made automatically from 'N.S' by running the C
+ preprocessor, 'cpp'. The precise recipe is '$(CPP) $(CPPFLAGS)'.
Linking a single object file
- `N' is made automatically from `N.o' by running the linker
- (usually called `ld') via the C compiler. The precise recipe used
- is `$(CC) $(LDFLAGS) N.o $(LOADLIBES) $(LDLIBS)'.
+ 'N' is made automatically from 'N.o' by running the linker (usually
+ called 'ld') via the C compiler. The precise recipe used is
+ '$(CC) $(LDFLAGS) N.o $(LOADLIBES) $(LDLIBS)'.
This rule does the right thing for a simple program with only one
source file. It will also do the right thing if there are multiple
@@ -126,7 +243,7 @@ Linking a single object file
x: y.o z.o
- when `x.c', `y.c' and `z.c' all exist will execute:
+ when 'x.c', 'y.c' and 'z.c' all exist will execute:
cc -c x.c -o x.o
cc -c y.c -o y.o
@@ -137,109 +254,108 @@ Linking a single object file
rm -f z.o
In more complicated cases, such as when there is no object file
- whose name derives from the executable file name, you must write
- an explicit recipe for linking.
+ whose name derives from the executable file name, you must write an
+ explicit recipe for linking.
- Each kind of file automatically made into `.o' object files will
- be automatically linked by using the compiler (`$(CC)', `$(FC)' or
- `$(PC)'; the C compiler `$(CC)' is used to assemble `.s' files)
- without the `-c' option. This could be done by using the `.o'
- object files as intermediates, but it is faster to do the
- compiling and linking in one step, so that's how it's done.
+ Each kind of file automatically made into '.o' object files will be
+ automatically linked by using the compiler ('$(CC)', '$(FC)' or
+ '$(PC)'; the C compiler '$(CC)' is used to assemble '.s' files)
+ without the '-c' option. This could be done by using the '.o'
+ object files as intermediates, but it is faster to do the compiling
+ and linking in one step, so that's how it's done.
Yacc for C programs
- `N.c' is made automatically from `N.y' by running Yacc with the
- recipe `$(YACC) $(YFLAGS)'.
+ 'N.c' is made automatically from 'N.y' by running Yacc with the
+ recipe '$(YACC) $(YFLAGS)'.
Lex for C programs
- `N.c' is made automatically from `N.l' by running Lex. The actual
- recipe is `$(LEX) $(LFLAGS)'.
+ 'N.c' is made automatically from 'N.l' by running Lex. The actual
+ recipe is '$(LEX) $(LFLAGS)'.
Lex for Ratfor programs
- `N.r' is made automatically from `N.l' by running Lex. The actual
- recipe is `$(LEX) $(LFLAGS)'.
+ 'N.r' is made automatically from 'N.l' by running Lex. The actual
+ recipe is '$(LEX) $(LFLAGS)'.
- The convention of using the same suffix `.l' for all Lex files
+ The convention of using the same suffix '.l' for all Lex files
regardless of whether they produce C code or Ratfor code makes it
- impossible for `make' to determine automatically which of the two
- languages you are using in any particular case. If `make' is
- called upon to remake an object file from a `.l' file, it must
+ impossible for 'make' to determine automatically which of the two
+ languages you are using in any particular case. If 'make' is
+ called upon to remake an object file from a '.l' file, it must
guess which compiler to use. It will guess the C compiler, because
- that is more common. If you are using Ratfor, make sure `make'
- knows this by mentioning `N.r' in the makefile. Or, if you are
- using Ratfor exclusively, with no C files, remove `.c' from the
+ that is more common. If you are using Ratfor, make sure 'make'
+ knows this by mentioning 'N.r' in the makefile. Or, if you are
+ using Ratfor exclusively, with no C files, remove '.c' from the
list of implicit rule suffixes with:
.SUFFIXES:
.SUFFIXES: .o .r .f .l ...
Making Lint Libraries from C, Yacc, or Lex programs
- `N.ln' is made from `N.c' by running `lint'. The precise recipe
- is `$(LINT) $(LINTFLAGS) $(CPPFLAGS) -i'. The same recipe is used
- on the C code produced from `N.y' or `N.l'.
+ 'N.ln' is made from 'N.c' by running 'lint'. The precise recipe is
+ '$(LINT) $(LINTFLAGS) $(CPPFLAGS) -i'. The same recipe is used on
+ the C code produced from 'N.y' or 'N.l'.
TeX and Web
- `N.dvi' is made from `N.tex' with the recipe `$(TEX)'. `N.tex' is
- made from `N.web' with `$(WEAVE)', or from `N.w' (and from `N.ch'
- if it exists or can be made) with `$(CWEAVE)'. `N.p' is made from
- `N.web' with `$(TANGLE)' and `N.c' is made from `N.w' (and from
- `N.ch' if it exists or can be made) with `$(CTANGLE)'.
+ 'N.dvi' is made from 'N.tex' with the recipe '$(TEX)'. 'N.tex' is
+ made from 'N.web' with '$(WEAVE)', or from 'N.w' (and from 'N.ch'
+ if it exists or can be made) with '$(CWEAVE)'. 'N.p' is made from
+ 'N.web' with '$(TANGLE)' and 'N.c' is made from 'N.w' (and from
+ 'N.ch' if it exists or can be made) with '$(CTANGLE)'.
Texinfo and Info
- `N.dvi' is made from `N.texinfo', `N.texi', or `N.txinfo', with
- the recipe `$(TEXI2DVI) $(TEXI2DVI_FLAGS)'. `N.info' is made from
- `N.texinfo', `N.texi', or `N.txinfo', with the recipe
- `$(MAKEINFO) $(MAKEINFO_FLAGS)'.
+ 'N.dvi' is made from 'N.texinfo', 'N.texi', or 'N.txinfo', with the
+ recipe '$(TEXI2DVI) $(TEXI2DVI_FLAGS)'. 'N.info' is made from
+ 'N.texinfo', 'N.texi', or 'N.txinfo', with the recipe
+ '$(MAKEINFO) $(MAKEINFO_FLAGS)'.
RCS
- Any file `N' is extracted if necessary from an RCS file named
- either `N,v' or `RCS/N,v'. The precise recipe used is
- `$(CO) $(COFLAGS)'. `N' will not be extracted from RCS if it
+ Any file 'N' is extracted if necessary from an RCS file named
+ either 'N,v' or 'RCS/N,v'. The precise recipe used is
+ '$(CO) $(COFLAGS)'. 'N' will not be extracted from RCS if it
already exists, even if the RCS file is newer. The rules for RCS
are terminal (*note Match-Anything Pattern Rules: Match-Anything
- Rules.), so RCS files cannot be generated from another source;
- they must actually exist.
+ Rules.), so RCS files cannot be generated from another source; they
+ must actually exist.
SCCS
- Any file `N' is extracted if necessary from an SCCS file named
- either `s.N' or `SCCS/s.N'. The precise recipe used is
- `$(GET) $(GFLAGS)'. The rules for SCCS are terminal (*note
- Match-Anything Pattern Rules: Match-Anything Rules.), so SCCS
- files cannot be generated from another source; they must actually
- exist.
-
- For the benefit of SCCS, a file `N' is copied from `N.sh' and made
+ Any file 'N' is extracted if necessary from an SCCS file named
+ either 's.N' or 'SCCS/s.N'. The precise recipe used is
+ '$(GET) $(GFLAGS)'. The rules for SCCS are terminal (*note
+ Match-Anything Pattern Rules: Match-Anything Rules.), so SCCS files
+ cannot be generated from another source; they must actually exist.
+
+ For the benefit of SCCS, a file 'N' is copied from 'N.sh' and made
executable (by everyone). This is for shell scripts that are
- checked into SCCS. Since RCS preserves the execution permission
- of a file, you do not need to use this feature with RCS.
+ checked into SCCS. Since RCS preserves the execution permission of
+ a file, you do not need to use this feature with RCS.
- We recommend that you avoid using of SCCS. RCS is widely held to
- be superior, and is also free. By choosing free software in place
- of comparable (or inferior) proprietary software, you support the
- free software movement.
+ We recommend that you avoid using of SCCS. RCS is widely held to be
+ superior, and is also free. By choosing free software in place of
+ comparable (or inferior) proprietary software, you support the free
+ software movement.
Usually, you want to change only the variables listed in the table
above, which are documented in the following section.
However, the recipes in built-in implicit rules actually use
-variables such as `COMPILE.c', `LINK.p', and `PREPROCESS.S', whose
+variables such as 'COMPILE.c', 'LINK.p', and 'PREPROCESS.S', whose
values contain the recipes listed above.
- `make' follows the convention that the rule to compile a `.X' source
-file uses the variable `COMPILE.X'. Similarly, the rule to produce an
-executable from a `.X' file uses `LINK.X'; and the rule to preprocess a
-`.X' file uses `PREPROCESS.X'.
+ 'make' follows the convention that the rule to compile a '.X' source
+file uses the variable 'COMPILE.X'. Similarly, the rule to produce an
+executable from a '.X' file uses 'LINK.X'; and the rule to preprocess a
+'.X' file uses 'PREPROCESS.X'.
Every rule that produces an object file uses the variable
-`OUTPUT_OPTION'. `make' defines this variable either to contain `-o
+'OUTPUT_OPTION'. 'make' defines this variable either to contain '-o
$@', or to be empty, depending on a compile-time option. You need the
-`-o' option to ensure that the output goes into the right file when the
-source file is in a different directory, as when using `VPATH' (*note
-Directory Search::). However, compilers on some systems do not accept
-a `-o' switch for object files. If you use such a system, and use
-`VPATH', some compilations will put their output in the wrong place. A
-possible workaround for this problem is to give `OUTPUT_OPTION' the
-value `; mv $*.o $@'.
+'-o' option to ensure that the output goes into the right file when the
+source file is in a different directory, as when using 'VPATH' (*note
+Directory Search::). However, compilers on some systems do not accept a
+'-o' switch for object files. If you use such a system, and use
+'VPATH', some compilations will put their output in the wrong place. A
+possible workaround for this problem is to give 'OUTPUT_OPTION' the
+value '; mv $*.o $@'.

File: make.info, Node: Implicit Variables, Next: Chained Rules, Prev: Catalogue of Rules, Up: Implicit Rules
@@ -249,153 +365,160 @@ File: make.info, Node: Implicit Variables, Next: Chained Rules, Prev: Catalog
The recipes in built-in implicit rules make liberal use of certain
predefined variables. You can alter the values of these variables in
-the makefile, with arguments to `make', or in the environment to alter
+the makefile, with arguments to 'make', or in the environment to alter
how the implicit rules work without redefining the rules themselves.
-You can cancel all variables used by implicit rules with the `-R' or
-`--no-builtin-variables' option.
+You can cancel all variables used by implicit rules with the '-R' or
+'--no-builtin-variables' option.
For example, the recipe used to compile a C source file actually says
-`$(CC) -c $(CFLAGS) $(CPPFLAGS)'. The default values of the variables
-used are `cc' and nothing, resulting in the command `cc -c'. By
-redefining `CC' to `ncc', you could cause `ncc' to be used for all C
-compilations performed by the implicit rule. By redefining `CFLAGS' to
-be `-g', you could pass the `-g' option to each compilation. _All_
-implicit rules that do C compilation use `$(CC)' to get the program
-name for the compiler and _all_ include `$(CFLAGS)' among the arguments
-given to the compiler.
+'$(CC) -c $(CFLAGS) $(CPPFLAGS)'. The default values of the variables
+used are 'cc' and nothing, resulting in the command 'cc -c'. By
+redefining 'CC' to 'ncc', you could cause 'ncc' to be used for all C
+compilations performed by the implicit rule. By redefining 'CFLAGS' to
+be '-g', you could pass the '-g' option to each compilation. _All_
+implicit rules that do C compilation use '$(CC)' to get the program name
+for the compiler and _all_ include '$(CFLAGS)' among the arguments given
+to the compiler.
The variables used in implicit rules fall into two classes: those
-that are names of programs (like `CC') and those that contain arguments
-for the programs (like `CFLAGS'). (The "name of a program" may also
+that are names of programs (like 'CC') and those that contain arguments
+for the programs (like 'CFLAGS'). (The "name of a program" may also
contain some command arguments, but it must start with an actual
executable program name.) If a variable value contains more than one
argument, separate them with spaces.
The following tables describe of some of the more commonly-used
predefined variables. This list is not exhaustive, and the default
-values shown here may not be what `make' selects for your environment.
+values shown here may not be what 'make' selects for your environment.
To see the complete list of predefined variables for your instance of
-GNU `make' you can run `make -p' in a directory with no makefiles.
+GNU 'make' you can run 'make -p' in a directory with no makefiles.
Here is a table of some of the more common variables used as names of
-programs in built-in rules: makefiles.
+programs in built-in rules:
-`AR'
- Archive-maintaining program; default `ar'.
+'AR'
+ Archive-maintaining program; default 'ar'.
-`AS'
- Program for compiling assembly files; default `as'.
+'AS'
+ Program for compiling assembly files; default 'as'.
-`CC'
- Program for compiling C programs; default `cc'.
+'CC'
+ Program for compiling C programs; default 'cc'.
-`CXX'
- Program for compiling C++ programs; default `g++'.
+'CXX'
+ Program for compiling C++ programs; default 'g++'.
-`CPP'
+'CPP'
Program for running the C preprocessor, with results to standard
- output; default `$(CC) -E'.
+ output; default '$(CC) -E'.
-`FC'
+'FC'
Program for compiling or preprocessing Fortran and Ratfor programs;
- default `f77'.
+ default 'f77'.
-`M2C'
- Program to use to compile Modula-2 source code; default `m2c'.
+'M2C'
+ Program to use to compile Modula-2 source code; default 'm2c'.
-`PC'
- Program for compiling Pascal programs; default `pc'.
+'PC'
+ Program for compiling Pascal programs; default 'pc'.
-`CO'
- Program for extracting a file from RCS; default `co'.
+'CO'
+ Program for extracting a file from RCS; default 'co'.
-`GET'
- Program for extracting a file from SCCS; default `get'.
+'GET'
+ Program for extracting a file from SCCS; default 'get'.
-`LEX'
+'LEX'
Program to use to turn Lex grammars into source code; default
- `lex'.
+ 'lex'.
-`YACC'
+'YACC'
Program to use to turn Yacc grammars into source code; default
- `yacc'.
+ 'yacc'.
-`LINT'
- Program to use to run lint on source code; default `lint'.
+'LINT'
+ Program to use to run lint on source code; default 'lint'.
-`MAKEINFO'
+'MAKEINFO'
Program to convert a Texinfo source file into an Info file; default
- `makeinfo'.
+ 'makeinfo'.
-`TEX'
- Program to make TeX DVI files from TeX source; default `tex'.
+'TEX'
+ Program to make TeX DVI files from TeX source; default 'tex'.
-`TEXI2DVI'
+'TEXI2DVI'
Program to make TeX DVI files from Texinfo source; default
- `texi2dvi'.
+ 'texi2dvi'.
-`WEAVE'
- Program to translate Web into TeX; default `weave'.
+'WEAVE'
+ Program to translate Web into TeX; default 'weave'.
-`CWEAVE'
- Program to translate C Web into TeX; default `cweave'.
+'CWEAVE'
+ Program to translate C Web into TeX; default 'cweave'.
-`TANGLE'
- Program to translate Web into Pascal; default `tangle'.
+'TANGLE'
+ Program to translate Web into Pascal; default 'tangle'.
-`CTANGLE'
- Program to translate C Web into C; default `ctangle'.
+'CTANGLE'
+ Program to translate C Web into C; default 'ctangle'.
-`RM'
- Command to remove a file; default `rm -f'.
+'RM'
+ Command to remove a file; default 'rm -f'.
Here is a table of variables whose values are additional arguments
for the programs above. The default values for all of these is the
empty string, unless otherwise noted.
-`ARFLAGS'
- Flags to give the archive-maintaining program; default `rv'.
+'ARFLAGS'
+ Flags to give the archive-maintaining program; default 'rv'.
-`ASFLAGS'
+'ASFLAGS'
Extra flags to give to the assembler (when explicitly invoked on a
- `.s' or `.S' file).
+ '.s' or '.S' file).
-`CFLAGS'
+'CFLAGS'
Extra flags to give to the C compiler.
-`CXXFLAGS'
+'CXXFLAGS'
Extra flags to give to the C++ compiler.
-`COFLAGS'
- Extra flags to give to the RCS `co' program.
+'COFLAGS'
+ Extra flags to give to the RCS 'co' program.
-`CPPFLAGS'
+'CPPFLAGS'
Extra flags to give to the C preprocessor and programs that use it
(the C and Fortran compilers).
-`FFLAGS'
+'FFLAGS'
Extra flags to give to the Fortran compiler.
-`GFLAGS'
- Extra flags to give to the SCCS `get' program.
+'GFLAGS'
+ Extra flags to give to the SCCS 'get' program.
-`LDFLAGS'
+'LDFLAGS'
Extra flags to give to compilers when they are supposed to invoke
- the linker, `ld'.
+ the linker, 'ld', such as '-L'. Libraries ('-lfoo') should be
+ added to the 'LDLIBS' variable instead.
+
+'LDLIBS'
+ Library flags or names given to compilers when they are supposed to
+ invoke the linker, 'ld'. 'LOADLIBES' is a deprecated (but still
+ supported) alternative to 'LDLIBS'. Non-library linker flags, such
+ as '-L', should go in the 'LDFLAGS' variable.
-`LFLAGS'
+'LFLAGS'
Extra flags to give to Lex.
-`YFLAGS'
+'YFLAGS'
Extra flags to give to Yacc.
-`PFLAGS'
+'PFLAGS'
Extra flags to give to the Pascal compiler.
-`RFLAGS'
+'RFLAGS'
Extra flags to give to the Fortran compiler for Ratfor programs.
-`LINTFLAGS'
+'LINTFLAGS'
Extra flags to give to lint.

@@ -405,18 +528,18 @@ File: make.info, Node: Chained Rules, Next: Pattern Rules, Prev: Implicit Var
=============================
Sometimes a file can be made by a sequence of implicit rules. For
-example, a file `N.o' could be made from `N.y' by running first Yacc
-and then `cc'. Such a sequence is called a "chain".
-
- If the file `N.c' exists, or is mentioned in the makefile, no
-special searching is required: `make' finds that the object file can be
-made by C compilation from `N.c'; later on, when considering how to
-make `N.c', the rule for running Yacc is used. Ultimately both `N.c'
-and `N.o' are updated.
-
- However, even if `N.c' does not exist and is not mentioned, `make'
-knows how to envision it as the missing link between `N.o' and `N.y'!
-In this case, `N.c' is called an "intermediate file". Once `make' has
+example, a file 'N.o' could be made from 'N.y' by running first Yacc and
+then 'cc'. Such a sequence is called a "chain".
+
+ If the file 'N.c' exists, or is mentioned in the makefile, no special
+searching is required: 'make' finds that the object file can be made by
+C compilation from 'N.c'; later on, when considering how to make 'N.c',
+the rule for running Yacc is used. Ultimately both 'N.c' and 'N.o' are
+updated.
+
+ However, even if 'N.c' does not exist and is not mentioned, 'make'
+knows how to envision it as the missing link between 'N.o' and 'N.y'!
+In this case, 'N.c' is called an "intermediate file". Once 'make' has
decided to use the intermediate file, it is entered in the data base as
if it had been mentioned in the makefile, along with the implicit rule
that says how to create it.
@@ -425,56 +548,56 @@ that says how to create it.
files. But intermediate files are treated differently in two ways.
The first difference is what happens if the intermediate file does
-not exist. If an ordinary file B does not exist, and `make' considers
-a target that depends on B, it invariably creates B and then updates
-the target from B. But if B is an intermediate file, then `make' can
-leave well enough alone. It won't bother updating B, or the ultimate
-target, unless some prerequisite of B is newer than that target or
-there is some other reason to update that target.
-
- The second difference is that if `make' _does_ create B in order to
+not exist. If an ordinary file B does not exist, and 'make' considers a
+target that depends on B, it invariably creates B and then updates the
+target from B. But if B is an intermediate file, then 'make' can leave
+well enough alone. It won't bother updating B, or the ultimate target,
+unless some prerequisite of B is newer than that target or there is some
+other reason to update that target.
+
+ The second difference is that if 'make' _does_ create B in order to
update something else, it deletes B later on after it is no longer
needed. Therefore, an intermediate file which did not exist before
-`make' also does not exist after `make'. `make' reports the deletion
-to you by printing a `rm -f' command showing which file it is deleting.
+'make' also does not exist after 'make'. 'make' reports the deletion to
+you by printing a 'rm -f' command showing which file it is deleting.
Ordinarily, a file cannot be intermediate if it is mentioned in the
makefile as a target or prerequisite. However, you can explicitly mark
a file as intermediate by listing it as a prerequisite of the special
-target `.INTERMEDIATE'. This takes effect even if the file is mentioned
+target '.INTERMEDIATE'. This takes effect even if the file is mentioned
explicitly in some other way.
- You can prevent automatic deletion of an intermediate file by
-marking it as a "secondary" file. To do this, list it as a
-prerequisite of the special target `.SECONDARY'. When a file is
-secondary, `make' will not create the file merely because it does not
-already exist, but `make' does not automatically delete the file.
-Marking a file as secondary also marks it as intermediate.
+ You can prevent automatic deletion of an intermediate file by marking
+it as a "secondary" file. To do this, list it as a prerequisite of the
+special target '.SECONDARY'. When a file is secondary, 'make' will not
+create the file merely because it does not already exist, but 'make'
+does not automatically delete the file. Marking a file as secondary
+also marks it as intermediate.
- You can list the target pattern of an implicit rule (such as `%.o')
-as a prerequisite of the special target `.PRECIOUS' to preserve
+ You can list the target pattern of an implicit rule (such as '%.o')
+as a prerequisite of the special target '.PRECIOUS' to preserve
intermediate files made by implicit rules whose target patterns match
-that file's name; see *note Interrupts::.
+that file's name; see *note Interrupts::.
A chain can involve more than two implicit rules. For example, it is
-possible to make a file `foo' from `RCS/foo.y,v' by running RCS, Yacc
-and `cc'. Then both `foo.y' and `foo.c' are intermediate files that
-are deleted at the end.
+possible to make a file 'foo' from 'RCS/foo.y,v' by running RCS, Yacc
+and 'cc'. Then both 'foo.y' and 'foo.c' are intermediate files that are
+deleted at the end.
No single implicit rule can appear more than once in a chain. This
-means that `make' will not even consider such a ridiculous thing as
-making `foo' from `foo.o.o' by running the linker twice. This
+means that 'make' will not even consider such a ridiculous thing as
+making 'foo' from 'foo.o.o' by running the linker twice. This
constraint has the added benefit of preventing any infinite loop in the
search for an implicit rule chain.
There are some special implicit rules to optimize certain cases that
-would otherwise be handled by rule chains. For example, making `foo'
-from `foo.c' could be handled by compiling and linking with separate
-chained rules, using `foo.o' as an intermediate file. But what
-actually happens is that a special rule for this case does the
-compilation and linking with a single `cc' command. The optimized rule
-is used in preference to the step-by-step chain because it comes
-earlier in the ordering of rules.
+would otherwise be handled by rule chains. For example, making 'foo'
+from 'foo.c' could be handled by compiling and linking with separate
+chained rules, using 'foo.o' as an intermediate file. But what actually
+happens is that a special rule for this case does the compilation and
+linking with a single 'cc' command. The optimized rule is used in
+preference to the step-by-step chain because it comes earlier in the
+ordering of rules.

File: make.info, Node: Pattern Rules, Next: Last Resort, Prev: Chained Rules, Up: Implicit Rules
@@ -482,18 +605,17 @@ File: make.info, Node: Pattern Rules, Next: Last Resort, Prev: Chained Rules,
10.5 Defining and Redefining Pattern Rules
==========================================
-You define an implicit rule by writing a "pattern rule". A pattern
-rule looks like an ordinary rule, except that its target contains the
-character `%' (exactly one of them). The target is considered a
-pattern for matching file names; the `%' can match any nonempty
-substring, while other characters match only themselves. The
-prerequisites likewise use `%' to show how their names relate to the
-target name.
+You define an implicit rule by writing a "pattern rule". A pattern rule
+looks like an ordinary rule, except that its target contains the
+character '%' (exactly one of them). The target is considered a pattern
+for matching file names; the '%' can match any nonempty substring, while
+other characters match only themselves. The prerequisites likewise use
+'%' to show how their names relate to the target name.
- Thus, a pattern rule `%.o : %.c' says how to make any file `STEM.o'
-from another file `STEM.c'.
+ Thus, a pattern rule '%.o : %.c' says how to make any file 'STEM.o'
+from another file 'STEM.c'.
- Note that expansion using `%' in pattern rules occurs *after* any
+ Note that expansion using '%' in pattern rules occurs *after* any
variable or function expansions, which take place when the makefile is
read. *Note How to Use Variables: Using Variables, and *note Functions
for Transforming Text: Functions.
@@ -503,7 +625,7 @@ for Transforming Text: Functions.
* Pattern Intro:: An introduction to pattern rules.
* Pattern Examples:: Examples of pattern rules.
* Automatic Variables:: How to use automatic variables in the
- recipes of implicit rules.
+ recipe of implicit rules.
* Pattern Match:: How patterns match.
* Match-Anything Rules:: Precautions you should take prior to
defining rules that can match any
@@ -516,54 +638,54 @@ File: make.info, Node: Pattern Intro, Next: Pattern Examples, Prev: Pattern R
10.5.1 Introduction to Pattern Rules
------------------------------------
-A pattern rule contains the character `%' (exactly one of them) in the
+A pattern rule contains the character '%' (exactly one of them) in the
target; otherwise, it looks exactly like an ordinary rule. The target
-is a pattern for matching file names; the `%' matches any nonempty
-substring, while other characters match only themselves.
-
- For example, `%.c' as a pattern matches any file name that ends in
-`.c'. `s.%.c' as a pattern matches any file name that starts with
-`s.', ends in `.c' and is at least five characters long. (There must
-be at least one character to match the `%'.) The substring that the
-`%' matches is called the "stem".
-
- `%' in a prerequisite of a pattern rule stands for the same stem
-that was matched by the `%' in the target. In order for the pattern
-rule to apply, its target pattern must match the file name under
-consideration and all of its prerequisites (after pattern substitution)
-must name files that exist or can be made. These files become
-prerequisites of the target.
+is a pattern for matching file names; the '%' matches any nonempty
+substring, while other characters match only themselves.
+
+ For example, '%.c' as a pattern matches any file name that ends in
+'.c'. 's.%.c' as a pattern matches any file name that starts with 's.',
+ends in '.c' and is at least five characters long. (There must be at
+least one character to match the '%'.) The substring that the '%'
+matches is called the "stem".
+
+ '%' in a prerequisite of a pattern rule stands for the same stem that
+was matched by the '%' in the target. In order for the pattern rule to
+apply, its target pattern must match the file name under consideration
+and all of its prerequisites (after pattern substitution) must name
+files that exist or can be made. These files become prerequisites of
+the target.
Thus, a rule of the form
%.o : %.c ; RECIPE...
-specifies how to make a file `N.o', with another file `N.c' as its
-prerequisite, provided that `N.c' exists or can be made.
+specifies how to make a file 'N.o', with another file 'N.c' as its
+prerequisite, provided that 'N.c' exists or can be made.
- There may also be prerequisites that do not use `%'; such a
+ There may also be prerequisites that do not use '%'; such a
prerequisite attaches to every file made by this pattern rule. These
unvarying prerequisites are useful occasionally.
- A pattern rule need not have any prerequisites that contain `%', or
+ A pattern rule need not have any prerequisites that contain '%', or
in fact any prerequisites at all. Such a rule is effectively a general
wildcard. It provides a way to make any file that matches the target
pattern. *Note Last Resort::.
- More than one pattern rule may match a target. In this case `make'
+ More than one pattern rule may match a target. In this case 'make'
will choose the "best fit" rule. *Note How Patterns Match: Pattern
Match.
Pattern rules may have more than one target. Unlike normal rules,
this does not act as many different rules with the same prerequisites
-and recipe. If a pattern rule has multiple targets, `make' knows that
+and recipe. If a pattern rule has multiple targets, 'make' knows that
the rule's recipe is responsible for making all of the targets. The
recipe is executed only once to make all the targets. When searching
for a pattern rule to match a target, the target patterns of a rule
other than the one that matches the target in need of a rule are
-incidental: `make' worries only about giving a recipe and prerequisites
+incidental: 'make' worries only about giving a recipe and prerequisites
to the file presently in question. However, when this file's recipe is
-run, the other targets are marked as having been updated themselves.
+run, the other targets are marked as having been updated themselves.

File: make.info, Node: Pattern Examples, Next: Automatic Variables, Prev: Pattern Intro, Up: Pattern Rules
@@ -571,15 +693,15 @@ File: make.info, Node: Pattern Examples, Next: Automatic Variables, Prev: Pat
10.5.2 Pattern Rule Examples
----------------------------
-Here are some examples of pattern rules actually predefined in `make'.
-First, the rule that compiles `.c' files into `.o' files:
+Here are some examples of pattern rules actually predefined in 'make'.
+First, the rule that compiles '.c' files into '.o' files:
%.o : %.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
-defines a rule that can make any file `X.o' from `X.c'. The recipe
-uses the automatic variables `$@' and `$<' to substitute the names of
-the target file and the source file in each case where the rule applies
+defines a rule that can make any file 'X.o' from 'X.c'. The recipe uses
+the automatic variables '$@' and '$<' to substitute the names of the
+target file and the source file in each case where the rule applies
(*note Automatic Variables::).
Here is a second built-in rule:
@@ -587,9 +709,9 @@ the target file and the source file in each case where the rule applies
% :: RCS/%,v
$(CO) $(COFLAGS) $<
-defines a rule that can make any file `X' whatsoever from a
-corresponding file `X,v' in the subdirectory `RCS'. Since the target
-is `%', this rule will apply to any file whatever, provided the
+defines a rule that can make any file 'X' whatsoever from a
+corresponding file 'X,v' in the sub-directory 'RCS'. Since the target
+is '%', this rule will apply to any file whatever, provided the
appropriate prerequisite file exists. The double colon makes the rule
"terminal", which means that its prerequisite may not be an intermediate
file (*note Match-Anything Pattern Rules: Match-Anything Rules.).
@@ -599,15 +721,15 @@ file (*note Match-Anything Pattern Rules: Match-Anything Rules.).
%.tab.c %.tab.h: %.y
bison -d $<
-This tells `make' that the recipe `bison -d X.y' will make both
-`X.tab.c' and `X.tab.h'. If the file `foo' depends on the files
-`parse.tab.o' and `scan.o' and the file `scan.o' depends on the file
-`parse.tab.h', when `parse.y' is changed, the recipe `bison -d parse.y'
-will be executed only once, and the prerequisites of both `parse.tab.o'
-and `scan.o' will be satisfied. (Presumably the file `parse.tab.o'
-will be recompiled from `parse.tab.c' and the file `scan.o' from
-`scan.c', while `foo' is linked from `parse.tab.o', `scan.o', and its
-other prerequisites, and it will execute happily ever after.)
+This tells 'make' that the recipe 'bison -d X.y' will make both
+'X.tab.c' and 'X.tab.h'. If the file 'foo' depends on the files
+'parse.tab.o' and 'scan.o' and the file 'scan.o' depends on the file
+'parse.tab.h', when 'parse.y' is changed, the recipe 'bison -d parse.y'
+will be executed only once, and the prerequisites of both 'parse.tab.o'
+and 'scan.o' will be satisfied. (Presumably the file 'parse.tab.o' will
+be recompiled from 'parse.tab.c' and the file 'scan.o' from 'scan.c',
+while 'foo' is linked from 'parse.tab.o', 'scan.o', and its other
+prerequisites, and it will execute happily ever after.)

File: make.info, Node: Automatic Variables, Next: Pattern Match, Prev: Pattern Examples, Up: Pattern Rules
@@ -615,97 +737,97 @@ File: make.info, Node: Automatic Variables, Next: Pattern Match, Prev: Patter
10.5.3 Automatic Variables
--------------------------
-Suppose you are writing a pattern rule to compile a `.c' file into a
-`.o' file: how do you write the `cc' command so that it operates on the
+Suppose you are writing a pattern rule to compile a '.c' file into a
+'.o' file: how do you write the 'cc' command so that it operates on the
right source file name? You cannot write the name in the recipe,
because the name is different each time the implicit rule is applied.
- What you do is use a special feature of `make', the "automatic
+ What you do is use a special feature of 'make', the "automatic
variables". These variables have values computed afresh for each rule
-that is executed, based on the target and prerequisites of the rule.
-In this example, you would use `$@' for the object file name and `$<'
-for the source file name.
+that is executed, based on the target and prerequisites of the rule. In
+this example, you would use '$@' for the object file name and '$<' for
+the source file name.
It's very important that you recognize the limited scope in which
automatic variable values are available: they only have values within
the recipe. In particular, you cannot use them anywhere within the
target list of a rule; they have no value there and will expand to the
empty string. Also, they cannot be accessed directly within the
-prerequisite list of a rule. A common mistake is attempting to use
-`$@' within the prerequisites list; this will not work. However, there
-is a special feature of GNU `make', secondary expansion (*note
-Secondary Expansion::), which will allow automatic variable values to
-be used in prerequisite lists.
+prerequisite list of a rule. A common mistake is attempting to use '$@'
+within the prerequisites list; this will not work. However, there is a
+special feature of GNU 'make', secondary expansion (*note Secondary
+Expansion::), which will allow automatic variable values to be used in
+prerequisite lists.
Here is a table of automatic variables:
-`$@'
+'$@'
The file name of the target of the rule. If the target is an
- archive member, then `$@' is the name of the archive file. In a
+ archive member, then '$@' is the name of the archive file. In a
pattern rule that has multiple targets (*note Introduction to
- Pattern Rules: Pattern Intro.), `$@' is the name of whichever
+ Pattern Rules: Pattern Intro.), '$@' is the name of whichever
target caused the rule's recipe to be run.
-`$%'
+'$%'
The target member name, when the target is an archive member.
- *Note Archives::. For example, if the target is `foo.a(bar.o)'
- then `$%' is `bar.o' and `$@' is `foo.a'. `$%' is empty when the
+ *Note Archives::. For example, if the target is 'foo.a(bar.o)'
+ then '$%' is 'bar.o' and '$@' is 'foo.a'. '$%' is empty when the
target is not an archive member.
-`$<'
+'$<'
The name of the first prerequisite. If the target got its recipe
- from an implicit rule, this will be the first prerequisite added
- by the implicit rule (*note Implicit Rules::).
+ from an implicit rule, this will be the first prerequisite added by
+ the implicit rule (*note Implicit Rules::).
-`$?'
+'$?'
The names of all the prerequisites that are newer than the target,
with spaces between them. For prerequisites which are archive
- members, only the named member is used (*note Archives::).
+ members, only the named member is used (*note Archives::).
-`$^'
+'$^'
The names of all the prerequisites, with spaces between them. For
prerequisites which are archive members, only the named member is
used (*note Archives::). A target has only one prerequisite on
each other file it depends on, no matter how many times each file
is listed as a prerequisite. So if you list a prerequisite more
- than once for a target, the value of `$^' contains just one copy
- of the name. This list does *not* contain any of the order-only
- prerequisites; for those see the `$|' variable, below.
+ than once for a target, the value of '$^' contains just one copy of
+ the name. This list does *not* contain any of the order-only
+ prerequisites; for those see the '$|' variable, below.
-`$+'
- This is like `$^', but prerequisites listed more than once are
+'$+'
+ This is like '$^', but prerequisites listed more than once are
duplicated in the order they were listed in the makefile. This is
- primarily useful for use in linking commands where it is
- meaningful to repeat library file names in a particular order.
+ primarily useful for use in linking commands where it is meaningful
+ to repeat library file names in a particular order.
-`$|'
+'$|'
The names of all the order-only prerequisites, with spaces between
them.
-`$*'
+'$*'
The stem with which an implicit rule matches (*note How Patterns
- Match: Pattern Match.). If the target is `dir/a.foo.b' and the
- target pattern is `a.%.b' then the stem is `dir/foo'. The stem is
- useful for constructing names of related files.
+ Match: Pattern Match.). If the target is 'dir/a.foo.b' and the
+ target pattern is 'a.%.b' then the stem is 'dir/foo'. The stem is
+ useful for constructing names of related files.
In a static pattern rule, the stem is part of the file name that
- matched the `%' in the target pattern.
+ matched the '%' in the target pattern.
- In an explicit rule, there is no stem; so `$*' cannot be determined
+ In an explicit rule, there is no stem; so '$*' cannot be determined
in that way. Instead, if the target name ends with a recognized
- suffix (*note Old-Fashioned Suffix Rules: Suffix Rules.), `$*' is
+ suffix (*note Old-Fashioned Suffix Rules: Suffix Rules.), '$*' is
set to the target name minus the suffix. For example, if the
- target name is `foo.c', then `$*' is set to `foo', since `.c' is a
- suffix. GNU `make' does this bizarre thing only for compatibility
- with other implementations of `make'. You should generally avoid
- using `$*' except in implicit rules or static pattern rules.
+ target name is 'foo.c', then '$*' is set to 'foo', since '.c' is a
+ suffix. GNU 'make' does this bizarre thing only for compatibility
+ with other implementations of 'make'. You should generally avoid
+ using '$*' except in implicit rules or static pattern rules.
If the target name in an explicit rule does not end with a
- recognized suffix, `$*' is set to the empty string for that rule.
+ recognized suffix, '$*' is set to the empty string for that rule.
- `$?' is useful even in explicit rules when you wish to operate on
+ '$?' is useful even in explicit rules when you wish to operate on
only the prerequisites that have changed. For example, suppose that an
-archive named `lib' is supposed to contain copies of several object
+archive named 'lib' is supposed to contain copies of several object
files. This rule copies just the changed object files into the archive:
lib: foo.o bar.o lose.o win.o
@@ -715,66 +837,65 @@ files. This rule copies just the changed object files into the archive:
names, and three have values that are lists of file names. These seven
have variants that get just the file's directory name or just the file
name within the directory. The variant variables' names are formed by
-appending `D' or `F', respectively. These variants are semi-obsolete
-in GNU `make' since the functions `dir' and `notdir' can be used to get
-a similar effect (*note Functions for File Names: File Name
-Functions.). Note, however, that the `D' variants all omit the
-trailing slash which always appears in the output of the `dir'
-function. Here is a table of the variants:
-
-`$(@D)'
+appending 'D' or 'F', respectively. These variants are semi-obsolete in
+GNU 'make' since the functions 'dir' and 'notdir' can be used to get a
+similar effect (*note Functions for File Names: File Name Functions.).
+Note, however, that the 'D' variants all omit the trailing slash which
+always appears in the output of the 'dir' function. Here is a table of
+the variants:
+
+'$(@D)'
The directory part of the file name of the target, with the
- trailing slash removed. If the value of `$@' is `dir/foo.o' then
- `$(@D)' is `dir'. This value is `.' if `$@' does not contain a
+ trailing slash removed. If the value of '$@' is 'dir/foo.o' then
+ '$(@D)' is 'dir'. This value is '.' if '$@' does not contain a
slash.
-`$(@F)'
+'$(@F)'
The file-within-directory part of the file name of the target. If
- the value of `$@' is `dir/foo.o' then `$(@F)' is `foo.o'. `$(@F)'
- is equivalent to `$(notdir $@)'.
+ the value of '$@' is 'dir/foo.o' then '$(@F)' is 'foo.o'. '$(@F)'
+ is equivalent to '$(notdir $@)'.
-`$(*D)'
-`$(*F)'
+'$(*D)'
+'$(*F)'
The directory part and the file-within-directory part of the stem;
- `dir' and `foo' in this example.
+ 'dir' and 'foo' in this example.
-`$(%D)'
-`$(%F)'
+'$(%D)'
+'$(%F)'
The directory part and the file-within-directory part of the target
archive member name. This makes sense only for archive member
- targets of the form `ARCHIVE(MEMBER)' and is useful only when
+ targets of the form 'ARCHIVE(MEMBER)' and is useful only when
MEMBER may contain a directory name. (*Note Archive Members as
Targets: Archive Members.)
-`$(<D)'
-`$(<F)'
+'$(<D)'
+'$(<F)'
The directory part and the file-within-directory part of the first
prerequisite.
-`$(^D)'
-`$(^F)'
- Lists of the directory parts and the file-within-directory parts
- of all prerequisites.
+'$(^D)'
+'$(^F)'
+ Lists of the directory parts and the file-within-directory parts of
+ all prerequisites.
-`$(+D)'
-`$(+F)'
- Lists of the directory parts and the file-within-directory parts
- of all prerequisites, including multiple instances of duplicated
+'$(+D)'
+'$(+F)'
+ Lists of the directory parts and the file-within-directory parts of
+ all prerequisites, including multiple instances of duplicated
prerequisites.
-`$(?D)'
-`$(?F)'
+'$(?D)'
+'$(?F)'
Lists of the directory parts and the file-within-directory parts of
all prerequisites that are newer than the target.
Note that we use a special stylistic convention when we talk about
-these automatic variables; we write "the value of `$<'", rather than
-"the variable `<'" as we would write for ordinary variables such as
-`objects' and `CFLAGS'. We think this convention looks more natural in
-this special case. Please do not assume it has a deep significance;
-`$<' refers to the variable named `<' just as `$(CFLAGS)' refers to the
-variable named `CFLAGS'. You could just as well use `$(<)' in place of
-`$<'.
+these automatic variables; we write "the value of '$<'", rather than "the variable '<'"
+as we would write for ordinary variables such as 'objects' and 'CFLAGS'.
+We think this convention looks more natural in this special case.
+Please do not assume it has a deep significance; '$<' refers to the
+variable named '<' just as '$(CFLAGS)' refers to the variable named
+'CFLAGS'. You could just as well use '$(<)' in place of '$<'.

File: make.info, Node: Pattern Match, Next: Match-Anything Rules, Prev: Automatic Variables, Up: Pattern Rules
@@ -782,15 +903,15 @@ File: make.info, Node: Pattern Match, Next: Match-Anything Rules, Prev: Autom
10.5.4 How Patterns Match
-------------------------
-A target pattern is composed of a `%' between a prefix and a suffix,
+A target pattern is composed of a '%' between a prefix and a suffix,
either or both of which may be empty. The pattern matches a file name
only if the file name starts with the prefix and ends with the suffix,
without overlap. The text between the prefix and the suffix is called
-the "stem". Thus, when the pattern `%.o' matches the file name
-`test.o', the stem is `test'. The pattern rule prerequisites are
-turned into actual file names by substituting the stem for the character
-`%'. Thus, if in the same example one of the prerequisites is written
-as `%.c', it expands to `test.c'.
+the "stem". Thus, when the pattern '%.o' matches the file name
+'test.o', the stem is 'test'. The pattern rule prerequisites are turned
+into actual file names by substituting the stem for the character '%'.
+Thus, if in the same example one of the prerequisites is written as
+'%.c', it expands to 'test.c'.
When the target pattern does not contain a slash (and it usually does
not), directory names in the file names are removed from the file name
@@ -800,24 +921,24 @@ along with the slash that ends them, are added on to the prerequisite
file names generated from the pattern rule's prerequisite patterns and
the file name. The directories are ignored only for the purpose of
finding an implicit rule to use, not in the application of that rule.
-Thus, `e%t' matches the file name `src/eat', with `src/a' as the stem.
+Thus, 'e%t' matches the file name 'src/eat', with 'src/a' as the stem.
When prerequisites are turned into file names, the directories from the
stem are added at the front, while the rest of the stem is substituted
-for the `%'. The stem `src/a' with a prerequisite pattern `c%r' gives
-the file name `src/car'.
+for the '%'. The stem 'src/a' with a prerequisite pattern 'c%r' gives
+the file name 'src/car'.
A pattern rule can be used to build a given file only if there is a
target pattern that matches the file name, _and_ all prerequisites in
that rule either exist or can be built. The rules you write take
-precedence over those that are built in. Note however, that a rule
+precedence over those that are built in. Note however, that a rule
whose prerequisites actually exist or are mentioned always takes
priority over a rule with prerequisites that must be made by chaining
other implicit rules.
It is possible that more than one pattern rule will meet these
-criteria. In that case, `make' will choose the rule with the shortest
+criteria. In that case, 'make' will choose the rule with the shortest
stem (that is, the pattern that matches most specifically). If more
-than one pattern rule has the shortest stem, `make' will choose the
+than one pattern rule has the shortest stem, 'make' will choose the
first one found in the makefile.
This algorithm results in more specific rules being preferred over
@@ -832,15 +953,15 @@ more generic ones; for example:
lib/%.o: lib/%.c
$(CC) -fPIC -c $(CFLAGS) $(CPPFLAGS) $< -o $@
- Given these rules and asked to build `bar.o' where both `bar.c' and
-`bar.f' exist, `make' will choose the first rule and compile `bar.c'
-into `bar.o'. In the same situation where `bar.c' does not exist, then
-`make' will choose the second rule and compile `bar.f' into `bar.o'.
+ Given these rules and asked to build 'bar.o' where both 'bar.c' and
+'bar.f' exist, 'make' will choose the first rule and compile 'bar.c'
+into 'bar.o'. In the same situation where 'bar.c' does not exist, then
+'make' will choose the second rule and compile 'bar.f' into 'bar.o'.
- If `make' is asked to build `lib/bar.o' and both `lib/bar.c' and
-`lib/bar.f' exist, then the third rule will be chosen since the stem
-for this rule (`bar') is shorter than the stem for the first rule
-(`lib/bar'). If `lib/bar.c' does not exist then the third rule is not
+ If 'make' is asked to build 'lib/bar.o' and both 'lib/bar.c' and
+'lib/bar.f' exist, then the third rule will be chosen since the stem for
+this rule ('bar') is shorter than the stem for the first rule
+('lib/bar'). If 'lib/bar.c' does not exist then the third rule is not
eligible and the second rule will be used, even though the stem is
longer.
@@ -850,75 +971,75 @@ File: make.info, Node: Match-Anything Rules, Next: Canceling Rules, Prev: Pat
10.5.5 Match-Anything Pattern Rules
-----------------------------------
-When a pattern rule's target is just `%', it matches any file name
+When a pattern rule's target is just '%', it matches any file name
whatever. We call these rules "match-anything" rules. They are very
-useful, but it can take a lot of time for `make' to think about them,
+useful, but it can take a lot of time for 'make' to think about them,
because it must consider every such rule for each file name listed
either as a target or as a prerequisite.
- Suppose the makefile mentions `foo.c'. For this target, `make'
-would have to consider making it by linking an object file `foo.c.o',
-or by C compilation-and-linking in one step from `foo.c.c', or by
-Pascal compilation-and-linking from `foo.c.p', and many other
-possibilities.
+ Suppose the makefile mentions 'foo.c'. For this target, 'make' would
+have to consider making it by linking an object file 'foo.c.o', or by C
+compilation-and-linking in one step from 'foo.c.c', or by Pascal
+compilation-and-linking from 'foo.c.p', and many other possibilities.
- We know these possibilities are ridiculous since `foo.c' is a C
-source file, not an executable. If `make' did consider these
+ We know these possibilities are ridiculous since 'foo.c' is a C
+source file, not an executable. If 'make' did consider these
possibilities, it would ultimately reject them, because files such as
-`foo.c.o' and `foo.c.p' would not exist. But these possibilities are so
-numerous that `make' would run very slowly if it had to consider them.
+'foo.c.o' and 'foo.c.p' would not exist. But these possibilities are so
+numerous that 'make' would run very slowly if it had to consider them.
- To gain speed, we have put various constraints on the way `make'
+ To gain speed, we have put various constraints on the way 'make'
considers match-anything rules. There are two different constraints
that can be applied, and each time you define a match-anything rule you
must choose one or the other for that rule.
One choice is to mark the match-anything rule as "terminal" by
defining it with a double colon. When a rule is terminal, it does not
-apply unless its prerequisites actually exist. Prerequisites that
-could be made with other implicit rules are not good enough. In other
-words, no further chaining is allowed beyond a terminal rule.
+apply unless its prerequisites actually exist. Prerequisites that could
+be made with other implicit rules are not good enough. In other words,
+no further chaining is allowed beyond a terminal rule.
For example, the built-in implicit rules for extracting sources from
-RCS and SCCS files are terminal; as a result, if the file `foo.c,v' does
-not exist, `make' will not even consider trying to make it as an
-intermediate file from `foo.c,v.o' or from `RCS/SCCS/s.foo.c,v'. RCS
+RCS and SCCS files are terminal; as a result, if the file 'foo.c,v' does
+not exist, 'make' will not even consider trying to make it as an
+intermediate file from 'foo.c,v.o' or from 'RCS/SCCS/s.foo.c,v'. RCS
and SCCS files are generally ultimate source files, which should not be
-remade from any other files; therefore, `make' can save time by not
+remade from any other files; therefore, 'make' can save time by not
looking for ways to remake them.
If you do not mark the match-anything rule as terminal, then it is
-nonterminal. A nonterminal match-anything rule cannot apply to a file
+non-terminal. A non-terminal match-anything rule cannot apply to a file
name that indicates a specific type of data. A file name indicates a
specific type of data if some non-match-anything implicit rule target
matches it.
- For example, the file name `foo.c' matches the target for the pattern
-rule `%.c : %.y' (the rule to run Yacc). Regardless of whether this
+ For example, the file name 'foo.c' matches the target for the pattern
+rule '%.c : %.y' (the rule to run Yacc). Regardless of whether this
rule is actually applicable (which happens only if there is a file
-`foo.y'), the fact that its target matches is enough to prevent
-consideration of any nonterminal match-anything rules for the file
-`foo.c'. Thus, `make' will not even consider trying to make `foo.c' as
-an executable file from `foo.c.o', `foo.c.c', `foo.c.p', etc.
+'foo.y'), the fact that its target matches is enough to prevent
+consideration of any non-terminal match-anything rules for the file
+'foo.c'. Thus, 'make' will not even consider trying to make 'foo.c' as
+an executable file from 'foo.c.o', 'foo.c.c', 'foo.c.p', etc.
- The motivation for this constraint is that nonterminal match-anything
-rules are used for making files containing specific types of data (such
-as executable files) and a file name with a recognized suffix indicates
-some other specific type of data (such as a C source file).
+ The motivation for this constraint is that non-terminal
+match-anything rules are used for making files containing specific types
+of data (such as executable files) and a file name with a recognized
+suffix indicates some other specific type of data (such as a C source
+file).
Special built-in dummy pattern rules are provided solely to recognize
-certain file names so that nonterminal match-anything rules will not be
+certain file names so that non-terminal match-anything rules will not be
considered. These dummy rules have no prerequisites and no recipes, and
they are ignored for all other purposes. For example, the built-in
implicit rule
%.p :
-exists to make sure that Pascal source files such as `foo.p' match a
+exists to make sure that Pascal source files such as 'foo.p' match a
specific target pattern and thereby prevent time from being wasted
-looking for `foo.p.o' or `foo.p.c'.
+looking for 'foo.p.o' or 'foo.p.c'.
- Dummy pattern rules such as the one for `%.p' are made for every
+ Dummy pattern rules such as the one for '%.p' are made for every
suffix listed as valid for use in suffix rules (*note Old-Fashioned
Suffix Rules: Suffix Rules.).
@@ -935,8 +1056,8 @@ the built-in one is replaced. The new rule's position in the sequence
of implicit rules is determined by where you write the new rule.
You can cancel a built-in implicit rule by defining a pattern rule
-with the same target and prerequisites, but no recipe. For example,
-the following would cancel the rule that runs the assembler:
+with the same target and prerequisites, but no recipe. For example, the
+following would cancel the rule that runs the assembler:
%.o : %.s
@@ -954,8 +1075,8 @@ recipe is used for all targets and prerequisites that have no recipe of
their own and for which no other implicit rule applies.
For example, when testing a makefile, you might not care if the
-source files contain real data, only that they exist. Then you might
-do this:
+source files contain real data, only that they exist. Then you might do
+this:
%::
touch $@
@@ -965,20 +1086,20 @@ automatically.
You can instead define a recipe to be used for targets for which
there are no rules at all, even ones which don't specify recipes. You
-do this by writing a rule for the target `.DEFAULT'. Such a rule's
+do this by writing a rule for the target '.DEFAULT'. Such a rule's
recipe is used for all prerequisites which do not appear as targets in
any explicit rule, and for which no implicit rule applies. Naturally,
-there is no `.DEFAULT' rule unless you write one.
+there is no '.DEFAULT' rule unless you write one.
- If you use `.DEFAULT' with no recipe or prerequisites:
+ If you use '.DEFAULT' with no recipe or prerequisites:
.DEFAULT:
-the recipe previously stored for `.DEFAULT' is cleared. Then `make'
-acts as if you had never defined `.DEFAULT' at all.
+the recipe previously stored for '.DEFAULT' is cleared. Then 'make'
+acts as if you had never defined '.DEFAULT' at all.
If you do not want a target to get the recipe from a match-anything
-pattern rule or `.DEFAULT', but you also do not want any recipe to be
+pattern rule or '.DEFAULT', but you also do not want any recipe to be
run for the target, you can give it an empty recipe (*note Defining
Empty Recipes: Empty Recipes.).
@@ -992,34 +1113,34 @@ File: make.info, Node: Suffix Rules, Next: Implicit Rule Search, Prev: Last R
===============================
"Suffix rules" are the old-fashioned way of defining implicit rules for
-`make'. Suffix rules are obsolete because pattern rules are more
-general and clearer. They are supported in GNU `make' for
-compatibility with old makefiles. They come in two kinds:
-"double-suffix" and "single-suffix".
+'make'. Suffix rules are obsolete because pattern rules are more
+general and clearer. They are supported in GNU 'make' for compatibility
+with old makefiles. They come in two kinds: "double-suffix" and
+"single-suffix".
A double-suffix rule is defined by a pair of suffixes: the target
suffix and the source suffix. It matches any file whose name ends with
the target suffix. The corresponding implicit prerequisite is made by
replacing the target suffix with the source suffix in the file name. A
-two-suffix rule whose target and source suffixes are `.o' and `.c' is
-equivalent to the pattern rule `%.o : %.c'.
+two-suffix rule whose target and source suffixes are '.o' and '.c' is
+equivalent to the pattern rule '%.o : %.c'.
A single-suffix rule is defined by a single suffix, which is the
source suffix. It matches any file name, and the corresponding implicit
prerequisite name is made by appending the source suffix. A
-single-suffix rule whose source suffix is `.c' is equivalent to the
-pattern rule `% : %.c'.
+single-suffix rule whose source suffix is '.c' is equivalent to the
+pattern rule '% : %.c'.
Suffix rule definitions are recognized by comparing each rule's
-target against a defined list of known suffixes. When `make' sees a
+target against a defined list of known suffixes. When 'make' sees a
rule whose target is a known suffix, this rule is considered a
-single-suffix rule. When `make' sees a rule whose target is two known
+single-suffix rule. When 'make' sees a rule whose target is two known
suffixes concatenated, this rule is taken as a double-suffix rule.
- For example, `.c' and `.o' are both on the default list of known
-suffixes. Therefore, if you define a rule whose target is `.c.o',
-`make' takes it to be a double-suffix rule with source suffix `.c' and
-target suffix `.o'. Here is the old-fashioned way to define the rule
+ For example, '.c' and '.o' are both on the default list of known
+suffixes. Therefore, if you define a rule whose target is '.c.o',
+'make' takes it to be a double-suffix rule with source suffix '.c' and
+target suffix '.o'. Here is the old-fashioned way to define the rule
for compiling a C source file:
.c.o:
@@ -1032,43 +1153,43 @@ suffix rules. Thus, the rule:
.c.o: foo.h
$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
-tells how to make the file `.c.o' from the prerequisite file `foo.h',
+tells how to make the file '.c.o' from the prerequisite file 'foo.h',
and is not at all like the pattern rule:
%.o: %.c foo.h
$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
-which tells how to make `.o' files from `.c' files, and makes all `.o'
-files using this pattern rule also depend on `foo.h'.
+which tells how to make '.o' files from '.c' files, and makes all '.o'
+files using this pattern rule also depend on 'foo.h'.
Suffix rules with no recipe are also meaningless. They do not remove
previous rules as do pattern rules with no recipe (*note Canceling
-Implicit Rules: Canceling Rules.). They simply enter the suffix or
-pair of suffixes concatenated as a target in the data base.
+Implicit Rules: Canceling Rules.). They simply enter the suffix or pair
+of suffixes concatenated as a target in the data base.
The known suffixes are simply the names of the prerequisites of the
-special target `.SUFFIXES'. You can add your own suffixes by writing a
-rule for `.SUFFIXES' that adds more prerequisites, as in:
+special target '.SUFFIXES'. You can add your own suffixes by writing a
+rule for '.SUFFIXES' that adds more prerequisites, as in:
.SUFFIXES: .hack .win
-which adds `.hack' and `.win' to the end of the list of suffixes.
+which adds '.hack' and '.win' to the end of the list of suffixes.
If you wish to eliminate the default known suffixes instead of just
-adding to them, write a rule for `.SUFFIXES' with no prerequisites. By
+adding to them, write a rule for '.SUFFIXES' with no prerequisites. By
special dispensation, this eliminates all existing prerequisites of
-`.SUFFIXES'. You can then write another rule to add the suffixes you
+'.SUFFIXES'. You can then write another rule to add the suffixes you
want. For example,
.SUFFIXES: # Delete the default suffixes
.SUFFIXES: .c .o .h # Define our suffix list
- The `-r' or `--no-builtin-rules' flag causes the default list of
+ The '-r' or '--no-builtin-rules' flag causes the default list of
suffixes to be empty.
- The variable `SUFFIXES' is defined to the default list of suffixes
-before `make' reads any makefiles. You can change the list of suffixes
-with a rule for the special target `.SUFFIXES', but that does not alter
+ The variable 'SUFFIXES' is defined to the default list of suffixes
+before 'make' reads any makefiles. You can change the list of suffixes
+with a rule for the special target '.SUFFIXES', but that does not alter
this variable.

@@ -1077,47 +1198,47 @@ File: make.info, Node: Implicit Rule Search, Prev: Suffix Rules, Up: Implicit
10.8 Implicit Rule Search Algorithm
===================================
-Here is the procedure `make' uses for searching for an implicit rule
-for a target T. This procedure is followed for each double-colon rule
-with no recipe, for each target of ordinary rules none of which have a
+Here is the procedure 'make' uses for searching for an implicit rule for
+a target T. This procedure is followed for each double-colon rule with
+no recipe, for each target of ordinary rules none of which have a
recipe, and for each prerequisite that is not the target of any rule.
It is also followed recursively for prerequisites that come from
implicit rules, in the search for a chain of rules.
- Suffix rules are not mentioned in this algorithm because suffix
-rules are converted to equivalent pattern rules once the makefiles have
-been read in.
+ Suffix rules are not mentioned in this algorithm because suffix rules
+are converted to equivalent pattern rules once the makefiles have been
+read in.
- For an archive member target of the form `ARCHIVE(MEMBER)', the
+ For an archive member target of the form 'ARCHIVE(MEMBER)', the
following algorithm is run twice, first using the entire target name T,
-and second using `(MEMBER)' as the target T if the first run found no
+and second using '(MEMBER)' as the target T if the first run found no
rule.
1. Split T into a directory part, called D, and the rest, called N.
- For example, if T is `src/foo.o', then D is `src/' and N is
- `foo.o'.
+ For example, if T is 'src/foo.o', then D is 'src/' and N is
+ 'foo.o'.
- 2. Make a list of all the pattern rules one of whose targets matches
- T or N. If the target pattern contains a slash, it is matched
+ 2. Make a list of all the pattern rules one of whose targets matches T
+ or N. If the target pattern contains a slash, it is matched
against T; otherwise, against N.
3. If any rule in that list is _not_ a match-anything rule, then
- remove all nonterminal match-anything rules from the list.
+ remove all non-terminal match-anything rules from the list.
4. Remove from the list all rules with no recipe.
5. For each pattern rule in the list:
a. Find the stem S, which is the nonempty part of T or N matched
- by the `%' in the target pattern.
+ by the '%' in the target pattern.
- b. Compute the prerequisite names by substituting S for `%'; if
+ b. Compute the prerequisite names by substituting S for '%'; if
the target pattern does not contain a slash, append D to the
front of each prerequisite name.
c. Test whether all the prerequisites exist or ought to exist.
- (If a file name is mentioned in the makefile as a target or
- as an explicit prerequisite, then we say it ought to exist.)
+ (If a file name is mentioned in the makefile as a target or as
+ an explicit prerequisite, then we say it ought to exist.)
If all prerequisites exist or ought to exist, or there are no
prerequisites, then this rule applies.
@@ -1138,30 +1259,30 @@ rule.
e. If all prerequisites exist, ought to exist, or can be made by
implicit rules, then this rule applies.
- 7. If no implicit rule applies, the rule for `.DEFAULT', if any,
- applies. In that case, give T the same recipe that `.DEFAULT'
- has. Otherwise, there is no recipe for T.
+ 7. If no implicit rule applies, the rule for '.DEFAULT', if any,
+ applies. In that case, give T the same recipe that '.DEFAULT' has.
+ Otherwise, there is no recipe for T.
Once a rule that applies has been found, for each target pattern of
-the rule other than the one that matched T or N, the `%' in the pattern
+the rule other than the one that matched T or N, the '%' in the pattern
is replaced with S and the resultant file name is stored until the
recipe to remake the target file T is executed. After the recipe is
-executed, each of these stored file names are entered into the data
-base and marked as having been updated and having the same update
-status as the file T.
+executed, each of these stored file names are entered into the data base
+and marked as having been updated and having the same update status as
+the file T.
When the recipe of a pattern rule is executed for T, the automatic
variables are set corresponding to the target and prerequisites. *Note
Automatic Variables::.

-File: make.info, Node: Archives, Next: Features, Prev: Implicit Rules, Up: Top
+File: make.info, Node: Archives, Next: Extending make, Prev: Implicit Rules, Up: Top
-11 Using `make' to Update Archive Files
+11 Using 'make' to Update Archive Files
***************************************
-"Archive files" are files containing named subfiles called "members";
-they are maintained with the program `ar' and their main use is as
+"Archive files" are files containing named sub-files called "members";
+they are maintained with the program 'ar' and their main use is as
subroutine libraries for linking.
* Menu:
@@ -1179,25 +1300,25 @@ File: make.info, Node: Archive Members, Next: Archive Update, Prev: Archives,
===============================
An individual member of an archive file can be used as a target or
-prerequisite in `make'. You specify the member named MEMBER in archive
+prerequisite in 'make'. You specify the member named MEMBER in archive
file ARCHIVE as follows:
ARCHIVE(MEMBER)
This construct is available only in targets and prerequisites, not in
recipes! Most programs that you might use in recipes do not support
-this syntax and cannot act directly on archive members. Only `ar' and
+this syntax and cannot act directly on archive members. Only 'ar' and
other programs specifically designed to operate on archives can do so.
Therefore, valid recipes to update an archive member target probably
-must use `ar'. For example, this rule says to create a member `hack.o'
-in archive `foolib' by copying the file `hack.o':
+must use 'ar'. For example, this rule says to create a member 'hack.o'
+in archive 'foolib' by copying the file 'hack.o':
foolib(hack.o) : hack.o
ar cr foolib hack.o
In fact, nearly all archive member targets are updated in just this
way and there is an implicit rule to do it for you. *Please note:* The
-`c' flag to `ar' is required if the archive file does not already exist.
+'c' flag to 'ar' is required if the archive file does not already exist.
To specify several members in the same archive, you can write all the
member names together between the parentheses. For example:
@@ -1210,8 +1331,8 @@ is equivalent to:
You can also use shell-style wildcards in an archive member
reference. *Note Using Wildcard Characters in File Names: Wildcards.
-For example, `foolib(*.o)' expands to all existing members of the
-`foolib' archive whose names end in `.o'; perhaps `foolib(hack.o)
+For example, 'foolib(*.o)' expands to all existing members of the
+'foolib' archive whose names end in '.o'; perhaps 'foolib(hack.o)
foolib(kludge.o)'.

@@ -1220,45 +1341,45 @@ File: make.info, Node: Archive Update, Next: Archive Pitfalls, Prev: Archive
11.2 Implicit Rule for Archive Member Targets
=============================================
-Recall that a target that looks like `A(M)' stands for the member named
+Recall that a target that looks like 'A(M)' stands for the member named
M in the archive file A.
- When `make' looks for an implicit rule for such a target, as a
-special feature it considers implicit rules that match `(M)', as well as
-those that match the actual target `A(M)'.
+ When 'make' looks for an implicit rule for such a target, as a
+special feature it considers implicit rules that match '(M)', as well as
+those that match the actual target 'A(M)'.
- This causes one special rule whose target is `(%)' to match. This
-rule updates the target `A(M)' by copying the file M into the archive.
-For example, it will update the archive member target `foo.a(bar.o)' by
-copying the _file_ `bar.o' into the archive `foo.a' as a _member_ named
-`bar.o'.
+ This causes one special rule whose target is '(%)' to match. This
+rule updates the target 'A(M)' by copying the file M into the archive.
+For example, it will update the archive member target 'foo.a(bar.o)' by
+copying the _file_ 'bar.o' into the archive 'foo.a' as a _member_ named
+'bar.o'.
When this rule is chained with others, the result is very powerful.
-Thus, `make "foo.a(bar.o)"' (the quotes are needed to protect the `('
-and `)' from being interpreted specially by the shell) in the presence
-of a file `bar.c' is enough to cause the following recipe to be run,
+Thus, 'make "foo.a(bar.o)"' (the quotes are needed to protect the '('
+and ')' from being interpreted specially by the shell) in the presence
+of a file 'bar.c' is enough to cause the following recipe to be run,
even without a makefile:
cc -c bar.c -o bar.o
ar r foo.a bar.o
rm -f bar.o
-Here `make' has envisioned the file `bar.o' as an intermediate file.
+Here 'make' has envisioned the file 'bar.o' as an intermediate file.
*Note Chains of Implicit Rules: Chained Rules.
Implicit rules such as this one are written using the automatic
-variable `$%'. *Note Automatic Variables::.
+variable '$%'. *Note Automatic Variables::.
- An archive member name in an archive cannot contain a directory
-name, but it may be useful in a makefile to pretend that it does. If
-you write an archive member target `foo.a(dir/file.o)', `make' will
-perform automatic updating with this recipe:
+ An archive member name in an archive cannot contain a directory name,
+but it may be useful in a makefile to pretend that it does. If you
+write an archive member target 'foo.a(dir/file.o)', 'make' will perform
+automatic updating with this recipe:
ar r foo.a dir/file.o
-which has the effect of copying the file `dir/file.o' into a member
-named `file.o'. In connection with such usage, the automatic variables
-`%D' and `%F' may be useful.
+which has the effect of copying the file 'dir/file.o' into a member
+named 'file.o'. In connection with such usage, the automatic variables
+'%D' and '%F' may be useful.
* Menu:
@@ -1271,10 +1392,10 @@ File: make.info, Node: Archive Symbols, Prev: Archive Update, Up: Archive Upd
------------------------------------------
An archive file that is used as a library usually contains a special
-member named `__.SYMDEF' that contains a directory of the external
+member named '__.SYMDEF' that contains a directory of the external
symbol names defined by all the other members. After you update any
-other members, you need to update `__.SYMDEF' so that it will summarize
-the other members properly. This is done by running the `ranlib'
+other members, you need to update '__.SYMDEF' so that it will summarize
+the other members properly. This is done by running the 'ranlib'
program:
ranlib ARCHIVEFILE
@@ -1286,14 +1407,14 @@ For example,
libfoo.a: libfoo.a(x.o) libfoo.a(y.o) ...
ranlib libfoo.a
-The effect of this is to update archive members `x.o', `y.o', etc., and
-then update the symbol directory member `__.SYMDEF' by running
-`ranlib'. The rules for updating the members are not shown here; most
-likely you can omit them and use the implicit rule which copies files
-into the archive, as described in the preceding section.
+The effect of this is to update archive members 'x.o', 'y.o', etc., and
+then update the symbol directory member '__.SYMDEF' by running 'ranlib'.
+The rules for updating the members are not shown here; most likely you
+can omit them and use the implicit rule which copies files into the
+archive, as described in the preceding section.
- This is not necessary when using the GNU `ar' program, which updates
-the `__.SYMDEF' member automatically.
+ This is not necessary when using the GNU 'ar' program, which updates
+the '__.SYMDEF' member automatically.

File: make.info, Node: Archive Pitfalls, Next: Archive Suffix Rules, Prev: Archive Update, Up: Archives
@@ -1301,15 +1422,15 @@ File: make.info, Node: Archive Pitfalls, Next: Archive Suffix Rules, Prev: Ar
11.3 Dangers When Using Archives
================================
-It is important to be careful when using parallel execution (the `-j'
+It is important to be careful when using parallel execution (the '-j'
switch; *note Parallel Execution: Parallel.) and archives. If multiple
-`ar' commands run at the same time on the same archive file, they will
+'ar' commands run at the same time on the same archive file, they will
not know about each other and can corrupt the file.
- Possibly a future version of `make' will provide a mechanism to
+ Possibly a future version of 'make' will provide a mechanism to
circumvent this problem by serializing all recipes that operate on the
same archive file. But for the time being, you must either write your
-makefiles to avoid this problem in some other way, or not use `-j'.
+makefiles to avoid this problem in some other way, or not use '-j'.

File: make.info, Node: Archive Suffix Rules, Prev: Archive Pitfalls, Up: Archives
@@ -1319,12 +1440,12 @@ File: make.info, Node: Archive Suffix Rules, Prev: Archive Pitfalls, Up: Arch
You can write a special kind of suffix rule for dealing with archive
files. *Note Suffix Rules::, for a full explanation of suffix rules.
-Archive suffix rules are obsolete in GNU `make', because pattern rules
-for archives are a more general mechanism (*note Archive Update::).
-But they are retained for compatibility with other `make's.
+Archive suffix rules are obsolete in GNU 'make', because pattern rules
+for archives are a more general mechanism (*note Archive Update::). But
+they are retained for compatibility with other 'make's.
To write a suffix rule for archives, you simply write a suffix rule
-using the target suffix `.a' (the usual suffix for archive files). For
+using the target suffix '.a' (the usual suffix for archive files). For
example, here is the old-fashioned suffix rule to update a library
archive from C source files:
@@ -1340,304 +1461,889 @@ This works just as if you had written the pattern rule:
$(AR) r $@ $*.o
$(RM) $*.o
- In fact, this is just what `make' does when it sees a suffix rule
-with `.a' as the target suffix. Any double-suffix rule `.X.a' is
-converted to a pattern rule with the target pattern `(%.o)' and a
-prerequisite pattern of `%.X'.
+ In fact, this is just what 'make' does when it sees a suffix rule
+with '.a' as the target suffix. Any double-suffix rule '.X.a' is
+converted to a pattern rule with the target pattern '(%.o)' and a
+prerequisite pattern of '%.X'.
+
+ Since you might want to use '.a' as the suffix for some other kind of
+file, 'make' also converts archive suffix rules to pattern rules in the
+normal way (*note Suffix Rules::). Thus a double-suffix rule '.X.a'
+produces two pattern rules: '(%.o): %.X' and '%.a: %.X'.
+
+
+File: make.info, Node: Extending make, Next: Features, Prev: Archives, Up: Top
+
+12 Extending GNU 'make'
+***********************
+
+GNU 'make' provides many advanced capabilities, including many useful
+functions. However, it does not contain a complete programming language
+and so it has limitations. Sometimes these limitations can be overcome
+through use of the 'shell' function to invoke a separate program,
+although this can be inefficient.
+
+ In cases where the built-in capabilities of GNU 'make' are
+insufficient to your requirements there are two options for extending
+'make'. On systems where it's provided, you can utilize GNU Guile as an
+embedded scripting language (*note GNU Guile Integration: Guile
+Integration.). On systems which support dynamically loadable objects,
+you can write your own extension in any language (which can be compiled
+into such an object) and load it to provide extended capabilities (*note
+The 'load' Directive: load Directive.).
+
+* Menu:
- Since you might want to use `.a' as the suffix for some other kind
-of file, `make' also converts archive suffix rules to pattern rules in
-the normal way (*note Suffix Rules::). Thus a double-suffix rule
-`.X.a' produces two pattern rules: `(%.o): %.X' and `%.a: %.X'.
+* Guile Integration:: Using Guile as an embedded scripting language.
+* Loading Objects:: Loading dynamic objects as extensions.

-File: make.info, Node: Features, Next: Missing, Prev: Archives, Up: Top
+File: make.info, Node: Guile Integration, Next: Loading Objects, Prev: Extending make, Up: Extending make
+
+12.1 GNU Guile Integration
+==========================
+
+GNU 'make' may be built with support for GNU Guile as an embedded
+extension language. Guile implements the Scheme language. A review of
+GNU Guile and the Scheme language and its features is beyond the scope
+of this manual: see the documentation for GNU Guile and Scheme.
+
+ You can determine if 'make' contains support for Guile by examining
+the '.FEATURES' variable; it will contain the word GUILE if Guile
+support is available.
+
+ The Guile integration provides one new 'make' function: 'guile'. The
+'guile' function takes one argument which is first expanded by 'make' in
+the normal fashion, then passed to the GNU Guile evaluator. The result
+of the evaluator is converted into a string and used as the expansion of
+the 'guile' function in the makefile.
+
+ In addition, GNU 'make' exposes Guile procedures for use in Guile
+scripts.
+
+* Menu:
+
+* Guile Types:: Converting Guile types to 'make' strings.
+* Guile Interface:: Invoking 'make' functions from Guile.
+* Guile Example:: Example using Guile in 'make'.
+
+
+File: make.info, Node: Guile Types, Next: Guile Interface, Prev: Guile Integration, Up: Guile Integration
+
+12.1.1 Conversion of Guile Types
+--------------------------------
+
+There is only one "data type" in 'make': a string. GNU Guile, on the
+other hand, provides a rich variety of different data types. An
+important aspect of the interface between 'make' and GNU Guile is the
+conversion of Guile data types into 'make' strings.
+
+ This conversion is relevant in two places: when a makefile invokes
+the 'guile' function to evaluate a Guile expression, the result of that
+evaluation must be converted into a make string so it can be further
+evaluated by 'make'. And secondly, when a Guile script invokes one of
+the procedures exported by 'make' the argument provided to the procedure
+must be converted into a string.
+
+ The conversion of Guile types into 'make' strings is as below:
+
+'#f'
+ False is converted into the empty string: in 'make' conditionals
+ the empty string is considered false.
+
+'#t'
+ True is converted to the string '#t': in 'make' conditionals any
+ non-empty string is considered true.
+
+'symbol'
+'number'
+ A symbol or number is converted into the string representation of
+ that symbol or number.
+
+'character'
+ A printable character is converted to the same character.
+
+'string'
+ A string containing only printable characters is converted to the
+ same string.
+
+'list'
+ A list is converted recursively according to the above rules. This
+ implies that any structured list will be flattened (that is, a
+ result of ''(a b (c d) e)' will be converted to the 'make' string
+ 'a b c d e').
+
+'other'
+ Any other Guile type results in an error. In future versions of
+ 'make', other Guile types may be converted.
+
+ The translation of '#f' (to the empty string) and '#t' (to the
+non-empty string '#t') is designed to allow you to use Guile boolean
+results directly as 'make' boolean conditions. For example:
+
+ $(if $(guile (access? "myfile" R_OK)),$(info myfile exists))
+
+ As a consequence of these conversion rules you must consider the
+result of your Guile script, as that result will be converted into a
+string and parsed by 'make'. If there is no natural result for the
+script (that is, the script exists solely for its side-effects), you
+should add '#f' as the final expression in order to avoid syntax errors
+in your makefile.
+
+
+File: make.info, Node: Guile Interface, Next: Guile Example, Prev: Guile Types, Up: Guile Integration
+
+12.1.2 Interfaces from Guile to 'make'
+--------------------------------------
+
+In addition to the 'guile' function available in makefiles, 'make'
+exposes some procedures for use in your Guile scripts. At startup
+'make' creates a new Guile module, 'gnu make', and exports these
+procedures as public interfaces from that module:
+
+'gmk-expand'
+ This procedure takes a single argument which is converted into a
+ string. The string is expanded by 'make' using normal 'make'
+ expansion rules. The result of the expansion is converted into a
+ Guile string and provided as the result of the procedure.
+
+'gmk-eval'
+ This procedure takes a single argument which is converted into a
+ string. The string is evaluated by 'make' as if it were a
+ makefile. This is the same capability available via the 'eval'
+ function (*note Eval Function::). The result of the 'gmk-eval'
+ procedure is always the empty string.
+
+ Note that 'gmk-eval' is not quite the same as using 'gmk-expand'
+ with the 'eval' function: in the latter case the evaluated string
+ will be expanded _twice_; first by 'gmk-expand', then again by the
+ 'eval' function.
+
+
+File: make.info, Node: Guile Example, Prev: Guile Interface, Up: Guile Integration
+
+12.1.3 Example Using Guile in 'make'
+------------------------------------
+
+Here is a very simple example using GNU Guile to manage writing to a
+file. These Guile procedures simply open a file, allow writing to the
+file (one string per line), and close the file. Note that because we
+cannot store complex values such as Guile ports in 'make' variables,
+we'll keep the port as a global variable in the Guile interpreter.
+
+ You can create Guile functions easily using 'define'/'endef' to
+create a Guile script, then use the 'guile' function to internalize it:
+
+ define GUILEIO
+ ;; A simple Guile IO library for GNU make
+
+ (define MKPORT #f)
+
+ (define (mkopen name mode)
+ (set! MKPORT (open-file name mode))
+ #f)
+
+ (define (mkwrite s)
+ (display s MKPORT)
+ (newline MKPORT)
+ #f)
+
+ (define (mkclose)
+ (close-port MKPORT)
+ #f)
+
+ #f
+ endef
+
+ # Internalize the Guile IO functions
+ $(guile $(GUILEIO))
+
+ If you have a significant amount of Guile support code, you might
+consider keeping it in a different file (e.g., 'guileio.scm') and then
+loading it in your makefile using the 'guile' function:
+
+ $(guile (load "guileio.scm"))
+
+ An advantage to this method is that when editing 'guileio.scm', your
+editor will understand that this file contains Scheme syntax rather than
+makefile syntax.
+
+ Now you can use these Guile functions to create files. Suppose you
+need to operate on a very large list, which cannot fit on the command
+line, but the utility you're using accepts the list as input as well:
+
+ prog: $(PREREQS)
+ @$(guile (mkopen "tmp.out" "w")) \
+ $(foreach X,$^,$(guile (mkwrite "$(X)"))) \
+ $(guile (mkclose))
+ $(LINK) < tmp.out
+
+ A more comprehensive suite of file manipulation procedures is
+possible of course. You could, for example, maintain multiple output
+files at the same time by choosing a symbol for each one and using it as
+the key to a hash table, where the value is a port, then returning the
+symbol to be stored in a 'make' variable.
+
+
+File: make.info, Node: Loading Objects, Prev: Guile Integration, Up: Extending make
+
+12.2 Loading Dynamic Objects
+============================
+
+ Warning: The 'load' directive and extension capability is
+ considered a "technology preview" in this release of GNU make. We
+ encourage you to experiment with this feature and we appreciate any
+ feedback on it. However we cannot guarantee to maintain
+ backward-compatibility in the next release. Consider using GNU
+ Guile instead for extending GNU make (*note The 'guile' Function:
+ Guile Function.).
+
+ Many operating systems provide a facility for dynamically loading
+compiled objects. If your system provides this facility, GNU 'make' can
+make use of it to load dynamic objects at runtime, providing new
+capabilities which may then be invoked by your makefile.
+
+ The 'load' directive is used to load a dynamic object. Once the
+object is loaded, a "setup" function will be invoked to allow the object
+to initialize itself and register new facilities with GNU 'make'. A
+dynamic object might include new 'make' functions, for example, and the
+"setup" function would register them with GNU 'make''s function handling
+system.
+
+* Menu:
+
+* load Directive:: Loading dynamic objects as extensions.
+* Remaking Loaded Objects:: How loaded objects get remade.
+* Loaded Object API:: Programmatic interface for loaded objects.
+* Loaded Object Example:: Example of a loaded object
+
+
+File: make.info, Node: load Directive, Next: Remaking Loaded Objects, Prev: Loading Objects, Up: Loading Objects
+
+12.2.1 The 'load' Directive
+---------------------------
+
+Objects are loaded into GNU 'make' by placing the 'load' directive into
+your makefile. The syntax of the 'load' directive is as follows:
+
+ load OBJECT-FILE ...
+
+ or:
+
+ load OBJECT-FILE(SYMBOL-NAME) ...
+
+ The file OBJECT-FILE is dynamically loaded by GNU 'make'. If
+OBJECT-FILE does not include a directory path then it is first looked
+for in the current directory. If it is not found there, or a directory
+path is included, then system-specific paths will be searched. If the
+load fails for any reason, 'make' will print a message and exit.
+
+ If the load succeeds 'make' will invoke an initializing function.
+
+ If SYMBOL-NAME is provided, it will be used as the name of the
+initializing function.
+
+ If no SYMBOL-NAME is provided, the initializing function name is
+created by taking the base file name of OBJECT-FILE, up to the first
+character which is not a valid symbol name character (alphanumerics and
+underscores are valid symbol name characters). To this prefix will be
+appended the suffix '_gmk_setup'.
+
+ More than one object file may be loaded with a single 'load'
+directive, and both forms of 'load' arguments may be used in the same
+directive.
+
+ The initializing function will be provided the file name and line
+number of the invocation of the 'load' operation. It should return a
+value of type 'int', which must be '0' on failure and non-'0' on
+success. If the return value is '-1', then GNU make will _not_ attempt
+to rebuild the object file (*note How Loaded Objects Are Remade:
+Remaking Loaded Objects.).
+
+ For example:
+
+ load ../mk_funcs.so
+
+ will load the dynamic object '../mk_funcs.so'. After the object is
+loaded, 'make' will invoke the function (assumed to be defined by the
+shared object) 'mk_funcs_gmk_setup'.
+
+ On the other hand:
+
+ load ../mk_funcs.so(init_mk_func)
+
+ will load the dynamic object '../mk_funcs.so'. After the object is
+loaded, 'make' will invoke the function 'init_mk_func'.
+
+ Regardless of how many times an object file appears in a 'load'
+directive, it will only be loaded (and its setup function will only be
+invoked) once.
+
+ After an object has been successfully loaded, its file name is
+appended to the '.LOADED' variable.
+
+ If you would prefer that failure to load a dynamic object not be
+reported as an error, you can use the '-load' directive instead of
+'load'. GNU 'make' will not fail and no message will be generated if an
+object fails to load. The failed object is not added to the '.LOADED'
+variable, which can then be consulted to determine if the load was
+successful.
+
+
+File: make.info, Node: Remaking Loaded Objects, Next: Loaded Object API, Prev: load Directive, Up: Loading Objects
+
+12.2.2 How Loaded Objects Are Remade
+------------------------------------
+
+Loaded objects undergo the same re-make procedure as makefiles (*note
+How Makefiles Are Remade: Remaking Makefiles.). If any loaded object is
+recreated, then 'make' will start from scratch and re-read all the
+makefiles, and reload the object files again. It is not necessary for
+the loaded object to do anything special to support this.
+
+ It's up to the makefile author to provide the rules needed for
+rebuilding the loaded object.
+
+
+File: make.info, Node: Loaded Object API, Next: Loaded Object Example, Prev: Remaking Loaded Objects, Up: Loading Objects
+
+12.2.3 Loaded Object Interface
+------------------------------
+
+ Warning: For this feature to be useful your extensions will need to
+ invoke various functions internal to GNU 'make'. The programming
+ interfaces provided in this release should not be considered
+ stable: functions may be added, removed, or change calling
+ signatures or implementations in future versions of GNU 'make'.
+
+ To be useful, loaded objects must be able to interact with GNU
+'make'. This interaction includes both interfaces the loaded object
+provides to makefiles and also interfaces 'make' provides to the loaded
+object to manipulate 'make''s operation.
+
+ The interface between loaded objects and 'make' is defined by the
+'gnumake.h' C header file. All loaded objects written in C should
+include this header file. Any loaded object not written in C will need
+to implement the interface defined in this header file.
+
+ Typically, a loaded object will register one or more new GNU 'make'
+functions using the 'gmk_add_function' routine from within its setup
+function. The implementations of these 'make' functions may make use of
+the 'gmk_expand' and 'gmk_eval' routines to perform their tasks, then
+optionally return a string as the result of the function expansion.
+
+Loaded Object Licensing
+.......................
+
+Every dynamic extension should define the global symbol
+'plugin_is_GPL_compatible' to assert that it has been licensed under a
+GPL-compatible license. If this symbol does not exist, 'make' emits a
+fatal error and exits when it tries to load your extension.
+
+ The declared type of the symbol should be 'int'. It does not need to
+be in any allocated section, though. The code merely asserts that the
+symbol exists in the global scope. Something like this is enough:
+
+ int plugin_is_GPL_compatible;
+
+Data Structures
+...............
+
+'gmk_floc'
+ This structure represents a filename/location pair. It is provided
+ when defining items, so GNU 'make' can inform the user later where
+ the definition occurred if necessary.
+
+Registering Functions
+.....................
+
+There is currently one way for makefiles to invoke operations provided
+by the loaded object: through the 'make' function call interface. A
+loaded object can register one or more new functions which may then be
+invoked from within the makefile in the same way as any other function.
+
+ Use 'gmk_add_function' to create a new 'make' function. Its
+arguments are as follows:
+
+'name'
+ The function name. This is what the makefile should use to invoke
+ the function. The name must be between 1 and 255 characters long
+ and it may only contain alphanumeric, period ('.'), dash ('-'), and
+ underscore ('_') characters. It may not begin with a period.
+
+'func_ptr'
+ A pointer to a function that 'make' will invoke when it expands the
+ function in a makefile. This function must be defined by the
+ loaded object.
+
+'min_args'
+ The minimum number of arguments the function will accept. Must be
+ between 0 and 255. GNU 'make' will check this and fail before
+ invoking 'func_ptr' if the function was invoked with too few
+ arguments.
+
+'max_args'
+ The maximum number of arguments the function will accept. Must be
+ between 0 and 255. GNU 'make' will check this and fail before
+ invoking 'func_ptr' if the function was invoked with too few
+ arguments. If the value is 0, then any number of arguments is
+ accepted. If the value is greater than 0, then it must be greater
+ than or equal to 'min_args'.
+
+'flags'
+ Flags that specify how this function will operate; the desired
+ flags should be OR'd together. If the 'GMK_FUNC_NOEXPAND' flag is
+ given then the function arguments will not be expanded before the
+ function is called; otherwise they will be expanded first.
+
+Registered Function Interface
+.............................
+
+A function registered with 'make' must match the 'gmk_func_ptr' type.
+It will be invoked with three parameters: 'name' (the name of the
+function), 'argc' (the number of arguments to the function), and 'argv'
+(an array of pointers to arguments to the function). The last pointer
+(that is, 'argv[argc]') will be null ('0').
+
+ The return value of the function is the result of expanding the
+function. If the function expands to nothing the return value may be
+null. Otherwise, it must be a pointer to a string created with
+'gmk_alloc'. Once the function returns, 'make' owns this string and
+will free it when appropriate; it cannot be accessed by the loaded
+object.
+
+GNU 'make' Facilities
+.....................
+
+There are some facilities exported by GNU 'make' for use by loaded
+objects. Typically these would be run from within the setup function
+and/or the functions registered via 'gmk_add_function', to retrieve or
+modify the data 'make' works with.
+
+'gmk_expand'
+ This function takes a string and expands it using 'make' expansion
+ rules. The result of the expansion is returned in a nil-terminated
+ string buffer. The caller is responsible for calling 'gmk_free'
+ with a pointer to the returned buffer when done.
+
+'gmk_eval'
+ This function takes a buffer and evaluates it as a segment of
+ makefile syntax. This function can be used to define new
+ variables, new rules, etc. It is equivalent to using the 'eval'
+ 'make' function.
+
+ Note that there is a difference between 'gmk_eval' and calling
+'gmk_expand' with a string using the 'eval' function: in the latter case
+the string will be expanded _twice_; once by 'gmk_expand' and then again
+by the 'eval' function. Using 'gmk_eval' the buffer is only expanded
+once, at most (as it's read by the 'make' parser).
+
+Memory Management
+.................
+
+Some systems allow for different memory management schemes. Thus you
+should never pass memory that you've allocated directly to any 'make'
+function, nor should you attempt to directly free any memory returned to
+you by any 'make' function. Instead, use the 'gmk_alloc' and 'gmk_free'
+functions.
+
+ In particular, the string returned to 'make' by a function registered
+using 'gmk_add_function' _must_ be allocated using 'gmk_alloc', and the
+string returned from the 'make' 'gmk_expand' function _must_ be freed
+(when no longer needed) using 'gmk_free'.
+
+'gmk_alloc'
+ Return a pointer to a newly-allocated buffer. This function will
+ always return a valid pointer; if not enough memory is available
+ 'make' will exit.
+
+'gmk_free'
+ Free a buffer returned to you by 'make'. Once the 'gmk_free'
+ function returns the string will no longer be valid.
+
+
+File: make.info, Node: Loaded Object Example, Prev: Loaded Object API, Up: Loading Objects
+
+12.2.4 Example Loaded Object
+----------------------------
+
+Let's suppose we wanted to write a new GNU 'make' function that would
+create a temporary file and return its name. We would like our function
+to take a prefix as an argument. First we can write the function in a
+file 'mk_temp.c':
+
+ #include <stdlib.h>
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <unistd.h>
+ #include <errno.h>
+
+ #include <gnumake.h>
+
+ int plugin_is_GPL_compatible;
+
+ char *
+ gen_tmpfile(const char *nm, int argc, char **argv)
+ {
+ int fd;
+
+ /* Compute the size of the filename and allocate space for it. */
+ int len = strlen (argv[0]) + 6 + 1;
+ char *buf = gmk_alloc (len);
+
+ strcpy (buf, argv[0]);
+ strcat (buf, "XXXXXX");
+
+ fd = mkstemp(buf);
+ if (fd >= 0)
+ {
+ /* Don't leak the file descriptor. */
+ close (fd);
+ return buf;
+ }
+
+ /* Failure. */
+ fprintf (stderr, "mkstemp(%s) failed: %s\n", buf, strerror (errno));
+ gmk_free (buf);
+ return NULL;
+ }
+
+ int
+ mk_temp_gmk_setup ()
+ {
+ /* Register the function with make name "mk-temp". */
+ gmk_add_function ("mk-temp", gen_tmpfile, 1, 1, 1);
+ return 1;
+ }
+
+ Next, we will write a makefile that can build this shared object,
+load it, and use it:
-12 Features of GNU `make'
+ all:
+ @echo Temporary file: $(mk-temp tmpfile.)
+
+ load mk_temp.so
+
+ mk_temp.so: mk_temp.c
+ $(CC) -shared -fPIC -o $ $<
+
+ On MS-Windows, due to peculiarities of how shared objects are
+produced, the compiler needs to scan the "import library" produced when
+building 'make', typically called 'libgnumake-VERSION.dll.a', where
+VERSION is the version of the load object API. So the recipe to produce
+a shared object will look on Windows like this (assuming the API version
+is 1):
+
+ mk_temp.dll: mk_temp.c
+ $(CC) -shared -o $ $< -lgnumake-1
+
+ Now when you run 'make' you'll see something like:
+
+ $ make
+ cc -shared -fPIC -o mk_temp.so mk_temp.c
+ Temporary filename: tmpfile.A7JEwd
+
+
+File: make.info, Node: Features, Next: Missing, Prev: Extending make, Up: Top
+
+13 Features of GNU 'make'
*************************
-Here is a summary of the features of GNU `make', for comparison with
-and credit to other versions of `make'. We consider the features of
-`make' in 4.2 BSD systems as a baseline. If you are concerned with
-writing portable makefiles, you should not use the features of `make'
-listed here, nor the ones in *note Missing::.
+Here is a summary of the features of GNU 'make', for comparison with and
+credit to other versions of 'make'. We consider the features of 'make'
+in 4.2 BSD systems as a baseline. If you are concerned with writing
+portable makefiles, you should not use the features of 'make' listed
+here, nor the ones in *note Missing::.
- Many features come from the version of `make' in System V.
+ Many features come from the version of 'make' in System V.
- * The `VPATH' variable and its special meaning. *Note Searching
+ * The 'VPATH' variable and its special meaning. *Note Searching
Directories for Prerequisites: Directory Search. This feature
- exists in System V `make', but is undocumented. It is documented
- in 4.3 BSD `make' (which says it mimics System V's `VPATH'
+ exists in System V 'make', but is undocumented. It is documented
+ in 4.3 BSD 'make' (which says it mimics System V's 'VPATH'
feature).
* Included makefiles. *Note Including Other Makefiles: Include.
- Allowing multiple files to be included with a single directive is
- a GNU extension.
+ Allowing multiple files to be included with a single directive is a
+ GNU extension.
* Variables are read from and communicated via the environment.
*Note Variables from the Environment: Environment.
- * Options passed through the variable `MAKEFLAGS' to recursive
- invocations of `make'. *Note Communicating Options to a
- Sub-`make': Options/Recursion.
+ * Options passed through the variable 'MAKEFLAGS' to recursive
+ invocations of 'make'. *Note Communicating Options to a
+ Sub-'make': Options/Recursion.
- * The automatic variable `$%' is set to the member name in an
- archive reference. *Note Automatic Variables::.
+ * The automatic variable '$%' is set to the member name in an archive
+ reference. *Note Automatic Variables::.
- * The automatic variables `$@', `$*', `$<', `$%', and `$?' have
- corresponding forms like `$(@F)' and `$(@D)'. We have generalized
- this to `$^' as an obvious extension. *Note Automatic Variables::.
+ * The automatic variables '$@', '$*', '$<', '$%', and '$?' have
+ corresponding forms like '$(@F)' and '$(@D)'. We have generalized
+ this to '$^' as an obvious extension. *Note Automatic Variables::.
* Substitution variable references. *Note Basics of Variable
References: Reference.
- * The command line options `-b' and `-m', accepted and ignored. In
- System V `make', these options actually do something.
+ * The command line options '-b' and '-m', accepted and ignored. In
+ System V 'make', these options actually do something.
- * Execution of recursive commands to run `make' via the variable
- `MAKE' even if `-n', `-q' or `-t' is specified. *Note Recursive
- Use of `make': Recursion.
+ * Execution of recursive commands to run 'make' via the variable
+ 'MAKE' even if '-n', '-q' or '-t' is specified. *Note Recursive
+ Use of 'make': Recursion.
- * Support for suffix `.a' in suffix rules. *Note Archive Suffix
- Rules::. This feature is obsolete in GNU `make', because the
+ * Support for suffix '.a' in suffix rules. *Note Archive Suffix
+ Rules::. This feature is obsolete in GNU 'make', because the
general feature of rule chaining (*note Chains of Implicit Rules:
Chained Rules.) allows one pattern rule for installing members in
an archive (*note Archive Update::) to be sufficient.
- * The arrangement of lines and backslash-newline combinations in
+ * The arrangement of lines and backslash/newline combinations in
recipes is retained when the recipes are printed, so they appear as
they do in the makefile, except for the stripping of initial
whitespace.
The following features were inspired by various other versions of
-`make'. In some cases it is unclear exactly which versions inspired
+'make'. In some cases it is unclear exactly which versions inspired
which others.
- * Pattern rules using `%'. This has been implemented in several
- versions of `make'. We're not sure who invented it first, but
- it's been spread around a bit. *Note Defining and Redefining
- Pattern Rules: Pattern Rules.
+ * Pattern rules using '%'. This has been implemented in several
+ versions of 'make'. We're not sure who invented it first, but it's
+ been spread around a bit. *Note Defining and Redefining Pattern
+ Rules: Pattern Rules.
* Rule chaining and implicit intermediate files. This was
- implemented by Stu Feldman in his version of `make' for AT&T
- Eighth Edition Research Unix, and later by Andrew Hume of AT&T
- Bell Labs in his `mk' program (where he terms it "transitive
- closure"). We do not really know if we got this from either of
- them or thought it up ourselves at the same time. *Note Chains of
- Implicit Rules: Chained Rules.
-
- * The automatic variable `$^' containing a list of all prerequisites
- of the current target. We did not invent this, but we have no
- idea who did. *Note Automatic Variables::. The automatic variable
- `$+' is a simple extension of `$^'.
-
- * The "what if" flag (`-W' in GNU `make') was (as far as we know)
- invented by Andrew Hume in `mk'. *Note Instead of Executing
+ implemented by Stu Feldman in his version of 'make' for AT&T Eighth
+ Edition Research Unix, and later by Andrew Hume of AT&T Bell Labs
+ in his 'mk' program (where he terms it "transitive closure"). We
+ do not really know if we got this from either of them or thought it
+ up ourselves at the same time. *Note Chains of Implicit Rules:
+ Chained Rules.
+
+ * The automatic variable '$^' containing a list of all prerequisites
+ of the current target. We did not invent this, but we have no idea
+ who did. *Note Automatic Variables::. The automatic variable '$+'
+ is a simple extension of '$^'.
+
+ * The "what if" flag ('-W' in GNU 'make') was (as far as we know)
+ invented by Andrew Hume in 'mk'. *Note Instead of Executing
Recipes: Instead of Execution.
* The concept of doing several things at once (parallelism) exists in
- many incarnations of `make' and similar programs, though not in the
+ many incarnations of 'make' and similar programs, though not in the
System V or BSD implementations. *Note Recipe Execution:
Execution.
+ * A number of different build tools that support parallelism also
+ support collecting output and displaying as a single block. *Note
+ Output During Parallel Execution: Parallel Output.
+
* Modified variable references using pattern substitution come from
SunOS 4. *Note Basics of Variable References: Reference. This
- functionality was provided in GNU `make' by the `patsubst'
- function before the alternate syntax was implemented for
- compatibility with SunOS 4. It is not altogether clear who
- inspired whom, since GNU `make' had `patsubst' before SunOS 4 was
- released.
+ functionality was provided in GNU 'make' by the 'patsubst' function
+ before the alternate syntax was implemented for compatibility with
+ SunOS 4. It is not altogether clear who inspired whom, since GNU
+ 'make' had 'patsubst' before SunOS 4 was released.
- * The special significance of `+' characters preceding recipe lines
+ * The special significance of '+' characters preceding recipe lines
(*note Instead of Executing Recipes: Instead of Execution.) is
- mandated by `IEEE Standard 1003.2-1992' (POSIX.2).
+ mandated by 'IEEE Standard 1003.2-1992' (POSIX.2).
- * The `+=' syntax to append to the value of a variable comes from
- SunOS 4 `make'. *Note Appending More Text to Variables: Appending.
+ * The '+=' syntax to append to the value of a variable comes from
+ SunOS 4 'make'. *Note Appending More Text to Variables: Appending.
- * The syntax `ARCHIVE(MEM1 MEM2...)' to list multiple members in a
- single archive file comes from SunOS 4 `make'. *Note Archive
+ * The syntax 'ARCHIVE(MEM1 MEM2...)' to list multiple members in a
+ single archive file comes from SunOS 4 'make'. *Note Archive
Members::.
- * The `-include' directive to include makefiles with no error for a
- nonexistent file comes from SunOS 4 `make'. (But note that SunOS 4
- `make' does not allow multiple makefiles to be specified in one
- `-include' directive.) The same feature appears with the name
- `sinclude' in SGI `make' and perhaps others.
+ * The '-include' directive to include makefiles with no error for a
+ nonexistent file comes from SunOS 4 'make'. (But note that SunOS 4
+ 'make' does not allow multiple makefiles to be specified in one
+ '-include' directive.) The same feature appears with the name
+ 'sinclude' in SGI 'make' and perhaps others.
+
+ * The '!=' shell assignment operator exists in many BSD of 'make' and
+ is purposefully implemented here to behave identically to those
+ implementations.
- The remaining features are inventions new in GNU `make':
+ * Various build management tools are implemented using scripting
+ languages such as Perl or Python and thus provide a natural
+ embedded scripting language, similar to GNU 'make''s integration of
+ GNU Guile.
- * Use the `-v' or `--version' option to print version and copyright
+ The remaining features are inventions new in GNU 'make':
+
+ * Use the '-v' or '--version' option to print version and copyright
information.
- * Use the `-h' or `--help' option to summarize the options to `make'.
+ * Use the '-h' or '--help' option to summarize the options to 'make'.
* Simply-expanded variables. *Note The Two Flavors of Variables:
Flavors.
* Pass command line variable assignments automatically through the
- variable `MAKE' to recursive `make' invocations. *Note Recursive
- Use of `make': Recursion.
+ variable 'MAKE' to recursive 'make' invocations. *Note Recursive
+ Use of 'make': Recursion.
- * Use the `-C' or `--directory' command option to change directory.
+ * Use the '-C' or '--directory' command option to change directory.
*Note Summary of Options: Options Summary.
- * Make verbatim variable definitions with `define'. *Note Defining
+ * Make verbatim variable definitions with 'define'. *Note Defining
Multi-Line Variables: Multi-Line.
- * Declare phony targets with the special target `.PHONY'.
+ * Declare phony targets with the special target '.PHONY'.
Andrew Hume of AT&T Bell Labs implemented a similar feature with a
- different syntax in his `mk' program. This seems to be a case of
+ different syntax in his 'mk' program. This seems to be a case of
parallel discovery. *Note Phony Targets: Phony Targets.
* Manipulate text by calling functions. *Note Functions for
Transforming Text: Functions.
- * Use the `-o' or `--old-file' option to pretend a file's
+ * Use the '-o' or '--old-file' option to pretend a file's
modification-time is old. *Note Avoiding Recompilation of Some
Files: Avoiding Compilation.
* Conditional execution.
This feature has been implemented numerous times in various
- versions of `make'; it seems a natural extension derived from the
+ versions of 'make'; it seems a natural extension derived from the
features of the C preprocessor and similar macro languages and is
- not a revolutionary concept. *Note Conditional Parts of
- Makefiles: Conditionals.
+ not a revolutionary concept. *Note Conditional Parts of Makefiles:
+ Conditionals.
* Specify a search path for included makefiles. *Note Including
Other Makefiles: Include.
* Specify extra makefiles to read with an environment variable.
- *Note The Variable `MAKEFILES': MAKEFILES Variable.
+ *Note The Variable 'MAKEFILES': MAKEFILES Variable.
- * Strip leading sequences of `./' from file names, so that `./FILE'
- and `FILE' are considered to be the same file.
+ * Strip leading sequences of './' from file names, so that './FILE'
+ and 'FILE' are considered to be the same file.
* Use a special search method for library prerequisites written in
- the form `-lNAME'. *Note Directory Search for Link Libraries:
+ the form '-lNAME'. *Note Directory Search for Link Libraries:
Libraries/Search.
* Allow suffixes for suffix rules (*note Old-Fashioned Suffix Rules:
Suffix Rules.) to contain any characters. In other versions of
- `make', they must begin with `.' and not contain any `/'
+ 'make', they must begin with '.' and not contain any '/'
characters.
- * Keep track of the current level of `make' recursion using the
- variable `MAKELEVEL'. *Note Recursive Use of `make': Recursion.
+ * Keep track of the current level of 'make' recursion using the
+ variable 'MAKELEVEL'. *Note Recursive Use of 'make': Recursion.
* Provide any goals given on the command line in the variable
- `MAKECMDGOALS'. *Note Arguments to Specify the Goals: Goals.
+ 'MAKECMDGOALS'. *Note Arguments to Specify the Goals: Goals.
* Specify static pattern rules. *Note Static Pattern Rules: Static
Pattern.
- * Provide selective `vpath' search. *Note Searching Directories for
+ * Provide selective 'vpath' search. *Note Searching Directories for
Prerequisites: Directory Search.
* Provide computed variable references. *Note Basics of Variable
References: Reference.
* Update makefiles. *Note How Makefiles Are Remade: Remaking
- Makefiles. System V `make' has a very, very limited form of this
+ Makefiles. System V 'make' has a very, very limited form of this
functionality in that it will check out SCCS files for makefiles.
- * Various new built-in implicit rules. *Note Catalogue of Implicit
+ * Various new built-in implicit rules. *Note Catalogue of Built-In
Rules: Catalogue of Rules.
- * The built-in variable `MAKE_VERSION' gives the version number of
- `make'.
+ * Load dynamic objects which can modify the behavior of 'make'.
+ *Note Loading Dynamic Objects: Loading Objects.

File: make.info, Node: Missing, Next: Makefile Conventions, Prev: Features, Up: Top
-13 Incompatibilities and Missing Features
+14 Incompatibilities and Missing Features
*****************************************
-The `make' programs in various other systems support a few features
-that are not implemented in GNU `make'. The POSIX.2 standard (`IEEE
-Standard 1003.2-1992') which specifies `make' does not require any of
-these features.
+The 'make' programs in various other systems support a few features that
+are not implemented in GNU 'make'. The POSIX.2 standard ('IEEE Standard
+1003.2-1992') which specifies 'make' does not require any of these
+features.
- * A target of the form `FILE((ENTRY))' stands for a member of
- archive file FILE. The member is chosen, not by name, but by
- being an object file which defines the linker symbol ENTRY.
+ * A target of the form 'FILE((ENTRY))' stands for a member of archive
+ file FILE. The member is chosen, not by name, but by being an
+ object file which defines the linker symbol ENTRY.
- This feature was not put into GNU `make' because of the
- nonmodularity of putting knowledge into `make' of the internal
+ This feature was not put into GNU 'make' because of the
+ non-modularity of putting knowledge into 'make' of the internal
format of archive file symbol tables. *Note Updating Archive
Symbol Directories: Archive Symbols.
- * Suffixes (used in suffix rules) that end with the character `~'
- have a special meaning to System V `make'; they refer to the SCCS
- file that corresponds to the file one would get without the `~'.
- For example, the suffix rule `.c~.o' would make the file `N.o' from
- the SCCS file `s.N.c'. For complete coverage, a whole series of
+ * Suffixes (used in suffix rules) that end with the character '~'
+ have a special meaning to System V 'make'; they refer to the SCCS
+ file that corresponds to the file one would get without the '~'.
+ For example, the suffix rule '.c~.o' would make the file 'N.o' from
+ the SCCS file 's.N.c'. For complete coverage, a whole series of
such suffix rules is required. *Note Old-Fashioned Suffix Rules:
Suffix Rules.
- In GNU `make', this entire series of cases is handled by two
+ In GNU 'make', this entire series of cases is handled by two
pattern rules for extraction from SCCS, in combination with the
general feature of rule chaining. *Note Chains of Implicit Rules:
Chained Rules.
- * In System V and 4.3 BSD `make', files found by `VPATH' search
+ * In System V and 4.3 BSD 'make', files found by 'VPATH' search
(*note Searching Directories for Prerequisites: Directory Search.)
have their names changed inside recipes. We feel it is much
cleaner to always use automatic variables and thus make this
feature obsolete.
- * In some Unix `make's, the automatic variable `$*' appearing in the
+ * In some Unix 'make's, the automatic variable '$*' appearing in the
prerequisites of a rule has the amazingly strange "feature" of
expanding to the full name of the _target of that rule_. We cannot
- imagine what went on in the minds of Unix `make' developers to do
+ imagine what went on in the minds of Unix 'make' developers to do
this; it is utterly inconsistent with the normal definition of
- `$*'.
+ '$*'.
- * In some Unix `make's, implicit rule search (*note Using Implicit
+ * In some Unix 'make's, implicit rule search (*note Using Implicit
Rules: Implicit Rules.) is apparently done for _all_ targets, not
just those without recipes. This means you can do:
foo.o:
cc -c foo.c
- and Unix `make' will intuit that `foo.o' depends on `foo.c'.
+ and Unix 'make' will intuit that 'foo.o' depends on 'foo.c'.
We feel that such usage is broken. The prerequisite properties of
- `make' are well-defined (for GNU `make', at least), and doing such
+ 'make' are well-defined (for GNU 'make', at least), and doing such
a thing simply does not fit the model.
- * GNU `make' does not include any built-in implicit rules for
+ * GNU 'make' does not include any built-in implicit rules for
compiling or preprocessing EFL programs. If we hear of anyone who
is using EFL, we will gladly add them.
- * It appears that in SVR4 `make', a suffix rule can be specified
- with no recipe, and it is treated as if it had an empty recipe
- (*note Empty Recipes::). For example:
+ * It appears that in SVR4 'make', a suffix rule can be specified with
+ no recipe, and it is treated as if it had an empty recipe (*note
+ Empty Recipes::). For example:
.c.a:
- will override the built-in `.c.a' suffix rule.
+ will override the built-in '.c.a' suffix rule.
We feel that it is cleaner for a rule without a recipe to always
simply add to the prerequisite list for the target. The above
example can be easily rewritten to get the desired behavior in GNU
- `make':
+ 'make':
.c.a: ;
- * Some versions of `make' invoke the shell with the `-e' flag,
- except under `-k' (*note Testing the Compilation of a Program:
- Testing.). The `-e' flag tells the shell to exit as soon as any
- program it runs returns a nonzero status. We feel it is cleaner to
- write each line of the recipe to stand on its own and not require
- this special treatment.
+ * Some versions of 'make' invoke the shell with the '-e' flag, except
+ under '-k' (*note Testing the Compilation of a Program: Testing.).
+ The '-e' flag tells the shell to exit as soon as any program it
+ runs returns a nonzero status. We feel it is cleaner to write each
+ line of the recipe to stand on its own and not require this special
+ treatment.

File: make.info, Node: Makefile Conventions, Next: Quick Reference, Prev: Missing, Up: Top
-14 Makefile Conventions
+15 Makefile Conventions
***********************
This node describes conventions for writing the Makefiles for GNU
@@ -1653,27 +2359,27 @@ POSIX and *note Portable Make Programming: (autoconf)Portable Make.
* DESTDIR:: Supporting staged installs.
* Directory Variables:: Variables for installation directories.
* Standard Targets:: Standard targets for users.
-* Install Command Categories:: Three categories of commands in the `install'
+* Install Command Categories:: Three categories of commands in the 'install'
rule: normal, pre-install and post-install.

File: make.info, Node: Makefile Basics, Next: Utilities in Makefiles, Up: Makefile Conventions
-14.1 General Conventions for Makefiles
+15.1 General Conventions for Makefiles
======================================
Every Makefile should contain this line:
SHELL = /bin/sh
-to avoid trouble on systems where the `SHELL' variable might be
+to avoid trouble on systems where the 'SHELL' variable might be
inherited from the environment. (This is never a problem with GNU
-`make'.)
+'make'.)
- Different `make' programs have incompatible suffix lists and
-implicit rules, and this sometimes creates confusion or misbehavior. So
-it is a good idea to set the suffix list explicitly using only the
-suffixes you need in the particular Makefile, like this:
+ Different 'make' programs have incompatible suffix lists and implicit
+rules, and this sometimes creates confusion or misbehavior. So it is a
+good idea to set the suffix list explicitly using only the suffixes you
+need in the particular Makefile, like this:
.SUFFIXES:
.SUFFIXES: .c .o
@@ -1681,29 +2387,28 @@ suffixes you need in the particular Makefile, like this:
The first line clears out the suffix list, the second introduces all
suffixes which may be subject to implicit rules in this Makefile.
- Don't assume that `.' is in the path for command execution. When
-you need to run programs that are a part of your package during the
-make, please make sure that it uses `./' if the program is built as
-part of the make or `$(srcdir)/' if the file is an unchanging part of
-the source code. Without one of these prefixes, the current search
-path is used.
+ Don't assume that '.' is in the path for command execution. When you
+need to run programs that are a part of your package during the make,
+please make sure that it uses './' if the program is built as part of
+the make or '$(srcdir)/' if the file is an unchanging part of the source
+code. Without one of these prefixes, the current search path is used.
- The distinction between `./' (the "build directory") and
-`$(srcdir)/' (the "source directory") is important because users can
-build in a separate directory using the `--srcdir' option to
-`configure'. A rule of the form:
+ The distinction between './' (the "build directory") and '$(srcdir)/'
+(the "source directory") is important because users can build in a
+separate directory using the '--srcdir' option to 'configure'. A rule
+of the form:
foo.1 : foo.man sedscript
sed -f sedscript foo.man > foo.1
will fail when the build directory is not the source directory, because
-`foo.man' and `sedscript' are in the source directory.
+'foo.man' and 'sedscript' are in the source directory.
- When using GNU `make', relying on `VPATH' to find the source file
-will work in the case where there is a single dependency file, since
-the `make' automatic variable `$<' will represent the source file
-wherever it is. (Many versions of `make' set `$<' only in implicit
-rules.) A Makefile target like
+ When using GNU 'make', relying on 'VPATH' to find the source file
+will work in the case where there is a single dependency file, since the
+'make' automatic variable '$<' will represent the source file wherever
+it is. (Many versions of 'make' set '$<' only in implicit rules.) A
+Makefile target like
foo.o : bar.c
$(CC) -I. -I$(srcdir) $(CFLAGS) -c bar.c -o foo.o
@@ -1713,9 +2418,9 @@ should instead be written as
foo.o : bar.c
$(CC) -I. -I$(srcdir) $(CFLAGS) -c $< -o $@
-in order to allow `VPATH' to work correctly. When the target has
-multiple dependencies, using an explicit `$(srcdir)' is the easiest way
-to make the rule work well. For example, the target above for `foo.1'
+in order to allow 'VPATH' to work correctly. When the target has
+multiple dependencies, using an explicit '$(srcdir)' is the easiest way
+to make the rule work well. For example, the target above for 'foo.1'
is best written as:
foo.1 : foo.man sedscript
@@ -1734,30 +2439,29 @@ program in ordinary circumstances should not modify the source directory
in any way.
Try to make the build and installation targets, at least (and all
-their subtargets) work correctly with a parallel `make'.
+their subtargets) work correctly with a parallel 'make'.

File: make.info, Node: Utilities in Makefiles, Next: Command Variables, Prev: Makefile Basics, Up: Makefile Conventions
-14.2 Utilities in Makefiles
+15.2 Utilities in Makefiles
===========================
-Write the Makefile commands (and any shell scripts, such as
-`configure') to run under `sh' (both the traditional Bourne shell and
-the POSIX shell), not `csh'. Don't use any special features of `ksh'
-or `bash', or POSIX features not widely supported in traditional Bourne
-`sh'.
+Write the Makefile commands (and any shell scripts, such as 'configure')
+to run under 'sh' (both the traditional Bourne shell and the POSIX
+shell), not 'csh'. Don't use any special features of 'ksh' or 'bash',
+or POSIX features not widely supported in traditional Bourne 'sh'.
- The `configure' script and the Makefile rules for building and
+ The 'configure' script and the Makefile rules for building and
installation should not use any utilities directly except these:
awk cat cmp cp diff echo egrep expr false grep install-info ln ls
mkdir mv printf pwd rm rmdir sed sleep sort tar test touch tr true
- Compression programs such as `gzip' can be used in the `dist' rule.
+ Compression programs such as 'gzip' can be used in the 'dist' rule.
Generally, stick to the widely-supported (usually POSIX-specified)
-options and features of these programs. For example, don't use `mkdir
+options and features of these programs. For example, don't use 'mkdir
-p', convenient as it may be, because a few systems don't support it at
all and with others, it is not safe for parallel execution. For a list
of known incompatibilities, see *note Portable Shell Programming:
@@ -1767,23 +2471,23 @@ of known incompatibilities, see *note Portable Shell Programming:
since a few file systems don't support them.
The Makefile rules for building and installation can also use
-compilers and related programs, but should do so via `make' variables
-so that the user can substitute alternatives. Here are some of the
+compilers and related programs, but should do so via 'make' variables so
+that the user can substitute alternatives. Here are some of the
programs we mean:
ar bison cc flex install ld ldconfig lex
make makeinfo ranlib texi2dvi yacc
- Use the following `make' variables to run those programs:
+ Use the following 'make' variables to run those programs:
$(AR) $(BISON) $(CC) $(FLEX) $(INSTALL) $(LD) $(LDCONFIG) $(LEX)
$(MAKE) $(MAKEINFO) $(RANLIB) $(TEXI2DVI) $(YACC)
- When you use `ranlib' or `ldconfig', you should make sure nothing
-bad happens if the system does not have the program in question.
-Arrange to ignore an error from that command, and print a message before
-the command to tell the user that failure of this command does not mean
-a problem. (The Autoconf `AC_PROG_RANLIB' macro can help with this.)
+ When you use 'ranlib' or 'ldconfig', you should make sure nothing bad
+happens if the system does not have the program in question. Arrange to
+ignore an error from that command, and print a message before the
+command to tell the user that failure of this command does not mean a
+problem. (The Autoconf 'AC_PROG_RANLIB' macro can help with this.)
If you use symbolic links, you should implement a fallback for
systems that don't have symbolic links.
@@ -1799,71 +2503,70 @@ exist.

File: make.info, Node: Command Variables, Next: DESTDIR, Prev: Utilities in Makefiles, Up: Makefile Conventions
-14.3 Variables for Specifying Commands
+15.3 Variables for Specifying Commands
======================================
Makefiles should provide variables for overriding certain commands,
options, and so on.
In particular, you should run most utility programs via variables.
-Thus, if you use Bison, have a variable named `BISON' whose default
-value is set with `BISON = bison', and refer to it with `$(BISON)'
+Thus, if you use Bison, have a variable named 'BISON' whose default
+value is set with 'BISON = bison', and refer to it with '$(BISON)'
whenever you need to use Bison.
- File management utilities such as `ln', `rm', `mv', and so on, need
-not be referred to through variables in this way, since users don't
-need to replace them with other programs.
+ File management utilities such as 'ln', 'rm', 'mv', and so on, need
+not be referred to through variables in this way, since users don't need
+to replace them with other programs.
Each program-name variable should come with an options variable that
-is used to supply options to the program. Append `FLAGS' to the
+is used to supply options to the program. Append 'FLAGS' to the
program-name variable name to get the options variable name--for
-example, `BISONFLAGS'. (The names `CFLAGS' for the C compiler,
-`YFLAGS' for yacc, and `LFLAGS' for lex, are exceptions to this rule,
-but we keep them because they are standard.) Use `CPPFLAGS' in any
-compilation command that runs the preprocessor, and use `LDFLAGS' in
-any compilation command that does linking as well as in any direct use
-of `ld'.
+example, 'BISONFLAGS'. (The names 'CFLAGS' for the C compiler, 'YFLAGS'
+for yacc, and 'LFLAGS' for lex, are exceptions to this rule, but we keep
+them because they are standard.) Use 'CPPFLAGS' in any compilation
+command that runs the preprocessor, and use 'LDFLAGS' in any compilation
+command that does linking as well as in any direct use of 'ld'.
If there are C compiler options that _must_ be used for proper
-compilation of certain files, do not include them in `CFLAGS'. Users
-expect to be able to specify `CFLAGS' freely themselves. Instead,
-arrange to pass the necessary options to the C compiler independently
-of `CFLAGS', by writing them explicitly in the compilation commands or
-by defining an implicit rule, like this:
+compilation of certain files, do not include them in 'CFLAGS'. Users
+expect to be able to specify 'CFLAGS' freely themselves. Instead,
+arrange to pass the necessary options to the C compiler independently of
+'CFLAGS', by writing them explicitly in the compilation commands or by
+defining an implicit rule, like this:
CFLAGS = -g
ALL_CFLAGS = -I. $(CFLAGS)
.c.o:
$(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<
- Do include the `-g' option in `CFLAGS', because that is not
+ Do include the '-g' option in 'CFLAGS', because that is not
_required_ for proper compilation. You can consider it a default that
is only recommended. If the package is set up so that it is compiled
-with GCC by default, then you might as well include `-O' in the default
-value of `CFLAGS' as well.
+with GCC by default, then you might as well include '-O' in the default
+value of 'CFLAGS' as well.
- Put `CFLAGS' last in the compilation command, after other variables
-containing compiler options, so the user can use `CFLAGS' to override
+ Put 'CFLAGS' last in the compilation command, after other variables
+containing compiler options, so the user can use 'CFLAGS' to override
the others.
- `CFLAGS' should be used in every invocation of the C compiler, both
+ 'CFLAGS' should be used in every invocation of the C compiler, both
those which do compilation and those which do linking.
- Every Makefile should define the variable `INSTALL', which is the
+ Every Makefile should define the variable 'INSTALL', which is the
basic command for installing a file into the system.
- Every Makefile should also define the variables `INSTALL_PROGRAM'
-and `INSTALL_DATA'. (The default for `INSTALL_PROGRAM' should be
-`$(INSTALL)'; the default for `INSTALL_DATA' should be `${INSTALL} -m
+ Every Makefile should also define the variables 'INSTALL_PROGRAM' and
+'INSTALL_DATA'. (The default for 'INSTALL_PROGRAM' should be
+'$(INSTALL)'; the default for 'INSTALL_DATA' should be '${INSTALL} -m
644'.) Then it should use those variables as the commands for actual
-installation, for executables and non-executables respectively.
-Minimal use of these variables is as follows:
+installation, for executables and non-executables respectively. Minimal
+use of these variables is as follows:
$(INSTALL_PROGRAM) foo $(bindir)/foo
$(INSTALL_DATA) libfoo.a $(libdir)/libfoo.a
- However, it is preferable to support a `DESTDIR' prefix on the
-target files, as explained in the next section.
+ However, it is preferable to support a 'DESTDIR' prefix on the target
+files, as explained in the next section.
It is acceptable, but not required, to install multiple files in one
command, with the final argument being a directory, as in:
@@ -1873,56 +2576,54 @@ command, with the final argument being a directory, as in:

File: make.info, Node: DESTDIR, Next: Directory Variables, Prev: Command Variables, Up: Makefile Conventions
-14.4 `DESTDIR': Support for Staged Installs
+15.4 'DESTDIR': Support for Staged Installs
===========================================
-`DESTDIR' is a variable prepended to each installed target file, like
+'DESTDIR' is a variable prepended to each installed target file, like
this:
$(INSTALL_PROGRAM) foo $(DESTDIR)$(bindir)/foo
$(INSTALL_DATA) libfoo.a $(DESTDIR)$(libdir)/libfoo.a
- The `DESTDIR' variable is specified by the user on the `make'
-command line as an absolute file name. For example:
+ The 'DESTDIR' variable is specified by the user on the 'make' command
+line as an absolute file name. For example:
make DESTDIR=/tmp/stage install
-`DESTDIR' should be supported only in the `install*' and `uninstall*'
+'DESTDIR' should be supported only in the 'install*' and 'uninstall*'
targets, as those are the only targets where it is useful.
- If your installation step would normally install
-`/usr/local/bin/foo' and `/usr/local/lib/libfoo.a', then an
-installation invoked as in the example above would install
-`/tmp/stage/usr/local/bin/foo' and `/tmp/stage/usr/local/lib/libfoo.a'
-instead.
+ If your installation step would normally install '/usr/local/bin/foo'
+and '/usr/local/lib/libfoo.a', then an installation invoked as in the
+example above would install '/tmp/stage/usr/local/bin/foo' and
+'/tmp/stage/usr/local/lib/libfoo.a' instead.
- Prepending the variable `DESTDIR' to each target in this way
-provides for "staged installs", where the installed files are not
-placed directly into their expected location but are instead copied
-into a temporary location (`DESTDIR'). However, installed files
-maintain their relative directory structure and any embedded file names
-will not be modified.
+ Prepending the variable 'DESTDIR' to each target in this way provides
+for "staged installs", where the installed files are not placed directly
+into their expected location but are instead copied into a temporary
+location ('DESTDIR'). However, installed files maintain their relative
+directory structure and any embedded file names will not be modified.
- You should not set the value of `DESTDIR' in your `Makefile' at all;
+ You should not set the value of 'DESTDIR' in your 'Makefile' at all;
then the files are installed into their expected locations by default.
-Also, specifying `DESTDIR' should not change the operation of the
+Also, specifying 'DESTDIR' should not change the operation of the
software in any way, so its value should not be included in any file
contents.
- `DESTDIR' support is commonly used in package creation. It is also
+ 'DESTDIR' support is commonly used in package creation. It is also
helpful to users who want to understand what a given package will
-install where, and to allow users who don't normally have permissions
-to install into protected areas to build and install before gaining
-those permissions. Finally, it can be useful with tools such as
-`stow', where code is installed in one place but made to appear to be
-installed somewhere else using symbolic links or special mount
-operations. So, we strongly recommend GNU packages support `DESTDIR',
-though it is not an absolute requirement.
+install where, and to allow users who don't normally have permissions to
+install into protected areas to build and install before gaining those
+permissions. Finally, it can be useful with tools such as 'stow', where
+code is installed in one place but made to appear to be installed
+somewhere else using symbolic links or special mount operations. So, we
+strongly recommend GNU packages support 'DESTDIR', though it is not an
+absolute requirement.

File: make.info, Node: Directory Variables, Next: Standard Targets, Prev: DESTDIR, Up: Makefile Conventions
-14.5 Variables for Installation Directories
+15.5 Variables for Installation Directories
===========================================
Installation directories should always be named by variables, so it is
@@ -1931,8 +2632,8 @@ variables and the values they should have in GNU packages are described
below. They are based on a standard file system layout; variants of it
are used in GNU/Linux and other modern operating systems.
- Installers are expected to override these values when calling `make'
-(e.g., `make prefix=/usr install' or `configure' (e.g., `configure
+ Installers are expected to override these values when calling 'make'
+(e.g., 'make prefix=/usr install' or 'configure' (e.g., 'configure
--prefix=/usr'). GNU packages should not try to guess which value
should be appropriate for these variables on the system they are being
installed onto: use the default settings specified here so that all GNU
@@ -1947,58 +2648,58 @@ other installation directories should be subdirectories of one of these
two, and nothing should be directly installed into these two
directories.
-`prefix'
+'prefix'
A prefix used in constructing the default values of the variables
- listed below. The default value of `prefix' should be
- `/usr/local'. When building the complete GNU system, the prefix
- will be empty and `/usr' will be a symbolic link to `/'. (If you
- are using Autoconf, write it as `@prefix@'.)
+ listed below. The default value of 'prefix' should be
+ '/usr/local'. When building the complete GNU system, the prefix
+ will be empty and '/usr' will be a symbolic link to '/'. (If you
+ are using Autoconf, write it as '@prefix@'.)
- Running `make install' with a different value of `prefix' from the
+ Running 'make install' with a different value of 'prefix' from the
one used to build the program should _not_ recompile the program.
-`exec_prefix'
+'exec_prefix'
A prefix used in constructing the default values of some of the
- variables listed below. The default value of `exec_prefix' should
- be `$(prefix)'. (If you are using Autoconf, write it as
- `@exec_prefix@'.)
+ variables listed below. The default value of 'exec_prefix' should
+ be '$(prefix)'. (If you are using Autoconf, write it as
+ '@exec_prefix@'.)
- Generally, `$(exec_prefix)' is used for directories that contain
+ Generally, '$(exec_prefix)' is used for directories that contain
machine-specific files (such as executables and subroutine
- libraries), while `$(prefix)' is used directly for other
+ libraries), while '$(prefix)' is used directly for other
directories.
- Running `make install' with a different value of `exec_prefix'
- from the one used to build the program should _not_ recompile the
+ Running 'make install' with a different value of 'exec_prefix' from
+ the one used to build the program should _not_ recompile the
program.
Executable programs are installed in one of the following
directories.
-`bindir'
+'bindir'
The directory for installing executable programs that users can
- run. This should normally be `/usr/local/bin', but write it as
- `$(exec_prefix)/bin'. (If you are using Autoconf, write it as
- `@bindir@'.)
+ run. This should normally be '/usr/local/bin', but write it as
+ '$(exec_prefix)/bin'. (If you are using Autoconf, write it as
+ '@bindir@'.)
-`sbindir'
+'sbindir'
The directory for installing executable programs that can be run
from the shell, but are only generally useful to system
- administrators. This should normally be `/usr/local/sbin', but
- write it as `$(exec_prefix)/sbin'. (If you are using Autoconf,
- write it as `@sbindir@'.)
+ administrators. This should normally be '/usr/local/sbin', but
+ write it as '$(exec_prefix)/sbin'. (If you are using Autoconf,
+ write it as '@sbindir@'.)
-`libexecdir'
+'libexecdir'
The directory for installing executable programs to be run by other
programs rather than by users. This directory should normally be
- `/usr/local/libexec', but write it as `$(exec_prefix)/libexec'.
- (If you are using Autoconf, write it as `@libexecdir@'.)
+ '/usr/local/libexec', but write it as '$(exec_prefix)/libexec'.
+ (If you are using Autoconf, write it as '@libexecdir@'.)
- The definition of `libexecdir' is the same for all packages, so
- you should install your data in a subdirectory thereof. Most
- packages install their data under `$(libexecdir)/PACKAGE-NAME/',
- possibly within additional subdirectories thereof, such as
- `$(libexecdir)/PACKAGE-NAME/MACHINE/VERSION'.
+ The definition of 'libexecdir' is the same for all packages, so you
+ should install your data in a subdirectory thereof. Most packages
+ install their data under '$(libexecdir)/PACKAGE-NAME/', possibly
+ within additional subdirectories thereof, such as
+ '$(libexecdir)/PACKAGE-NAME/MACHINE/VERSION'.
Data files used by the program during its execution are divided into
categories in two ways.
@@ -2016,199 +2717,208 @@ discourage the use of architecture-dependent files, aside from object
files and libraries. It is much cleaner to make other data files
architecture-independent, and it is generally not hard.
- Here are the variables Makefiles should use to specify directories
-to put these various kinds of files in:
+ Here are the variables Makefiles should use to specify directories to
+put these various kinds of files in:
-`datarootdir'
+'datarootdir'
The root of the directory tree for read-only
architecture-independent data files. This should normally be
- `/usr/local/share', but write it as `$(prefix)/share'. (If you
- are using Autoconf, write it as `@datarootdir@'.) `datadir''s
- default value is based on this variable; so are `infodir',
- `mandir', and others.
+ '/usr/local/share', but write it as '$(prefix)/share'. (If you are
+ using Autoconf, write it as '@datarootdir@'.) 'datadir''s default
+ value is based on this variable; so are 'infodir', 'mandir', and
+ others.
-`datadir'
+'datadir'
The directory for installing idiosyncratic read-only
architecture-independent data files for this program. This is
- usually the same place as `datarootdir', but we use the two
+ usually the same place as 'datarootdir', but we use the two
separate variables so that you can move these program-specific
files without altering the location for Info files, man pages, etc.
- This should normally be `/usr/local/share', but write it as
- `$(datarootdir)'. (If you are using Autoconf, write it as
- `@datadir@'.)
+ This should normally be '/usr/local/share', but write it as
+ '$(datarootdir)'. (If you are using Autoconf, write it as
+ '@datadir@'.)
- The definition of `datadir' is the same for all packages, so you
+ The definition of 'datadir' is the same for all packages, so you
should install your data in a subdirectory thereof. Most packages
- install their data under `$(datadir)/PACKAGE-NAME/'.
+ install their data under '$(datadir)/PACKAGE-NAME/'.
-`sysconfdir'
+'sysconfdir'
The directory for installing read-only data files that pertain to a
single machine-that is to say, files for configuring a host.
- Mailer and network configuration files, `/etc/passwd', and so
- forth belong here. All the files in this directory should be
- ordinary ASCII text files. This directory should normally be
- `/usr/local/etc', but write it as `$(prefix)/etc'. (If you are
- using Autoconf, write it as `@sysconfdir@'.)
+ Mailer and network configuration files, '/etc/passwd', and so forth
+ belong here. All the files in this directory should be ordinary
+ ASCII text files. This directory should normally be
+ '/usr/local/etc', but write it as '$(prefix)/etc'. (If you are
+ using Autoconf, write it as '@sysconfdir@'.)
Do not install executables here in this directory (they probably
- belong in `$(libexecdir)' or `$(sbindir)'). Also do not install
+ belong in '$(libexecdir)' or '$(sbindir)'). Also do not install
files that are modified in the normal course of their use (programs
whose purpose is to change the configuration of the system
- excluded). Those probably belong in `$(localstatedir)'.
+ excluded). Those probably belong in '$(localstatedir)'.
-`sharedstatedir'
+'sharedstatedir'
The directory for installing architecture-independent data files
which the programs modify while they run. This should normally be
- `/usr/local/com', but write it as `$(prefix)/com'. (If you are
- using Autoconf, write it as `@sharedstatedir@'.)
+ '/usr/local/com', but write it as '$(prefix)/com'. (If you are
+ using Autoconf, write it as '@sharedstatedir@'.)
-`localstatedir'
+'localstatedir'
The directory for installing data files which the programs modify
while they run, and that pertain to one specific machine. Users
should never need to modify files in this directory to configure
the package's operation; put such configuration information in
- separate files that go in `$(datadir)' or `$(sysconfdir)'.
- `$(localstatedir)' should normally be `/usr/local/var', but write
- it as `$(prefix)/var'. (If you are using Autoconf, write it as
- `@localstatedir@'.)
+ separate files that go in '$(datadir)' or '$(sysconfdir)'.
+ '$(localstatedir)' should normally be '/usr/local/var', but write
+ it as '$(prefix)/var'. (If you are using Autoconf, write it as
+ '@localstatedir@'.)
+
+'runstatedir'
+ The directory for installing data files which the programs modify
+ while they run, that pertain to one specific machine, and which
+ need not persist longer than the execution of the program--which is
+ generally long-lived, for example, until the next reboot. PID
+ files for system daemons are a typical use. In addition, this
+ directory should not be cleaned except perhaps at reboot, while the
+ general '/tmp' ('TMPDIR') may be cleaned arbitrarily. This should
+ normally be '/var/run', but write it as '$(localstatedir)/run'.
+ Having it as a separate variable allows the use of '/run' if
+ desired, for example. (If you are using Autoconf 2.70 or later,
+ write it as '@runstatedir@'.)
These variables specify the directory for installing certain specific
-types of files, if your program has them. Every GNU package should
-have Info files, so every program needs `infodir', but not all need
-`libdir' or `lispdir'.
+types of files, if your program has them. Every GNU package should have
+Info files, so every program needs 'infodir', but not all need 'libdir'
+or 'lispdir'.
-`includedir'
+'includedir'
The directory for installing header files to be included by user
- programs with the C `#include' preprocessor directive. This
- should normally be `/usr/local/include', but write it as
- `$(prefix)/include'. (If you are using Autoconf, write it as
- `@includedir@'.)
+ programs with the C '#include' preprocessor directive. This should
+ normally be '/usr/local/include', but write it as
+ '$(prefix)/include'. (If you are using Autoconf, write it as
+ '@includedir@'.)
Most compilers other than GCC do not look for header files in
- directory `/usr/local/include'. So installing the header files
- this way is only useful with GCC. Sometimes this is not a problem
+ directory '/usr/local/include'. So installing the header files
+ this way is only useful with GCC. Sometimes this is not a problem
because some libraries are only really intended to work with GCC.
- But some libraries are intended to work with other compilers.
- They should install their header files in two places, one
- specified by `includedir' and one specified by `oldincludedir'.
+ But some libraries are intended to work with other compilers. They
+ should install their header files in two places, one specified by
+ 'includedir' and one specified by 'oldincludedir'.
-`oldincludedir'
- The directory for installing `#include' header files for use with
- compilers other than GCC. This should normally be `/usr/include'.
- (If you are using Autoconf, you can write it as `@oldincludedir@'.)
+'oldincludedir'
+ The directory for installing '#include' header files for use with
+ compilers other than GCC. This should normally be '/usr/include'.
+ (If you are using Autoconf, you can write it as '@oldincludedir@'.)
The Makefile commands should check whether the value of
- `oldincludedir' is empty. If it is, they should not try to use
- it; they should cancel the second installation of the header files.
+ 'oldincludedir' is empty. If it is, they should not try to use it;
+ they should cancel the second installation of the header files.
A package should not replace an existing header in this directory
unless the header came from the same package. Thus, if your Foo
- package provides a header file `foo.h', then it should install the
- header file in the `oldincludedir' directory if either (1) there
- is no `foo.h' there or (2) the `foo.h' that exists came from the
- Foo package.
+ package provides a header file 'foo.h', then it should install the
+ header file in the 'oldincludedir' directory if either (1) there is
+ no 'foo.h' there or (2) the 'foo.h' that exists came from the Foo
+ package.
- To tell whether `foo.h' came from the Foo package, put a magic
- string in the file--part of a comment--and `grep' for that string.
+ To tell whether 'foo.h' came from the Foo package, put a magic
+ string in the file--part of a comment--and 'grep' for that string.
-`docdir'
+'docdir'
The directory for installing documentation files (other than Info)
for this package. By default, it should be
- `/usr/local/share/doc/YOURPKG', but it should be written as
- `$(datarootdir)/doc/YOURPKG'. (If you are using Autoconf, write
- it as `@docdir@'.) The YOURPKG subdirectory, which may include a
+ '/usr/local/share/doc/YOURPKG', but it should be written as
+ '$(datarootdir)/doc/YOURPKG'. (If you are using Autoconf, write it
+ as '@docdir@'.) The YOURPKG subdirectory, which may include a
version number, prevents collisions among files with common names,
- such as `README'.
+ such as 'README'.
-`infodir'
+'infodir'
The directory for installing the Info files for this package. By
- default, it should be `/usr/local/share/info', but it should be
- written as `$(datarootdir)/info'. (If you are using Autoconf,
- write it as `@infodir@'.) `infodir' is separate from `docdir' for
+ default, it should be '/usr/local/share/info', but it should be
+ written as '$(datarootdir)/info'. (If you are using Autoconf,
+ write it as '@infodir@'.) 'infodir' is separate from 'docdir' for
compatibility with existing practice.
-`htmldir'
-`dvidir'
-`pdfdir'
-`psdir'
+'htmldir'
+'dvidir'
+'pdfdir'
+'psdir'
Directories for installing documentation files in the particular
- format. They should all be set to `$(docdir)' by default. (If
- you are using Autoconf, write them as `@htmldir@', `@dvidir@',
- etc.) Packages which supply several translations of their
- documentation should install them in `$(htmldir)/'LL,
- `$(pdfdir)/'LL, etc. where LL is a locale abbreviation such as
- `en' or `pt_BR'.
-
-`libdir'
+ format. They should all be set to '$(docdir)' by default. (If you
+ are using Autoconf, write them as '@htmldir@', '@dvidir@', etc.)
+ Packages which supply several translations of their documentation
+ should install them in '$(htmldir)/'LL, '$(pdfdir)/'LL, etc. where
+ LL is a locale abbreviation such as 'en' or 'pt_BR'.
+
+'libdir'
The directory for object files and libraries of object code. Do
not install executables here, they probably ought to go in
- `$(libexecdir)' instead. The value of `libdir' should normally be
- `/usr/local/lib', but write it as `$(exec_prefix)/lib'. (If you
- are using Autoconf, write it as `@libdir@'.)
+ '$(libexecdir)' instead. The value of 'libdir' should normally be
+ '/usr/local/lib', but write it as '$(exec_prefix)/lib'. (If you
+ are using Autoconf, write it as '@libdir@'.)
-`lispdir'
+'lispdir'
The directory for installing any Emacs Lisp files in this package.
- By default, it should be `/usr/local/share/emacs/site-lisp', but it
- should be written as `$(datarootdir)/emacs/site-lisp'.
+ By default, it should be '/usr/local/share/emacs/site-lisp', but it
+ should be written as '$(datarootdir)/emacs/site-lisp'.
- If you are using Autoconf, write the default as `@lispdir@'. In
- order to make `@lispdir@' work, you need the following lines in
- your `configure.in' file:
+ If you are using Autoconf, write the default as '@lispdir@'. In
+ order to make '@lispdir@' work, you need the following lines in
+ your 'configure.ac' file:
lispdir='${datarootdir}/emacs/site-lisp'
AC_SUBST(lispdir)
-`localedir'
+'localedir'
The directory for installing locale-specific message catalogs for
- this package. By default, it should be `/usr/local/share/locale',
- but it should be written as `$(datarootdir)/locale'. (If you are
- using Autoconf, write it as `@localedir@'.) This directory
- usually has a subdirectory per locale.
+ this package. By default, it should be '/usr/local/share/locale',
+ but it should be written as '$(datarootdir)/locale'. (If you are
+ using Autoconf, write it as '@localedir@'.) This directory usually
+ has a subdirectory per locale.
Unix-style man pages are installed in one of the following:
-`mandir'
+'mandir'
The top-level directory for installing the man pages (if any) for
- this package. It will normally be `/usr/local/share/man', but you
- should write it as `$(datarootdir)/man'. (If you are using
- Autoconf, write it as `@mandir@'.)
+ this package. It will normally be '/usr/local/share/man', but you
+ should write it as '$(datarootdir)/man'. (If you are using
+ Autoconf, write it as '@mandir@'.)
-`man1dir'
+'man1dir'
The directory for installing section 1 man pages. Write it as
- `$(mandir)/man1'.
-
-`man2dir'
+ '$(mandir)/man1'.
+'man2dir'
The directory for installing section 2 man pages. Write it as
- `$(mandir)/man2'
+ '$(mandir)/man2'
+'...'
-`...'
- *Don't make the primary documentation for any GNU software be a
- man page. Write a manual in Texinfo instead. Man pages are just
- for the sake of people running GNU software on Unix, which is a
+ *Don't make the primary documentation for any GNU software be a man
+ page. Write a manual in Texinfo instead. Man pages are just for
+ the sake of people running GNU software on Unix, which is a
secondary application only.*
-`manext'
+'manext'
The file name extension for the installed man page. This should
contain a period followed by the appropriate digit; it should
- normally be `.1'.
+ normally be '.1'.
-`man1ext'
+'man1ext'
The file name extension for installed section 1 man pages.
-
-`man2ext'
+'man2ext'
The file name extension for installed section 2 man pages.
-
-`...'
- Use these names instead of `manext' if the package needs to
- install man pages in more than one section of the manual.
+'...'
+ Use these names instead of 'manext' if the package needs to install
+ man pages in more than one section of the manual.
And finally, you should set the following variable:
-`srcdir'
+'srcdir'
The directory for the sources being compiled. The value of this
- variable is normally inserted by the `configure' shell script.
- (If you are using Autoconf, use `srcdir = @srcdir@'.)
+ variable is normally inserted by the 'configure' shell script. (If
+ you are using Autoconf, use 'srcdir = @srcdir@'.)
For example:
@@ -2228,7 +2938,7 @@ have Info files, so every program needs `infodir', but not all need
If your program installs a large number of files into one of the
standard user-specified directories, it might be useful to group them
into a subdirectory particular to that program. If you do this, you
-should write the `install' rule to create these subdirectories.
+should write the 'install' rule to create these subdirectories.
Do not expect the user to include the subdirectory name in the value
of any of the variables listed above. The idea of having a uniform set
@@ -2248,57 +2958,61 @@ supports them.

File: make.info, Node: Standard Targets, Next: Install Command Categories, Prev: Directory Variables, Up: Makefile Conventions
-14.6 Standard Targets for Users
+15.6 Standard Targets for Users
===============================
All GNU programs should have the following targets in their Makefiles:
-`all'
+'all'
Compile the entire program. This should be the default target.
This target need not rebuild any documentation files; Info files
should normally be included in the distribution, and DVI (and other
documentation format) files should be made only when explicitly
asked for.
- By default, the Make rules should compile and link with `-g', so
- that executable programs have debugging symbols. Users who don't
- mind being helpless can strip the executables later if they wish.
+ By default, the Make rules should compile and link with '-g', so
+ that executable programs have debugging symbols. Otherwise, you
+ are essentially helpless in the face of a crash, and it is often
+ far from easy to reproduce with a fresh build.
-`install'
+'install'
Compile the program and copy the executables, libraries, and so on
to the file names where they should reside for actual use. If
there is a simple test to verify that a program is properly
installed, this target should run that test.
- Do not strip executables when installing them. Devil-may-care
- users can use the `install-strip' target to do that.
+ Do not strip executables when installing them. This helps eventual
+ debugging that may be needed later, and nowadays disk space is
+ cheap and dynamic loaders typically ensure debug sections are not
+ loaded during normal execution. Users that need stripped binaries
+ may invoke the 'install-strip' target to do that.
- If possible, write the `install' target rule so that it does not
+ If possible, write the 'install' target rule so that it does not
modify anything in the directory where the program was built,
- provided `make all' has just been done. This is convenient for
+ provided 'make all' has just been done. This is convenient for
building the program under one user name and installing it under
another.
The commands should create all the directories in which files are
to be installed, if they don't already exist. This includes the
- directories specified as the values of the variables `prefix' and
- `exec_prefix', as well as all subdirectories that are needed. One
- way to do this is by means of an `installdirs' target as described
+ directories specified as the values of the variables 'prefix' and
+ 'exec_prefix', as well as all subdirectories that are needed. One
+ way to do this is by means of an 'installdirs' target as described
below.
- Use `-' before any command for installing a man page, so that
- `make' will ignore any errors. This is in case there are systems
+ Use '-' before any command for installing a man page, so that
+ 'make' will ignore any errors. This is in case there are systems
that don't have the Unix man page documentation system installed.
- The way to install Info files is to copy them into `$(infodir)'
- with `$(INSTALL_DATA)' (*note Command Variables::), and then run
- the `install-info' program if it is present. `install-info' is a
- program that edits the Info `dir' file to add or update the menu
+ The way to install Info files is to copy them into '$(infodir)'
+ with '$(INSTALL_DATA)' (*note Command Variables::), and then run
+ the 'install-info' program if it is present. 'install-info' is a
+ program that edits the Info 'dir' file to add or update the menu
entry for the given Info file; it is part of the Texinfo package.
Here is a sample rule to install an Info file that also tries to
- handle some additional situations, such as `install-info' not
- being present.
+ handle some additional situations, such as 'install-info' not being
+ present.
do-install-info: foo.info installdirs
$(NORMAL_INSTALL)
@@ -2319,47 +3033,47 @@ All GNU programs should have the following targets in their Makefiles:
"$(DESTDIR)$(infodir)/foo.info"; \
else true; fi
- When writing the `install' target, you must classify all the
+ When writing the 'install' target, you must classify all the
commands into three categories: normal ones, "pre-installation"
commands and "post-installation" commands. *Note Install Command
Categories::.
-`install-html'
-`install-dvi'
-`install-pdf'
-`install-ps'
+'install-html'
+'install-dvi'
+'install-pdf'
+'install-ps'
These targets install documentation in formats other than Info;
they're intended to be called explicitly by the person installing
- the package, if that format is desired. GNU prefers Info files,
- so these must be installed by the `install' target.
+ the package, if that format is desired. GNU prefers Info files, so
+ these must be installed by the 'install' target.
When you have many documentation files to install, we recommend
that you avoid collisions and clutter by arranging for these
targets to install in subdirectories of the appropriate
- installation directory, such as `htmldir'. As one example, if
- your package has multiple manuals, and you wish to install HTML
+ installation directory, such as 'htmldir'. As one example, if your
+ package has multiple manuals, and you wish to install HTML
documentation with many files (such as the "split" mode output by
- `makeinfo --html'), you'll certainly want to use subdirectories,
- or two nodes with the same name in different manuals will
- overwrite each other.
+ 'makeinfo --html'), you'll certainly want to use subdirectories, or
+ two nodes with the same name in different manuals will overwrite
+ each other.
- Please make these `install-FORMAT' targets invoke the commands for
+ Please make these 'install-FORMAT' targets invoke the commands for
the FORMAT target, for example, by making FORMAT a dependency.
-`uninstall'
- Delete all the installed files--the copies that the `install' and
- `install-*' targets create.
+'uninstall'
+ Delete all the installed files--the copies that the 'install' and
+ 'install-*' targets create.
This rule should not modify the directories where compilation is
done, only the directories where files are installed.
- The uninstallation commands are divided into three categories,
- just like the installation commands. *Note Install Command
+ The uninstallation commands are divided into three categories, just
+ like the installation commands. *Note Install Command
Categories::.
-`install-strip'
- Like `install', but strip the executable files while installing
- them. In simple cases, this target can use the `install' target in
+'install-strip'
+ Like 'install', but strip the executable files while installing
+ them. In simple cases, this target can use the 'install' target in
a simple way:
install-strip:
@@ -2367,105 +3081,105 @@ All GNU programs should have the following targets in their Makefiles:
install
But if the package installs scripts as well as real executables,
- the `install-strip' target can't just refer to the `install'
+ the 'install-strip' target can't just refer to the 'install'
target; it has to strip the executables but not the scripts.
- `install-strip' should not strip the executables in the build
+ 'install-strip' should not strip the executables in the build
directory which are being copied for installation. It should only
strip the copies that are installed.
- Normally we do not recommend stripping an executable unless you
- are sure the program has no bugs. However, it can be reasonable
- to install a stripped executable for actual execution while saving
- the unstripped executable elsewhere in case there is a bug.
+ Normally we do not recommend stripping an executable unless you are
+ sure the program has no bugs. However, it can be reasonable to
+ install a stripped executable for actual execution while saving the
+ unstripped executable elsewhere in case there is a bug.
-`clean'
- Delete all files in the current directory that are normally
- created by building the program. Also delete files in other
- directories if they are created by this makefile. However, don't
- delete the files that record the configuration. Also preserve
- files that could be made by building, but normally aren't because
- the distribution comes with them. There is no need to delete
- parent directories that were created with `mkdir -p', since they
- could have existed anyway.
+'clean'
+ Delete all files in the current directory that are normally created
+ by building the program. Also delete files in other directories if
+ they are created by this makefile. However, don't delete the files
+ that record the configuration. Also preserve files that could be
+ made by building, but normally aren't because the distribution
+ comes with them. There is no need to delete parent directories
+ that were created with 'mkdir -p', since they could have existed
+ anyway.
- Delete `.dvi' files here if they are not part of the distribution.
+ Delete '.dvi' files here if they are not part of the distribution.
-`distclean'
+'distclean'
Delete all files in the current directory (or created by this
makefile) that are created by configuring or building the program.
If you have unpacked the source and built the program without
- creating any other files, `make distclean' should leave only the
+ creating any other files, 'make distclean' should leave only the
files that were in the distribution. However, there is no need to
- delete parent directories that were created with `mkdir -p', since
+ delete parent directories that were created with 'mkdir -p', since
they could have existed anyway.
-`mostlyclean'
- Like `clean', but may refrain from deleting a few files that people
- normally don't want to recompile. For example, the `mostlyclean'
- target for GCC does not delete `libgcc.a', because recompiling it
+'mostlyclean'
+ Like 'clean', but may refrain from deleting a few files that people
+ normally don't want to recompile. For example, the 'mostlyclean'
+ target for GCC does not delete 'libgcc.a', because recompiling it
is rarely necessary and takes a lot of time.
-`maintainer-clean'
+'maintainer-clean'
Delete almost everything that can be reconstructed with this
Makefile. This typically includes everything deleted by
- `distclean', plus more: C source files produced by Bison, tags
+ 'distclean', plus more: C source files produced by Bison, tags
tables, Info files, and so on.
The reason we say "almost everything" is that running the command
- `make maintainer-clean' should not delete `configure' even if
- `configure' can be remade using a rule in the Makefile. More
- generally, `make maintainer-clean' should not delete anything that
- needs to exist in order to run `configure' and then begin to build
+ 'make maintainer-clean' should not delete 'configure' even if
+ 'configure' can be remade using a rule in the Makefile. More
+ generally, 'make maintainer-clean' should not delete anything that
+ needs to exist in order to run 'configure' and then begin to build
the program. Also, there is no need to delete parent directories
- that were created with `mkdir -p', since they could have existed
- anyway. These are the only exceptions; `maintainer-clean' should
+ that were created with 'mkdir -p', since they could have existed
+ anyway. These are the only exceptions; 'maintainer-clean' should
delete everything else that can be rebuilt.
- The `maintainer-clean' target is intended to be used by a
+ The 'maintainer-clean' target is intended to be used by a
maintainer of the package, not by ordinary users. You may need
- special tools to reconstruct some of the files that `make
- maintainer-clean' deletes. Since these files are normally
- included in the distribution, we don't take care to make them easy
- to reconstruct. If you find you need to unpack the full
- distribution again, don't blame us.
+ special tools to reconstruct some of the files that 'make
+ maintainer-clean' deletes. Since these files are normally included
+ in the distribution, we don't take care to make them easy to
+ reconstruct. If you find you need to unpack the full distribution
+ again, don't blame us.
To help make users aware of this, the commands for the special
- `maintainer-clean' target should start with these two:
+ 'maintainer-clean' target should start with these two:
@echo 'This command is intended for maintainers to use; it'
@echo 'deletes files that may need special tools to rebuild.'
-`TAGS'
+'TAGS'
Update a tags table for this program.
-`info'
- Generate any Info files needed. The best way to write the rules
- is as follows:
+'info'
+ Generate any Info files needed. The best way to write the rules is
+ as follows:
info: foo.info
foo.info: foo.texi chap1.texi chap2.texi
$(MAKEINFO) $(srcdir)/foo.texi
- You must define the variable `MAKEINFO' in the Makefile. It should
- run the `makeinfo' program, which is part of the Texinfo
+ You must define the variable 'MAKEINFO' in the Makefile. It should
+ run the 'makeinfo' program, which is part of the Texinfo
distribution.
Normally a GNU distribution comes with Info files, and that means
- the Info files are present in the source directory. Therefore,
- the Make rule for an info file should update it in the source
+ the Info files are present in the source directory. Therefore, the
+ Make rule for an info file should update it in the source
directory. When users build the package, ordinarily Make will not
update the Info files because they will already be up to date.
-`dvi'
-`html'
-`pdf'
-`ps'
+'dvi'
+'html'
+'pdf'
+'ps'
Generate documentation files in the given format. These targets
should always exist, but any or all can be a no-op if the given
output format cannot be generated. These targets should not be
- dependencies of the `all' target; the user must manually invoke
+ dependencies of the 'all' target; the user must manually invoke
them.
Here's an example rule for generating DVI files from Texinfo:
@@ -2475,10 +3189,12 @@ All GNU programs should have the following targets in their Makefiles:
foo.dvi: foo.texi chap1.texi chap2.texi
$(TEXI2DVI) $(srcdir)/foo.texi
- You must define the variable `TEXI2DVI' in the Makefile. It should
- run the program `texi2dvi', which is part of the Texinfo
- distribution.(1) Alternatively, write just the dependencies, and
- allow GNU `make' to provide the command.
+ You must define the variable 'TEXI2DVI' in the Makefile. It should
+ run the program 'texi2dvi', which is part of the Texinfo
+ distribution. ('texi2dvi' uses TeX to do the real work of
+ formatting. TeX is not distributed with Texinfo.) Alternatively,
+ write only the dependencies, and allow GNU 'make' to provide the
+ command.
Here's another example, this one for generating HTML from Texinfo:
@@ -2487,32 +3203,32 @@ All GNU programs should have the following targets in their Makefiles:
foo.html: foo.texi chap1.texi chap2.texi
$(TEXI2HTML) $(srcdir)/foo.texi
- Again, you would define the variable `TEXI2HTML' in the Makefile;
- for example, it might run `makeinfo --no-split --html' (`makeinfo'
+ Again, you would define the variable 'TEXI2HTML' in the Makefile;
+ for example, it might run 'makeinfo --no-split --html' ('makeinfo'
is part of the Texinfo distribution).
-`dist'
+'dist'
Create a distribution tar file for this program. The tar file
should be set up so that the file names in the tar file start with
a subdirectory name which is the name of the package it is a
distribution for. This name can include the version number.
For example, the distribution tar file of GCC version 1.40 unpacks
- into a subdirectory named `gcc-1.40'.
+ into a subdirectory named 'gcc-1.40'.
The easiest way to do this is to create a subdirectory
- appropriately named, use `ln' or `cp' to install the proper files
- in it, and then `tar' that subdirectory.
+ appropriately named, use 'ln' or 'cp' to install the proper files
+ in it, and then 'tar' that subdirectory.
- Compress the tar file with `gzip'. For example, the actual
- distribution file for GCC version 1.40 is called `gcc-1.40.tar.gz'.
+ Compress the tar file with 'gzip'. For example, the actual
+ distribution file for GCC version 1.40 is called 'gcc-1.40.tar.gz'.
It is ok to support other free compression formats as well.
- The `dist' target should explicitly depend on all non-source files
+ The 'dist' target should explicitly depend on all non-source files
that are in the distribution, to make sure they are up to date in
the distribution. *Note Making Releases: (standards)Releases.
-`check'
+'check'
Perform self-tests (if any). The user must build the program
before running the tests, but need not install the program; you
should write the self-tests so that they work when the program is
@@ -2521,15 +3237,15 @@ All GNU programs should have the following targets in their Makefiles:
The following targets are suggested as conventional names, for
programs in which they are useful.
-`installcheck'
+'installcheck'
Perform installation tests (if any). The user must build and
install the program before running the tests. You should not
- assume that `$(bindir)' is in the search path.
+ assume that '$(bindir)' is in the search path.
-`installdirs'
- It's useful to add a target named `installdirs' to create the
+'installdirs'
+ It's useful to add a target named 'installdirs' to create the
directories where files are installed, and their parent
- directories. There is a script called `mkinstalldirs' which is
+ directories. There is a script called 'mkinstalldirs' which is
convenient for this; you can find it in the Gnulib package. You
can use a rule like this:
@@ -2540,7 +3256,7 @@ programs in which they are useful.
$(libdir) $(infodir) \
$(mandir)
- or, if you wish to support `DESTDIR' (strongly encouraged),
+ or, if you wish to support 'DESTDIR' (strongly encouraged),
# Make sure all installation directories (e.g. $(bindir))
# actually exist by making them if necessary.
@@ -2553,18 +3269,13 @@ programs in which they are useful.
This rule should not modify the directories where compilation is
done. It should do nothing but create installation directories.
- ---------- Footnotes ----------
-
- (1) `texi2dvi' uses TeX to do the real work of formatting. TeX is
-not distributed with Texinfo.
-

File: make.info, Node: Install Command Categories, Prev: Standard Targets, Up: Makefile Conventions
-14.7 Install Command Categories
+15.7 Install Command Categories
===============================
-When writing the `install' target, you must classify all the commands
+When writing the 'install' target, you must classify all the commands
into three categories: normal ones, "pre-installation" commands and
"post-installation" commands.
@@ -2581,7 +3292,7 @@ commands, and post-installation commands are typically run after the
normal commands.
The most common use for a post-installation command is to run
-`install-info'. This cannot be done with a normal command, since it
+'install-info'. This cannot be done with a normal command, since it
alters a file (the Info directory) which does not come entirely and
solely from the package being installed. It is a post-installation
command because it needs to be done after the normal command which
@@ -2590,7 +3301,7 @@ installs the package's Info files.
Most programs don't need any pre-installation commands, but we have
the feature just in case it is needed.
- To classify the commands in the `install' rule into these three
+ To classify the commands in the 'install' rule into these three
categories, insert "category lines" among them. A category line
specifies the category for the commands that follow.
@@ -2608,12 +3319,12 @@ explains what it means:
$(POST_INSTALL) # Post-install commands follow.
$(NORMAL_INSTALL) # Normal commands follow.
- If you don't use a category line at the beginning of the `install'
+ If you don't use a category line at the beginning of the 'install'
rule, all the commands are classified as normal until the first category
line. If you don't use any category lines, all the commands are
classified as normal.
- These are the category lines for `uninstall':
+ These are the category lines for 'uninstall':
$(PRE_UNINSTALL) # Pre-uninstall commands follow.
$(POST_UNINSTALL) # Post-uninstall commands follow.
@@ -2622,8 +3333,8 @@ classified as normal.
Typically, a pre-uninstall command would be used for deleting entries
from the Info directory.
- If the `install' or `uninstall' target has any dependencies which
-act as subroutines of installation, then you should start _each_
+ If the 'install' or 'uninstall' target has any dependencies which act
+as subroutines of installation, then you should start _each_
dependency's commands with a category line, and start the main target's
commands with a category line also. This way, you can ensure that each
command is placed in the right category regardless of which of the
@@ -2639,15 +3350,15 @@ programs except for these:
test touch true uname xargs yes
The reason for distinguishing the commands in this way is for the
-sake of making binary packages. Typically a binary package contains
-all the executables and other files that need to be installed, and has
-its own method of installing them--so it does not need to run the normal
+sake of making binary packages. Typically a binary package contains all
+the executables and other files that need to be installed, and has its
+own method of installing them--so it does not need to run the normal
installation commands. But installing the binary package does need to
execute the pre-installation and post-installation commands.
Programs to build binary packages work by extracting the
pre-installation and post-installation commands. Here is one way of
-extracting the pre-installation commands (the `-s' option to `make' is
+extracting the pre-installation commands (the '-s' option to 'make' is
needed to silence messages about entering subdirectories):
make -s -n install -o all \
@@ -2656,7 +3367,7 @@ needed to silence messages about entering subdirectories):
NORMAL_INSTALL=normal-install \
| gawk -f pre-install.awk
-where the file `pre-install.awk' could contain this:
+where the file 'pre-install.awk' could contain this:
$0 ~ /^(normal-install|post-install)[ \t]*$/ {on = 0}
on {print $0}
@@ -2669,358 +3380,395 @@ Appendix A Quick Reference
**************************
This appendix summarizes the directives, text manipulation functions,
-and special variables which GNU `make' understands. *Note Special
-Targets::, *note Catalogue of Implicit Rules: Catalogue of Rules, and
+and special variables which GNU 'make' understands. *Note Special
+Targets::, *note Catalogue of Built-In Rules: Catalogue of Rules, and
*note Summary of Options: Options Summary, for other summaries.
- Here is a summary of the directives GNU `make' recognizes:
+ Here is a summary of the directives GNU 'make' recognizes:
-`define VARIABLE'
-`define VARIABLE ='
-`define VARIABLE :='
-`define VARIABLE +='
-`define VARIABLE ?='
-`endef'
+'define VARIABLE'
+'define VARIABLE ='
+'define VARIABLE :='
+'define VARIABLE ::='
+'define VARIABLE +='
+'define VARIABLE ?='
+'endef'
Define multi-line variables.
*Note Multi-Line::.
-`undefine VARIABLE'
+'undefine VARIABLE'
Undefining variables.
*Note Undefine Directive::.
-`ifdef VARIABLE'
-`ifndef VARIABLE'
-`ifeq (A,B)'
-`ifeq "A" "B"'
-`ifeq 'A' 'B''
-`ifneq (A,B)'
-`ifneq "A" "B"'
-`ifneq 'A' 'B''
-`else'
-`endif'
+'ifdef VARIABLE'
+'ifndef VARIABLE'
+'ifeq (A,B)'
+'ifeq "A" "B"'
+'ifeq 'A' 'B''
+'ifneq (A,B)'
+'ifneq "A" "B"'
+'ifneq 'A' 'B''
+'else'
+'endif'
Conditionally evaluate part of the makefile.
*Note Conditionals::.
-`include FILE'
-`-include FILE'
-`sinclude FILE'
+'include FILE'
+'-include FILE'
+'sinclude FILE'
Include another makefile.
*Note Including Other Makefiles: Include.
-`override VARIABLE-ASSIGNMENT'
+'override VARIABLE-ASSIGNMENT'
Define a variable, overriding any previous definition, even one
from the command line.
- *Note The `override' Directive: Override Directive.
+ *Note The 'override' Directive: Override Directive.
-`export'
- Tell `make' to export all variables to child processes by default.
- *Note Communicating Variables to a Sub-`make': Variables/Recursion.
+'export'
+ Tell 'make' to export all variables to child processes by default.
+ *Note Communicating Variables to a Sub-'make': Variables/Recursion.
-`export VARIABLE'
-`export VARIABLE-ASSIGNMENT'
-`unexport VARIABLE'
- Tell `make' whether or not to export a particular variable to child
+'export VARIABLE'
+'export VARIABLE-ASSIGNMENT'
+'unexport VARIABLE'
+ Tell 'make' whether or not to export a particular variable to child
processes.
- *Note Communicating Variables to a Sub-`make': Variables/Recursion.
+ *Note Communicating Variables to a Sub-'make': Variables/Recursion.
-`private VARIABLE-ASSIGNMENT'
+'private VARIABLE-ASSIGNMENT'
Do not allow this variable assignment to be inherited by
prerequisites.
*Note Suppressing Inheritance::.
-`vpath PATTERN PATH'
- Specify a search path for files matching a `%' pattern.
- *Note The `vpath' Directive: Selective Search.
+'vpath PATTERN PATH'
+ Specify a search path for files matching a '%' pattern.
+ *Note The 'vpath' Directive: Selective Search.
-`vpath PATTERN'
+'vpath PATTERN'
Remove all search paths previously specified for PATTERN.
-`vpath'
- Remove all search paths previously specified in any `vpath'
+'vpath'
+ Remove all search paths previously specified in any 'vpath'
directive.
Here is a summary of the built-in functions (*note Functions::):
-`$(subst FROM,TO,TEXT)'
+'$(subst FROM,TO,TEXT)'
Replace FROM with TO in TEXT.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(patsubst PATTERN,REPLACEMENT,TEXT)'
+'$(patsubst PATTERN,REPLACEMENT,TEXT)'
Replace words matching PATTERN with REPLACEMENT in TEXT.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(strip STRING)'
+'$(strip STRING)'
Remove excess whitespace characters from STRING.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(findstring FIND,TEXT)'
+'$(findstring FIND,TEXT)'
Locate FIND in TEXT.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(filter PATTERN...,TEXT)'
+'$(filter PATTERN...,TEXT)'
Select words in TEXT that match one of the PATTERN words.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(filter-out PATTERN...,TEXT)'
+'$(filter-out PATTERN...,TEXT)'
Select words in TEXT that _do not_ match any of the PATTERN words.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(sort LIST)'
+'$(sort LIST)'
Sort the words in LIST lexicographically, removing duplicates.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(word N,TEXT)'
+'$(word N,TEXT)'
Extract the Nth word (one-origin) of TEXT.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(words TEXT)'
+'$(words TEXT)'
Count the number of words in TEXT.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(wordlist S,E,TEXT)'
+'$(wordlist S,E,TEXT)'
Returns the list of words in TEXT from S to E.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(firstword NAMES...)'
+'$(firstword NAMES...)'
Extract the first word of NAMES.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(lastword NAMES...)'
+'$(lastword NAMES...)'
Extract the last word of NAMES.
*Note Functions for String Substitution and Analysis: Text
Functions.
-`$(dir NAMES...)'
+'$(dir NAMES...)'
Extract the directory part of each file name.
*Note Functions for File Names: File Name Functions.
-`$(notdir NAMES...)'
+'$(notdir NAMES...)'
Extract the non-directory part of each file name.
*Note Functions for File Names: File Name Functions.
-`$(suffix NAMES...)'
- Extract the suffix (the last `.' and following characters) of each
+'$(suffix NAMES...)'
+ Extract the suffix (the last '.' and following characters) of each
file name.
*Note Functions for File Names: File Name Functions.
-`$(basename NAMES...)'
+'$(basename NAMES...)'
Extract the base name (name without suffix) of each file name.
*Note Functions for File Names: File Name Functions.
-`$(addsuffix SUFFIX,NAMES...)'
+'$(addsuffix SUFFIX,NAMES...)'
Append SUFFIX to each word in NAMES.
*Note Functions for File Names: File Name Functions.
-`$(addprefix PREFIX,NAMES...)'
+'$(addprefix PREFIX,NAMES...)'
Prepend PREFIX to each word in NAMES.
*Note Functions for File Names: File Name Functions.
-`$(join LIST1,LIST2)'
+'$(join LIST1,LIST2)'
Join two parallel lists of words.
*Note Functions for File Names: File Name Functions.
-`$(wildcard PATTERN...)'
- Find file names matching a shell file name pattern (_not_ a `%'
+'$(wildcard PATTERN...)'
+ Find file names matching a shell file name pattern (_not_ a '%'
pattern).
- *Note The Function `wildcard': Wildcard Function.
+ *Note The Function 'wildcard': Wildcard Function.
-`$(realpath NAMES...)'
+'$(realpath NAMES...)'
For each file name in NAMES, expand to an absolute name that does
- not contain any `.', `..', nor symlinks.
+ not contain any '.', '..', nor symlinks.
*Note Functions for File Names: File Name Functions.
-`$(abspath NAMES...)'
+'$(abspath NAMES...)'
For each file name in NAMES, expand to an absolute name that does
- not contain any `.' or `..' components, but preserves symlinks.
+ not contain any '.' or '..' components, but preserves symlinks.
*Note Functions for File Names: File Name Functions.
-`$(error TEXT...)'
- When this function is evaluated, `make' generates a fatal error
+'$(error TEXT...)'
+ When this function is evaluated, 'make' generates a fatal error
with the message TEXT.
*Note Functions That Control Make: Make Control Functions.
-`$(warning TEXT...)'
- When this function is evaluated, `make' generates a warning with
+'$(warning TEXT...)'
+ When this function is evaluated, 'make' generates a warning with
the message TEXT.
*Note Functions That Control Make: Make Control Functions.
-`$(shell COMMAND)'
+'$(shell COMMAND)'
Execute a shell command and return its output.
- *Note The `shell' Function: Shell Function.
+ *Note The 'shell' Function: Shell Function.
-`$(origin VARIABLE)'
- Return a string describing how the `make' variable VARIABLE was
+'$(origin VARIABLE)'
+ Return a string describing how the 'make' variable VARIABLE was
defined.
- *Note The `origin' Function: Origin Function.
+ *Note The 'origin' Function: Origin Function.
-`$(flavor VARIABLE)'
- Return a string describing the flavor of the `make' variable
+'$(flavor VARIABLE)'
+ Return a string describing the flavor of the 'make' variable
VARIABLE.
- *Note The `flavor' Function: Flavor Function.
+ *Note The 'flavor' Function: Flavor Function.
-`$(foreach VAR,WORDS,TEXT)'
- Evaluate TEXT with VAR bound to each word in WORDS, and
- concatenate the results.
- *Note The `foreach' Function: Foreach Function.
+'$(foreach VAR,WORDS,TEXT)'
+ Evaluate TEXT with VAR bound to each word in WORDS, and concatenate
+ the results.
+ *Note The 'foreach' Function: Foreach Function.
-`$(if CONDITION,THEN-PART[,ELSE-PART])'
+'$(if CONDITION,THEN-PART[,ELSE-PART])'
Evaluate the condition CONDITION; if it's non-empty substitute the
expansion of the THEN-PART otherwise substitute the expansion of
the ELSE-PART.
*Note Functions for Conditionals: Conditional Functions.
-`$(or CONDITION1[,CONDITION2[,CONDITION3...]])'
+'$(or CONDITION1[,CONDITION2[,CONDITION3...]])'
Evaluate each condition CONDITIONN one at a time; substitute the
first non-empty expansion. If all expansions are empty, substitute
the empty string.
*Note Functions for Conditionals: Conditional Functions.
-`$(and CONDITION1[,CONDITION2[,CONDITION3...]])'
+'$(and CONDITION1[,CONDITION2[,CONDITION3...]])'
Evaluate each condition CONDITIONN one at a time; if any expansion
results in the empty string substitute the empty string. If all
expansions result in a non-empty string, substitute the expansion
of the last CONDITION.
*Note Functions for Conditionals: Conditional Functions.
-`$(call VAR,PARAM,...)'
- Evaluate the variable VAR replacing any references to `$(1)',
- `$(2)' with the first, second, etc. PARAM values.
- *Note The `call' Function: Call Function.
+'$(call VAR,PARAM,...)'
+ Evaluate the variable VAR replacing any references to '$(1)',
+ '$(2)' with the first, second, etc. PARAM values.
+ *Note The 'call' Function: Call Function.
-`$(eval TEXT)'
+'$(eval TEXT)'
Evaluate TEXT then read the results as makefile commands. Expands
to the empty string.
- *Note The `eval' Function: Eval Function.
+ *Note The 'eval' Function: Eval Function.
-`$(value VAR)'
+'$(file OP FILENAME,TEXT)'
+ Expand the arguments, then open the file FILENAME using mode OP and
+ write TEXT to that file.
+ *Note The 'file' Function: File Function.
+
+'$(value VAR)'
Evaluates to the contents of the variable VAR, with no expansion
performed on it.
- *Note The `value' Function: Value Function.
+ *Note The 'value' Function: Value Function.
Here is a summary of the automatic variables. *Note Automatic
Variables::, for full information.
-`$@'
+'$@'
The file name of the target.
-`$%'
+'$%'
The target member name, when the target is an archive member.
-`$<'
+'$<'
The name of the first prerequisite.
-`$?'
+'$?'
The names of all the prerequisites that are newer than the target,
with spaces between them. For prerequisites which are archive
members, only the named member is used (*note Archives::).
-`$^'
-`$+'
+'$^'
+'$+'
The names of all the prerequisites, with spaces between them. For
prerequisites which are archive members, only the named member is
- used (*note Archives::). The value of `$^' omits duplicate
- prerequisites, while `$+' retains them and preserves their order.
+ used (*note Archives::). The value of '$^' omits duplicate
+ prerequisites, while '$+' retains them and preserves their order.
-`$*'
+'$*'
The stem with which an implicit rule matches (*note How Patterns
Match: Pattern Match.).
-`$(@D)'
-`$(@F)'
- The directory part and the file-within-directory part of `$@'.
+'$(@D)'
+'$(@F)'
+ The directory part and the file-within-directory part of '$@'.
+
+'$(*D)'
+'$(*F)'
+ The directory part and the file-within-directory part of '$*'.
-`$(*D)'
-`$(*F)'
- The directory part and the file-within-directory part of `$*'.
+'$(%D)'
+'$(%F)'
+ The directory part and the file-within-directory part of '$%'.
-`$(%D)'
-`$(%F)'
- The directory part and the file-within-directory part of `$%'.
+'$(<D)'
+'$(<F)'
+ The directory part and the file-within-directory part of '$<'.
-`$(<D)'
-`$(<F)'
- The directory part and the file-within-directory part of `$<'.
+'$(^D)'
+'$(^F)'
+ The directory part and the file-within-directory part of '$^'.
-`$(^D)'
-`$(^F)'
- The directory part and the file-within-directory part of `$^'.
+'$(+D)'
+'$(+F)'
+ The directory part and the file-within-directory part of '$+'.
-`$(+D)'
-`$(+F)'
- The directory part and the file-within-directory part of `$+'.
+'$(?D)'
+'$(?F)'
+ The directory part and the file-within-directory part of '$?'.
-`$(?D)'
-`$(?F)'
- The directory part and the file-within-directory part of `$?'.
+ These variables are used specially by GNU 'make':
- These variables are used specially by GNU `make':
+'MAKEFILES'
-`MAKEFILES'
- Makefiles to be read on every invocation of `make'.
- *Note The Variable `MAKEFILES': MAKEFILES Variable.
+ Makefiles to be read on every invocation of 'make'.
+ *Note The Variable 'MAKEFILES': MAKEFILES Variable.
+
+'VPATH'
-`VPATH'
Directory search path for files not found in the current directory.
- *Note `VPATH' Search Path for All Prerequisites: General Search.
+ *Note 'VPATH' Search Path for All Prerequisites: General Search.
+
+'SHELL'
-`SHELL'
The name of the system default command interpreter, usually
- `/bin/sh'. You can set `SHELL' in the makefile to change the
- shell used to run recipes. *Note Recipe Execution: Execution.
- The `SHELL' variable is handled specially when importing from and
+ '/bin/sh'. You can set 'SHELL' in the makefile to change the shell
+ used to run recipes. *Note Recipe Execution: Execution. The
+ 'SHELL' variable is handled specially when importing from and
exporting to the environment. *Note Choosing the Shell::.
-`MAKESHELL'
+'MAKESHELL'
+
On MS-DOS only, the name of the command interpreter that is to be
- used by `make'. This value takes precedence over the value of
- `SHELL'. *Note MAKESHELL variable: Execution.
+ used by 'make'. This value takes precedence over the value of
+ 'SHELL'. *Note MAKESHELL variable: Execution.
+
+'MAKE'
-`MAKE'
- The name with which `make' was invoked. Using this variable in
- recipes has special meaning. *Note How the `MAKE' Variable Works:
+ The name with which 'make' was invoked. Using this variable in
+ recipes has special meaning. *Note How the 'MAKE' Variable Works:
MAKE Variable.
-`MAKELEVEL'
- The number of levels of recursion (sub-`make's).
+'MAKE_VERSION'
+
+ The built-in variable 'MAKE_VERSION' expands to the version number
+ of the GNU 'make' program.
+
+'MAKE_HOST'
+
+ The built-in variable 'MAKE_HOST' expands to a string representing
+ the host that GNU 'make' was built to run on.
+
+'MAKELEVEL'
+
+ The number of levels of recursion (sub-'make's).
*Note Variables/Recursion::.
-`MAKEFLAGS'
- The flags given to `make'. You can set this in the environment or
+'MAKEFLAGS'
+
+ The flags given to 'make'. You can set this in the environment or
a makefile to set flags.
- *Note Communicating Options to a Sub-`make': Options/Recursion.
+ *Note Communicating Options to a Sub-'make': Options/Recursion.
- It is _never_ appropriate to use `MAKEFLAGS' directly in a recipe
+ It is _never_ appropriate to use 'MAKEFLAGS' directly in a recipe
line: its contents may not be quoted correctly for use in the
- shell. Always allow recursive `make''s to obtain these values
+ shell. Always allow recursive 'make''s to obtain these values
through the environment from its parent.
-`MAKECMDGOALS'
- The targets given to `make' on the command line. Setting this
- variable has no effect on the operation of `make'.
+'GNUMAKEFLAGS'
+
+ Other flags parsed by 'make'. You can set this in the environment
+ or a makefile to set 'make' command-line flags. GNU 'make' never
+ sets this variable itself. This variable is only needed if you'd
+ like to set GNU 'make'-specific flags in a POSIX-compliant
+ makefile. This variable will be seen by GNU 'make' and ignored by
+ other 'make' implementations. It's not needed if you only use GNU
+ 'make'; just use 'MAKEFLAGS' directly. *Note Communicating Options
+ to a Sub-'make': Options/Recursion.
+
+'MAKECMDGOALS'
+
+ The targets given to 'make' on the command line. Setting this
+ variable has no effect on the operation of 'make'.
*Note Arguments to Specify the Goals: Goals.
-`CURDIR'
+'CURDIR'
+
Set to the pathname of the current working directory (after all
- `-C' options are processed, if any). Setting this variable has no
- effect on the operation of `make'.
- *Note Recursive Use of `make': Recursion.
+ '-C' options are processed, if any). Setting this variable has no
+ effect on the operation of 'make'.
+ *Note Recursive Use of 'make': Recursion.
-`SUFFIXES'
- The default list of suffixes before `make' reads any makefiles.
+'SUFFIXES'
-`.LIBPATTERNS'
- Defines the naming of the libraries `make' searches for, and their
+ The default list of suffixes before 'make' reads any makefiles.
+
+'.LIBPATTERNS'
+ Defines the naming of the libraries 'make' searches for, and their
order.
*Note Directory Search for Link Libraries: Libraries/Search.
@@ -3031,152 +3779,154 @@ Appendix B Errors Generated by Make
***********************************
Here is a list of the more common errors you might see generated by
-`make', and some information about what they mean and how to fix them.
+'make', and some information about what they mean and how to fix them.
- Sometimes `make' errors are not fatal, especially in the presence of
-a `-' prefix on a recipe line, or the `-k' command line option. Errors
-that are fatal are prefixed with the string `***'.
+ Sometimes 'make' errors are not fatal, especially in the presence of
+a '-' prefix on a recipe line, or the '-k' command line option. Errors
+that are fatal are prefixed with the string '***'.
Error messages are all either prefixed with the name of the program
-(usually `make'), or, if the error is found in a makefile, the name of
-the file and linenumber containing the problem.
+(usually 'make'), or, if the error is found in a makefile, the name of
+the file and line number containing the problem.
In the table below, these common prefixes are left off.
-`[FOO] Error NN'
-`[FOO] SIGNAL DESCRIPTION'
- These errors are not really `make' errors at all. They mean that a
- program that `make' invoked as part of a recipe returned a non-0
- error code (`Error NN'), which `make' interprets as failure, or it
- exited in some other abnormal fashion (with a signal of some
- type). *Note Errors in Recipes: Errors.
-
- If no `***' is attached to the message, then the subprocess failed
- but the rule in the makefile was prefixed with the `-' special
- character, so `make' ignored the error.
-
-`missing separator. Stop.'
-`missing separator (did you mean TAB instead of 8 spaces?). Stop.'
- This means that `make' could not understand much of anything about
- the makefile line it just read. GNU `make' looks for various
- separators (`:', `=', recipe prefix characters, etc.) to indicate
+'[FOO] Error NN'
+'[FOO] SIGNAL DESCRIPTION'
+ These errors are not really 'make' errors at all. They mean that a
+ program that 'make' invoked as part of a recipe returned a non-0
+ error code ('Error NN'), which 'make' interprets as failure, or it
+ exited in some other abnormal fashion (with a signal of some type).
+ *Note Errors in Recipes: Errors.
+
+ If no '***' is attached to the message, then the sub-process failed
+ but the rule in the makefile was prefixed with the '-' special
+ character, so 'make' ignored the error.
+
+'missing separator. Stop.'
+'missing separator (did you mean TAB instead of 8 spaces?). Stop.'
+ This means that 'make' could not understand much of anything about
+ the makefile line it just read. GNU 'make' looks for various
+ separators (':', '=', recipe prefix characters, etc.) to indicate
what kind of line it's parsing. This message means it couldn't
find a valid one.
One of the most common reasons for this message is that you (or
perhaps your oh-so-helpful editor, as is the case with many
- MS-Windows editors) have attempted to indent your recipe lines
- with spaces instead of a tab character. In this case, `make' will
- use the second form of the error above. Remember that every line
- in the recipe must begin with a tab character (unless you set
- `.RECIPEPREFIX'; *note Special Variables::). Eight spaces do not
+ MS-Windows editors) have attempted to indent your recipe lines with
+ spaces instead of a tab character. In this case, 'make' will use
+ the second form of the error above. Remember that every line in
+ the recipe must begin with a tab character (unless you set
+ '.RECIPEPREFIX'; *note Special Variables::). Eight spaces do not
count. *Note Rule Syntax::.
-`recipe commences before first target. Stop.'
-`missing rule before recipe. Stop.'
+'recipe commences before first target. Stop.'
+'missing rule before recipe. Stop.'
This means the first thing in the makefile seems to be part of a
- recipe: it begins with a recipe prefix character and doesn't
- appear to be a legal `make' directive (such as a variable
- assignment). Recipes must always be associated with a target.
+ recipe: it begins with a recipe prefix character and doesn't appear
+ to be a legal 'make' directive (such as a variable assignment).
+ Recipes must always be associated with a target.
The second form is generated if the line has a semicolon as the
- first non-whitespace character; `make' interprets this to mean you
+ first non-whitespace character; 'make' interprets this to mean you
left out the "target: prerequisite" section of a rule. *Note Rule
Syntax::.
-`No rule to make target `XXX'.'
-`No rule to make target `XXX', needed by `YYY'.'
- This means that `make' decided it needed to build a target, but
+'No rule to make target `XXX'.'
+'No rule to make target `XXX', needed by `YYY'.'
+ This means that 'make' decided it needed to build a target, but
then couldn't find any instructions in the makefile on how to do
that, either explicit or implicit (including in the default rules
database).
If you want that file to be built, you will need to add a rule to
your makefile describing how that target can be built. Other
- possible sources of this problem are typos in the makefile (if
- that filename is wrong) or a corrupted source tree (if that file
- is not supposed to be built, but rather only a prerequisite).
-
-`No targets specified and no makefile found. Stop.'
-`No targets. Stop.'
- The former means that you didn't provide any targets to be built
- on the command line, and `make' couldn't find any makefiles to
- read in. The latter means that some makefile was found, but it
- didn't contain any default goal and none was given on the command
- line. GNU `make' has nothing to do in these situations. *Note
- Arguments to Specify the Makefile: Makefile Arguments.
-
-`Makefile `XXX' was not found.'
-`Included makefile `XXX' was not found.'
+ possible sources of this problem are typos in the makefile (if that
+ file name is wrong) or a corrupted source tree (if that file is not
+ supposed to be built, but rather only a prerequisite).
+
+'No targets specified and no makefile found. Stop.'
+'No targets. Stop.'
+ The former means that you didn't provide any targets to be built on
+ the command line, and 'make' couldn't find any makefiles to read
+ in. The latter means that some makefile was found, but it didn't
+ contain any default goal and none was given on the command line.
+ GNU 'make' has nothing to do in these situations. *Note Arguments
+ to Specify the Makefile: Makefile Arguments.
+
+'Makefile `XXX' was not found.'
+'Included makefile `XXX' was not found.'
A makefile specified on the command line (first form) or included
(second form) was not found.
-`warning: overriding recipe for target `XXX''
-`warning: ignoring old recipe for target `XXX''
- GNU `make' allows only one recipe to be specified per target
+'warning: overriding recipe for target `XXX''
+'warning: ignoring old recipe for target `XXX''
+ GNU 'make' allows only one recipe to be specified per target
(except for double-colon rules). If you give a recipe for a target
which already has been defined to have one, this warning is issued
and the second recipe will overwrite the first. *Note Multiple
Rules for One Target: Multiple Rules.
-`Circular XXX <- YYY dependency dropped.'
- This means that `make' detected a loop in the dependency graph:
+'Circular XXX <- YYY dependency dropped.'
+ This means that 'make' detected a loop in the dependency graph:
after tracing the prerequisite YYY of target XXX, and its
prerequisites, etc., one of them depended on XXX again.
-`Recursive variable `XXX' references itself (eventually). Stop.'
- This means you've defined a normal (recursive) `make' variable XXX
+'Recursive variable `XXX' references itself (eventually). Stop.'
+ This means you've defined a normal (recursive) 'make' variable XXX
that, when it's expanded, will refer to itself (XXX). This is not
- allowed; either use simply-expanded variables (`:=') or use the
- append operator (`+='). *Note How to Use Variables: Using
+ allowed; either use simply-expanded variables (':=' or '::=') or
+ use the append operator ('+='). *Note How to Use Variables: Using
Variables.
-`Unterminated variable reference. Stop.'
+'Unterminated variable reference. Stop.'
This means you forgot to provide the proper closing parenthesis or
brace in your variable or function reference.
-`insufficient arguments to function `XXX'. Stop.'
+'insufficient arguments to function `XXX'. Stop.'
This means you haven't provided the requisite number of arguments
for this function. See the documentation of the function for a
description of its arguments. *Note Functions for Transforming
Text: Functions.
-`missing target pattern. Stop.'
-`multiple target patterns. Stop.'
-`target pattern contains no `%'. Stop.'
-`mixed implicit and static pattern rules. Stop.'
+'missing target pattern. Stop.'
+'multiple target patterns. Stop.'
+'target pattern contains no `%'. Stop.'
+'mixed implicit and static pattern rules. Stop.'
These are generated for malformed static pattern rules. The first
means there's no pattern in the target section of the rule; the
- second means there are multiple patterns in the target section;
- the third means the target doesn't contain a pattern character
- (`%'); and the fourth means that all three parts of the static
- pattern rule contain pattern characters (`%')-only the first two
- parts should. *Note Syntax of Static Pattern Rules: Static Usage.
-
-`warning: -jN forced in submake: disabling jobserver mode.'
- This warning and the next are generated if `make' detects error
+ second means there are multiple patterns in the target section; the
+ third means the target doesn't contain a pattern character ('%');
+ and the fourth means that all three parts of the static pattern
+ rule contain pattern characters ('%')-only the first two parts
+ should. If you see these errors and you aren't trying to create a
+ static pattern rule, check the value of any variables in your
+ target and prerequisite lists to be sure they do not contain
+ colons. *Note Syntax of Static Pattern Rules: Static Usage.
+
+'warning: -jN forced in submake: disabling jobserver mode.'
+ This warning and the next are generated if 'make' detects error
conditions related to parallel processing on systems where
- sub-`make's can communicate (*note Communicating Options to a
- Sub-`make': Options/Recursion.). This warning is generated if a
- recursive invocation of a `make' process is forced to have `-jN'
- in its argument list (where N is greater than one). This could
- happen, for example, if you set the `MAKE' environment variable to
- `make -j2'. In this case, the sub-`make' doesn't communicate with
- other `make' processes and will simply pretend it has two jobs of
+ sub-'make's can communicate (*note Communicating Options to a
+ Sub-'make': Options/Recursion.). This warning is generated if a
+ recursive invocation of a 'make' process is forced to have '-jN' in
+ its argument list (where N is greater than one). This could
+ happen, for example, if you set the 'MAKE' environment variable to
+ 'make -j2'. In this case, the sub-'make' doesn't communicate with
+ other 'make' processes and will simply pretend it has two jobs of
its own.
-`warning: jobserver unavailable: using -j1. Add `+' to parent make rule.'
- In order for `make' processes to communicate, the parent will pass
+'warning: jobserver unavailable: using -j1. Add `+' to parent make rule.'
+ In order for 'make' processes to communicate, the parent will pass
information to the child. Since this could result in problems if
- the child process isn't actually a `make', the parent will only do
- this if it thinks the child is a `make'. The parent uses the
- normal algorithms to determine this (*note How the `MAKE' Variable
+ the child process isn't actually a 'make', the parent will only do
+ this if it thinks the child is a 'make'. The parent uses the
+ normal algorithms to determine this (*note How the 'MAKE' Variable
Works: MAKE Variable.). If the makefile is constructed such that
- the parent doesn't know the child is a `make' process, then the
- child will receive only part of the information necessary. In
- this case, the child will generate this warning message and
- proceed with its build in a sequential manner.
-
+ the parent doesn't know the child is a 'make' process, then the
+ child will receive only part of the information necessary. In this
+ case, the child will generate this warning message and proceed with
+ its build in a sequential manner.

File: make.info, Node: Complex Makefile, Next: GNU Free Documentation License, Prev: Error Messages, Up: Top
@@ -3184,37 +3934,39 @@ File: make.info, Node: Complex Makefile, Next: GNU Free Documentation License,
Appendix C Complex Makefile Example
***********************************
-Here is the makefile for the GNU `tar' program. This is a moderately
-complex makefile.
+Here is the makefile for the GNU 'tar' program. This is a moderately
+complex makefile. The first line uses a '#!' setting to allow the
+makefile to be executed directly.
- Because it is the first target, the default goal is `all'. An
-interesting feature of this makefile is that `testpad.h' is a source
-file automatically created by the `testpad' program, itself compiled
-from `testpad.c'.
+ Because it is the first target, the default goal is 'all'. An
+interesting feature of this makefile is that 'testpad.h' is a source
+file automatically created by the 'testpad' program, itself compiled
+from 'testpad.c'.
- If you type `make' or `make all', then `make' creates the `tar'
-executable, the `rmt' daemon that provides remote tape access, and the
-`tar.info' Info file.
+ If you type 'make' or 'make all', then 'make' creates the 'tar'
+executable, the 'rmt' daemon that provides remote tape access, and the
+'tar.info' Info file.
- If you type `make install', then `make' not only creates `tar',
-`rmt', and `tar.info', but also installs them.
+ If you type 'make install', then 'make' not only creates 'tar',
+'rmt', and 'tar.info', but also installs them.
- If you type `make clean', then `make' removes the `.o' files, and
-the `tar', `rmt', `testpad', `testpad.h', and `core' files.
+ If you type 'make clean', then 'make' removes the '.o' files, and the
+'tar', 'rmt', 'testpad', 'testpad.h', and 'core' files.
- If you type `make distclean', then `make' not only removes the same
-files as does `make clean' but also the `TAGS', `Makefile', and
-`config.status' files. (Although it is not evident, this makefile (and
-`config.status') is generated by the user with the `configure' program,
-which is provided in the `tar' distribution, but is not shown here.)
+ If you type 'make distclean', then 'make' not only removes the same
+files as does 'make clean' but also the 'TAGS', 'Makefile', and
+'config.status' files. (Although it is not evident, this makefile (and
+'config.status') is generated by the user with the 'configure' program,
+which is provided in the 'tar' distribution, but is not shown here.)
- If you type `make realclean', then `make' removes the same files as
-does `make distclean' and also removes the Info files generated from
-`tar.texinfo'.
+ If you type 'make realclean', then 'make' removes the same files as
+does 'make distclean' and also removes the Info files generated from
+'tar.texinfo'.
- In addition, there are targets `shar' and `dist' that create
+ In addition, there are targets 'shar' and 'dist' that create
distribution kits.
+ #!/usr/bin/make -f
# Generated automatically from Makefile.in by configure.
# Un*x Makefile for GNU tar program.
# Copyright (C) 1991 Free Software Foundation, Inc.
@@ -3419,7 +4171,7 @@ C.1 GNU Free Documentation License
Version 1.3, 3 November 2008
Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
- `http://fsf.org/'
+ <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -3444,21 +4196,21 @@ C.1 GNU Free Documentation License
free program should come with manuals providing the same freedoms
that the software does. But this License is not limited to
software manuals; it can be used for any textual work, regardless
- of subject matter or whether it is published as a printed book.
- We recommend this License principally for works whose purpose is
+ of subject matter or whether it is published as a printed book. We
+ recommend this License principally for works whose purpose is
instruction or reference.
1. APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium,
- that contains a notice placed by the copyright holder saying it
- can be distributed under the terms of this License. Such a notice
+ that contains a notice placed by the copyright holder saying it can
+ be distributed under the terms of this License. Such a notice
grants a world-wide, royalty-free license, unlimited in duration,
to use that work under the conditions stated herein. The
"Document", below, refers to any such manual or work. Any member
- of the public is a licensee, and is addressed as "you". You
- accept the license if you copy, modify or distribute the work in a
- way requiring permission under copyright law.
+ of the public is a licensee, and is addressed as "you". You accept
+ the license if you copy, modify or distribute the work in a way
+ requiring permission under copyright law.
A "Modified Version" of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
@@ -3476,12 +4228,12 @@ C.1 GNU Free Documentation License
regarding them.
The "Invariant Sections" are certain Secondary Sections whose
- titles are designated, as being those of Invariant Sections, in
- the notice that says that the Document is released under this
- License. If a section does not fit the above definition of
- Secondary then it is not allowed to be designated as Invariant.
- The Document may contain zero Invariant Sections. If the Document
- does not identify any Invariant Sections then there are none.
+ titles are designated, as being those of Invariant Sections, in the
+ notice that says that the Document is released under this License.
+ If a section does not fit the above definition of Secondary then it
+ is not allowed to be designated as Invariant. The Document may
+ contain zero Invariant Sections. If the Document does not identify
+ any Invariant Sections then there are none.
The "Cover Texts" are certain short passages of text that are
listed, as Front-Cover Texts or Back-Cover Texts, in the notice
@@ -3492,27 +4244,27 @@ C.1 GNU Free Documentation License
A "Transparent" copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
- straightforwardly with generic text editors or (for images
- composed of pixels) generic paint programs or (for drawings) some
- widely available drawing editor, and that is suitable for input to
- text formatters or for automatic translation to a variety of
- formats suitable for input to text formatters. A copy made in an
- otherwise Transparent file format whose markup, or absence of
- markup, has been arranged to thwart or discourage subsequent
- modification by readers is not Transparent. An image format is
- not Transparent if used for any substantial amount of text. A
- copy that is not "Transparent" is called "Opaque".
+ straightforwardly with generic text editors or (for images composed
+ of pixels) generic paint programs or (for drawings) some widely
+ available drawing editor, and that is suitable for input to text
+ formatters or for automatic translation to a variety of formats
+ suitable for input to text formatters. A copy made in an otherwise
+ Transparent file format whose markup, or absence of markup, has
+ been arranged to thwart or discourage subsequent modification by
+ readers is not Transparent. An image format is not Transparent if
+ used for any substantial amount of text. A copy that is not
+ "Transparent" is called "Opaque".
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format,
- SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML, PostScript or PDF designed for
- human modification. Examples of transparent image formats include
- PNG, XCF and JPG. Opaque formats include proprietary formats that
- can be read and edited only by proprietary word processors, SGML or
- XML for which the DTD and/or processing tools are not generally
- available, and the machine-generated HTML, PostScript or PDF
- produced by some word processors for output purposes only.
+ SGML or XML using a publicly available DTD, and standard-conforming
+ simple HTML, PostScript or PDF designed for human modification.
+ Examples of transparent image formats include PNG, XCF and JPG.
+ Opaque formats include proprietary formats that can be read and
+ edited only by proprietary word processors, SGML or XML for which
+ the DTD and/or processing tools are not generally available, and
+ the machine-generated HTML, PostScript or PDF produced by some word
+ processors for output purposes only.
The "Title Page" means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the
@@ -3550,8 +4302,8 @@ C.1 GNU Free Documentation License
may not use technical measures to obstruct or control the reading
or further copying of the copies you make or distribute. However,
you may accept compensation in exchange for copies. If you
- distribute a large enough number of copies you must also follow
- the conditions in section 3.
+ distribute a large enough number of copies you must also follow the
+ conditions in section 3.
You may also lend copies, under the same conditions stated above,
and you may publicly display copies.
@@ -3565,12 +4317,11 @@ C.1 GNU Free Documentation License
these Cover Texts: Front-Cover Texts on the front cover, and
Back-Cover Texts on the back cover. Both covers must also clearly
and legibly identify you as the publisher of these copies. The
- front cover must present the full title with all words of the
- title equally prominent and visible. You may add other material
- on the covers in addition. Copying with changes limited to the
- covers, as long as they preserve the title of the Document and
- satisfy these conditions, can be treated as verbatim copying in
- other respects.
+ front cover must present the full title with all words of the title
+ equally prominent and visible. You may add other material on the
+ covers in addition. Copying with changes limited to the covers, as
+ long as they preserve the title of the Document and satisfy these
+ conditions, can be treated as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
@@ -3578,40 +4329,39 @@ C.1 GNU Free Documentation License
adjacent pages.
If you publish or distribute Opaque copies of the Document
- numbering more than 100, you must either include a
- machine-readable Transparent copy along with each Opaque copy, or
- state in or with each Opaque copy a computer-network location from
- which the general network-using public has access to download
- using public-standard network protocols a complete Transparent
- copy of the Document, free of added material. If you use the
- latter option, you must take reasonably prudent steps, when you
- begin distribution of Opaque copies in quantity, to ensure that
- this Transparent copy will remain thus accessible at the stated
- location until at least one year after the last time you
- distribute an Opaque copy (directly or through your agents or
- retailers) of that edition to the public.
+ numbering more than 100, you must either include a machine-readable
+ Transparent copy along with each Opaque copy, or state in or with
+ each Opaque copy a computer-network location from which the general
+ network-using public has access to download using public-standard
+ network protocols a complete Transparent copy of the Document, free
+ of added material. If you use the latter option, you must take
+ reasonably prudent steps, when you begin distribution of Opaque
+ copies in quantity, to ensure that this Transparent copy will
+ remain thus accessible at the stated location until at least one
+ year after the last time you distribute an Opaque copy (directly or
+ through your agents or retailers) of that edition to the public.
It is requested, but not required, that you contact the authors of
- the Document well before redistributing any large number of
- copies, to give them a chance to provide you with an updated
- version of the Document.
+ the Document well before redistributing any large number of copies,
+ to give them a chance to provide you with an updated version of the
+ Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document
under the conditions of sections 2 and 3 above, provided that you
- release the Modified Version under precisely this License, with
- the Modified Version filling the role of the Document, thus
- licensing distribution and modification of the Modified Version to
- whoever possesses a copy of it. In addition, you must do these
- things in the Modified Version:
+ release the Modified Version under precisely this License, with the
+ Modified Version filling the role of the Document, thus licensing
+ distribution and modification of the Modified Version to whoever
+ possesses a copy of it. In addition, you must do these things in
+ the Modified Version:
A. Use in the Title Page (and on the covers, if any) a title
- distinct from that of the Document, and from those of
- previous versions (which should, if there were any, be listed
- in the History section of the Document). You may use the
- same title as a previous version if the original publisher of
- that version gives permission.
+ distinct from that of the Document, and from those of previous
+ versions (which should, if there were any, be listed in the
+ History section of the Document). You may use the same title
+ as a previous version if the original publisher of that
+ version gives permission.
B. List on the Title Page, as authors, one or more persons or
entities responsible for authorship of the modifications in
@@ -3641,31 +4391,30 @@ C.1 GNU Free Documentation License
I. Preserve the section Entitled "History", Preserve its Title,
and add to it an item stating at least the title, year, new
- authors, and publisher of the Modified Version as given on
- the Title Page. If there is no section Entitled "History" in
- the Document, create one stating the title, year, authors,
- and publisher of the Document as given on its Title Page,
- then add an item describing the Modified Version as stated in
- the previous sentence.
+ authors, and publisher of the Modified Version as given on the
+ Title Page. If there is no section Entitled "History" in the
+ Document, create one stating the title, year, authors, and
+ publisher of the Document as given on its Title Page, then add
+ an item describing the Modified Version as stated in the
+ previous sentence.
J. Preserve the network location, if any, given in the Document
for public access to a Transparent copy of the Document, and
likewise the network locations given in the Document for
- previous versions it was based on. These may be placed in
- the "History" section. You may omit a network location for a
- work that was published at least four years before the
- Document itself, or if the original publisher of the version
- it refers to gives permission.
+ previous versions it was based on. These may be placed in the
+ "History" section. You may omit a network location for a work
+ that was published at least four years before the Document
+ itself, or if the original publisher of the version it refers
+ to gives permission.
K. For any section Entitled "Acknowledgements" or "Dedications",
- Preserve the Title of the section, and preserve in the
- section all the substance and tone of each of the contributor
+ Preserve the Title of the section, and preserve in the section
+ all the substance and tone of each of the contributor
acknowledgements and/or dedications given therein.
- L. Preserve all the Invariant Sections of the Document,
- unaltered in their text and in their titles. Section numbers
- or the equivalent are not considered part of the section
- titles.
+ L. Preserve all the Invariant Sections of the Document, unaltered
+ in their text and in their titles. Section numbers or the
+ equivalent are not considered part of the section titles.
M. Delete any section Entitled "Endorsements". Such a section
may not be included in the Modified Version.
@@ -3678,11 +4427,11 @@ C.1 GNU Free Documentation License
If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no
- material copied from the Document, you may at your option
- designate some or all of these sections as invariant. To do this,
- add their titles to the list of Invariant Sections in the Modified
- Version's license notice. These titles must be distinct from any
- other section titles.
+ material copied from the Document, you may at your option designate
+ some or all of these sections as invariant. To do this, add their
+ titles to the list of Invariant Sections in the Modified Version's
+ license notice. These titles must be distinct from any other
+ section titles.
You may add a section Entitled "Endorsements", provided it contains
nothing but endorsements of your Modified Version by various
@@ -3691,15 +4440,15 @@ C.1 GNU Free Documentation License
definition of a standard.
You may add a passage of up to five words as a Front-Cover Text,
- and a passage of up to 25 words as a Back-Cover Text, to the end
- of the list of Cover Texts in the Modified Version. Only one
- passage of Front-Cover Text and one of Back-Cover Text may be
- added by (or through arrangements made by) any one entity. If the
- Document already includes a cover text for the same cover,
- previously added by you or by arrangement made by the same entity
- you are acting on behalf of, you may not add another; but you may
- replace the old one, on explicit permission from the previous
- publisher that added the old one.
+ and a passage of up to 25 words as a Back-Cover Text, to the end of
+ the list of Cover Texts in the Modified Version. Only one passage
+ of Front-Cover Text and one of Back-Cover Text may be added by (or
+ through arrangements made by) any one entity. If the Document
+ already includes a cover text for the same cover, previously added
+ by you or by arrangement made by the same entity you are acting on
+ behalf of, you may not add another; but you may replace the old
+ one, on explicit permission from the previous publisher that added
+ the old one.
The author(s) and publisher(s) of the Document do not by this
License give permission to use their names for publicity for or to
@@ -3709,8 +4458,8 @@ C.1 GNU Free Documentation License
You may combine the Document with other documents released under
this License, under the terms defined in section 4 above for
- modified versions, provided that you include in the combination
- all of the Invariant Sections of all of the original documents,
+ modified versions, provided that you include in the combination all
+ of the Invariant Sections of all of the original documents,
unmodified, and list them all as Invariant Sections of your
combined work in its license notice, and that you preserve all
their Warranty Disclaimers.
@@ -3737,20 +4486,20 @@ C.1 GNU Free Documentation License
documents released under this License, and replace the individual
copies of this License in the various documents with a single copy
that is included in the collection, provided that you follow the
- rules of this License for verbatim copying of each of the
- documents in all other respects.
+ rules of this License for verbatim copying of each of the documents
+ in all other respects.
You may extract a single document from such a collection, and
distribute it individually under this License, provided you insert
- a copy of this License into the extracted document, and follow
- this License in all other respects regarding verbatim copying of
- that document.
+ a copy of this License into the extracted document, and follow this
+ License in all other respects regarding verbatim copying of that
+ document.
7. AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other
- separate and independent documents or works, in or on a volume of
- a storage or distribution medium, is called an "aggregate" if the
+ separate and independent documents or works, in or on a volume of a
+ storage or distribution medium, is called an "aggregate" if the
copyright resulting from the compilation is not used to limit the
legal rights of the compilation's users beyond what the individual
works permit. When the Document is included in an aggregate, this
@@ -3795,8 +4544,8 @@ C.1 GNU Free Documentation License
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
- provisionally, unless and until the copyright holder explicitly
- and finally terminates your license, and (b) permanently, if the
+ provisionally, unless and until the copyright holder explicitly and
+ finally terminates your license, and (b) permanently, if the
copyright holder fails to notify you of the violation by some
reasonable means prior to 60 days after the cessation.
@@ -3808,33 +4557,33 @@ C.1 GNU Free Documentation License
after your receipt of the notice.
Termination of your rights under this section does not terminate
- the licenses of parties who have received copies or rights from
- you under this License. If your rights have been terminated and
- not permanently reinstated, receipt of a copy of some or all of
- the same material does not give you any rights to use it.
+ the licenses of parties who have received copies or rights from you
+ under this License. If your rights have been terminated and not
+ permanently reinstated, receipt of a copy of some or all of the
+ same material does not give you any rights to use it.
- 10. FUTURE REVISIONS OF THIS LICENSE
+ 10. FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions of
the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
- `http://www.gnu.org/copyleft/'.
+ <http://www.gnu.org/copyleft/>.
Each version of the License is given a distinguishing version
number. If the Document specifies that a particular numbered
version of this License "or any later version" applies to it, you
have the option of following the terms and conditions either of
that specified version or of any later version that has been
- published (not as a draft) by the Free Software Foundation. If
- the Document does not specify a version number of this License,
- you may choose any version ever published (not as a draft) by the
- Free Software Foundation. If the Document specifies that a proxy
- can decide which future versions of this License can be used, that
+ published (not as a draft) by the Free Software Foundation. If the
+ Document does not specify a version number of this License, you may
+ choose any version ever published (not as a draft) by the Free
+ Software Foundation. If the Document specifies that a proxy can
+ decide which future versions of this License can be used, that
proxy's public statement of acceptance of a version permanently
authorizes you to choose that version for the Document.
- 11. RELICENSING
+ 11. RELICENSING
"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
World Wide Web server that publishes copyrightable works and also
@@ -3864,7 +4613,6 @@ C.1 GNU Free Documentation License
site under CC-BY-SA on the same site at any time before August 1,
2009, provided the MMC is eligible for relicensing.
-
ADDENDUM: How to use this License for your documents
====================================================
@@ -3892,9 +4640,9 @@ combination of the three, merge those two alternatives to suit the
situation.
If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License, to
-permit their use in free software.
+recommend releasing these examples in parallel under your choice of free
+software license, such as the GNU General Public License, to permit
+their use in free software.

File: make.info, Node: Concept Index, Next: Name Index, Prev: GNU Free Documentation License, Up: Top
@@ -3905,288 +4653,303 @@ Index of Concepts
* Menu:
-* # (comments), in makefile: Makefile Contents. (line 42)
-* # (comments), in recipes: Recipe Syntax. (line 29)
-* #include: Automatic Prerequisites.
+* !=: Setting. (line 6)
+* !=, expansion: Reading Makefiles. (line 33)
+* '#' (comments), in makefile: Makefile Contents. (line 41)
+* '#' (comments), in recipes: Recipe Syntax. (line 29)
+* '#include': Automatic Prerequisites.
(line 16)
-* $, in function call: Syntax of Functions. (line 6)
-* $, in rules: Rule Syntax. (line 34)
-* $, in variable name: Computed Names. (line 6)
-* $, in variable reference: Reference. (line 6)
-* %, in pattern rules: Pattern Intro. (line 9)
-* %, quoting in patsubst: Text Functions. (line 26)
-* %, quoting in static pattern: Static Usage. (line 37)
-* %, quoting in vpath: Selective Search. (line 38)
-* %, quoting with \ (backslash) <1>: Text Functions. (line 26)
-* %, quoting with \ (backslash) <2>: Static Usage. (line 37)
-* %, quoting with \ (backslash): Selective Search. (line 38)
-* * (wildcard character): Wildcards. (line 6)
-* +, and define: Canned Recipes. (line 49)
+* '$', in function call: Syntax of Functions. (line 6)
+* '$', in rules: Rule Syntax. (line 33)
+* '$', in variable name: Computed Names. (line 6)
+* '$', in variable reference: Reference. (line 6)
+* '%', in pattern rules: Pattern Intro. (line 9)
+* '%', quoting in 'patsubst': Text Functions. (line 26)
+* '%', quoting in static pattern: Static Usage. (line 37)
+* '%', quoting in 'vpath': Selective Search. (line 39)
+* '%', quoting with '\' (backslash): Selective Search. (line 39)
+* '%', quoting with '\' (backslash) <1>: Static Usage. (line 37)
+* '%', quoting with '\' (backslash) <2>: Text Functions. (line 26)
+* '*' (wildcard character): Wildcards. (line 6)
+* +, and 'define': Canned Recipes. (line 49)
* +, and recipe execution: Instead of Execution.
- (line 60)
+ (line 67)
* +, and recipes: MAKE Variable. (line 18)
* +=: Appending. (line 6)
* +=, expansion: Reading Makefiles. (line 33)
-* ,v (RCS file extension): Catalogue of Rules. (line 164)
-* - (in recipes): Errors. (line 19)
-* -, and define: Canned Recipes. (line 49)
-* --always-make: Options Summary. (line 15)
-* --assume-new <1>: Options Summary. (line 248)
-* --assume-new: Instead of Execution.
- (line 35)
-* --assume-new, and recursion: Options/Recursion. (line 22)
-* --assume-old <1>: Options Summary. (line 154)
-* --assume-old: Avoiding Compilation.
+* +=, expansion <1>: Reading Makefiles. (line 33)
+* ,v (RCS file extension): Catalogue of Rules. (line 163)
+* '-' (in recipes): Errors. (line 19)
+* -, and 'define': Canned Recipes. (line 49)
+* '--always-make': Options Summary. (line 15)
+* '--assume-new': Instead of Execution.
+ (line 41)
+* '--assume-new' <1>: Options Summary. (line 284)
+* '--assume-new', and recursion: Options/Recursion. (line 22)
+* '--assume-old': Avoiding Compilation.
(line 6)
-* --assume-old, and recursion: Options/Recursion. (line 22)
-* --check-symlink-times: Options Summary. (line 136)
-* --debug: Options Summary. (line 42)
-* --directory <1>: Options Summary. (line 26)
-* --directory: Recursion. (line 20)
-* --directory, and --print-directory: -w Option. (line 20)
-* --directory, and recursion: Options/Recursion. (line 22)
-* --dry-run <1>: Options Summary. (line 146)
-* --dry-run <2>: Instead of Execution.
+* '--assume-old' <1>: Options Summary. (line 163)
+* '--assume-old', and recursion: Options/Recursion. (line 22)
+* '--check-symlink-times': Options Summary. (line 144)
+* '--debug': Options Summary. (line 43)
+* '--directory': Recursion. (line 20)
+* '--directory' <1>: Options Summary. (line 26)
+* '--directory', and '--print-directory': -w Option. (line 20)
+* '--directory', and recursion: Options/Recursion. (line 22)
+* '--dry-run': Echoing. (line 18)
+* '--dry-run' <1>: Instead of Execution.
(line 14)
-* --dry-run: Echoing. (line 18)
-* --environment-overrides: Options Summary. (line 78)
-* --eval: Options Summary. (line 83)
-* --file <1>: Options Summary. (line 90)
-* --file <2>: Makefile Arguments. (line 6)
-* --file: Makefile Names. (line 23)
-* --file, and recursion: Options/Recursion. (line 22)
-* --help: Options Summary. (line 96)
-* --ignore-errors <1>: Options Summary. (line 100)
-* --ignore-errors: Errors. (line 30)
-* --include-dir <1>: Options Summary. (line 105)
-* --include-dir: Include. (line 53)
-* --jobs <1>: Options Summary. (line 112)
-* --jobs: Parallel. (line 6)
-* --jobs, and recursion: Options/Recursion. (line 25)
-* --just-print <1>: Options Summary. (line 145)
-* --just-print <2>: Instead of Execution.
+* '--dry-run' <2>: Options Summary. (line 154)
+* '--environment-overrides': Options Summary. (line 85)
+* '--eval': Options Summary. (line 89)
+* '--file': Makefile Names. (line 23)
+* '--file' <1>: Makefile Arguments. (line 6)
+* '--file' <2>: Options Summary. (line 97)
+* '--file', and recursion: Options/Recursion. (line 22)
+* '--help': Options Summary. (line 103)
+* '--ignore-errors': Errors. (line 30)
+* '--ignore-errors' <1>: Options Summary. (line 108)
+* '--include-dir': Include. (line 53)
+* '--include-dir' <1>: Options Summary. (line 113)
+* '--jobs': Parallel. (line 6)
+* '--jobs' <1>: Options Summary. (line 120)
+* '--jobs', and recursion: Options/Recursion. (line 25)
+* '--just-print': Echoing. (line 18)
+* '--just-print' <1>: Instead of Execution.
(line 14)
-* --just-print: Echoing. (line 18)
-* --keep-going <1>: Options Summary. (line 121)
-* --keep-going <2>: Testing. (line 16)
-* --keep-going: Errors. (line 47)
-* --load-average <1>: Options Summary. (line 128)
-* --load-average: Parallel. (line 58)
-* --makefile <1>: Options Summary. (line 91)
-* --makefile <2>: Makefile Arguments. (line 6)
-* --makefile: Makefile Names. (line 23)
-* --max-load <1>: Options Summary. (line 129)
-* --max-load: Parallel. (line 58)
-* --new-file <1>: Options Summary. (line 247)
-* --new-file: Instead of Execution.
- (line 35)
-* --new-file, and recursion: Options/Recursion. (line 22)
-* --no-builtin-rules: Options Summary. (line 182)
-* --no-builtin-variables: Options Summary. (line 195)
-* --no-keep-going: Options Summary. (line 210)
-* --no-print-directory <1>: Options Summary. (line 239)
-* --no-print-directory: -w Option. (line 20)
-* --old-file <1>: Options Summary. (line 153)
-* --old-file: Avoiding Compilation.
+* '--just-print' <2>: Options Summary. (line 153)
+* '--keep-going': Errors. (line 47)
+* '--keep-going' <1>: Testing. (line 16)
+* '--keep-going' <2>: Options Summary. (line 129)
+* '--load-average': Parallel. (line 35)
+* '--load-average' <1>: Options Summary. (line 136)
+* '--makefile': Makefile Names. (line 23)
+* '--makefile' <1>: Makefile Arguments. (line 6)
+* '--makefile' <2>: Options Summary. (line 98)
+* '--max-load': Parallel. (line 35)
+* '--max-load' <1>: Options Summary. (line 137)
+* '--new-file': Instead of Execution.
+ (line 41)
+* '--new-file' <1>: Options Summary. (line 283)
+* '--new-file', and recursion: Options/Recursion. (line 22)
+* '--no-builtin-rules': Options Summary. (line 209)
+* '--no-builtin-variables': Options Summary. (line 222)
+* '--no-keep-going': Options Summary. (line 238)
+* '--no-print-directory': -w Option. (line 20)
+* '--no-print-directory' <1>: Options Summary. (line 275)
+* '--old-file': Avoiding Compilation.
(line 6)
-* --old-file, and recursion: Options/Recursion. (line 22)
-* --print-data-base: Options Summary. (line 162)
-* --print-directory: Options Summary. (line 231)
-* --print-directory, and --directory: -w Option. (line 20)
-* --print-directory, and recursion: -w Option. (line 20)
-* --print-directory, disabling: -w Option. (line 20)
-* --question <1>: Options Summary. (line 174)
-* --question: Instead of Execution.
- (line 27)
-* --quiet <1>: Options Summary. (line 205)
-* --quiet: Echoing. (line 24)
-* --recon <1>: Options Summary. (line 147)
-* --recon <2>: Instead of Execution.
+* '--old-file' <1>: Options Summary. (line 162)
+* '--old-file', and recursion: Options/Recursion. (line 22)
+* '--output-sync': Parallel Output. (line 11)
+* '--output-sync' <1>: Options Summary. (line 171)
+* '--print-data-base': Options Summary. (line 187)
+* '--print-directory': Options Summary. (line 267)
+* '--print-directory', and '--directory': -w Option. (line 20)
+* '--print-directory', and recursion: -w Option. (line 20)
+* '--print-directory', disabling: -w Option. (line 20)
+* '--question': Instead of Execution.
+ (line 32)
+* '--question' <1>: Options Summary. (line 201)
+* '--quiet': Echoing. (line 24)
+* '--quiet' <1>: Options Summary. (line 232)
+* '--recon': Echoing. (line 18)
+* '--recon' <1>: Instead of Execution.
(line 14)
-* --recon: Echoing. (line 18)
-* --silent <1>: Options Summary. (line 204)
-* --silent: Echoing. (line 24)
-* --stop: Options Summary. (line 211)
-* --touch <1>: Options Summary. (line 219)
-* --touch: Instead of Execution.
- (line 21)
-* --touch, and recursion: MAKE Variable. (line 34)
-* --version: Options Summary. (line 226)
-* --warn-undefined-variables: Options Summary. (line 257)
-* --what-if <1>: Options Summary. (line 246)
-* --what-if: Instead of Execution.
- (line 35)
-* -B: Options Summary. (line 14)
-* -b: Options Summary. (line 9)
-* -C <1>: Options Summary. (line 25)
-* -C: Recursion. (line 20)
-* -C, and -w: -w Option. (line 20)
-* -C, and recursion: Options/Recursion. (line 22)
-* -d: Options Summary. (line 33)
-* -e: Options Summary. (line 77)
-* -e (shell flag): Automatic Prerequisites.
- (line 66)
-* -f <1>: Options Summary. (line 89)
-* -f <2>: Makefile Arguments. (line 6)
-* -f: Makefile Names. (line 23)
-* -f, and recursion: Options/Recursion. (line 22)
-* -h: Options Summary. (line 95)
-* -I: Options Summary. (line 104)
-* -i <1>: Options Summary. (line 99)
-* -i: Errors. (line 30)
-* -I: Include. (line 53)
-* -j <1>: Options Summary. (line 111)
-* -j: Parallel. (line 6)
-* -j, and archive update: Archive Pitfalls. (line 6)
-* -j, and recursion: Options/Recursion. (line 25)
-* -k <1>: Options Summary. (line 120)
-* -k <2>: Testing. (line 16)
-* -k: Errors. (line 47)
-* -L: Options Summary. (line 135)
-* -l: Options Summary. (line 127)
-* -l (library search): Libraries/Search. (line 6)
-* -l (load average): Parallel. (line 58)
-* -m: Options Summary. (line 10)
-* -M (to compiler): Automatic Prerequisites.
+* '--recon' <2>: Options Summary. (line 155)
+* '--silent': Echoing. (line 24)
+* '--silent' <1>: Options Summary. (line 231)
+* '--stop': Options Summary. (line 239)
+* '--touch': Instead of Execution.
+ (line 24)
+* '--touch' <1>: Options Summary. (line 247)
+* '--touch', and recursion: MAKE Variable. (line 35)
+* '--trace': Options Summary. (line 254)
+* '--version': Options Summary. (line 262)
+* '--warn-undefined-variables': Options Summary. (line 292)
+* '--what-if': Instead of Execution.
+ (line 41)
+* '--what-if' <1>: Options Summary. (line 282)
+* '-b': Options Summary. (line 9)
+* '-B': Options Summary. (line 14)
+* '-C': Recursion. (line 20)
+* '-C' <1>: Options Summary. (line 25)
+* '-C', and '-w': -w Option. (line 20)
+* '-C', and recursion: Options/Recursion. (line 22)
+* '-d': Options Summary. (line 33)
+* '-e': Options Summary. (line 84)
+* '-e' (shell flag): Automatic Prerequisites.
+ (line 65)
+* '-f': Makefile Names. (line 23)
+* '-f' <1>: Makefile Arguments. (line 6)
+* '-f' <2>: Options Summary. (line 96)
+* '-f', and recursion: Options/Recursion. (line 22)
+* '-h': Options Summary. (line 102)
+* '-I': Include. (line 53)
+* '-i': Errors. (line 30)
+* '-i' <1>: Options Summary. (line 107)
+* '-I' <1>: Options Summary. (line 112)
+* '-j': Parallel. (line 6)
+* '-j' <1>: Options Summary. (line 119)
+* '-j', and archive update: Archive Pitfalls. (line 6)
+* '-j', and recursion: Options/Recursion. (line 25)
+* '-k': Errors. (line 47)
+* '-k' <1>: Testing. (line 16)
+* '-k' <2>: Options Summary. (line 128)
+* '-l': Options Summary. (line 135)
+* '-L': Options Summary. (line 143)
+* '-l' (library search): Libraries/Search. (line 6)
+* '-l' (load average): Parallel. (line 35)
+* '-m': Options Summary. (line 10)
+* '-M' (to compiler): Automatic Prerequisites.
(line 18)
-* -MM (to GNU compiler): Automatic Prerequisites.
- (line 68)
-* -n <1>: Options Summary. (line 144)
-* -n <2>: Instead of Execution.
+* '-MM' (to GNU compiler): Automatic Prerequisites.
+ (line 67)
+* '-n': Echoing. (line 18)
+* '-n' <1>: Instead of Execution.
(line 14)
-* -n: Echoing. (line 18)
-* -o <1>: Options Summary. (line 152)
-* -o: Avoiding Compilation.
+* '-n' <2>: Options Summary. (line 152)
+* '-O': Parallel Output. (line 11)
+* '-o': Avoiding Compilation.
(line 6)
-* -o, and recursion: Options/Recursion. (line 22)
-* -p: Options Summary. (line 161)
-* -q <1>: Options Summary. (line 173)
-* -q: Instead of Execution.
- (line 27)
-* -R: Options Summary. (line 194)
-* -r: Options Summary. (line 181)
-* -S: Options Summary. (line 209)
-* -s <1>: Options Summary. (line 203)
-* -s: Echoing. (line 24)
-* -t <1>: Options Summary. (line 218)
-* -t: Instead of Execution.
- (line 21)
-* -t, and recursion: MAKE Variable. (line 34)
-* -v: Options Summary. (line 225)
-* -W: Options Summary. (line 245)
-* -w: Options Summary. (line 230)
-* -W: Instead of Execution.
- (line 35)
-* -w, and -C: -w Option. (line 20)
-* -w, and recursion: -w Option. (line 20)
-* -W, and recursion: Options/Recursion. (line 22)
-* -w, disabling: -w Option. (line 20)
-* .a (archives): Archive Suffix Rules.
+* '-o' <1>: Options Summary. (line 161)
+* '-O' <1>: Options Summary. (line 170)
+* '-o', and recursion: Options/Recursion. (line 22)
+* '-p': Options Summary. (line 186)
+* '-q': Instead of Execution.
+ (line 32)
+* '-q' <1>: Options Summary. (line 200)
+* '-r': Options Summary. (line 208)
+* '-R': Options Summary. (line 221)
+* '-s': Echoing. (line 24)
+* '-s' <1>: Options Summary. (line 230)
+* '-S': Options Summary. (line 237)
+* '-t': Instead of Execution.
+ (line 24)
+* '-t' <1>: Options Summary. (line 246)
+* '-t', and recursion: MAKE Variable. (line 35)
+* '-v': Options Summary. (line 261)
+* '-W': Instead of Execution.
+ (line 41)
+* '-w': Options Summary. (line 266)
+* '-W' <1>: Options Summary. (line 281)
+* '-w', and '-C': -w Option. (line 20)
+* '-W', and recursion: Options/Recursion. (line 22)
+* '-w', and recursion: -w Option. (line 20)
+* '-w', disabling: -w Option. (line 20)
+* '.a' (archives): Archive Suffix Rules.
(line 6)
-* .C: Catalogue of Rules. (line 39)
* .c: Catalogue of Rules. (line 35)
+* .C: Catalogue of Rules. (line 39)
* .cc: Catalogue of Rules. (line 39)
-* .ch: Catalogue of Rules. (line 151)
+* .ch: Catalogue of Rules. (line 149)
* .cpp: Catalogue of Rules. (line 39)
-* .d: Automatic Prerequisites.
- (line 81)
-* .def: Catalogue of Rules. (line 74)
-* .dvi: Catalogue of Rules. (line 151)
-* .F: Catalogue of Rules. (line 49)
+* '.d': Automatic Prerequisites.
+ (line 80)
+* .def: Catalogue of Rules. (line 71)
+* .dvi: Catalogue of Rules. (line 149)
* .f: Catalogue of Rules. (line 49)
-* .info: Catalogue of Rules. (line 158)
-* .l: Catalogue of Rules. (line 124)
-* .LIBPATTERNS, and link libraries: Libraries/Search. (line 6)
-* .ln: Catalogue of Rules. (line 146)
-* .mod: Catalogue of Rules. (line 74)
+* .F: Catalogue of Rules. (line 49)
+* .info: Catalogue of Rules. (line 156)
+* .l: Catalogue of Rules. (line 121)
+* '.LIBPATTERNS', and link libraries: Libraries/Search. (line 6)
+* .ln: Catalogue of Rules. (line 143)
+* .mod: Catalogue of Rules. (line 71)
* .o: Catalogue of Rules. (line 35)
-* .ONESHELL, use of: One Shell. (line 6)
+* .o <1>: Catalogue of Rules. (line 83)
+* '.ONESHELL', use of: One Shell. (line 6)
* .p: Catalogue of Rules. (line 45)
-* .PRECIOUS intermediate files: Chained Rules. (line 56)
+* '.PRECIOUS' intermediate files: Chained Rules. (line 56)
* .r: Catalogue of Rules. (line 49)
-* .S: Catalogue of Rules. (line 82)
-* .s: Catalogue of Rules. (line 79)
-* .sh: Catalogue of Rules. (line 180)
-* .SHELLFLAGS, value of: Choosing the Shell. (line 6)
-* .sym: Catalogue of Rules. (line 74)
-* .tex: Catalogue of Rules. (line 151)
-* .texi: Catalogue of Rules. (line 158)
-* .texinfo: Catalogue of Rules. (line 158)
-* .txinfo: Catalogue of Rules. (line 158)
-* .w: Catalogue of Rules. (line 151)
-* .web: Catalogue of Rules. (line 151)
-* .y: Catalogue of Rules. (line 120)
-* :: rules (double-colon): Double-Colon. (line 6)
-* := <1>: Setting. (line 6)
+* .s: Catalogue of Rules. (line 76)
+* .S: Catalogue of Rules. (line 79)
+* .sh: Catalogue of Rules. (line 178)
+* '.SHELLFLAGS', value of: Choosing the Shell. (line 6)
+* .sym: Catalogue of Rules. (line 71)
+* .tex: Catalogue of Rules. (line 149)
+* .texi: Catalogue of Rules. (line 156)
+* .texinfo: Catalogue of Rules. (line 156)
+* .txinfo: Catalogue of Rules. (line 156)
+* .w: Catalogue of Rules. (line 149)
+* .web: Catalogue of Rules. (line 149)
+* .y: Catalogue of Rules. (line 117)
+* '::' rules (double-colon): Double-Colon. (line 6)
+* ::=: Flavors. (line 56)
+* ::= <1>: Setting. (line 6)
* :=: Flavors. (line 56)
-* = <1>: Setting. (line 6)
+* := <1>: Setting. (line 6)
* =: Flavors. (line 10)
+* = <1>: Setting. (line 6)
* =, expansion: Reading Makefiles. (line 33)
-* ? (wildcard character): Wildcards. (line 6)
+* '?' (wildcard character): Wildcards. (line 6)
+* ?=: Flavors. (line 135)
* ?= <1>: Setting. (line 6)
-* ?=: Flavors. (line 129)
* ?=, expansion: Reading Makefiles. (line 33)
-* @ (in recipes): Echoing. (line 6)
-* @, and define: Canned Recipes. (line 49)
-* [...] (wildcard characters): Wildcards. (line 6)
-* \ (backslash), for continuation lines: Simple Makefile. (line 40)
-* \ (backslash), in recipes: Splitting Lines. (line 6)
-* \ (backslash), to quote % <1>: Text Functions. (line 26)
-* \ (backslash), to quote % <2>: Static Usage. (line 37)
-* \ (backslash), to quote %: Selective Search. (line 38)
-* __.SYMDEF: Archive Symbols. (line 6)
-* abspath: File Name Functions. (line 121)
+* '@' (in recipes): Echoing. (line 6)
+* @, and 'define': Canned Recipes. (line 49)
+* '[...]' (wildcard characters): Wildcards. (line 6)
+* '\' (backslash), for continuation lines: Simple Makefile. (line 41)
+* '\' (backslash), in recipes: Splitting Recipe Lines.
+ (line 6)
+* '\' (backslash), to quote '%': Selective Search. (line 39)
+* '\' (backslash), to quote '%' <1>: Static Usage. (line 37)
+* '\' (backslash), to quote '%' <2>: Text Functions. (line 26)
+* '__.SYMDEF': Archive Symbols. (line 6)
+* '~' (tilde): Wildcards. (line 11)
+* abspath: File Name Functions. (line 120)
* algorithm for directory search: Search Algorithm. (line 6)
-* all (standard target): Goals. (line 72)
+* 'all' (standard target): Goals. (line 73)
* appending to variables: Appending. (line 6)
* ar: Implicit Variables. (line 40)
* archive: Archives. (line 6)
* archive member targets: Archive Members. (line 6)
* archive symbol directory updating: Archive Symbols. (line 6)
-* archive, and -j: Archive Pitfalls. (line 6)
+* archive, and '-j': Archive Pitfalls. (line 6)
* archive, and parallel execution: Archive Pitfalls. (line 6)
* archive, suffix rule for: Archive Suffix Rules.
(line 6)
-* Arg list too long: Options/Recursion. (line 57)
+* Arg list too long: Options/Recursion. (line 58)
* arguments of functions: Syntax of Functions. (line 6)
+* as: Catalogue of Rules. (line 76)
* as <1>: Implicit Variables. (line 43)
-* as: Catalogue of Rules. (line 79)
-* assembly, rule to compile: Catalogue of Rules. (line 79)
+* assembly, rule to compile: Catalogue of Rules. (line 76)
+* automatic generation of prerequisites: Include. (line 51)
* automatic generation of prerequisites <1>: Automatic Prerequisites.
(line 6)
-* automatic generation of prerequisites: Include. (line 51)
* automatic variables: Automatic Variables. (line 6)
* automatic variables in prerequisites: Automatic Variables. (line 17)
* backquotes: Shell Function. (line 6)
-* backslash (\), for continuation lines: Simple Makefile. (line 40)
-* backslash (\), in recipes: Splitting Lines. (line 6)
-* backslash (\), to quote % <1>: Text Functions. (line 26)
-* backslash (\), to quote % <2>: Static Usage. (line 37)
-* backslash (\), to quote %: Selective Search. (line 38)
+* backslash ('\'), for continuation lines: Simple Makefile. (line 41)
+* backslash ('\'), in recipes: Splitting Recipe Lines.
+ (line 6)
+* backslash ('\'), to quote '%': Selective Search. (line 39)
+* backslash ('\'), to quote '%' <1>: Static Usage. (line 37)
+* backslash ('\'), to quote '%' <2>: Text Functions. (line 26)
+* backslash ('\'), to quote newlines: Splitting Lines. (line 6)
* backslashes in pathnames and wildcard expansion: Wildcard Pitfall.
(line 31)
-* basename: File Name Functions. (line 57)
+* basename: File Name Functions. (line 56)
* binary packages: Install Command Categories.
(line 80)
-* broken pipe: Parallel. (line 31)
+* broken pipe: Parallel Input. (line 11)
* bugs, reporting: Bugs. (line 6)
* built-in special targets: Special Targets. (line 6)
* C++, rule to compile: Catalogue of Rules. (line 39)
* C, rule to compile: Catalogue of Rules. (line 35)
* canned recipes: Canned Recipes. (line 6)
-* cc <1>: Implicit Variables. (line 46)
* cc: Catalogue of Rules. (line 35)
-* cd (shell command) <1>: MAKE Variable. (line 16)
-* cd (shell command): Execution. (line 12)
+* cc <1>: Implicit Variables. (line 46)
+* 'cd' (shell command): Execution. (line 12)
+* 'cd' (shell command) <1>: MAKE Variable. (line 16)
* chains of rules: Chained Rules. (line 6)
-* check (standard target): Goals. (line 114)
-* clean (standard target): Goals. (line 75)
-* clean target <1>: Cleanup. (line 11)
-* clean target: Simple Makefile. (line 84)
+* 'check' (standard target): Goals. (line 115)
+* 'clean' (standard target): Goals. (line 76)
+* 'clean' target: Simple Makefile. (line 85)
+* 'clean' target <1>: Cleanup. (line 11)
* cleaning up: Cleanup. (line 6)
-* clobber (standard target): Goals. (line 86)
+* 'clobber' (standard target): Goals. (line 87)
+* co: Catalogue of Rules. (line 163)
* co <1>: Implicit Variables. (line 66)
-* co: Catalogue of Rules. (line 164)
* combining rules by prerequisite: Combine By Prerequisite.
(line 6)
* command expansion: Shell Function. (line 6)
@@ -4194,72 +4957,76 @@ Index of Concepts
(line 17)
* command line variables: Overriding. (line 6)
* commands, sequences of: Canned Recipes. (line 6)
-* comments, in makefile: Makefile Contents. (line 42)
+* comments, in makefile: Makefile Contents. (line 41)
* comments, in recipes: Recipe Syntax. (line 29)
* compatibility: Features. (line 6)
-* compatibility in exporting: Variables/Recursion. (line 105)
+* compatibility in exporting: Variables/Recursion. (line 104)
* compilation, testing: Testing. (line 6)
* computed variable name: Computed Names. (line 6)
* conditional expansion: Conditional Functions.
(line 6)
-* conditional variable assignment: Flavors. (line 129)
+* conditional variable assignment: Flavors. (line 135)
* conditionals: Conditionals. (line 6)
-* continuation lines: Simple Makefile. (line 40)
+* continuation lines: Simple Makefile. (line 41)
* controlling make: Make Control Functions.
(line 6)
* conventions for makefiles: Makefile Conventions.
(line 6)
+* convert guile types: Guile Types. (line 6)
+* ctangle: Catalogue of Rules. (line 149)
* ctangle <1>: Implicit Variables. (line 103)
-* ctangle: Catalogue of Rules. (line 151)
+* cweave: Catalogue of Rules. (line 149)
* cweave <1>: Implicit Variables. (line 97)
-* cweave: Catalogue of Rules. (line 151)
-* data base of make rules: Options Summary. (line 162)
+* data base of 'make' rules: Options Summary. (line 187)
* deducing recipes (implicit rules): make Deduces. (line 6)
* default directories for included makefiles: Include. (line 53)
-* default goal <1>: Rules. (line 11)
* default goal: How Make Works. (line 11)
+* default goal <1>: Rules. (line 11)
* default makefile name: Makefile Names. (line 6)
* default rules, last-resort: Last Resort. (line 6)
* define, expansion: Reading Makefiles. (line 33)
* defining variables verbatim: Multi-Line. (line 6)
-* deletion of target files <1>: Interrupts. (line 6)
* deletion of target files: Errors. (line 64)
+* deletion of target files <1>: Interrupts. (line 6)
* directive: Makefile Contents. (line 28)
* directories, creating installation: Directory Variables. (line 20)
* directories, printing them: -w Option. (line 6)
* directories, updating archive symbol: Archive Symbols. (line 6)
-* directory part: File Name Functions. (line 17)
-* directory search (VPATH): Directory Search. (line 6)
-* directory search (VPATH), and implicit rules: Implicit/Search.
+* directory part: File Name Functions. (line 16)
+* directory search ('VPATH'): Directory Search. (line 6)
+* directory search ('VPATH'), and implicit rules: Implicit/Search.
(line 6)
-* directory search (VPATH), and link libraries: Libraries/Search.
+* directory search ('VPATH'), and link libraries: Libraries/Search.
(line 6)
-* directory search (VPATH), and recipes: Recipes/Search. (line 6)
+* directory search ('VPATH'), and recipes: Recipes/Search. (line 6)
* directory search algorithm: Search Algorithm. (line 6)
* directory search, traditional (GPATH): Search Algorithm. (line 42)
-* dist (standard target): Goals. (line 106)
-* distclean (standard target): Goals. (line 84)
-* dollar sign ($), in function call: Syntax of Functions. (line 6)
-* dollar sign ($), in rules: Rule Syntax. (line 34)
-* dollar sign ($), in variable name: Computed Names. (line 6)
-* dollar sign ($), in variable reference: Reference. (line 6)
+* 'dist' (standard target): Goals. (line 107)
+* 'distclean' (standard target): Goals. (line 85)
+* dollar sign ('$'), in function call: Syntax of Functions. (line 6)
+* dollar sign ('$'), in rules: Rule Syntax. (line 33)
+* dollar sign ('$'), in variable name: Computed Names. (line 6)
+* dollar sign ('$'), in variable reference: Reference. (line 6)
* DOS, choosing a shell in: Choosing the Shell. (line 38)
* double-colon rules: Double-Colon. (line 6)
* duplicate words, removing: Text Functions. (line 155)
-* E2BIG: Options/Recursion. (line 57)
+* E2BIG: Options/Recursion. (line 58)
* echoing of recipes: Echoing. (line 6)
* editor: Introduction. (line 22)
-* Emacs (M-x compile): Errors. (line 62)
+* Emacs ('M-x compile'): Errors. (line 62)
* empty recipes: Empty Recipes. (line 6)
* empty targets: Empty Targets. (line 6)
* environment: Environment. (line 6)
* environment, and recursion: Variables/Recursion. (line 6)
-* environment, SHELL in: Choosing the Shell. (line 12)
+* environment, 'SHELL' in: Choosing the Shell. (line 12)
* error, stopping on: Make Control Functions.
(line 11)
* errors (in recipes): Errors. (line 6)
* errors with wildcards: Wildcard Pitfall. (line 6)
* evaluating makefile syntax: Eval Function. (line 6)
+* example of loaded objects: Loaded Object Example.
+ (line 6)
+* example using Guile: Guile Example. (line 6)
* execution, in parallel: Parallel. (line 6)
* execution, instead of: Instead of Execution.
(line 6)
@@ -4268,43 +5035,47 @@ Index of Concepts
* exit status of make: Running. (line 18)
* expansion, secondary: Secondary Expansion. (line 6)
* explicit rule, definition of: Makefile Contents. (line 10)
-* explicit rule, expansion: Reading Makefiles. (line 77)
+* explicit rule, expansion: Reading Makefiles. (line 92)
* explicit rules, secondary expansion of: Secondary Expansion.
- (line 106)
+ (line 104)
* exporting variables: Variables/Recursion. (line 6)
-* f77 <1>: Implicit Variables. (line 57)
+* extensions, Guile: Guile Integration. (line 6)
+* extensions, load directive: load Directive. (line 6)
+* extensions, loading: Loading Objects. (line 6)
* f77: Catalogue of Rules. (line 49)
+* f77 <1>: Implicit Variables. (line 57)
* FDL, GNU Free Documentation License: GNU Free Documentation License.
(line 6)
-* features of GNU make: Features. (line 6)
+* features of GNU 'make': Features. (line 6)
* features, missing: Missing. (line 6)
* file name functions: File Name Functions. (line 6)
* file name of makefile: Makefile Names. (line 6)
-* file name of makefile, how to specify: Makefile Names. (line 30)
-* file name prefix, adding: File Name Functions. (line 79)
-* file name suffix: File Name Functions. (line 43)
-* file name suffix, adding: File Name Functions. (line 68)
+* file name of makefile, how to specify: Makefile Names. (line 31)
+* file name prefix, adding: File Name Functions. (line 78)
+* file name suffix: File Name Functions. (line 42)
+* file name suffix, adding: File Name Functions. (line 67)
* file name with wildcards: Wildcards. (line 6)
-* file name, abspath of: File Name Functions. (line 121)
-* file name, basename of: File Name Functions. (line 57)
-* file name, directory part: File Name Functions. (line 17)
-* file name, nondirectory part: File Name Functions. (line 27)
-* file name, realpath of: File Name Functions. (line 114)
+* file name, abspath of: File Name Functions. (line 120)
+* file name, basename of: File Name Functions. (line 56)
+* file name, directory part: File Name Functions. (line 16)
+* file name, nondirectory part: File Name Functions. (line 26)
+* file name, realpath of: File Name Functions. (line 113)
+* file, writing to: File Function. (line 6)
* files, assuming new: Instead of Execution.
- (line 35)
+ (line 41)
* files, assuming old: Avoiding Compilation.
(line 6)
* files, avoiding recompilation of: Avoiding Compilation.
(line 6)
* files, intermediate: Chained Rules. (line 16)
-* filtering out words: Text Functions. (line 132)
-* filtering words: Text Functions. (line 114)
-* finding strings: Text Functions. (line 103)
+* filtering out words: Text Functions. (line 133)
+* filtering words: Text Functions. (line 115)
+* finding strings: Text Functions. (line 104)
* flags: Options Summary. (line 6)
* flags for compilers: Implicit Variables. (line 6)
* flavor of variable: Flavor Function. (line 6)
* flavors of variables: Flavors. (line 6)
-* FORCE: Force Targets. (line 6)
+* 'FORCE': Force Targets. (line 6)
* force targets: Force Targets. (line 6)
* Fortran, rule to compile: Catalogue of Rules. (line 49)
* functions: Functions. (line 6)
@@ -4314,92 +5085,110 @@ Index of Concepts
* functions, for text: Text Functions. (line 6)
* functions, syntax of: Syntax of Functions. (line 6)
* functions, user defined: Call Function. (line 6)
-* g++ <1>: Implicit Variables. (line 49)
* g++: Catalogue of Rules. (line 39)
+* g++ <1>: Implicit Variables. (line 49)
* gcc: Catalogue of Rules. (line 35)
+* generating prerequisites automatically: Include. (line 51)
* generating prerequisites automatically <1>: Automatic Prerequisites.
(line 6)
-* generating prerequisites automatically: Include. (line 51)
+* get: Catalogue of Rules. (line 172)
* get <1>: Implicit Variables. (line 69)
-* get: Catalogue of Rules. (line 173)
* globbing (wildcards): Wildcards. (line 6)
* goal: How Make Works. (line 11)
-* goal, default <1>: Rules. (line 11)
* goal, default: How Make Works. (line 11)
+* goal, default <1>: Rules. (line 11)
* goal, how to specify: Goals. (line 6)
+* Guile: Guile Function. (line 6)
+* Guile <1>: Guile Integration. (line 6)
+* Guile example: Guile Example. (line 6)
+* guile, conversion of types: Guile Types. (line 6)
* home directory: Wildcards. (line 11)
* IEEE Standard 1003.2: Overview. (line 13)
-* ifdef, expansion: Reading Makefiles. (line 67)
-* ifeq, expansion: Reading Makefiles. (line 67)
-* ifndef, expansion: Reading Makefiles. (line 67)
-* ifneq, expansion: Reading Makefiles. (line 67)
+* ifdef, expansion: Reading Makefiles. (line 82)
+* ifeq, expansion: Reading Makefiles. (line 82)
+* ifndef, expansion: Reading Makefiles. (line 82)
+* ifneq, expansion: Reading Makefiles. (line 82)
* implicit rule: Implicit Rules. (line 6)
* implicit rule, and directory search: Implicit/Search. (line 6)
-* implicit rule, and VPATH: Implicit/Search. (line 6)
+* implicit rule, and 'VPATH': Implicit/Search. (line 6)
* implicit rule, definition of: Makefile Contents. (line 16)
-* implicit rule, expansion: Reading Makefiles. (line 77)
+* implicit rule, expansion: Reading Makefiles. (line 92)
* implicit rule, how to use: Using Implicit. (line 6)
* implicit rule, introduction to: make Deduces. (line 6)
* implicit rule, predefined: Catalogue of Rules. (line 6)
* implicit rule, search algorithm: Implicit Rule Search.
(line 6)
* implicit rules, secondary expansion of: Secondary Expansion.
- (line 146)
+ (line 144)
* included makefiles, default directories: Include. (line 53)
-* including (MAKEFILE_LIST variable): Special Variables. (line 8)
-* including (MAKEFILES variable): MAKEFILES Variable. (line 6)
+* including ('MAKEFILES' variable): MAKEFILES Variable. (line 6)
+* including ('MAKEFILE_LIST' variable): Special Variables. (line 8)
* including other makefiles: Include. (line 6)
* incompatibilities: Missing. (line 6)
-* Info, rule to format: Catalogue of Rules. (line 158)
+* Info, rule to format: Catalogue of Rules. (line 156)
* inheritance, suppressing: Suppressing Inheritance.
(line 6)
-* install (standard target): Goals. (line 92)
+* input during parallel execution: Parallel Input. (line 6)
+* 'install' (standard target): Goals. (line 93)
* installation directories, creating: Directory Variables. (line 20)
* installations, staged: DESTDIR. (line 6)
+* interface for loaded objects: Loaded Object API. (line 6)
* intermediate files: Chained Rules. (line 16)
* intermediate files, preserving: Chained Rules. (line 46)
-* intermediate targets, explicit: Special Targets. (line 44)
+* intermediate targets, explicit: Special Targets. (line 48)
* interrupt: Interrupts. (line 6)
* job slots: Parallel. (line 6)
* job slots, and recursion: Options/Recursion. (line 25)
-* jobs, limiting based on load: Parallel. (line 58)
-* joining lists of words: File Name Functions. (line 90)
+* jobs, limiting based on load: Parallel. (line 35)
+* joining lists of words: File Name Functions. (line 89)
* killing (interruption): Interrupts. (line 6)
* last-resort default rules: Last Resort. (line 6)
-* ld: Catalogue of Rules. (line 86)
+* ld: Catalogue of Rules. (line 83)
+* lex: Catalogue of Rules. (line 121)
* lex <1>: Implicit Variables. (line 73)
-* lex: Catalogue of Rules. (line 124)
-* Lex, rule to run: Catalogue of Rules. (line 124)
+* Lex, rule to run: Catalogue of Rules. (line 121)
* libraries for linking, directory search: Libraries/Search. (line 6)
* library archive, suffix rule for: Archive Suffix Rules.
(line 6)
-* limiting jobs based on load: Parallel. (line 58)
+* limiting jobs based on load: Parallel. (line 35)
* link libraries, and directory search: Libraries/Search. (line 6)
* link libraries, patterns matching: Libraries/Search. (line 6)
-* linking, predefined rule for: Catalogue of Rules. (line 86)
+* linking, predefined rule for: Catalogue of Rules. (line 83)
+* lint: Catalogue of Rules. (line 143)
* lint <1>: Implicit Variables. (line 80)
-* lint: Catalogue of Rules. (line 146)
-* lint, rule to run: Catalogue of Rules. (line 146)
+* 'lint', rule to run: Catalogue of Rules. (line 143)
* list of all prerequisites: Automatic Variables. (line 61)
* list of changed prerequisites: Automatic Variables. (line 51)
-* load average: Parallel. (line 58)
+* load average: Parallel. (line 35)
+* load directive: load Directive. (line 6)
+* loaded object API: Loaded Object API. (line 6)
+* loaded object example: Loaded Object Example.
+ (line 6)
+* loaded object licensing: Loaded Object API. (line 31)
+* loaded objects: Loading Objects. (line 6)
+* loaded objects, remaking of: Remaking Loaded Objects.
+ (line 6)
+* long lines, splitting: Splitting Lines. (line 6)
* loops in variable expansion: Flavors. (line 44)
-* lpr (shell command) <1>: Empty Targets. (line 25)
-* lpr (shell command): Wildcard Examples. (line 21)
+* 'lpr' (shell command): Wildcard Examples. (line 21)
+* 'lpr' (shell command) <1>: Empty Targets. (line 25)
+* m2c: Catalogue of Rules. (line 71)
* m2c <1>: Implicit Variables. (line 60)
-* m2c: Catalogue of Rules. (line 74)
* macro: Using Variables. (line 10)
-* make depend: Automatic Prerequisites.
+* 'make depend': Automatic Prerequisites.
(line 37)
+* make extensions: Extending make. (line 6)
+* make interface to guile: Guile Interface. (line 6)
+* make procedures in guile: Guile Interface. (line 6)
* makefile: Introduction. (line 7)
* makefile name: Makefile Names. (line 6)
-* makefile name, how to specify: Makefile Names. (line 30)
+* makefile name, how to specify: Makefile Names. (line 31)
* makefile rule parts: Rule Introduction. (line 6)
* makefile syntax, evaluating: Eval Function. (line 6)
-* makefile, and MAKEFILES variable: MAKEFILES Variable. (line 6)
+* makefile, and 'MAKEFILES' variable: MAKEFILES Variable. (line 6)
* makefile, conventions for: Makefile Conventions.
(line 6)
-* makefile, how make processes: How Make Works. (line 6)
+* makefile, how 'make' processes: How Make Works. (line 6)
* makefile, how to write: Makefiles. (line 6)
* makefile, including: Include. (line 6)
* makefile, overriding: Overriding Makefiles.
@@ -4407,10 +5196,10 @@ Index of Concepts
* makefile, parsing: Reading Makefiles. (line 6)
* makefile, remaking of: Remaking Makefiles. (line 6)
* makefile, simple: Simple Makefile. (line 6)
-* makefiles, and MAKEFILE_LIST variable: Special Variables. (line 8)
+* makefiles, and 'MAKEFILE_LIST' variable: Special Variables. (line 8)
* makefiles, and special variables: Special Variables. (line 6)
+* makeinfo: Catalogue of Rules. (line 156)
* makeinfo <1>: Implicit Variables. (line 84)
-* makeinfo: Catalogue of Rules. (line 158)
* match-anything rule: Match-Anything Rules.
(line 6)
* match-anything rule, used to override: Overriding Makefiles.
@@ -4418,26 +5207,28 @@ Index of Concepts
* missing features: Missing. (line 6)
* mistakes with wildcards: Wildcard Pitfall. (line 6)
* modified variable reference: Substitution Refs. (line 6)
-* Modula-2, rule to compile: Catalogue of Rules. (line 74)
-* mostlyclean (standard target): Goals. (line 78)
+* Modula-2, rule to compile: Catalogue of Rules. (line 71)
+* 'mostlyclean' (standard target): Goals. (line 79)
* multi-line variable definition: Multi-Line. (line 6)
* multiple rules for one target: Multiple Rules. (line 6)
-* multiple rules for one target (::): Double-Colon. (line 6)
+* multiple rules for one target ('::'): Double-Colon. (line 6)
* multiple targets: Multiple Targets. (line 6)
* multiple targets, in pattern rule: Pattern Intro. (line 53)
* name of makefile: Makefile Names. (line 6)
-* name of makefile, how to specify: Makefile Names. (line 30)
+* name of makefile, how to specify: Makefile Names. (line 31)
* nested variable reference: Computed Names. (line 6)
-* newline, quoting, in makefile: Simple Makefile. (line 40)
-* newline, quoting, in recipes: Splitting Lines. (line 6)
-* nondirectory part: File Name Functions. (line 27)
+* newline, quoting, in makefile: Simple Makefile. (line 41)
+* newline, quoting, in recipes: Splitting Recipe Lines.
+ (line 6)
+* nondirectory part: File Name Functions. (line 26)
* normal prerequisites: Prerequisite Types. (line 6)
-* OBJ: Variables Simplify. (line 20)
-* obj: Variables Simplify. (line 20)
-* OBJECTS: Variables Simplify. (line 20)
-* objects: Variables Simplify. (line 14)
-* OBJS: Variables Simplify. (line 20)
-* objs: Variables Simplify. (line 20)
+* 'obj': Variables Simplify. (line 20)
+* 'OBJ': Variables Simplify. (line 20)
+* 'objects': Variables Simplify. (line 14)
+* 'OBJECTS': Variables Simplify. (line 20)
+* objects, loaded: Loading Objects. (line 6)
+* 'objs': Variables Simplify. (line 20)
+* 'OBJS': Variables Simplify. (line 20)
* old-fashioned suffix rules: Suffix Rules. (line 6)
* options: Options Summary. (line 6)
* options, and recursion: Options/Recursion. (line 6)
@@ -4446,49 +5237,55 @@ Index of Concepts
* order of pattern rules: Pattern Match. (line 30)
* order-only prerequisites: Prerequisite Types. (line 6)
* origin of variable: Origin Function. (line 6)
+* output during parallel execution: Parallel Output. (line 6)
+* output during parallel execution <1>: Options Summary. (line 171)
* overriding makefiles: Overriding Makefiles.
(line 6)
* overriding variables with arguments: Overriding. (line 6)
-* overriding with override: Override Directive. (line 6)
+* overriding with 'override': Override Directive. (line 6)
* parallel execution: Parallel. (line 6)
* parallel execution, and archive update: Archive Pitfalls. (line 6)
-* parallel execution, overriding: Special Targets. (line 130)
+* parallel execution, input during: Parallel Input. (line 6)
+* parallel execution, output during: Parallel Output. (line 6)
+* parallel execution, output during <1>: Options Summary. (line 171)
+* parallel execution, overriding: Special Targets. (line 142)
* parts of makefile rule: Rule Introduction. (line 6)
* Pascal, rule to compile: Catalogue of Rules. (line 45)
* pattern rule: Pattern Intro. (line 6)
-* pattern rule, expansion: Reading Makefiles. (line 77)
+* pattern rule, expansion: Reading Makefiles. (line 92)
* pattern rules, order of: Pattern Match. (line 30)
* pattern rules, static (not implicit): Static Pattern. (line 6)
* pattern rules, static, syntax of: Static Usage. (line 6)
* pattern-specific variables: Pattern-specific. (line 6)
-* pc <1>: Implicit Variables. (line 63)
* pc: Catalogue of Rules. (line 45)
+* pc <1>: Implicit Variables. (line 63)
* phony targets: Phony Targets. (line 6)
* phony targets and recipe execution: Instead of Execution.
- (line 68)
+ (line 75)
* pitfalls of wildcards: Wildcard Pitfall. (line 6)
+* plugin_is_GPL_compatible: Loaded Object API. (line 31)
* portability: Features. (line 6)
* POSIX: Overview. (line 13)
-* POSIX-conforming mode, setting: Special Targets. (line 143)
-* POSIX.2: Options/Recursion. (line 60)
+* POSIX <1>: Options/Recursion. (line 61)
+* POSIX-conforming mode, setting: Special Targets. (line 157)
* post-installation commands: Install Command Categories.
(line 6)
* pre-installation commands: Install Command Categories.
(line 6)
-* precious targets: Special Targets. (line 29)
-* predefined rules and variables, printing: Options Summary. (line 162)
-* prefix, adding: File Name Functions. (line 79)
+* precious targets: Special Targets. (line 32)
+* predefined rules and variables, printing: Options Summary. (line 187)
+* prefix, adding: File Name Functions. (line 78)
* prerequisite: Rules. (line 6)
* prerequisite pattern, implicit: Pattern Intro. (line 22)
* prerequisite pattern, static (not implicit): Static Usage. (line 30)
* prerequisite types: Prerequisite Types. (line 6)
-* prerequisite, expansion: Reading Makefiles. (line 77)
-* prerequisites: Rule Syntax. (line 48)
+* prerequisite, expansion: Reading Makefiles. (line 92)
+* prerequisites: Rule Syntax. (line 47)
* prerequisites, and automatic variables: Automatic Variables.
(line 17)
+* prerequisites, automatic generation: Include. (line 51)
* prerequisites, automatic generation <1>: Automatic Prerequisites.
(line 6)
-* prerequisites, automatic generation: Include. (line 51)
* prerequisites, introduction to: Rule Introduction. (line 8)
* prerequisites, list of all: Automatic Variables. (line 61)
* prerequisites, list of changed: Automatic Variables. (line 51)
@@ -4496,12 +5293,12 @@ Index of Concepts
* prerequisites, order-only: Prerequisite Types. (line 6)
* prerequisites, varying (static pattern): Static Pattern. (line 6)
* preserving intermediate files: Chained Rules. (line 46)
-* preserving with .PRECIOUS <1>: Chained Rules. (line 56)
-* preserving with .PRECIOUS: Special Targets. (line 29)
-* preserving with .SECONDARY: Special Targets. (line 49)
-* print (standard target): Goals. (line 97)
-* print target <1>: Empty Targets. (line 25)
-* print target: Wildcard Examples. (line 21)
+* preserving with '.PRECIOUS': Special Targets. (line 32)
+* preserving with '.PRECIOUS' <1>: Chained Rules. (line 56)
+* preserving with '.SECONDARY': Special Targets. (line 54)
+* 'print' (standard target): Goals. (line 98)
+* 'print' target: Wildcard Examples. (line 21)
+* 'print' target <1>: Empty Targets. (line 25)
* printing directories: -w Option. (line 6)
* printing messages: Make Control Functions.
(line 43)
@@ -4512,28 +5309,30 @@ Index of Concepts
* problems with wildcards: Wildcard Pitfall. (line 6)
* processing a makefile: How Make Works. (line 6)
* question mode: Instead of Execution.
- (line 27)
-* quoting %, in patsubst: Text Functions. (line 26)
-* quoting %, in static pattern: Static Usage. (line 37)
-* quoting %, in vpath: Selective Search. (line 38)
-* quoting newline, in makefile: Simple Makefile. (line 40)
-* quoting newline, in recipes: Splitting Lines. (line 6)
+ (line 32)
+* quoting '%', in 'patsubst': Text Functions. (line 26)
+* quoting '%', in static pattern: Static Usage. (line 37)
+* quoting '%', in 'vpath': Selective Search. (line 39)
+* quoting newline, in makefile: Simple Makefile. (line 41)
+* quoting newline, in recipes: Splitting Recipe Lines.
+ (line 6)
* Ratfor, rule to compile: Catalogue of Rules. (line 49)
-* RCS, rule to extract from: Catalogue of Rules. (line 164)
+* RCS, rule to extract from: Catalogue of Rules. (line 163)
* reading makefiles: Reading Makefiles. (line 6)
-* README: Makefile Names. (line 9)
-* realclean (standard target): Goals. (line 85)
-* realpath: File Name Functions. (line 114)
-* recipe: Simple Makefile. (line 73)
-* recipe execution, single invocation: Special Targets. (line 137)
+* 'README': Makefile Names. (line 9)
+* 'realclean' (standard target): Goals. (line 86)
+* realpath: File Name Functions. (line 113)
+* recipe: Simple Makefile. (line 74)
+* recipe execution, single invocation: Special Targets. (line 150)
* recipe lines, single shell: One Shell. (line 6)
* recipe syntax: Recipe Syntax. (line 6)
* recipe, execution: Execution. (line 6)
+* recipes: Rule Syntax. (line 25)
* recipes <1>: Recipes. (line 6)
-* recipes: Rule Syntax. (line 26)
* recipes setting shell variables: Execution. (line 12)
* recipes, and directory search: Recipes/Search. (line 6)
-* recipes, backslash (\) in: Splitting Lines. (line 6)
+* recipes, backslash ('\') in: Splitting Recipe Lines.
+ (line 6)
* recipes, canned: Canned Recipes. (line 6)
* recipes, comments in: Recipe Syntax. (line 29)
* recipes, echoing: Echoing. (line 6)
@@ -4544,8 +5343,10 @@ Index of Concepts
* recipes, instead of executing: Instead of Execution.
(line 6)
* recipes, introduction to: Rule Introduction. (line 8)
-* recipes, quoting newlines in: Splitting Lines. (line 6)
-* recipes, splitting: Splitting Lines. (line 6)
+* recipes, quoting newlines in: Splitting Recipe Lines.
+ (line 6)
+* recipes, splitting: Splitting Recipe Lines.
+ (line 6)
* recipes, using variables in: Variables in Recipes.
(line 6)
* recompilation: Introduction. (line 22)
@@ -4553,49 +5354,51 @@ Index of Concepts
(line 6)
* recording events with empty targets: Empty Targets. (line 6)
* recursion: Recursion. (line 6)
-* recursion, and -C: Options/Recursion. (line 22)
-* recursion, and -f: Options/Recursion. (line 22)
-* recursion, and -j: Options/Recursion. (line 25)
-* recursion, and -o: Options/Recursion. (line 22)
-* recursion, and -t: MAKE Variable. (line 34)
-* recursion, and -w: -w Option. (line 20)
-* recursion, and -W: Options/Recursion. (line 22)
+* recursion, and '-C': Options/Recursion. (line 22)
+* recursion, and '-f': Options/Recursion. (line 22)
+* recursion, and '-j': Options/Recursion. (line 25)
+* recursion, and '-o': Options/Recursion. (line 22)
+* recursion, and '-t': MAKE Variable. (line 35)
+* recursion, and '-W': Options/Recursion. (line 22)
+* recursion, and '-w': -w Option. (line 20)
* recursion, and command line variable definitions: Options/Recursion.
(line 17)
* recursion, and environment: Variables/Recursion. (line 6)
-* recursion, and MAKE variable: MAKE Variable. (line 6)
-* recursion, and MAKEFILES variable: MAKEFILES Variable. (line 15)
+* recursion, and 'MAKE' variable: MAKE Variable. (line 6)
+* recursion, and 'MAKEFILES' variable: MAKEFILES Variable. (line 15)
* recursion, and options: Options/Recursion. (line 6)
* recursion, and printing directories: -w Option. (line 6)
* recursion, and variables: Variables/Recursion. (line 6)
-* recursion, level of: Variables/Recursion. (line 115)
-* recursive variable expansion <1>: Flavors. (line 6)
+* recursion, level of: Variables/Recursion. (line 114)
* recursive variable expansion: Using Variables. (line 6)
+* recursive variable expansion <1>: Flavors. (line 6)
* recursively expanded variables: Flavors. (line 6)
-* reference to variables <1>: Advanced. (line 6)
* reference to variables: Reference. (line 6)
+* reference to variables <1>: Advanced. (line 6)
* relinking: How Make Works. (line 46)
+* remaking loaded objects: Remaking Loaded Objects.
+ (line 6)
* remaking makefiles: Remaking Makefiles. (line 6)
-* removal of target files <1>: Interrupts. (line 6)
* removal of target files: Errors. (line 64)
+* removal of target files <1>: Interrupts. (line 6)
* removing duplicate words: Text Functions. (line 155)
-* removing targets on failure: Special Targets. (line 64)
+* removing targets on failure: Special Targets. (line 71)
* removing, to clean up: Cleanup. (line 6)
* reporting bugs: Bugs. (line 6)
* rm: Implicit Variables. (line 106)
-* rm (shell command) <1>: Errors. (line 27)
-* rm (shell command) <2>: Phony Targets. (line 20)
-* rm (shell command) <3>: Wildcard Examples. (line 12)
-* rm (shell command): Simple Makefile. (line 84)
-* rule prerequisites: Rule Syntax. (line 48)
+* 'rm' (shell command): Simple Makefile. (line 85)
+* 'rm' (shell command) <1>: Wildcard Examples. (line 12)
+* 'rm' (shell command) <2>: Phony Targets. (line 20)
+* 'rm' (shell command) <3>: Errors. (line 27)
+* rule prerequisites: Rule Syntax. (line 47)
* rule syntax: Rule Syntax. (line 6)
* rule targets: Rule Syntax. (line 18)
-* rule, double-colon (::): Double-Colon. (line 6)
+* rule, double-colon ('::'): Double-Colon. (line 6)
* rule, explicit, definition of: Makefile Contents. (line 10)
* rule, how to write: Rules. (line 6)
* rule, implicit: Implicit Rules. (line 6)
* rule, implicit, and directory search: Implicit/Search. (line 6)
-* rule, implicit, and VPATH: Implicit/Search. (line 6)
+* rule, implicit, and 'VPATH': Implicit/Search. (line 6)
* rule, implicit, chains of: Chained Rules. (line 6)
* rule, implicit, definition of: Makefile Contents. (line 16)
* rule, implicit, how to use: Using Implicit. (line 6)
@@ -4609,28 +5412,28 @@ Index of Concepts
* rule, static pattern versus implicit: Static versus Implicit.
(line 6)
* rule, with multiple targets: Multiple Targets. (line 6)
-* rules, and $: Rule Syntax. (line 34)
-* s. (SCCS file prefix): Catalogue of Rules. (line 173)
-* SCCS, rule to extract from: Catalogue of Rules. (line 173)
+* rules, and '$': Rule Syntax. (line 33)
+* s. (SCCS file prefix): Catalogue of Rules. (line 172)
+* SCCS, rule to extract from: Catalogue of Rules. (line 172)
* search algorithm, implicit rule: Implicit Rule Search.
(line 6)
-* search path for prerequisites (VPATH): Directory Search. (line 6)
-* search path for prerequisites (VPATH), and implicit rules: Implicit/Search.
+* search path for prerequisites ('VPATH'): Directory Search. (line 6)
+* search path for prerequisites ('VPATH'), and implicit rules: Implicit/Search.
(line 6)
-* search path for prerequisites (VPATH), and link libraries: Libraries/Search.
+* search path for prerequisites ('VPATH'), and link libraries: Libraries/Search.
(line 6)
-* searching for strings: Text Functions. (line 103)
+* searching for strings: Text Functions. (line 104)
* secondary expansion: Secondary Expansion. (line 6)
* secondary expansion and explicit rules: Secondary Expansion.
- (line 106)
+ (line 104)
* secondary expansion and implicit rules: Secondary Expansion.
- (line 146)
+ (line 144)
* secondary expansion and static pattern rules: Secondary Expansion.
- (line 138)
+ (line 136)
* secondary files: Chained Rules. (line 46)
-* secondary targets: Special Targets. (line 49)
-* sed (shell command): Automatic Prerequisites.
- (line 73)
+* secondary targets: Special Targets. (line 54)
+* 'sed' (shell command): Automatic Prerequisites.
+ (line 72)
* selecting a word: Text Functions. (line 159)
* selecting word lists: Text Functions. (line 168)
* sequences of commands: Canned Recipes. (line 6)
@@ -4639,32 +5442,34 @@ Index of Concepts
* setting variables: Setting. (line 6)
* several rules for one target: Multiple Rules. (line 6)
* several targets in a rule: Multiple Targets. (line 6)
-* shar (standard target): Goals. (line 103)
+* 'shar' (standard target): Goals. (line 104)
* shell command, function for: Shell Function. (line 6)
-* shell file name pattern (in include): Include. (line 13)
+* shell file name pattern (in 'include'): Include. (line 13)
* shell variables, setting in recipes: Execution. (line 12)
-* shell wildcards (in include): Include. (line 13)
+* shell wildcards (in 'include'): Include. (line 13)
* shell, choosing the: Choosing the Shell. (line 6)
* SHELL, exported value: Variables/Recursion. (line 23)
* SHELL, import from environment: Environment. (line 37)
* shell, in DOS and Windows: Choosing the Shell. (line 38)
-* SHELL, MS-DOS specifics: Choosing the Shell. (line 44)
-* SHELL, value of: Choosing the Shell. (line 6)
+* 'SHELL', MS-DOS specifics: Choosing the Shell. (line 44)
+* 'SHELL', value of: Choosing the Shell. (line 6)
* signal: Interrupts. (line 6)
* silent operation: Echoing. (line 6)
* simple makefile: Simple Makefile. (line 6)
* simple variable expansion: Using Variables. (line 6)
* simplifying with variables: Variables Simplify. (line 6)
* simply expanded variables: Flavors. (line 56)
-* sorting words: Text Functions. (line 146)
-* spaces, in variable values: Flavors. (line 103)
+* sorting words: Text Functions. (line 147)
+* spaces, in variable values: Flavors. (line 107)
* spaces, stripping: Text Functions. (line 80)
* special targets: Special Targets. (line 6)
* special variables: Special Variables. (line 6)
-* specifying makefile name: Makefile Names. (line 30)
-* splitting recipes: Splitting Lines. (line 6)
+* specifying makefile name: Makefile Names. (line 31)
+* splitting long lines: Splitting Lines. (line 6)
+* splitting recipes: Splitting Recipe Lines.
+ (line 6)
* staged installs: DESTDIR. (line 6)
-* standard input: Parallel. (line 31)
+* standard input: Parallel Input. (line 6)
* standards conformance: Overview. (line 13)
* standards for makefiles: Makefile Conventions.
(line 6)
@@ -4673,23 +5478,23 @@ Index of Concepts
* static pattern rule, versus implicit: Static versus Implicit.
(line 6)
* static pattern rules, secondary expansion of: Secondary Expansion.
- (line 138)
-* stem <1>: Pattern Match. (line 6)
+ (line 136)
* stem: Static Usage. (line 17)
+* stem <1>: Pattern Match. (line 6)
* stem, shortest: Pattern Match. (line 38)
* stem, variable for: Automatic Variables. (line 77)
* stopping make: Make Control Functions.
(line 11)
-* strings, searching for: Text Functions. (line 103)
+* strings, searching for: Text Functions. (line 104)
* stripping whitespace: Text Functions. (line 80)
-* sub-make: Variables/Recursion. (line 6)
+* sub-'make': Variables/Recursion. (line 6)
* subdirectories, recursion for: Recursion. (line 6)
* substitution variable reference: Substitution Refs. (line 6)
* suffix rule: Suffix Rules. (line 6)
* suffix rule, for archive: Archive Suffix Rules.
(line 6)
-* suffix, adding: File Name Functions. (line 68)
-* suffix, function to find: File Name Functions. (line 43)
+* suffix, adding: File Name Functions. (line 67)
+* suffix, function to find: File Name Functions. (line 42)
* suffix, substituting in variables: Substitution Refs. (line 6)
* suppressing inheritance: Suppressing Inheritance.
(line 6)
@@ -4697,22 +5502,22 @@ Index of Concepts
* symbol directories, updating archive: Archive Symbols. (line 6)
* syntax of recipe: Recipe Syntax. (line 6)
* syntax of rules: Rule Syntax. (line 6)
-* tab character (in commands): Rule Syntax. (line 26)
+* tab character (in commands): Rule Syntax. (line 25)
* tabs in rules: Rule Introduction. (line 21)
-* TAGS (standard target): Goals. (line 111)
+* 'TAGS' (standard target): Goals. (line 112)
+* tangle: Catalogue of Rules. (line 149)
* tangle <1>: Implicit Variables. (line 100)
-* tangle: Catalogue of Rules. (line 151)
-* tar (standard target): Goals. (line 100)
+* 'tar' (standard target): Goals. (line 101)
* target: Rules. (line 6)
* target pattern, implicit: Pattern Intro. (line 9)
* target pattern, static (not implicit): Static Usage. (line 17)
* target, deleting on error: Errors. (line 64)
* target, deleting on interrupt: Interrupts. (line 6)
-* target, expansion: Reading Makefiles. (line 77)
+* target, expansion: Reading Makefiles. (line 92)
* target, multiple in pattern rule: Pattern Intro. (line 53)
* target, multiple rules for one: Multiple Rules. (line 6)
* target, touching: Instead of Execution.
- (line 21)
+ (line 24)
* target-specific variables: Target-specific. (line 6)
* targets: Rule Syntax. (line 18)
* targets without a file: Phony Targets. (line 6)
@@ -4724,24 +5529,27 @@ Index of Concepts
* targets, phony: Phony Targets. (line 6)
* terminal rule: Match-Anything Rules.
(line 6)
-* test (standard target): Goals. (line 115)
+* 'test' (standard target): Goals. (line 116)
* testing compilation: Testing. (line 6)
+* tex: Catalogue of Rules. (line 149)
* tex <1>: Implicit Variables. (line 87)
-* tex: Catalogue of Rules. (line 151)
-* TeX, rule to run: Catalogue of Rules. (line 151)
+* TeX, rule to run: Catalogue of Rules. (line 149)
+* texi2dvi: Catalogue of Rules. (line 156)
* texi2dvi <1>: Implicit Variables. (line 91)
-* texi2dvi: Catalogue of Rules. (line 158)
-* Texinfo, rule to format: Catalogue of Rules. (line 158)
-* tilde (~): Wildcards. (line 11)
-* touch (shell command) <1>: Empty Targets. (line 25)
-* touch (shell command): Wildcard Examples. (line 21)
+* Texinfo, rule to format: Catalogue of Rules. (line 156)
+* tilde ('~'): Wildcards. (line 11)
+* 'touch' (shell command): Wildcard Examples. (line 21)
+* 'touch' (shell command) <1>: Empty Targets. (line 25)
* touching files: Instead of Execution.
- (line 21)
+ (line 24)
* traditional directory search (GPATH): Search Algorithm. (line 42)
* types of prerequisites: Prerequisite Types. (line 6)
-* undefined variables, warning message: Options Summary. (line 257)
+* types, conversion of: Guile Types. (line 6)
+* undefined variables, warning message: Options Summary. (line 292)
* undefining variable: Undefine Directive. (line 6)
* updating archive symbol directories: Archive Symbols. (line 6)
+* updating loaded objects: Remaking Loaded Objects.
+ (line 6)
* updating makefiles: Remaking Makefiles. (line 6)
* user defined functions: Call Function. (line 6)
* value: Using Variables. (line 6)
@@ -4751,17 +5559,17 @@ Index of Concepts
* variable references in recipes: Variables in Recipes.
(line 6)
* variables: Variables Simplify. (line 6)
-* variables, $ in name: Computed Names. (line 6)
+* variables, '$' in name: Computed Names. (line 6)
* variables, and implicit rule: Automatic Variables. (line 6)
* variables, appending to: Appending. (line 6)
* variables, automatic: Automatic Variables. (line 6)
* variables, command line: Overriding. (line 6)
* variables, command line, and recursion: Options/Recursion. (line 17)
* variables, computed names: Computed Names. (line 6)
-* variables, conditional assignment: Flavors. (line 129)
+* variables, conditional assignment: Flavors. (line 135)
* variables, defining verbatim: Multi-Line. (line 6)
-* variables, environment <1>: Environment. (line 6)
* variables, environment: Variables/Recursion. (line 6)
+* variables, environment <1>: Environment. (line 6)
* variables, exporting: Variables/Recursion. (line 6)
* variables, flavor of: Flavor Function. (line 6)
* variables, flavors: Flavors. (line 6)
@@ -4778,51 +5586,51 @@ Index of Concepts
* variables, recursively expanded: Flavors. (line 6)
* variables, setting: Setting. (line 6)
* variables, simply expanded: Flavors. (line 56)
-* variables, spaces in values: Flavors. (line 103)
+* variables, spaces in values: Flavors. (line 107)
* variables, substituting suffix in: Substitution Refs. (line 6)
* variables, substitution reference: Substitution Refs. (line 6)
* variables, target-specific: Target-specific. (line 6)
* variables, unexpanded value: Value Function. (line 6)
-* variables, warning for undefined: Options Summary. (line 257)
+* variables, warning for undefined: Options Summary. (line 292)
* varying prerequisites: Static Pattern. (line 6)
* verbatim variable definition: Multi-Line. (line 6)
* vpath: Directory Search. (line 6)
-* VPATH, and implicit rules: Implicit/Search. (line 6)
-* VPATH, and link libraries: Libraries/Search. (line 6)
+* 'VPATH', and implicit rules: Implicit/Search. (line 6)
+* 'VPATH', and link libraries: Libraries/Search. (line 6)
* warnings, printing: Make Control Functions.
(line 35)
+* weave: Catalogue of Rules. (line 149)
* weave <1>: Implicit Variables. (line 94)
-* weave: Catalogue of Rules. (line 151)
-* Web, rule to run: Catalogue of Rules. (line 151)
+* Web, rule to run: Catalogue of Rules. (line 149)
* what if: Instead of Execution.
- (line 35)
-* whitespace, in variable values: Flavors. (line 103)
+ (line 41)
+* whitespace, in variable values: Flavors. (line 107)
* whitespace, stripping: Text Functions. (line 80)
* wildcard: Wildcards. (line 6)
* wildcard pitfalls: Wildcard Pitfall. (line 6)
-* wildcard, function: File Name Functions. (line 107)
+* wildcard, function: File Name Functions. (line 106)
* wildcard, in archive member: Archive Members. (line 36)
-* wildcard, in include: Include. (line 13)
+* wildcard, in 'include': Include. (line 13)
* wildcards and MS-DOS/MS-Windows backslashes: Wildcard Pitfall.
(line 31)
* Windows, choosing a shell in: Choosing the Shell. (line 38)
* word, selecting a: Text Functions. (line 159)
-* words, extracting first: Text Functions. (line 184)
-* words, extracting last: Text Functions. (line 197)
-* words, filtering: Text Functions. (line 114)
-* words, filtering out: Text Functions. (line 132)
+* words, extracting first: Text Functions. (line 185)
+* words, extracting last: Text Functions. (line 198)
+* words, filtering: Text Functions. (line 115)
+* words, filtering out: Text Functions. (line 133)
* words, finding number: Text Functions. (line 180)
* words, iterating over: Foreach Function. (line 6)
-* words, joining lists: File Name Functions. (line 90)
+* words, joining lists: File Name Functions. (line 89)
* words, removing duplicates: Text Functions. (line 155)
* words, selecting lists of: Text Functions. (line 168)
* writing recipes: Recipes. (line 6)
* writing rules: Rules. (line 6)
+* writing to a file: File Function. (line 6)
+* yacc: Catalogue of Rules. (line 117)
* yacc <1>: Implicit Variables. (line 77)
-* yacc <2>: Catalogue of Rules. (line 120)
-* yacc: Canned Recipes. (line 18)
-* Yacc, rule to run: Catalogue of Rules. (line 120)
-* ~ (tilde): Wildcards. (line 11)
+* 'yacc': Canned Recipes. (line 18)
+* Yacc, rule to run: Catalogue of Rules. (line 117)

File: make.info, Node: Name Index, Prev: Concept Index, Up: Top
@@ -4849,7 +5657,7 @@ Index of Functions, Variables, & Directives
* $(^D): Automatic Variables. (line 142)
* $(^F): Automatic Variables. (line 143)
* $*: Automatic Variables. (line 73)
-* $*, and static pattern: Static Usage. (line 81)
+* $*, and static pattern: Static Usage. (line 82)
* $+: Automatic Variables. (line 63)
* $<: Automatic Variables. (line 43)
* $?: Automatic Variables. (line 48)
@@ -4866,42 +5674,45 @@ Index of Functions, Variables, & Directives
* + (automatic variable): Automatic Variables. (line 63)
* +D (automatic variable): Automatic Variables. (line 147)
* +F (automatic variable): Automatic Variables. (line 148)
+* -load: load Directive. (line 65)
+* .DEFAULT: Special Targets. (line 22)
* .DEFAULT <1>: Last Resort. (line 23)
-* .DEFAULT: Special Targets. (line 20)
* .DEFAULT, and empty recipes: Empty Recipes. (line 16)
* .DEFAULT_GOAL (define default goal): Special Variables. (line 34)
+* .DELETE_ON_ERROR: Special Targets. (line 70)
* .DELETE_ON_ERROR <1>: Errors. (line 64)
-* .DELETE_ON_ERROR: Special Targets. (line 63)
+* .EXPORT_ALL_VARIABLES: Special Targets. (line 135)
* .EXPORT_ALL_VARIABLES <1>: Variables/Recursion. (line 99)
-* .EXPORT_ALL_VARIABLES: Special Targets. (line 124)
-* .FEATURES (list of supported features): Special Variables. (line 102)
+* .FEATURES (list of supported features): Special Variables. (line 121)
+* .IGNORE: Special Targets. (line 77)
* .IGNORE <1>: Errors. (line 30)
-* .IGNORE: Special Targets. (line 69)
* .INCLUDE_DIRS (list of include directories): Special Variables.
- (line 135)
-* .INTERMEDIATE: Special Targets. (line 43)
+ (line 174)
+* .INTERMEDIATE: Special Targets. (line 47)
* .LIBPATTERNS: Libraries/Search. (line 6)
-* .LOW_RESOLUTION_TIME: Special Targets. (line 81)
-* .NOTPARALLEL: Special Targets. (line 129)
+* .LOADED: load Directive. (line 62)
+* .LOW_RESOLUTION_TIME: Special Targets. (line 90)
+* .NOTPARALLEL: Special Targets. (line 141)
+* .ONESHELL: Special Targets. (line 149)
* .ONESHELL <1>: One Shell. (line 6)
-* .ONESHELL: Special Targets. (line 136)
-* .PHONY <1>: Special Targets. (line 8)
* .PHONY: Phony Targets. (line 22)
-* .POSIX <1>: Options/Recursion. (line 60)
-* .POSIX: Special Targets. (line 142)
+* .PHONY <1>: Special Targets. (line 8)
+* .POSIX: Special Targets. (line 156)
+* .POSIX <1>: Options/Recursion. (line 61)
+* .PRECIOUS: Special Targets. (line 31)
* .PRECIOUS <1>: Interrupts. (line 22)
-* .PRECIOUS: Special Targets. (line 28)
* .RECIPEPREFIX (change the recipe prefix character): Special Variables.
- (line 80)
-* .SECONDARY: Special Targets. (line 48)
-* .SECONDEXPANSION <1>: Special Targets. (line 57)
+ (line 99)
+* .SECONDARY: Special Targets. (line 53)
* .SECONDEXPANSION: Secondary Expansion. (line 6)
+* .SECONDEXPANSION <1>: Special Targets. (line 63)
* .SHELLFLAGS: Choosing the Shell. (line 6)
+* .SHELLFLAGS <1>: Choosing the Shell. (line 87)
+* .SILENT: Special Targets. (line 121)
* .SILENT <1>: Echoing. (line 24)
-* .SILENT: Special Targets. (line 111)
+* .SUFFIXES: Special Targets. (line 16)
* .SUFFIXES <1>: Suffix Rules. (line 61)
-* .SUFFIXES: Special Targets. (line 15)
-* .VARIABLES (list of variables): Special Variables. (line 93)
+* .VARIABLES (list of variables): Special Variables. (line 112)
* /usr/gnu/include: Include. (line 53)
* /usr/include: Include. (line 53)
* /usr/local/include: Include. (line 53)
@@ -4917,16 +5728,17 @@ Index of Functions, Variables, & Directives
* ^ (automatic variable): Automatic Variables. (line 53)
* ^D (automatic variable): Automatic Variables. (line 142)
* ^F (automatic variable): Automatic Variables. (line 143)
-* abspath: File Name Functions. (line 121)
-* addprefix: File Name Functions. (line 79)
-* addsuffix: File Name Functions. (line 68)
+* | (automatic variable): Automatic Variables. (line 69)
+* abspath: File Name Functions. (line 120)
+* addprefix: File Name Functions. (line 78)
+* addsuffix: File Name Functions. (line 67)
* and: Conditional Functions.
(line 45)
* AR: Implicit Variables. (line 40)
* ARFLAGS: Implicit Variables. (line 113)
* AS: Implicit Variables. (line 43)
* ASFLAGS: Implicit Variables. (line 116)
-* basename: File Name Functions. (line 57)
+* basename: File Name Functions. (line 56)
* bindir: Directory Variables. (line 57)
* call: Call Function. (line 6)
* CC: Implicit Variables. (line 46)
@@ -4937,13 +5749,13 @@ Index of Functions, Variables, & Directives
* CPP: Implicit Variables. (line 52)
* CPPFLAGS: Implicit Variables. (line 129)
* CTANGLE: Implicit Variables. (line 103)
-* CURDIR: Recursion. (line 28)
+* 'CURDIR': Recursion. (line 28)
* CWEAVE: Implicit Variables. (line 97)
* CXX: Implicit Variables. (line 49)
* CXXFLAGS: Implicit Variables. (line 123)
* define: Multi-Line. (line 6)
* DESTDIR: DESTDIR. (line 6)
-* dir: File Name Functions. (line 17)
+* dir: File Name Functions. (line 16)
* else: Conditional Syntax. (line 6)
* endef: Multi-Line. (line 6)
* endif: Conditional Syntax. (line 6)
@@ -4954,18 +5766,30 @@ Index of Functions, Variables, & Directives
* export: Variables/Recursion. (line 40)
* FC: Implicit Variables. (line 56)
* FFLAGS: Implicit Variables. (line 133)
-* filter: Text Functions. (line 114)
-* filter-out: Text Functions. (line 132)
-* findstring: Text Functions. (line 103)
-* firstword: Text Functions. (line 184)
+* file: File Function. (line 6)
+* filter: Text Functions. (line 115)
+* filter-out: Text Functions. (line 133)
+* findstring: Text Functions. (line 104)
+* firstword: Text Functions. (line 185)
* flavor: Flavor Function. (line 6)
* foreach: Foreach Function. (line 6)
* GET: Implicit Variables. (line 69)
* GFLAGS: Implicit Variables. (line 136)
+* gmk-eval: Guile Interface. (line 18)
+* gmk-expand: Guile Interface. (line 12)
+* gmk_add_function: Loaded Object API. (line 53)
+* gmk_alloc: Loaded Object API. (line 149)
+* gmk_eval: Loaded Object API. (line 123)
+* gmk_expand: Loaded Object API. (line 117)
+* gmk_free: Loaded Object API. (line 154)
+* gmk_func_ptr: Loaded Object API. (line 95)
* GNUmakefile: Makefile Names. (line 7)
* GPATH: Search Algorithm. (line 48)
+* guile: Guile Function. (line 6)
* if: Conditional Functions.
(line 6)
+* if <1>: Conditional Functions.
+ (line 12)
* ifdef: Conditional Syntax. (line 6)
* ifeq: Conditional Syntax. (line 6)
* ifndef: Conditional Syntax. (line 6)
@@ -4973,60 +5797,69 @@ Index of Functions, Variables, & Directives
* include: Include. (line 6)
* info: Make Control Functions.
(line 43)
-* join: File Name Functions. (line 90)
-* lastword: Text Functions. (line 197)
+* join: File Name Functions. (line 89)
+* lastword: Text Functions. (line 198)
* LDFLAGS: Implicit Variables. (line 139)
+* LDLIBS: Implicit Variables. (line 144)
* LEX: Implicit Variables. (line 72)
-* LFLAGS: Implicit Variables. (line 143)
+* LFLAGS: Implicit Variables. (line 150)
* libexecdir: Directory Variables. (line 70)
* LINT: Implicit Variables. (line 80)
-* LINTFLAGS: Implicit Variables. (line 155)
+* LINTFLAGS: Implicit Variables. (line 162)
+* load: load Directive. (line 9)
+* LOADLIBES: Implicit Variables. (line 144)
* M2C: Implicit Variables. (line 60)
-* MAKE <1>: Flavors. (line 84)
* MAKE: MAKE Variable. (line 6)
-* MAKE_RESTARTS (number of times make has restarted): Special Variables.
- (line 73)
-* MAKE_VERSION: Features. (line 197)
+* MAKE <1>: Flavors. (line 88)
* MAKECMDGOALS: Goals. (line 30)
-* makefile: Makefile Names. (line 7)
* Makefile: Makefile Names. (line 7)
+* makefile: Makefile Names. (line 7)
+* MAKEFILES: MAKEFILES Variable. (line 6)
+* MAKEFILES <1>: Variables/Recursion. (line 126)
* MAKEFILE_LIST (list of parsed makefiles): Special Variables.
(line 8)
-* MAKEFILES <1>: Variables/Recursion. (line 127)
-* MAKEFILES: MAKEFILES Variable. (line 6)
* MAKEFLAGS: Options/Recursion. (line 6)
* MAKEINFO: Implicit Variables. (line 83)
-* MAKELEVEL <1>: Flavors. (line 84)
-* MAKELEVEL: Variables/Recursion. (line 115)
-* MAKEOVERRIDES: Options/Recursion. (line 49)
-* MAKESHELL (MS-DOS alternative to SHELL): Choosing the Shell.
+* MAKELEVEL: Variables/Recursion. (line 114)
+* MAKELEVEL <1>: Flavors. (line 88)
+* MAKEOVERRIDES: Options/Recursion. (line 50)
+* 'MAKESHELL' (MS-DOS alternative to 'SHELL'): Choosing the Shell.
(line 27)
-* MFLAGS: Options/Recursion. (line 65)
-* notdir: File Name Functions. (line 27)
+* MAKE_HOST: Quick Reference. (line 348)
+* MAKE_RESTARTS (number of times 'make' has restarted): Special Variables.
+ (line 73)
+* MAKE_TERMERR (whether stderr is a terminal): Special Variables.
+ (line 80)
+* MAKE_TERMOUT (whether stdout is a terminal): Special Variables.
+ (line 80)
+* MAKE_VERSION: Quick Reference. (line 343)
+* MFLAGS: Options/Recursion. (line 66)
+* notdir: File Name Functions. (line 26)
* or: Conditional Functions.
(line 37)
* origin: Origin Function. (line 6)
-* OUTPUT_OPTION: Catalogue of Rules. (line 202)
+* OUTPUT_OPTION: Catalogue of Rules. (line 200)
* override: Override Directive. (line 6)
-* patsubst <1>: Text Functions. (line 18)
* patsubst: Substitution Refs. (line 28)
+* patsubst <1>: Text Functions. (line 18)
* PC: Implicit Variables. (line 63)
-* PFLAGS: Implicit Variables. (line 149)
+* PFLAGS: Implicit Variables. (line 156)
* prefix: Directory Variables. (line 29)
* private: Suppressing Inheritance.
(line 6)
-* realpath: File Name Functions. (line 114)
-* RFLAGS: Implicit Variables. (line 152)
+* realpath: File Name Functions. (line 113)
+* RFLAGS: Implicit Variables. (line 159)
* RM: Implicit Variables. (line 106)
* sbindir: Directory Variables. (line 63)
-* shell: Shell Function. (line 6)
* SHELL: Choosing the Shell. (line 6)
-* SHELL (recipe execution): Execution. (line 6)
-* sort: Text Functions. (line 146)
+* SHELL <1>: Choosing the Shell. (line 88)
+* shell: Shell Function. (line 6)
+* 'SHELL' (recipe execution): Execution. (line 6)
+* sort: Text Functions. (line 147)
* strip: Text Functions. (line 80)
-* subst <1>: Text Functions. (line 9)
* subst: Multiple Targets. (line 28)
-* suffix: File Name Functions. (line 43)
+* subst <1>: Text Functions. (line 9)
+* suffix: File Name Functions. (line 42)
* SUFFIXES: Suffix Rules. (line 81)
* TANGLE: Implicit Variables. (line 100)
* TEX: Implicit Variables. (line 87)
@@ -5034,20 +5867,18 @@ Index of Functions, Variables, & Directives
* undefine: Undefine Directive. (line 6)
* unexport: Variables/Recursion. (line 45)
* value: Value Function. (line 6)
-* vpath: Selective Search. (line 6)
-* VPATH: General Search. (line 6)
-* vpath: Directory Search. (line 6)
* VPATH: Directory Search. (line 6)
+* VPATH <1>: General Search. (line 6)
+* vpath: Directory Search. (line 6)
+* vpath <1>: Selective Search. (line 6)
* warning: Make Control Functions.
(line 35)
* WEAVE: Implicit Variables. (line 94)
-* wildcard <1>: File Name Functions. (line 107)
* wildcard: Wildcard Function. (line 6)
+* wildcard <1>: File Name Functions. (line 106)
* word: Text Functions. (line 159)
* wordlist: Text Functions. (line 168)
* words: Text Functions. (line 180)
* YACC: Implicit Variables. (line 76)
-* YFLAGS: Implicit Variables. (line 146)
-* | (automatic variable): Automatic Variables. (line 69)
-
+* YFLAGS: Implicit Variables. (line 153)
diff --git a/doc/make.texi b/doc/make.texi
index fc7e8a30..b0f5af73 100644
--- a/doc/make.texi
+++ b/doc/make.texi
@@ -3,8 +3,7 @@
@setfilename make.info
@include version.texi
-@set EDITION 0.71
-@set RCSID $Id: make.texi,v 1.66 2010/07/19 07:10:54 psmith Exp $
+@set EDITION 0.73
@settitle GNU @code{make}
@setchapternewpage odd
@@ -27,11 +26,11 @@ of @cite{The GNU Make Manual}, for GNU @code{make} version @value{VERSION}.
Copyright @copyright{} 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007,
-2008, 2009, 2010 Free Software Foundation, Inc.
+2008, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below. A copy of the
@@ -100,6 +99,7 @@ Cover art by Etienne Suvasa.
* Implicit Rules:: Use implicit rules to treat many files alike,
based on their file names.
* Archives:: How @code{make} can update library archives.
+* Extending make:: Using extensions to @code{make}.
* Features:: Features GNU @code{make} has over other @code{make}s.
* Missing:: What GNU @code{make} lacks from other @code{make}s.
* Makefile Conventions:: Conventions for writing makefiles for
@@ -109,28 +109,28 @@ Cover art by Etienne Suvasa.
* Complex Makefile:: A real example of a straightforward,
but nontrivial, makefile.
-* GNU Free Documentation License:: License for copying this manual
-* Concept Index:: Index of Concepts
-* Name Index:: Index of Functions, Variables, & Directives
+* GNU Free Documentation License:: License for copying this manual.
+* Concept Index:: Index of Concepts.
+* Name Index:: Index of Functions, Variables, & Directives.
@detailmenu
--- The Detailed Node Listing ---
Overview of @code{make}
-* Preparing:: Preparing and running make
-* Reading:: On reading this text
-* Bugs:: Problems and bugs
+* Preparing:: Preparing and running @code{make}.
+* Reading:: On reading this text.
+* Bugs:: Problems and bugs.
An Introduction to Makefiles
* Rule Introduction:: What a rule looks like.
-* Simple Makefile:: A simple makefile
-* How Make Works:: How @code{make} processes this makefile
-* Variables Simplify:: Variables make makefiles simpler
-* make Deduces:: Letting @code{make} deduce the recipe
-* Combine By Prerequisite:: Another style of makefile
-* Cleanup:: Rules for cleaning the directory
+* Simple Makefile:: A simple makefile.
+* How Make Works:: How @code{make} processes this makefile.
+* Variables Simplify:: Variables make makefiles simpler.
+* make Deduces:: Letting @code{make} deduce the recipes.
+* Combine By Prerequisite:: Another style of makefile.
+* Cleanup:: Rules for cleaning the directory.
Writing Makefiles
@@ -144,6 +144,10 @@ Writing Makefiles
* Reading Makefiles:: How makefiles are parsed.
* Secondary Expansion:: How and when secondary expansion is performed.
+What Makefiles Contain
+
+* Splitting Lines:: Splitting long lines in makefiles
+
Writing Rules
* Rule Example:: An example explained.
@@ -170,7 +174,7 @@ Writing Rules
Using Wildcard Characters in File Names
-* Wildcard Examples:: Several examples
+* Wildcard Examples:: Several examples.
* Wildcard Pitfall:: Problems to avoid.
* Wildcard Function:: How to cause wildcard expansion where
it does not normally take place.
@@ -206,14 +210,20 @@ Writing Recipes in Rules
Recipe Syntax
-* Splitting Lines:: Breaking long recipe lines for readability.
+* Splitting Recipe Lines:: Breaking long recipe lines for readability.
* Variables in Recipes:: Using @code{make} variables in recipes.
Recipe Execution
+* One Shell:: One shell for all lines in a recipe.
* Choosing the Shell:: How @code{make} chooses the shell used
to run recipes.
+Parallel Execution
+
+* Parallel Output:: Handling output during parallel execution
+* Parallel Input:: Handling input during parallel execution
+
Recursive Use of @code{make}
* MAKE Variable:: The special effects of using @samp{$(MAKE)}.
@@ -235,6 +245,8 @@ How to Use Variables
the user has set it with a command argument.
* Multi-Line:: An alternate way to set a variable
to a multi-line string.
+* Undefine Directive:: How to undefine a variable so that it appears
+ as if it was never set.
* Environment:: Variable values can come from the environment.
* Target-specific:: Variable values can be defined on a per-target
basis.
@@ -262,13 +274,15 @@ Functions for Transforming Text
* File Name Functions:: Functions for manipulating file names.
* Conditional Functions:: Functions that implement conditions.
* Foreach Function:: Repeat some text with controlled variation.
+* File Function:: Write text to a file.
* Call Function:: Expand a user-defined function.
* Value Function:: Return the un-expanded value of a variable.
* Eval Function:: Evaluate the arguments as makefile syntax.
* Origin Function:: Find where a variable got its value.
* Flavor Function:: Find out the flavor of a variable.
-* Shell Function:: Substitute the output of a shell command.
* Make Control Functions:: Functions that control how make runs.
+* Shell Function:: Substitute the output of a shell command.
+* Guile Function:: Use GNU Guile embedded scripting language.
How to Run @code{make}
@@ -289,8 +303,8 @@ How to Run @code{make}
Using Implicit Rules
* Using Implicit:: How to use an existing implicit rule
- to get the recipe for updating a file.
-* Catalogue of Rules:: A list of built-in implicit rules.
+ to get the recipes for updating a file.
+* Catalogue of Rules:: A list of built-in rules.
* Implicit Variables:: How to change what predefined rules do.
* Chained Rules:: How to use a chain of implicit rules.
* Pattern Rules:: How to define new implicit rules.
@@ -324,6 +338,24 @@ Implicit Rule for Archive Member Targets
* Archive Symbols:: How to update archive symbol directories.
+Extending GNU @code{make}
+
+* Guile Integration:: Using Guile as an embedded scripting language.
+* Loading Objects:: Loading dynamic objects as extensions.
+
+GNU Guile Integration
+
+* Guile Types:: Converting Guile types to @code{make} strings.
+* Guile Interface:: Invoking @code{make} functions from Guile.
+* Guile Example:: Example using Guile in @code{make}.
+
+Loading Dynamic Objects
+
+* load Directive:: Loading dynamic objects as extensions.
+* Remaking Loaded Objects:: How loaded objects get remade.
+* Loaded Object API:: Programmatic interface for loaded objects.
+* Loaded Object Example:: Example of a loaded object
+
@end detailmenu
@end menu
@@ -350,9 +382,9 @@ use it to describe any task where some files must be updated automatically
from others whenever the others change.
@menu
-* Preparing:: Preparing and Running Make
-* Reading:: On Reading this Text
-* Bugs:: Problems and Bugs
+* Preparing:: Preparing and running @code{make}.
+* Reading:: On reading this text.
+* Bugs:: Problems and bugs.
@end menu
@node Preparing, Reading, Overview, Overview
@@ -486,12 +518,12 @@ together to produce the new executable editor.
@menu
* Rule Introduction:: What a rule looks like.
-* Simple Makefile:: A Simple Makefile
-* How Make Works:: How @code{make} Processes This Makefile
-* Variables Simplify:: Variables Make Makefiles Simpler
-* make Deduces:: Letting @code{make} Deduce the Recipes
-* Combine By Prerequisite:: Another Style of Makefile
-* Cleanup:: Rules for Cleaning the Directory
+* Simple Makefile:: A simple makefile.
+* How Make Works:: How @code{make} processes this makefile.
+* Variables Simplify:: Variables make makefiles simpler.
+* make Deduces:: Letting @code{make} deduce the recipes.
+* Combine By Prerequisite:: Another style of makefile.
+* Cleanup:: Rules for cleaning the directory.
@end menu
@node Rule Introduction, Simple Makefile, Introduction, Introduction
@@ -591,8 +623,9 @@ clean :
@end example
@noindent
-We split each long line into two lines using backslash-newline; this is
-like using one long line, but is easier to read.
+We split each long line into two lines using backslash/newline; this is
+like using one long line, but is easier to read. @xref{Splitting Lines,
+, Splitting Long Lines}.
@cindex continuation lines
@cindex @code{\} (backslash), for continuation lines
@cindex backslash (@code{\}), for continuation lines
@@ -1026,6 +1059,48 @@ as @code{make} comments or as recipe text, depending on the context in
which the variable is evaluated.
@end itemize
+@menu
+* Splitting Lines:: Splitting long lines in makefiles
+@end menu
+
+@node Splitting Lines, , Makefile Contents, Makefile Contents
+@subsection Splitting Long Lines
+@cindex splitting long lines
+@cindex long lines, splitting
+@cindex backslash (@code{\}), to quote newlines
+
+Makefiles use a ``line-based'' syntax in which the newline character
+is special and marks the end of a statement. GNU @code{make} has no
+limit on the length of a statement line, up to the amount of memory in
+your computer.
+
+However, it is difficult to read lines which are too long to display
+without wrapping or scrolling. So, you can format your makefiles for
+readability by adding newlines into the middle of a statement: you do
+this by escaping the internal newlines with a backslash (@code{\})
+character. Where we need to make a distinction we will refer to
+``physical lines'' as a single line ending with a newline (regardless
+of whether it is escaped) and a ``logical line'' being a complete
+statement including all escaped newlines up to the first non-escaped
+newline.
+
+The way in which backslash/newline combinations are handled depends on
+whether the statement is a recipe line or a non-recipe line. Handling
+of backslash/newline in a recipe line is discussed later
+(@pxref{Splitting Recipe Lines}).
+
+Outside of recipe lines, backslash/newlines are converted into a
+single space character. Once that is done, all whitespace around the
+backslash/newline is condensed into a single space: this includes all
+whitespace preceding the backslash, all whitespace at the beginning of
+the line after the backslash/newline, and any consecutive
+backslash/newline combinations.
+
+If the @code{.POSIX} special target is defined then backslash/newline
+handling is modified slightly to conform to POSIX.2: first, whitespace
+preceding a backslash is not removed and second, consecutive
+backslash/newlines are not condensed.
+
@node Makefile Names, Include, Makefile Contents, Makefiles
@section What Name to Give Your Makefile
@cindex makefile name
@@ -1219,7 +1294,6 @@ in the makefiles. @xref{Include, , Including Other Makefiles}.
@node Remaking Makefiles, Overriding Makefiles, MAKEFILES Variable, Makefiles
@section How Makefiles Are Remade
-
@cindex updating makefiles
@cindex remaking makefiles
@cindex makefile, remaking of
@@ -1241,7 +1315,7 @@ date.)@refill
If you know that one or more of your makefiles cannot be remade and
you want to keep @code{make} from performing an implicit rule search
on them, perhaps for efficiency reasons, you can use any normal method
-of preventing implicit rule lookup to do so. For example, you can
+of preventing implicit rule look-up to do so. For example, you can
write an explicit rule with the makefile as the target, and an empty
recipe (@pxref{Empty Recipes, ,Using Empty Recipes}).
@@ -1305,7 +1379,7 @@ specified by the existing contents of @file{mfile}.
Sometimes it is useful to have a makefile that is mostly just like
another makefile. You can often use the @samp{include} directive to
include one in the other, and add more targets or variable definitions.
-However, it is illegal for two makefiles to give different recipes for
+However, it is invalid for two makefiles to give different recipes for
the same target. But there is another way.
@cindex match-anything rule, used to override
@@ -1379,6 +1453,7 @@ chapters.
@cindex =, expansion
@cindex ?=, expansion
@cindex +=, expansion
+@cindex !=, expansion
@cindex define, expansion
Variable definitions are parsed as follows:
@@ -1387,7 +1462,9 @@ Variable definitions are parsed as follows:
@var{immediate} = @var{deferred}
@var{immediate} ?= @var{deferred}
@var{immediate} := @var{immediate}
+@var{immediate} ::= @var{immediate}
@var{immediate} += @var{deferred} or @var{immediate}
+@var{immediate} != @var{immediate}
define @var{immediate}
@var{deferred}
@@ -1405,14 +1482,27 @@ define @var{immediate} :=
@var{immediate}
endef
+define @var{immediate} ::=
+ @var{immediate}
+endef
+
define @var{immediate} +=
@var{deferred} or @var{immediate}
endef
+
+define @var{immediate} !=
+ @var{immediate}
+endef
@end example
For the append operator, @samp{+=}, the right-hand side is considered
immediate if the variable was previously set as a simple variable
-(@samp{:=}), and deferred otherwise.
+(@samp{:=} or @samp{::=}), and deferred otherwise.
+
+For the shell assignment operator, @samp{!=}, the right-hand side is
+evaluated immediately and handed to the shell. The result is stored in the
+variable named on the left, and that variable becomes a simple variable
+(and will thus be re-evaluated on each reference).
@subheading Conditional Directives
@cindex ifdef, expansion
@@ -1438,7 +1528,7 @@ A rule is always expanded the same way, regardless of the form:
@example
@var{immediate} : @var{immediate} ; @var{deferred}
- @var{deferred}
+ @var{deferred}
@end example
That is, the target and prerequisite sections are expanded immediately,
@@ -1487,11 +1577,11 @@ first (unescaped) variable reference to @var{ONEVAR} is expanded,
while the second (escaped) variable reference is simply unescaped,
without being recognized as a variable reference. Now during the
secondary expansion the first word is expanded again but since it
-contains no variable or function references it remains the static
-value @file{onefile}, while the second word is now a normal reference
-to the variable @var{TWOVAR}, which is expanded to the value
-@file{twofile}. The final result is that there are two prerequisites,
-@file{onefile} and @file{twofile}.
+contains no variable or function references it remains the value
+@file{onefile}, while the second word is now a normal reference to the
+variable @var{TWOVAR}, which is expanded to the value @file{twofile}.
+The final result is that there are two prerequisites, @file{onefile}
+and @file{twofile}.
Obviously, this is not a very interesting case since the same result
could more easily have been achieved simply by having both variables
@@ -1633,7 +1723,7 @@ expands to @file{bar}, @code{$$^} expands to @file{bar boo},
Note that the directory prefix (D), as described in @ref{Implicit Rule
Search, ,Implicit Rule Search Algorithm}, is appended (after
expansion) to all the patterns in the prerequisites list. As an
-example:
+example:@refill
@example
.SECONDEXPANSION:
@@ -1641,12 +1731,14 @@ example:
/tmp/foo.o:
%.o: $$(addsuffix /%.c,foo bar) foo.h
+ @@echo $^
@end example
-The prerequisite list after the secondary expansion and directory
-prefix reconstruction will be @file{/tmp/foo/foo.c /tmp/var/bar/foo.c
-foo.h}. If you are not interested in this reconstruction, you can use
-@code{$$*} instead of @code{%} in the prerequisites list.
+The prerequisite list printed, after the secondary expansion and
+directory prefix reconstruction, will be @file{/tmp/foo/foo.c
+/tmp/bar/foo.c foo.h}. If you are not interested in this
+reconstruction, you can use @code{$$*} instead of @code{%} in the
+prerequisites list.
@node Rules, Recipes, Makefiles, Top
@chapter Writing Rules
@@ -1684,7 +1776,7 @@ the makefile (often with a target called @samp{all}).
* Wildcards:: Using wildcard characters such as `*'.
* Directory Search:: Searching other directories for source files.
* Phony Targets:: Using a target that is not a real file's name.
-* Force Targets:: You can use a target without recipes
+* Force Targets:: You can use a target without a recipe
or prerequisites to mark other targets
as phony.
* Empty Targets:: When only the date matters and the
@@ -1921,7 +2013,7 @@ specific file whose name consists of @samp{foo}, an asterisk, and
@samp{bar}.@refill
@menu
-* Wildcard Examples:: Several examples
+* Wildcard Examples:: Several examples.
* Wildcard Pitfall:: Problems to avoid.
* Wildcard Function:: How to cause wildcard expansion where
it does not normally take place.
@@ -2119,7 +2211,7 @@ just the search paths.
* Selective Search:: Specifying a search path
for a specified class of names.
* Search Algorithm:: When and how search paths are applied.
-* Recipes/Search:: How to write recipes that work together
+* Recipes/Search:: How to write recipes that work together
with search paths.
* Implicit/Search:: How search paths affect implicit rules.
* Libraries/Search:: Directory search for link libraries.
@@ -2455,7 +2547,7 @@ via the @code{.LIBPATTERNS} variable. Each word in the value of this
variable is a pattern string. When a prerequisite like
@samp{-l@var{name}} is seen, @code{make} will replace the percent in
each pattern in the list with @var{name} and perform the above directory
-searches using each library filename.
+searches using each library file name.
The default value for @code{.LIBPATTERNS} is @samp{lib%.so lib%.a},
which provides the default behavior described above.
@@ -2492,31 +2584,15 @@ will be executed every time you say @samp{make clean}.
@cindex @code{rm} (shell command)
@findex .PHONY
-The phony target will cease to work if anything ever does create a file
-named @file{clean} in this directory. Since it has no prerequisites, the
-file @file{clean} would inevitably be considered up to date, and its
-recipe would not be executed. To avoid this problem, you can explicitly
-declare the target to be phony, using the special target @code{.PHONY}
+In this example, the @file{clean} target will not work properly if a
+file named @file{clean} is ever created in this directory. Since it
+has no prerequisites, @file{clean} would always be considered up to
+date and its recipe would not be executed. To avoid this problem you
+can explicitly declare the target to be phony by making it a
+prerequisite of the special target @code{.PHONY}
(@pxref{Special Targets, ,Special Built-in Target Names}) as follows:
@example
-.PHONY : clean
-@end example
-
-@noindent
-Once this is done, @samp{make clean} will run the recipe regardless of
-whether there is a file named @file{clean}.
-
-Since it knows that phony targets do not name actual files that could be
-remade from other files, @code{make} skips the implicit rule search for
-phony targets (@pxref{Implicit Rules}). This is why declaring a target
-phony is good for performance, even if you are not worried about the
-actual file existing.
-
-Thus, you first write the line that states that @code{clean} is a
-phony target, then you write the rule, like this:
-
-@example
@group
.PHONY: clean
clean:
@@ -2524,12 +2600,16 @@ clean:
@end group
@end example
-Another example of the usefulness of phony targets is in conjunction
-with recursive invocations of @code{make} (for more information, see
-@ref{Recursion, ,Recursive Use of @code{make}}). In this case the
-makefile will often contain a variable which lists a number of
-subdirectories to be built. One way to handle this is with one rule
-whose recipe is a shell loop over the subdirectories, like this:
+@noindent
+Once this is done, @samp{make clean} will run the recipe regardless of
+whether there is a file named @file{clean}.
+
+Phony targets are also useful in conjunction with recursive
+invocations of @code{make} (@pxref{Recursion, ,Recursive Use of @code{make}}).
+In this situation the makefile will often contain a variable which
+lists a number of sub-directories to be built. A simplistic way to
+handle this is to define one rule with a recipe that loops over the
+sub-directories, like this:
@example
@group
@@ -2543,7 +2623,7 @@ subdirs:
@end example
There are problems with this method, however. First, any error
-detected in a submake is ignored by this rule, so it will continue
+detected in a sub-make is ignored by this rule, so it will continue
to build the rest of the directories even when one fails. This can be
overcome by adding shell commands to note the error and exit, but then
it will do so even if @code{make} is invoked with the @code{-k}
@@ -2552,9 +2632,9 @@ you cannot take advantage of @code{make}'s ability to build targets in
parallel (@pxref{Parallel, ,Parallel Execution}), since there is only
one rule.
-By declaring the subdirectories as phony targets (you must do this as
-the subdirectory obviously always exists; otherwise it won't be built)
-you can remove these problems:
+By declaring the sub-directories as @code{.PHONY} targets (you must do
+this as the sub-directory obviously always exists; otherwise it won't
+be built) you can remove these problems:
@example
@group
@@ -2571,11 +2651,16 @@ foo: baz
@end group
@end example
-Here we've also declared that the @file{foo} subdirectory cannot be
-built until after the @file{baz} subdirectory is complete; this kind of
+Here we've also declared that the @file{foo} sub-directory cannot be
+built until after the @file{baz} sub-directory is complete; this kind of
relationship declaration is particularly important when attempting
parallel builds.
+The implicit rule search (@pxref{Implicit Rules}) is skipped for
+@code{.PHONY} targets. This is why declaring a target as
+@code{.PHONY} is good for performance, even if you are not worried
+about the actual file existing.
+
A phony target should not be a prerequisite of a real target file; if it
is, its recipe will be run every time @code{make} goes to update that
file. As long as a phony target is never a prerequisite of a real
@@ -2816,7 +2901,7 @@ The high resolution file time stamps of many modern file systems
lessen the chance of @command{make} incorrectly concluding that a file
is up to date. Unfortunately, some hosts do not provide a way to set a
high resolution file time stamp, so commands like @samp{cp -p} that
-explicitly set a file's time stamp must discard its subsecond part.
+explicitly set a file's time stamp must discard its sub-second part.
If a file is created by such a command, you should list it as a
prerequisite of @code{.LOW_RESOLUTION_TIME} so that @command{make}
does not mistakenly conclude that the file is out of date. For
@@ -2830,7 +2915,7 @@ dst: src
@end group
@end example
-Since @samp{cp -p} discards the subsecond part of @file{src}'s time
+Since @samp{cp -p} discards the sub-second part of @file{src}'s time
stamp, @file{dst} is typically slightly older than @file{src} even when
it is up to date. The @code{.LOW_RESOLUTION_TIME} line causes
@command{make} to consider @file{dst} to be up to date if its time stamp
@@ -3132,7 +3217,7 @@ of the target; see @ref{Automatic Variables}.
Each target specified must match the target pattern; a warning is issued
for each target that does not. If you have a list of files, only some of
which will match the pattern, you can use the @code{filter} function to
-remove nonmatching file names (@pxref{Text Functions, ,Functions for String Substitution and Analysis}):
+remove non-matching file names (@pxref{Text Functions, ,Functions for String Substitution and Analysis}):
@example
files = foo.elc bar.o lose.o
@@ -3286,10 +3371,11 @@ main.o : main.c defs.h
Thus you no longer have to write all those rules yourself.
The compiler will do it for you.
-Note that such a prerequisite constitutes mentioning @file{main.o} in a
-makefile, so it can never be considered an intermediate file by implicit
-rule search. This means that @code{make} won't ever remove the file
-after using it; @pxref{Chained Rules, ,Chains of Implicit Rules}.
+Note that such a rule constitutes mentioning @file{main.o} in a
+makefile, so it can never be considered an intermediate file by
+implicit rule search. This means that @code{make} won't ever remove
+the file after using it; @pxref{Chained Rules, ,Chains of Implicit
+Rules}.
@cindex @code{make depend}
With old @code{make} programs, it was traditional practice to use this
@@ -3334,7 +3420,7 @@ nonzero status).
With the GNU C compiler, you may wish to use the @samp{-MM} flag instead
of @samp{-M}. This omits prerequisites on system header files.
@xref{Preprocessor Options, , Options Controlling the Preprocessor,
-gcc.info, Using GNU CC}, for details.
+gcc, Using GNU CC}, for details.
@cindex @code{sed} (shell command)
The purpose of the @code{sed} command is to translate (for example):
@@ -3463,11 +3549,11 @@ line, will be considered part of a recipe and be passed to the shell.
@end itemize
@menu
-* Splitting Lines:: Breaking long recipe lines for readability.
+* Splitting Recipe Lines:: Breaking long recipe lines for readability.
* Variables in Recipes:: Using @code{make} variables in recipes.
@end menu
-@node Splitting Lines, Variables in Recipes, Recipe Syntax, Recipe Syntax
+@node Splitting Recipe Lines, Variables in Recipes, Recipe Syntax, Recipe Syntax
@subsection Splitting Recipe Lines
@cindex recipes, splitting
@cindex splitting recipes
@@ -3486,13 +3572,14 @@ each newline. A sequence of lines like this is considered a single
recipe line, and one instance of the shell will be invoked to run it.
However, in contrast to how they are treated in other places in a
-makefile, backslash-newline pairs are @emph{not} removed from the
-recipe. Both the backslash and the newline characters are preserved
-and passed to the shell. How the backslash-newline is interpreted
-depends on your shell. If the first character of the next line after
-the backslash-newline is the recipe prefix character (a tab by
-default; @pxref{Special Variables}), then that character (and only
-that character) is removed. Whitespace is never added to the recipe.
+makefile (@pxref{Splitting Lines, , Splitting Long Lines}),
+backslash/newline pairs are @emph{not} removed from the recipe. Both
+the backslash and the newline characters are preserved and passed to
+the shell. How the backslash/newline is interpreted depends on your
+shell. If the first character of the next line after the
+backslash/newline is the recipe prefix character (a tab by default;
+@pxref{Special Variables}), then that character (and only that
+character) is removed. Whitespace is never added to the recipe.
For example, the recipe for the all target in this makefile:
@@ -3563,14 +3650,14 @@ you specify a different shell in your makefiles it may treat them
differently.
Sometimes you want to split a long line inside of single quotes, but
-you don't want the backslash-newline to appear in the quoted content.
+you don't want the backslash/newline to appear in the quoted content.
This is often the case when passing scripts to languages such as Perl,
where extraneous backslashes inside the script can change its meaning
or even be a syntax error. One simple way of handling this is to
place the quoted string, or even the entire command, into a
@code{make} variable then use the variable in the recipe. In this
situation the newline quoting rules for makefiles will be used, and
-the backslash-newline will be removed. If we rewrite our example
+the backslash/newline will be removed. If we rewrite our example
above using this method:
@example
@@ -3596,7 +3683,7 @@ If you like, you can also use target-specific variables
a tighter correspondence between the variable and the recipe that
uses it.
-@node Variables in Recipes, , Splitting Lines, Recipe Syntax
+@node Variables in Recipes, , Splitting Recipe Lines, Recipe Syntax
@subsection Using Variables in Recipes
@cindex variable references in recipes
@cindex recipes, using variables in
@@ -3699,7 +3786,7 @@ started with @samp{@@}. A rule in the makefile for the special target
@vindex @code{SHELL} @r{(recipe execution)}
When it is time to execute recipes to update a target, they are
-executed by invoking a new subshell for each line of the recipe,
+executed by invoking a new sub-shell for each line of the recipe,
unless the @code{.ONESHELL} special target is in effect
(@pxref{One Shell, ,Using One Shell}) (In practice, @code{make} may
take shortcuts that do not affect the results.)
@@ -3730,7 +3817,7 @@ problems (in this case it would certainly cause @file{../foo} to be
truncated, at least).
@menu
-* One Shell:: One shell for all lines in a recipe
+* One Shell:: One shell for all lines in a recipe.
* Choosing the Shell:: How @code{make} chooses the shell used
to run recipes.
@end menu
@@ -3969,44 +4056,16 @@ If there is nothing looking like an integer after the @samp{-j} option,
there is no limit on the number of job slots. The default number of job
slots is one, which means serial execution (one thing at a time).
-One unpleasant consequence of running several recipes simultaneously is
-that output generated by the recipes appears whenever each recipe
-sends it, so messages from different recipes may be interspersed.
-
-Another problem is that two processes cannot both take input from the
-same device; so to make sure that only one recipe tries to take input
-from the terminal at once, @code{make} will invalidate the standard
-input streams of all but one running recipe. This means that
-attempting to read from standard input will usually be a fatal error (a
-@samp{Broken pipe} signal) for most child processes if there are
-several.
-@cindex broken pipe
-@cindex standard input
-
-It is unpredictable which recipe will have a valid standard input stream
-(which will come from the terminal, or wherever you redirect the standard
-input of @code{make}). The first recipe run will always get it first, and
-the first recipe started after that one finishes will get it next, and so
-on.
-
-We will change how this aspect of @code{make} works if we find a better
-alternative. In the mean time, you should not rely on any recipe using
-standard input at all if you are using the parallel execution feature; but
-if you are not using this feature, then standard input works normally in
-all recipes.
-
-Finally, handling recursive @code{make} invocations raises issues. For
-more information on this, see
-@ref{Options/Recursion, ,Communicating Options to a Sub-@code{make}}.
+Handling recursive @code{make} invocations raises issues for parallel
+execution. For more information on this, see @ref{Options/Recursion,
+,Communicating Options to a Sub-@code{make}}.
If a recipe fails (is killed by a signal or exits with a nonzero
-status), and errors are not ignored for that recipe
-(@pxref{Errors, ,Errors in Recipes}),
-the remaining recipe lines to remake the same target will not be run.
-If a recipe fails and the @samp{-k} or @samp{--keep-going}
-option was not given
-(@pxref{Options Summary, ,Summary of Options}),
-@code{make} aborts execution. If make
+status), and errors are not ignored for that recipe (@pxref{Errors,
+,Errors in Recipes}), the remaining recipe lines to remake the same
+target will not be run. If a recipe fails and the @samp{-k} or
+@samp{--keep-going} option was not given (@pxref{Options Summary,
+,Summary of Options}), @code{make} aborts execution. If make
terminates for any reason (including a signal) with child processes
running, it waits for them to finish before actually exiting.@refill
@@ -4039,6 +4098,135 @@ average goes below that limit, or until all the other jobs finish.
By default, there is no load limit.
+@menu
+* Parallel Output:: Handling output during parallel execution
+* Parallel Input:: Handling input during parallel execution
+@end menu
+
+@node Parallel Output, Parallel Input, Parallel, Parallel
+@subsection Output During Parallel Execution
+@cindex output during parallel execution
+@cindex parallel execution, output during
+
+When running several recipes in parallel the output from each
+recipe appears as soon as it is generated, with the result that
+messages from different recipes may be interspersed, sometimes even
+appearing on the same line. This can make reading the output very
+difficult.
+
+@cindex @code{--output-sync}
+@cindex @code{-O}
+To avoid this you can use the @samp{--output-sync} (@samp{-O}) option.
+This option instructs @code{make} to save the output from the commands
+it invokes and print it all once the commands are completed.
+Additionally, if there are multiple recursive @code{make} invocations
+running in parallel, they will communicate so that only one of them is
+generating output at a time.
+
+If working directory printing is enabled (@pxref{-w Option, ,The
+@samp{--print-directory} Option}), the enter/leave messages are
+printed around each output grouping. If you prefer not to see these
+messages add the @samp{--no-print-directory} option to @code{MAKEFLAGS}.
+
+There are four levels of granularity when synchronizing output,
+specified by giving an argument to the option (e.g., @samp{-Oline} or
+@samp{--output-sync=recurse}).
+
+@table @code
+@item none
+This is the default: all output is sent directly as it is generated and
+no synchronization is performed.
+
+@item line
+Output from each individual line of the recipe is grouped and printed
+as soon as that line is complete. If a recipe consists of multiple
+lines, they may be interspersed with lines from other recipes.
+
+@item target
+Output from the entire recipe for each target is grouped and printed
+once the target is complete. This is the default if the
+@code{--output-sync} or @code{-O} option is given with no argument.
+
+@item recurse
+Output from each recursive invocation of @code{make} is grouped and
+printed once the recursive invocation is complete.
+
+@end table
+
+Regardless of the mode chosen, the total build time will be the same.
+The only difference is in how the output appears.
+
+The @samp{target} and @samp{recurse} modes both collect the output of
+the entire recipe of a target and display it uninterrupted when the
+recipe completes. The difference between them is in how recipes that
+contain recursive invocations of @code{make} are treated
+(@pxref{Recursion, ,Recursive Use of @code{make}}). For all recipes
+which have no recursive lines, the @samp{target} and @samp{recurse}
+modes behave identically.
+
+If the @samp{recurse} mode is chosen, recipes that contain recursive
+@code{make} invocations are treated the same as other targets: the
+output from the recipe, including the output from the recursive
+@code{make}, is saved and printed after the entire recipe is complete.
+This ensures output from all the targets built by a given recursive
+@code{make} instance are grouped together, which may make the output
+easier to understand. However it also leads to long periods of time
+during the build where no output is seen, followed by large bursts of
+output. If you are not watching the build as it proceeds, but instead
+viewing a log of the build after the fact, this may be the best option
+for you.
+
+If you are watching the output, the long gaps of quiet during the
+build can be frustrating. The @samp{target} output synchronization
+mode detects when @code{make} is going to be invoked recursively,
+using the standard methods, and it will not synchronize the output of
+those lines. The recursive @code{make} will perform the
+synchronization for its targets and the output from each will be
+displayed immediately when it completes. Be aware that output from
+recursive lines of the recipe are not synchronized (for example if
+the recursive line prints a message before running @code{make}, that
+message will not be synchronized).
+
+The @samp{line} mode can be useful for front-ends that are watching
+the output of @code{make} to track when recipes are started and
+completed.
+
+Some programs invoked by @code{make} may behave differently if they
+determine they're writing output to a terminal versus a file (often
+described as ``interactive'' vs. ``non-interactive'' modes). For
+example, many programs that can display colorized output will not do
+so if they determine they are not writing to a terminal. If your
+makefile invokes a program like this then using the output
+synchronization options will cause the program to believe it's running
+in ``non-interactive'' mode even though the output will ultimately go
+to the terminal.
+
+@node Parallel Input, , Parallel Output, Parallel
+@subsection Input During Parallel Execution
+@cindex input during parallel execution
+@cindex parallel execution, input during
+@cindex standard input
+
+Two processes cannot both take input from the same device at the same
+time. To make sure that only one recipe tries to take input from the
+terminal at once, @code{make} will invalidate the standard input
+streams of all but one running recipe. If another recipe attempts to
+read from standard input it will usually incur a fatal error (a
+@samp{Broken pipe} signal).
+@cindex broken pipe
+
+It is unpredictable which recipe will have a valid standard input stream
+(which will come from the terminal, or wherever you redirect the standard
+input of @code{make}). The first recipe run will always get it first, and
+the first recipe started after that one finishes will get it next, and so
+on.
+
+We will change how this aspect of @code{make} works if we find a better
+alternative. In the mean time, you should not rely on any recipe using
+standard input at all if you are using the parallel execution feature; but
+if you are not using this feature, then standard input works normally in
+all recipes.
+
@node Errors, Interrupts, Parallel, Recipes
@section Errors in Recipes
@cindex errors (in recipes)
@@ -4178,9 +4366,9 @@ times to prevent other sorts of trouble.
Recursive use of @code{make} means using @code{make} as a command in a
makefile. This technique is useful when you want separate makefiles for
various subsystems that compose a larger system. For example, suppose you
-have a subdirectory @file{subdir} which has its own makefile, and you would
+have a sub-directory @file{subdir} which has its own makefile, and you would
like the containing directory's makefile to run @code{make} on the
-subdirectory. You can do it by writing this:
+sub-directory. You can do it by writing this:
@example
subsystem:
@@ -4292,10 +4480,10 @@ recipes, is propagated to the subsystem.@refill
Variable values of the top-level @code{make} can be passed to the
sub-@code{make} through the environment by explicit request. These
-variables are defined in the sub-@code{make} as defaults, but do not
-override what is specified in the makefile used by the sub-@code{make}
-makefile unless you use the @samp{-e} switch (@pxref{Options Summary,
-,Summary of Options}).@refill
+variables are defined in the sub-@code{make} as defaults, but they do
+not override variables defined in the makefile used by
+the sub-@code{make} unless you use the @samp{-e} switch (@pxref{Options
+Summary, ,Summary of Options}).@refill
To pass down, or @dfn{export}, a variable, @code{make} adds the
variable and its value to the environment for running each line of the
@@ -4555,7 +4743,7 @@ fixed limit on the size of the environment, and putting so much
information into the value of @code{MAKEFLAGS} can exceed it. If you
see the error message @samp{Arg list too long}, this may be the problem.
@findex .POSIX
-@cindex POSIX.2
+@cindex POSIX
(For strict compliance with POSIX.2, changing @code{MAKEOVERRIDES} does
not affect @code{MAKEFLAGS} if the special target @samp{.POSIX} appears
in the makefile. You probably do not care about this.)
@@ -4608,6 +4796,23 @@ itself. For instance, the @samp{-t}, @samp{-n}, and @samp{-q} options, if
put in one of these variables, could have disastrous consequences and would
certainly have at least surprising and probably annoying effects.@refill
+If you'd like to run other implementations of @code{make} in addition
+to GNU @code{make}, and hence do not want to add GNU
+@code{make}-specific flags to the @code{MAKEFLAGS} variable, you can
+add them to the @code{GNUMAKEFLAGS} variable instead. This variable
+is parsed just before @code{MAKEFLAGS}, in the same way as
+@code{MAKEFLAGS}. When @code{make} constructs @code{MAKEFLAGS} to
+pass to a recursive @code{make} it will include all flags, even those
+taken from @code{GNUMAKEFLAGS}. As a result, after parsing
+@code{GNUMAKEFLAGS} GNU @code{make} sets this variable to the empty
+string to avoid duplicating flags during recursion.
+
+It's best to use @code{GNUMAKEFLAGS} only with flags which won't
+materially change the behavior of your makefiles. If your makefiles
+require GNU make anyway then simply use @code{MAKEFLAGS}. Flags such
+as @samp{--no-print-directory} or @samp{--output-sync} may be
+appropriate for @code{GNUMAKEFLAGS}.
+
@node -w Option, , Options/Recursion, Recursion
@subsection The @samp{--print-directory} Option
@cindex directories, printing them
@@ -4716,7 +4921,7 @@ commands based on the file names involved
@cindex +, and @code{define}
In recipe execution, each line of a canned sequence is treated just as
if the line appeared on its own in the rule, preceded by a tab. In
-particular, @code{make} invokes a separate subshell for each line. You
+particular, @code{make} invokes a separate sub-shell for each line. You
can use the special prefix characters that affect command lines
(@samp{@@}, @samp{-}, and @samp{+}) on each line of a canned sequence.
@xref{Recipes, ,Writing Recipes in Rules}.
@@ -4810,13 +5015,15 @@ Variables can represent lists of file names, options to pass to compilers,
programs to run, directories to look in for source files, directories to
write output in, or anything else you can imagine.
-A variable name may be any sequence of characters not containing @samp{:},
-@samp{#}, @samp{=}, or leading or trailing whitespace. However,
-variable names containing characters other than letters, numbers, and
-underscores should be avoided, as they may be given special meanings in the
-future, and with some shells they cannot be passed through the environment to a
-sub-@code{make}
-(@pxref{Variables/Recursion, ,Communicating Variables to a Sub-@code{make}}).
+A variable name may be any sequence of characters not containing
+@samp{:}, @samp{#}, @samp{=}, or whitespace. However, variable names
+containing characters other than letters, numbers, and underscores
+should be considered carefully, as in some shells they cannot be
+passed through the environment to a sub-@code{make}
+(@pxref{Variables/Recursion, ,Communicating Variables to a
+Sub-@code{make}}). Variable names beginning with @samp{.} and an
+uppercase letter may be given special meaning in future versions of
+@code{make}.
Variable names are case-sensitive. The names @samp{foo}, @samp{FOO},
and @samp{Foo} all refer to different variables.
@@ -4940,9 +5147,9 @@ all:;echo $(foo)
will echo @samp{Huh?}: @samp{$(foo)} expands to @samp{$(bar)} which
expands to @samp{$(ugh)} which finally expands to @samp{Huh?}.@refill
-This flavor of variable is the only sort supported by other versions of
-@code{make}. It has its advantages and its disadvantages. An advantage
-(most would say) is that:
+This flavor of variable is the only sort supported by most other
+versions of @code{make}. It has its advantages and its disadvantages.
+An advantage (most would say) is that:
@example
CFLAGS = $(include_dirs) -O
@@ -4978,8 +5185,14 @@ variables, there is another flavor: simply expanded variables.
@cindex simply expanded variables
@cindex variables, simply expanded
@cindex :=
+@cindex ::=
@dfn{Simply expanded variables} are defined by lines using @samp{:=}
-(@pxref{Setting, ,Setting Variables}).
+or @samp{::=} (@pxref{Setting, ,Setting Variables}). Both forms are
+equivalent in GNU @code{make}; however only the @samp{::=} form is
+described by the POSIX standard (support for @samp{::=} was added to
+the POSIX standard in 2012, so older versions of @code{make} won't
+accept this form either).
+
The value of a simply expanded variable is scanned
once and for all, expanding any references to other variables and
functions, when the variable is defined. The actual value of the simply
@@ -5219,7 +5432,7 @@ expands to @samp{$(y)} which in turn expands to @samp{z}; now we have
@samp{$(z)}, which becomes @samp{u}.
References to recursively-expanded variables within a variable name are
-reexpanded in the usual fashion. For example:
+re-expanded in the usual fashion. For example:
@example
x = $(y)
@@ -5398,11 +5611,14 @@ Several variables have constant initial values.
@cindex variables, setting
@cindex =
@cindex :=
+@cindex ::=
@cindex ?=
+@cindex !=
To set a variable from the makefile, write a line starting with the
-variable name followed by @samp{=} or @samp{:=}. Whatever follows the
-@samp{=} or @samp{:=} on the line becomes the value. For example,
+variable name followed by @samp{=} @samp{:=}, or @samp{::=}. Whatever
+follows the @samp{=}, @samp{:=}, or @samp{::=} on the line becomes the
+value. For example,
@example
objects = main.o foo.o bar.o utils.o
@@ -5412,20 +5628,19 @@ objects = main.o foo.o bar.o utils.o
defines a variable named @code{objects}. Whitespace around the variable
name and immediately after the @samp{=} is ignored.
-Variables defined with @samp{=} are @dfn{recursively expanded} variables.
-Variables defined with @samp{:=} are @dfn{simply expanded} variables; these
-definitions can contain variable references which will be expanded before
-the definition is made. @xref{Flavors, ,The Two Flavors of Variables}.
+Variables defined with @samp{=} are @dfn{recursively expanded}
+variables. Variables defined with @samp{:=} or @samp{::=} are
+@dfn{simply expanded} variables; these definitions can contain
+variable references which will be expanded before the definition is
+made. @xref{Flavors, ,The Two Flavors of Variables}.
The variable name may contain function and variable references, which
are expanded when the line is read to find the actual variable name to use.
There is no limit on the length of the value of a variable except the
-amount of swapping space on the computer. When a variable definition is
-long, it is a good idea to break it into several lines by inserting
-backslash-newline at convenient places in the definition. This will not
-affect the functioning of @code{make}, but it will make the makefile easier
-to read.
+amount of memory on the computer. You can split the value of a
+variable into multiple physical lines for readability
+(@pxref{Splitting Lines, ,Splitting Long Lines}).
Most variable names are considered to have the empty string as a value if
you have never set them. Several variables have built-in initial values
@@ -5453,6 +5668,33 @@ FOO = bar
endif
@end example
+The shell assignment operator @samp{!=} can be used to execute a
+program and set a variable to its output. This operator first
+evaluates the right-hand side, then passes that result to the shell
+for execution. If the result of the execution ends in a newline, that
+one newline is removed; all other newlines are replaced by spaces.
+The resulting string is then placed into the named
+recursively-expanded variable. For example:
+
+@example
+hash != printf '\043'
+file_list != find . -name '*.c'
+@end example
+
+If the result of the execution could produce a @code{$}, and you don't
+intend what follows that to be interpreted as a make variable or
+function reference, then you must replace every @code{$} with
+@code{$$} as part of the execution. Alternatively, you can set a
+simply expanded variable to the result of running a program using the
+@code{shell} function call. @xref{Shell Function, , The @code{shell}
+Function}. For example:
+
+@example
+hash := $(shell printf '\043')
+var := $(shell find . -name "*.c")
+@end example
+
+
@node Appending, Override Directive, Setting, Using Variables
@section Appending More Text to Variables
@cindex +=
@@ -5497,12 +5739,12 @@ explanation of the two flavors of variables.
When you add to a variable's value with @samp{+=}, @code{make} acts
essentially as if you had included the extra text in the initial
-definition of the variable. If you defined it first with @samp{:=},
-making it a simply-expanded variable, @samp{+=} adds to that
-simply-expanded definition, and expands the new text before appending it
-to the old value just as @samp{:=} does
-(see @ref{Setting, ,Setting Variables}, for a full explanation of @samp{:=}).
-In fact,
+definition of the variable. If you defined it first with @samp{:=} or
+@samp{::=}, making it a simply-expanded variable, @samp{+=} adds to
+that simply-expanded definition, and expands the new text before
+appending it to the old value just as @samp{:=} does (see
+@ref{Setting, ,Setting Variables}, for a full explanation of
+@samp{:=} or @samp{::=}). In fact,
@example
variable := value
@@ -5560,7 +5802,7 @@ CFLAGS += -pg # enable profiling
@noindent
The first line defines the @code{CFLAGS} variable with a reference to another
variable, @code{includes}. (@code{CFLAGS} is used by the rules for C
-compilation; @pxref{Catalogue of Rules, ,Catalogue of Implicit Rules}.)
+compilation; @pxref{Catalogue of Rules, ,Catalogue of Built-In Rules}.)
Using @samp{=} for the definition makes @code{CFLAGS} a recursively-expanded
variable, meaning @w{@samp{$(includes) -O}} is @emph{not} expanded when
@code{make} processes the definition of @code{CFLAGS}. Thus, @code{includes}
@@ -5716,7 +5958,7 @@ two-lines = echo foo; echo $(bar)
@noindent
since two commands separated by semicolon behave much like two separate
shell commands. However, note that using two separate lines means
-@code{make} will invoke the shell twice, running an independent subshell
+@code{make} will invoke the shell twice, running an independent sub-shell
for each line. @xref{Execution, ,Recipe Execution}.
If you want variable definitions made with @code{define} to take
@@ -5842,13 +6084,13 @@ Multiple @var{target} values create a target-specific variable value for
each member of the target list individually.
The @var{variable-assignment} can be any valid form of assignment;
-recursive (@samp{=}), static (@samp{:=}), appending (@samp{+=}), or
-conditional (@samp{?=}). All variables that appear within the
-@var{variable-assignment} are evaluated within the context of the
-target: thus, any previously-defined target-specific variable values
-will be in effect. Note that this variable is actually distinct from
-any ``global'' value: the two variables do not have to have the same
-flavor (recursive vs.@: static).
+recursive (@samp{=}), simple (@samp{:=} or @samp{::=}), appending
+(@samp{+=}), or conditional (@samp{?=}). All variables that appear
+within the @var{variable-assignment} are evaluated within the context
+of the target: thus, any previously-defined target-specific variable
+values will be in effect. Note that this variable is actually
+distinct from any ``global'' value: the two variables do not have to
+have the same flavor (recursive vs.@: simple).
Target-specific variables have the same priority as any other makefile
variable. Variables provided on the command line (and in the
@@ -5973,7 +6215,7 @@ prog: a.o b.o
Due to the @code{private} modifier, @code{a.o} and @code{b.o} will not
inherit the @code{EXTRA_CFLAGS} variable assignment from the
-@code{progs} target.
+@code{prog} target.
@node Special Variables, , Suppressing Inheritance, Using Variables
@comment node-name, next, previous, up
@@ -6069,7 +6311,7 @@ foo
@end example
Note that assigning more than one target name to @code{.DEFAULT_GOAL} is
-illegal and will result in an error.
+invalid and will result in an error.
@vindex MAKE_RESTARTS @r{(number of times @code{make} has restarted)}
@item MAKE_RESTARTS
@@ -6079,6 +6321,28 @@ will contain the number of times this instance has restarted. Note
this is not the same as recursion (counted by the @code{MAKELEVEL}
variable). You should not set, modify, or export this variable.
+@vindex MAKE_TERMOUT @r{(whether stdout is a terminal)}
+@vindex MAKE_TERMERR @r{(whether stderr is a terminal)}
+@item MAKE_TERMOUT
+@itemx MAKE_TERMERR
+When @code{make} starts it will check whether stdout and stderr will
+show their output on a terminal. If so, it will set
+@code{MAKE_TERMOUT} and @code{MAKE_TERMERR}, respectively, to the name
+of the terminal device (or @code{true} if this cannot be determined).
+If set these variables will be marked for export. These variables
+will not be changed by @code{make} and they will not be modified if
+already set.
+
+These values can be used (particularly in combination with output
+synchronization (@pxref{Parallel Output, ,Output During Parallel
+Execution}) to determine whether @code{make} itself is writing to a
+terminal; they can be tested to decide whether to force recipe
+commands to generate colorized output for example.
+
+If you invoke a sub-@code{make} and redirect its stdout or stderr it
+is your responsibility to reset or unexport these variables as well,
+if your makefiles rely on them.
+
@vindex .RECIPEPREFIX @r{(change the recipe prefix character)}
@item .RECIPEPREFIX
The first character of the value of this variable is used as the
@@ -6120,12 +6384,12 @@ value.
@vindex .FEATURES @r{(list of supported features)}
@item .FEATURES
Expands to a list of special features supported by this version of
-@code{make}. Possible values include:
+@code{make}. Possible values include, but are not limited to:
@table @samp
@item archives
-Supports @code{ar} (archive) files using special filename syntax.
+Supports @code{ar} (archive) files using special file name syntax.
@xref{Archives, ,Using @code{make} to Update Archive Files}.
@item check-symlink
@@ -6140,17 +6404,36 @@ Syntax, ,Syntax of Conditionals}.
Supports ``job server'' enhanced parallel builds. @xref{Parallel,
,Parallel Execution}.
-@item second-expansion
-Supports secondary expansion of prerequisite lists.
+@item oneshell
+Supports the @code{.ONESHELL} special target. @xref{One Shell, ,Using
+One Shell}.
@item order-only
Supports order-only prerequisites. @xref{Prerequisite Types, ,Types
of Prerequisites}.
+@item second-expansion
+Supports secondary expansion of prerequisite lists.
+
+@item shortest-stem
+Uses the ``shortest stem'' method of choosing which pattern, of
+multiple applicable options, will be used. @xref{Pattern Match, ,How
+Patterns Match}.
+
@item target-specific
Supports target-specific and pattern-specific variable assignments.
@xref{Target-specific, ,Target-specific Variable Values}.
+@item undefine
+Supports the @code{undefine} directive. @xref{Undefine Directive}.
+
+@item guile
+Has GNU Guile available as an embedded extension language.
+@xref{Guile Integration, ,GNU Guile Integration}.
+
+@item load
+Supports dynamically loadable objects for creating custom extensions.
+@xref{Loading Objects, ,Loading Dynamic Objects}.
@end table
@vindex .INCLUDE_DIRS @r{(list of include directories)}
@@ -6291,12 +6574,12 @@ endif
or:
@example
-@var{conditional-directive}
+@var{conditional-directive-one}
@var{text-if-one-is-true}
-else @var{conditional-directive}
-@var{text-if-true}
+else @var{conditional-directive-two}
+@var{text-if-two-is-true}
else
-@var{text-if-false}
+@var{text-if-one-and-two-are-false}
endif
@end example
@@ -6492,13 +6775,15 @@ be substituted.
* File Name Functions:: Functions for manipulating file names.
* Conditional Functions:: Functions that implement conditions.
* Foreach Function:: Repeat some text with controlled variation.
+* File Function:: Write text to a file.
* Call Function:: Expand a user-defined function.
* Value Function:: Return the un-expanded value of a variable.
* Eval Function:: Evaluate the arguments as makefile syntax.
* Origin Function:: Find where a variable got its value.
* Flavor Function:: Find out the flavor of a variable.
-* Shell Function:: Substitute the output of a shell command.
* Make Control Functions:: Functions that control how make runs.
+* Shell Function:: Substitute the output of a shell command.
+* Guile Function:: Use GNU Guile embedded scripting language.
@end menu
@node Syntax of Functions, Text Functions, Functions, Functions
@@ -6508,7 +6793,9 @@ be substituted.
@cindex arguments of functions
@cindex functions, syntax of
-A function call resembles a variable reference. It looks like this:
+A function call resembles a variable reference. It can appear
+anywhere a variable reference can appear, and it is expanded using the
+same rules as variable references. A function call looks like this:
@example
$(@var{function} @var{arguments})
@@ -6523,7 +6810,7 @@ $@{@var{function} @var{arguments}@}
Here @var{function} is a function name; one of a short list of names
that are part of @code{make}. You can also essentially create your own
-functions by using the @code{call} builtin function.
+functions by using the @code{call} built-in function.
The @var{arguments} are the arguments of the function. They are
separated from the function name by one or more spaces or tabs, and if
@@ -7140,7 +7427,7 @@ the result of the expansion is the expansion of the last argument.
@end table
-@node Foreach Function, Call Function, Conditional Functions, Functions
+@node Foreach Function, File Function, Conditional Functions, Functions
@section The @code{foreach} Function
@findex foreach
@cindex words, iterating over
@@ -7202,7 +7489,7 @@ files := $(foreach dir,$(dirs),$(find_files))
@noindent
Here we use the variable @code{find_files} this way. We use plain @samp{=}
to define a recursively-expanding variable, so that its value contains an
-actual function call to be reexpanded under the control of @code{foreach};
+actual function call to be re-expanded under the control of @code{foreach};
a simply-expanded variable would not do, since @code{wildcard} would be
called only once at the time of defining @code{find_files}.
@@ -7220,15 +7507,78 @@ variable names because many strange things are valid variable names, but
are probably not what you intended. For example,
@smallexample
-files := $(foreach Esta escrito en espanol!,b c ch,$(find_files))
+files := $(foreach Esta-escrito-en-espanol!,b c ch,$(find_files))
@end smallexample
@noindent
might be useful if the value of @code{find_files} references the variable
-whose name is @samp{Esta escrito en espanol!} (es un nombre bastante largo,
+whose name is @samp{Esta-escrito-en-espanol!} (es un nombre bastante largo,
no?), but it is more likely to be a mistake.
-@node Call Function, Value Function, Foreach Function, Functions
+@node File Function, Call Function, Foreach Function, Functions
+@section The @code{file} Function
+@findex file
+@cindex writing to a file
+@cindex file, writing to
+
+The @code{file} function allows the makefile to write to a file. Two
+modes of writing are supported: overwrite, where the text is written
+to the beginning of the file and any existing content is lost, and
+append, where the text is written to the end of the file, preserving
+the existing content. In all cases the file is created if it does not
+exist.
+
+The syntax of the @code{file} function is:
+
+@example
+$(file @var{op} @var{filename}[,@var{text}])
+@end example
+
+The operator @var{op} can be either @code{>} which indicates overwrite
+mode, or @code{>>} which indicates append mode. The @var{filename}
+indicates the file to be written to. There may optionally be
+whitespace between the operator and the file name.
+
+When the @code{file} function is expanded all its arguments are
+expanded first, then the file indicated by @var{filename} will be
+opened in the mode described by @var{op}. Finally @var{text} will be
+written to the file. If @var{text} does not already end in a newline,
+even if empty, a final newline will be written. If the @var{text}
+argument is not given, nothing will be written. The result of
+evaluating the @code{file} function is always the empty string.
+
+It is a fatal error if the file cannot be opened for writing, or if
+the write operation fails.
+
+For example, the @code{file} function can be useful if your build
+system has a limited command line size and your recipe runs a command
+that can accept arguments from a file as well. Many commands use the
+convention that an argument prefixed with an @code{@@} specifies a
+file containing more arguments. Then you might write your recipe in
+this way:
+
+@example
+@group
+program: $(OBJECTS)
+ $(file >$@@.in,$^)
+ $(CMD) $(CMDFLAGS) @@$@@.in
+ @@rm $@@.in
+@end group
+@end example
+
+If the command required each argument to be on a separate line of the
+input file, you might write your recipe like this:
+
+@example
+@group
+program: $(OBJECTS)
+ $(file >$@@.in) $(foreach O,$^,$(file >>$@@.in,$O))
+ $(CMD) $(CMDFLAGS) @@$@@.in
+ @@rm $@@.in
+@end group
+@end example
+
+@node Call Function, Value Function, File Function, Functions
@section The @code{call} Function
@findex call
@cindex functions, user defined
@@ -7262,13 +7612,13 @@ a @samp{$} or parentheses when writing it. (You can, however, use a
variable reference in the name if you want the name not to be a
constant.)
-If @var{variable} is the name of a builtin function, the builtin function
+If @var{variable} is the name of a built-in function, the built-in function
is always invoked (even if a @code{make} variable by that name also
exists).
The @code{call} function expands the @var{param} arguments before
assigning them to temporary variables. This means that @var{variable}
-values containing references to builtin functions that have special
+values containing references to built-in functions that have special
expansion rules, like @code{foreach} or @code{if}, may not work as you
expect.
@@ -7340,7 +7690,7 @@ The syntax of the @code{value} function is:
$(value @var{variable})
@end example
-Note that @var{variable} is the @emph{name} of a variable; not a
+Note that @var{variable} is the @emph{name} of a variable, not a
@emph{reference} to that variable. Therefore you would not normally
use a @samp{$} or parentheses when writing it. (You can, however, use
a variable reference in the name if you want the name not to be a
@@ -7451,7 +7801,7 @@ The syntax of the @code{origin} function is:
$(origin @var{variable})
@end example
-Note that @var{variable} is the @emph{name} of a variable to inquire about;
+Note that @var{variable} is the @emph{name} of a variable to inquire about,
not a @emph{reference} to that variable. Therefore you would not normally
use a @samp{$} or parentheses when writing it. (You can, however, use a
variable reference in the name if you want the name not to be a constant.)
@@ -7544,17 +7894,16 @@ Here the redefinition takes place if @samp{$(origin bletch)} returns either
@samp{environment} or @samp{environment override}.
@xref{Text Functions, , Functions for String Substitution and Analysis}.
-@node Flavor Function, Shell Function, Origin Function, Functions
+@node Flavor Function, Make Control Functions, Origin Function, Functions
@section The @code{flavor} Function
@findex flavor
@cindex variables, flavor of
@cindex flavor of variable
-The @code{flavor} function is unlike most other functions (and like
-@code{origin} function) in that it does not operate on the values of
-variables; it tells you something @emph{about} a variable.
-Specifically, it tells you the flavor of a variable (@pxref{Flavors,
-,The Two Flavors of Variables}).
+The @code{flavor} function, like the @code{origin} function, does not
+operate on the values of variables but rather it tells you something
+@emph{about} a variable. Specifically, it tells you the flavor of a
+variable (@pxref{Flavors, ,The Two Flavors of Variables}).
The syntax of the @code{flavor} function is:
@@ -7562,7 +7911,7 @@ The syntax of the @code{flavor} function is:
$(flavor @var{variable})
@end example
-Note that @var{variable} is the @emph{name} of a variable to inquire about;
+Note that @var{variable} is the @emph{name} of a variable to inquire about,
not a @emph{reference} to that variable. Therefore you would not normally
use a @samp{$} or parentheses when writing it. (You can, however, use a
variable reference in the name if you want the name not to be a constant.)
@@ -7585,56 +7934,7 @@ if @var{variable} is a simply expanded variable.
@end table
-
-@node Shell Function, Make Control Functions, Flavor Function, Functions
-@section The @code{shell} Function
-@findex shell
-@cindex command expansion
-@cindex backquotes
-@cindex shell command, function for
-
-The @code{shell} function is unlike any other function other than the
-@code{wildcard} function
-(@pxref{Wildcard Function, ,The Function @code{wildcard}}) in that it
-communicates with the world outside of @code{make}.
-
-The @code{shell} function performs the same function that backquotes
-(@samp{`}) perform in most shells: it does @dfn{command expansion}.
-This means that it takes as an argument a shell command and evaluates
-to the output of the command. The only processing @code{make} does on
-the result is to convert each newline (or carriage-return / newline
-pair) to a single space. If there is a trailing (carriage-return
-and) newline it will simply be removed.@refill
-
-The commands run by calls to the @code{shell} function are run when the
-function calls are expanded (@pxref{Reading Makefiles, , How
-@code{make} Reads a Makefile}). Because this function involves
-spawning a new shell, you should carefully consider the performance
-implications of using the @code{shell} function within recursively
-expanded variables vs.@: simply expanded variables (@pxref{Flavors, ,The
-Two Flavors of Variables}).
-
-Here are some examples of the use of the @code{shell} function:
-
-@example
-contents := $(shell cat foo)
-@end example
-
-@noindent
-sets @code{contents} to the contents of the file @file{foo}, with a space
-(rather than a newline) separating each line.
-
-@example
-files := $(shell echo *.c)
-@end example
-
-@noindent
-sets @code{files} to the expansion of @samp{*.c}. Unless @code{make} is
-using a very strange shell, this has the same result as
-@w{@samp{$(wildcard *.c)}} (as long as at least one @samp{.c} file
-exists).@refill
-
-@node Make Control Functions, , Shell Function, Functions
+@node Make Control Functions, Shell Function, Flavor Function, Functions
@section Functions That Control Make
@cindex functions, for controlling make
@cindex controlling make
@@ -7696,6 +7996,71 @@ to standard output. No makefile name or line number is added. The
result of the expansion of this function is the empty string.
@end table
+@node Shell Function, Guile Function, Make Control Functions, Functions
+@section The @code{shell} Function
+@findex shell
+@cindex command expansion
+@cindex backquotes
+@cindex shell command, function for
+
+The @code{shell} function is unlike any other function other than the
+@code{wildcard} function
+(@pxref{Wildcard Function, ,The Function @code{wildcard}}) in that it
+communicates with the world outside of @code{make}.
+
+The @code{shell} function performs the same function that backquotes
+(@samp{`}) perform in most shells: it does @dfn{command expansion}.
+This means that it takes as an argument a shell command and evaluates
+to the output of the command. The only processing @code{make} does on
+the result is to convert each newline (or carriage-return / newline
+pair) to a single space. If there is a trailing (carriage-return
+and) newline it will simply be removed.@refill
+
+The commands run by calls to the @code{shell} function are run when the
+function calls are expanded (@pxref{Reading Makefiles, , How
+@code{make} Reads a Makefile}). Because this function involves
+spawning a new shell, you should carefully consider the performance
+implications of using the @code{shell} function within recursively
+expanded variables vs.@: simply expanded variables (@pxref{Flavors, ,The
+Two Flavors of Variables}).
+
+Here are some examples of the use of the @code{shell} function:
+
+@example
+contents := $(shell cat foo)
+@end example
+
+@noindent
+sets @code{contents} to the contents of the file @file{foo}, with a space
+(rather than a newline) separating each line.
+
+@example
+files := $(shell echo *.c)
+@end example
+
+@noindent
+sets @code{files} to the expansion of @samp{*.c}. Unless @code{make} is
+using a very strange shell, this has the same result as
+@w{@samp{$(wildcard *.c)}} (as long as at least one @samp{.c} file
+exists).@refill
+
+@node Guile Function, , Shell Function, Functions
+@section The @code{guile} Function
+@findex guile
+@cindex Guile
+
+If GNU @code{make} is built with support for GNU Guile as an embedded
+extension language then the @code{guile} function will be available.
+The @code{guile} function takes one argument which is first expanded
+by @code{make} in the normal fashion, then passed to the GNU Guile
+evaluator. The result of the evaluator is converted into a string and
+used as the expansion of the @code{guile} function in the makefile.
+See @ref{Guile Integration, ,GNU Guile Integration} for details on
+writing extensions to @code{make} in Guile.
+
+You can determine whether GNU Guile support is available by checking
+the @code{.FEATURES} variable for the word @var{guile}.
+
@node Running, Implicit Rules, Functions, Top
@chapter How to Run @code{make}
@@ -7918,9 +8283,12 @@ what you want. Certain options specify other activities for @code{make}.
@cindex @code{--recon}
@cindex @code{-n}
-``No-op''. The activity is to print what recipe would be used to make
-the targets up to date, but not actually execute it. Some recipes are
-still executed, even with this flag (@pxref{MAKE Variable, ,How the @code{MAKE} Variable Works}).
+``No-op''. Causes @code{make} to print the recipes that are needed to
+make the targets up to date, but not actually execute them. Note that
+some recipes are still executed, even with this flag (@pxref{MAKE
+Variable, ,How the @code{MAKE} Variable Works}). Also any recipes
+needed to update included makefiles are still executed
+(@pxref{Remaking Makefiles, ,How Makefiles Are Remade}).
@item -t
@itemx --touch
@@ -7929,9 +8297,10 @@ still executed, even with this flag (@pxref{MAKE Variable, ,How the @code{MAKE}
@cindex target, touching
@cindex @code{-t}
-``Touch''. The activity is to mark the targets as up to date without
-actually changing them. In other words, @code{make} pretends to compile
-the targets but does not really change their contents.
+``Touch''. Marks targets as up to date without actually changing
+them. In other words, @code{make} pretends to update the targets but
+does not really change their contents; instead only their modified
+times are updated.
@item -q
@itemx --question
@@ -7939,9 +8308,9 @@ the targets but does not really change their contents.
@cindex @code{-q}
@cindex question mode
-``Question''. The activity is to find out silently whether the targets
-are up to date already; but execute no recipe in either case. In other
-words, neither compilation nor output will occur.
+``Question''. Silently check whether the targets are up to date, but
+do not execute recipes; the exit code shows whether any updates are
+needed.
@item -W @var{file}
@itemx --what-if=@var{file}
@@ -8115,10 +8484,10 @@ makefile works by changing the variables.
When you override a variable with a command line argument, you can
define either a recursively-expanded variable or a simply-expanded
variable. The examples shown above make a recursively-expanded
-variable; to make a simply-expanded variable, write @samp{:=} instead
-of @samp{=}. But, unless you want to include a variable reference or
-function call in the @emph{value} that you specify, it makes no
-difference which kind of variable you create.
+variable; to make a simply-expanded variable, write @samp{:=} or
+@samp{::=} instead of @samp{=}. But, unless you want to include a
+variable reference or function call in the @emph{value} that you
+specify, it makes no difference which kind of variable you create.
There is one way that the makefile can change a variable that you have
overridden. This is to use the @code{override} directive, which is a line
@@ -8242,13 +8611,17 @@ Prints messages describing the implicit rule searches for each target.
This option also enables @samp{basic} messages.
@item j (@i{jobs})
-Prints messages giving details on the invocation of specific subcommands.
+Prints messages giving details on the invocation of specific sub-commands.
@item m (@i{makefile})
By default, the above messages are not enabled while trying to remake
the makefiles. This option enables messages while rebuilding makefiles,
too. Note that the @samp{all} option does enable this option. This
option also enables @samp{basic} messages.
+
+@item n (@i{none})
+Disable all debugging currently enabled. If additional debugging
+flags are encountered after this they will still take effect.
@end table
@item -e
@@ -8367,6 +8740,25 @@ prerequisites, and do not remake anything on account of changes in
are ignored. @xref{Avoiding Compilation, ,Avoiding Recompilation of
Some Files}.@refill
+@item -O[@var{type}]
+@cindex @code{-O}
+@itemx --output-sync[=@var{type}]
+@cindex @code{--output-sync}
+@cindex output during parallel execution
+@cindex parallel execution, output during
+Ensure that the complete output from each recipe is printed in one
+uninterrupted sequence. This option is only useful when using the
+@code{--jobs} option to run multiple recipes simultaneously
+(@pxref{Parallel, ,Parallel Execution}) Without this option output
+will be displayed as it is generated by the recipes.@refill
+
+With no type or the type @samp{target}, output from the entire recipe
+of each target is grouped together. With the type @samp{line}, output
+from each line in the recipe is grouped together. With the type
+@samp{recurse}, the output from an entire recursive make is grouped
+together. With the type @samp{none}, no output synchronization is
+performed. @xref{Parallel Output, ,Output During Parallel Execution}.
+
@item -p
@cindex @code{-p}
@itemx --print-data-base
@@ -8379,7 +8771,7 @@ specified. This also prints the version information given by the
@samp{-v} switch (see below). To print the data base without trying
to remake any files, use @w{@samp{make -qp}}. To print the data base
of predefined rules and variables, use @w{@samp{make -p -f /dev/null}}.
-The data base output contains filename and linenumber information for
+The data base output contains file name and line number information for
recipe and variable definitions, so it can be a useful debugging tool
in complex environments.
@@ -8454,6 +8846,14 @@ instead of running their recipes. This is used to pretend that the
recipes were done, in order to fool future invocations of
@code{make}. @xref{Instead of Execution, ,Instead of Executing Recipes}.
+@item --trace
+@cindex @code{--trace}
+Show tracing information for @code{make} execution. Prints the entire
+recipe to be executed, even for recipes that are normally silent (due
+to @code{.SILENT} or @samp{@@}). Also prints the makefile name and
+line number where the recipe was defined, and information on why the
+target is being rebuilt.
+
@item -v
@cindex @code{-v}
@itemx --version
@@ -8472,7 +8872,7 @@ from complicated nests of recursive @code{make} commands.
rarely need to specify this option since @samp{make} does it for you;
see @ref{-w Option, ,The @samp{--print-directory} Option}.)
-@itemx --no-print-directory
+@item --no-print-directory
@cindex @code{--no-print-directory}
Disable printing of the working directory under @code{-w}.
This option is useful when @code{-w} is turned on automatically,
@@ -8550,11 +8950,11 @@ retained for compatibility.
@menu
* Using Implicit:: How to use an existing implicit rule
to get the recipes for updating a file.
-* Catalogue of Rules:: A list of built-in implicit rules.
+* Catalogue of Rules:: A list of built-in rules.
* Implicit Variables:: How to change what predefined rules do.
* Chained Rules:: How to use a chain of implicit rules.
* Pattern Rules:: How to define new implicit rules.
-* Last Resort:: How to define recipes for rules which
+* Last Resort:: How to define a recipe for rules which
cannot find any.
* Suffix Rules:: The old-fashioned style of implicit rule.
* Implicit Rule Search:: The precise algorithm for applying
@@ -8602,7 +9002,7 @@ compiler; and so on.
Of course, when you write the makefile, you know which implicit rule you
want @code{make} to use, and you know it will choose that one because you
know which possible prerequisite files are supposed to exist.
-@xref{Catalogue of Rules, ,Catalogue of Implicit Rules},
+@xref{Catalogue of Rules, ,Catalogue of Built-In Rules},
for a catalogue of all the predefined implicit rules.
Above, we said an implicit rule applies if the required prerequisites ``exist
@@ -8632,7 +9032,7 @@ make an object file, a @file{.o} file, from a Pascal source file, a
@file{.p} file. For example, if @file{foo.c} also exists, the implicit
rule to make an object file from a C source file is used instead,
because it appears before the Pascal rule in the list of predefined
-implicit rules (@pxref{Catalogue of Rules, , Catalogue of Implicit
+implicit rules (@pxref{Catalogue of Rules, , Catalogue of Built-In
Rules}).
If you do not want an implicit rule to be used for a target that has no
@@ -8640,7 +9040,7 @@ recipe, you can give that target an empty recipe by writing a semicolon
(@pxref{Empty Recipes, ,Defining Empty Recipes}).
@node Catalogue of Rules, Implicit Variables, Using Implicit, Implicit Rules
-@section Catalogue of Implicit Rules
+@section Catalogue of Built-In Rules
@cindex implicit rule, predefined
@cindex rule, implicit, predefined
@@ -8986,7 +9386,6 @@ can run @samp{make -p} in a directory with no makefiles.
Here is a table of some of the more common variables used as names of
programs in built-in rules:
-makefiles.
@table @code
@item AR
@@ -9141,7 +9540,16 @@ Extra flags to give to the SCCS @code{get} program.
@item LDFLAGS
@vindex LDFLAGS
Extra flags to give to compilers when they are supposed to invoke the linker,
-@samp{ld}.
+@samp{ld}, such as @code{-L}. Libraries (@code{-lfoo}) should be
+added to the @code{LDLIBS} variable instead.
+
+@item LDLIBS
+@vindex LDLIBS
+@vindex LOADLIBES
+Library flags or names given to compilers when they are supposed to
+invoke the linker, @samp{ld}. @code{LOADLIBES} is a deprecated (but
+still supported) alternative to @code{LDLIBS}. Non-library linker
+flags, such as @code{-L}, should go in the @code{LDFLAGS} variable.
@item LFLAGS
@vindex LFLAGS
@@ -9274,7 +9682,7 @@ Variables}, and @ref{Functions, ,Functions for Transforming Text}.
* Pattern Intro:: An introduction to pattern rules.
* Pattern Examples:: Examples of pattern rules.
* Automatic Variables:: How to use automatic variables in the
- recipes of implicit rules.
+ recipe of implicit rules.
* Pattern Match:: How patterns match.
* Match-Anything Rules:: Precautions you should take prior to
defining rules that can match any
@@ -9374,7 +9782,7 @@ Here is a second built-in rule:
@noindent
defines a rule that can make any file @file{@var{x}} whatsoever from a
-corresponding file @file{@var{x},v} in the subdirectory @file{RCS}. Since
+corresponding file @file{@var{x},v} in the sub-directory @file{RCS}. Since
the target is @samp{%}, this rule will apply to any file whatever, provided
the appropriate prerequisite file exists. The double colon makes the rule
@dfn{terminal}, which means that its prerequisite may not be an intermediate
@@ -9747,7 +10155,7 @@ remade from any other files; therefore, @code{make} can save time by not
looking for ways to remake them.@refill
If you do not mark the match-anything rule as terminal, then it is
-nonterminal. A nonterminal match-anything rule cannot apply to a file name
+non-terminal. A non-terminal match-anything rule cannot apply to a file name
that indicates a specific type of data. A file name indicates a specific
type of data if some non-match-anything implicit rule target matches it.
@@ -9755,18 +10163,18 @@ For example, the file name @file{foo.c} matches the target for the pattern
rule @samp{%.c : %.y} (the rule to run Yacc). Regardless of whether this
rule is actually applicable (which happens only if there is a file
@file{foo.y}), the fact that its target matches is enough to prevent
-consideration of any nonterminal match-anything rules for the file
+consideration of any non-terminal match-anything rules for the file
@file{foo.c}. Thus, @code{make} will not even consider trying to make
@file{foo.c} as an executable file from @file{foo.c.o}, @file{foo.c.c},
@file{foo.c.p}, etc.@refill
-The motivation for this constraint is that nonterminal match-anything
+The motivation for this constraint is that non-terminal match-anything
rules are used for making files containing specific types of data (such as
executable files) and a file name with a recognized suffix indicates some
other specific type of data (such as a C source file).
Special built-in dummy pattern rules are provided solely to recognize
-certain file names so that nonterminal match-anything rules will not be
+certain file names so that non-terminal match-anything rules will not be
considered. These dummy rules have no prerequisites and no recipes, and
they are ignored for all other purposes. For example, the built-in
implicit rule
@@ -9986,7 +10394,7 @@ matched against @var{t}; otherwise, against @var{n}.
@item
If any rule in that list is @emph{not} a match-anything rule, then
-remove all nonterminal match-anything rules from the list.
+remove all non-terminal match-anything rules from the list.
@item
Remove from the list all rules with no recipe.
@@ -10055,11 +10463,11 @@ When the recipe of a pattern rule is executed for @var{t}, the
automatic variables are set corresponding to the target and
prerequisites. @xref{Automatic Variables}.
-@node Archives, Features, Implicit Rules, Top
+@node Archives, Extending make, Implicit Rules, Top
@chapter Using @code{make} to Update Archive Files
@cindex archive
-@dfn{Archive files} are files containing named subfiles called
+@dfn{Archive files} are files containing named sub-files called
@dfn{members}; they are maintained with the program @code{ar} and their
main use is as subroutine libraries for linking.
@@ -10282,7 +10690,648 @@ in the normal way (@pxref{Suffix Rules}). Thus a double-suffix rule
@w{@samp{.@var{x}.a}} produces two pattern rules: @samp{@w{(%.o):}
@w{%.@var{x}}} and @samp{@w{%.a}: @w{%.@var{x}}}.@refill
-@node Features, Missing, Archives, Top
+@node Extending make, Features, Archives, Top
+@chapter Extending GNU @code{make}
+@cindex make extensions
+
+GNU @code{make} provides many advanced capabilities, including many
+useful functions. However, it does not contain a complete programming
+language and so it has limitations. Sometimes these limitations can be
+overcome through use of the @code{shell} function to invoke a separate
+program, although this can be inefficient.
+
+In cases where the built-in capabilities of GNU @code{make} are
+insufficient to your requirements there are two options for extending
+@code{make}. On systems where it's provided, you can utilize GNU
+Guile as an embedded scripting language (@pxref{Guile Integration,,GNU
+Guile Integration}). On systems which support dynamically loadable
+objects, you can write your own extension in any language (which can
+be compiled into such an object) and load it to provide extended
+capabilities (@pxref{load Directive, ,The @code{load} Directive}).
+
+@menu
+* Guile Integration:: Using Guile as an embedded scripting language.
+* Loading Objects:: Loading dynamic objects as extensions.
+@end menu
+
+@node Guile Integration, Loading Objects, Extending make, Extending make
+@section GNU Guile Integration
+@cindex Guile
+@cindex extensions, Guile
+
+GNU @code{make} may be built with support for GNU Guile as an embedded
+extension language. Guile implements the Scheme language. A review
+of GNU Guile and the Scheme language and its features is beyond the
+scope of this manual: see the documentation for GNU Guile and Scheme.
+
+You can determine if @code{make} contains support for Guile by
+examining the @code{.FEATURES} variable; it will contain the word
+@var{guile} if Guile support is available.
+
+The Guile integration provides one new @code{make} function: @code{guile}.
+The @code{guile} function takes one argument which is first expanded
+by @code{make} in the normal fashion, then passed to the GNU Guile
+evaluator. The result of the evaluator is converted into a string and
+used as the expansion of the @code{guile} function in the makefile.
+
+In addition, GNU @code{make} exposes Guile procedures for use in Guile
+scripts.
+
+@menu
+* Guile Types:: Converting Guile types to @code{make} strings.
+* Guile Interface:: Invoking @code{make} functions from Guile.
+* Guile Example:: Example using Guile in @code{make}.
+@end menu
+
+@node Guile Types, Guile Interface, Guile Integration, Guile Integration
+@subsection Conversion of Guile Types
+@cindex convert guile types
+@cindex guile, conversion of types
+@cindex types, conversion of
+
+There is only one ``data type'' in @code{make}: a string. GNU Guile,
+on the other hand, provides a rich variety of different data types.
+An important aspect of the interface between @code{make} and GNU Guile
+is the conversion of Guile data types into @code{make} strings.
+
+This conversion is relevant in two places: when a makefile invokes the
+@code{guile} function to evaluate a Guile expression, the result of
+that evaluation must be converted into a make string so it can be
+further evaluated by @code{make}. And secondly, when a Guile script
+invokes one of the procedures exported by @code{make} the argument
+provided to the procedure must be converted into a string.
+
+The conversion of Guile types into @code{make} strings is as below:
+
+@table @code
+@item #f
+False is converted into the empty string: in @code{make} conditionals
+the empty string is considered false.
+
+@item #t
+True is converted to the string @samp{#t}: in @code{make} conditionals
+any non-empty string is considered true.
+
+@item symbol
+@item number
+A symbol or number is converted into the string representation of that
+symbol or number.
+
+@item character
+A printable character is converted to the same character.
+
+@item string
+A string containing only printable characters is converted to the same
+string.
+
+@item list
+A list is converted recursively according to the above rules. This
+implies that any structured list will be flattened (that is, a result
+of @samp{'(a b (c d) e)} will be converted to the @code{make} string
+@samp{a b c d e}).
+
+@item other
+Any other Guile type results in an error. In future versions of
+@code{make}, other Guile types may be converted.
+
+@end table
+
+The translation of @samp{#f} (to the empty string) and @samp{#t} (to
+the non-empty string @samp{#t}) is designed to allow you to use Guile
+boolean results directly as @code{make} boolean conditions. For
+example:
+
+@example
+$(if $(guile (access? "myfile" R_OK)),$(info myfile exists))
+@end example
+
+As a consequence of these conversion rules you must consider the
+result of your Guile script, as that result will be converted into a
+string and parsed by @code{make}. If there is no natural result for
+the script (that is, the script exists solely for its side-effects),
+you should add @samp{#f} as the final expression in order to avoid
+syntax errors in your makefile.
+
+@node Guile Interface, Guile Example, Guile Types, Guile Integration
+@subsection Interfaces from Guile to @code{make}
+@cindex make interface to guile
+@cindex make procedures in guile
+
+In addition to the @code{guile} function available in makefiles,
+@code{make} exposes some procedures for use in your Guile scripts. At
+startup @code{make} creates a new Guile module, @code{gnu make}, and
+exports these procedures as public interfaces from that module:
+
+@table @code
+@item gmk-expand
+@findex gmk-expand
+This procedure takes a single argument which is converted into a
+string. The string is expanded by @code{make} using normal
+@code{make} expansion rules. The result of the expansion is converted
+into a Guile string and provided as the result of the procedure.
+
+@item gmk-eval
+@findex gmk-eval
+This procedure takes a single argument which is converted into a
+string. The string is evaluated by @code{make} as if it were a
+makefile. This is the same capability available via the @code{eval}
+function (@pxref{Eval Function}). The result of the @code{gmk-eval}
+procedure is always the empty string.
+
+Note that @code{gmk-eval} is not quite the same as using
+@code{gmk-expand} with the @code{eval} function: in the latter case
+the evaluated string will be expanded @emph{twice}; first by
+@code{gmk-expand}, then again by the @code{eval} function.
+
+@end table
+
+@node Guile Example, , Guile Interface, Guile Integration
+@subsection Example Using Guile in @code{make}
+@cindex Guile example
+@cindex example using Guile
+
+Here is a very simple example using GNU Guile to manage writing to a
+file. These Guile procedures simply open a file, allow writing to the
+file (one string per line), and close the file. Note that because we
+cannot store complex values such as Guile ports in @code{make}
+variables, we'll keep the port as a global variable in the Guile
+interpreter.
+
+You can create Guile functions easily using @code{define}/@code{endef}
+to create a Guile script, then use the @code{guile} function to
+internalize it:
+
+@example
+@group
+define GUILEIO
+;; A simple Guile IO library for GNU make
+
+(define MKPORT #f)
+
+(define (mkopen name mode)
+ (set! MKPORT (open-file name mode))
+ #f)
+
+(define (mkwrite s)
+ (display s MKPORT)
+ (newline MKPORT)
+ #f)
+
+(define (mkclose)
+ (close-port MKPORT)
+ #f)
+
+#f
+endef
+
+# Internalize the Guile IO functions
+$(guile $(GUILEIO))
+@end group
+@end example
+
+If you have a significant amount of Guile support code, you might
+consider keeping it in a different file (e.g., @file{guileio.scm}) and
+then loading it in your makefile using the @code{guile} function:
+
+@example
+$(guile (load "guileio.scm"))
+@end example
+
+An advantage to this method is that when editing @file{guileio.scm},
+your editor will understand that this file contains Scheme syntax
+rather than makefile syntax.
+
+Now you can use these Guile functions to create files. Suppose you
+need to operate on a very large list, which cannot fit on the command
+line, but the utility you're using accepts the list as input as well:
+
+@example
+@group
+prog: $(PREREQS)
+ @@$(guile (mkopen "tmp.out" "w")) \
+ $(foreach X,$^,$(guile (mkwrite "$(X)"))) \
+ $(guile (mkclose))
+ $(LINK) < tmp.out
+@end group
+@end example
+
+A more comprehensive suite of file manipulation procedures is possible
+of course. You could, for example, maintain multiple output files at
+the same time by choosing a symbol for each one and using it as the
+key to a hash table, where the value is a port, then returning the
+symbol to be stored in a @code{make} variable.
+
+@node Loading Objects, , Guile Integration, Extending make
+@section Loading Dynamic Objects
+@cindex loaded objects
+@cindex objects, loaded
+@cindex extensions, loading
+
+@cartouche
+@quotation Warning
+The @code{load} directive and extension capability is considered a
+``technology preview'' in this release of GNU make. We encourage you
+to experiment with this feature and we appreciate any feedback on it.
+However we cannot guarantee to maintain backward-compatibility in the
+next release. Consider using GNU Guile instead for extending GNU make
+(@pxref{Guile Function, ,The @code{guile} Function}).
+@end quotation
+@end cartouche
+
+Many operating systems provide a facility for dynamically loading
+compiled objects. If your system provides this facility, GNU
+@code{make} can make use of it to load dynamic objects at runtime,
+providing new capabilities which may then be invoked by your makefile.
+
+The @code{load} directive is used to load a dynamic object. Once the
+object is loaded, a ``setup'' function will be invoked to allow the
+object to initialize itself and register new facilities with GNU
+@code{make}. A dynamic object might include new @code{make} functions,
+for example, and the ``setup'' function would register them with GNU
+@code{make}'s function handling system.
+
+@menu
+* load Directive:: Loading dynamic objects as extensions.
+* Remaking Loaded Objects:: How loaded objects get remade.
+* Loaded Object API:: Programmatic interface for loaded objects.
+* Loaded Object Example:: Example of a loaded object
+@end menu
+
+@node load Directive, Remaking Loaded Objects, Loading Objects, Loading Objects
+@subsection The @code{load} Directive
+@cindex load directive
+@cindex extensions, load directive
+
+Objects are loaded into GNU @code{make} by placing the @code{load}
+directive into your makefile. The syntax of the @code{load} directive
+is as follows:
+
+@findex load
+@example
+load @var{object-file} @dots{}
+@end example
+
+or:
+
+@example
+load @var{object-file}(@var{symbol-name}) @dots{}
+@end example
+
+The file @var{object-file} is dynamically loaded by GNU @code{make}.
+If @var{object-file} does not include a directory path then it is
+first looked for in the current directory. If it is not found there,
+or a directory path is included, then system-specific paths will be
+searched. If the load fails for any reason, @code{make} will print a
+message and exit.
+
+If the load succeeds @code{make} will invoke an initializing function.
+
+If @var{symbol-name} is provided, it will be used as the name of the
+initializing function.
+
+If no @var{symbol-name} is provided, the initializing function name is
+created by taking the base file name of @var{object-file}, up to the
+first character which is not a valid symbol name character
+(alphanumerics and underscores are valid symbol name characters). To
+this prefix will be appended the suffix @code{_gmk_setup}.
+
+More than one object file may be loaded with a single @code{load}
+directive, and both forms of @code{load} arguments may be used in the
+same directive.
+
+The initializing function will be provided the file name and line
+number of the invocation of the @code{load} operation. It should
+return a value of type @code{int}, which must be @code{0} on failure
+and non-@code{0} on success. If the return value is @code{-1}, then
+GNU make will @emph{not} attempt to rebuild the object file
+(@pxref{Remaking Loaded Objects, ,How Loaded Objects Are Remade}).
+
+For example:
+
+@example
+load ../mk_funcs.so
+@end example
+
+will load the dynamic object @file{../mk_funcs.so}. After the object
+is loaded, @code{make} will invoke the function (assumed to be defined
+by the shared object) @code{mk_funcs_gmk_setup}.
+
+On the other hand:
+
+@example
+load ../mk_funcs.so(init_mk_func)
+@end example
+
+will load the dynamic object @file{../mk_funcs.so}. After the object
+is loaded, @code{make} will invoke the function @code{init_mk_func}.
+
+Regardless of how many times an object file appears in a @code{load}
+directive, it will only be loaded (and its setup function will only
+be invoked) once.
+
+@vindex .LOADED
+After an object has been successfully loaded, its file name is
+appended to the @code{.LOADED} variable.
+
+@findex -load
+If you would prefer that failure to load a dynamic object not be
+reported as an error, you can use the @code{-load} directive instead
+of @code{load}. GNU @code{make} will not fail and no message will be
+generated if an object fails to load. The failed object is not added
+to the @code{.LOADED} variable, which can then be consulted to
+determine if the load was successful.
+
+@node Remaking Loaded Objects, Loaded Object API, load Directive, Loading Objects
+@subsection How Loaded Objects Are Remade
+@cindex updating loaded objects
+@cindex remaking loaded objects
+@cindex loaded objects, remaking of
+
+Loaded objects undergo the same re-make procedure as makefiles
+(@pxref{Remaking Makefiles, ,How Makefiles Are Remade}). If any
+loaded object is recreated, then @code{make} will start from scratch
+and re-read all the makefiles, and reload the object files again. It
+is not necessary for the loaded object to do anything special to
+support this.@refill
+
+It's up to the makefile author to provide the rules needed for
+rebuilding the loaded object.
+
+@node Loaded Object API, Loaded Object Example, Remaking Loaded Objects, Loading Objects
+@subsection Loaded Object Interface
+@cindex loaded object API
+@cindex interface for loaded objects
+
+@cartouche
+@quotation Warning
+For this feature to be useful your extensions will need to invoke
+various functions internal to GNU @code{make}. The programming
+interfaces provided in this release should not be considered stable:
+functions may be added, removed, or change calling signatures or
+implementations in future versions of GNU @code{make}.
+@end quotation
+@end cartouche
+
+To be useful, loaded objects must be able to interact with GNU
+@code{make}. This interaction includes both interfaces the loaded
+object provides to makefiles and also interfaces @code{make} provides
+to the loaded object to manipulate @code{make}'s operation.
+
+The interface between loaded objects and @code{make} is defined by the
+@file{gnumake.h} C header file. All loaded objects written in C
+should include this header file. Any loaded object not written in C
+will need to implement the interface defined in this header file.
+
+Typically, a loaded object will register one or more new GNU
+@code{make} functions using the @code{gmk_add_function} routine from
+within its setup function. The implementations of these @code{make}
+functions may make use of the @code{gmk_expand} and @code{gmk_eval}
+routines to perform their tasks, then optionally return a string as
+the result of the function expansion.
+
+@subsubheading Loaded Object Licensing
+@cindex loaded object licensing
+@cindex plugin_is_GPL_compatible
+
+Every dynamic extension should define the global symbol
+@code{plugin_is_GPL_compatible} to assert that it has been licensed
+under a GPL-compatible license. If this symbol does not exist,
+@code{make} emits a fatal error and exits when it tries to load your
+extension.
+
+The declared type of the symbol should be @code{int}. It does not need
+to be in any allocated section, though. The code merely asserts that
+the symbol exists in the global scope. Something like this is enough:
+
+@example
+int plugin_is_GPL_compatible;
+@end example
+
+@subsubheading Data Structures
+
+@table @code
+@item gmk_floc
+This structure represents a filename/location pair. It is provided
+when defining items, so GNU @code{make} can inform the user later
+where the definition occurred if necessary.
+@end table
+
+@subsubheading Registering Functions
+@findex gmk_add_function
+
+There is currently one way for makefiles to invoke operations provided
+by the loaded object: through the @code{make} function call
+interface. A loaded object can register one or more new functions
+which may then be invoked from within the makefile in the same way as
+any other function.
+
+Use @code{gmk_add_function} to create a new @code{make} function. Its
+arguments are as follows:
+
+@table @code
+@item name
+The function name. This is what the makefile should use to invoke the
+function. The name must be between 1 and 255 characters long and it
+may only contain alphanumeric, period (@samp{.}), dash (@samp{-}), and
+underscore (@samp{_}) characters. It may not begin with a period.
+
+@item func_ptr
+A pointer to a function that @code{make} will invoke when it expands
+the function in a makefile. This function must be defined by the
+loaded object.
+
+@item min_args
+The minimum number of arguments the function will accept. Must be
+between 0 and 255. GNU @code{make} will check this and fail before
+invoking @code{func_ptr} if the function was invoked with too few
+arguments.
+
+@item max_args
+The maximum number of arguments the function will accept. Must be
+between 0 and 255. GNU @code{make} will check this and fail before
+invoking @code{func_ptr} if the function was invoked with too few
+arguments. If the value is 0, then any number of arguments is
+accepted. If the value is greater than 0, then it must be greater
+than or equal to @code{min_args}.
+
+@item flags
+Flags that specify how this function will operate; the desired flags
+should be OR'd together. If the @code{GMK_FUNC_NOEXPAND} flag is
+given then the function arguments will not be expanded before the
+function is called; otherwise they will be expanded first.
+@end table
+
+@subsubheading Registered Function Interface
+@findex gmk_func_ptr
+
+A function registered with @code{make} must match the
+@code{gmk_func_ptr} type. It will be invoked with three parameters:
+@code{name} (the name of the function), @code{argc} (the number of
+arguments to the function), and @code{argv} (an array of pointers to
+arguments to the function). The last pointer (that is,
+@code{argv[argc]}) will be null (@code{0}).
+
+The return value of the function is the result of expanding the
+function. If the function expands to nothing the return value may be
+null. Otherwise, it must be a pointer to a string created with
+@code{gmk_alloc}. Once the function returns, @code{make} owns this
+string and will free it when appropriate; it cannot be accessed by the
+loaded object.
+
+@subsubheading GNU @code{make} Facilities
+
+There are some facilities exported by GNU @code{make} for use by
+loaded objects. Typically these would be run from within the
+setup function and/or the functions registered via
+@code{gmk_add_function}, to retrieve or modify the data @code{make}
+works with.
+
+@table @code
+@item gmk_expand
+@findex gmk_expand
+This function takes a string and expands it using @code{make}
+expansion rules. The result of the expansion is returned in a
+nil-terminated string buffer. The caller is responsible for calling
+@code{gmk_free} with a pointer to the returned buffer when done.
+
+@item gmk_eval
+@findex gmk_eval
+This function takes a buffer and evaluates it as a segment of makefile
+syntax. This function can be used to define new variables, new rules,
+etc. It is equivalent to using the @code{eval} @code{make} function.
+@end table
+
+Note that there is a difference between @code{gmk_eval} and calling
+@code{gmk_expand} with a string using the @code{eval} function: in
+the latter case the string will be expanded @emph{twice}; once by
+@code{gmk_expand} and then again by the @code{eval} function. Using
+@code{gmk_eval} the buffer is only expanded once, at most (as it's
+read by the @code{make} parser).
+
+@subsubheading Memory Management
+
+Some systems allow for different memory management schemes. Thus you
+should never pass memory that you've allocated directly to any
+@code{make} function, nor should you attempt to directly free any
+memory returned to you by any @code{make} function. Instead, use the
+@code{gmk_alloc} and @code{gmk_free} functions.
+
+In particular, the string returned to @code{make} by a function
+registered using @code{gmk_add_function} @emph{must} be allocated
+using @code{gmk_alloc}, and the string returned from the @code{make}
+@code{gmk_expand} function @emph{must} be freed (when no longer
+needed) using @code{gmk_free}.
+
+@table @code
+@item gmk_alloc
+@findex gmk_alloc
+Return a pointer to a newly-allocated buffer. This function will
+always return a valid pointer; if not enough memory is available
+@code{make} will exit.
+
+@item gmk_free
+@findex gmk_free
+Free a buffer returned to you by @code{make}. Once the
+@code{gmk_free} function returns the string will no longer be valid.
+@end table
+
+@node Loaded Object Example, , Loaded Object API, Loading Objects
+@subsection Example Loaded Object
+@cindex loaded object example
+@cindex example of loaded objects
+
+Let's suppose we wanted to write a new GNU @code{make} function that
+would create a temporary file and return its name. We would like our
+function to take a prefix as an argument. First we can write the
+function in a file @file{mk_temp.c}:
+
+@example
+@group
+#include <stdlib.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <errno.h>
+
+#include <gnumake.h>
+
+int plugin_is_GPL_compatible;
+
+char *
+gen_tmpfile(const char *nm, int argc, char **argv)
+@{
+ int fd;
+
+ /* Compute the size of the filename and allocate space for it. */
+ int len = strlen (argv[0]) + 6 + 1;
+ char *buf = gmk_alloc (len);
+
+ strcpy (buf, argv[0]);
+ strcat (buf, "XXXXXX");
+
+ fd = mkstemp(buf);
+ if (fd >= 0)
+ @{
+ /* Don't leak the file descriptor. */
+ close (fd);
+ return buf;
+ @}
+
+ /* Failure. */
+ fprintf (stderr, "mkstemp(%s) failed: %s\n", buf, strerror (errno));
+ gmk_free (buf);
+ return NULL;
+@}
+
+int
+mk_temp_gmk_setup ()
+@{
+ /* Register the function with make name "mk-temp". */
+ gmk_add_function ("mk-temp", gen_tmpfile, 1, 1, 1);
+ return 1;
+@}
+@end group
+@end example
+
+Next, we will write a makefile that can build this shared object, load
+it, and use it:
+
+@example
+@group
+all:
+ @@echo Temporary file: $(mk-temp tmpfile.)
+
+load mk_temp.so
+
+mk_temp.so: mk_temp.c
+ $(CC) -shared -fPIC -o $@ $<
+@end group
+@end example
+
+On MS-Windows, due to peculiarities of how shared objects are
+produced, the compiler needs to scan the @dfn{import library} produced
+when building @code{make}, typically called
+@file{libgnumake-@var{version}.dll.a}, where @var{version} is the
+version of the load object API. So the recipe to produce a shared
+object will look on Windows like this (assuming the API version is 1):
+
+@example
+@group
+mk_temp.dll: mk_temp.c
+ $(CC) -shared -o $@ $< -lgnumake-1
+@end group
+@end example
+
+Now when you run @code{make} you'll see something like:
+
+@example
+$ make
+cc -shared -fPIC -o mk_temp.so mk_temp.c
+Temporary filename: tmpfile.A7JEwd
+@end example
+
+@node Features, Missing, Extending make, Top
@chapter Features of GNU @code{make}
@cindex features of GNU @code{make}
@cindex portability
@@ -10349,7 +11398,7 @@ Implicit Rules}) allows one pattern rule for installing members in an
archive (@pxref{Archive Update}) to be sufficient.
@item
-The arrangement of lines and backslash-newline combinations in
+The arrangement of lines and backslash/newline combinations in
recipes is retained when the recipes are printed, so they appear as
they do in the makefile, except for the stripping of initial
whitespace.
@@ -10392,6 +11441,11 @@ many incarnations of @code{make} and similar programs, though not in the
System V or BSD implementations. @xref{Execution, ,Recipe Execution}.
@item
+A number of different build tools that support parallelism also
+support collecting output and displaying as a single block.
+@xref{Parallel Output, ,Output During Parallel Execution}.
+
+@item
Modified variable references using pattern substitution come from
SunOS 4. @xref{Reference, ,Basics of Variable References}.
This functionality was provided in GNU @code{make} by the
@@ -10420,6 +11474,17 @@ nonexistent file comes from SunOS 4 @code{make}. (But note that SunOS 4
@code{make} does not allow multiple makefiles to be specified in one
@code{-include} directive.) The same feature appears with the name
@code{sinclude} in SGI @code{make} and perhaps others.
+
+@item
+The @code{!=} shell assignment operator exists in many BSD of
+@code{make} and is purposefully implemented here to behave identically
+to those implementations.
+
+@item
+Various build management tools are implemented using scripting
+languages such as Perl or Python and thus provide a natural embedded
+scripting language, similar to GNU @code{make}'s integration of GNU
+Guile.
@end itemize
The remaining features are inventions new in GNU @code{make}:
@@ -10523,12 +11588,11 @@ functionality in that it will check out SCCS files for makefiles.
@item
Various new built-in implicit rules.
-@xref{Catalogue of Rules, ,Catalogue of Implicit Rules}.
+@xref{Catalogue of Rules, ,Catalogue of Built-In Rules}.
@item
-The built-in variable @samp{MAKE_VERSION} gives the version number of
-@code{make}.
-@vindex MAKE_VERSION
+Load dynamic objects which can modify the behavior of @code{make}.
+@xref{Loading Objects, ,Loading Dynamic Objects}.
@end itemize
@node Missing, Makefile Conventions, Features, Top
@@ -10549,7 +11613,7 @@ of archive file @var{file}. The member is chosen, not by name, but by
being an object file which defines the linker symbol @var{entry}.@refill
This feature was not put into GNU @code{make} because of the
-nonmodularity of putting knowledge into @code{make} of the internal
+non-modularity of putting knowledge into @code{make} of the internal
format of archive file symbol tables.
@xref{Archive Symbols, ,Updating Archive Symbol Directories}.
@@ -10647,7 +11711,7 @@ special treatment.
This appendix summarizes the directives, text manipulation functions,
and special variables which GNU @code{make} understands.
-@xref{Special Targets}, @ref{Catalogue of Rules, ,Catalogue of Implicit Rules},
+@xref{Special Targets}, @ref{Catalogue of Rules, ,Catalogue of Built-In Rules},
and @ref{Options Summary, ,Summary of Options},
for other summaries.
@@ -10657,6 +11721,7 @@ Here is a summary of the directives GNU @code{make} recognizes:
@item define @var{variable}
@itemx define @var{variable} =
@itemx define @var{variable} :=
+@itemx define @var{variable} ::=
@itemx define @var{variable} +=
@itemx define @var{variable} ?=
@itemx endef
@@ -10871,6 +11936,11 @@ Evaluate @var{text} then read the results as makefile commands.
Expands to the empty string.@*
@xref{Eval Function, ,The @code{eval} Function}.
+@item $(file @var{op} @var{filename},@var{text})
+Expand the arguments, then open the file @var{filename} using mode
+@var{op} and write @var{text} to that file.@*
+@xref{File Function, ,The @code{file} Function}.
+
@item $(value @var{var})
Evaluates to the contents of the variable @var{var}, with no expansion
performed on it.@*
@@ -10970,6 +12040,18 @@ The name with which @code{make} was invoked. Using this variable in
recipes has special meaning. @xref{MAKE Variable, ,How the
@code{MAKE} Variable Works}.
+@item MAKE_VERSION
+
+The built-in variable @samp{MAKE_VERSION} expands to the version
+number of the GNU @code{make} program.
+@vindex MAKE_VERSION
+
+@item MAKE_HOST
+
+The built-in variable @samp{MAKE_HOST} expands to a string
+representing the host that GNU @code{make} was built to run on.
+@vindex MAKE_HOST
+
@item MAKELEVEL
The number of levels of recursion (sub-@code{make}s).@*
@@ -10986,6 +12068,17 @@ recipe line: its contents may not be quoted correctly for use in the
shell. Always allow recursive @code{make}'s to obtain these values
through the environment from its parent.
+@item GNUMAKEFLAGS
+
+Other flags parsed by @code{make}. You can set this in the environment or
+a makefile to set @code{make} command-line flags. GNU @code{make}
+never sets this variable itself. This variable is only needed if
+you'd like to set GNU @code{make}-specific flags in a POSIX-compliant
+makefile. This variable will be seen by GNU @code{make} and ignored
+by other @code{make} implementations. It's not needed if you only use
+GNU @code{make}; just use @code{MAKEFLAGS} directly.
+@xref{Options/Recursion, ,Communicating Options to a Sub-@code{make}}.
+
@item MAKECMDGOALS
The targets given to @code{make} on the command line. Setting this
@@ -11024,7 +12117,7 @@ option. Errors that are fatal are prefixed with the string
Error messages are all either prefixed with the name of the program
(usually @samp{make}), or, if the error is found in a makefile, the name
-of the file and linenumber containing the problem.
+of the file and line number containing the problem.
In the table below, these common prefixes are left off.
@@ -11038,7 +12131,7 @@ non-0 error code (@samp{Error @var{NN}}), which @code{make} interprets
as failure, or it exited in some other abnormal fashion (with a
signal of some type). @xref{Errors, ,Errors in Recipes}.
-If no @code{***} is attached to the message, then the subprocess failed
+If no @code{***} is attached to the message, then the sub-process failed
but the rule in the makefile was prefixed with the @code{-} special
character, so @code{make} ignored the error.
@@ -11078,7 +12171,7 @@ either explicit or implicit (including in the default rules database).
If you want that file to be built, you will need to add a rule to your
makefile describing how that target can be built. Other possible
-sources of this problem are typos in the makefile (if that filename is
+sources of this problem are typos in the makefile (if that file name is
wrong) or a corrupted source tree (if that file is not supposed to be
built, but rather only a prerequisite).
@@ -11112,9 +12205,9 @@ prerequisites, etc., one of them depended on @var{xxx} again.
@item Recursive variable `@var{xxx}' references itself (eventually). Stop.
This means you've defined a normal (recursive) @code{make} variable
@var{xxx} that, when it's expanded, will refer to itself (@var{xxx}).
-This is not allowed; either use simply-expanded variables (@code{:=}) or
-use the append operator (@code{+=}). @xref{Using Variables, ,How to Use
-Variables}.
+This is not allowed; either use simply-expanded variables (@samp{:=}
+or @samp{::=}) or use the append operator (@samp{+=}). @xref{Using
+Variables, ,How to Use Variables}.
@item Unterminated variable reference. Stop.
This means you forgot to provide the proper closing parenthesis
@@ -11129,12 +12222,15 @@ of its arguments. @xref{Functions, ,Functions for Transforming Text}.
@itemx multiple target patterns. Stop.
@itemx target pattern contains no `%'. Stop.
@itemx mixed implicit and static pattern rules. Stop.
-These are generated for malformed static pattern rules. The first means
-there's no pattern in the target section of the rule; the second means
-there are multiple patterns in the target section; the third means
-the target doesn't contain a pattern character (@code{%}); and the
-fourth means that all three parts of the static pattern rule contain
-pattern characters (@code{%})--only the first two parts should.
+These are generated for malformed static pattern rules. The first
+means there's no pattern in the target section of the rule; the second
+means there are multiple patterns in the target section; the third
+means the target doesn't contain a pattern character (@code{%}); and
+the fourth means that all three parts of the static pattern rule
+contain pattern characters (@code{%})--only the first two parts
+should. If you see these errors and you aren't trying to create a
+static pattern rule, check the value of any variables in your target
+and prerequisite lists to be sure they do not contain colons.
@xref{Static Usage, ,Syntax of Static Pattern Rules}.
@item warning: -jN forced in submake: disabling jobserver mode.
@@ -11167,7 +12263,8 @@ sequential manner.
@appendix Complex Makefile Example
Here is the makefile for the GNU @code{tar} program. This is a
-moderately complex makefile.
+moderately complex makefile. The first line uses a @code{#!} setting
+to allow the makefile to be executed directly.
Because it is the first target, the default goal is @samp{all}. An
interesting feature of this makefile is that @file{testpad.h} is a
@@ -11203,6 +12300,7 @@ distribution kits.
@example
@group
+#!/usr/bin/make -f
# Generated automatically from Makefile.in by configure.
# Un*x Makefile for GNU tar program.
# Copyright (C) 1991 Free Software Foundation, Inc.
diff --git a/doc/stamp-vti b/doc/stamp-vti
index aac448b3..c46333e3 100644
--- a/doc/stamp-vti
+++ b/doc/stamp-vti
@@ -1,4 +1,4 @@
-@set UPDATED 19 July 2010
-@set UPDATED-MONTH July 2010
-@set EDITION 3.82
-@set VERSION 3.82
+@set UPDATED 5 October 2014
+@set UPDATED-MONTH October 2014
+@set EDITION 4.1
+@set VERSION 4.1
diff --git a/doc/version.texi b/doc/version.texi
index aac448b3..c46333e3 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -1,4 +1,4 @@
-@set UPDATED 19 July 2010
-@set UPDATED-MONTH July 2010
-@set EDITION 3.82
-@set VERSION 3.82
+@set UPDATED 5 October 2014
+@set UPDATED-MONTH October 2014
+@set EDITION 4.1
+@set VERSION 4.1
diff --git a/dosbuild.bat b/dosbuild.bat
index c911e186..fac2e881 100644
--- a/dosbuild.bat
+++ b/dosbuild.bat
@@ -1,6 +1,5 @@
@echo off
-rem Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-rem 2008, 2009, 2010 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
@@ -21,6 +20,7 @@ echo Building Make for MSDOS
rem Echo ON so they will see what is going on.
@echo on
gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g commands.c -o commands.o
+gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g output.c -o output.o
gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g job.c -o job.o
gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g dir.c -o dir.o
gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g file.c -o file.o
@@ -52,9 +52,11 @@ ar rv libglob.a glob.o fnmatch.o
@echo off
cd ..
echo commands.o > respf.$$$
-for %%f in (job dir file misc main read remake rule implicit default variable) do echo %%f.o >> respf.$$$
+for %%f in (job output dir file misc main read remake rule implicit default variable) do echo %%f.o >> respf.$$$
for %%f in (expand function vpath hash strcache version ar arscan signame remote-stub getopt getopt1) do echo %%f.o >> respf.$$$
echo glob/libglob.a >> respf.$$$
+rem gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g guile.c -o guile.o
+rem echo guile.o >> respf.$$$
@echo Linking...
@echo on
gcc -o make.new @respf.$$$
diff --git a/expand.c b/expand.c
index 2315b068..1c87db10 100644
--- a/expand.c
+++ b/expand.c
@@ -1,7 +1,5 @@
/* Variable expansion functions for GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -16,7 +14,7 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
#include <assert.h>
@@ -28,7 +26,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Initially, any errors reported when expanding strings will be reported
against the file where the error appears. */
-const struct 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
@@ -63,8 +61,8 @@ variable_buffer_output (char *ptr, const char *string, unsigned int length)
{
unsigned int offset = ptr - variable_buffer;
variable_buffer_length = (newlen + 100 > 2 * variable_buffer_length
- ? newlen + 100
- : 2 * variable_buffer_length);
+ ? newlen + 100
+ : 2 * variable_buffer_length);
variable_buffer = xrealloc (variable_buffer, variable_buffer_length);
ptr = variable_buffer + offset;
}
@@ -98,8 +96,8 @@ char *
recursively_expand_for_file (struct variable *v, struct file *file)
{
char *value;
- const struct floc *this_var;
- const struct floc **saved_varp;
+ const gmk_floc *this_var;
+ const gmk_floc **saved_varp;
struct variable_set_list *save = 0;
int set_reading = 0;
@@ -123,9 +121,9 @@ recursively_expand_for_file (struct variable *v, struct file *file)
{
if (!v->exp_count)
/* Expanding V causes infinite recursion. Lose. */
- fatal (*expanding_var,
- _("Recursive variable `%s' references itself (eventually)"),
- v->name);
+ OS (fatal, *expanding_var,
+ _("Recursive variable '%s' references itself (eventually)"),
+ v->name);
--v->exp_count;
}
@@ -187,7 +185,7 @@ reference_variable (char *o, const char *name, unsigned int length)
LENGTH bytes of STRING are actually scanned. If LENGTH is -1, scan until
a null byte is found.
- Write the results to LINE, which must point into `variable_buffer'. If
+ Write the results to LINE, which must point into 'variable_buffer'. If
LINE is NULL, start at the beginning of the buffer.
Return a pointer to LINE, or to the beginning of the buffer if LINE is
NULL.
@@ -197,12 +195,12 @@ variable_expand_string (char *line, const char *string, long length)
{
struct variable *v;
const char *p, *p1;
- char *abuf = NULL;
+ char *save;
char *o;
unsigned int line_offset;
if (!line)
- line = initialize_variable_output();
+ line = initialize_variable_output ();
o = line;
line_offset = line - variable_buffer;
@@ -212,133 +210,126 @@ variable_expand_string (char *line, const char *string, long length)
return (variable_buffer);
}
- /* If we want a subset of the string, allocate a temporary buffer for it.
- Most of the functions we use here don't work with length limits. */
- if (length > 0 && string[length] != '\0')
- {
- abuf = xmalloc(length+1);
- memcpy(abuf, string, length);
- abuf[length] = '\0';
- string = abuf;
- }
- p = string;
+ /* We need a copy of STRING: due to eval, it's possible that it will get
+ freed as we process it (it might be the value of a variable that's reset
+ for example). Also having a nil-terminated string is handy. */
+ save = length < 0 ? xstrdup (string) : xstrndup (string, length);
+ p = save;
while (1)
{
/* Copy all following uninteresting chars all at once to the
variable output buffer, and skip them. Uninteresting chars end
- at the next $ or the end of the input. */
+ at the next $ or the end of the input. */
p1 = strchr (p, '$');
o = variable_buffer_output (o, p, p1 != 0 ? (unsigned int)(p1 - p) : strlen (p) + 1);
if (p1 == 0)
- break;
+ break;
p = p1 + 1;
/* Dispatch on the char that follows the $. */
switch (*p)
- {
- case '$':
- /* $$ seen means output one $ to the variable output buffer. */
- o = variable_buffer_output (o, p, 1);
- break;
-
- case '(':
- case '{':
- /* $(...) or ${...} is the general case of substitution. */
- {
- char openparen = *p;
- char closeparen = (openparen == '(') ? ')' : '}';
+ {
+ case '$':
+ /* $$ seen means output one $ to the variable output buffer. */
+ o = variable_buffer_output (o, p, 1);
+ break;
+
+ case '(':
+ case '{':
+ /* $(...) or ${...} is the general case of substitution. */
+ {
+ char openparen = *p;
+ char closeparen = (openparen == '(') ? ')' : '}';
const char *begp;
- const char *beg = p + 1;
- char *op;
+ const char *beg = p + 1;
+ char *op;
char *abeg = NULL;
- const char *end, *colon;
-
- op = o;
- begp = p;
- if (handle_function (&op, &begp))
- {
- o = op;
- p = begp;
- break;
- }
-
- /* Is there a variable reference inside the parens or braces?
- If so, expand it before expanding the entire reference. */
-
- end = strchr (beg, closeparen);
- if (end == 0)
+ const char *end, *colon;
+
+ op = o;
+ begp = p;
+ if (handle_function (&op, &begp))
+ {
+ o = op;
+ p = begp;
+ break;
+ }
+
+ /* Is there a variable reference inside the parens or braces?
+ If so, expand it before expanding the entire reference. */
+
+ end = strchr (beg, closeparen);
+ if (end == 0)
/* Unterminated variable reference. */
- fatal (*expanding_var, _("unterminated variable reference"));
- p1 = lindex (beg, end, '$');
- if (p1 != 0)
- {
- /* BEG now points past the opening paren or brace.
- Count parens or braces until it is matched. */
- int count = 0;
- for (p = beg; *p != '\0'; ++p)
- {
- if (*p == openparen)
- ++count;
- else if (*p == closeparen && --count < 0)
- break;
- }
- /* If COUNT is >= 0, there were unmatched opening parens
- or braces, so we go to the simple case of a variable name
- such as `$($(a)'. */
- if (count < 0)
- {
- abeg = expand_argument (beg, p); /* Expand the name. */
- beg = abeg;
- end = strchr (beg, '\0');
- }
- }
- else
- /* Advance P to the end of this reference. After we are
+ O (fatal, *expanding_var, _("unterminated variable reference"));
+ p1 = lindex (beg, end, '$');
+ if (p1 != 0)
+ {
+ /* BEG now points past the opening paren or brace.
+ Count parens or braces until it is matched. */
+ int count = 0;
+ for (p = beg; *p != '\0'; ++p)
+ {
+ if (*p == openparen)
+ ++count;
+ else if (*p == closeparen && --count < 0)
+ break;
+ }
+ /* If COUNT is >= 0, there were unmatched opening parens
+ or braces, so we go to the simple case of a variable name
+ such as '$($(a)'. */
+ if (count < 0)
+ {
+ abeg = expand_argument (beg, p); /* Expand the name. */
+ beg = abeg;
+ end = strchr (beg, '\0');
+ }
+ }
+ else
+ /* Advance P to the end of this reference. After we are
finished expanding this one, P will be incremented to
continue the scan. */
- p = end;
-
- /* This is not a reference to a built-in function and
- any variable references inside are now expanded.
- Is the resultant text a substitution reference? */
-
- colon = lindex (beg, end, ':');
- if (colon)
- {
- /* This looks like a substitution reference: $(FOO:A=B). */
- const char *subst_beg, *subst_end, *replace_beg, *replace_end;
-
- subst_beg = colon + 1;
- subst_end = lindex (subst_beg, end, '=');
- if (subst_end == 0)
- /* There is no = in sight. Punt on the substitution
- reference and treat this as a variable name containing
- a colon, in the code below. */
- colon = 0;
- else
- {
- replace_beg = subst_end + 1;
- replace_end = end;
-
- /* Extract the variable name before the colon
- and look up that variable. */
- v = lookup_variable (beg, colon - beg);
- if (v == 0)
- warn_undefined (beg, colon - beg);
+ p = end;
+
+ /* This is not a reference to a built-in function and
+ any variable references inside are now expanded.
+ Is the resultant text a substitution reference? */
+
+ colon = lindex (beg, end, ':');
+ if (colon)
+ {
+ /* This looks like a substitution reference: $(FOO:A=B). */
+ const char *subst_beg = colon + 1;
+ const char *subst_end = lindex (subst_beg, end, '=');
+ if (subst_end == 0)
+ /* There is no = in sight. Punt on the substitution
+ reference and treat this as a variable name containing
+ a colon, in the code below. */
+ colon = 0;
+ else
+ {
+ const char *replace_beg = subst_end + 1;
+ const char *replace_end = end;
+
+ /* Extract the variable name before the colon
+ and look up that variable. */
+ v = lookup_variable (beg, colon - beg);
+ if (v == 0)
+ warn_undefined (beg, colon - beg);
/* If the variable is not empty, perform the
substitution. */
- if (v != 0 && *v->value != '\0')
- {
- char *pattern, *replace, *ppercent, *rpercent;
- char *value = (v->recursive
+ if (v != 0 && *v->value != '\0')
+ {
+ char *pattern, *replace, *ppercent, *rpercent;
+ char *value = (v->recursive
? recursively_expand (v)
- : v->value);
+ : v->value);
/* Copy the pattern and the replacement. Add in an
extra % at the beginning to use in case there
@@ -356,15 +347,15 @@ variable_expand_string (char *line, const char *string, long length)
/* Look for %. Set the percent pointers properly
based on whether we find one or not. */
- ppercent = find_percent (pattern);
- if (ppercent)
+ ppercent = find_percent (pattern);
+ if (ppercent)
{
++ppercent;
rpercent = find_percent (replace);
if (rpercent)
++rpercent;
}
- else
+ else
{
ppercent = pattern;
rpercent = replace;
@@ -375,64 +366,62 @@ variable_expand_string (char *line, const char *string, long length)
o = patsubst_expand_pat (o, value, pattern, replace,
ppercent, rpercent);
- if (v->recursive)
- free (value);
- }
- }
- }
+ if (v->recursive)
+ free (value);
+ }
+ }
+ }
- if (colon == 0)
- /* This is an ordinary variable reference.
- Look up the value of the variable. */
- o = reference_variable (o, beg, end - beg);
+ if (colon == 0)
+ /* This is an ordinary variable reference.
+ Look up the value of the variable. */
+ o = reference_variable (o, beg, end - beg);
- if (abeg)
- free (abeg);
- }
- break;
+ free (abeg);
+ }
+ break;
- case '\0':
- break;
+ case '\0':
+ break;
- default:
- if (isblank ((unsigned char)p[-1]))
- break;
+ default:
+ if (isblank ((unsigned char)p[-1]))
+ break;
- /* A $ followed by a random char is a variable reference:
- $a is equivalent to $(a). */
+ /* A $ followed by a random char is a variable reference:
+ $a is equivalent to $(a). */
o = reference_variable (o, p, 1);
- break;
- }
+ break;
+ }
if (*p == '\0')
- break;
+ break;
++p;
}
- if (abuf)
- free (abuf);
+ free (save);
variable_buffer_output (o, "", 1);
return (variable_buffer + line_offset);
}
/* Scan LINE for variable references and expansion-function calls.
- Build in `variable_buffer' the result of expanding the references and calls.
+ Build in 'variable_buffer' the result of expanding the references and calls.
Return the address of the resulting string, which is null-terminated
and is valid only until the next time this function is called. */
char *
variable_expand (const char *line)
{
- return variable_expand_string(NULL, line, (long)-1);
+ return variable_expand_string (NULL, line, (long)-1);
}
/* Expand an argument for an expansion function.
The text starting at STR and ending at END is variable-expanded
into a null-terminated string that is returned as the value.
- This is done without clobbering `variable_buffer' or the current
+ This is done without clobbering 'variable_buffer' or the current
variable-expansion that is in progress. */
char *
@@ -442,7 +431,7 @@ expand_argument (const char *str, const char *end)
char *r;
if (str == end)
- return xstrdup("");
+ return xstrdup ("");
if (!end || *end == '\0')
return allocated_variable_expand (str);
@@ -457,8 +446,7 @@ expand_argument (const char *str, const char *end)
r = allocated_variable_expand (tmp);
- if (alloc)
- free (alloc);
+ free (alloc);
return r;
}
@@ -471,7 +459,7 @@ variable_expand_for_file (const char *line, struct file *file)
{
char *result;
struct variable_set_list *savev;
- const struct floc *savef;
+ const gmk_floc *savef;
if (file == 0)
return variable_expand (line);
@@ -499,10 +487,12 @@ variable_expand_for_file (const char *line, struct file *file)
static char *
variable_append (const char *name, unsigned int length,
- const struct variable_set_list *set)
+ const struct variable_set_list *set, int local)
{
const struct variable *v;
char *buf = 0;
+ /* If this set is local and the next is not a parent, then next is local. */
+ int nextlocal = local && set->next_is_parent == 0;
/* If there's nothing left to check, return the empty buffer. */
if (!set)
@@ -511,14 +501,14 @@ variable_append (const char *name, unsigned int length,
/* Try to find the variable in this variable set. */
v = lookup_variable_in_set (name, length, set->set);
- /* If there isn't one, look to see if there's one in a set above us. */
- if (!v)
- return variable_append (name, length, set->next);
+ /* If there isn't one, or this one is private, try the set above us. */
+ if (!v || (!local && v->private_var))
+ return variable_append (name, length, set->next, nextlocal);
/* If this variable type is append, first get any upper values.
If not, initialize the buffer. */
if (v->append)
- buf = variable_append (name, length, set->next);
+ buf = variable_append (name, length, set->next, nextlocal);
else
buf = initialize_variable_output ();
@@ -548,7 +538,8 @@ allocated_variable_append (const struct variable *v)
variable_buffer = 0;
- val = variable_append (v->name, strlen (v->name), current_variable_set_list);
+ val = variable_append (v->name, strlen (v->name),
+ current_variable_set_list, 1);
variable_buffer_output (val, "", 1);
val = variable_buffer;
diff --git a/file.c b/file.c
index 0a4edb25..e1a8e800 100644
--- a/file.c
+++ b/file.c
@@ -1,7 +1,5 @@
/* Target file management for GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -16,12 +14,12 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
#include <assert.h>
-#include "dep.h"
#include "filedef.h"
+#include "dep.h"
#include "job.h"
#include "commands.h"
#include "variable.h"
@@ -56,11 +54,11 @@ static int
file_hash_cmp (const void *x, const void *y)
{
return_ISTRING_COMPARE (((struct file const *) x)->hname,
- ((struct file const *) y)->hname);
+ ((struct file const *) y)->hname);
}
-#ifndef FILE_BUCKETS
-#define FILE_BUCKETS 1007
+#ifndef FILE_BUCKETS
+#define FILE_BUCKETS 1007
#endif
static struct hash_table files;
@@ -105,20 +103,20 @@ lookup_file (const char *name)
#endif
while (name[0] == '.'
#ifdef HAVE_DOS_PATHS
- && (name[1] == '/' || name[1] == '\\')
+ && (name[1] == '/' || name[1] == '\\')
#else
- && name[1] == '/'
+ && name[1] == '/'
#endif
- && name[2] != '\0')
+ && name[2] != '\0')
{
name += 2;
while (*name == '/'
#ifdef HAVE_DOS_PATHS
- || *name == '\\'
+ || *name == '\\'
#endif
- )
- /* Skip following slashes: ".//foo" is "foo", not "/foo". */
- ++name;
+ )
+ /* Skip following slashes: ".//foo" is "foo", not "/foo". */
+ ++name;
}
if (*name == '\0')
@@ -155,7 +153,7 @@ enter_file (const char *name)
struct file file_key;
assert (*name != '\0');
- assert (strcache_iscached (name));
+ assert (! verify_flag || strcache_iscached (name));
#if defined(VMS) && !defined(WANT_CASE_SENSITIVE_TARGETS)
if (*name != '.')
@@ -179,11 +177,14 @@ enter_file (const char *name)
file_slot = (struct file **) hash_find_slot (&files, &file_key);
f = *file_slot;
if (! HASH_VACANT (f) && !f->double_colon)
- return f;
+ {
+ f->builtin = 0;
+ return f;
+ }
new = xcalloc (sizeof (struct file));
new->name = new->hname = name;
- new->update_status = -1;
+ new->update_status = us_none;
if (HASH_VACANT (f))
{
@@ -202,7 +203,7 @@ enter_file (const char *name)
}
/* Rehash FILE to NAME. This is not as simple as resetting
- the `hname' member, since it must be put in a new hash bucket,
+ the 'hname' member, since it must be put in a new hash bucket,
and possibly merged with an existing file called NAME. */
void
@@ -215,6 +216,7 @@ rehash_file (struct file *from_file, const char *to_hname)
struct file *f;
/* If it's already that name, we're done. */
+ from_file->builtin = 0;
file_key.hname = to_hname;
if (! file_hash_cmp (from_file, &file_key))
return;
@@ -259,23 +261,26 @@ rehash_file (struct file *from_file, const char *to_hname)
to_file->cmds = from_file->cmds;
else if (from_file->cmds != to_file->cmds)
{
+ size_t l = strlen (from_file->name);
/* We have two sets of commands. We will go with the
one given in the rule explicitly mentioning this name,
but give a message to let the user know what's going on. */
if (to_file->cmds->fileinfo.filenm != 0)
error (&from_file->cmds->fileinfo,
- _("Recipe was specified for file `%s' at %s:%lu,"),
+ l + strlen (to_file->cmds->fileinfo.filenm) + INTSTR_LENGTH,
+ _("Recipe was specified for file '%s' at %s:%lu,"),
from_file->name, to_file->cmds->fileinfo.filenm,
to_file->cmds->fileinfo.lineno);
else
- error (&from_file->cmds->fileinfo,
- _("Recipe for file `%s' was found by implicit rule search,"),
+ error (&from_file->cmds->fileinfo, l,
+ _("Recipe for file '%s' was found by implicit rule search,"),
from_file->name);
- error (&from_file->cmds->fileinfo,
- _("but `%s' is now considered the same file as `%s'."),
+ l += strlen (to_hname);
+ error (&from_file->cmds->fileinfo, l,
+ _("but '%s' is now considered the same file as '%s'."),
from_file->name, to_hname);
- error (&from_file->cmds->fileinfo,
- _("Recipe for `%s' will be ignored in favor of the one for `%s'."),
+ error (&from_file->cmds->fileinfo, l,
+ _("Recipe for '%s' will be ignored in favor of the one for '%s'."),
to_hname, from_file->name);
}
}
@@ -295,13 +300,14 @@ rehash_file (struct file *from_file, const char *to_hname)
merge_variable_set_lists (&to_file->variables, from_file->variables);
if (to_file->double_colon && from_file->is_target && !from_file->double_colon)
- fatal (NILF, _("can't rename single-colon `%s' to double-colon `%s'"),
- from_file->name, to_hname);
+ OSS (fatal, NILF, _("can't rename single-colon '%s' to double-colon '%s'"),
+ from_file->name, to_hname);
if (!to_file->double_colon && from_file->double_colon)
{
if (to_file->is_target)
- fatal (NILF, _("can't rename double-colon `%s' to single-colon `%s'"),
- from_file->name, to_hname);
+ OSS (fatal, NILF,
+ _("can't rename double-colon '%s' to single-colon '%s'"),
+ from_file->name, to_hname);
else
to_file->double_colon = from_file->double_colon;
}
@@ -320,14 +326,16 @@ rehash_file (struct file *from_file, const char *to_hname)
MERGE (is_target);
MERGE (cmd_target);
MERGE (phony);
+ MERGE (loaded);
MERGE (ignore_vpath);
#undef MERGE
+ to_file->builtin = 0;
from_file->renamed = to_file;
}
/* Rename FILE to NAME. This is not as simple as resetting
- the `name' member, since it must be put in a new hash bucket,
+ the 'name' member, since it must be put in a new hash bucket,
and possibly merged with an existing file called NAME. */
void
@@ -365,52 +373,53 @@ remove_intermediates (int sig)
for ( ; file_slot < file_end; file_slot++)
if (! HASH_VACANT (*file_slot))
{
- struct file *f = *file_slot;
+ struct file *f = *file_slot;
/* Is this file eligible for automatic deletion?
Yes, IFF: it's marked intermediate, it's not secondary, it wasn't
given on the command line, and it's either a -include makefile or
it's not precious. */
- if (f->intermediate && (f->dontcare || !f->precious)
- && !f->secondary && !f->cmd_target)
- {
- int status;
- if (f->update_status == -1)
- /* If nothing would have created this file yet,
- don't print an "rm" command for it. */
- continue;
- if (just_print_flag)
- status = 0;
- else
- {
- status = unlink (f->name);
- if (status < 0 && errno == ENOENT)
- continue;
- }
- if (!f->dontcare)
- {
- if (sig)
- error (NILF, _("*** Deleting intermediate file `%s'"), f->name);
- else
- {
- if (! doneany)
- DB (DB_BASIC, (_("Removing intermediate files...\n")));
- if (!silent_flag)
- {
- if (! doneany)
- {
- fputs ("rm ", stdout);
- doneany = 1;
- }
- else
- putchar (' ');
- fputs (f->name, stdout);
- fflush (stdout);
- }
- }
- if (status < 0)
- perror_with_name ("unlink: ", f->name);
- }
- }
+ if (f->intermediate && (f->dontcare || !f->precious)
+ && !f->secondary && !f->cmd_target)
+ {
+ int status;
+ if (f->update_status == us_none)
+ /* If nothing would have created this file yet,
+ don't print an "rm" command for it. */
+ continue;
+ if (just_print_flag)
+ status = 0;
+ else
+ {
+ status = unlink (f->name);
+ if (status < 0 && errno == ENOENT)
+ continue;
+ }
+ if (!f->dontcare)
+ {
+ if (sig)
+ OS (error, NILF,
+ _("*** Deleting intermediate file '%s'"), f->name);
+ else
+ {
+ if (! doneany)
+ DB (DB_BASIC, (_("Removing intermediate files...\n")));
+ if (!silent_flag)
+ {
+ if (! doneany)
+ {
+ fputs ("rm ", stdout);
+ doneany = 1;
+ }
+ else
+ putchar (' ');
+ fputs (f->name, stdout);
+ fflush (stdout);
+ }
+ }
+ if (status < 0)
+ perror_with_name ("unlink: ", f->name);
+ }
+ }
}
if (doneany && !sig)
@@ -426,7 +435,8 @@ remove_intermediates (int sig)
struct dep *
split_prereqs (char *p)
{
- struct dep *new = PARSE_FILE_SEQ (&p, struct dep, '|', NULL, 0);
+ struct dep *new = PARSE_FILE_SEQ (&p, struct dep, MAP_PIPE, NULL,
+ PARSEFS_NONE);
if (*p)
{
@@ -435,7 +445,7 @@ split_prereqs (char *p)
struct dep *ood;
++p;
- ood = PARSE_FILE_SEQ (&p, struct dep, '\0', NULL, 0);
+ ood = PARSE_SIMPLE_SEQ (&p, struct dep);
if (! new)
new = ood;
@@ -575,12 +585,11 @@ expand_deps (struct file *f)
"$*" so they'll expand properly. */
if (d->staticpattern)
{
- char *o;
- d->name = o = variable_expand ("");
+ char *o = variable_expand ("");
o = subst_expand (o, name, "%", "$*", 1, 2, 0);
*o = '\0';
free (name);
- d->name = name = xstrdup (d->name);
+ d->name = name = xstrdup (variable_buffer);
d->staticpattern = 0;
}
@@ -637,8 +646,8 @@ reset_updating (const void *item)
f->updating = 0;
}
-/* For each dependency of each file, make the `struct dep' point
- at the appropriate `struct file' (which may have to be created).
+/* For each dependency of each file, make the 'struct dep' point
+ at the appropriate 'struct file' (which may have to be created).
Also mark the files depended on by .PRECIOUS, .PHONY, .SILENT,
and various other special targets. */
@@ -693,23 +702,23 @@ snap_deps (void)
for (f = lookup_file (".PRECIOUS"); f != 0; f = f->prev)
for (d = f->deps; d != 0; d = d->next)
for (f2 = d->file; f2 != 0; f2 = f2->prev)
- f2->precious = 1;
+ f2->precious = 1;
for (f = lookup_file (".LOW_RESOLUTION_TIME"); f != 0; f = f->prev)
for (d = f->deps; d != 0; d = d->next)
for (f2 = d->file; f2 != 0; f2 = f2->prev)
- f2->low_resolution_time = 1;
+ f2->low_resolution_time = 1;
for (f = lookup_file (".PHONY"); f != 0; f = f->prev)
for (d = f->deps; d != 0; d = d->next)
for (f2 = d->file; f2 != 0; f2 = f2->prev)
- {
- /* Mark this file as phony nonexistent target. */
- f2->phony = 1;
+ {
+ /* Mark this file as phony nonexistent target. */
+ f2->phony = 1;
f2->is_target = 1;
- f2->last_mtime = NONEXISTENT_MTIME;
- f2->mtime_before_update = NONEXISTENT_MTIME;
- }
+ f2->last_mtime = NONEXISTENT_MTIME;
+ f2->mtime_before_update = NONEXISTENT_MTIME;
+ }
for (f = lookup_file (".INTERMEDIATE"); f != 0; f = f->prev)
/* Mark .INTERMEDIATE deps as intermediate files. */
@@ -741,22 +750,22 @@ snap_deps (void)
if (f != 0 && f->is_target)
{
if (f->deps == 0)
- ignore_errors_flag = 1;
+ ignore_errors_flag = 1;
else
- for (d = f->deps; d != 0; d = d->next)
- for (f2 = d->file; f2 != 0; f2 = f2->prev)
- f2->command_flags |= COMMANDS_NOERROR;
+ for (d = f->deps; d != 0; d = d->next)
+ for (f2 = d->file; f2 != 0; f2 = f2->prev)
+ f2->command_flags |= COMMANDS_NOERROR;
}
f = lookup_file (".SILENT");
if (f != 0 && f->is_target)
{
if (f->deps == 0)
- silent_flag = 1;
+ silent_flag = 1;
else
- for (d = f->deps; d != 0; d = d->next)
- for (f2 = d->file; f2 != 0; f2 = f2->prev)
- f2->command_flags |= COMMANDS_SILENT;
+ for (d = f->deps; d != 0; d = d->next)
+ for (f2 = d->file; f2 != 0; f2 = f2->prev)
+ f2->command_flags |= COMMANDS_SILENT;
}
f = lookup_file (".NOTPARALLEL");
@@ -772,7 +781,7 @@ snap_deps (void)
#endif
}
-/* Set the `command_state' member of FILE and all its `also_make's. */
+/* Set the 'command_state' member of FILE and all its 'also_make's. */
void
set_command_state (struct file *file, enum cmd_state state)
@@ -788,20 +797,22 @@ set_command_state (struct file *file, enum cmd_state state)
/* Convert an external file timestamp to internal form. */
FILE_TIMESTAMP
-file_timestamp_cons (const char *fname, time_t s, int ns)
+file_timestamp_cons (const char *fname, time_t stamp, long int ns)
{
int offset = ORDINARY_MTIME_MIN + (FILE_TIMESTAMP_HI_RES ? ns : 0);
+ FILE_TIMESTAMP s = stamp;
FILE_TIMESTAMP product = (FILE_TIMESTAMP) s << FILE_TIMESTAMP_LO_BITS;
FILE_TIMESTAMP ts = product + offset;
if (! (s <= FILE_TIMESTAMP_S (ORDINARY_MTIME_MAX)
- && product <= ts && ts <= ORDINARY_MTIME_MAX))
+ && product <= ts && ts <= ORDINARY_MTIME_MAX))
{
char buf[FILE_TIMESTAMP_PRINT_LEN_BOUND + 1];
+ const char *f = fname ? fname : _("Current time");
ts = s <= OLD_MTIME ? ORDINARY_MTIME_MIN : ORDINARY_MTIME_MAX;
file_timestamp_sprintf (buf, ts);
- error (NILF, _("%s: Timestamp out of range; substituting %s"),
- fname ? fname : _("Current time"), buf);
+ OSS (error, NILF,
+ _("%s: Timestamp out of range; substituting %s"), f, buf);
}
return ts;
@@ -825,10 +836,10 @@ file_timestamp_now (int *resolution)
struct timespec timespec;
if (clock_gettime (CLOCK_REALTIME, &timespec) == 0)
{
- r = 1;
- s = timespec.tv_sec;
- ns = timespec.tv_nsec;
- goto got_time;
+ r = 1;
+ s = timespec.tv_sec;
+ ns = timespec.tv_nsec;
+ goto got_time;
}
}
# endif
@@ -837,10 +848,10 @@ file_timestamp_now (int *resolution)
struct timeval timeval;
if (gettimeofday (&timeval, 0) == 0)
{
- r = 1000;
- s = timeval.tv_sec;
- ns = timeval.tv_usec * 1000;
- goto got_time;
+ r = 1000;
+ s = timeval.tv_sec;
+ ns = timeval.tv_usec * 1000;
+ goto got_time;
}
}
# endif
@@ -867,8 +878,8 @@ file_timestamp_sprintf (char *p, FILE_TIMESTAMP ts)
if (tm)
sprintf (p, "%04d-%02d-%02d %02d:%02d:%02d",
- tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
- tm->tm_hour, tm->tm_min, tm->tm_sec);
+ tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
+ tm->tm_hour, tm->tm_min, tm->tm_sec);
else if (t < 0)
sprintf (p, "%ld", (long) t);
else
@@ -919,7 +930,27 @@ print_file (const void *item)
{
const struct file *f = item;
+ /* If we're not using builtin targets, don't show them.
+
+ Ideally we'd be able to delete them altogether but currently there's no
+ facility to ever delete a file once it's been added. */
+ if (no_builtin_rules_flag && f->builtin)
+ return;
+
putchar ('\n');
+
+ if (f->cmds && f->cmds->recipe_prefix != cmd_prefix)
+ {
+ fputs (".RECIPEPREFIX = ", stdout);
+ cmd_prefix = f->cmds->recipe_prefix;
+ if (cmd_prefix != RECIPEPREFIX_DEFAULT)
+ putchar (cmd_prefix);
+ putchar ('\n');
+ }
+
+ if (f->variables != 0)
+ print_target_variables (f);
+
if (!f->is_target)
puts (_("# Not a target:"));
printf ("%s:%s", f->name, f->double_colon ? ":" : "");
@@ -933,11 +964,13 @@ print_file (const void *item)
puts (_("# Command line target."));
if (f->dontcare)
puts (_("# A default, MAKEFILES, or -include/sinclude makefile."));
+ if (f->builtin)
+ puts (_("# Builtin rule"));
puts (f->tried_implicit
? _("# Implicit rule search has been done.")
: _("# Implicit rule search has not been done."));
if (f->stem != 0)
- printf (_("# Implicit/static pattern stem: `%s'\n"), f->stem);
+ printf (_("# Implicit/static pattern stem: '%s'\n"), f->stem);
if (f->intermediate)
puts (_("# File is an intermediate prerequisite."));
if (f->also_make != 0)
@@ -945,7 +978,7 @@ print_file (const void *item)
const struct dep *d;
fputs (_("# Also makes:"), stdout);
for (d = f->also_make; d != 0; d = d->next)
- printf (" %s", dep_name (d));
+ printf (" %s", dep_name (d));
putchar ('\n');
}
if (f->last_mtime == UNKNOWN_MTIME)
@@ -973,28 +1006,23 @@ print_file (const void *item)
case cs_not_started:
case cs_finished:
switch (f->update_status)
- {
- case -1:
- break;
- case 0:
- puts (_("# Successfully updated."));
- break;
- case 1:
- assert (question_flag);
- puts (_("# Needs to be updated (-q is set)."));
- break;
- case 2:
- puts (_("# Failed to be updated."));
- break;
- default:
- puts (_("# Invalid value in `update_status' member!"));
- fflush (stdout);
- fflush (stderr);
- abort ();
- }
+ {
+ case us_none:
+ break;
+ case us_success:
+ puts (_("# Successfully updated."));
+ break;
+ case us_question:
+ assert (question_flag);
+ puts (_("# Needs to be updated (-q is set)."));
+ break;
+ case us_failed:
+ puts (_("# Failed to be updated."));
+ break;
+ }
break;
default:
- puts (_("# Invalid value in `command_state' member!"));
+ puts (_("# Invalid value in 'command_state' member!"));
fflush (stdout);
fflush (stderr);
abort ();
@@ -1024,9 +1052,10 @@ print_file_data_base (void)
/* Verify the integrity of the data base of files. */
#define VERIFY_CACHED(_p,_n) \
- do{\
- if (_p->_n && _p->_n[0] && !strcache_iscached (_p->_n)) \
- error (NULL, "%s: Field '%s' not cached: %s\n", _p->name, # _n, _p->_n); \
+ do{ \
+ if (_p->_n && _p->_n[0] && !strcache_iscached (_p->_n)) \
+ error (NULL, strlen (_p->name) + CSTRLEN (# _n) + strlen (_p->_n), \
+ _("%s: Field '%s' not cached: %s"), _p->name, # _n, _p->_n); \
}while(0)
static void
diff --git a/filedef.h b/filedef.h
index 0a621b9b..b8973db1 100644
--- a/filedef.h
+++ b/filedef.h
@@ -1,7 +1,5 @@
/* Definition of target file data structures for GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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,7 +17,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Structure that represents the info on one file
that the makefile says how to make.
- All of these are chained together through `next'. */
+ All of these are chained together through 'next'. */
#include "hash.h"
@@ -28,22 +26,18 @@ struct file
const char *name;
const char *hname; /* Hashed filename */
const char *vpath; /* VPATH/vpath pathname */
- struct dep *deps; /* all dependencies, including duplicates */
- struct commands *cmds; /* Commands to execute for this target. */
- int command_flags; /* Flags OR'd in for cmds; see commands.h. */
- const char *stem; /* Implicit stem, if an implicit
+ struct dep *deps; /* all dependencies, including duplicates */
+ struct commands *cmds; /* Commands to execute for this target. */
+ const char *stem; /* Implicit stem, if an implicit
rule has been used */
- struct dep *also_make; /* Targets that are made by making this. */
- FILE_TIMESTAMP last_mtime; /* File's modtime, if already known. */
- FILE_TIMESTAMP mtime_before_update; /* File's modtime before any updating
- has been performed. */
- struct file *prev; /* Previous entry for same file name;
- used when there are multiple double-colon
- entries for the same file. */
+ struct dep *also_make; /* Targets that are made by making this. */
+ struct file *prev; /* Previous entry for same file name;
+ used when there are multiple double-colon
+ entries for the same file. */
struct file *last; /* Last entry for the same file name. */
/* File that this file was renamed to. After any time that a
- file could be renamed, call `check_renamed' (below). */
+ file could be renamed, call 'check_renamed' (below). */
struct file *renamed;
/* List of variable sets used for this file. */
@@ -61,34 +55,44 @@ struct file
the same file. Otherwise this is null. */
struct file *double_colon;
- short int update_status; /* Status of the last attempt to update,
- or -1 if none has been made. */
-
- enum cmd_state /* State of the commands. */
- { /* Note: It is important that cs_not_started be zero. */
- cs_not_started, /* Not yet started. */
- cs_deps_running, /* Dep commands running. */
- cs_running, /* Commands running. */
- cs_finished /* Commands finished. */
+ FILE_TIMESTAMP last_mtime; /* File's modtime, if already known. */
+ FILE_TIMESTAMP mtime_before_update; /* File's modtime before any updating
+ has been performed. */
+ int command_flags; /* Flags OR'd in for cmds; see commands.h. */
+ enum update_status /* Status of the last attempt to update. */
+ {
+ us_success = 0, /* Successfully updated. Must be 0! */
+ us_none, /* No attempt to update has been made. */
+ us_question, /* Needs to be updated (-q is is set). */
+ us_failed /* Update failed. */
+ } update_status ENUM_BITFIELD (2);
+ enum cmd_state /* State of the commands. */
+ {
+ cs_not_started = 0, /* Not yet started. Must be 0! */
+ cs_deps_running, /* Dep commands running. */
+ cs_running, /* Commands running. */
+ cs_finished /* Commands finished. */
} command_state ENUM_BITFIELD (2);
- unsigned int precious:1; /* Non-0 means don't delete file on quit */
- unsigned int low_resolution_time:1; /* Nonzero if this file's time stamp
- has only one-second resolution. */
+ unsigned int builtin:1; /* True if the file is a builtin rule. */
+ unsigned int precious:1; /* Non-0 means don't delete file on quit */
+ unsigned int loaded:1; /* True if the file is a loaded object. */
+ unsigned int low_resolution_time:1; /* Nonzero if this file's time stamp
+ has only one-second resolution. */
unsigned int tried_implicit:1; /* Nonzero if have searched
- for implicit rule for making
- this file; don't search again. */
- unsigned int updating:1; /* Nonzero while updating deps of this file */
- unsigned int updated:1; /* Nonzero if this file has been remade. */
- unsigned int is_target:1; /* Nonzero if file is described as target. */
- unsigned int cmd_target:1; /* Nonzero if file was given on cmd line. */
- unsigned int phony:1; /* Nonzero if this is a phony file
- i.e., a prerequisite of .PHONY. */
+ for implicit rule for making
+ this file; don't search again. */
+ unsigned int updating:1; /* Nonzero while updating deps of this file */
+ unsigned int updated:1; /* Nonzero if this file has been remade. */
+ unsigned int is_target:1; /* Nonzero if file is described as target. */
+ unsigned int cmd_target:1; /* Nonzero if file was given on cmd line. */
+ unsigned int phony:1; /* Nonzero if this is a phony file
+ i.e., a prerequisite of .PHONY. */
unsigned int intermediate:1;/* Nonzero if this is an intermediate file. */
unsigned int secondary:1; /* Nonzero means remove_intermediates should
not delete it. */
- unsigned int dontcare:1; /* Nonzero if no complaint is to be made if
- this target cannot be remade. */
+ unsigned int dontcare:1; /* Nonzero if no complaint is to be made if
+ this target cannot be remade. */
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. */
@@ -119,7 +123,7 @@ void print_file_data_base (void);
#if FILE_TIMESTAMP_HI_RES
# define FILE_TIMESTAMP_STAT_MODTIME(fname, st) \
- file_timestamp_cons (fname, (st).st_mtime, (st).st_mtim.ST_MTIM_NSEC)
+ file_timestamp_cons (fname, (st).st_mtime, (st).ST_MTIM_NSEC)
#else
# define FILE_TIMESTAMP_STAT_MODTIME(fname, st) \
file_timestamp_cons (fname, (st).st_mtime, 0)
@@ -134,12 +138,12 @@ void print_file_data_base (void);
#define FILE_TIMESTAMP_LO_BITS (FILE_TIMESTAMP_HI_RES ? 30 : 0)
#define FILE_TIMESTAMP_S(ts) (((ts) - ORDINARY_MTIME_MIN) \
- >> FILE_TIMESTAMP_LO_BITS)
+ >> FILE_TIMESTAMP_LO_BITS)
#define FILE_TIMESTAMP_NS(ts) ((int) (((ts) - ORDINARY_MTIME_MIN) \
- & ((1 << FILE_TIMESTAMP_LO_BITS) - 1)))
+ & ((1 << FILE_TIMESTAMP_LO_BITS) - 1)))
/* Upper bound on length of string "YYYY-MM-DD HH:MM:SS.NNNNNNNNN"
- representing a file timestamp. The upper bound is not necessarily 19,
+ representing a file timestamp. The upper bound is not necessarily 29,
since the year might be less than -999 or greater than 9999.
Subtract one for the sign bit if in case file timestamps can be negative;
@@ -156,7 +160,7 @@ void print_file_data_base (void);
* 302 / 1000) \
+ 1 + 1 + 4 + 25)
-FILE_TIMESTAMP file_timestamp_cons (char const *, time_t, int);
+FILE_TIMESTAMP file_timestamp_cons (char const *, time_t, long int);
FILE_TIMESTAMP file_timestamp_now (int *);
void file_timestamp_sprintf (char *p, FILE_TIMESTAMP ts);
@@ -187,13 +191,13 @@ FILE_TIMESTAMP f_mtime (struct file *file, int search);
/* The smallest and largest ordinary timestamps. */
#define ORDINARY_MTIME_MIN (OLD_MTIME + 1)
#define ORDINARY_MTIME_MAX ((FILE_TIMESTAMP_S (NEW_MTIME) \
- << FILE_TIMESTAMP_LO_BITS) \
- + ORDINARY_MTIME_MIN + FILE_TIMESTAMPS_PER_S - 1)
+ << FILE_TIMESTAMP_LO_BITS) \
+ + ORDINARY_MTIME_MIN + FILE_TIMESTAMPS_PER_S - 1)
-/* Modtime value to use for `infinitely new'. We used to get the current time
- from the system and use that whenever we wanted `new'. But that causes
+/* Modtime value to use for 'infinitely new'. We used to get the current time
+ from the system and use that whenever we wanted 'new'. But that causes
trouble when the machine running make and the machine holding a file have
- different ideas about what time it is; and can also lose for `force'
+ different ideas about what time it is; and can also lose for 'force'
targets, which need to be considered newer than anything that depends on
them, even if said dependents' modtimes are in the future. */
#define NEW_MTIME INTEGER_TYPE_MAXIMUM (FILE_TIMESTAMP)
diff --git a/function.c b/function.c
index e2f6c8c9..169c3a17 100644
--- a/function.c
+++ b/function.c
@@ -1,7 +1,5 @@
/* Builtin function expansion for GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -16,7 +14,7 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
#include "filedef.h"
#include "variable.h"
#include "dep.h"
@@ -31,12 +29,16 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
struct function_table_entry
{
+ union {
+ char *(*func_ptr) (char *output, char **argv, const char *fname);
+ gmk_func_ptr alloc_func_ptr;
+ } fptr;
const char *name;
unsigned char len;
unsigned char minimum_args;
unsigned char maximum_args;
- char expand_args;
- char *(*func_ptr) (char *output, char **argv, const char *fname);
+ unsigned char expand_args:1;
+ unsigned char alloc_fn:1;
};
static unsigned long
@@ -85,42 +87,42 @@ subst_expand (char *o, const char *text, const char *subst, const char *replace,
/* The first occurrence of "" in any string is its end. */
o = variable_buffer_output (o, t, strlen (t));
if (rlen > 0)
- o = variable_buffer_output (o, replace, rlen);
+ o = variable_buffer_output (o, replace, rlen);
return o;
}
do
{
if (by_word && slen == 0)
- /* When matching by words, the empty string should match
- the end of each word, rather than the end of the whole text. */
- p = end_of_token (next_token (t));
+ /* When matching by words, the empty string should match
+ the end of each word, rather than the end of the whole text. */
+ p = end_of_token (next_token (t));
else
- {
- p = strstr (t, subst);
- if (p == 0)
- {
- /* No more matches. Output everything left on the end. */
- o = variable_buffer_output (o, t, strlen (t));
- return o;
- }
- }
+ {
+ p = strstr (t, subst);
+ if (p == 0)
+ {
+ /* No more matches. Output everything left on the end. */
+ o = variable_buffer_output (o, t, strlen (t));
+ return o;
+ }
+ }
/* Output everything before this occurrence of the string to replace. */
if (p > t)
- o = variable_buffer_output (o, t, p - t);
+ o = variable_buffer_output (o, t, p - t);
/* If we're substituting only by fully matched words,
- or only at the ends of words, check that this case qualifies. */
+ or only at the ends of words, check that this case qualifies. */
if (by_word
&& ((p > text && !isblank ((unsigned char)p[-1]))
- || (p[slen] != '\0' && !isblank ((unsigned char)p[slen]))))
- /* Struck out. Output the rest of the string that is
- no longer to be replaced. */
- o = variable_buffer_output (o, subst, slen);
+ || ! 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);
else if (rlen > 0)
- /* Output the replacement string. */
- o = variable_buffer_output (o, replace, rlen);
+ /* Output the replacement string. */
+ o = variable_buffer_output (o, replace, rlen);
/* Advance T past the string to be replaced. */
t = p + slen;
@@ -167,7 +169,7 @@ patsubst_expand_pat (char *o, const char *text,
if (!pattern_percent)
/* With no % in the pattern, this is just a simple substitution. */
return subst_expand (o, text, pattern, replace,
- strlen (pattern), strlen (replace), 1);
+ strlen (pattern), strlen (replace), 1);
/* Record the length of PATTERN before and after the %
so we don't have to compute it more than once. */
@@ -180,53 +182,53 @@ patsubst_expand_pat (char *o, const char *text,
/* Is it big enough to match? */
if (len < pattern_prepercent_len + pattern_postpercent_len)
- fail = 1;
+ fail = 1;
/* Does the prefix match? */
if (!fail && pattern_prepercent_len > 0
- && (*t != *pattern
- || t[pattern_prepercent_len - 1] != pattern_percent[-2]
- || !strneq (t + 1, pattern + 1, pattern_prepercent_len - 1)))
- fail = 1;
+ && (*t != *pattern
+ || t[pattern_prepercent_len - 1] != pattern_percent[-2]
+ || !strneq (t + 1, pattern + 1, pattern_prepercent_len - 1)))
+ fail = 1;
/* Does the suffix match? */
if (!fail && pattern_postpercent_len > 0
- && (t[len - 1] != pattern_percent[pattern_postpercent_len - 1]
- || t[len - pattern_postpercent_len] != *pattern_percent
- || !strneq (&t[len - pattern_postpercent_len],
- pattern_percent, pattern_postpercent_len - 1)))
- fail = 1;
+ && (t[len - 1] != pattern_percent[pattern_postpercent_len - 1]
+ || t[len - pattern_postpercent_len] != *pattern_percent
+ || !strneq (&t[len - pattern_postpercent_len],
+ pattern_percent, pattern_postpercent_len - 1)))
+ fail = 1;
if (fail)
- /* It didn't match. Output the string. */
- o = variable_buffer_output (o, t, len);
+ /* It didn't match. Output the string. */
+ o = variable_buffer_output (o, t, len);
else
- {
- /* It matched. Output the replacement. */
-
- /* Output the part of the replacement before the %. */
- o = variable_buffer_output (o, replace, replace_prepercent_len);
-
- if (replace_percent != 0)
- {
- /* Output the part of the matched string that
- matched the % in the pattern. */
- o = variable_buffer_output (o, t + pattern_prepercent_len,
- len - (pattern_prepercent_len
- + pattern_postpercent_len));
- /* Output the part of the replacement after the %. */
- o = variable_buffer_output (o, replace_percent,
- replace_postpercent_len);
- }
- }
+ {
+ /* It matched. Output the replacement. */
+
+ /* Output the part of the replacement before the %. */
+ o = variable_buffer_output (o, replace, replace_prepercent_len);
+
+ if (replace_percent != 0)
+ {
+ /* Output the part of the matched string that
+ matched the % in the pattern. */
+ o = variable_buffer_output (o, t + pattern_prepercent_len,
+ len - (pattern_prepercent_len
+ + pattern_postpercent_len));
+ /* Output the part of the replacement after the %. */
+ o = variable_buffer_output (o, replace_percent,
+ replace_postpercent_len);
+ }
+ }
/* Output a space, but not if the replacement is "". */
if (fail || replace_prepercent_len > 0
- || (replace_percent != 0 && len + replace_postpercent_len > 0))
- {
- o = variable_buffer_output (o, " ", 1);
- doneany = 1;
- }
+ || (replace_percent != 0 && len + replace_postpercent_len > 0))
+ {
+ o = variable_buffer_output (o, " ", 1);
+ doneany = 1;
+ }
}
if (doneany)
/* Kill the last space. */
@@ -267,19 +269,19 @@ patsubst_expand (char *o, const char *text, char *pattern, char *replace)
static const struct function_table_entry *
lookup_function (const char *s)
{
+ struct function_table_entry function_table_entry_key;
const char *e = s;
- while (*e && ( (*e >= 'a' && *e <= 'z') || *e == '-'))
+ while (STOP_SET (*e, MAP_USERFUNC))
e++;
- if (*e == '\0' || isblank ((unsigned char) *e))
- {
- struct function_table_entry function_table_entry_key;
- function_table_entry_key.name = s;
- function_table_entry_key.len = e - s;
- return hash_find_item (&function_table, &function_table_entry_key);
- }
- return 0;
+ if (e == s || !STOP_SET(*e, MAP_NUL|MAP_SPACE))
+ return NULL;
+
+ function_table_entry_key.name = s;
+ function_table_entry_key.len = e - s;
+
+ return hash_find_item (&function_table, &function_table_entry_key);
}
@@ -297,7 +299,7 @@ pattern_matches (const char *pattern, const char *percent, const char *str)
memcpy (new_chars, pattern, len);
percent = find_percent (new_chars);
if (percent == 0)
- return streq (new_chars, str);
+ return streq (new_chars, str);
pattern = new_chars;
}
@@ -331,9 +333,9 @@ find_next_argument (char startparen, char endparen,
else if (*ptr == endparen)
{
- --count;
- if (count < 0)
- return NULL;
+ --count;
+ if (count < 0)
+ return NULL;
}
else if (*ptr == ',' && !count)
@@ -355,8 +357,8 @@ string_glob (char *line)
struct nameseq *chain;
unsigned int idx;
- chain = PARSE_FILE_SEQ (&line, struct nameseq, '\0', NULL,
- /* We do not want parse_file_seq to strip `./'s.
+ chain = PARSE_FILE_SEQ (&line, struct nameseq, MAP_NUL, NULL,
+ /* We do not want parse_file_seq to strip './'s.
That would break examples like:
$(patsubst ./%.c,obj/%.o,$(wildcard ./?*.c)). */
PARSEFS_NOSTRIP|PARSEFS_NOCACHE|PARSEFS_EXISTS);
@@ -428,17 +430,17 @@ func_join (char *o, char **argv, const char *funcname UNUSED)
tp = find_next_token (&list1_iterator, &len1);
if (tp != 0)
- o = variable_buffer_output (o, tp, len1);
+ o = variable_buffer_output (o, tp, len1);
pp = find_next_token (&list2_iterator, &len2);
if (pp != 0)
- o = variable_buffer_output (o, pp, len2);
+ o = variable_buffer_output (o, pp, len2);
if (tp != 0 || pp != 0)
- {
- o = variable_buffer_output (o, " ", 1);
- doneany = 1;
- }
+ {
+ o = variable_buffer_output (o, " ", 1);
+ doneany = 1;
+ }
}
while (tp != 0 || pp != 0);
if (doneany)
@@ -461,29 +463,29 @@ func_origin (char *o, char **argv, const char *funcname UNUSED)
{
default:
case o_invalid:
- abort ();
- break;
+ abort ();
+ break;
case o_default:
- o = variable_buffer_output (o, "default", 7);
- break;
+ o = variable_buffer_output (o, "default", 7);
+ break;
case o_env:
- o = variable_buffer_output (o, "environment", 11);
- break;
+ o = variable_buffer_output (o, "environment", 11);
+ break;
case o_file:
- o = variable_buffer_output (o, "file", 4);
- break;
+ o = variable_buffer_output (o, "file", 4);
+ break;
case o_env_override:
- o = variable_buffer_output (o, "environment override", 20);
- break;
+ o = variable_buffer_output (o, "environment override", 20);
+ break;
case o_command:
- o = variable_buffer_output (o, "command line", 12);
- break;
+ o = variable_buffer_output (o, "command line", 12);
+ break;
case o_override:
- o = variable_buffer_output (o, "override", 8);
- break;
+ o = variable_buffer_output (o, "override", 8);
+ break;
case o_automatic:
- o = variable_buffer_output (o, "automatic", 9);
- break;
+ o = variable_buffer_output (o, "automatic", 9);
+ break;
}
return o;
@@ -505,16 +507,6 @@ func_flavor (char *o, char **argv, const char *funcname UNUSED)
return o;
}
-#ifdef VMS
-# define IS_PATHSEP(c) ((c) == ']')
-#else
-# ifdef HAVE_DOS_PATHS
-# define IS_PATHSEP(c) ((c) == '/' || (c) == '\\')
-# else
-# define IS_PATHSEP(c) ((c) == '/')
-# endif
-#endif
-
static char *
func_notdir_suffix (char *o, char **argv, const char *funcname)
@@ -525,44 +517,61 @@ func_notdir_suffix (char *o, char **argv, const char *funcname)
int doneany =0;
unsigned int len=0;
- int is_suffix = streq (funcname, "suffix");
+ int is_suffix = funcname[0] == 's';
int is_notdir = !is_suffix;
+ int stop = MAP_DIRSEP | (is_suffix ? MAP_DOT : 0);
+#ifdef VMS
+ /* For VMS list_iterator points to a comma separated list. To use the common
+ [find_]next_token, create a local copy and replace the commas with
+ spaces. Obviously, there is a problem if there is a ',' in the VMS filename
+ (can only happen on ODS5), the same problem as with spaces in filenames,
+ which seems to be present in make on all platforms. */
+ char *vms_list_iterator = alloca(strlen(list_iterator) + 1);
+ int i;
+ for (i = 0; list_iterator[i]; i++)
+ if (list_iterator[i] == ',')
+ vms_list_iterator[i] = ' ';
+ else
+ vms_list_iterator[i] = list_iterator[i];
+ vms_list_iterator[i] = list_iterator[i];
+ while ((p2 = find_next_token((const char**) &vms_list_iterator, &len)) != 0)
+#else
while ((p2 = find_next_token (&list_iterator, &len)) != 0)
+#endif
{
- const char *p = p2 + len;
-
+ const char *p = p2 + len - 1;
- while (p >= p2 && (!is_suffix || *p != '.'))
- {
- if (IS_PATHSEP (*p))
- break;
- --p;
- }
+ while (p >= p2 && ! STOP_SET (*p, stop))
+ --p;
if (p >= p2)
- {
- if (is_notdir)
- ++p;
- else if (*p != '.')
- continue;
- o = variable_buffer_output (o, p, len - (p - p2));
- }
+ {
+ if (is_notdir)
+ ++p;
+ else if (*p != '.')
+ continue;
+ o = variable_buffer_output (o, p, len - (p - p2));
+ }
#ifdef HAVE_DOS_PATHS
/* Handle the case of "d:foo/bar". */
- else if (streq (funcname, "notdir") && p2[0] && p2[1] == ':')
- {
- p = p2 + 2;
- o = variable_buffer_output (o, p, len - (p - p2));
- }
+ else if (is_notdir && p2[0] && p2[1] == ':')
+ {
+ p = p2 + 2;
+ o = variable_buffer_output (o, p, len - (p - p2));
+ }
#endif
else if (is_notdir)
- o = variable_buffer_output (o, p2, len);
+ o = variable_buffer_output (o, p2, len);
if (is_notdir || p >= p2)
- {
- o = variable_buffer_output (o, " ", 1);
- doneany = 1;
- }
+ {
+#ifdef VMS
+ o = variable_buffer_output (o, ",", 1);
+#else
+ o = variable_buffer_output (o, " ", 1);
+#endif
+ doneany = 1;
+ }
}
if (doneany)
@@ -579,21 +588,30 @@ func_basename_dir (char *o, char **argv, const char *funcname)
/* Expand the argument. */
const char *p3 = argv[0];
const char *p2;
- int doneany=0;
- unsigned int len=0;
-
- int is_basename= streq (funcname, "basename");
- int is_dir= !is_basename;
+ int doneany = 0;
+ unsigned int len = 0;
+ int is_basename = funcname[0] == 'b';
+ int is_dir = !is_basename;
+ 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);
+ int i;
+ for (i = 0; p3[i]; i++)
+ if (p3[i] == ',')
+ vms_p3[i] = ' ';
+ else
+ vms_p3[i] = p3[i];
+ vms_p3[i] = p3[i];
+ while ((p2 = find_next_token((const char**) &vms_p3, &len)) != 0)
+#else
while ((p2 = find_next_token (&p3, &len)) != 0)
+#endif
{
- const char *p = p2 + len;
- while (p >= p2 && (!is_basename || *p != '.'))
- {
- if (IS_PATHSEP (*p))
- break;
- --p;
- }
+ const char *p = p2 + len - 1;
+ while (p >= p2 && ! STOP_SET (*p, stop))
+ --p;
if (p >= p2 && (is_dir))
o = variable_buffer_output (o, p2, ++p - p2);
@@ -618,7 +636,11 @@ func_basename_dir (char *o, char **argv, const char *funcname)
/* The entire name is the basename. */
o = variable_buffer_output (o, p2, len);
+#ifdef VMS
+ o = variable_buffer_output (o, ",", 1);
+#else
o = variable_buffer_output (o, " ", 1);
+#endif
doneany = 1;
}
@@ -634,7 +656,7 @@ func_addsuffix_addprefix (char *o, char **argv, const char *funcname)
{
int fixlen = strlen (argv[0]);
const char *list_iterator = argv[1];
- int is_addprefix = streq (funcname, "addprefix");
+ int is_addprefix = funcname[3] == 'p';
int is_addsuffix = !is_addprefix;
int doneany = 0;
@@ -644,10 +666,10 @@ func_addsuffix_addprefix (char *o, char **argv, const char *funcname)
while ((p = find_next_token (&list_iterator, &len)) != 0)
{
if (is_addprefix)
- o = variable_buffer_output (o, argv[0], fixlen);
+ o = variable_buffer_output (o, argv[0], fixlen);
o = variable_buffer_output (o, p, len);
if (is_addsuffix)
- o = variable_buffer_output (o, argv[0], fixlen);
+ o = variable_buffer_output (o, argv[0], fixlen);
o = variable_buffer_output (o, " ", 1);
doneany = 1;
}
@@ -663,7 +685,7 @@ static char *
func_subst (char *o, char **argv, const char *funcname UNUSED)
{
o = subst_expand (o, argv[2], argv[0], argv[1], strlen (argv[0]),
- strlen (argv[1]), 0);
+ strlen (argv[1]), 0);
return o;
}
@@ -706,7 +728,7 @@ func_words (char *o, char **argv, const char *funcname UNUSED)
const char *word_iterator = argv[0];
char buf[20];
- while (find_next_token (&word_iterator, (unsigned int *) 0) != 0)
+ while (find_next_token (&word_iterator, NULL) != 0)
++i;
sprintf (buf, "%d", i);
@@ -738,11 +760,11 @@ check_numeric (const char *s, const char *msg)
strip_whitespace (&s, &end);
for (; s <= end; ++s)
- if (!ISDIGIT (*s)) /* ISDIGIT only evals its arg once: see make.h. */
+ if (!ISDIGIT (*s)) /* ISDIGIT only evals its arg once: see makeint.h. */
break;
if (s <= end || end - beg < 0)
- fatal (*expanding_var, "%s: '%s'", msg, beg);
+ OSS (fatal, *expanding_var, "%s: '%s'", msg, beg);
}
@@ -755,12 +777,12 @@ func_word (char *o, char **argv, const char *funcname UNUSED)
int i;
/* Check the first argument. */
- check_numeric (argv[0], _("non-numeric first argument to `word' function"));
+ check_numeric (argv[0], _("non-numeric first argument to 'word' function"));
i = atoi (argv[0]);
if (i == 0)
- fatal (*expanding_var,
- _("first argument to `word' function must be greater than 0"));
+ O (fatal, *expanding_var,
+ _("first argument to 'word' function must be greater than 0"));
end_p = argv[1];
while ((p = find_next_token (&end_p, 0)) != 0)
@@ -780,14 +802,14 @@ func_wordlist (char *o, char **argv, const char *funcname UNUSED)
/* Check the arguments. */
check_numeric (argv[0],
- _("non-numeric first argument to `wordlist' function"));
+ _("non-numeric first argument to 'wordlist' function"));
check_numeric (argv[1],
- _("non-numeric second argument to `wordlist' function"));
+ _("non-numeric second argument to 'wordlist' function"));
start = atoi (argv[0]);
if (start < 1)
- fatal (*expanding_var,
- "invalid first argument to `wordlist' function: `%d'", start);
+ ON (fatal, *expanding_var,
+ "invalid first argument to 'wordlist' function: '%d'", start);
count = atoi (argv[1]) - start + 1;
@@ -896,7 +918,7 @@ a_word_hash_cmp (const void *x, const void *y)
if (result)
return result;
return_STRING_COMPARE (((struct a_word const *) x)->str,
- ((struct a_word const *) y)->str);
+ ((struct a_word const *) y)->str);
}
struct a_pattern
@@ -905,7 +927,6 @@ struct a_pattern
char *str;
char *percent;
int length;
- int save_c;
};
static char *
@@ -919,7 +940,7 @@ func_filter_filterout (char *o, char **argv, const char *funcname)
struct a_pattern *pp;
struct hash_table a_word_table;
- int is_filter = streq (funcname, "filter");
+ int is_filter = funcname[CSTRLEN ("filter")] == '\0';
const char *pat_iterator = argv[0];
const char *word_iterator = argv[1];
int literals = 0;
@@ -928,7 +949,9 @@ func_filter_filterout (char *o, char **argv, const char *funcname)
char *p;
unsigned int len;
- /* Chop ARGV[0] up into patterns to match against the words. */
+ /* Chop ARGV[0] up into patterns to match against the words.
+ We don't need to preserve it because our caller frees all the
+ argument memory anyway. */
pattail = &pathead;
while ((p = find_next_token (&pat_iterator, &len)) != 0)
@@ -939,15 +962,16 @@ func_filter_filterout (char *o, char **argv, const char *funcname)
pattail = &pat->next;
if (*pat_iterator != '\0')
- ++pat_iterator;
+ ++pat_iterator;
pat->str = p;
- pat->length = len;
- pat->save_c = p[len];
p[len] = '\0';
pat->percent = find_percent (p);
if (pat->percent == 0)
- literals++;
+ literals++;
+
+ /* find_percent() might shorten the string so LEN is wrong. */
+ pat->length = strlen (pat->str);
}
*pattail = 0;
@@ -962,7 +986,7 @@ func_filter_filterout (char *o, char **argv, const char *funcname)
wordtail = &word->next;
if (*word_iterator != '\0')
- ++word_iterator;
+ ++word_iterator;
p[len] = '\0';
word->str = p;
@@ -980,11 +1004,11 @@ func_filter_filterout (char *o, char **argv, const char *funcname)
hash_init (&a_word_table, words, a_word_hash_1, a_word_hash_2,
a_word_hash_cmp);
for (wp = wordhead; wp != 0; wp = wp->next)
- {
- struct a_word *owp = hash_insert (&a_word_table, wp);
- if (owp)
- wp->chain = owp;
- }
+ {
+ struct a_word *owp = hash_insert (&a_word_table, wp);
+ if (owp)
+ wp->chain = owp;
+ }
}
if (words)
@@ -993,45 +1017,42 @@ func_filter_filterout (char *o, char **argv, const char *funcname)
/* Run each pattern through the words, killing words. */
for (pp = pathead; pp != 0; pp = pp->next)
- {
- if (pp->percent)
- for (wp = wordhead; wp != 0; wp = wp->next)
- wp->matched |= pattern_matches (pp->str, pp->percent, wp->str);
- else if (hashing)
- {
- struct a_word a_word_key;
- a_word_key.str = pp->str;
- a_word_key.length = pp->length;
- wp = hash_find_item (&a_word_table, &a_word_key);
- while (wp)
- {
- wp->matched |= 1;
- wp = wp->chain;
- }
- }
- else
- for (wp = wordhead; wp != 0; wp = wp->next)
- wp->matched |= (wp->length == pp->length
- && strneq (pp->str, wp->str, wp->length));
- }
+ {
+ if (pp->percent)
+ for (wp = wordhead; wp != 0; wp = wp->next)
+ wp->matched |= pattern_matches (pp->str, pp->percent, wp->str);
+ else if (hashing)
+ {
+ struct a_word a_word_key;
+ a_word_key.str = pp->str;
+ a_word_key.length = pp->length;
+ wp = hash_find_item (&a_word_table, &a_word_key);
+ while (wp)
+ {
+ wp->matched |= 1;
+ wp = wp->chain;
+ }
+ }
+ else
+ for (wp = wordhead; wp != 0; wp = wp->next)
+ wp->matched |= (wp->length == pp->length
+ && strneq (pp->str, wp->str, wp->length));
+ }
/* Output the words that matched (or didn't, for filter-out). */
for (wp = wordhead; wp != 0; wp = wp->next)
- if (is_filter ? wp->matched : !wp->matched)
- {
- o = variable_buffer_output (o, wp->str, strlen (wp->str));
- o = variable_buffer_output (o, " ", 1);
- doneany = 1;
- }
+ if (is_filter ? wp->matched : !wp->matched)
+ {
+ o = variable_buffer_output (o, wp->str, strlen (wp->str));
+ o = variable_buffer_output (o, " ", 1);
+ doneany = 1;
+ }
if (doneany)
- /* Kill the last space. */
- --o;
+ /* Kill the last space. */
+ --o;
}
- for (pp = pathead; pp != 0; pp = pp->next)
- pp->str[pp->length] = pp->save_c;
-
if (hashing)
hash_free (&a_word_table, 0);
@@ -1051,12 +1072,12 @@ func_strip (char *o, char **argv, const char *funcname UNUSED)
const char *word_start;
while (isspace ((unsigned char)*p))
- ++p;
+ ++p;
word_start = p;
for (i=0; *p != '\0' && !isspace ((unsigned char)*p); ++p, ++i)
- {}
+ {}
if (!i)
- break;
+ break;
o = variable_buffer_output (o, word_start, i);
o = variable_buffer_output (o, " ", 1);
doneany = 1;
@@ -1096,22 +1117,23 @@ func_error (char *o, char **argv, const char *funcname)
}
strcpy (p, *argvp);
- switch (*funcname) {
+ switch (*funcname)
+ {
case 'e':
- fatal (reading_file, "%s", msg);
+ OS (fatal, reading_file, "%s", msg);
case 'w':
- error (reading_file, "%s", msg);
+ OS (error, reading_file, "%s", msg);
break;
case 'i':
- printf ("%s\n", msg);
- fflush(stdout);
+ outputs (0, msg);
+ outputs (0, "\n");
break;
default:
- fatal (*expanding_var, "Internal error: func_error: '%s'", funcname);
- }
+ OS (fatal, *expanding_var, "Internal error: func_error: '%s'", funcname);
+ }
/* The warning function expands to the empty string. */
return o;
@@ -1129,25 +1151,17 @@ func_sort (char *o, char **argv, const char *funcname UNUSED)
int wordi;
char *p;
unsigned int len;
- int i;
/* Find the maximum number of words we'll have. */
t = argv[0];
- wordi = 1;
- while (*t != '\0')
+ wordi = 0;
+ while ((p = find_next_token (&t, NULL)) != 0)
{
- char c = *(t++);
-
- if (! isspace ((unsigned char)c))
- continue;
-
+ ++t;
++wordi;
-
- while (isspace ((unsigned char)*t))
- ++t;
}
- words = xmalloc (wordi * sizeof (char *));
+ words = xmalloc ((wordi == 0 ? 1 : wordi) * sizeof (char *));
/* Now assign pointers to each string in the array. */
t = argv[0];
@@ -1161,6 +1175,8 @@ func_sort (char *o, char **argv, const char *funcname UNUSED)
if (wordi)
{
+ int i;
+
/* Now sort the list of words. */
qsort (words, wordi, sizeof (char *), alpha_compare);
@@ -1304,12 +1320,12 @@ static char *
func_and (char *o, char **argv, const char *funcname UNUSED)
{
char *expansion;
- int result;
while (1)
{
const char *begp = *argv;
const char *endp = begp + strlen (*argv) - 1;
+ int result;
/* An empty condition is always false. */
strip_whitespace (&begp, &endp);
@@ -1371,7 +1387,7 @@ func_eval (char *o, char **argv, const char *funcname UNUSED)
install_variable_buffer (&buf, &len);
- eval_buffer (argv[0]);
+ eval_buffer (argv[0], NULL);
restore_variable_buffer (buf, len);
@@ -1387,35 +1403,39 @@ func_value (char *o, char **argv, const char *funcname UNUSED)
/* Copy its value into the output buffer without expanding it. */
if (v)
- o = variable_buffer_output (o, v->value, strlen(v->value));
+ o = variable_buffer_output (o, v->value, strlen (v->value));
return o;
}
/*
- \r is replaced on UNIX as well. Is this desirable?
+ \r is replaced on UNIX as well. Is this desirable?
*/
static void
-fold_newlines (char *buffer, unsigned int *length)
+fold_newlines (char *buffer, unsigned int *length, int trim_newlines)
{
char *dst = buffer;
char *src = buffer;
- char *last_nonnl = buffer -1;
+ char *last_nonnl = buffer - 1;
src[*length] = 0;
for (; *src != '\0'; ++src)
{
if (src[0] == '\r' && src[1] == '\n')
- continue;
+ continue;
if (*src == '\n')
- {
- *dst++ = ' ';
- }
+ {
+ *dst++ = ' ';
+ }
else
- {
- last_nonnl = dst;
- *dst++ = *src;
- }
+ {
+ last_nonnl = dst;
+ *dst++ = *src;
+ }
}
+
+ if (!trim_newlines && (last_nonnl < (dst - 2)))
+ last_nonnl = dst - 2;
+
*(++last_nonnl) = '\0';
*length = last_nonnl - buffer;
}
@@ -1433,85 +1453,130 @@ int shell_function_pid = 0, shell_function_completed;
#include "sub_proc.h"
-void
-windows32_openpipe (int *pipedes, pid_t *pid_p, char **command_argv, char **envp)
+int
+windows32_openpipe (int *pipedes, int errfd, pid_t *pid_p, char **command_argv, char **envp)
{
SECURITY_ATTRIBUTES saAttr;
- HANDLE hIn;
- HANDLE hErr;
+ HANDLE hIn = INVALID_HANDLE_VALUE;
+ HANDLE hErr = INVALID_HANDLE_VALUE;
HANDLE hChildOutRd;
HANDLE hChildOutWr;
- HANDLE hProcess;
+ HANDLE hProcess, tmpIn, tmpErr;
+ DWORD e;
+ /* Set status for return. */
+ pipedes[0] = pipedes[1] = -1;
+ *pid_p = (pid_t)-1;
saAttr.nLength = sizeof (SECURITY_ATTRIBUTES);
saAttr.bInheritHandle = TRUE;
saAttr.lpSecurityDescriptor = NULL;
- if (DuplicateHandle (GetCurrentProcess(),
- GetStdHandle(STD_INPUT_HANDLE),
- GetCurrentProcess(),
- &hIn,
- 0,
- TRUE,
- DUPLICATE_SAME_ACCESS) == FALSE) {
- fatal (NILF, _("windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"),
- GetLastError());
-
- }
- if (DuplicateHandle(GetCurrentProcess(),
- GetStdHandle(STD_ERROR_HANDLE),
- GetCurrentProcess(),
- &hErr,
- 0,
- TRUE,
- DUPLICATE_SAME_ACCESS) == FALSE) {
- fatal (NILF, _("windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"),
- GetLastError());
- }
-
- if (!CreatePipe(&hChildOutRd, &hChildOutWr, &saAttr, 0))
- fatal (NILF, _("CreatePipe() failed (e=%ld)\n"), GetLastError());
-
- hProcess = process_init_fd(hIn, hChildOutWr, hErr);
+ /* Standard handles returned by GetStdHandle can be NULL or
+ INVALID_HANDLE_VALUE if the parent process closed them. If that
+ happens, we open the null device and pass its handle to
+ process_begin below as the corresponding handle to inherit. */
+ tmpIn = GetStdHandle (STD_INPUT_HANDLE);
+ if (DuplicateHandle (GetCurrentProcess (), tmpIn,
+ GetCurrentProcess (), &hIn,
+ 0, TRUE, DUPLICATE_SAME_ACCESS) == FALSE)
+ {
+ e = GetLastError ();
+ if (e == ERROR_INVALID_HANDLE)
+ {
+ tmpIn = CreateFile ("NUL", GENERIC_READ,
+ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
+ OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
+ if (tmpIn != INVALID_HANDLE_VALUE
+ && DuplicateHandle (GetCurrentProcess (), tmpIn,
+ GetCurrentProcess (), &hIn,
+ 0, TRUE, DUPLICATE_SAME_ACCESS) == FALSE)
+ CloseHandle (tmpIn);
+ }
+ if (hIn == INVALID_HANDLE_VALUE)
+ {
+ ON (error, NILF,
+ _("windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"), e);
+ return -1;
+ }
+ }
+ tmpErr = (HANDLE)_get_osfhandle (errfd);
+ if (DuplicateHandle (GetCurrentProcess (), tmpErr,
+ GetCurrentProcess (), &hErr,
+ 0, TRUE, DUPLICATE_SAME_ACCESS) == FALSE)
+ {
+ e = GetLastError ();
+ if (e == ERROR_INVALID_HANDLE)
+ {
+ tmpErr = CreateFile ("NUL", GENERIC_WRITE,
+ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
+ OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
+ if (tmpErr != INVALID_HANDLE_VALUE
+ && DuplicateHandle (GetCurrentProcess (), tmpErr,
+ GetCurrentProcess (), &hErr,
+ 0, TRUE, DUPLICATE_SAME_ACCESS) == FALSE)
+ CloseHandle (tmpErr);
+ }
+ if (hErr == INVALID_HANDLE_VALUE)
+ {
+ ON (error, NILF,
+ _("windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"), e);
+ return -1;
+ }
+ }
+
+ if (! CreatePipe (&hChildOutRd, &hChildOutWr, &saAttr, 0))
+ {
+ ON (error, NILF, _("CreatePipe() failed (e=%ld)\n"), GetLastError());
+ return -1;
+ }
+
+ hProcess = process_init_fd (hIn, hChildOutWr, hErr);
if (!hProcess)
- fatal (NILF, _("windows32_openpipe(): process_init_fd() failed\n"));
+ {
+ O (error, NILF, _("windows32_openpipe(): process_init_fd() failed\n"));
+ return -1;
+ }
/* make sure that CreateProcess() has Path it needs */
- sync_Path_environment();
- /* `sync_Path_environment' may realloc `environ', so take note of
+ sync_Path_environment ();
+ /* 'sync_Path_environment' may realloc 'environ', so take note of
the new value. */
envp = environ;
- if (!process_begin(hProcess, command_argv, envp, command_argv[0], NULL)) {
- /* register process for wait */
- process_register(hProcess);
+ if (! process_begin (hProcess, command_argv, envp, command_argv[0], NULL))
+ {
+ /* register process for wait */
+ process_register (hProcess);
- /* set the pid for returning to caller */
- *pid_p = (pid_t) hProcess;
+ /* set the pid for returning to caller */
+ *pid_p = (pid_t) hProcess;
- /* set up to read data from child */
- pipedes[0] = _open_osfhandle((intptr_t) hChildOutRd, O_RDONLY);
+ /* set up to read data from child */
+ pipedes[0] = _open_osfhandle ((intptr_t) hChildOutRd, O_RDONLY);
- /* this will be closed almost right away */
- pipedes[1] = _open_osfhandle((intptr_t) hChildOutWr, O_APPEND);
- } else {
- /* reap/cleanup the failed process */
- process_cleanup(hProcess);
+ /* this will be closed almost right away */
+ pipedes[1] = _open_osfhandle ((intptr_t) hChildOutWr, O_APPEND);
+ return 0;
+ }
+ else
+ {
+ /* reap/cleanup the failed process */
+ process_cleanup (hProcess);
- /* close handles which were duplicated, they weren't used */
- CloseHandle(hIn);
- CloseHandle(hErr);
+ /* close handles which were duplicated, they weren't used */
+ if (hIn != INVALID_HANDLE_VALUE)
+ CloseHandle (hIn);
+ if (hErr != INVALID_HANDLE_VALUE)
+ CloseHandle (hErr);
- /* close pipe handles, they won't be used */
- CloseHandle(hChildOutRd);
- CloseHandle(hChildOutWr);
+ /* close pipe handles, they won't be used */
+ CloseHandle (hChildOutRd);
+ CloseHandle (hChildOutWr);
- /* set status for return */
- pipedes[0] = pipedes[1] = -1;
- *pid_p = (pid_t)-1;
- }
+ return -1;
+ }
}
#endif
@@ -1521,7 +1586,7 @@ FILE *
msdos_openpipe (int* pipedes, int *pidp, char *text)
{
FILE *fpipe=0;
- /* MSDOS can't fork, but it has `popen'. */
+ /* MSDOS can't fork, but it has 'popen'. */
struct variable *sh = lookup_variable ("SHELL", 5);
int e;
extern int dos_command_running, dos_status;
@@ -1536,7 +1601,7 @@ msdos_openpipe (int* pipedes, int *pidp, char *text)
{
char buf[PATH_MAX + 7];
/* This makes sure $SHELL value is used by $(shell), even
- though the target environment is not passed to it. */
+ though the target environment is not passed to it. */
sprintf (buf, "SHELL=%s", sh->value);
putenv (buf);
}
@@ -1555,9 +1620,9 @@ msdos_openpipe (int* pipedes, int *pidp, char *text)
pipedes[0] = -1;
*pidp = -1;
if (dos_status)
- errno = EINTR;
+ errno = EINTR;
else if (errno == 0)
- errno = ENOMEM;
+ errno = ENOMEM;
shell_function_completed = -1;
}
else
@@ -1578,15 +1643,24 @@ msdos_openpipe (int* pipedes, int *pidp, char *text)
#ifdef VMS
/* VMS can't do $(shell ...) */
+
+char *
+func_shell_base (char *o, char **argv, int trim_newlines)
+{
+ fprintf (stderr, "This platform does not support shell\n");
+ die (MAKE_TROUBLE);
+ return NULL;
+}
+
#define func_shell 0
#else
#ifndef _AMIGA
-static char *
-func_shell (char *o, char **argv, const char *funcname UNUSED)
+char *
+func_shell_base (char *o, char **argv, int trim_newlines)
{
char *batch_filename = NULL;
-
+ int errfd;
#ifdef __MSDOS__
FILE *fpipe;
#endif
@@ -1597,23 +1671,36 @@ func_shell (char *o, char **argv, const char *funcname UNUSED)
pid_t pid;
#ifndef __MSDOS__
+#ifdef WINDOWS32
+ /* Reset just_print_flag. This is needed on Windows when batch files
+ are used to run the commands, because we normally refrain from
+ creating batch files under -n. */
+ int j_p_f = just_print_flag;
+ just_print_flag = 0;
+#endif
+
/* Construct the argument list. */
command_argv = construct_command_argv (argv[0], NULL, NULL, 0,
&batch_filename);
if (command_argv == 0)
- return o;
+ {
+#ifdef WINDOWS32
+ just_print_flag = j_p_f;
+#endif
+ return o;
+ }
#endif
- /* Using a target environment for `shell' loses in cases like:
- export var = $(shell echo foobie)
- because target_environment hits a loop trying to expand $(var)
- to put it in the environment. This is even more confusing when
- var was not explicitly exported, but just appeared in the
- calling environment.
+ /* Using a target environment for 'shell' loses in cases like:
+ export var = $(shell echo foobie)
+ bad := $(var)
+ because target_environment hits a loop trying to expand $(var) to put it
+ in the environment. This is even more confusing when 'var' was not
+ explicitly exported, but just appeared in the calling environment.
See Savannah bug #10593.
- envp = target_environment (NILF);
+ envp = target_environment (NULL);
*/
envp = environ;
@@ -1628,6 +1715,12 @@ func_shell (char *o, char **argv, const char *funcname UNUSED)
else
error_prefix = "";
+ /* Set up the output in case the shell writes something. */
+ output_start ();
+
+ errfd = (output_context && output_context->err >= 0
+ ? output_context->err : FD_STDERR);
+
#if defined(__MSDOS__)
fpipe = msdos_openpipe (pipedes, &pid, argv[0]);
if (pipedes[0] < 0)
@@ -1636,12 +1729,15 @@ func_shell (char *o, char **argv, const char *funcname UNUSED)
return o;
}
#elif defined(WINDOWS32)
- windows32_openpipe (pipedes, &pid, command_argv, envp);
+ windows32_openpipe (pipedes, errfd, &pid, command_argv, envp);
+ /* Restore the value of just_print_flag. */
+ just_print_flag = j_p_f;
+
if (pipedes[0] < 0)
{
- /* open of the pipe failed, mark as failed execution */
+ /* Open of the pipe failed, mark as failed execution. */
shell_function_completed = -1;
-
+ perror_with_name (error_prefix, "pipe");
return o;
}
else
@@ -1657,15 +1753,22 @@ func_shell (char *o, char **argv, const char *funcname UNUSED)
CLOSE_ON_EXEC(pipedes[1]);
CLOSE_ON_EXEC(pipedes[0]);
/* Never use fork()/exec() here! Use spawn() instead in exec_command() */
- pid = child_execute_job (0, pipedes[1], command_argv, envp);
+ pid = child_execute_job (FD_STDIN, pipedes[1], errfd, command_argv, envp);
if (pid < 0)
perror_with_name (error_prefix, "spawn");
# else /* ! __EMX__ */
- pid = vfork ();
+ pid = fork ();
if (pid < 0)
perror_with_name (error_prefix, "fork");
else if (pid == 0)
- child_execute_job (0, pipedes[1], command_argv, envp);
+ {
+# 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
@@ -1685,10 +1788,10 @@ func_shell (char *o, char **argv, const char *funcname UNUSED)
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. */
+ 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 (pipedes[1]);
#endif
/* Set up and read from the pipe. */
@@ -1698,23 +1801,23 @@ func_shell (char *o, char **argv, const char *funcname UNUSED)
/* 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;
- }
+ {
+ 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';
/* Close the read side of the pipe. */
#ifdef __MSDOS__
if (fpipe)
- (void) pclose (fpipe);
+ (void) pclose (fpipe);
#else
(void) close (pipedes[0]);
#endif
@@ -1722,34 +1825,35 @@ func_shell (char *o, char **argv, const char *funcname UNUSED)
/* 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);
+ 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);
- }
+ 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;
/* 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. */
+ 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);
- }
+ {
+ /* 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);
- o = variable_buffer_output (o, buffer, i);
- }
+ {
+ /* 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);
}
@@ -1757,12 +1861,12 @@ func_shell (char *o, char **argv, const char *funcname UNUSED)
return o;
}
-#else /* _AMIGA */
+#else /* _AMIGA */
/* Do the Amiga version of func_shell. */
-static char *
-func_shell (char *o, char **argv, const char *funcname)
+char *
+func_shell_base (char *o, char **argv, int trim_newlines)
{
/* Amiga can't fork nor spawn, but I can start a program with
redirection of my choice. However, this means that we
@@ -1792,7 +1896,7 @@ func_shell (char *o, char **argv, const char *funcname)
return o;
/* Note the mktemp() is a security hole, but this only runs on Amiga.
- Ideally we would use main.c:open_tmpfile(), but this uses a special
+ Ideally we would use output_tmpfile(), but this uses a special
Open(), not fopen(), and I'm not familiar enough with the code to mess
with it. */
strcpy (tmp_output, "t:MakeshXXXXXXXX");
@@ -1827,33 +1931,39 @@ func_shell (char *o, char **argv, const char *funcname)
do
{
if (i == maxlen)
- {
- maxlen += 512;
- buffer = xrealloc (buffer, maxlen + 1);
- }
+ {
+ maxlen += 512;
+ buffer = xrealloc (buffer, maxlen + 1);
+ }
cc = Read (child_stdout, &buffer[i], maxlen - i);
if (cc > 0)
- i += cc;
+ i += cc;
} while (cc > 0);
Close (child_stdout);
- fold_newlines (buffer, &i);
+ fold_newlines (buffer, &i, trim_newlines);
o = variable_buffer_output (o, buffer, i);
free (buffer);
return o;
}
#endif /* _AMIGA */
+
+char *
+func_shell (char *o, char **argv, const char *funcname UNUSED)
+{
+ return func_shell_base (o, argv, 1);
+}
#endif /* !VMS */
#ifdef EXPERIMENTAL
/*
- equality. Return is string-boolean, ie, the empty string is false.
+ equality. Return is string-boolean, i.e., the empty string is false.
*/
static char *
-func_eq (char *o, char **argv, char *funcname)
+func_eq (char *o, char **argv, char *funcname UNUSED)
{
int result = ! strcmp (argv[0], argv[1]);
o = variable_buffer_output (o, result ? "1" : "", result);
@@ -1865,7 +1975,7 @@ func_eq (char *o, char **argv, char *funcname)
string-boolean not operator.
*/
static char *
-func_not (char *o, char **argv, char *funcname)
+func_not (char *o, char **argv, char *funcname UNUSED)
{
const char *s = argv[0];
int result = 0;
@@ -1879,15 +1989,19 @@ func_not (char *o, char **argv, char *funcname)
#ifdef HAVE_DOS_PATHS
-#define IS_ABSOLUTE(n) (n[0] && n[1] == ':')
-#define ROOT_LEN 3
+# ifdef __CYGWIN__
+# define IS_ABSOLUTE(n) ((n[0] && n[1] == ':') || STOP_SET (n[0], MAP_DIRSEP))
+# else
+# define IS_ABSOLUTE(n) (n[0] && n[1] == ':')
+# endif
+# define ROOT_LEN 3
#else
#define IS_ABSOLUTE(n) (n[0] == '/')
#define ROOT_LEN 1
#endif
-/* Return the absolute name of file NAME which does not contain any `.',
- `..' components nor any repeated path separators ('/'). */
+/* Return the absolute name of file NAME which does not contain any '.',
+ '..' components nor any repeated path separators ('/'). */
static char *
abspath (const char *name, char *apath)
@@ -1905,50 +2019,54 @@ abspath (const char *name, char *apath)
{
/* It is unlikely we would make it until here but just to make sure. */
if (!starting_directory)
- return NULL;
+ return NULL;
strcpy (apath, starting_directory);
#ifdef HAVE_DOS_PATHS
- if (IS_PATHSEP(name[0]))
- {
- if (IS_PATHSEP(name[1]))
- {
- /* A UNC. Don't prepend a drive letter. */
- apath[0] = name[0];
- apath[1] = name[1];
- root_len = 2;
- }
- /* We have /foo, an absolute file name except for the drive
- letter. Assume the missing drive letter is the current
- drive, which we can get if we remove from starting_directory
- everything past the root directory. */
- apath[root_len] = '\0';
- }
+ if (STOP_SET (name[0], MAP_DIRSEP))
+ {
+ if (STOP_SET (name[1], MAP_DIRSEP))
+ {
+ /* A UNC. Don't prepend a drive letter. */
+ apath[0] = name[0];
+ apath[1] = name[1];
+ root_len = 2;
+ }
+ /* We have /foo, an absolute file name except for the drive
+ letter. Assume the missing drive letter is the current
+ drive, which we can get if we remove from starting_directory
+ everything past the root directory. */
+ apath[root_len] = '\0';
+ }
#endif
dest = strchr (apath, '\0');
}
else
{
+#if defined(__CYGWIN__) && defined(HAVE_DOS_PATHS)
+ if (STOP_SET (name[0], MAP_DIRSEP))
+ root_len = 1;
+#endif
strncpy (apath, name, root_len);
apath[root_len] = '\0';
dest = apath + root_len;
/* Get past the root, since we already copied it. */
name += root_len;
#ifdef HAVE_DOS_PATHS
- if (!IS_PATHSEP(apath[2]))
- {
- /* Convert d:foo into d:./foo and increase root_len. */
- apath[2] = '.';
- apath[3] = '/';
- dest++;
- root_len++;
- /* strncpy above copied one character too many. */
- name--;
- }
+ if (! STOP_SET (apath[root_len - 1], MAP_DIRSEP))
+ {
+ /* Convert d:foo into d:./foo and increase root_len. */
+ apath[2] = '.';
+ apath[3] = '/';
+ dest++;
+ root_len++;
+ /* strncpy above copied one character too many. */
+ name--;
+ }
else
- apath[2] = '/'; /* make sure it's a forward slash */
+ apath[root_len - 1] = '/'; /* make sure it's a forward slash */
#endif
}
@@ -1957,41 +2075,42 @@ abspath (const char *name, char *apath)
unsigned long len;
/* Skip sequence of multiple path-separators. */
- while (IS_PATHSEP(*start))
- ++start;
+ while (STOP_SET (*start, MAP_DIRSEP))
+ ++start;
/* Find end of path component. */
- for (end = start; *end != '\0' && !IS_PATHSEP(*end); ++end)
+ for (end = start; ! STOP_SET (*end, MAP_DIRSEP|MAP_NUL); ++end)
;
len = end - start;
if (len == 0)
- break;
+ break;
else if (len == 1 && start[0] == '.')
- /* nothing */;
+ /* nothing */;
else if (len == 2 && start[0] == '.' && start[1] == '.')
- {
- /* Back up to previous component, ignore if at root already. */
- if (dest > apath + root_len)
- for (--dest; !IS_PATHSEP(dest[-1]); --dest);
- }
+ {
+ /* Back up to previous component, ignore if at root already. */
+ if (dest > apath + root_len)
+ for (--dest; ! STOP_SET (dest[-1], MAP_DIRSEP); --dest)
+ ;
+ }
else
- {
- if (!IS_PATHSEP(dest[-1]))
+ {
+ if (! STOP_SET (dest[-1], MAP_DIRSEP))
*dest++ = '/';
- if (dest + len >= apath_limit)
+ if (dest + len >= apath_limit)
return NULL;
- dest = memcpy (dest, start, len);
+ dest = memcpy (dest, start, len);
dest += len;
- *dest = '\0';
- }
+ *dest = '\0';
+ }
}
/* Unless it is root strip trailing separator. */
- if (dest > apath + root_len && IS_PATHSEP(dest[-1]))
+ if (dest > apath + root_len && STOP_SET (dest[-1], MAP_DIRSEP))
--dest;
*dest = '\0';
@@ -2008,30 +2127,35 @@ func_realpath (char *o, char **argv, const char *funcname UNUSED)
const char *path = 0;
int doneany = 0;
unsigned int len = 0;
-#ifndef HAVE_REALPATH
- struct stat st;
-#endif
- PATH_VAR (in);
- PATH_VAR (out);
while ((path = find_next_token (&p, &len)) != 0)
{
if (len < GET_PATH_MAX)
{
+ char *rp;
+ struct stat st;
+ PATH_VAR (in);
+ PATH_VAR (out);
+
strncpy (in, path, len);
in[len] = '\0';
- if (
#ifdef HAVE_REALPATH
- realpath (in, out)
+ ENULLLOOP (rp, realpath (in, out));
#else
- abspath (in, out) && stat (out, &st) == 0
+ rp = abspath (in, out);
#endif
- )
+
+ if (rp)
{
- o = variable_buffer_output (o, out, strlen (out));
- o = variable_buffer_output (o, " ", 1);
- doneany = 1;
+ int r;
+ EINTRLOOP (r, stat (out, &st));
+ if (r == 0)
+ {
+ o = variable_buffer_output (o, out, strlen (out));
+ o = variable_buffer_output (o, " ", 1);
+ doneany = 1;
+ }
}
}
}
@@ -2044,6 +2168,50 @@ func_realpath (char *o, char **argv, const char *funcname UNUSED)
}
static char *
+func_file (char *o, char **argv, const char *funcname UNUSED)
+{
+ char *fn = argv[0];
+
+ if (fn[0] == '>')
+ {
+ FILE *fp;
+ const char *mode = "w";
+
+ /* We are writing a file. */
+ ++fn;
+ if (fn[0] == '>')
+ {
+ mode = "a";
+ ++fn;
+ }
+ fn = next_token (fn);
+
+ fp = fopen (fn, mode);
+ if (fp == NULL)
+ {
+ 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))
+ {
+ const char *err = strerror (errno);
+ OSS (fatal, reading_file, _("write: %s: %s"), fn, err);
+ }
+ }
+ fclose (fp);
+ }
+ else
+ OS (fatal, reading_file, _("Invalid file operation: %s"), fn);
+
+ return o;
+}
+
+static char *
func_abspath (char *o, char **argv, const char *funcname UNUSED)
{
/* Expand the argument. */
@@ -2051,13 +2219,14 @@ func_abspath (char *o, char **argv, const char *funcname UNUSED)
const char *path = 0;
int doneany = 0;
unsigned int len = 0;
- PATH_VAR (in);
- PATH_VAR (out);
while ((path = find_next_token (&p, &len)) != 0)
{
if (len < GET_PATH_MAX)
{
+ PATH_VAR (in);
+ PATH_VAR (out);
+
strncpy (in, path, len);
in[len] = '\0';
@@ -2091,48 +2260,51 @@ func_abspath (char *o, char **argv, const char *funcname UNUSED)
static char *func_call (char *o, char **argv, const char *funcname);
+#define FT_ENTRY(_name, _min, _max, _exp, _func) \
+ { { (_func) }, STRING_SIZE_TUPLE(_name), (_min), (_max), (_exp), 0 }
static struct function_table_entry function_table_init[] =
{
- /* Name/size */ /* MIN MAX EXP? Function */
- { STRING_SIZE_TUPLE("abspath"), 0, 1, 1, func_abspath},
- { STRING_SIZE_TUPLE("addprefix"), 2, 2, 1, func_addsuffix_addprefix},
- { STRING_SIZE_TUPLE("addsuffix"), 2, 2, 1, func_addsuffix_addprefix},
- { STRING_SIZE_TUPLE("basename"), 0, 1, 1, func_basename_dir},
- { STRING_SIZE_TUPLE("dir"), 0, 1, 1, func_basename_dir},
- { STRING_SIZE_TUPLE("notdir"), 0, 1, 1, func_notdir_suffix},
- { STRING_SIZE_TUPLE("subst"), 3, 3, 1, func_subst},
- { STRING_SIZE_TUPLE("suffix"), 0, 1, 1, func_notdir_suffix},
- { STRING_SIZE_TUPLE("filter"), 2, 2, 1, func_filter_filterout},
- { STRING_SIZE_TUPLE("filter-out"), 2, 2, 1, func_filter_filterout},
- { STRING_SIZE_TUPLE("findstring"), 2, 2, 1, func_findstring},
- { STRING_SIZE_TUPLE("firstword"), 0, 1, 1, func_firstword},
- { STRING_SIZE_TUPLE("flavor"), 0, 1, 1, func_flavor},
- { STRING_SIZE_TUPLE("join"), 2, 2, 1, func_join},
- { STRING_SIZE_TUPLE("lastword"), 0, 1, 1, func_lastword},
- { STRING_SIZE_TUPLE("patsubst"), 3, 3, 1, func_patsubst},
- { STRING_SIZE_TUPLE("realpath"), 0, 1, 1, func_realpath},
- { STRING_SIZE_TUPLE("shell"), 0, 1, 1, func_shell},
- { STRING_SIZE_TUPLE("sort"), 0, 1, 1, func_sort},
- { STRING_SIZE_TUPLE("strip"), 0, 1, 1, func_strip},
- { STRING_SIZE_TUPLE("wildcard"), 0, 1, 1, func_wildcard},
- { STRING_SIZE_TUPLE("word"), 2, 2, 1, func_word},
- { STRING_SIZE_TUPLE("wordlist"), 3, 3, 1, func_wordlist},
- { STRING_SIZE_TUPLE("words"), 0, 1, 1, func_words},
- { STRING_SIZE_TUPLE("origin"), 0, 1, 1, func_origin},
- { STRING_SIZE_TUPLE("foreach"), 3, 3, 0, func_foreach},
- { STRING_SIZE_TUPLE("call"), 1, 0, 1, func_call},
- { STRING_SIZE_TUPLE("info"), 0, 1, 1, func_error},
- { STRING_SIZE_TUPLE("error"), 0, 1, 1, func_error},
- { STRING_SIZE_TUPLE("warning"), 0, 1, 1, func_error},
- { STRING_SIZE_TUPLE("if"), 2, 3, 0, func_if},
- { STRING_SIZE_TUPLE("or"), 1, 0, 0, func_or},
- { STRING_SIZE_TUPLE("and"), 1, 0, 0, func_and},
- { STRING_SIZE_TUPLE("value"), 0, 1, 1, func_value},
- { STRING_SIZE_TUPLE("eval"), 0, 1, 1, func_eval},
+ /* Name MIN MAX EXP? Function */
+ FT_ENTRY ("abspath", 0, 1, 1, func_abspath),
+ FT_ENTRY ("addprefix", 2, 2, 1, func_addsuffix_addprefix),
+ FT_ENTRY ("addsuffix", 2, 2, 1, func_addsuffix_addprefix),
+ FT_ENTRY ("basename", 0, 1, 1, func_basename_dir),
+ FT_ENTRY ("dir", 0, 1, 1, func_basename_dir),
+ FT_ENTRY ("notdir", 0, 1, 1, func_notdir_suffix),
+ FT_ENTRY ("subst", 3, 3, 1, func_subst),
+ FT_ENTRY ("suffix", 0, 1, 1, func_notdir_suffix),
+ FT_ENTRY ("filter", 2, 2, 1, func_filter_filterout),
+ FT_ENTRY ("filter-out", 2, 2, 1, func_filter_filterout),
+ FT_ENTRY ("findstring", 2, 2, 1, func_findstring),
+ FT_ENTRY ("firstword", 0, 1, 1, func_firstword),
+ FT_ENTRY ("flavor", 0, 1, 1, func_flavor),
+ FT_ENTRY ("join", 2, 2, 1, func_join),
+ FT_ENTRY ("lastword", 0, 1, 1, func_lastword),
+ FT_ENTRY ("patsubst", 3, 3, 1, func_patsubst),
+ FT_ENTRY ("realpath", 0, 1, 1, func_realpath),
+ FT_ENTRY ("shell", 0, 1, 1, func_shell),
+ FT_ENTRY ("sort", 0, 1, 1, func_sort),
+ FT_ENTRY ("strip", 0, 1, 1, func_strip),
+ FT_ENTRY ("wildcard", 0, 1, 1, func_wildcard),
+ FT_ENTRY ("word", 2, 2, 1, func_word),
+ FT_ENTRY ("wordlist", 3, 3, 1, func_wordlist),
+ FT_ENTRY ("words", 0, 1, 1, func_words),
+ FT_ENTRY ("origin", 0, 1, 1, func_origin),
+ FT_ENTRY ("foreach", 3, 3, 0, func_foreach),
+ FT_ENTRY ("call", 1, 0, 1, func_call),
+ FT_ENTRY ("info", 0, 1, 1, func_error),
+ FT_ENTRY ("error", 0, 1, 1, func_error),
+ FT_ENTRY ("warning", 0, 1, 1, func_error),
+ FT_ENTRY ("if", 2, 3, 0, func_if),
+ FT_ENTRY ("or", 1, 0, 0, func_or),
+ FT_ENTRY ("and", 1, 0, 0, func_and),
+ FT_ENTRY ("value", 0, 1, 1, func_value),
+ FT_ENTRY ("eval", 0, 1, 1, func_eval),
+ FT_ENTRY ("file", 1, 2, 1, func_file),
#ifdef EXPERIMENTAL
- { STRING_SIZE_TUPLE("eq"), 2, 2, 1, func_eq},
- { STRING_SIZE_TUPLE("not"), 0, 1, 1, func_not},
+ FT_ENTRY ("eq", 2, 2, 1, func_eq),
+ FT_ENTRY ("not", 0, 1, 1, func_not),
#endif
};
@@ -2145,23 +2317,38 @@ static char *
expand_builtin_function (char *o, int argc, char **argv,
const struct function_table_entry *entry_p)
{
+ char *p;
+
if (argc < (int)entry_p->minimum_args)
- fatal (*expanding_var,
- _("insufficient number of arguments (%d) to function `%s'"),
+ fatal (*expanding_var, strlen (entry_p->name),
+ _("insufficient number of arguments (%d) to function '%s'"),
argc, entry_p->name);
- /* I suppose technically some function could do something with no
- arguments, but so far none do, so just test it for all functions here
+ /* I suppose technically some function could do something with no arguments,
+ but so far no internal ones do, so just test it for all functions here
rather than in each one. We can change it later if necessary. */
- if (!argc)
+ if (!argc && !entry_p->alloc_fn)
return o;
- if (!entry_p->func_ptr)
- fatal (*expanding_var,
- _("unimplemented on this platform: function `%s'"), entry_p->name);
+ if (!entry_p->fptr.func_ptr)
+ OS (fatal, *expanding_var,
+ _("unimplemented on this platform: function '%s'"), entry_p->name);
- return entry_p->func_ptr (o, argv, entry_p->name);
+ if (!entry_p->alloc_fn)
+ return entry_p->fptr.func_ptr (o, argv, entry_p->name);
+
+ /* This function allocates memory and returns it to us.
+ Write it to the variable buffer, then free it. */
+
+ p = entry_p->fptr.alloc_func_ptr (entry_p->name, argc, argv);
+ if (p)
+ {
+ o = variable_buffer_output (o, p, strlen (p));
+ free (p);
+ }
+
+ return o;
}
/* Check for a function invocation in *STRINGP. *STRINGP points at the
@@ -2208,9 +2395,9 @@ handle_function (char **op, const char **stringp)
break;
if (count >= 0)
- fatal (*expanding_var,
- _("unterminated call to function `%s': missing `%c'"),
- entry_p->name, closeparen);
+ fatal (*expanding_var, strlen (entry_p->name),
+ _("unterminated call to function '%s': missing '%c'"),
+ entry_p->name, closeparen);
*stringp = end;
@@ -2276,7 +2463,7 @@ handle_function (char **op, const char **stringp)
if (entry_p->expand_args)
for (argvp=argv; *argvp != 0; ++argvp)
free (*argvp);
- if (abeg)
+ else
free (abeg);
return 1;
@@ -2303,7 +2490,7 @@ func_call (char *o, char **argv, const char *funcname UNUSED)
/* 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 (*fname != '\0' && isspace ((unsigned char)*fname))
+ while (isspace ((unsigned char)*fname))
++fname;
cp = fname + strlen (fname) - 1;
@@ -2388,11 +2575,49 @@ func_call (char *o, char **argv, const char *funcname UNUSED)
}
void
+define_new_function (const gmk_floc *flocp, const char *name,
+ unsigned int min, unsigned int max, unsigned int flags,
+ gmk_func_ptr func)
+{
+ const char *e = name;
+ struct function_table_entry *ent;
+ size_t len;
+
+ while (STOP_SET (*e, MAP_USERFUNC))
+ e++;
+ len = e - name;
+
+ if (len == 0)
+ O (fatal, flocp, _("Empty function name"));
+ if (*name == '.' || *e != '\0')
+ OS (fatal, flocp, _("Invalid function name: %s"), name);
+ if (len > 255)
+ OS (fatal, flocp, _("Function name too long: %s"), name);
+ if (min > 255)
+ ONS (fatal, flocp,
+ _("Invalid minimum argument count (%d) for function %s"), min, name);
+ if (max > 255 || (max && max < min))
+ ONS (fatal, flocp,
+ _("Invalid maximum argument count (%d) for function %s"), max, name);
+
+ ent = xmalloc (sizeof (struct function_table_entry));
+ ent->name = name;
+ ent->len = len;
+ ent->minimum_args = min;
+ ent->maximum_args = max;
+ ent->expand_args = ANY_SET(flags, GMK_FUNC_NOEXPAND) ? 0 : 1;
+ ent->alloc_fn = 1;
+ ent->fptr.alloc_func_ptr = func;
+
+ hash_insert (&function_table, ent);
+}
+
+void
hash_init_function_table (void)
{
hash_init (&function_table, FUNCTION_TABLE_ENTRIES * 2,
- function_table_entry_hash_1, function_table_entry_hash_2,
- function_table_entry_hash_cmp);
+ function_table_entry_hash_1, function_table_entry_hash_2,
+ function_table_entry_hash_cmp);
hash_load (&function_table, function_table_init,
- FUNCTION_TABLE_ENTRIES, sizeof (struct function_table_entry));
+ FUNCTION_TABLE_ENTRIES, sizeof (struct function_table_entry));
}
diff --git a/getloadavg.c b/getloadavg.c
index f9d7964c..a755b6d8 100644
--- a/getloadavg.c
+++ b/getloadavg.c
@@ -1,7 +1,5 @@
/* Get the system load averages.
-Copyright (C) 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
-1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-2008, 2009, 2010 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
@@ -86,9 +84,9 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* Exclude all the code except the test program at the end
- if the system has its own `getloadavg' function.
+ if the system has its own 'getloadavg' function.
- The declaration of `errno' is needed by the test program
+ The declaration of 'errno' is needed by the test program
as well as the function itself, so it comes first. */
#include <errno.h>
@@ -745,7 +743,7 @@ getloadavg (double loadavg[], int nelem)
# define LDAV_DONE
/* This call can return -1 for an error, but with good args
it's not supposed to fail. The first argument is for no
- apparent reason of type `long int *'. */
+ apparent reason of type 'long int *'. */
dg_sys_info ((long int *) &load_info,
DG_SYS_INFO_LOAD_INFO_TYPE,
DG_SYS_INFO_LOAD_VERSION_0);
@@ -987,7 +985,7 @@ getloadavg (double loadavg[], int nelem)
#endif /* ! HAVE_GETLOADAVG */
#ifdef TEST
-#include "make.h"
+#include "makeint.h"
int
main (int argc, char **argv)
diff --git a/getopt.c b/getopt.c
index e992da57..a8051fcc 100644
--- a/getopt.c
+++ b/getopt.c
@@ -3,9 +3,7 @@ NOTE: getopt is now part of the C library, so if you don't know what
"Keep this file name-space clean" means, talk to drepper@gnu.org
before changing it!
-Copyright (C) 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
-1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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.
@@ -83,7 +81,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#define _(msgid) gettext (msgid)
-/* This version of `getopt' appears to the caller like standard Unix `getopt'
+/* This version of `getopt' appears to the caller like standard Unix 'getopt'
but it behaves differently for the user, since it allows the user
to intersperse the options with the other arguments.
@@ -658,7 +656,7 @@ _getopt_internal (int argc, char *const *argv, const char *optstring,
if (ambig && !exact)
{
if (opterr)
- fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
+ fprintf (stderr, _("%s: option '%s' is ambiguous\n"),
argv[0], argv[optind]);
nextchar += strlen (nextchar);
optind++;
@@ -682,12 +680,12 @@ _getopt_internal (int argc, char *const *argv, const char *optstring,
if (argv[optind - 1][1] == '-')
/* --option */
fprintf (stderr,
- _("%s: option `--%s' doesn't allow an argument\n"),
+ _("%s: option '--%s' doesn't allow an argument\n"),
argv[0], pfound->name);
else
/* +option or -option */
fprintf (stderr,
- _("%s: option `%c%s' doesn't allow an argument\n"),
+ _("%s: option '%c%s' doesn't allow an argument\n"),
argv[0], argv[optind - 1][0], pfound->name);
nextchar += strlen (nextchar);
@@ -704,7 +702,7 @@ _getopt_internal (int argc, char *const *argv, const char *optstring,
{
if (opterr)
fprintf (stderr,
- _("%s: option `%s' requires an argument\n"),
+ _("%s: option '%s' requires an argument\n"),
argv[0], argv[optind - 1]);
nextchar += strlen (nextchar);
optopt = pfound->val;
@@ -733,11 +731,11 @@ _getopt_internal (int argc, char *const *argv, const char *optstring,
{
if (argv[optind][1] == '-')
/* --option */
- fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
+ fprintf (stderr, _("%s: unrecognized option '--%s'\n"),
argv[0], nextchar);
else
/* +option or -option */
- fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
+ fprintf (stderr, _("%s: unrecognized option '%c%s'\n"),
argv[0], argv[optind][0], nextchar);
}
nextchar = (char *) "";
@@ -843,7 +841,7 @@ _getopt_internal (int argc, char *const *argv, const char *optstring,
if (ambig && !exact)
{
if (opterr)
- fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
+ fprintf (stderr, _("%s: option '-W %s' is ambiguous\n"),
argv[0], argv[optind]);
nextchar += strlen (nextchar);
optind++;
@@ -862,7 +860,7 @@ _getopt_internal (int argc, char *const *argv, const char *optstring,
{
if (opterr)
fprintf (stderr, _("\
-%s: option `-W %s' doesn't allow an argument\n"),
+%s: option '-W %s' doesn't allow an argument\n"),
argv[0], pfound->name);
nextchar += strlen (nextchar);
@@ -877,7 +875,7 @@ _getopt_internal (int argc, char *const *argv, const char *optstring,
{
if (opterr)
fprintf (stderr,
- _("%s: option `%s' requires an argument\n"),
+ _("%s: option '%s' requires an argument\n"),
argv[0], argv[optind - 1]);
nextchar += strlen (nextchar);
return optstring[0] == ':' ? ':' : '?';
@@ -1003,7 +1001,7 @@ main (int argc, char **argv)
break;
case 'c':
- printf ("option c with value `%s'\n", optarg);
+ printf ("option c with value '%s'\n", optarg);
break;
case '?':
diff --git a/getopt.h b/getopt.h
index dff9998d..adef9a53 100644
--- a/getopt.h
+++ b/getopt.h
@@ -1,7 +1,5 @@
/* Declarations for getopt.
-Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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 --git a/getopt1.c b/getopt1.c
index 429ad4a0..42dea223 100644
--- a/getopt1.c
+++ b/getopt1.c
@@ -1,7 +1,5 @@
/* getopt_long and getopt_long_only entry points for GNU getopt.
-Copyright (C) 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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.
@@ -149,11 +147,11 @@ main (int argc, char **argv)
break;
case 'c':
- printf ("option c with value `%s'\n", optarg);
+ printf ("option c with value '%s'\n", optarg);
break;
case 'd':
- printf ("option d with value `%s'\n", optarg);
+ printf ("option d with value '%s'\n", optarg);
break;
case '?':
diff --git a/gettext.h b/gettext.h
index e8b8b3a0..c2030ff5 100644
--- a/gettext.h
+++ b/gettext.h
@@ -1,6 +1,5 @@
/* Convenience header for conditional use of GNU <libintl.h>.
-Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009, 2010 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 --git a/glob/.cvsignore b/glob/.cvsignore
deleted file mode 100644
index efc8094e..00000000
--- a/glob/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile Makefile.in
-.deps
diff --git a/glob/ChangeLog b/glob/ChangeLog
index 8f0739c2..c543c850 100644
--- a/glob/ChangeLog
+++ b/glob/ChangeLog
@@ -1,3 +1,9 @@
+2013-10-20 Paul Smith <psmith@gnu.org>
+
+ * glob.c (glob): Cherry-pick a471e96a5352a5f0bde6d32dd36d33524811a2b1
+ from git://sourceware.org/git/glibc.git to fix SV 18123,
+ https://sourceware.org/bugzilla/show_bug.cgi?id=10278
+
2008-09-28 Juan Manuel Guerrero <juan.guerrero@gmx.de>
* glob.c (my_realloc) [__DJGPP__]: Don't define, and don't
diff --git a/glob/Makefile.in b/glob/Makefile.in
index 44be58da..7a638611 100644
--- a/glob/Makefile.in
+++ b/glob/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -34,6 +33,51 @@
# this program. If not, see <http://www.gnu.org/licenses/>.
VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -53,45 +97,93 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = glob
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in COPYING.LIB \
- ChangeLog
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/config/depcomp COPYING.LIB ChangeLog
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/dospaths.m4 \
$(top_srcdir)/config/gettext.m4 $(top_srcdir)/config/iconv.m4 \
- $(top_srcdir)/config/isc-posix.m4 \
+ $(top_srcdir)/config/intlmacosx.m4 \
$(top_srcdir)/config/lib-ld.m4 \
$(top_srcdir)/config/lib-link.m4 \
$(top_srcdir)/config/lib-prefix.m4 $(top_srcdir)/config/nls.m4 \
$(top_srcdir)/config/po.m4 $(top_srcdir)/config/progtest.m4 \
- $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.in
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LIBRARIES = $(noinst_LIBRARIES)
ARFLAGS = cru
+AM_V_AR = $(am__v_AR_@AM_V@)
+am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
+am__v_AR_0 = @echo " AR " $@;
+am__v_AR_1 =
libglob_a_AR = $(AR) $(ARFLAGS)
libglob_a_LIBADD =
am_libglob_a_OBJECTS = glob.$(OBJEXT) fnmatch.$(OBJEXT)
libglob_a_OBJECTS = $(am_libglob_a_OBJECTS)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = $(libglob_a_SOURCES)
DIST_SOURCES = $(libglob_a_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_LDFLAGS = @AM_LDFLAGS@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@@ -111,16 +203,21 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GLOBINC = @GLOBINC@
GLOBLIB = @GLOBLIB@
GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
+GUILE_CFLAGS = @GUILE_CFLAGS@
+GUILE_LIBS = @GUILE_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
KMEM_GROUP = @KMEM_GROUP@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
@@ -133,8 +230,8 @@ LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MAKE_HOST = @MAKE_HOST@
MKDIR_P = @MKDIR_P@
-MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEED_SETGID = @NEED_SETGID@
OBJEXT = @OBJEXT@
@@ -147,6 +244,9 @@ PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
POSUB = @POSUB@
RANLIB = @RANLIB@
REMOTE = @REMOTE@
@@ -156,10 +256,13 @@ STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -251,10 +354,11 @@ $(am__aclocal_m4_deps):
clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libglob.a: $(libglob_a_OBJECTS) $(libglob_a_DEPENDENCIES)
- -rm -f libglob.a
- $(libglob_a_AR) libglob.a $(libglob_a_OBJECTS) $(libglob_a_LIBADD)
- $(RANLIB) libglob.a
+
+libglob.a: $(libglob_a_OBJECTS) $(libglob_a_DEPENDENCIES) $(EXTRA_libglob_a_DEPENDENCIES)
+ $(AM_V_at)-rm -f libglob.a
+ $(AM_V_AR)$(libglob_a_AR) libglob.a $(libglob_a_OBJECTS) $(libglob_a_LIBADD)
+ $(AM_V_at)$(RANLIB) libglob.a
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -266,39 +370,28 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glob.Po@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -310,15 +403,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -327,6 +416,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -375,10 +479,15 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
@@ -461,17 +570,17 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-noinstLIBRARIES ctags distclean distclean-compile \
- distclean-generic distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \
+ distclean-compile distclean-generic distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am
diff --git a/glob/glob.c b/glob/glob.c
index 1a192051..f3911bcd 100644
--- a/glob/glob.c
+++ b/glob/glob.c
@@ -377,6 +377,11 @@ glob (pattern, flags, errfunc, pglob)
return -1;
}
+ /* POSIX requires all slashes to be matched. This means that with
+ a trailing slash we must match only directories. */
+ if (pattern[0] && pattern[strlen (pattern) - 1] == '/')
+ flags |= GLOB_ONLYDIR;
+
if (flags & GLOB_BRACE)
{
const char *begin = strchr (pattern, '{');
diff --git a/glob/glob.h b/glob/glob.h
index a613aff5..0992de36 100644
--- a/glob/glob.h
+++ b/glob/glob.h
@@ -56,7 +56,7 @@ typedef __SIZE_TYPE__ __size_t;
# else
/* This is a guess. */
/*hb
- * Conflicts with DECCs aready defined type __size_t.
+ * Conflicts with DECCs already defined type __size_t.
* Defining an own type with a name beginning with '__' is no good.
* Anyway if DECC is used and __SIZE_T is defined then __size_t is
* already defined (and I hope it's exactly the one we need here).
diff --git a/gmk-default.h b/gmk-default.h
new file mode 100644
index 00000000..9fa09a6e
--- /dev/null
+++ b/gmk-default.h
@@ -0,0 +1,28 @@
+static const char *const GUILE_module_defn = " \
+(define (to-string-maybe x) \
+ (cond \
+ ((or (not x) \
+ (unspecified? x) \
+ (variable? x) \
+ (null? x) \
+ (and (string? x) (string-null? x))) \
+ #f) \
+ ((eq? x #t) \"#t\") \
+ ((or (symbol? x) (number? x)) \
+ (object->string x)) \
+ ((char? x) \
+ (string x)) \
+ ((and (string? x) (string-every char-set:printing x)) \
+ x) \
+ (else (error \"Unknown object:\" x)))) \
+(define (obj-to-str x) \
+ (let ((acc '())) \
+ (define (walk x) \
+ (cond ((pair? x) (walk (car x)) (walk (cdr x))) \
+ ((to-string-maybe x) => (lambda (s) (set! acc (cons s acc)))))) \
+ (walk x) \
+ (string-join (reverse! acc)))) \
+(define (gmk-var v) \
+ (gmk-expand (format #f \"$(~a)\" (obj-to-str v)))) \
+(export gmk-expand gmk-eval gmk-var) \
+";
diff --git a/gmk-default.scm b/gmk-default.scm
new file mode 100644
index 00000000..fa19d3c4
--- /dev/null
+++ b/gmk-default.scm
@@ -0,0 +1,53 @@
+;; Contents of the (gnu make) Guile module
+;; 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 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 <http://www.gnu.org/licenses/>.
+
+(define (to-string-maybe x)
+ (cond
+ ;; In GNU make, "false" is the empty string
+ ((or (not x)
+ (unspecified? x)
+ (variable? x)
+ (null? x)
+ (and (string? x) (string-null? x)))
+ #f)
+ ;; We want something not false... not sure about this
+ ((eq? x #t) "#t")
+ ;; Basics
+ ((or (symbol? x) (number? x))
+ (object->string x))
+ ((char? x)
+ (string x))
+ ;; Printable string (no special characters)
+ ((and (string? x) (string-every char-set:printing x))
+ x)
+ ;; No idea: fail
+ (else (error "Unknown object:" x))))
+
+(define (obj-to-str x)
+ (let ((acc '()))
+ (define (walk x)
+ (cond ((pair? x) (walk (car x)) (walk (cdr x)))
+ ((to-string-maybe x) => (lambda (s) (set! acc (cons s acc))))))
+ (walk x)
+ (string-join (reverse! acc))))
+
+;; Return the value of the GNU make variable V
+(define (gmk-var v)
+ (gmk-expand (format #f "$(~a)" (obj-to-str v))))
+
+;; Export the public interfaces
+(export gmk-expand gmk-eval gmk-var)
diff --git a/gnumake.h b/gnumake.h
new file mode 100644
index 00000000..fd0b3a49
--- /dev/null
+++ b/gnumake.h
@@ -0,0 +1,79 @@
+/* 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-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
+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 <http://www.gnu.org/licenses/>. */
+
+#ifndef _GNUMAKE_H_
+#define _GNUMAKE_H_
+
+/* Specify the location of elements read from makefiles. */
+typedef struct
+ {
+ const char *filenm;
+ unsigned long lineno;
+ } gmk_floc;
+
+typedef char *(*gmk_func_ptr)(const char *nm, unsigned int argc, char **argv);
+
+#ifdef _WIN32
+# ifdef GMK_BUILDING_MAKE
+# define GMK_EXPORT __declspec(dllexport)
+# else
+# define GMK_EXPORT __declspec(dllimport)
+# endif
+#else
+# define GMK_EXPORT
+#endif
+
+/* Free memory returned by the gmk_expand() function. */
+GMK_EXPORT void gmk_free (char *str);
+
+/* Allocate memory in GNU make's context. */
+GMK_EXPORT char *gmk_alloc (unsigned int len);
+
+/* Run $(eval ...) on the provided string BUFFER. */
+GMK_EXPORT void gmk_eval (const char *buffer, const gmk_floc *floc);
+
+/* Run GNU make expansion on the provided string STR.
+ Returns an allocated buffer that the caller must free with gmk_free(). */
+GMK_EXPORT char *gmk_expand (const char *str);
+
+/* Register a new GNU make function NAME (maximum of 255 chars long).
+ When the function is expanded in the makefile, FUNC will be invoked with
+ the appropriate arguments.
+
+ The return value of FUNC must be either NULL, in which case it expands to
+ the empty string, or a pointer to the result of the expansion in a string
+ created by gmk_alloc(). GNU make will free the memory when it's done.
+
+ MIN_ARGS is the minimum number of arguments the function requires.
+ MAX_ARGS is the maximum number of arguments (or 0 if there's no maximum).
+ MIN_ARGS and MAX_ARGS may not exceed 255.
+
+ The FLAGS value may be GMK_FUNC_DEFAULT, or one or more of the following
+ flags OR'd together:
+
+ GMK_FUNC_NOEXPAND: the arguments to the function will be not be expanded
+ before FUNC is called.
+*/
+GMK_EXPORT void gmk_add_function (const char *name, gmk_func_ptr func,
+ unsigned int min_args, unsigned int max_args,
+ unsigned int flags);
+
+#define GMK_FUNC_DEFAULT 0x00
+#define GMK_FUNC_NOEXPAND 0x01
+
+#endif /* _GNUMAKE_H_ */
diff --git a/guile.c b/guile.c
new file mode 100644
index 00000000..7c9a0157
--- /dev/null
+++ b/guile.c
@@ -0,0 +1,159 @@
+/* GNU Guile interface for GNU Make.
+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
+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 <http://www.gnu.org/licenses/>. */
+
+#include "makeint.h"
+
+#ifdef HAVE_GUILE
+
+#include "gnumake.h"
+
+#include "debug.h"
+#include "filedef.h"
+#include "dep.h"
+#include "variable.h"
+
+#include <libguile.h>
+
+/* Pre-2.0 versions of Guile don't have a typedef for gsubr function types. */
+#if SCM_MAJOR_VERSION < 2
+# define GSUBR_TYPE SCM (*) ()
+/* Guile 1.x doesn't really support i18n. */
+# define EVAL_STRING(_s) scm_c_eval_string (_s)
+#else
+# define GSUBR_TYPE scm_t_subr
+# define EVAL_STRING(_s) scm_eval_string (scm_from_utf8_string (_s))
+#endif
+
+static SCM make_mod = SCM_EOL;
+static SCM obj_to_str = SCM_EOL;
+
+/* Convert an SCM object into a string. */
+static char *
+cvt_scm_to_str (SCM obj)
+{
+ return scm_to_locale_string (scm_call_1 (obj_to_str, obj));
+}
+
+/* Perform the GNU make expansion function. */
+static SCM
+guile_expand_wrapper (SCM obj)
+{
+ char *str = cvt_scm_to_str (obj);
+ SCM ret;
+ char *res;
+
+ DB (DB_BASIC, (_("guile: Expanding '%s'\n"), str));
+ res = gmk_expand (str);
+ ret = scm_from_locale_string (res);
+
+ free (str);
+ free (res);
+
+ return ret;
+}
+
+/* Perform the GNU make eval function. */
+static SCM
+guile_eval_wrapper (SCM obj)
+{
+ char *str = cvt_scm_to_str (obj);
+
+ DB (DB_BASIC, (_("guile: Evaluating '%s'\n"), str));
+ gmk_eval (str, 0);
+
+ return SCM_BOOL_F;
+}
+
+/* Invoked by scm_c_define_module(), in the context of the GNU make module. */
+static void
+guile_define_module (void *data UNUSED)
+{
+/* Ingest the predefined Guile module for GNU make. */
+#include "gmk-default.h"
+
+ /* Register a subr for GNU make's eval capability. */
+ scm_c_define_gsubr ("gmk-expand", 1, 0, 0, (GSUBR_TYPE) guile_expand_wrapper);
+
+ /* Register a subr for GNU make's eval capability. */
+ scm_c_define_gsubr ("gmk-eval", 1, 0, 0, (GSUBR_TYPE) guile_eval_wrapper);
+
+ /* Define the rest of the module. */
+ scm_c_eval_string (GUILE_module_defn);
+}
+
+/* Initialize the GNU make Guile module. */
+static void *
+guile_init (void *arg UNUSED)
+{
+ /* Define the module. */
+ make_mod = scm_c_define_module ("gnu make", guile_define_module, NULL);
+
+ /* Get a reference to the object-to-string translator, for later. */
+ obj_to_str = scm_variable_ref (scm_c_module_lookup (make_mod, "obj-to-str"));
+
+ /* Import the GNU make module exports into the generic space. */
+ scm_c_eval_string ("(use-modules (gnu make))");
+
+ return NULL;
+}
+
+static void *
+internal_guile_eval (void *arg)
+{
+ return cvt_scm_to_str (EVAL_STRING (arg));
+}
+
+/* This is the function registered with make */
+static char *
+func_guile (const char *funcname UNUSED, unsigned int argc UNUSED, char **argv)
+{
+ static int init = 0;
+
+ if (! init)
+ {
+ /* Initialize the Guile interpreter. */
+ scm_with_guile (guile_init, NULL);
+ init = 1;
+ }
+
+ if (argv[0] && argv[0][0] != '\0')
+ return scm_with_guile (internal_guile_eval, argv[0]);
+
+ return NULL;
+}
+
+/* ----- Public interface ----- */
+
+/* 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 gmk_floc *flocp UNUSED)
+{
+ /* Create a make function "guile". */
+ gmk_add_function ("guile", func_guile, 0, 1, GMK_FUNC_DEFAULT);
+
+ return 1;
+}
+
+#else
+
+int
+guile_gmake_setup (const gmk_floc *flocp UNUSED)
+{
+ return 1;
+}
+
+#endif
diff --git a/hash.c b/hash.c
index b91447cd..7b4b2715 100644
--- a/hash.c
+++ b/hash.c
@@ -14,10 +14,10 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
#include "hash.h"
-#define CALLOC(t, n) ((t *) calloc (sizeof (t), (n)))
+#define CALLOC(t, n) ((t *) xcalloc (sizeof (t) * (n)))
#define MALLOC(t, n) ((t *) xmalloc (sizeof (t) * (n)))
#define REALLOC(o, t, n) ((t *) xrealloc ((o), sizeof (t) * (n)))
#define CLONE(o, t, n) ((t *) memcpy (MALLOC (t, (n)), (o), sizeof (t) * (n)))
@@ -26,7 +26,7 @@ static void hash_rehash __P((struct hash_table* ht));
static unsigned long round_up_2 __P((unsigned long rough));
/* Implement double hashing with open addressing. The table size is
- always a power of two. The secondary (`increment') hash function
+ always a power of two. The secondary ('increment') hash function
is forced to return an odd-value, in order to be relatively prime
to the table size. This guarantees that the increment can
potentially hit every slot in the table during collision
@@ -48,7 +48,7 @@ hash_init (struct hash_table *ht, unsigned long size,
{
fprintf (stderr, _("can't allocate %lu bytes for hash table: memory exhausted"),
ht->ht_size * (unsigned long) sizeof (struct token *));
- exit (1);
+ exit (MAKE_TROUBLE);
}
ht->ht_capacity = ht->ht_size - (ht->ht_size / 16); /* 93.75% loading factor */
@@ -61,7 +61,7 @@ hash_init (struct hash_table *ht, unsigned long size,
ht->ht_compare = hash_cmp;
}
-/* Load an array of items into `ht'. */
+/* Load an array of items into 'ht'. */
void
hash_load (struct hash_table *ht, void *item_table,
@@ -75,9 +75,9 @@ hash_load (struct hash_table *ht, void *item_table,
}
}
-/* Returns the address of the table slot matching `key'. If `key' is
+/* Returns the address of the table slot matching 'key'. If 'key' is
not found, return the address of an empty slot suitable for
- inserting `key'. The caller is responsible for incrementing
+ inserting 'key'. The caller is responsible for incrementing
ht_fill on insertion. */
void **
diff --git a/hash.h b/hash.h
index 2c78e63c..960cbd78 100644
--- a/hash.h
+++ b/hash.h
@@ -28,9 +28,9 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#else /* Not C++ or ANSI C. */
# undef __P
# define __P(protos) ()
-/* We can get away without defining `const' here only because in this file
- it is used only inside the prototype for `fnmatch', which is elided in
- non-ANSI C where `const' is problematical. */
+/* We can get away without defining 'const' here only because in this file
+ it is used only inside the prototype for 'fnmatch', which is elided in
+ non-ANSI C where 'const' is problematical. */
#endif /* C++ or ANSI C. */
typedef unsigned long (*hash_func_t) __P((void const *key));
@@ -41,6 +41,9 @@ typedef void (*hash_map_arg_func_t) __P((void const *item, void *arg));
struct hash_table
{
void **ht_vec;
+ hash_func_t ht_hash_1; /* primary hash function */
+ hash_func_t ht_hash_2; /* secondary hash function */
+ hash_cmp_func_t ht_compare; /* comparison function */
unsigned long ht_size; /* total number of slots (power of 2) */
unsigned long ht_capacity; /* usable slots, limited by loading-factor */
unsigned long ht_fill; /* items in table */
@@ -48,9 +51,6 @@ struct hash_table
unsigned long ht_collisions; /* # of failed calls to comparison function */
unsigned long ht_lookups; /* # of queries */
unsigned int ht_rehashes; /* # of times we've expanded table */
- hash_func_t ht_hash_1; /* primary hash function */
- hash_func_t ht_hash_2; /* secondary hash function */
- hash_cmp_func_t ht_compare; /* comparison function */
};
typedef int (*qsort_cmp_t) __P((void const *, void const *));
diff --git a/implicit.c b/implicit.c
index 5f981081..8e1d5416 100644
--- a/implicit.c
+++ b/implicit.c
@@ -1,7 +1,5 @@
/* Implicit rule searching for GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -16,7 +14,7 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
#include "filedef.h"
#include "rule.h"
#include "dep.h"
@@ -37,7 +35,7 @@ static int pattern_search (struct file *file, int archive,
int
try_implicit_rule (struct file *file, unsigned int depth)
{
- DBF (DB_IMPLICIT, _("Looking for an implicit rule for `%s'.\n"));
+ DBF (DB_IMPLICIT, _("Looking for an implicit rule for '%s'.\n"));
/* The order of these searches was previously reversed. My logic now is
that since the non-archive search uses more information in the target
@@ -53,7 +51,7 @@ try_implicit_rule (struct file *file, unsigned int depth)
if (ar_name (file->name))
{
DBF (DB_IMPLICIT,
- _("Looking for archive-member implicit rule for `%s'.\n"));
+ _("Looking for archive-member implicit rule for '%s'.\n"));
if (pattern_search (file, 1, depth, 0))
return 1;
}
@@ -219,13 +217,10 @@ pattern_search (struct file *file, int archive,
struct file *int_file = 0;
/* List of dependencies found recursively. */
- struct patdeps *deplist
- = xmalloc (max_pattern_deps * sizeof (struct patdeps));
+ unsigned int max_deps = max_pattern_deps;
+ struct patdeps *deplist = xmalloc (max_deps * sizeof (struct patdeps));
struct patdeps *pat = deplist;
- /* All the prerequisites actually found for a rule, after expansion. */
- struct dep *deps;
-
/* Names of possible dependencies are constructed in this buffer. */
char *depname = alloca (namelen + max_pattern_dep_length);
@@ -251,11 +246,9 @@ pattern_search (struct file *file, int archive,
int file_vars_initialized = 0;
/* Nonzero if we have matched a pattern-rule target
- that is not just `%'. */
+ that is not just '%'. */
int specific_rule_matched = 0;
- struct dep dep_simple;
-
unsigned int ri; /* uninit checks OK */
struct rule *rule;
@@ -402,10 +395,10 @@ pattern_search (struct file *file, int archive,
target in MATCHES. If several targets of the same rule match,
that rule will be in TRYRULES more than once. */
tryrules[nrules].rule = rule;
- tryrules[nrules].matches = ti;
+ tryrules[nrules].matches = ti;
tryrules[nrules].stemlen = stemlen + (check_lastslash ? pathlen : 0);
tryrules[nrules].order = nrules;
- tryrules[nrules].checked_lastslash = check_lastslash;
+ tryrules[nrules].checked_lastslash = check_lastslash;
++nrules;
}
}
@@ -488,7 +481,14 @@ pattern_search (struct file *file, int archive,
dir = pathdir;
}
- DBS (DB_IMPLICIT, (_("Trying pattern rule with stem `%.*s'.\n"),
+ if (stemlen > GET_PATH_MAX)
+ {
+ DBS (DB_IMPLICIT, (_("Stem too long: '%.*s'.\n"),
+ (int) stemlen, stem));
+ continue;
+ }
+
+ DBS (DB_IMPLICIT, (_("Trying pattern rule with stem '%.*s'.\n"),
(int) stemlen, stem));
strncpy (stem_str, stem, stemlen);
@@ -530,11 +530,9 @@ pattern_search (struct file *file, int archive,
/* If we don't need a second expansion, just replace the %. */
if (! dep->need_2nd_expansion)
{
- dep_simple = *dep;
- dep_simple.next = 0;
p = strchr (nptr, '%');
if (p == 0)
- dep_simple.name = nptr;
+ strcpy (depname, nptr);
else
{
char *o = depname;
@@ -548,13 +546,19 @@ pattern_search (struct file *file, int archive,
memcpy (o, stem_str, stemlen);
o += stemlen;
strcpy (o, p + 1);
- dep_simple.name = strcache_add (depname);
}
- dl = &dep_simple;
+
+ /* Parse the expanded string. It might have wildcards. */
+ p = depname;
+ dl = PARSE_SIMPLE_SEQ (&p, struct dep);
+ for (d = dl; d != NULL; d = d->next)
+ {
+ ++deps_found;
+ d->ignore_mtime = dep->ignore_mtime;
+ }
/* We've used up this dep, so next time get a new one. */
nptr = 0;
- ++deps_found;
}
/* We have to perform second expansion on this prereq. In an
@@ -570,6 +574,7 @@ pattern_search (struct file *file, int archive,
{
int add_dir = 0;
unsigned int len;
+ struct dep **dptr;
nptr = get_next_word (nptr, &len);
if (nptr == 0)
@@ -612,6 +617,9 @@ pattern_search (struct file *file, int archive,
add_dir = 1;
}
+ /* Set up for the next word. */
+ nptr += len;
+
/* Initialize and set file variables if we haven't already
done so. */
if (!file_vars_initialized)
@@ -630,32 +638,47 @@ pattern_search (struct file *file, int archive,
/* Perform the 2nd expansion. */
p = variable_expand_for_file (depname, file);
+ dptr = &dl;
- /* Parse the expanded string. */
- dl = PARSE_FILE_SEQ (&p, struct dep, order_only ? '\0' : '|',
- add_dir ? dir : NULL, 0);
-
- for (d = dl; d != NULL; d = d->next)
+ /* Parse the results into a deps list. */
+ do
{
- ++deps_found;
- if (order_only)
- d->ignore_mtime = 1;
- }
+ /* Parse the expanded string. */
+ struct dep *dp = PARSE_FILE_SEQ (&p, struct dep,
+ order_only ? MAP_NUL : MAP_PIPE,
+ add_dir ? dir : NULL, PARSEFS_NONE);
+ *dptr = dp;
- /* Set up for the next word. */
- nptr += len;
+ for (d = dp; d != NULL; d = d->next)
+ {
+ ++deps_found;
+ if (order_only)
+ d->ignore_mtime = 1;
+ dptr = &d->next;
+ }
+
+ /* If we stopped due to an order-only token, note it. */
+ if (*p == '|')
+ {
+ order_only = 1;
+ ++p;
+ }
+ }
+ while (*p != '\0');
}
/* If there are more than max_pattern_deps prerequisites (due to
2nd expansion), reset it and realloc the arrays. */
- if (deps_found > max_pattern_deps)
+ if (deps_found > max_deps)
{
unsigned int l = pat - deplist;
+ /* This might have changed due to recursion. */
+ max_pattern_deps = MAX(max_pattern_deps, deps_found);
+ max_deps = max_pattern_deps;
deplist = xrealloc (deplist,
- deps_found * sizeof (struct patdeps));
+ max_deps * sizeof (struct patdeps));
pat = deplist + l;
- max_pattern_deps = deps_found;
}
/* Go through the nameseq and handle each as a prereq name. */
@@ -671,8 +694,8 @@ pattern_search (struct file *file, int archive,
second pass either since we know that will fail. */
DBS (DB_IMPLICIT,
(is_rule
- ? _("Rejecting impossible rule prerequisite `%s'.\n")
- : _("Rejecting impossible implicit prerequisite `%s'.\n"),
+ ? _("Rejecting impossible rule prerequisite '%s'.\n")
+ : _("Rejecting impossible implicit prerequisite '%s'.\n"),
d->name));
tryrules[ri].rule = 0;
@@ -685,8 +708,8 @@ pattern_search (struct file *file, int archive,
DBS (DB_IMPLICIT,
(is_rule
- ? _("Trying rule prerequisite `%s'.\n")
- : _("Trying implicit prerequisite `%s'.\n"), d->name));
+ ? _("Trying rule prerequisite '%s'.\n")
+ : _("Trying implicit prerequisite '%s'.\n"), d->name));
/* If this prereq is also explicitly mentioned for FILE,
skip all tests below since it must be built no matter
@@ -725,7 +748,7 @@ pattern_search (struct file *file, int archive,
if (vname)
{
DBS (DB_IMPLICIT,
- (_("Found prerequisite `%s' as VPATH `%s'\n"),
+ (_("Found prerequisite '%s' as VPATH '%s'\n"),
d->name, vname));
(pat++)->name = d->name;
continue;
@@ -739,7 +762,7 @@ pattern_search (struct file *file, int archive,
if (intermed_ok)
{
DBS (DB_IMPLICIT,
- (_("Looking for a rule with intermediate file `%s'.\n"),
+ (_("Looking for a rule with intermediate file '%s'.\n"),
d->name));
if (int_file == 0)
@@ -755,8 +778,8 @@ pattern_search (struct file *file, int archive,
pat->pattern = int_file->name;
int_file->name = d->name;
pat->file = int_file;
- (pat++)->name = d->name;
int_file = 0;
+ (pat++)->name = d->name;
continue;
}
@@ -777,8 +800,7 @@ pattern_search (struct file *file, int archive,
}
/* Free the ns chain. */
- if (dl != &dep_simple)
- free_dep_chain (dl);
+ free_dep_chain (dl);
if (failed)
break;
@@ -788,17 +810,14 @@ pattern_search (struct file *file, int archive,
file->stem = 0;
- /* This rule is no longer `in use' for recursive searches. */
+ /* This rule is no longer 'in use' for recursive searches. */
rule->in_use = 0;
if (! failed)
/* This pattern rule does apply. Stop looking for one. */
break;
- /* This pattern rule does not apply. If some of its dependencies
- succeeded, free the data structure describing them. */
- /* free_idep_chain (deps); */
- deps = 0;
+ /* This pattern rule does not apply. Keep looking. */
}
/* If we found an applicable rule without intermediate files, don't try
@@ -890,8 +909,8 @@ pattern_search (struct file *file, int archive,
/* If the file actually existed (was not an intermediate file), and
the rule that found it was a terminal one, then we want to mark
the found file so that it will not have implicit rule search done
- for it. If we are not entering a `struct file' for it now, we
- indicate this with the `changed' flag. */
+ for it. If we are not entering a 'struct file' for it now, we
+ indicate this with the 'changed' flag. */
if (dep->file == 0)
dep->changed = 1;
else
@@ -935,7 +954,7 @@ pattern_search (struct file *file, int archive,
}
/* If this rule builds other targets, too, put the others into FILE's
- `also_make' member. */
+ 'also_make' member. */
if (rule->num > 1)
for (ri = 0; ri < rule->num; ++ri)
diff --git a/job.c b/job.c
index aacfb844..29892490 100644
--- a/job.c
+++ b/job.c
@@ -1,7 +1,5 @@
/* Job execution and handling for GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -16,7 +14,7 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
#include <assert.h>
@@ -33,14 +31,14 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#ifdef WINDOWS32
#include <windows.h>
-char *default_shell = "sh.exe";
+const char *default_shell = "sh.exe";
int no_default_sh_exe = 1;
int batch_mode_shell = 1;
HANDLE main_thread;
#elif defined (_AMIGA)
-char default_shell[] = "";
+const char *default_shell = "";
extern int MyExecute (char **);
int batch_mode_shell = 0;
@@ -50,28 +48,28 @@ int batch_mode_shell = 0;
says so. It is without an explicit path so we get a chance
to search the $PATH for it (since MSDOS doesn't have standard
directories we could trust). */
-char *default_shell = "command.com";
+const char *default_shell = "command.com";
int batch_mode_shell = 0;
#elif defined (__EMX__)
-char *default_shell = "/bin/sh";
+const char *default_shell = "/bin/sh";
int batch_mode_shell = 0;
#elif defined (VMS)
# include <descrip.h>
-char default_shell[] = "";
+const char *default_shell = "";
int batch_mode_shell = 0;
#elif defined (__riscos__)
-char default_shell[] = "";
+const char *default_shell = "";
int batch_mode_shell = 0;
#else
-char default_shell[] = "/bin/sh";
+const char *default_shell = "/bin/sh";
int batch_mode_shell = 0;
#endif
@@ -108,6 +106,7 @@ static void vmsWaitForChildren (int *);
# include "sub_proc.h"
# include "w32err.h"
# include "pathstuff.h"
+# define WAIT_NOHANG 1
#endif /* WINDOWS32 */
#ifdef __EMX__
@@ -119,13 +118,13 @@ static void vmsWaitForChildren (int *);
#endif
#ifdef HAVE_WAITPID
-# define WAIT_NOHANG(status) waitpid (-1, (status), WNOHANG)
-#else /* Don't have waitpid. */
+# define WAIT_NOHANG(status) waitpid (-1, (status), WNOHANG)
+#else /* Don't have waitpid. */
# ifdef HAVE_WAIT3
# ifndef wait3
extern int wait3 ();
# endif
-# define WAIT_NOHANG(status) wait3 ((status), WNOHANG, (struct rusage *) 0)
+# define WAIT_NOHANG(status) wait3 ((status), WNOHANG, (struct rusage *) 0)
# endif /* Have wait3. */
#endif /* Have waitpid. */
@@ -133,7 +132,7 @@ extern int wait3 ();
int wait ();
#endif
-#ifndef HAVE_UNION_WAIT
+#ifndef HAVE_UNION_WAIT
# define WAIT_T int
@@ -153,7 +152,7 @@ int wait ();
# define WIFEXITED(x) (WTERMSIG (x) == 0)
# endif
-#else /* Have `union wait'. */
+#else /* Have 'union wait'. */
# define WAIT_T union wait
# ifndef WTERMSIG
@@ -172,7 +171,7 @@ int wait ();
# define WIFEXITED(x) (WTERMSIG(x) == 0)
# endif
-#endif /* Don't have `union wait'. */
+#endif /* Don't have 'union wait'. */
#if !defined(HAVE_UNISTD_H) && !defined(WINDOWS32)
int dup2 ();
@@ -224,7 +223,7 @@ struct child *children = 0;
unsigned int job_slots_used = 0;
-/* Nonzero if the `good' standard input is in use. */
+/* Nonzero if the 'good' standard input is in use. */
static int good_stdin_used = 0;
@@ -244,14 +243,15 @@ unsigned long job_counter = 0;
unsigned int jobserver_tokens = 0;
+
#ifdef WINDOWS32
/*
- * The macro which references this function is defined in make.h.
+ * The macro which references this function is defined in makeint.h.
*/
int
-w32_kill(pid_t pid, int sig)
+w32_kill (pid_t pid, int sig)
{
- return ((process_kill((HANDLE)pid, sig) == TRUE) ? 0 : -1);
+ return ((process_kill ((HANDLE)pid, sig) == TRUE) ? 0 : -1);
}
/* This function creates a temporary file name with an extension specified
@@ -264,9 +264,18 @@ create_batch_file (char const *base, int unixy, int *fd)
const char *const ext = unixy ? "sh" : "bat";
const char *error_string = NULL;
char temp_path[MAXPATHLEN]; /* need to know its length */
- unsigned path_size = GetTempPath(sizeof temp_path, temp_path);
+ unsigned path_size = GetTempPath (sizeof temp_path, temp_path);
int path_is_dot = 0;
- unsigned uniq = 1;
+ /* The following variable is static so we won't try to reuse a name
+ that was generated a little while ago, because that file might
+ not be on disk yet, since we use FILE_ATTRIBUTE_TEMPORARY below,
+ which tells the OS it doesn't need to flush the cache to disk.
+ If the file is not yet on disk, we might think the name is
+ available, while it really isn't. This happens in parallel
+ builds, where Make doesn't wait for one job to finish before it
+ launches the next one. */
+ static unsigned uniq = 0;
+ static int second_loop = 0;
const unsigned sizemax = strlen (base) + strlen (ext) + 10;
if (path_size == 0)
@@ -275,9 +284,19 @@ create_batch_file (char const *base, int unixy, int *fd)
path_is_dot = 1;
}
+ ++uniq;
+ if (uniq >= 0x10000 && !second_loop)
+ {
+ /* If we already had 64K batch files in this
+ process, make a second loop through the numbers,
+ looking for free slots, i.e. files that were
+ deleted in the meantime. */
+ second_loop = 1;
+ uniq = 1;
+ }
while (path_size > 0 &&
path_size + sizemax < sizeof temp_path &&
- uniq < 0x10000)
+ !(uniq >= 0x10000 && second_loop))
{
unsigned size = sprintf (temp_path + path_size,
"%s%s-%x.%s",
@@ -294,10 +313,17 @@ create_batch_file (char const *base, int unixy, int *fd)
if (h == INVALID_HANDLE_VALUE)
{
- const DWORD er = GetLastError();
+ const DWORD er = GetLastError ();
if (er == ERROR_FILE_EXISTS || er == ERROR_ALREADY_EXISTS)
- ++uniq;
+ {
+ ++uniq;
+ if (uniq == 0x10000 && !second_loop)
+ {
+ second_loop = 1;
+ uniq = 1;
+ }
+ }
/* the temporary path is not guaranteed to exist */
else if (path_is_dot == 0)
@@ -333,7 +359,7 @@ create_batch_file (char const *base, int unixy, int *fd)
*fd = -1;
if (error_string == NULL)
error_string = _("Cannot create a temporary file\n");
- fatal (NILF, error_string);
+ O (fatal, NILF, error_string);
/* not reached */
return NULL;
@@ -373,11 +399,12 @@ _is_unixy_shell (const char *path)
if (*name == '/' || *name == '\\') name++;
i = 0;
- while (known_os2shells[i] != NULL) {
- if (strcasecmp (name, known_os2shells[i]) == 0)
- return 0; /* not a unix shell */
- i++;
- }
+ while (known_os2shells[i] != NULL)
+ {
+ if (strcasecmp (name, known_os2shells[i]) == 0)
+ return 0; /* not a unix shell */
+ i++;
+ }
/* in doubt assume a unix like shell */
return 1;
@@ -388,8 +415,8 @@ _is_unixy_shell (const char *path)
int
is_bourne_compatible_shell (const char *path)
{
- /* list of known unix (Bourne-like) shells */
- const char *unix_shells[] = {
+ /* List of known POSIX (or POSIX-ish) shells. */
+ static const char *unix_shells[] = {
"sh",
"bash",
"ksh",
@@ -399,7 +426,7 @@ is_bourne_compatible_shell (const char *path)
"dash",
NULL
};
- unsigned i, len;
+ const char **s;
/* find the rightmost '/' or '\\' */
const char *name = strrchr (path, '/');
@@ -412,20 +439,21 @@ is_bourne_compatible_shell (const char *path)
else if (!name) /* name and p must be 0 */
name = path;
- if (*name == '/' || *name == '\\') name++;
+ if (*name == '/' || *name == '\\')
+ ++name;
/* this should be able to deal with extensions on Windows-like systems */
- for (i = 0; unix_shells[i] != NULL; i++) {
- len = strlen(unix_shells[i]);
+ for (s = unix_shells; *s != NULL; ++s)
+ {
#if defined(WINDOWS32) || defined(__MSDOS__)
- if ((strncasecmp (name, unix_shells[i], len) == 0) &&
- (strlen(name) >= len && (name[len] == '\0' || name[len] == '.')))
+ unsigned int len = strlen (*s);
+ if ((strlen (name) >= len && STOP_SET (name[len], MAP_DOT|MAP_NUL))
+ && strncasecmp (name, *s, len) == 0)
#else
- if ((strncmp (name, unix_shells[i], len) == 0) &&
- (strlen(name) >= len && name[len] == '\0'))
+ if (strcmp (name, *s) == 0)
#endif
- return 1; /* a known unix-style shell */
- }
+ return 1; /* a known unix-style shell */
+ }
/* if not on the list, assume it's not a Bourne-like shell */
return 0;
@@ -437,28 +465,72 @@ is_bourne_compatible_shell (const char *path)
Append "(ignored)" if IGNORED is nonzero. */
static void
-child_error (const char *target_name,
+child_error (struct child *child,
int exit_code, int exit_sig, int coredump, int ignored)
{
+ const char *pre = "*** ";
+ const char *post = "";
+ const char *dump = "";
+ const struct file *f = child->file;
+ const gmk_floc *flocp = &f->cmds->fileinfo;
+ const char *nm;
+ size_t l = strlen (f->name);
+
if (ignored && silent_flag)
return;
+ if (exit_sig && coredump)
+ dump = _(" (core dumped)");
+
+ if (ignored)
+ {
+ pre = "";
+ post = _(" (ignored)");
+ }
+
+ if (! flocp->filenm)
+ nm = _("<builtin>");
+ else
+ {
+ char *a = alloca (strlen (flocp->filenm) + 1 + 11 + 1);
+ sprintf (a, "%s:%lu", flocp->filenm, flocp->lineno);
+ nm = a;
+ }
+
+ OUTPUT_SET (&child->output);
+
+ 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))
- error (NILF,
- (ignored ? _("*** [%s] Error 0x%x (ignored)")
- : _("*** [%s] Error 0x%x")),
- target_name, exit_code);
+ 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, ignored ? _("[%s] Error %d (ignored)") :
- _("*** [%s] Error %d"),
- target_name, exit_code);
+ error (NILF, l + INTSTR_LENGTH,
+ _("%s[%s] Error %d%s"), pre, f->name, exit_code, post);
else
- error (NILF, "*** [%s] %s%s",
- target_name, strsignal (exit_sig),
- coredump ? _(" (core dumped)") : "");
+ {
+ const char *s = strsignal (exit_sig);
+ error (NILF, l + strlen (s) + strlen (dump),
+ _("%s[%s] %s%s%s"), pre, f->name, s, dump, post);
+ }
#endif /* VMS */
+
+ OUTPUT_UNSET ();
}
@@ -498,7 +570,7 @@ child_handler (int sig UNUSED)
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
+ state ('cs_finished') in the 'file' member of the 'struct child' for the
dead child, and removing the child from the chain. In addition, if BLOCK
nonzero, we block in this function until we've reaped at least one
complete child, waiting for it to die if necessary. If ERR is nonzero,
@@ -509,9 +581,9 @@ reap_children (int block, int err)
{
#ifndef WINDOWS32
WAIT_T status;
+#endif
/* Initially, assume we have some. */
int reap_more = 1;
-#endif
#ifdef WAIT_NOHANG
# define REAP_MORE reap_more
@@ -533,115 +605,115 @@ reap_children (int block, int err)
int remote = 0;
pid_t pid;
int exit_code, exit_sig, coredump;
- register struct child *lastc, *c;
+ struct child *lastc, *c;
int child_failed;
int any_remote, any_local;
int dontcare;
if (err && block)
- {
+ {
static int printed = 0;
- /* We might block for a while, so let the user know why.
+ /* We might block for a while, so let the user know why.
Only print this message once no matter how many jobs are left. */
- fflush (stdout);
+ fflush (stdout);
if (!printed)
- error (NILF, _("*** Waiting for unfinished jobs...."));
+ O (error, NILF, _("*** Waiting for unfinished jobs...."));
printed = 1;
- }
+ }
/* We have one less dead child to reap. As noted in
- child_handler() above, this count is completely unimportant for
- all modern, POSIX-y systems that support wait3() or waitpid().
- The rest of this comment below applies only to early, broken
- pre-POSIX systems. We keep the count only because... it's there...
-
- The test and decrement are not atomic; if it is compiled into:
- register = dead_children - 1;
- dead_children = register;
- a SIGCHLD could come between the two instructions.
- child_handler increments dead_children.
- The second instruction here would lose that increment. But the
- only effect of dead_children being wrong is that we might wait
- longer than necessary to reap a child, and lose some parallelism;
- and we might print the "Waiting for unfinished jobs" message above
- when not necessary. */
+ child_handler() above, this count is completely unimportant for
+ all modern, POSIX-y systems that support wait3() or waitpid().
+ The rest of this comment below applies only to early, broken
+ pre-POSIX systems. We keep the count only because... it's there...
+
+ The test and decrement are not atomic; if it is compiled into:
+ register = dead_children - 1;
+ dead_children = register;
+ a SIGCHLD could come between the two instructions.
+ child_handler increments dead_children.
+ The second instruction here would lose that increment. But the
+ only effect of dead_children being wrong is that we might wait
+ longer than necessary to reap a child, and lose some parallelism;
+ and we might print the "Waiting for unfinished jobs" message above
+ when not necessary. */
if (dead_children > 0)
- --dead_children;
+ --dead_children;
any_remote = 0;
any_local = shell_function_pid != 0;
for (c = children; c != 0; c = c->next)
- {
- any_remote |= c->remote;
- any_local |= ! c->remote;
- DB (DB_JOBS, (_("Live child %p (%s) PID %s %s\n"),
+ {
+ any_remote |= c->remote;
+ any_local |= ! c->remote;
+ DB (DB_JOBS, (_("Live child %p (%s) PID %s %s\n"),
c, c->file->name, pid2str (c->pid),
c->remote ? _(" (remote)") : ""));
#ifdef VMS
- break;
+ break;
#endif
- }
+ }
/* First, check for remote children. */
if (any_remote)
- pid = remote_status (&exit_code, &exit_sig, &coredump, 0);
+ pid = remote_status (&exit_code, &exit_sig, &coredump, 0);
else
- pid = 0;
+ pid = 0;
if (pid > 0)
- /* We got a remote child. */
- remote = 1;
+ /* We got a remote child. */
+ remote = 1;
else if (pid < 0)
- {
+ {
/* A remote status command failed miserably. Punt. */
- remote_status_lose:
- pfatal_with_name ("remote_status");
- }
+ remote_status_lose:
+ pfatal_with_name ("remote_status");
+ }
else
- {
- /* No remote children. Check for local children. */
+ {
+ /* No remote children. Check for local children. */
#if !defined(__MSDOS__) && !defined(_AMIGA) && !defined(WINDOWS32)
- if (any_local)
- {
+ if (any_local)
+ {
#ifdef VMS
- vmsWaitForChildren (&status);
- pid = c->pid;
+ vmsWaitForChildren (&status);
+ pid = c->pid;
#else
#ifdef WAIT_NOHANG
- if (!block)
- pid = WAIT_NOHANG (&status);
- else
+ if (!block)
+ pid = WAIT_NOHANG (&status);
+ else
#endif
- EINTRLOOP(pid, wait (&status));
+ EINTRLOOP(pid, wait (&status));
#endif /* !VMS */
- }
- else
- pid = 0;
+ }
+ else
+ pid = 0;
- if (pid < 0)
- {
+ if (pid < 0)
+ {
/* The wait*() failed miserably. Punt. */
- pfatal_with_name ("wait");
- }
- else if (pid > 0)
- {
- /* We got a child exit; chop the status word up. */
- exit_code = WEXITSTATUS (status);
- exit_sig = WIFSIGNALED (status) ? WTERMSIG (status) : 0;
- coredump = WCOREDUMP (status);
+ pfatal_with_name ("wait");
+ }
+ else if (pid > 0)
+ {
+ /* We got a child exit; chop the status word up. */
+ exit_code = WEXITSTATUS (status);
+ exit_sig = WIFSIGNALED (status) ? WTERMSIG (status) : 0;
+ coredump = WCOREDUMP (status);
/* If we have started jobs in this second, remove one. */
if (job_counter)
--job_counter;
- }
- else
- {
- /* No local children are dead. */
+ }
+ else
+ {
+ /* No local children are dead. */
reap_more = 0;
- if (!block || !any_remote)
+ if (!block || !any_remote)
break;
/* Now try a blocking wait for a remote child. */
@@ -654,32 +726,32 @@ reap_children (int block, int err)
/* We got a remote child. */
remote = 1;
- }
+ }
#endif /* !__MSDOS__, !Amiga, !WINDOWS32. */
#ifdef __MSDOS__
- /* Life is very different on MSDOS. */
- pid = dos_pid - 1;
- status = dos_status;
- exit_code = WEXITSTATUS (status);
- if (exit_code == 0xff)
- exit_code = -1;
- exit_sig = WIFSIGNALED (status) ? WTERMSIG (status) : 0;
- coredump = 0;
+ /* Life is very different on MSDOS. */
+ pid = dos_pid - 1;
+ status = dos_status;
+ exit_code = WEXITSTATUS (status);
+ if (exit_code == 0xff)
+ exit_code = -1;
+ exit_sig = WIFSIGNALED (status) ? WTERMSIG (status) : 0;
+ coredump = 0;
#endif /* __MSDOS__ */
#ifdef _AMIGA
- /* Same on Amiga */
- pid = amiga_pid - 1;
- status = amiga_status;
- exit_code = amiga_status;
- exit_sig = 0;
- coredump = 0;
+ /* Same on Amiga */
+ pid = amiga_pid - 1;
+ status = amiga_status;
+ exit_code = amiga_status;
+ exit_sig = 0;
+ coredump = 0;
#endif /* _AMIGA */
#ifdef WINDOWS32
{
HANDLE hPID;
- int werr;
HANDLE hcTID, hcPID;
+ DWORD dwWaitStatus = 0;
exit_code = 0;
exit_sig = 0;
coredump = 0;
@@ -696,58 +768,69 @@ reap_children (int block, int err)
DWORD e = GetLastError ();
fprintf (stderr,
"Determine main thread ID (Error %ld: %s)\n",
- e, map_windows32_error_to_string(e));
+ e, map_windows32_error_to_string (e));
}
else
DB (DB_VERBOSE, ("Main thread handle = %p\n", main_thread));
}
/* wait for anything to finish */
- hPID = process_wait_for_any();
+ hPID = process_wait_for_any (block, &dwWaitStatus);
if (hPID)
{
-
/* was an error found on this process? */
- werr = process_last_err(hPID);
+ int werr = process_last_err (hPID);
/* get exit data */
- exit_code = process_exit_code(hPID);
+ exit_code = process_exit_code (hPID);
if (werr)
- fprintf(stderr, "make (e=%d): %s",
- exit_code, map_windows32_error_to_string(exit_code));
+ fprintf (stderr, "make (e=%d): %s", exit_code,
+ map_windows32_error_to_string (exit_code));
/* signal */
- exit_sig = process_signal(hPID);
+ exit_sig = process_signal (hPID);
/* cleanup process */
- process_cleanup(hPID);
+ process_cleanup (hPID);
coredump = 0;
}
+ else if (dwWaitStatus == WAIT_FAILED)
+ {
+ /* The WaitForMultipleObjects() failed miserably. Punt. */
+ pfatal_with_name ("WaitForMultipleObjects");
+ }
+ else if (dwWaitStatus == WAIT_TIMEOUT)
+ {
+ /* No child processes are finished. Give up waiting. */
+ reap_more = 0;
+ break;
+ }
+
pid = (pid_t) hPID;
}
#endif /* WINDOWS32 */
- }
+ }
- /* Check if this is the child of the `shell' function. */
+ /* Check if this is the child of the 'shell' function. */
if (!remote && pid == shell_function_pid)
- {
- /* 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;
- }
+ {
+ /* 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;
+ }
child_failed = exit_sig != 0 || exit_code != 0;
/* Search for a child matching the deceased one. */
lastc = 0;
for (c = children; c != 0; lastc = c, c = c->next)
- if (c->remote == remote && c->pid == pid)
- break;
+ if (c->pid == pid && c->remote == remote)
+ break;
if (c == 0)
/* An unknown child died.
@@ -759,17 +842,23 @@ reap_children (int block, int err)
: _("Reaping winning child %p PID %s %s\n"),
c, pid2str (c->pid), c->remote ? _(" (remote)") : ""));
- if (c->sh_batch_file) {
- DB (DB_JOBS, (_("Cleaning up temp batch file %s\n"),
- c->sh_batch_file));
+ if (c->sh_batch_file)
+ {
+ int rm_status;
- /* just try and remove, don't care if this fails */
- remove (c->sh_batch_file);
+ DB (DB_JOBS, (_("Cleaning up temp batch file %s\n"),
+ c->sh_batch_file));
- /* all done with memory */
- free (c->sh_batch_file);
- c->sh_batch_file = NULL;
- }
+ errno = 0;
+ rm_status = remove (c->sh_batch_file);
+ if (rm_status)
+ DB (DB_JOBS, (_("Cleaning up temp batch file %s failed (%d)\n"),
+ c->sh_batch_file, errno));
+
+ /* all done with memory */
+ free (c->sh_batch_file);
+ c->sh_batch_file = NULL;
+ }
/* If this child had the good stdin, say it is now free. */
if (c->good_stdin)
@@ -784,9 +873,9 @@ reap_children (int block, int err)
static int delete_on_error = -1;
if (!dontcare)
- child_error (c->file->name, exit_code, exit_sig, coredump, 0);
+ child_error (c, exit_code, exit_sig, coredump, 0);
- c->file->update_status = 2;
+ c->file->update_status = us_failed;
if (delete_on_error == -1)
{
struct file *f = lookup_file (".DELETE_ON_ERROR");
@@ -800,8 +889,7 @@ reap_children (int block, int err)
if (child_failed)
{
/* The commands failed, but we don't care. */
- child_error (c->file->name,
- exit_code, exit_sig, coredump, 1);
+ child_error (c, exit_code, exit_sig, coredump, 1);
child_failed = 0;
}
@@ -814,10 +902,16 @@ reap_children (int block, int err)
Since there are more commands that wanted to be run,
the target was not completely remade. So we treat
this as if a command had failed. */
- c->file->update_status = 2;
+ c->file->update_status = us_failed;
}
else
{
+#ifndef NO_OUTPUT_SYNC
+ /* If we're sync'ing per line, write the previous line's
+ output before starting the next one. */
+ if (output_sync == OUTPUT_SYNC_LINE)
+ output_dump (&c->output);
+#endif
/* Check again whether to start remotely.
Whether or not we want to changes over time.
Also, start_remote_job may need state set up
@@ -835,7 +929,7 @@ reap_children (int block, int err)
continue;
}
- if (c->file->update_status != 0)
+ if (c->file->update_status != us_success)
/* We failed to start the commands. */
delete_child_targets (c);
}
@@ -843,12 +937,18 @@ reap_children (int block, int err)
/* There are no more commands. We got through them all
without an unignored error. Now the target has been
successfully updated. */
- c->file->update_status = 0;
+ c->file->update_status = us_success;
}
- /* When we get here, all the commands for C->file are finished
- (or aborted) and C->file->update_status contains 0 or 2. But
- C->file->command_state is still cs_running if all the commands
+ /* When we get here, all the commands for c->file are finished. */
+
+#ifndef NO_OUTPUT_SYNC
+ /* Synchronize any remaining parallel output. */
+ output_dump (&c->output);
+#endif
+
+ /* At this point c->file->update_status is success or failed. But
+ c->file->command_state is still cs_running if all the commands
ran; notice_finish_file looks for cs_running to tell it that
it's interesting to check the file's modtime again now. */
@@ -887,7 +987,7 @@ reap_children (int block, int err)
if (!err && child_failed && !dontcare && !keep_going_flag &&
/* fatal_error_signal will die with the right signal. */
!handling_fatal_signal)
- die (2);
+ die (MAKE_FAILURE);
/* Only block for one child. */
block = 0;
@@ -901,13 +1001,29 @@ reap_children (int block, int err)
static void
free_child (struct child *child)
{
+ output_close (&child->output);
+
if (!jobserver_tokens)
- fatal (NILF, "INTERNAL: Freeing child %p (%s) but no tokens left!\n",
- child, child->file->name);
+ ONS (fatal, NILF, "INTERNAL: Freeing child %p (%s) but no tokens left!\n",
+ child, child->file->name);
/* If we're using the jobserver and this child is not the only outstanding
job, put a token back into the pipe for it. */
+#ifdef WINDOWS32
+ if (has_jobserver_semaphore () && jobserver_tokens > 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 = '+';
@@ -917,11 +1033,12 @@ free_child (struct child *child)
EINTRLOOP (r, write (job_fds[1], &token, 1));
if (r != 1)
- pfatal_with_name (_("write jobserver"));
+ pfatal_with_name (_("write jobserver"));
DB (DB_JOBS, (_("Released token for child %p (%s).\n"),
child, child->file->name));
}
+#endif
--jobserver_tokens;
@@ -932,7 +1049,7 @@ free_child (struct child *child)
{
register unsigned int i;
for (i = 0; i < child->file->cmds->ncommand_lines; ++i)
- free (child->command_lines[i]);
+ free (child->command_lines[i]);
free (child->command_lines);
}
@@ -940,7 +1057,7 @@ free_child (struct child *child)
{
register char **ep = child->environment;
while (*ep != 0)
- free (*ep++);
+ free (*ep++);
free (child->environment);
}
@@ -973,7 +1090,7 @@ unblock_sigs (void)
}
#endif
-#ifdef MAKE_JOBSERVER
+#if defined(MAKE_JOBSERVER) && !defined(WINDOWS32)
RETSIGTYPE
job_noop (int sig UNUSED)
{
@@ -1004,10 +1121,20 @@ set_child_handler_action_flags (int set_handler, int 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. */
- alarm (set_handler ? 1 : 0);
- sa.sa_handler = set_handler ? job_noop : SIG_DFL;
- sa.sa_flags = 0;
- sigaction (SIGALRM, &sa, NULL);
+ 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
}
@@ -1018,7 +1145,7 @@ set_child_handler_action_flags (int set_handler, int set_alarm)
CHILD is updated to reflect the commands and ID of the child process.
NOTE: On return fatal signals are blocked! The caller is responsible
- for calling `unblock_sigs', once the new child is safely on the chain so
+ for calling 'unblock_sigs', once the new child is safely on the chain so
it can be cleaned up in the event of a fatal signal. */
static void
@@ -1027,13 +1154,14 @@ start_job_command (struct child *child)
#if !defined(_AMIGA) && !defined(WINDOWS32)
static int bad_stdin = -1;
#endif
+ int flags;
char *p;
- /* Must be volatile to silence bogus GCC warning about longjmp/vfork. */
- volatile int flags;
#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. */
@@ -1043,7 +1171,7 @@ start_job_command (struct child *child)
/* Combine the flags parsed for the line itself with
the flags specified globally for this target. */
flags = (child->file->command_flags
- | child->file->cmds->lines_flags[child->command_line - 1]);
+ | child->file->cmds->lines_flags[child->command_line - 1]);
p = child->command_ptr;
child->noerror = ((flags & COMMANDS_NOERROR) != 0);
@@ -1051,13 +1179,13 @@ start_job_command (struct child *child)
while (*p != '\0')
{
if (*p == '@')
- flags |= COMMANDS_SILENT;
+ flags |= COMMANDS_SILENT;
else if (*p == '+')
- flags |= COMMANDS_RECURSE;
+ flags |= COMMANDS_RECURSE;
else if (*p == '-')
- child->noerror = 1;
+ child->noerror = 1;
else if (!isblank ((unsigned char)*p))
- break;
+ break;
++p;
}
@@ -1070,29 +1198,68 @@ start_job_command (struct child *child)
child->file->cmds->lines_flags[child->command_line - 1]
|= flags & COMMANDS_RECURSE;
- /* Figure out an argument list from this command line. */
+ /* POSIX requires that a recipe prefix after a backslash-newline should
+ be ignored. Remove it now so the output is correct. */
+ {
+ char prefix = child->file->cmds->recipe_prefix;
+ char *p1, *p2;
+ p1 = p2 = p;
+ while (*p1 != '\0')
+ {
+ *(p2++) = *p1;
+ if (p1[0] == '\n' && p1[1] == prefix)
+ ++p1;
+ ++p1;
+ }
+ *p2 = *p1;
+ }
+ /* Figure out an argument list from this command line. */
{
char *end = 0;
#ifdef VMS
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
+ of strings) which contains the complete command line, which for
+ multi-line variables still includes the newlines. So detect newlines
+ and set 'end' (which is used for child->command_ptr) instead of
+ (re-)writing construct_command_argv */
+ if (!one_shell)
+ {
+ char *s = p;
+ int instring = 0;
+ while (*s)
+ {
+ if (*s == '"')
+ instring = !instring;
+ else if (*s == '\\' && !instring && *(s+1) != 0)
+ s++;
+ else if (*s == '\n' && !instring)
+ {
+ end = s;
+ break;
+ }
+ ++s;
+ }
+ }
#else
argv = construct_command_argv (p, &end, child->file,
- child->file->cmds->lines_flags[child->command_line - 1],
- &child->sh_batch_file);
+ child->file->cmds->lines_flags[child->command_line - 1],
+ &child->sh_batch_file);
#endif
if (end == NULL)
child->command_ptr = NULL;
else
{
- *end++ = '\0';
- child->command_ptr = end;
+ *end++ = '\0';
+ child->command_ptr = end;
}
}
- /* If -q was given, say that updating `failed' if there was any text on the
- command line, or `succeeded' otherwise. The exit status of 1 tells the
- user that -q is saying `something to do'; the exit status for a random
+ /* If -q was given, say that updating 'failed' if there was any text on the
+ command line, or 'succeeded' otherwise. The exit status of 1 tells the
+ user that -q is saying 'something to do'; the exit status for a random
error is 2. */
if (argv != 0 && question_flag && !(flags & COMMANDS_RECURSE))
{
@@ -1100,7 +1267,7 @@ start_job_command (struct child *child)
free (argv[0]);
free (argv);
#endif
- child->file->update_status = 1;
+ child->file->update_status = us_question;
notice_finished_file (child->file);
return;
}
@@ -1108,7 +1275,7 @@ start_job_command (struct child *child)
if (touch_flag && !(flags & COMMANDS_RECURSE))
{
/* Go on to the next command. It might be the recursive one.
- We construct ARGV only to find the end of the command line. */
+ We construct ARGV only to find the end of the command line. */
#ifndef VMS
if (argv)
{
@@ -1127,24 +1294,39 @@ start_job_command (struct child *child)
#endif
/* This line has no commands. Go to the next. */
if (job_next_command (child))
- start_job_command (child);
+ start_job_command (child);
else
- {
- /* No more commands. Make sure we're "running"; we might not be if
+ {
+ /* No more commands. Make sure we're "running"; we might not be if
(e.g.) all commands were skipped due to -n. */
set_command_state (child->file, cs_running);
- child->file->update_status = 0;
- notice_finished_file (child->file);
- }
+ child->file->update_status = us_success;
+ notice_finished_file (child->file);
+ }
+
+ OUTPUT_UNSET();
return;
}
- /* Print out the command. If silent, we call `message' with null so it
- can log the working directory before the command's own error messages
- appear. */
+ /* Are we going to synchronize this command's output? Do so if either we're
+ in SYNC_RECURSE mode or this command is not recursive. We'll also check
+ output_sync separately below in case it changes due to error. */
+ child->output.syncout = output_sync && (output_sync == OUTPUT_SYNC_RECURSE
+ || !(flags & COMMANDS_RECURSE));
+
+ OUTPUT_SET (&child->output);
+
+#ifndef NO_OUTPUT_SYNC
+ if (! child->output.syncout)
+ /* We don't want to sync this command: to avoid misordered
+ output ensure any already-synced content is written. */
+ output_dump (&child->output);
+#endif
- message (0, (just_print_flag || (!(flags & COMMANDS_SILENT) && !silent_flag))
- ? "%s" : (char *) 0, p);
+ /* Print the command if appropriate. */
+ if (just_print_flag || trace_flag
+ || (!(flags & COMMANDS_SILENT) && !silent_flag))
+ OS (message, 0, "%s", p);
/* Tell update_goal_chain that a command has been started on behalf of
this target. It is important that this happens here and not in
@@ -1164,15 +1346,15 @@ start_job_command (struct child *child)
#if !defined(VMS) && !defined(_AMIGA)
if (
#if defined __MSDOS__ || defined (__EMX__)
- unixy_shell /* the test is complicated and we already did it */
+ unixy_shell /* the test is complicated and we already did it */
#else
- (argv[0] && is_bourne_compatible_shell(argv[0]))
+ (argv[0] && is_bourne_compatible_shell (argv[0]))
#endif
&& (argv[1] && argv[1][0] == '-'
- &&
- ((argv[1][1] == 'c' && argv[1][2] == '\0')
- ||
- (argv[1][1] == 'e' && argv[1][2] == 'c' && argv[1][3] == '\0')))
+ &&
+ ((argv[1][1] == 'c' && argv[1][2] == '\0')
+ ||
+ (argv[1][1] == 'e' && argv[1][2] == 'c' && argv[1][3] == '\0')))
&& (argv[2] && argv[2][0] == ':' && argv[2][1] == '\0')
&& argv[3] == NULL)
{
@@ -1193,6 +1375,9 @@ start_job_command (struct child *child)
goto next_command;
}
+ /* We're sure we're going to invoke a command: set up the output. */
+ output_start ();
+
/* Flush the output streams so they won't have things written twice. */
fflush (stdout);
@@ -1206,26 +1391,26 @@ start_job_command (struct child *child)
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. */
+ 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);
- }
+ {
+ /* 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
+ /* 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. */
child->good_stdin = !good_stdin_used;
@@ -1250,21 +1435,21 @@ start_job_command (struct child *child)
{
int is_remote, id, used_stdin;
if (start_remote_job (argv, child->environment,
- child->good_stdin ? 0 : bad_stdin,
- &is_remote, &id, &used_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. */
- goto run_local;
+ goto run_local;
else
- {
- if (child->good_stdin && !used_stdin)
- {
- child->good_stdin = 0;
- good_stdin_used = 0;
- }
- child->remote = is_remote;
- child->pid = id;
- }
+ {
+ if (child->good_stdin && !used_stdin)
+ {
+ child->good_stdin = 0;
+ good_stdin_used = 0;
+ }
+ child->remote = is_remote;
+ child->pid = id;
+ }
}
else
#endif /* !VMS */
@@ -1279,55 +1464,67 @@ start_job_command (struct child *child)
child->remote = 0;
#ifdef VMS
- if (!child_execute_job (argv, child)) {
- /* Fork failed! */
- perror_with_name ("vfork", "");
- goto error;
- }
+ if (!child_execute_job (argv, child))
+ {
+ /* Fork failed! */
+ perror_with_name ("fork", "");
+ goto error;
+ }
#else
parent_environ = environ;
+#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]);
- }
+ {
+ CLOSE_ON_EXEC (job_fds[0]);
+ CLOSE_ON_EXEC (job_fds[1]);
+ }
if (job_rfd >= 0)
- CLOSE_ON_EXEC (job_rfd);
+ CLOSE_ON_EXEC (job_rfd);
/* Never use fork()/exec() here! Use spawn() instead in exec_command() */
- child->pid = child_execute_job (child->good_stdin ? 0 : bad_stdin, 1,
+ 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;
- }
+ {
+ /* 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);
- }
+ {
+ fcntl (job_fds[0], F_SETFD, 0);
+ fcntl (job_fds[1], F_SETFD, 0);
+ }
if (job_rfd >= 0)
- fcntl (job_rfd, F_SETFD, 0);
+ fcntl (job_rfd, F_SETFD, 0);
#else /* !__EMX__ */
- child->pid = vfork ();
- environ = parent_environ; /* Restore value child may have clobbered. */
+ child->pid = fork ();
+ environ = parent_environ; /* Restore value child may have clobbered. */
if (child->pid == 0)
- {
- /* We are the child side. */
- unblock_sigs ();
+ {
+ /* We are the child side. */
+ unblock_sigs ();
/* If we aren't running a recursive command and we have a jobserver
pipe, close it before exec'ing. */
@@ -1344,22 +1541,21 @@ start_job_command (struct child *child)
if (stack_limit.rlim_cur)
setrlimit (RLIMIT_STACK, &stack_limit);
#endif
-
- child_execute_job (child->good_stdin ? 0 : bad_stdin, 1,
- argv, child->environment);
- }
+ 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 ("vfork", "");
- goto error;
- }
+ {
+ /* Fork failed! */
+ unblock_sigs ();
+ perror_with_name ("fork", "");
+ goto error;
+ }
# endif /* !__EMX__ */
#endif /* !VMS */
}
-#else /* __MSDOS__ or Amiga or WINDOWS32 */
+#else /* __MSDOS__ or Amiga or WINDOWS32 */
#ifdef __MSDOS__
{
int proc_return;
@@ -1367,37 +1563,37 @@ start_job_command (struct child *child)
block_sigs ();
dos_status = 0;
- /* We call `system' to do the job of the SHELL, since stock DOS
- shell is too dumb. Our `system' knows how to handle long
+ /* We call 'system' to do the job of the SHELL, since stock DOS
+ shell is too dumb. Our 'system' knows how to handle long
command lines even if pipes/redirection is needed; it will only
call COMMAND.COM when its internal commands are used. */
if (execute_by_shell)
{
- char *cmdline = argv[0];
- /* We don't have a way to pass environment to `system',
- so we need to save and restore ours, sigh... */
- char **parent_environ = environ;
-
- environ = child->environment;
-
- /* If we have a *real* shell, tell `system' to call
- it to do everything for us. */
- if (unixy_shell)
- {
- /* A *real* shell on MSDOS may not support long
- command lines the DJGPP way, so we must use `system'. */
- cmdline = argv[2]; /* get past "shell -c" */
- }
-
- dos_command_running = 1;
- proc_return = system (cmdline);
- environ = parent_environ;
- execute_by_shell = 0; /* for the next time */
+ char *cmdline = argv[0];
+ /* We don't have a way to pass environment to 'system',
+ so we need to save and restore ours, sigh... */
+ char **parent_environ = environ;
+
+ environ = child->environment;
+
+ /* If we have a *real* shell, tell 'system' to call
+ it to do everything for us. */
+ if (unixy_shell)
+ {
+ /* A *real* shell on MSDOS may not support long
+ command lines the DJGPP way, so we must use 'system'. */
+ cmdline = argv[2]; /* get past "shell -c" */
+ }
+
+ dos_command_running = 1;
+ proc_return = system (cmdline);
+ environ = parent_environ;
+ execute_by_shell = 0; /* for the next time */
}
else
{
- dos_command_running = 1;
- proc_return = spawnvpe (P_WAIT, argv[0], argv, child->environment);
+ dos_command_running = 1;
+ proc_return = spawnvpe (P_WAIT, argv[0], argv, child->environment);
}
/* Need to unblock signals before turning off
@@ -1426,7 +1622,7 @@ start_job_command (struct child *child)
amiga_batch_file = 0;
DeleteFile (amiga_bname); /* Ignore errors. */
}
-#endif /* Amiga */
+#endif /* Amiga */
#ifdef WINDOWS32
{
HANDLE hPID;
@@ -1440,26 +1636,39 @@ start_job_command (struct child *child)
*arg0 = '\\';
/* make sure CreateProcess() has Path it needs */
- sync_Path_environment();
+ sync_Path_environment ();
- hPID = process_easy(argv, child->environment);
+#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;
+ }
+#else
+ outfd = errfd = -1;
+#endif
+ hPID = process_easy (argv, child->environment, outfd, errfd);
if (hPID != INVALID_HANDLE_VALUE)
child->pid = (pid_t) hPID;
- else {
- int i;
- unblock_sigs();
- fprintf(stderr,
- _("process_easy() failed to launch process (e=%ld)\n"),
- process_last_err(hPID));
- for (i = 0; argv[i]; i++)
- fprintf(stderr, "%s ", argv[i]);
- fprintf(stderr, _("\nCounted %d args in failed launch\n"), i);
- goto error;
- }
+ else
+ {
+ int i;
+ unblock_sigs ();
+ fprintf (stderr,
+ _("process_easy() failed to launch process (e=%ld)\n"),
+ process_last_err (hPID));
+ for (i = 0; argv[i]; i++)
+ fprintf (stderr, "%s ", argv[i]);
+ fprintf (stderr, _("\nCounted %d args in failed launch\n"), i);
+ goto error;
+ }
}
#endif /* WINDOWS32 */
-#endif /* __MSDOS__ or Amiga or WINDOWS32 */
+#endif /* __MSDOS__ or Amiga or WINDOWS32 */
/* Bump the number of jobs started in this second. */
++job_counter;
@@ -1475,17 +1684,18 @@ start_job_command (struct child *child)
free (argv);
#endif
+ OUTPUT_UNSET();
return;
error:
- child->file->update_status = 2;
+ child->file->update_status = us_failed;
notice_finished_file (child->file);
- return;
+ OUTPUT_UNSET();
}
/* Try to start a child running.
Returns nonzero if the child was started (and maybe finished), or zero if
- the load was too high and the child was put on the `waiting_jobs' chain. */
+ the load was too high and the child was put on the 'waiting_jobs' chain. */
static int
start_waiting_job (struct child *c)
@@ -1503,9 +1713,9 @@ start_waiting_job (struct child *c)
if (!c->remote
&& ((job_slots_used > 0 && load_too_high ())
#ifdef WINDOWS32
- || (process_used_slots () >= MAXIMUM_WAIT_OBJECTS)
+ || (process_used_slots () >= MAXIMUM_WAIT_OBJECTS)
#endif
- ))
+ ))
{
/* Put this child on the chain of children waiting for the load average
to go down. */
@@ -1533,7 +1743,7 @@ start_waiting_job (struct child *c)
case cs_not_started:
/* All the command lines turned out to be empty. */
- f->update_status = 0;
+ f->update_status = us_success;
/* FALLTHROUGH */
case cs_finished:
@@ -1549,7 +1759,7 @@ start_waiting_job (struct child *c)
return 1;
}
-/* Create a `struct child' for FILE and start its commands running. */
+/* Create a 'struct child' for FILE and start its commands running. */
void
new_job (struct file *file)
@@ -1569,119 +1779,127 @@ new_job (struct file *file)
/* Chop the commands up into lines if they aren't already. */
chop_commands (cmds);
+ /* Start the command sequence, record it in a new
+ 'struct child', and add that to the chain. */
+
+ c = xcalloc (sizeof (struct child));
+ output_init (&c->output);
+
+ c->file = file;
+ c->sh_batch_file = NULL;
+
+ /* Cache dontcare flag because file->dontcare can be changed once we
+ return. Check dontcare inheritance mechanism for details. */
+ c->dontcare = file->dontcare;
+
+ /* Start saving output in case the expansion uses $(info ...) etc. */
+ OUTPUT_SET (&c->output);
+
/* Expand the command lines and store the results in LINES. */
lines = xmalloc (cmds->ncommand_lines * sizeof (char *));
for (i = 0; i < cmds->ncommand_lines; ++i)
{
/* Collapse backslash-newline combinations that are inside variable
- or function references. These are left alone by the parser so
- that they will appear in the echoing of commands (where they look
- nice); and collapsed by construct_command_argv when it tokenizes.
- But letting them survive inside function invocations loses because
- we don't want the functions to see them as part of the text. */
+ or function references. These are left alone by the parser so
+ that they will appear in the echoing of commands (where they look
+ nice); and collapsed by construct_command_argv when it tokenizes.
+ But letting them survive inside function invocations loses because
+ we don't want the functions to see them as part of the text. */
char *in, *out, *ref;
/* IN points to where in the line we are scanning.
- OUT points to where in the line we are writing.
- When we collapse a backslash-newline combination,
- IN gets ahead of OUT. */
+ OUT points to where in the line we are writing.
+ When we collapse a backslash-newline combination,
+ IN gets ahead of OUT. */
in = out = cmds->command_lines[i];
while ((ref = strchr (in, '$')) != 0)
- {
- ++ref; /* Move past the $. */
-
- if (out != in)
- /* Copy the text between the end of the last chunk
- we processed (where IN points) and the new chunk
- we are about to process (where REF points). */
- memmove (out, in, ref - in);
-
- /* Move both pointers past the boring stuff. */
- out += ref - in;
- in = ref;
-
- if (*ref == '(' || *ref == '{')
- {
- char openparen = *ref;
- char closeparen = openparen == '(' ? ')' : '}';
- int count;
- char *p;
-
- *out++ = *in++; /* Copy OPENPAREN. */
- /* IN now points past the opening paren or brace.
- Count parens or braces until it is matched. */
- count = 0;
- while (*in != '\0')
- {
- if (*in == closeparen && --count < 0)
- break;
- else if (*in == '\\' && in[1] == '\n')
- {
- /* We have found a backslash-newline inside a
- variable or function reference. Eat it and
- any following whitespace. */
-
- int quoted = 0;
- for (p = in - 1; p > ref && *p == '\\'; --p)
- quoted = !quoted;
-
- if (quoted)
- /* There were two or more backslashes, so this is
- not really a continuation line. We don't collapse
- the quoting backslashes here as is done in
- collapse_continuations, because the line will
- be collapsed again after expansion. */
- *out++ = *in++;
- else
- {
- /* 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 > ref
- && isblank ((unsigned char)out[-1]))
- --out;
-
- /* Replace it all with a single space. */
- *out++ = ' ';
- }
- }
- else
- {
- if (*in == openparen)
- ++count;
-
- *out++ = *in++;
- }
- }
- }
- }
+ {
+ ++ref; /* Move past the $. */
+
+ if (out != in)
+ /* Copy the text between the end of the last chunk
+ we processed (where IN points) and the new chunk
+ we are about to process (where REF points). */
+ memmove (out, in, ref - in);
+
+ /* Move both pointers past the boring stuff. */
+ out += ref - in;
+ in = ref;
+
+ if (*ref == '(' || *ref == '{')
+ {
+ char openparen = *ref;
+ char closeparen = openparen == '(' ? ')' : '}';
+ char *outref;
+ int count;
+ char *p;
+
+ *out++ = *in++; /* Copy OPENPAREN. */
+ outref = out;
+ /* IN now points past the opening paren or brace.
+ Count parens or braces until it is matched. */
+ count = 0;
+ while (*in != '\0')
+ {
+ if (*in == closeparen && --count < 0)
+ break;
+ else if (*in == '\\' && in[1] == '\n')
+ {
+ /* We have found a backslash-newline inside a
+ variable or function reference. Eat it and
+ any following whitespace. */
+
+ int quoted = 0;
+ for (p = in - 1; p > ref && *p == '\\'; --p)
+ quoted = !quoted;
+
+ if (quoted)
+ /* There were two or more backslashes, so this is
+ not really a continuation line. We don't collapse
+ the quoting backslashes here as is done in
+ collapse_continuations, because the line will
+ be collapsed again after expansion. */
+ *out++ = *in++;
+ else
+ {
+ /* 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 ((unsigned char)out[-1]))
+ --out;
+
+ /* Replace it all with a single space. */
+ *out++ = ' ';
+ }
+ }
+ else
+ {
+ if (*in == openparen)
+ ++count;
+
+ *out++ = *in++;
+ }
+ }
+ }
+ }
/* There are no more references in this line to worry about.
- Copy the remaining uninteresting text to the output. */
+ Copy the remaining uninteresting text to the output. */
if (out != in)
- memmove (out, in, strlen (in) + 1);
+ memmove (out, in, strlen (in) + 1);
/* Finally, expand the line. */
lines[i] = allocated_variable_expand_for_file (cmds->command_lines[i],
- file);
+ file);
}
- /* Start the command sequence, record it in a new
- `struct child', and add that to the chain. */
-
- c = xcalloc (sizeof (struct child));
- c->file = file;
c->command_lines = lines;
- c->sh_batch_file = NULL;
-
- /* Cache dontcare flag because file->dontcare can be changed once we
- return. Check dontcare inheritance mechanism for details. */
- c->dontcare = file->dontcare;
/* Fetch the first command line to be run. */
job_next_command (c);
@@ -1706,12 +1924,18 @@ new_job (struct file *file)
just once). Also more thought needs to go into the entire algorithm;
this is where the old parallel job code waits, so... */
+#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 got_token;
- int saved_errno;
+ int saved_errno;
+#endif
DB (DB_JOBS, ("Need a job token; we %shave children\n",
children ? "" : "don't "));
@@ -1720,6 +1944,7 @@ new_job (struct file *file)
if (!jobserver_tokens)
break;
+#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
@@ -1748,12 +1973,13 @@ new_job (struct file *file)
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);
/* Kick off any jobs we have waiting for an opportunity that
- can run now (ie waiting for load). */
+ can run now (i.e., waiting for load). */
start_waiting_jobs ();
/* If our "free" slot has become available, use it; we don't need an
@@ -1764,53 +1990,88 @@ new_job (struct file *file)
/* There must be at least one child already, or we have no business
waiting for a token. */
if (!children)
- fatal (NILF, "INTERNAL: no children as we go to sleep on read\n");
+ O (fatal, NILF, "INTERNAL: no children as we go to sleep on read\n");
+#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);
+ 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)
+ if (got_token == 1)
{
DB (DB_JOBS, (_("Obtained token for child %p (%s).\n"),
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;
+ 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
++jobserver_tokens;
- /* The job is now primed. Start it running.
- (This will notice if there is in fact no recipe.) */
- if (cmds->fileinfo.filenm)
- DB (DB_BASIC, (_("Invoking recipe from %s:%lu to update target `%s'.\n"),
- cmds->fileinfo.filenm, cmds->fileinfo.lineno,
- c->file->name));
- else
- DB (DB_BASIC, (_("Invoking builtin recipe to update target `%s'.\n"),
- c->file->name));
+ /* Trace the build.
+ Use message here so that changes to working directories are logged. */
+ if (trace_flag)
+ {
+ char *newer = allocated_variable_expand_for_file ("$?", c->file);
+ const char *nm;
+
+ if (! cmds->fileinfo.filenm)
+ nm = _("<builtin>");
+ else
+ {
+ char *n = alloca (strlen (cmds->fileinfo.filenm) + 1 + 11 + 1);
+ sprintf (n, "%s:%lu", cmds->fileinfo.filenm, cmds->fileinfo.lineno);
+ nm = n;
+ }
+ if (newer[0] == '\0')
+ OSS (message, 0,
+ _("%s: target '%s' does not exist"), nm, c->file->name);
+ else
+ OSSS (message, 0,
+ _("%s: update target '%s' due to: %s"), nm, c->file->name, newer);
+
+ free (newer);
+ }
+ /* The job is now primed. Start it running.
+ (This will notice if there is in fact no recipe.) */
start_waiting_job (c);
if (job_slots == 1 || not_parallel)
/* Since there is only one job slot, make things run linearly.
- Wait for the child to die, setting the state to `cs_finished'. */
+ Wait for the child to die, setting the state to 'cs_finished'. */
while (file->command_state == cs_running)
reap_children (1, 0);
+ OUTPUT_UNSET ();
return;
}
@@ -1824,14 +2085,14 @@ job_next_command (struct child *child)
{
/* There are no more lines in the expansion of this line. */
if (child->command_line == child->file->cmds->ncommand_lines)
- {
- /* There are no more lines to be expanded. */
- child->command_ptr = 0;
- return 0;
- }
+ {
+ /* There are no more lines to be expanded. */
+ child->command_ptr = 0;
+ return 0;
+ }
else
- /* Get the next line to run. */
- child->command_ptr = child->command_lines[child->command_line++];
+ /* Get the next line to run. */
+ child->command_ptr = child->command_lines[child->command_line++];
}
return 1;
}
@@ -1903,14 +2164,14 @@ load_too_high (void)
static int lossage = -1;
/* Complain only once for the same error. */
if (lossage == -1 || errno != lossage)
- {
- if (errno == 0)
- /* An errno value of zero means getloadavg is just unsupported. */
- error (NILF,
- _("cannot enforce load limits on this operating system"));
- else
- perror_with_name (_("cannot enforce load limit: "), "getloadavg");
- }
+ {
+ if (errno == 0)
+ /* An errno value of zero means getloadavg is just unsupported. */
+ O (error, NILF,
+ _("cannot enforce load limits on this operating system"));
+ else
+ perror_with_name (_("cannot enforce load limit: "), "getloadavg");
+ }
lossage = errno;
load = 0;
}
@@ -1960,7 +2221,7 @@ start_waiting_jobs (void)
waiting_jobs = job->next;
/* Try to start that job. We break out of the loop as soon
- as start_waiting_job puts one back on the waiting list. */
+ as start_waiting_job puts one back on the waiting list. */
}
while (start_waiting_job (job) && waiting_jobs != 0);
@@ -1972,59 +2233,84 @@ start_waiting_jobs (void)
/* EMX: Start a child process. This function returns the new pid. */
# if defined __EMX__
int
-child_execute_job (int stdin_fd, int stdout_fd, char **argv, char **envp)
+child_execute_job (int stdin_fd, int stdout_fd, int stderr_fd,
+ char **argv, char **envp)
{
int pid;
- /* stdin_fd == 0 means: nothing to do for stdin;
- stdout_fd == 1 means: nothing to do for stdout */
- int save_stdin = (stdin_fd != 0) ? dup (0) : 0;
- int save_stdout = (stdout_fd != 1) ? dup (1): 1;
-
- /* < 0 only if dup() failed */
- if (save_stdin < 0)
- fatal (NILF, _("no more file handles: could not duplicate stdin\n"));
- if (save_stdout < 0)
- fatal (NILF, _("no more file handles: could not duplicate stdout\n"));
-
- /* Close unnecessary file handles for the child. */
- if (save_stdin != 0)
- CLOSE_ON_EXEC (save_stdin);
- if (save_stdout != 1)
- CLOSE_ON_EXEC (save_stdout);
-
- /* Connect the pipes to the child process. */
- if (stdin_fd != 0)
- (void) dup2 (stdin_fd, 0);
- if (stdout_fd != 1)
- (void) dup2 (stdout_fd, 1);
-
- /* stdin_fd and stdout_fd must be closed on exit because we are
- still in the parent process */
- if (stdin_fd != 0)
- CLOSE_ON_EXEC (stdin_fd);
- if (stdout_fd != 1)
- CLOSE_ON_EXEC (stdout_fd);
+ 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 (stdin_fd != FD_STDIN)
+ {
+ 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_stdin);
+
+ dup2 (stdin_fd, FD_STDIN);
+ CLOSE_ON_EXEC (stdin_fd);
+ }
+
+ if (stdout_fd != FD_STDOUT)
+ {
+ 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_stdout);
+
+ dup2 (stdout_fd, FD_STDOUT);
+ CLOSE_ON_EXEC (stdout_fd);
+ }
+
+ if (stderr_fd != FD_STDERR)
+ {
+ if (stderr_fd != stdout_fd)
+ {
+ 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_stderr);
+ }
+
+ dup2 (stderr_fd, FD_STDERR);
+ CLOSE_ON_EXEC (stderr_fd);
+ }
/* Run the command. */
pid = exec_command (argv, envp);
- /* Restore stdout/stdin of the parent and close temporary FDs. */
- if (stdin_fd != 0)
+ /* Restore stdout/stdin/stderr of the parent and close temporary FDs. */
+ if (save_stdin >= 0)
{
- if (dup2 (save_stdin, 0) != 0)
- fatal (NILF, _("Could not restore stdin\n"));
+ if (dup2 (save_stdin, FD_STDIN) != FD_STDIN)
+ O (fatal, NILF, _("Could not restore stdin\n"));
else
close (save_stdin);
}
- if (stdout_fd != 1)
+ if (save_stdout >= 0)
{
- if (dup2 (save_stdout, 1) != 1)
- fatal (NILF, _("Could not restore stdout\n"));
+ if (dup2 (save_stdout, FD_STDOUT) != FD_STDOUT)
+ O (fatal, NILF, _("Could not restore stdout\n"));
else
close (save_stdout);
}
+ if (save_stderr >= 0)
+ {
+ if (dup2 (save_stderr, FD_STDERR) != FD_STDERR)
+ O (fatal, NILF, _("Could not restore stderr\n"));
+ else
+ close (save_stderr);
+ }
+
return pid;
}
@@ -2032,19 +2318,28 @@ child_execute_job (int stdin_fd, int stdout_fd, char **argv, char **envp)
/* UNIX:
Replace the current process with one executing the command in ARGV.
- STDIN_FD and STDOUT_FD are used as the process's stdin and stdout; ENVP is
- the environment of the new program. This function does not return. */
+ 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, char **argv, char **envp)
+child_execute_job (int stdin_fd, int stdout_fd, int stderr_fd,
+ char **argv, char **envp)
{
- if (stdin_fd != 0)
- (void) dup2 (stdin_fd, 0);
- if (stdout_fd != 1)
- (void) dup2 (stdout_fd, 1);
- if (stdin_fd != 0)
- (void) close (stdin_fd);
- if (stdout_fd != 1)
- (void) close (stdout_fd);
+ /* For any redirected FD, dup2() it to the standard FD then close it. */
+ if (stdin_fd != FD_STDIN)
+ {
+ dup2 (stdin_fd, FD_STDIN);
+ close (stdin_fd);
+ }
+
+ if (stdout_fd != FD_STDOUT)
+ dup2 (stdout_fd, FD_STDOUT);
+ if (stderr_fd != FD_STDERR)
+ dup2 (stderr_fd, 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);
@@ -2077,61 +2372,59 @@ exec_command (char **argv, char **envp)
#ifdef WINDOWS32
HANDLE hPID;
HANDLE hWaitPID;
- int err = 0;
int exit_code = EXIT_FAILURE;
/* make sure CreateProcess() has Path it needs */
- sync_Path_environment();
+ sync_Path_environment ();
/* launch command */
- hPID = process_easy(argv, envp);
+ hPID = process_easy (argv, envp, -1, -1);
/* make sure launch ok */
if (hPID == INVALID_HANDLE_VALUE)
{
int i;
- fprintf(stderr,
- _("process_easy() failed to launch process (e=%ld)\n"),
- process_last_err(hPID));
+ fprintf (stderr, _("process_easy() failed to launch process (e=%ld)\n"),
+ process_last_err (hPID));
for (i = 0; argv[i]; i++)
- fprintf(stderr, "%s ", argv[i]);
- fprintf(stderr, _("\nCounted %d args in failed launch\n"), i);
- exit(EXIT_FAILURE);
+ fprintf (stderr, "%s ", argv[i]);
+ fprintf (stderr, _("\nCounted %d args in failed launch\n"), i);
+ exit (EXIT_FAILURE);
}
/* wait and reap last child */
- hWaitPID = process_wait_for_any();
+ hWaitPID = process_wait_for_any (1, 0);
while (hWaitPID)
{
/* was an error found on this process? */
- err = process_last_err(hWaitPID);
+ int err = process_last_err (hWaitPID);
/* get exit data */
- exit_code = process_exit_code(hWaitPID);
+ exit_code = process_exit_code (hWaitPID);
if (err)
- fprintf(stderr, "make (e=%d, rc=%d): %s",
- err, exit_code, map_windows32_error_to_string(err));
+ fprintf (stderr, "make (e=%d, rc=%d): %s",
+ err, exit_code, map_windows32_error_to_string (err));
/* cleanup process */
- process_cleanup(hWaitPID);
+ process_cleanup (hWaitPID);
/* expect to find only last pid, warn about other pids reaped */
if (hWaitPID == hPID)
break;
else
- {
- char *pidstr = xstrdup (pid2str ((pid_t)hWaitPID));
-
- fprintf(stderr,
- _("make reaped child pid %s, still waiting for pid %s\n"),
- pidstr, pid2str ((pid_t)hPID));
- free (pidstr);
- }
+ {
+ char *pidstr = xstrdup (pid2str ((pid_t)hWaitPID));
+
+ fprintf (stderr,
+ _("make reaped child pid %s, still waiting for pid %s\n"),
+ pidstr, pid2str ((pid_t)hPID));
+ free (pidstr);
+ }
}
/* return child's exit code as our exit code */
- exit(exit_code);
+ exit (exit_code);
#else /* !WINDOWS32 */
@@ -2143,10 +2436,8 @@ exec_command (char **argv, char **envp)
child_access ();
# ifdef __EMX__
-
/* Run the program. */
pid = spawnvpe (P_NOWAIT, argv[0], argv, envp);
-
if (pid >= 0)
return pid;
@@ -2155,7 +2446,6 @@ exec_command (char **argv, char **envp)
errno = ENOEXEC;
# else
-
/* Run the program. */
environ = envp;
execvp (argv[0], argv);
@@ -2165,41 +2455,41 @@ exec_command (char **argv, char **envp)
switch (errno)
{
case ENOENT:
- error (NILF, _("%s: Command not found"), 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 ();
- char *shell;
- char **new_argv;
- int argc;
+ /* The file is not executable. Try it as a shell script. */
+ extern char *getenv ();
+ const char *shell;
+ char **new_argv;
+ int argc;
int i=1;
# ifdef __EMX__
/* Do not use $SHELL from the environment */
- struct variable *p = lookup_variable ("SHELL", 5);
- if (p)
- shell = p->value;
+ struct variable *p = lookup_variable ("SHELL", 5);
+ if (p)
+ shell = p->value;
else
shell = 0;
# else
- shell = getenv ("SHELL");
+ shell = getenv ("SHELL");
# endif
- if (shell == 0)
- shell = default_shell;
+ if (shell == 0)
+ shell = default_shell;
- argc = 1;
- while (argv[argc] != 0)
- ++argc;
+ argc = 1;
+ while (argv[argc] != 0)
+ ++argc;
# ifdef __EMX__
if (!unixy_shell)
++argc;
# endif
- new_argv = alloca ((1 + argc + 1) * sizeof (char *));
- new_argv[0] = shell;
+ new_argv = alloca ((1 + argc + 1) * sizeof (char *));
+ new_argv[0] = (char *)shell;
# ifdef __EMX__
if (!unixy_shell)
@@ -2211,30 +2501,30 @@ exec_command (char **argv, char **envp)
# endif
new_argv[i] = argv[0];
- while (argc > 0)
- {
- new_argv[i + argc] = argv[argc];
- --argc;
- }
+ while (argc > 0)
+ {
+ new_argv[i + argc] = argv[argc];
+ --argc;
+ }
# ifdef __EMX__
- pid = spawnvpe (P_NOWAIT, shell, new_argv, envp);
- if (pid >= 0)
+ pid = spawnvpe (P_NOWAIT, shell, new_argv, envp);
+ if (pid >= 0)
break;
# else
- execvp (shell, new_argv);
+ execvp (shell, new_argv);
# endif
- if (errno == ENOENT)
- error (NILF, _("%s: Shell program not found"), shell);
- else
- perror_with_name ("execvp: ", shell);
- break;
+ if (errno == ENOENT)
+ OS (error, NILF, _("%s: Shell program not found"), shell);
+ else
+ perror_with_name ("execvp: ", shell);
+ break;
}
# ifdef __EMX__
case EINVAL:
/* this nasty error was driving me nuts :-( */
- error (NILF, _("spawnvpe: environment space might be exhausted"));
+ O (error, NILF, _("spawnvpe: environment space might be exhausted"));
/* FALLTHROUGH */
# endif
@@ -2252,7 +2542,8 @@ exec_command (char **argv, char **envp)
#endif /* !VMS */
}
#else /* On Amiga */
-void exec_command (char **argv)
+void
+exec_command (char **argv)
{
MyExecute (argv);
}
@@ -2267,9 +2558,9 @@ void clean_tmp (void)
#ifndef VMS
/* Figure out the argument list necessary to run LINE as a command. Try to
avoid using a shell. This routine handles only ' quoting, and " quoting
- when no backslash, $ or ` characters are seen in the quotes. Starting
+ when no backslash, $ or ' characters are seen in the quotes. Starting
quotes may be escaped with a backslash. If any of the characters in
- sh_chars[] is seen, or any of the builtin commands listed in sh_cmds[]
+ sh_chars is seen, or any of the builtin commands listed in sh_cmds
is the first word of a line, the shell is used.
If RESTP is not NULL, *RESTP is set to point to the first newline in LINE.
@@ -2284,145 +2575,157 @@ void clean_tmp (void)
is overridden. */
static char **
-construct_command_argv_internal (char *line, char **restp, char *shell,
- char *shellflags, char *ifs, int flags,
- char **batch_filename_ptr)
+construct_command_argv_internal (char *line, char **restp, const char *shell,
+ const char *shellflags, const char *ifs,
+ int flags, char **batch_filename UNUSED)
{
#ifdef __MSDOS__
/* MSDOS supports both the stock DOS shell and ports of Unixy shells.
- We call `system' for anything that requires ``slow'' processing,
+ We call 'system' for anything that requires ''slow'' processing,
because DOS shells are too dumb. When $SHELL points to a real
- (unix-style) shell, `system' just calls it to do everything. When
- $SHELL points to a DOS shell, `system' does most of the work
+ (unix-style) shell, 'system' just calls it to do everything. When
+ $SHELL points to a DOS shell, 'system' does most of the work
internally, calling the shell only for its internal commands.
However, it looks on the $PATH first, so you can e.g. have an
- external command named `mkdir'.
+ external command named 'mkdir'.
- Since we call `system', certain characters and commands below are
+ Since we call 'system', certain characters and commands below are
actually not specific to COMMAND.COM, but to the DJGPP implementation
- of `system'. In particular:
+ of 'system'. In particular:
The shell wildcard characters are in DOS_CHARS because they will
- not be expanded if we call the child via `spawnXX'.
+ not be expanded if we call the child via 'spawnXX'.
- The `;' is in DOS_CHARS, because our `system' knows how to run
+ The ';' is in DOS_CHARS, because our 'system' knows how to run
multiple commands on a single line.
DOS_CHARS also include characters special to 4DOS/NDOS, so we
won't have to tell one from another and have one more set of
commands and special characters. */
- static char sh_chars_dos[] = "*?[];|<>%^&()";
- static char *sh_cmds_dos[] = { "break", "call", "cd", "chcp", "chdir", "cls",
- "copy", "ctty", "date", "del", "dir", "echo",
- "erase", "exit", "for", "goto", "if", "md",
- "mkdir", "path", "pause", "prompt", "rd",
- "rmdir", "rem", "ren", "rename", "set",
- "shift", "time", "type", "ver", "verify",
- "vol", ":", 0 };
-
- static char sh_chars_sh[] = "#;\"*?[]&|<>(){}$`^";
- static char *sh_cmds_sh[] = { "cd", "echo", "eval", "exec", "exit", "login",
- "logout", "set", "umask", "wait", "while",
- "for", "case", "if", ":", ".", "break",
- "continue", "export", "read", "readonly",
- "shift", "times", "trap", "switch", "unset",
- "ulimit", 0 };
-
- char *sh_chars;
- char **sh_cmds;
+ static const char *sh_chars_dos = "*?[];|<>%^&()";
+ static const char *sh_cmds_dos[] =
+ { "break", "call", "cd", "chcp", "chdir", "cls", "copy", "ctty", "date",
+ "del", "dir", "echo", "erase", "exit", "for", "goto", "if", "md",
+ "mkdir", "path", "pause", "prompt", "rd", "rmdir", "rem", "ren",
+ "rename", "set", "shift", "time", "type", "ver", "verify", "vol", ":",
+ 0 };
+
+ static const char *sh_chars_sh = "#;\"*?[]&|<>(){}$`^";
+ static const char *sh_cmds_sh[] =
+ { "cd", "echo", "eval", "exec", "exit", "login", "logout", "set", "umask",
+ "wait", "while", "for", "case", "if", ":", ".", "break", "continue",
+ "export", "read", "readonly", "shift", "times", "trap", "switch",
+ "unset", "ulimit", 0 };
+
+ const char *sh_chars;
+ const char **sh_cmds;
+
#elif defined (__EMX__)
- static char sh_chars_dos[] = "*?[];|<>%^&()";
- static char *sh_cmds_dos[] = { "break", "call", "cd", "chcp", "chdir", "cls",
- "copy", "ctty", "date", "del", "dir", "echo",
- "erase", "exit", "for", "goto", "if", "md",
- "mkdir", "path", "pause", "prompt", "rd",
- "rmdir", "rem", "ren", "rename", "set",
- "shift", "time", "type", "ver", "verify",
- "vol", ":", 0 };
-
- static char sh_chars_os2[] = "*?[];|<>%^()\"'&";
- static char *sh_cmds_os2[] = { "call", "cd", "chcp", "chdir", "cls", "copy",
- "date", "del", "detach", "dir", "echo",
- "endlocal", "erase", "exit", "for", "goto", "if",
- "keys", "md", "mkdir", "move", "path", "pause",
- "prompt", "rd", "rem", "ren", "rename", "rmdir",
- "set", "setlocal", "shift", "start", "time",
- "type", "ver", "verify", "vol", ":", 0 };
-
- static char sh_chars_sh[] = "#;\"*?[]&|<>(){}$`^~'";
- static char *sh_cmds_sh[] = { "echo", "cd", "eval", "exec", "exit", "login",
- "logout", "set", "umask", "wait", "while",
- "for", "case", "if", ":", ".", "break",
- "continue", "export", "read", "readonly",
- "shift", "times", "trap", "switch", "unset",
- 0 };
- char *sh_chars;
- char **sh_cmds;
+ static const char *sh_chars_dos = "*?[];|<>%^&()";
+ static const char *sh_cmds_dos[] =
+ { "break", "call", "cd", "chcp", "chdir", "cls", "copy", "ctty", "date",
+ "del", "dir", "echo", "erase", "exit", "for", "goto", "if", "md",
+ "mkdir", "path", "pause", "prompt", "rd", "rmdir", "rem", "ren",
+ "rename", "set", "shift", "time", "type", "ver", "verify", "vol", ":",
+ 0 };
+
+ static const char *sh_chars_os2 = "*?[];|<>%^()\"'&";
+ static const char *sh_cmds_os2[] =
+ { "call", "cd", "chcp", "chdir", "cls", "copy", "date", "del", "detach",
+ "dir", "echo", "endlocal", "erase", "exit", "for", "goto", "if", "keys",
+ "md", "mkdir", "move", "path", "pause", "prompt", "rd", "rem", "ren",
+ "rename", "rmdir", "set", "setlocal", "shift", "start", "time", "type",
+ "ver", "verify", "vol", ":", 0 };
+
+ static const char *sh_chars_sh = "#;\"*?[]&|<>(){}$`^~'";
+ static const char *sh_cmds_sh[] =
+ { "echo", "cd", "eval", "exec", "exit", "login", "logout", "set", "umask",
+ "wait", "while", "for", "case", "if", ":", ".", "break", "continue",
+ "export", "read", "readonly", "shift", "times", "trap", "switch",
+ "unset", 0 };
+
+ const char *sh_chars;
+ const char **sh_cmds;
#elif defined (_AMIGA)
- static char sh_chars[] = "#;\"|<>()?*$`";
- static char *sh_cmds[] = { "cd", "eval", "if", "delete", "echo", "copy",
- "rename", "set", "setenv", "date", "makedir",
- "skip", "else", "endif", "path", "prompt",
- "unset", "unsetenv", "version",
- 0 };
+ static const char *sh_chars = "#;\"|<>()?*$`";
+ static const char *sh_cmds[] =
+ { "cd", "eval", "if", "delete", "echo", "copy", "rename", "set", "setenv",
+ "date", "makedir", "skip", "else", "endif", "path", "prompt", "unset",
+ "unsetenv", "version", 0 };
+
#elif defined (WINDOWS32)
- static char sh_chars_dos[] = "\"|&<>";
- static char *sh_cmds_dos[] = { "assoc", "break", "call", "cd", "chcp",
- "chdir", "cls", "color", "copy", "ctty",
- "date", "del", "dir", "echo", "echo.",
- "endlocal", "erase", "exit", "for", "ftype",
- "goto", "if", "if", "md", "mkdir", "path",
- "pause", "prompt", "rd", "rem", "ren",
- "rename", "rmdir", "set", "setlocal",
- "shift", "time", "title", "type", "ver",
- "verify", "vol", ":", 0 };
- static char sh_chars_sh[] = "#;\"*?[]&|<>(){}$`^";
- static char *sh_cmds_sh[] = { "cd", "eval", "exec", "exit", "login",
- "logout", "set", "umask", "wait", "while", "for",
- "case", "if", ":", ".", "break", "continue",
- "export", "read", "readonly", "shift", "times",
- "trap", "switch", "test",
+ /* We used to have a double quote (") in sh_chars_dos[] below, but
+ that caused any command line with quoted file names be run
+ through a temporary batch file, which introduces command-line
+ limit of 4K charcaters imposed by cmd.exe. Since CreateProcess
+ can handle quoted file names just fine, removing the quote lifts
+ the limit from a very frequent use case, because using quoted
+ file names is commonplace on MS-Windows. */
+ static const char *sh_chars_dos = "|&<>";
+ static const char *sh_cmds_dos[] =
+ { "assoc", "break", "call", "cd", "chcp", "chdir", "cls", "color", "copy",
+ "ctty", "date", "del", "dir", "echo", "echo.", "endlocal", "erase",
+ "exit", "for", "ftype", "goto", "if", "if", "md", "mkdir", "move",
+ "path", "pause", "prompt", "rd", "rem", "ren", "rename", "rmdir",
+ "set", "setlocal", "shift", "time", "title", "type", "ver", "verify",
+ "vol", ":", 0 };
+
+ static const char *sh_chars_sh = "#;\"*?[]&|<>(){}$`^";
+ static const char *sh_cmds_sh[] =
+ { "cd", "eval", "exec", "exit", "login", "logout", "set", "umask", "wait",
+ "while", "for", "case", "if", ":", ".", "break", "continue", "export",
+ "read", "readonly", "shift", "times", "trap", "switch", "test",
#ifdef BATCH_MODE_ONLY_SHELL
- "echo",
+ "echo",
#endif
- 0 };
- char* sh_chars;
- char** sh_cmds;
+ 0 };
+
+ const char *sh_chars;
+ const char **sh_cmds;
#elif defined(__riscos__)
- static char sh_chars[] = "";
- static char *sh_cmds[] = { 0 };
+ static const char *sh_chars = "";
+ static const char *sh_cmds[] = { 0 };
#else /* must be UNIX-ish */
- static char sh_chars[] = "#;\"*?[]&|<>(){}$`^~!";
- static char *sh_cmds[] = { ".", ":", "break", "case", "cd", "continue",
- "eval", "exec", "exit", "export", "for", "if",
- "login", "logout", "read", "readonly", "set",
- "shift", "switch", "test", "times", "trap",
- "ulimit", "umask", "unset", "wait", "while", 0 };
+ static const char *sh_chars = "#;\"*?[]&|<>(){}$`^~!";
+ static const char *sh_cmds[] =
+ { ".", ":", "break", "case", "cd", "continue", "eval", "exec", "exit",
+ "export", "for", "if", "login", "logout", "read", "readonly", "set",
+ "shift", "switch", "test", "times", "trap", "ulimit", "umask", "unset",
+ "wait", "while", 0 };
+
# ifdef HAVE_DOS_PATHS
/* This is required if the MSYS/Cygwin ports (which do not define
WINDOWS32) are compiled with HAVE_DOS_PATHS defined, which uses
- sh_chars_sh[] directly (see below). */
- static char *sh_chars_sh = sh_chars;
-# endif /* HAVE_DOS_PATHS */
+ sh_chars_sh directly (see below). The value must be identical
+ to that of sh_chars immediately above. */
+ static const char *sh_chars_sh = "#;\"*?[]&|<>(){}$`^~!";
+# endif /* HAVE_DOS_PATHS */
#endif
int i;
char *p;
- char *ap;
+#ifndef NDEBUG
char *end;
+#endif
+ char *ap;
+ const char *cap;
+ const char *cp;
int instring, word_has_equals, seen_nonequals, last_argument_was_empty;
char **new_argv = 0;
char *argstr = 0;
#ifdef WINDOWS32
int slow_flag = 0;
- if (!unixy_shell) {
- sh_cmds = sh_cmds_dos;
- sh_chars = sh_chars_dos;
- } else {
- sh_cmds = sh_cmds_sh;
- sh_chars = sh_chars_sh;
- }
+ if (!unixy_shell)
+ {
+ sh_cmds = sh_cmds_dos;
+ sh_chars = sh_chars_dos;
+ }
+ else
+ {
+ sh_cmds = sh_cmds_sh;
+ sh_chars = sh_chars_sh;
+ }
#endif /* WINDOWS32 */
if (restp != NULL)
@@ -2434,6 +2737,9 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
if (*line == '\0')
return 0;
+ if (shellflags == 0)
+ shellflags = posix_pedantic ? "-ec" : "-c";
+
/* See if it is safe to parse commands internally. */
if (shell == 0)
shell = default_shell;
@@ -2445,10 +2751,8 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
slow_flag = strcmp ((s1 ? s1 : ""), (s2 ? s2 : ""));
- if (s1)
- free (s1);
- if (s2)
- free (s2);
+ free (s1);
+ free (s2);
}
if (slow_flag)
goto slow;
@@ -2458,7 +2762,7 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
{
extern int _is_unixy_shell (const char *_path);
- DB (DB_BASIC, (_("$SHELL changed (was `%s', now `%s')\n"),
+ DB (DB_BASIC, (_("$SHELL changed (was '%s', now '%s')\n"),
default_shell, shell));
unixy_shell = _is_unixy_shell (shell);
/* we must allocate a copy of shell: construct_command_argv() will free
@@ -2488,12 +2792,12 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
#endif /* !__MSDOS__ && !__EMX__ */
#endif /* not WINDOWS32 */
- if (ifs != 0)
- for (ap = ifs; *ap != '\0'; ++ap)
- if (*ap != ' ' && *ap != '\t' && *ap != '\n')
- goto slow;
+ if (ifs)
+ for (cap = ifs; *cap != '\0'; ++cap)
+ if (*cap != ' ' && *cap != '\t' && *cap != '\n')
+ goto slow;
- if (shellflags != 0)
+ if (shellflags)
if (shellflags[0] != '-'
|| ((shellflags[1] != 'c' || shellflags[2] != '\0')
&& (shellflags[1] != 'e' || shellflags[2] != 'c' || shellflags[3] != '\0')))
@@ -2506,7 +2810,9 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
/* All the args can fit in a buffer as big as LINE is. */
ap = new_argv[0] = argstr = xmalloc (i);
+#ifndef NDEBUG
end = ap + i;
+#endif
/* I is how many complete arguments have been found. */
i = 0;
@@ -2516,28 +2822,27 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
assert (ap <= end);
if (instring)
- {
- /* Inside a string, just copy any char except a closing quote
- or a backslash-newline combination. */
- if (*p == instring)
- {
- instring = 0;
- if (ap == new_argv[0] || *(ap-1) == '\0')
- last_argument_was_empty = 1;
- }
- else if (*p == '\\' && p[1] == '\n')
+ {
+ /* Inside a string, just copy any char except a closing quote
+ or a backslash-newline combination. */
+ if (*p == instring)
+ {
+ instring = 0;
+ if (ap == new_argv[0] || *(ap-1) == '\0')
+ last_argument_was_empty = 1;
+ }
+ else if (*p == '\\' && p[1] == '\n')
{
/* Backslash-newline is handled differently depending on what
kind of string we're in: inside single-quoted strings you
- keep them; in double-quoted strings they disappear.
- For DOS/Windows/OS2, if we don't have a POSIX shell,
- we keep the pre-POSIX behavior of removing the
- backslash-newline. */
+ keep them; in double-quoted strings they disappear. For
+ DOS/Windows/OS2, if we don't have a POSIX shell, we keep the
+ pre-POSIX behavior of removing the backslash-newline. */
if (instring == '"'
#if defined (__MSDOS__) || defined (__EMX__) || defined (WINDOWS32)
- || !unixy_shell
+ || !unixy_shell
#endif
- )
+ )
++p;
else
{
@@ -2545,61 +2850,74 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
*(ap++) = *p;
}
}
- else if (*p == '\n' && restp != NULL)
- {
- /* End of the command line. */
- *restp = p;
- goto end_of_line;
- }
- /* Backslash, $, and ` are special inside double quotes.
- If we see any of those, punt.
- But on MSDOS, if we use COMMAND.COM, double and single
- quotes have the same effect. */
- else if (instring == '"' && strchr ("\\$`", *p) != 0 && unixy_shell)
- goto slow;
- else
- *ap++ = *p;
- }
+ else if (*p == '\n' && restp != NULL)
+ {
+ /* End of the command line. */
+ *restp = p;
+ goto end_of_line;
+ }
+ /* Backslash, $, and ` are special inside double quotes.
+ If we see any of those, punt.
+ But on MSDOS, if we use COMMAND.COM, double and single
+ quotes have the same effect. */
+ else if (instring == '"' && strchr ("\\$`", *p) != 0 && unixy_shell)
+ goto slow;
+#ifdef WINDOWS32
+ else if (instring == '"' && strncmp (p, "\\\"", 2) == 0)
+ *ap++ = *++p;
+#endif
+ else
+ *ap++ = *p;
+ }
else if (strchr (sh_chars, *p) != 0)
- /* Not inside a string, but it's a special char. */
- goto slow;
+ /* Not inside a string, but it's a special char. */
+ goto slow;
else if (one_shell && *p == '\n')
- /* In .ONESHELL mode \n is a separator like ; or && */
- goto slow;
+ /* In .ONESHELL mode \n is a separator like ; or && */
+ goto slow;
#ifdef __MSDOS__
else if (*p == '.' && p[1] == '.' && p[2] == '.' && p[3] != '.')
- /* `...' is a wildcard in DJGPP. */
- goto slow;
+ /* '...' is a wildcard in DJGPP. */
+ goto slow;
#endif
else
- /* Not a special char. */
- switch (*p)
- {
- case '=':
- /* Equals is a special character in leading words before the
- first word with no equals sign in it. This is not the case
- with sh -k, but we never get here when using nonstandard
- shell flags. */
- if (! seen_nonequals && unixy_shell)
- goto slow;
- word_has_equals = 1;
- *ap++ = '=';
- break;
-
- case '\\':
- /* Backslash-newline has special case handling, ref POSIX.
+ /* Not a special char. */
+ switch (*p)
+ {
+ case '=':
+ /* Equals is a special character in leading words before the
+ first word with no equals sign in it. This is not the case
+ with sh -k, but we never get here when using nonstandard
+ shell flags. */
+ if (! seen_nonequals && unixy_shell)
+ goto slow;
+ word_has_equals = 1;
+ *ap++ = '=';
+ break;
+
+ case '\\':
+ /* Backslash-newline has special case handling, ref POSIX.
We're in the fastpath, so emulate what the shell would do. */
- if (p[1] == '\n')
- {
- /* Throw out the backslash and newline. */
+ if (p[1] == '\n')
+ {
+ /* Throw out the backslash and newline. */
++p;
/* If there's nothing in this argument yet, skip any
whitespace before the start of the next word. */
if (ap == new_argv[i])
p = next_token (p + 1) - 1;
- }
- else if (p[1] != '\0')
+ }
+#ifdef WINDOWS32
+ /* Backslash before whitespace is not special if our shell
+ is not Unixy. */
+ else if (isspace (p[1]) && !unixy_shell)
+ {
+ *ap++ = *p;
+ break;
+ }
+#endif
+ else if (p[1] != '\0')
{
#ifdef HAVE_DOS_PATHS
/* Only remove backslashes before characters special to Unixy
@@ -2629,69 +2947,69 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
/* Copy and skip the following char. */
*ap++ = *++p;
}
- break;
-
- case '\'':
- case '"':
- instring = *p;
- break;
-
- case '\n':
- if (restp != NULL)
- {
- /* End of the command line. */
- *restp = p;
- goto end_of_line;
- }
- else
- /* Newlines are not special. */
- *ap++ = '\n';
- break;
-
- case ' ':
- case '\t':
- /* We have the end of an argument.
- Terminate the text of the argument. */
- *ap++ = '\0';
- new_argv[++i] = ap;
- last_argument_was_empty = 0;
-
- /* Update SEEN_NONEQUALS, which tells us if every word
- heretofore has contained an `='. */
- seen_nonequals |= ! word_has_equals;
- if (word_has_equals && ! seen_nonequals)
- /* An `=' in a word before the first
- word without one is magical. */
- goto slow;
- word_has_equals = 0; /* Prepare for the next word. */
-
- /* If this argument is the command name,
- see if it is a built-in shell command.
- If so, have the shell handle it. */
- if (i == 1)
- {
- register int j;
- for (j = 0; sh_cmds[j] != 0; ++j)
+ break;
+
+ case '\'':
+ case '"':
+ instring = *p;
+ break;
+
+ case '\n':
+ if (restp != NULL)
+ {
+ /* End of the command line. */
+ *restp = p;
+ goto end_of_line;
+ }
+ else
+ /* Newlines are not special. */
+ *ap++ = '\n';
+ break;
+
+ case ' ':
+ case '\t':
+ /* We have the end of an argument.
+ Terminate the text of the argument. */
+ *ap++ = '\0';
+ new_argv[++i] = ap;
+ last_argument_was_empty = 0;
+
+ /* Update SEEN_NONEQUALS, which tells us if every word
+ heretofore has contained an '='. */
+ seen_nonequals |= ! word_has_equals;
+ if (word_has_equals && ! seen_nonequals)
+ /* An '=' in a word before the first
+ word without one is magical. */
+ goto slow;
+ word_has_equals = 0; /* Prepare for the next word. */
+
+ /* If this argument is the command name,
+ see if it is a built-in shell command.
+ If so, have the shell handle it. */
+ if (i == 1)
+ {
+ register int j;
+ for (j = 0; sh_cmds[j] != 0; ++j)
{
if (streq (sh_cmds[j], new_argv[0]))
goto slow;
-# ifdef __EMX__
+#if defined(__EMX__) || defined(WINDOWS32)
/* Non-Unix shells are case insensitive. */
if (!unixy_shell
&& strcasecmp (sh_cmds[j], new_argv[0]) == 0)
goto slow;
-# endif
+#endif
}
- }
+ }
- /* Ignore multiple whitespace chars. */
- p = next_token (p) - 1;
- break;
+ /* Ignore multiple whitespace chars. */
+ p = next_token (p) - 1;
+ break;
- default:
- *ap++ = *p;
- break;
- }
+ default:
+ *ap++ = *p;
+ break;
+ }
}
end_of_line:
@@ -2710,8 +3028,8 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
{
register int j;
for (j = 0; sh_cmds[j] != 0; ++j)
- if (streq (sh_cmds[j], new_argv[0]))
- goto slow;
+ if (streq (sh_cmds[j], new_argv[0]))
+ goto slow;
}
if (new_argv[0] == 0)
@@ -2735,7 +3053,7 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
}
#ifdef __MSDOS__
- execute_by_shell = 1; /* actually, call `system' if shell isn't unixy */
+ execute_by_shell = 1; /* actually, call 'system' if shell isn't unixy */
#endif
#ifdef _AMIGA
@@ -2750,14 +3068,14 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
for (dptr=buffer; *ptr; )
{
if (*ptr == '\\' && ptr[1] == '\n')
- ptr += 2;
+ ptr += 2;
else if (*ptr == '@') /* Kludge: multiline commands */
{
- ptr += 2;
- *dptr++ = '\n';
+ ptr += 2;
+ *dptr++ = '\n';
}
else
- *dptr++ = *ptr++;
+ *dptr++ = *ptr++;
}
*dptr = 0;
@@ -2765,7 +3083,7 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
new_argv[0] = buffer;
new_argv[1] = 0;
}
-#else /* Not Amiga */
+#else /* Not Amiga */
#ifdef WINDOWS32
/*
* Not eating this whitespace caused things like
@@ -2790,37 +3108,44 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
Then recurse, expanding this command line to get the final
argument list. */
+ char *new_line;
unsigned int shell_len = strlen (shell);
unsigned int line_len = strlen (line);
- unsigned int sflags_len = strlen (shellflags);
+ unsigned int sflags_len = shellflags ? strlen (shellflags) : 0;
+#ifdef WINDOWS32
char *command_ptr = NULL; /* used for batch_mode_shell mode */
- char *new_line;
+#endif
# ifdef __EMX__ /* is this necessary? */
- if (!unixy_shell)
+ if (!unixy_shell && shellflags)
shellflags[0] = '/'; /* "/c" */
# endif
/* In .ONESHELL mode we are allowed to throw the entire current
- recipe string at a single shell and trust that the user
- has configured the shell and shell flags, and formatted
- the string, appropriately. */
+ recipe string at a single shell and trust that the user
+ has configured the shell and shell flags, and formatted
+ the string, appropriately. */
if (one_shell)
{
- /* If the shell is Bourne compatible, we must remove and ignore
- interior special chars [@+-] because they're meaningless to
- the shell itself. If, however, we're in .ONESHELL mode and
- have changed SHELL to something non-standard, we should
- leave those alone because they could be part of the
- script. In this case we must also leave in place
- any leading [@+-] for the same reason. */
-
- /* Remove and ignore interior prefix chars [@+-] because they're
- meaningless given a single shell. */
+ /* If the shell is Bourne compatible, we must remove and ignore
+ interior special chars [@+-] because they're meaningless to
+ the shell itself. If, however, we're in .ONESHELL mode and
+ have changed SHELL to something non-standard, we should
+ leave those alone because they could be part of the
+ script. In this case we must also leave in place
+ any leading [@+-] for the same reason. */
+
+ /* Remove and ignore interior prefix chars [@+-] because they're
+ meaningless given a single shell. */
#if defined __MSDOS__ || defined (__EMX__)
- if (unixy_shell) /* the test is complicated and we already did it */
+ if (unixy_shell) /* the test is complicated and we already did it */
#else
- if (is_bourne_compatible_shell(shell))
+ if (is_bourne_compatible_shell (shell)
+#ifdef WINDOWS32
+ /* If we didn't find any sh.exe, don't behave is if we did! */
+ && !no_default_sh_exe
+#endif
+ )
#endif
{
const char *f = line;
@@ -2856,35 +3181,136 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
}
*t = '\0';
}
+#ifdef WINDOWS32
+ else /* non-Posix shell (cmd.exe etc.) */
+ {
+ const char *f = line;
+ char *t = line;
+ char *tstart = t;
+ int temp_fd;
+ FILE* batch = NULL;
+ int id = GetCurrentProcessId ();
+ PATH_VAR(fbuf);
+
+ /* Generate a file name for the temporary batch file. */
+ sprintf (fbuf, "make%d", id);
+ *batch_filename = create_batch_file (fbuf, 0, &temp_fd);
+ DB (DB_JOBS, (_("Creating temporary batch file %s\n"),
+ *batch_filename));
+
+ /* Create a FILE object for the batch file, and write to it the
+ commands to be executed. Put the batch file in TEXT mode. */
+ _setmode (temp_fd, _O_TEXT);
+ batch = _fdopen (temp_fd, "wt");
+ fputs ("@echo off\n", batch);
+ DB (DB_JOBS, (_("Batch file contents:\n\t@echo off\n")));
+
+ /* Copy the recipe, removing and ignoring interior prefix chars
+ [@+-]: they're meaningless in .ONESHELL mode. */
+ while (*f != '\0')
+ {
+ /* 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 whitespace that follows them. Windows
+ shells cannot handle escaped newlines. */
+ if (*f == '\\' && f[1] == '\n')
+ {
+ f += 2;
+ while (isblank (*f))
+ ++f;
+ }
+ *(t++) = *(f++);
+ /* On an unescaped newline, we're done with this
+ line. */
+ if (f[-1] == '\n')
+ break;
+ }
+ /* Write another line into the batch file. */
+ if (t > tstart)
+ {
+ int c = *t;
+ *t = '\0';
+ fputs (tstart, batch);
+ DB (DB_JOBS, ("\t%s", tstart));
+ tstart = t;
+ *t = c;
+ }
+ }
+ DB (DB_JOBS, ("\n"));
+ fclose (batch);
+
+ /* Create an argv list for the shell command line that
+ will run the batch file. */
+ new_argv = xmalloc (2 * sizeof (char *));
+ new_argv[0] = xstrdup (*batch_filename);
+ new_argv[1] = NULL;
+ return new_argv;
+ }
+#endif /* WINDOWS32 */
+ /* Create an argv list for the shell command line. */
+ {
+ int n = 0;
+
+ new_argv = xmalloc ((4 + sflags_len/2) * sizeof (char *));
+ new_argv[n++] = xstrdup (shell);
+
+ /* Chop up the shellflags (if any) and assign them. */
+ if (! shellflags)
+ new_argv[n++] = xstrdup ("");
+ else
+ {
+ const char *s = shellflags;
+ char *t;
+ unsigned int len;
+ while ((t = find_next_token (&s, &len)) != 0)
+ new_argv[n++] = xstrndup (t, len);
+ }
- new_argv = xmalloc (4 * sizeof (char *));
- new_argv[0] = xstrdup(shell);
- new_argv[1] = xstrdup(shellflags);
- new_argv[2] = line;
- new_argv[3] = NULL;
- return new_argv;
+ /* Set the command to invoke. */
+ new_argv[n++] = line;
+ new_argv[n++] = NULL;
+ }
+ return new_argv;
}
- new_line = alloca (shell_len + 1 + sflags_len + 1
- + (line_len*2) + 1);
+ new_line = xmalloc ((shell_len*2) + 1 + sflags_len + 1
+ + (line_len*2) + 1);
ap = new_line;
- memcpy (ap, shell, shell_len);
- ap += shell_len;
+ /* Copy SHELL, escaping any characters special to the shell. If
+ we don't escape them, construct_command_argv_internal will
+ recursively call itself ad nauseam, or until stack overflow,
+ whichever happens first. */
+ for (cp = shell; *cp != '\0'; ++cp)
+ {
+ if (strchr (sh_chars, *cp) != 0)
+ *(ap++) = '\\';
+ *(ap++) = *cp;
+ }
*(ap++) = ' ';
- memcpy (ap, shellflags, sflags_len);
+ if (shellflags)
+ memcpy (ap, shellflags, sflags_len);
ap += sflags_len;
*(ap++) = ' ';
+#ifdef WINDOWS32
command_ptr = ap;
+#endif
for (p = line; *p != '\0'; ++p)
{
- if (restp != NULL && *p == '\n')
- {
- *restp = p;
- break;
- }
- else if (*p == '\\' && p[1] == '\n')
- {
- /* POSIX says we keep the backslash-newline. If we don't have a
+ if (restp != NULL && *p == '\n')
+ {
+ *restp = p;
+ break;
+ }
+ else if (*p == '\\' && p[1] == '\n')
+ {
+ /* POSIX says we keep the backslash-newline. If we don't have a
POSIX shell on DOS/Windows/OS2, mimic the pre-POSIX behavior
and remove the backslash/newline. */
#if defined (__MSDOS__) || defined (__EMX__) || defined (WINDOWS32)
@@ -2892,97 +3318,108 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
#else
# define PRESERVE_BSNL 1
#endif
- if (PRESERVE_BSNL)
- {
- *(ap++) = '\\';
- /* Only non-batch execution needs another backslash,
- because it will be passed through a recursive
- invocation of this function. */
- if (!batch_mode_shell)
- *(ap++) = '\\';
- *(ap++) = '\n';
- }
- ++p;
- continue;
- }
+ if (PRESERVE_BSNL)
+ {
+ *(ap++) = '\\';
+ /* Only non-batch execution needs another backslash,
+ because it will be passed through a recursive
+ invocation of this function. */
+ if (!batch_mode_shell)
+ *(ap++) = '\\';
+ *(ap++) = '\n';
+ }
+ ++p;
+ continue;
+ }
/* DOS shells don't know about backslash-escaping. */
- if (unixy_shell && !batch_mode_shell &&
+ if (unixy_shell && !batch_mode_shell &&
(*p == '\\' || *p == '\'' || *p == '"'
|| isspace ((unsigned char)*p)
|| strchr (sh_chars, *p) != 0))
- *ap++ = '\\';
+ *ap++ = '\\';
#ifdef __MSDOS__
else if (unixy_shell && strneq (p, "...", 3))
{
- /* The case of `...' wildcard again. */
+ /* The case of '...' wildcard again. */
strcpy (ap, "\\.\\.\\");
ap += 5;
p += 2;
}
#endif
- *ap++ = *p;
+ *ap++ = *p;
}
if (ap == new_line + shell_len + sflags_len + 2)
- /* Line was empty. */
- return 0;
+ {
+ /* Line was empty. */
+ free (new_line);
+ return 0;
+ }
*ap = '\0';
#ifdef WINDOWS32
/* Some shells do not work well when invoked as 'sh -c xxx' to run a
command line (e.g. Cygnus GNUWIN32 sh.exe on WIN32 systems). In these
cases, run commands via a script file. */
- if (just_print_flag && !(flags & COMMANDS_RECURSE)) {
- /* Need to allocate new_argv, although it's unused, because
- start_job_command will want to free it and its 0'th element. */
- new_argv = xmalloc(2 * sizeof (char *));
- new_argv[0] = xstrdup ("");
- new_argv[1] = NULL;
- } else if ((no_default_sh_exe || batch_mode_shell) && batch_filename_ptr) {
- int temp_fd;
- FILE* batch = NULL;
- int id = GetCurrentProcessId();
- PATH_VAR(fbuf);
-
- /* create a file name */
- sprintf(fbuf, "make%d", id);
- *batch_filename_ptr = create_batch_file (fbuf, unixy_shell, &temp_fd);
-
- DB (DB_JOBS, (_("Creating temporary batch file %s\n"),
- *batch_filename_ptr));
-
- /* Create a FILE object for the batch file, and write to it the
- commands to be executed. Put the batch file in TEXT mode. */
- _setmode (temp_fd, _O_TEXT);
- batch = _fdopen (temp_fd, "wt");
- if (!unixy_shell)
- fputs ("@echo off\n", batch);
- fputs (command_ptr, batch);
- fputc ('\n', batch);
- fclose (batch);
- DB (DB_JOBS, (_("Batch file contents:%s\n\t%s\n"),
- !unixy_shell ? "\n\t@echo off" : "", command_ptr));
-
- /* create argv */
- new_argv = xmalloc(3 * sizeof (char *));
- if (unixy_shell) {
- new_argv[0] = xstrdup (shell);
- new_argv[1] = *batch_filename_ptr; /* only argv[0] gets freed later */
- } else {
- new_argv[0] = xstrdup (*batch_filename_ptr);
+ if (just_print_flag && !(flags & COMMANDS_RECURSE))
+ {
+ /* Need to allocate new_argv, although it's unused, because
+ start_job_command will want to free it and its 0'th element. */
+ new_argv = xmalloc (2 * sizeof (char *));
+ new_argv[0] = xstrdup ("");
new_argv[1] = NULL;
}
- new_argv[2] = NULL;
- } else
+ else if ((no_default_sh_exe || batch_mode_shell) && batch_filename)
+ {
+ int temp_fd;
+ FILE* batch = NULL;
+ int id = GetCurrentProcessId ();
+ PATH_VAR (fbuf);
+
+ /* create a file name */
+ sprintf (fbuf, "make%d", id);
+ *batch_filename = create_batch_file (fbuf, unixy_shell, &temp_fd);
+
+ DB (DB_JOBS, (_("Creating temporary batch file %s\n"),
+ *batch_filename));
+
+ /* Create a FILE object for the batch file, and write to it the
+ commands to be executed. Put the batch file in TEXT mode. */
+ _setmode (temp_fd, _O_TEXT);
+ batch = _fdopen (temp_fd, "wt");
+ if (!unixy_shell)
+ fputs ("@echo off\n", batch);
+ fputs (command_ptr, batch);
+ fputc ('\n', batch);
+ fclose (batch);
+ DB (DB_JOBS, (_("Batch file contents:%s\n\t%s\n"),
+ !unixy_shell ? "\n\t@echo off" : "", command_ptr));
+
+ /* create argv */
+ new_argv = xmalloc (3 * sizeof (char *));
+ if (unixy_shell)
+ {
+ new_argv[0] = xstrdup (shell);
+ new_argv[1] = *batch_filename; /* only argv[0] gets freed later */
+ }
+ else
+ {
+ new_argv[0] = xstrdup (*batch_filename);
+ new_argv[1] = NULL;
+ }
+ new_argv[2] = NULL;
+ }
+ else
#endif /* WINDOWS32 */
if (unixy_shell)
- new_argv = construct_command_argv_internal (new_line, 0, 0, 0, 0, flags, 0);
+ new_argv = construct_command_argv_internal (new_line, 0, 0, 0, 0,
+ flags, 0);
#ifdef __EMX__
else if (!unixy_shell)
{
- /* new_line is local, must not be freed therefore
+ /* new_line is local, must not be freed therefore
We use line here instead of new_line because we run the shell
manually. */
size_t line_len = strlen (line);
@@ -3062,11 +3499,14 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
}
#else
else
- fatal (NILF, _("%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"),
+ fatal (NILF, CSTRLEN (__FILE__) + INTSTR_LENGTH,
+ _("%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"),
__FILE__, __LINE__);
#endif
+
+ free (new_line);
}
-#endif /* ! AMIGA */
+#endif /* ! AMIGA */
return new_argv;
}
@@ -3074,9 +3514,9 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
/* Figure out the argument list necessary to run LINE as a command. Try to
avoid using a shell. This routine handles only ' quoting, and " quoting
- when no backslash, $ or ` characters are seen in the quotes. Starting
+ when no backslash, $ or ' characters are seen in the quotes. Starting
quotes may be escaped with a backslash. If any of the characters in
- sh_chars[] is seen, or any of the builtin commands listed in sh_cmds[]
+ sh_chars is seen, or any of the builtin commands listed in sh_cmds
is the first word of a line, the shell is used.
If RESTP is not NULL, *RESTP is set to point to the first newline in LINE.
@@ -3087,7 +3527,7 @@ construct_command_argv_internal (char *line, char **restp, char *shell,
char **
construct_command_argv (char *line, char **restp, struct file *file,
- int cmd_flags, char **batch_filename_ptr)
+ int cmd_flags, char **batch_filename)
{
char *shell, *ifs, *shellflags;
char **argv;
@@ -3101,13 +3541,13 @@ construct_command_argv (char *line, char **restp, struct file *file,
for (;;)
{
while ((*cptr != 0)
- && (isspace ((unsigned char)*cptr)))
- cptr++;
+ && (isspace ((unsigned char)*cptr)))
+ cptr++;
if (*cptr == 0)
- break;
+ break;
while ((*cptr != 0)
- && (!isspace((unsigned char)*cptr)))
- cptr++;
+ && (!isspace ((unsigned char)*cptr)))
+ cptr++;
argc++;
}
@@ -3120,17 +3560,17 @@ construct_command_argv (char *line, char **restp, struct file *file,
for (;;)
{
while ((*cptr != 0)
- && (isspace ((unsigned char)*cptr)))
- cptr++;
+ && (isspace ((unsigned char)*cptr)))
+ cptr++;
if (*cptr == 0)
- break;
+ break;
DB (DB_JOBS, ("argv[%d] = [%s]\n", argc, cptr));
argv[argc++] = cptr;
while ((*cptr != 0)
- && (!isspace((unsigned char)*cptr)))
- cptr++;
+ && (!isspace ((unsigned char)*cptr)))
+ cptr++;
if (*cptr != 0)
- *cptr++ = 0;
+ *cptr++ = 0;
}
#else
{
@@ -3144,10 +3584,11 @@ construct_command_argv (char *line, char **restp, struct file *file,
* Convert to forward slashes so that construct_command_argv_internal()
* is not confused.
*/
- if (shell) {
- char *p = w32ify (shell, 0);
- strcpy (shell, p);
- }
+ if (shell)
+ {
+ char *p = w32ify (shell, 0);
+ strcpy (shell, p);
+ }
#endif
#ifdef __EMX__
{
@@ -3155,12 +3596,12 @@ construct_command_argv (char *line, char **restp, struct file *file,
static const char *last_shell = "";
static int init = 0;
if (init == 0)
- {
- unixroot = getenv ("UNIXROOT");
- /* unixroot must be NULL or not empty */
- if (unixroot && unixroot[0] == '\0') unixroot = NULL;
- init = 1;
- }
+ {
+ unixroot = getenv ("UNIXROOT");
+ /* unixroot must be NULL or not empty */
+ if (unixroot && unixroot[0] == '\0') unixroot = NULL;
+ init = 1;
+ }
/* if we have an unixroot drive and if shell is not default_shell
(which means it's either cmd.exe or the test has already been
@@ -3168,29 +3609,29 @@ construct_command_argv (char *line, char **restp, struct file *file,
try whether it exists e.g.: if "/bin/sh" does not exist use
"$UNIXROOT/bin/sh" instead. */
if (unixroot && shell && strcmp (shell, last_shell) != 0
- && (shell[0] == '/' || shell[0] == '\\'))
- {
- /* trying a new shell, check whether it exists */
- size_t size = strlen (shell);
- char *buf = xmalloc (size + 7);
- memcpy (buf, shell, size);
- memcpy (buf + size, ".exe", 5); /* including the trailing '\0' */
+ && (shell[0] == '/' || shell[0] == '\\'))
+ {
+ /* trying a new shell, check whether it exists */
+ size_t size = strlen (shell);
+ char *buf = xmalloc (size + 7);
+ memcpy (buf, shell, size);
+ memcpy (buf + size, ".exe", 5); /* including the trailing '\0' */
if (access (shell, F_OK) != 0 && access (buf, F_OK) != 0)
- {
- /* try the same for the unixroot drive */
- memmove (buf + 2, buf, size + 5);
- buf[0] = unixroot[0];
- buf[1] = unixroot[1];
- if (access (buf, F_OK) == 0)
- /* we have found a shell! */
- /* free(shell); */
- shell = buf;
- else
- free (buf);
- }
- else
+ {
+ /* try the same for the unixroot drive */
+ memmove (buf + 2, buf, size + 5);
+ buf[0] = unixroot[0];
+ buf[1] = unixroot[1];
+ if (access (buf, F_OK) == 0)
+ /* we have found a shell! */
+ /* free(shell); */
+ shell = buf;
+ else
+ free (buf);
+ }
+ else
free (buf);
- }
+ }
}
#endif /* __EMX__ */
@@ -3201,7 +3642,7 @@ construct_command_argv (char *line, char **restp, struct file *file,
}
argv = construct_command_argv_internal (line, restp, shell, shellflags, ifs,
- cmd_flags, batch_filename_ptr);
+ cmd_flags, batch_filename);
free (shell);
free (shellflags);
diff --git a/job.h b/job.h
index d346b5e9..3c921bae 100644
--- a/job.h
+++ b/job.h
@@ -1,7 +1,5 @@
/* Definitions for managing subprocesses in GNU Make.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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
@@ -16,8 +14,7 @@ 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 <http://www.gnu.org/licenses/>. */
-#ifndef SEEN_JOB_H
-#define SEEN_JOB_H
+#include "output.h"
#ifdef HAVE_FCNTL_H
# include <fcntl.h>
@@ -28,7 +25,11 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* How to set close-on-exec for a file descriptor. */
#if !defined F_SETFD
-# define CLOSE_ON_EXEC(_d)
+# ifdef WINDOWS32
+# define CLOSE_ON_EXEC(_d) process_noinherit(_d)
+# else
+# define CLOSE_ON_EXEC(_d)
+# endif
#else
# ifndef FD_CLOEXEC
# define FD_CLOEXEC 1
@@ -36,34 +37,78 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
# define CLOSE_ON_EXEC(_d) (void) fcntl ((_d), F_SETFD, FD_CLOEXEC)
#endif
+#ifdef NO_OUTPUT_SYNC
+# define RECORD_SYNC_MUTEX(m) \
+ O (error, NILF, \
+ _("-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."));
+#else
+# ifdef WINDOWS32
+/* For emulations in w32/compat/posixfcn.c. */
+# define F_GETFD 1
+# define F_SETLKW 2
+/* Implementation note: None of the values of l_type below can be zero
+ -- they are compared with a static instance of the struct, so zero
+ means unknown/invalid, see w32/compat/posixfcn.c. */
+# define F_WRLCK 1
+# define F_UNLCK 2
+
+struct flock
+ {
+ short l_type;
+ short l_whence;
+ off_t l_start;
+ off_t l_len;
+ pid_t l_pid;
+ };
+
+/* This type is actually a HANDLE, but we want to avoid including
+ windows.h as much as possible. */
+typedef intptr_t sync_handle_t;
+
+/* Public functions emulated/provided in posixfcn.c. */
+int fcntl (intptr_t fd, int cmd, ...);
+intptr_t create_mutex (void);
+int same_stream (FILE *f1, FILE *f2);
+
+# define RECORD_SYNC_MUTEX(m) record_sync_mutex(m)
+void record_sync_mutex (const char *str);
+void prepare_mutex_handle_string (intptr_t hdl);
+# else /* !WINDOWS32 */
+
+typedef int sync_handle_t; /* file descriptor */
+
+# define RECORD_SYNC_MUTEX(m) (void)(m)
+
+# endif
+#endif /* !NO_OUTPUT_SYNC */
+
/* Structure describing a running or dead child process. */
struct child
{
- struct child *next; /* Link in the chain. */
-
- struct file *file; /* File being remade. */
+ struct child *next; /* Link in the chain. */
- char **environment; /* Environment for commands. */
+ struct file *file; /* File being remade. */
- char **command_lines; /* Array of variable-expanded cmd lines. */
- unsigned int command_line; /* Index into above. */
- char *command_ptr; /* Ptr into command_lines[command_line]. */
+ char **environment; /* Environment for commands. */
+ char *sh_batch_file; /* Script file for shell commands */
+ char **command_lines; /* Array of variable-expanded cmd lines. */
+ char *command_ptr; /* Ptr into command_lines[command_line]. */
- pid_t pid; /* Child process's ID number. */
#ifdef VMS
- int efn; /* Completion event flag number */
- int cstatus; /* Completion status */
char *comname; /* Temporary command file name */
+ int efn; /* Completion event flag number */
+ int cstatus; /* Completion status */
#endif
- char *sh_batch_file; /* Script file for shell commands */
- unsigned int remote:1; /* Nonzero if executing remotely. */
- unsigned int noerror:1; /* Nonzero if commands contained a `-'. */
-
- unsigned int good_stdin:1; /* Nonzero if this child has a good stdin. */
- unsigned int deleted:1; /* Nonzero if targets have been deleted. */
- unsigned int dontcare:1; /* Saved dontcare flag. */
+ unsigned int command_line; /* Index into command_lines. */
+ struct output output; /* Output for this child. */
+ pid_t pid; /* Child process's ID number. */
+ unsigned int remote:1; /* Nonzero if executing remotely. */
+ unsigned int noerror:1; /* Nonzero if commands contained a '-'. */
+ unsigned int good_stdin:1; /* Nonzero if this child has a good stdin. */
+ unsigned int deleted:1; /* Nonzero if targets have been deleted. */
+ unsigned int dontcare:1; /* Saved dontcare flag. */
};
extern struct child *children;
@@ -77,17 +122,24 @@ char **construct_command_argv (char *line, char **restp, struct file *file,
int cmd_flags, char** batch_file);
#ifdef VMS
int child_execute_job (char *argv, struct child *child);
-#elif defined(__EMX__)
-int child_execute_job (int stdin_fd, int stdout_fd, char **argv, char **envp);
#else
-void child_execute_job (int stdin_fd, int stdout_fd, char **argv, char **envp);
+# define FD_STDIN (fileno (stdin))
+# define FD_STDOUT (fileno (stdout))
+# define FD_STDERR (fileno (stderr))
+# 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);
+void exec_command (char **argv) __attribute__ ((noreturn));
#elif defined(__EMX__)
int exec_command (char **argv, char **envp);
#else
-void exec_command (char **argv, char **envp);
+void exec_command (char **argv, char **envp) __attribute__ ((noreturn));
#endif
extern unsigned int job_slots_used;
@@ -96,14 +148,12 @@ void block_sigs (void);
#ifdef POSIX
void unblock_sigs (void);
#else
-#ifdef HAVE_SIGSETMASK
+#ifdef HAVE_SIGSETMASK
extern int fatal_signal_mask;
-#define unblock_sigs() sigsetmask (0)
+#define unblock_sigs() sigsetmask (0)
#else
-#define unblock_sigs()
+#define unblock_sigs()
#endif
#endif
extern unsigned int jobserver_tokens;
-
-#endif /* SEEN_JOB_H */
diff --git a/load.c b/load.c
new file mode 100644
index 00000000..79294b33
--- /dev/null
+++ b/load.c
@@ -0,0 +1,255 @@
+/* Loading dynamic objects for GNU Make.
+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
+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 <http://www.gnu.org/licenses/>. */
+
+#include "makeint.h"
+
+#if MAKE_LOAD
+
+#include <string.h>
+#include <ctype.h>
+#include <stdlib.h>
+#include <dlfcn.h>
+#include <errno.h>
+
+#define SYMBOL_EXTENSION "_gmk_setup"
+
+#include "debug.h"
+#include "filedef.h"
+#include "variable.h"
+
+/* Tru64 V4.0 does not have this flag */
+#ifndef RTLD_GLOBAL
+# define RTLD_GLOBAL 0
+#endif
+
+struct load_list
+ {
+ struct load_list *next;
+ const char *name;
+ void *dlp;
+ };
+
+static struct load_list *loaded_syms = NULL;
+
+static load_func_t
+load_object (const gmk_floc *flocp, int noerror,
+ const char *ldname, const char *symname)
+{
+ static void *global_dl = NULL;
+ load_func_t symp;
+
+ if (! global_dl)
+ {
+ global_dl = dlopen (NULL, RTLD_NOW|RTLD_GLOBAL);
+ if (! global_dl)
+ {
+ const char *err = dlerror ();
+ OS (fatal, flocp, _("Failed to open global symbol table: %s"), err);
+ }
+ }
+
+ symp = (load_func_t) dlsym (global_dl, symname);
+ if (! symp)
+ {
+ struct load_list *new;
+ void *dlp = NULL;
+
+ /* If the path has no "/", try the current directory first. */
+ if (! strchr (ldname, '/')
+#ifdef HAVE_DOS_PATHS
+ && ! strchr (ldname, '\\')
+#endif
+ )
+ dlp = dlopen (concat (2, "./", ldname), RTLD_LAZY|RTLD_GLOBAL);
+
+ /* If we haven't opened it yet, try the default search path. */
+ if (! dlp)
+ dlp = dlopen (ldname, RTLD_LAZY|RTLD_GLOBAL);
+
+ /* Still no? Then fail. */
+ if (! dlp)
+ {
+ const char *err = dlerror ();
+ if (noerror)
+ DB (DB_BASIC, ("%s", err));
+ else
+ OS (error, flocp, "%s", err);
+ return NULL;
+ }
+
+ /* Assert that the GPL license symbol is defined. */
+ symp = (load_func_t) dlsym (dlp, "plugin_is_GPL_compatible");
+ if (! symp)
+ OS (fatal, flocp,
+ _("Loaded object %s is not declared to be GPL compatible"),
+ ldname);
+
+ symp = (load_func_t) dlsym (dlp, symname);
+ if (! symp)
+ {
+ const char *err = dlerror ();
+ OSSS (fatal, flocp, _("Failed to load symbol %s from %s: %s"),
+ symname, ldname, err);
+ }
+
+ /* Add this symbol to a trivial lookup table. This is not efficient but
+ it's highly unlikely we'll be loading lots of objects, and we only
+ need it to look them up on unload, if we rebuild them. */
+ new = xmalloc (sizeof (struct load_list));
+ new->name = xstrdup (ldname);
+ new->dlp = dlp;
+ new->next = loaded_syms;
+ loaded_syms = new;
+ }
+
+ return symp;
+}
+
+int
+load_file (const gmk_floc *flocp, const char **ldname, int noerror)
+{
+ int nmlen = strlen (*ldname);
+ char *new = alloca (nmlen + CSTRLEN (SYMBOL_EXTENSION) + 1);
+ char *symname = NULL;
+ char *loaded;
+ const char *fp;
+ int r;
+ load_func_t symp;
+
+ /* Break the input into an object file name and a symbol name. If no symbol
+ name was provided, compute one from the object file name. */
+ fp = strchr (*ldname, '(');
+ if (fp)
+ {
+ const char *ep;
+
+ /* There's an open paren, so see if there's a close paren: if so use
+ that as the symbol name. We can't have whitespace: it would have
+ been chopped up before this function is called. */
+ ep = strchr (fp+1, ')');
+ if (ep && ep[1] == '\0')
+ {
+ int l = fp - *ldname;;
+
+ ++fp;
+ if (fp == ep)
+ OS (fatal, flocp, _("Empty symbol name for load: %s"), *ldname);
+
+ /* Make a copy of the ldname part. */
+ memcpy (new, *ldname, l);
+ new[l] = '\0';
+ *ldname = new;
+ nmlen = l;
+
+ /* Make a copy of the symbol name part. */
+ symname = new + l + 1;
+ memcpy (symname, fp, ep - fp);
+ symname[ep - fp] = '\0';
+ }
+ }
+
+ /* Add this name to the string cache so it can be reused later. */
+ *ldname = strcache_add (*ldname);
+
+ /* If this object has been loaded, we're done. */
+ loaded = allocated_variable_expand ("$(.LOADED)");
+ fp = strstr (loaded, *ldname);
+ r = fp && (fp==loaded || fp[-1]==' ') && (fp[nmlen]=='\0' || fp[nmlen]==' ');
+ free (loaded);
+ if (r)
+ return 1;
+
+ /* If we didn't find a symbol name yet, construct it from the ldname. */
+ if (! symname)
+ {
+ char *p = new;
+
+ fp = strrchr (*ldname, '/');
+#ifdef HAVE_DOS_PATHS
+ if (fp)
+ {
+ const char *fp2 = strchr (fp, '\\');
+
+ if (fp2 > fp)
+ fp = fp2;
+ }
+ else
+ fp = strrchr (*ldname, '\\');
+ /* The (improbable) case of d:foo. */
+ if (fp && *fp && fp[1] == ':')
+ fp++;
+#endif
+ if (!fp)
+ fp = *ldname;
+ else
+ ++fp;
+ while (isalnum (*fp) || *fp == '_')
+ *(p++) = *(fp++);
+ strcpy (p, SYMBOL_EXTENSION);
+ symname = new;
+ }
+
+ DB (DB_VERBOSE, (_("Loading symbol %s from %s\n"), symname, *ldname));
+
+ /* Load it! */
+ symp = load_object (flocp, noerror, *ldname, symname);
+ if (! symp)
+ return 0;
+
+ /* Invoke the symbol. */
+ r = (*symp) (flocp);
+
+ /* If it succeeded, add the load file to the loaded variable. */
+ if (r > 0)
+ do_variable_definition (flocp, ".LOADED", *ldname, o_default, f_append, 0);
+
+ return r;
+}
+
+void
+unload_file (const char *name)
+{
+ struct load_list *d;
+
+ for (d = loaded_syms; d != NULL; d = d->next)
+ if (streq (d->name, name) && d->dlp)
+ {
+ if (dlclose (d->dlp))
+ perror_with_name ("dlclose", d->name);
+ d->dlp = NULL;
+ break;
+ }
+}
+
+#else
+
+int
+load_file (const gmk_floc *flocp, const char **ldname, int noerror)
+{
+ if (! noerror)
+ O (fatal, flocp,
+ _("The 'load' operation is not supported on this platform."));
+
+ return 0;
+}
+
+void
+unload_file (const char *name)
+{
+ O (fatal, NILF, "INTERNAL: Cannot unload when load is not supported!");
+}
+
+#endif /* MAKE_LOAD */
diff --git a/loadapi.c b/loadapi.c
new file mode 100644
index 00000000..fb275dd1
--- /dev/null
+++ b/loadapi.c
@@ -0,0 +1,70 @@
+/* API for GNU Make dynamic objects.
+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
+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 <http://www.gnu.org/licenses/>. */
+
+#include "makeint.h"
+
+#include "filedef.h"
+#include "variable.h"
+#include "dep.h"
+
+/* Allocate a buffer in our context, so we can free it. */
+char *
+gmk_alloc (unsigned int len)
+{
+ return xmalloc (len);
+}
+
+/* Free a buffer returned by gmk_expand(). */
+void
+gmk_free (char *s)
+{
+ free (s);
+}
+
+/* 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 *floc)
+{
+ /* Preserve existing variable buffer context. */
+ char *pbuf;
+ unsigned int plen;
+ char *s;
+
+ install_variable_buffer (&pbuf, &plen);
+
+ s = xstrdup (buffer);
+ eval_buffer (s, floc);
+ free (s);
+
+ restore_variable_buffer (pbuf, plen);
+}
+
+/* Expand a string and return an allocated buffer.
+ Caller must call gmk_free() with this buffer. */
+char *
+gmk_expand (const char *ref)
+{
+ return allocated_variable_expand (ref);
+}
+
+/* Register a function to be called from makefiles. */
+void
+gmk_add_function (const char *name, gmk_func_ptr func,
+ unsigned int min, unsigned int max, unsigned int flags)
+{
+ define_new_function (reading_file, name, min, max, flags, func);
+}
diff --git a/main.c b/main.c
index c6989e31..7f14cba5 100644
--- a/main.c
+++ b/main.c
@@ -1,7 +1,5 @@
/* Argument parsing and main program of GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -16,9 +14,9 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
-#include "dep.h"
+#include "makeint.h"
#include "filedef.h"
+#include "dep.h"
#include "variable.h"
#include "job.h"
#include "commands.h"
@@ -32,9 +30,11 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
# include <proto/dos.h>
#endif
#ifdef WINDOWS32
-#include <windows.h>
-#include <io.h>
-#include "pathstuff.h"
+# include <windows.h>
+# include <io.h>
+# include "pathstuff.h"
+# include "sub_proc.h"
+# include "w32err.h"
#endif
#ifdef __EMX__
# include <sys/types.h>
@@ -64,11 +64,11 @@ void verify_file_data_base (void);
# define HAVE_WAIT_NOHANG
#endif
-#ifndef HAVE_UNISTD_H
+#ifndef HAVE_UNISTD_H
int chdir ();
#endif
-#ifndef STDC_HEADERS
-# ifndef sun /* Sun has an incorrect decl in a header. */
+#ifndef STDC_HEADERS
+# ifndef sun /* Sun has an incorrect decl in a header. */
void exit (int) __attribute__ ((noreturn));
# endif
double atof ();
@@ -77,9 +77,9 @@ double atof ();
static void clean_jobserver (int status);
static void print_data_base (void);
static void print_version (void);
-static void decode_switches (int argc, char **argv, int env);
-static void decode_env_switches (char *envar, unsigned int len);
-static const char *define_makeflags (int all, int makefile);
+static void decode_switches (int argc, const char **argv, int env);
+static void decode_env_switches (const char *envar, unsigned int len);
+static struct variable *define_makeflags (int all, int makefile);
static char *quote_for_env (char *out, const char *in);
static void initialize_global_hash_tables (void);
@@ -88,29 +88,30 @@ static void initialize_global_hash_tables (void);
struct command_switch
{
- int c; /* The switch character. */
+ int c; /* The switch character. */
- enum /* Type of the value. */
+ enum /* Type of the value. */
{
- flag, /* Turn int flag on. */
- flag_off, /* Turn int flag off. */
- string, /* One string per switch. */
- filename, /* A string containing a file name. */
- positive_int, /* A positive integer. */
- floating, /* A floating-point number (double). */
- ignore /* Ignored. */
+ flag, /* Turn int flag on. */
+ flag_off, /* Turn int flag off. */
+ string, /* One string per invocation. */
+ strlist, /* One string per switch. */
+ filename, /* A string containing a file name. */
+ positive_int, /* A positive integer. */
+ floating, /* A floating-point number (double). */
+ ignore /* Ignored. */
} type;
- void *value_ptr; /* Pointer to the value-holding variable. */
+ void *value_ptr; /* Pointer to the value-holding variable. */
- unsigned int env:1; /* Can come from MAKEFLAGS. */
- unsigned int toenv:1; /* Should be put in MAKEFLAGS. */
- unsigned int no_makefile:1; /* Don't propagate when remaking makefiles. */
+ unsigned int env:1; /* Can come from MAKEFLAGS. */
+ unsigned int toenv:1; /* Should be put in MAKEFLAGS. */
+ unsigned int no_makefile:1; /* Don't propagate when remaking makefiles. */
- const void *noarg_value; /* Pointer to value used if no arg given. */
- const void *default_value; /* Pointer to default value. */
+ const void *noarg_value; /* Pointer to value used if no arg given. */
+ const void *default_value; /* Pointer to default value. */
- char *long_name; /* Long option name. */
+ const char *long_name; /* Long option name. */
};
/* True if C is a switch value that corresponds to a short option. */
@@ -118,18 +119,22 @@ struct command_switch
#define short_option(c) ((c) <= CHAR_MAX)
/* The structure used to hold the list of strings given
- in command switches of a type that takes string arguments. */
+ in command switches of a type that takes strlist arguments. */
struct stringlist
{
- const char **list; /* Nil-terminated list of strings. */
- unsigned int idx; /* Index into above. */
- unsigned int max; /* Number of pointers allocated. */
+ const char **list; /* Nil-terminated list of strings. */
+ unsigned int idx; /* Index into above. */
+ unsigned int max; /* Number of pointers allocated. */
};
/* The recognized command switches. */
+/* Nonzero means do extra verification (that may slow things down). */
+
+int verify_flag;
+
/* Nonzero means do not print commands to be executed (-s). */
int silent_flag;
@@ -146,14 +151,14 @@ int just_print_flag;
/* Print debugging info (--debug). */
-static struct stringlist *db_flags;
+static struct stringlist *db_flags = 0;
static int debug_flag = 0;
int db_level = 0;
-/* Output level (--verbosity). */
+/* Synchronize output (--output-sync). */
-static struct stringlist *verbosity_flags;
+char *output_sync_option = 0;
#ifdef WINDOWS32
/* Suspend make in main for a short time to allow debugger to attach */
@@ -230,11 +235,16 @@ static unsigned int inf_jobs = 0;
/* File descriptors for the jobs pipe. */
-static struct stringlist *jobserver_fds = 0;
+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 = 0;
+
/* Maximum load average at which multiple jobs will be run.
Negative values mean unlimited, while zero means limit to
zero load (which could be useful to start infinite jobs remotely
@@ -343,6 +353,9 @@ static const char *const usage[] =
-o FILE, --old-file=FILE, --assume-old=FILE\n\
Consider FILE to be very old and don't remake it.\n"),
N_("\
+ -O[TYPE], --output-sync[=TYPE]\n\
+ Synchronize output of parallel jobs by TYPE.\n"),
+ N_("\
-p, --print-data-base Print make's internal database.\n"),
N_("\
-q, --question Run no recipe; exit status says if up to date.\n"),
@@ -358,6 +371,8 @@ static const char *const usage[] =
N_("\
-t, --touch Touch targets instead of remaking them.\n"),
N_("\
+ --trace Print tracing information.\n"),
+ N_("\
-v, --version Print the version number of make and exit.\n"),
N_("\
-w, --print-directory Print the current directory.\n"),
@@ -371,40 +386,26 @@ static const char *const usage[] =
NULL
};
-/* The table of command switches. */
+/* The table of command switches.
+ Order matters here: this is the order MAKEFLAGS will be constructed.
+ So be sure all simple flags (single char, no argument) come first. */
static const struct command_switch switches[] =
{
{ 'b', ignore, 0, 0, 0, 0, 0, 0, 0 },
{ 'B', flag, &always_make_set, 1, 1, 0, 0, 0, "always-make" },
- { 'C', filename, &directories, 0, 0, 0, 0, 0, "directory" },
{ 'd', flag, &debug_flag, 1, 1, 0, 0, 0, 0 },
- { CHAR_MAX+1, string, &db_flags, 1, 1, 0, "basic", 0, "debug" },
#ifdef WINDOWS32
{ 'D', flag, &suspend_flag, 1, 1, 0, 0, 0, "suspend-for-debug" },
#endif
{ 'e', flag, &env_overrides, 1, 1, 0, 0, 0, "environment-overrides", },
- { 'f', filename, &makefiles, 0, 0, 0, 0, 0, "file" },
{ 'h', flag, &print_usage_flag, 0, 0, 0, 0, 0, "help" },
{ 'i', flag, &ignore_errors_flag, 1, 1, 0, 0, 0, "ignore-errors" },
- { 'I', filename, &include_directories, 1, 1, 0, 0, 0,
- "include-dir" },
- { 'j', positive_int, &job_slots, 1, 1, 0, &inf_jobs, &default_job_slots,
- "jobs" },
- { CHAR_MAX+2, string, &jobserver_fds, 1, 1, 0, 0, 0, "jobserver-fds" },
{ 'k', flag, &keep_going_flag, 1, 1, 0, 0, &default_keep_going_flag,
"keep-going" },
-#ifndef NO_FLOAT
- { 'l', floating, &max_load_average, 1, 1, 0, &default_load_average,
- &default_load_average, "load-average" },
-#else
- { 'l', positive_int, &max_load_average, 1, 1, 0, &default_load_average,
- &default_load_average, "load-average" },
-#endif
{ 'L', flag, &check_symlink_flag, 1, 1, 0, 0, 0, "check-symlink-times" },
{ 'm', ignore, 0, 0, 0, 0, 0, 0, 0 },
{ 'n', flag, &just_print_flag, 1, 1, 1, 0, 0, "just-print" },
- { 'o', filename, &old_files, 0, 0, 0, 0, 0, "old-file" },
{ 'p', flag, &print_data_base_flag, 1, 1, 0, 0, 0, "print-data-base" },
{ 'q', flag, &question_flag, 1, 1, 1, 0, 0, "question" },
{ 'r', flag, &no_builtin_rules_flag, 1, 1, 0, 0, 0, "no-builtin-rules" },
@@ -415,15 +416,36 @@ static const struct command_switch switches[] =
"no-keep-going" },
{ 't', flag, &touch_flag, 1, 1, 1, 0, 0, "touch" },
{ 'v', flag, &print_version_flag, 1, 1, 0, 0, 0, "version" },
- { CHAR_MAX+3, string, &verbosity_flags, 1, 1, 0, 0, 0,
- "verbosity" },
{ 'w', flag, &print_directory_flag, 1, 1, 0, 0, 0, "print-directory" },
+
+ /* These options take arguments. */
+ { 'C', filename, &directories, 0, 0, 0, 0, 0, "directory" },
+ { 'f', filename, &makefiles, 0, 0, 0, 0, 0, "file" },
+ { 'I', filename, &include_directories, 1, 1, 0, 0, 0,
+ "include-dir" },
+ { '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,
+ &default_load_average, "load-average" },
+#else
+ { 'l', positive_int, &max_load_average, 1, 1, 0, &default_load_average,
+ &default_load_average, "load-average" },
+#endif
+ { 'o', filename, &old_files, 0, 0, 0, 0, 0, "old-file" },
+ { 'O', string, &output_sync_option, 1, 1, 0, "target", 0, "output-sync" },
+ { 'W', filename, &new_files, 0, 0, 0, 0, 0, "what-if" },
+
+ /* These are long-style options. */
+ { CHAR_MAX+1, strlist, &db_flags, 1, 1, 0, "basic", 0, "debug" },
+ { 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" },
- { 'W', filename, &new_files, 0, 0, 0, 0, 0, "what-if" },
{ CHAR_MAX+5, flag, &warn_undefined_variables_flag, 1, 1, 0, 0, 0,
"warn-undefined-variables" },
- { CHAR_MAX+6, string, &eval_strings, 1, 0, 0, 0, 0, "eval" },
+ { CHAR_MAX+6, strlist, &eval_strings, 1, 0, 0, 0, 0, "eval" },
+ { CHAR_MAX+7, string, &sync_mutex, 1, 1, 0, 0, 0, "sync-mutex" },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0 }
};
@@ -431,15 +453,15 @@ static const struct command_switch switches[] =
static struct option long_option_aliases[] =
{
- { "quiet", no_argument, 0, 's' },
- { "stop", no_argument, 0, 'S' },
- { "new-file", required_argument, 0, 'W' },
- { "assume-new", required_argument, 0, 'W' },
- { "assume-old", required_argument, 0, 'o' },
- { "max-load", optional_argument, 0, 'l' },
- { "dry-run", no_argument, 0, 'n' },
- { "recon", no_argument, 0, 'n' },
- { "makefile", required_argument, 0, 'f' },
+ { "quiet", no_argument, 0, 's' },
+ { "stop", no_argument, 0, 'S' },
+ { "new-file", required_argument, 0, 'W' },
+ { "assume-new", required_argument, 0, 'W' },
+ { "assume-old", required_argument, 0, 'o' },
+ { "max-load", optional_argument, 0, 'l' },
+ { "dry-run", no_argument, 0, 'n' },
+ { "recon", no_argument, 0, 'n' },
+ { "makefile", required_argument, 0, 'f' },
};
/* List of goal targets. */
@@ -458,7 +480,13 @@ static struct command_variable *command_variables;
/* The name we were invoked with. */
+#ifdef WINDOWS32
+/* On MS-Windows, we chop off the .exe suffix in 'main', so this
+ cannot be 'const'. */
char *program;
+#else
+const char *program;
+#endif
/* Our current directory before processing any -C options. */
@@ -486,7 +514,7 @@ struct variable * default_goal_var;
struct file *default_file;
-/* Nonzero if we have seen the magic `.POSIX' target.
+/* Nonzero if we have seen the magic '.POSIX' target.
This turns on pedantic compliance with POSIX.2. */
int posix_pedantic;
@@ -502,7 +530,17 @@ int second_expansion;
int one_shell;
-/* Nonzero if we have seen the `.NOTPARALLEL' target.
+/* One of OUTPUT_SYNC_* if the "--output-sync" option was given. This
+ attempts to synchronize the output of parallel jobs such that the results
+ of each job stay together. */
+
+int output_sync = OUTPUT_SYNC_NONE;
+
+/* Nonzero if the "--trace" option was given. */
+
+int trace_flag = 0;
+
+/* Nonzero if we have seen the '.NOTPARALLEL' target.
This turns off parallel builds for this invocation of make. */
int not_parallel;
@@ -512,13 +550,25 @@ int not_parallel;
warning at the end of the run. */
int clock_skew_detected;
+
+/* Map of possible stop characters for searching strings. */
+#ifndef UCHAR_MAX
+# define UCHAR_MAX 255
+#endif
+unsigned short stopchar_map[UCHAR_MAX + 1] = {0};
+
+/* If output-sync is enabled we'll collect all the output generated due to
+ options, while reading makefiles, etc. */
+
+struct output make_sync;
+
/* Mask of signals that are being caught with fatal_error_signal. */
-#ifdef POSIX
+#ifdef POSIX
sigset_t fatal_signal_set;
#else
-# ifdef HAVE_SIGSETMASK
+# ifdef HAVE_SIGSETMASK
int fatal_signal_mask;
# endif
#endif
@@ -554,47 +604,82 @@ initialize_global_hash_tables (void)
hash_init_function_table ();
}
+/* This character map locate stop chars when parsing GNU makefiles.
+ Each element is true if we should stop parsing on that character. */
+
+static void
+initialize_stopchar_map ()
+{
+ int i;
+
+ stopchar_map[(int)'\0'] = MAP_NUL;
+ stopchar_map[(int)'#'] = MAP_COMMENT;
+ stopchar_map[(int)';'] = MAP_SEMI;
+ stopchar_map[(int)'='] = MAP_EQUALS;
+ stopchar_map[(int)':'] = MAP_COLON;
+ stopchar_map[(int)'%'] = MAP_PERCENT;
+ stopchar_map[(int)'|'] = MAP_PIPE;
+ stopchar_map[(int)'.'] = MAP_DOT | MAP_USERFUNC;
+ stopchar_map[(int)','] = MAP_COMMA;
+ stopchar_map[(int)'$'] = MAP_VARIABLE;
+
+ stopchar_map[(int)'-'] = MAP_USERFUNC;
+ stopchar_map[(int)'_'] = MAP_USERFUNC;
+
+ stopchar_map[(int)'/'] = MAP_DIRSEP;
+#if defined(VMS)
+ stopchar_map[(int)']'] = MAP_DIRSEP;
+#elif defined(HAVE_DOS_PATHS)
+ stopchar_map[(int)'\\'] = MAP_DIRSEP;
+#endif
+
+ for (i = 1; i <= UCHAR_MAX; ++i)
+ {
+ if (isblank(i))
+ stopchar_map[i] = MAP_BLANK;
+ if (isspace(i))
+ stopchar_map[i] |= MAP_SPACE;
+ if (isalnum(i))
+ stopchar_map[i] = MAP_USERFUNC;
+ }
+}
+
static const char *
-expand_command_line_file (char *name)
+expand_command_line_file (const char *name)
{
const char *cp;
char *expanded = 0;
if (name[0] == '\0')
- fatal (NILF, _("empty string invalid as file name"));
+ O (fatal, NILF, _("empty string invalid as file name"));
if (name[0] == '~')
{
expanded = tilde_expand (name);
- if (expanded != 0)
- name = expanded;
+ if (expanded && expanded[0] != '\0')
+ name = expanded;
}
/* This is also done in parse_file_seq, so this is redundant
for names read from makefiles. It is here for names passed
on the command line. */
- while (name[0] == '.' && name[1] == '/' && name[2] != '\0')
+ while (name[0] == '.' && name[1] == '/')
{
name += 2;
- while (*name == '/')
- /* Skip following slashes: ".//foo" is "foo", not "/foo". */
- ++name;
+ while (name[0] == '/')
+ /* Skip following slashes: ".//foo" is "foo", not "/foo". */
+ ++name;
}
- if (*name == '\0')
+ if (name[0] == '\0')
{
- /* It was all slashes! Move back to the dot and truncate
- it after the first slash, so it becomes just "./". */
- do
- --name;
- while (name[0] != '.');
- name[2] = '\0';
+ /* Nothing else but one or more "./", maybe plus slashes! */
+ name = "./";
}
cp = strcache_add (name);
- if (expanded)
- free (expanded);
+ free (expanded);
return cp;
}
@@ -617,52 +702,105 @@ decode_debug_flags (void)
if (debug_flag)
db_level = DB_ALL;
- if (!db_flags)
- return;
+ if (db_flags)
+ for (pp=db_flags->list; *pp; ++pp)
+ {
+ const char *p = *pp;
- for (pp=db_flags->list; *pp; ++pp)
- {
- const char *p = *pp;
+ while (1)
+ {
+ switch (tolower (p[0]))
+ {
+ case 'a':
+ db_level |= DB_ALL;
+ break;
+ case 'b':
+ db_level |= DB_BASIC;
+ break;
+ case 'i':
+ db_level |= DB_BASIC | DB_IMPLICIT;
+ break;
+ case 'j':
+ db_level |= DB_JOBS;
+ break;
+ case 'm':
+ db_level |= DB_BASIC | DB_MAKEFILES;
+ break;
+ case 'n':
+ db_level = 0;
+ break;
+ case 'v':
+ db_level |= DB_BASIC | DB_VERBOSE;
+ break;
+ default:
+ OS (fatal, NILF,
+ _("unknown debug level specification '%s'"), p);
+ }
- while (1)
- {
- switch (tolower (p[0]))
- {
- case 'a':
- db_level |= DB_ALL;
- break;
- case 'b':
- db_level |= DB_BASIC;
- break;
- case 'i':
- db_level |= DB_BASIC | DB_IMPLICIT;
- break;
- case 'j':
- db_level |= DB_JOBS;
- break;
- case 'm':
- db_level |= DB_BASIC | DB_MAKEFILES;
- break;
- case 'v':
- db_level |= DB_BASIC | DB_VERBOSE;
- break;
- default:
- fatal (NILF, _("unknown debug level specification `%s'"), p);
- }
+ while (*(++p) != '\0')
+ if (*p == ',' || *p == ' ')
+ {
+ ++p;
+ break;
+ }
- while (*(++p) != '\0')
- if (*p == ',' || *p == ' ')
+ if (*p == '\0')
break;
+ }
+ }
- if (*p == '\0')
- break;
+ if (db_level)
+ verify_flag = 1;
- ++p;
- }
+ if (! db_level)
+ debug_flag = 0;
+}
+
+static void
+decode_output_sync_flags (void)
+{
+ if (output_sync_option)
+ {
+ if (streq (output_sync_option, "none"))
+ output_sync = OUTPUT_SYNC_NONE;
+ else if (streq (output_sync_option, "line"))
+ output_sync = OUTPUT_SYNC_LINE;
+ else if (streq (output_sync_option, "target"))
+ output_sync = OUTPUT_SYNC_TARGET;
+ else if (streq (output_sync_option, "recurse"))
+ output_sync = OUTPUT_SYNC_RECURSE;
+ else
+ OS (fatal, NILF,
+ _("unknown output-sync type '%s'"), output_sync_option);
}
+
+ if (sync_mutex)
+ RECORD_SYNC_MUTEX (sync_mutex);
}
#ifdef WINDOWS32
+
+#ifndef NO_OUTPUT_SYNC
+
+/* This is called from start_job_command when it detects that
+ output_sync option is in effect. The handle to the synchronization
+ mutex is passed, as a string, to sub-makes via the --sync-mutex
+ command-line argument. */
+void
+prepare_mutex_handle_string (sync_handle_t handle)
+{
+ if (!sync_mutex)
+ {
+ /* Prepare the mutex handle string for our children. */
+ /* 2 hex digits per byte + 2 characters for "0x" + null. */
+ sync_mutex = xmalloc ((2 * sizeof (sync_handle_t)) + 2 + 1);
+ sprintf (sync_mutex, "0x%Ix", handle);
+ define_makeflags (1, 0);
+ }
+}
+
+#endif /* NO_OUTPUT_SYNC */
+
/*
* HANDLE runtime exceptions by avoiding a requestor on the GUI. Capture
* exception and print it to stderr instead.
@@ -673,11 +811,11 @@ decode_debug_flags (void)
* debuggers can attach.
*/
LONG WINAPI
-handle_runtime_exceptions( struct _EXCEPTION_POINTERS *exinfo )
+handle_runtime_exceptions (struct _EXCEPTION_POINTERS *exinfo)
{
PEXCEPTION_RECORD exrec = exinfo->ExceptionRecord;
- LPSTR cmdline = GetCommandLine();
- LPSTR prg = strtok(cmdline, " ");
+ LPSTR cmdline = GetCommandLine ();
+ LPSTR prg = strtok (cmdline, " ");
CHAR errmsg[1024];
#ifdef USE_EVENT_LOG
HANDLE hEventSource;
@@ -686,54 +824,54 @@ handle_runtime_exceptions( struct _EXCEPTION_POINTERS *exinfo )
if (! ISDB (DB_VERBOSE))
{
- sprintf(errmsg,
- _("%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"),
- prg, exrec->ExceptionCode, exrec->ExceptionAddress);
- fprintf(stderr, errmsg);
- exit(255);
+ sprintf (errmsg,
+ _("%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"),
+ prg, exrec->ExceptionCode, exrec->ExceptionAddress);
+ fprintf (stderr, errmsg);
+ exit (255);
}
- sprintf(errmsg,
- _("\nUnhandled exception filter called from program %s\nExceptionCode = %lx\nExceptionFlags = %lx\nExceptionAddress = 0x%p\n"),
- prg, exrec->ExceptionCode, exrec->ExceptionFlags,
- exrec->ExceptionAddress);
+ sprintf (errmsg,
+ _("\nUnhandled exception filter called from program %s\nExceptionCode = %lx\nExceptionFlags = %lx\nExceptionAddress = 0x%p\n"),
+ prg, exrec->ExceptionCode, exrec->ExceptionFlags,
+ exrec->ExceptionAddress);
if (exrec->ExceptionCode == EXCEPTION_ACCESS_VIOLATION
&& exrec->NumberParameters >= 2)
- sprintf(&errmsg[strlen(errmsg)],
- (exrec->ExceptionInformation[0]
- ? _("Access violation: write operation at address 0x%p\n")
- : _("Access violation: read operation at address 0x%p\n")),
- (PVOID)exrec->ExceptionInformation[1]);
+ sprintf (&errmsg[strlen(errmsg)],
+ (exrec->ExceptionInformation[0]
+ ? _("Access violation: write operation at address 0x%p\n")
+ : _("Access violation: read operation at address 0x%p\n")),
+ (PVOID)exrec->ExceptionInformation[1]);
/* turn this on if we want to put stuff in the event log too */
#ifdef USE_EVENT_LOG
- hEventSource = RegisterEventSource(NULL, "GNU Make");
+ hEventSource = RegisterEventSource (NULL, "GNU Make");
lpszStrings[0] = errmsg;
if (hEventSource != NULL)
{
- ReportEvent(hEventSource, /* handle of event source */
- EVENTLOG_ERROR_TYPE, /* event type */
- 0, /* event category */
- 0, /* event ID */
- NULL, /* current user's SID */
- 1, /* strings in lpszStrings */
- 0, /* no bytes of raw data */
- lpszStrings, /* array of error strings */
- NULL); /* no raw data */
-
- (VOID) DeregisterEventSource(hEventSource);
+ ReportEvent (hEventSource, /* handle of event source */
+ EVENTLOG_ERROR_TYPE, /* event type */
+ 0, /* event category */
+ 0, /* event ID */
+ NULL, /* current user's SID */
+ 1, /* strings in lpszStrings */
+ 0, /* no bytes of raw data */
+ lpszStrings, /* array of error strings */
+ NULL); /* no raw data */
+
+ (VOID) DeregisterEventSource (hEventSource);
}
#endif
/* Write the error to stderr too */
- fprintf(stderr, errmsg);
+ fprintf (stderr, errmsg);
#ifdef DEBUG
return EXCEPTION_CONTINUE_SEARCH;
#else
- exit(255);
+ exit (255);
return (255); /* not reached */
#endif
}
@@ -741,7 +879,7 @@ handle_runtime_exceptions( struct _EXCEPTION_POINTERS *exinfo )
/*
* On WIN32 systems we don't have the luxury of a /bin directory that
* is mapped globally to every drive mounted to the system. Since make could
- * be invoked from any drive, and we don't want to propogate /bin/sh
+ * be invoked from any drive, and we don't want to propagate /bin/sh
* to every single drive. Allow ourselves a chance to search for
* a value for default shell here (if the default path does not exist).
*/
@@ -751,15 +889,15 @@ find_and_set_default_shell (const char *token)
{
int sh_found = 0;
char *atoken = 0;
- char *search_token;
- char *tokend;
+ const char *search_token;
+ const char *tokend;
PATH_VAR(sh_path);
- extern char *default_shell;
+ extern const char *default_shell;
if (!token)
search_token = default_shell;
else
- atoken = search_token = xstrdup (token);
+ search_token = atoken = xstrdup (token);
/* If the user explicitly requests the DOS cmd shell, obey that request.
However, make sure that's what they really want by requiring the value
@@ -773,82 +911,98 @@ find_and_set_default_shell (const char *token)
|| ((tokend - 4 == search_token
|| (tokend - 4 > search_token
&& (tokend[-5] == '/' || tokend[-5] == '\\')))
- && !strcasecmp (tokend - 4, "cmd.exe"))) {
- batch_mode_shell = 1;
- unixy_shell = 0;
- sprintf (sh_path, "%s", search_token);
- default_shell = xstrdup (w32ify (sh_path, 0));
- DB (DB_VERBOSE, (_("find_and_set_shell() setting default_shell = %s\n"),
- default_shell));
- sh_found = 1;
- } else if (!no_default_sh_exe &&
- (token == NULL || !strcmp (search_token, default_shell))) {
- /* no new information, path already set or known */
- sh_found = 1;
- } else if (file_exists_p (search_token)) {
- /* search token path was found */
- sprintf (sh_path, "%s", search_token);
- default_shell = xstrdup (w32ify (sh_path, 0));
- DB (DB_VERBOSE, (_("find_and_set_shell() setting default_shell = %s\n"),
- default_shell));
- sh_found = 1;
- } else {
- char *p;
- struct variable *v = lookup_variable (STRING_SIZE_TUPLE ("PATH"));
-
- /* Search Path for shell */
- if (v && v->value) {
- char *ep;
-
- p = v->value;
- ep = strchr (p, PATH_SEPARATOR_CHAR);
-
- while (ep && *ep) {
- *ep = '\0';
-
- if (dir_file_exists_p (p, search_token)) {
- sprintf (sh_path, "%s/%s", p, search_token);
- default_shell = xstrdup (w32ify (sh_path, 0));
- sh_found = 1;
- *ep = PATH_SEPARATOR_CHAR;
-
- /* terminate loop */
- p += strlen (p);
- } else {
- *ep = PATH_SEPARATOR_CHAR;
- p = ++ep;
- }
+ && !strcasecmp (tokend - 4, "cmd.exe")))
+ {
+ batch_mode_shell = 1;
+ unixy_shell = 0;
+ sprintf (sh_path, "%s", search_token);
+ default_shell = xstrdup (w32ify (sh_path, 0));
+ DB (DB_VERBOSE, (_("find_and_set_shell() setting default_shell = %s\n"),
+ default_shell));
+ sh_found = 1;
+ }
+ else if (!no_default_sh_exe
+ && (token == NULL || !strcmp (search_token, default_shell)))
+ {
+ /* no new information, path already set or known */
+ sh_found = 1;
+ }
+ else if (_access (search_token, 0) == 0)
+ {
+ /* search token path was found */
+ sprintf (sh_path, "%s", search_token);
+ default_shell = xstrdup (w32ify (sh_path, 0));
+ DB (DB_VERBOSE, (_("find_and_set_shell() setting default_shell = %s\n"),
+ default_shell));
+ sh_found = 1;
+ }
+ else
+ {
+ char *p;
+ struct variable *v = lookup_variable (STRING_SIZE_TUPLE ("PATH"));
- ep = strchr (p, PATH_SEPARATOR_CHAR);
- }
+ /* Search Path for shell */
+ if (v && v->value)
+ {
+ char *ep;
- /* be sure to check last element of Path */
- if (p && *p && dir_file_exists_p (p, search_token)) {
- sprintf (sh_path, "%s/%s", p, search_token);
- default_shell = xstrdup (w32ify (sh_path, 0));
- sh_found = 1;
- }
+ p = v->value;
+ ep = strchr (p, PATH_SEPARATOR_CHAR);
+
+ while (ep && *ep)
+ {
+ *ep = '\0';
+
+ sprintf (sh_path, "%s/%s", p, search_token);
+ if (_access (sh_path, 0) == 0)
+ {
+ default_shell = xstrdup (w32ify (sh_path, 0));
+ sh_found = 1;
+ *ep = PATH_SEPARATOR_CHAR;
+
+ /* terminate loop */
+ p += strlen (p);
+ }
+ else
+ {
+ *ep = PATH_SEPARATOR_CHAR;
+ p = ++ep;
+ }
+
+ ep = strchr (p, PATH_SEPARATOR_CHAR);
+ }
+
+ /* be sure to check last element of Path */
+ if (p && *p)
+ {
+ sprintf (sh_path, "%s/%s", p, search_token);
+ if (_access (sh_path, 0) == 0)
+ {
+ default_shell = xstrdup (w32ify (sh_path, 0));
+ sh_found = 1;
+ }
+ }
- if (sh_found)
- DB (DB_VERBOSE,
- (_("find_and_set_shell() path search set default_shell = %s\n"),
- default_shell));
+ if (sh_found)
+ DB (DB_VERBOSE,
+ (_("find_and_set_shell() path search set default_shell = %s\n"),
+ default_shell));
+ }
}
- }
/* naive test */
- if (!unixy_shell && sh_found &&
- (strstr (default_shell, "sh") || strstr (default_shell, "SH"))) {
- unixy_shell = 1;
- batch_mode_shell = 0;
- }
+ if (!unixy_shell && sh_found
+ && (strstr (default_shell, "sh") || strstr (default_shell, "SH")))
+ {
+ unixy_shell = 1;
+ batch_mode_shell = 0;
+ }
#ifdef BATCH_MODE_ONLY_SHELL
batch_mode_shell = 1;
#endif
- if (atoken)
- free (atoken);
+ free (atoken);
return (sh_found);
}
@@ -863,51 +1017,6 @@ msdos_return_to_initial_directory (void)
}
#endif /* __MSDOS__ */
-char *mktemp (char *template);
-int mkstemp (char *template);
-
-FILE *
-open_tmpfile(char **name, const char *template)
-{
-#ifdef HAVE_FDOPEN
- int fd;
-#endif
-
-#if defined HAVE_MKSTEMP || defined HAVE_MKTEMP
-# define TEMPLATE_LEN strlen (template)
-#else
-# define TEMPLATE_LEN L_tmpnam
-#endif
- *name = xmalloc (TEMPLATE_LEN + 1);
- strcpy (*name, template);
-
-#if defined HAVE_MKSTEMP && defined HAVE_FDOPEN
- /* It's safest to use mkstemp(), if we can. */
- fd = mkstemp (*name);
- if (fd == -1)
- return 0;
- return fdopen (fd, "w");
-#else
-# ifdef HAVE_MKTEMP
- (void) mktemp (*name);
-# else
- (void) tmpnam (*name);
-# endif
-
-# ifdef HAVE_FDOPEN
- /* Can't use mkstemp(), but guard against a race condition. */
- fd = open (*name, O_CREAT|O_EXCL|O_WRONLY, 0600);
- if (fd == -1)
- return 0;
- return fdopen (fd, "w");
-# else
- /* Not secure, but what can we do? */
- return fopen (*name, "w");
-# endif
-#endif
-}
-
-
#ifdef _AMIGA
int
main (int argc, char **argv)
@@ -918,20 +1027,25 @@ main (int argc, char **argv, char **envp)
{
static char *stdin_nm = 0;
int makefile_status = MAKE_SUCCESS;
- struct dep *read_makefiles;
+ struct dep *read_files;
PATH_VAR (current_directory);
unsigned int restarts = 0;
+ unsigned int syncing = 0;
#ifdef WINDOWS32
- char *unix_path = NULL;
- char *windows32_path = NULL;
+ const char *unix_path = NULL;
+ const char *windows32_path = NULL;
- SetUnhandledExceptionFilter(handle_runtime_exceptions);
+ SetUnhandledExceptionFilter (handle_runtime_exceptions);
/* start off assuming we have no shell */
unixy_shell = 0;
no_default_sh_exe = 1;
#endif
+ output_init (&make_sync);
+
+ initialize_stopchar_map();
+
#ifdef SET_STACK_SIZE
/* Get rid of any avoidable limit on stack size. */
{
@@ -950,24 +1064,23 @@ main (int argc, char **argv, char **envp)
}
#endif
-#ifdef HAVE_ATEXIT
- atexit (close_stdout);
-#endif
-
/* Needed for OS/2 */
- initialize_main(&argc, &argv);
+ initialize_main (&argc, &argv);
- reading_file = 0;
+#ifdef MAKE_MAINTAINER_MODE
+ /* In maintainer mode we always enable verification. */
+ verify_flag = 1;
+#endif
#if defined (__MSDOS__) && !defined (_POSIX_SOURCE)
- /* Request the most powerful version of `system', to
+ /* Request the most powerful version of 'system', to
make up for the dumb default shell. */
__system_flags = (__system_redirect
- | __system_use_shell
- | __system_allow_multiple_cmds
- | __system_allow_long_cmds
- | __system_handle_null_commands
- | __system_emulate_chdir);
+ | __system_use_shell
+ | __system_allow_multiple_cmds
+ | __system_allow_long_cmds
+ | __system_handle_null_commands
+ | __system_emulate_chdir);
#endif
@@ -978,22 +1091,22 @@ main (int argc, char **argv, char **envp)
(void)bindtextdomain (PACKAGE, LOCALEDIR);
(void)textdomain (PACKAGE);
-#ifdef POSIX
+#ifdef POSIX
sigemptyset (&fatal_signal_set);
-#define ADD_SIG(sig) sigaddset (&fatal_signal_set, sig)
+#define ADD_SIG(sig) sigaddset (&fatal_signal_set, sig)
#else
-#ifdef HAVE_SIGSETMASK
+#ifdef HAVE_SIGSETMASK
fatal_signal_mask = 0;
-#define ADD_SIG(sig) fatal_signal_mask |= sigmask (sig)
+#define ADD_SIG(sig) fatal_signal_mask |= sigmask (sig)
#else
-#define ADD_SIG(sig) (void)sig /* Needed to avoid warnings in MSVC. */
+#define ADD_SIG(sig) (void)sig
#endif
#endif
-#define FATAL_SIG(sig) \
- if (bsd_signal (sig, fatal_error_signal) == SIG_IGN) \
- bsd_signal (sig, SIG_IGN); \
- else \
+#define FATAL_SIG(sig) \
+ if (bsd_signal (sig, fatal_error_signal) == SIG_IGN) \
+ bsd_signal (sig, SIG_IGN); \
+ else \
ADD_SIG (sig);
#ifdef SIGHUP
@@ -1012,7 +1125,7 @@ main (int argc, char **argv, char **envp)
FATAL_SIG (SIGFPE);
#endif
-#ifdef SIGDANGER
+#ifdef SIGDANGER
FATAL_SIG (SIGDANGER);
#endif
#ifdef SIGXCPU
@@ -1022,7 +1135,7 @@ main (int argc, char **argv, char **envp)
FATAL_SIG (SIGXFSZ);
#endif
-#undef FATAL_SIG
+#undef FATAL_SIG
/* Do not ignore the child-death signal. This must be done before
any children could possibly be created; otherwise, the wait
@@ -1038,55 +1151,39 @@ main (int argc, char **argv, char **envp)
# endif
#endif
- /* Make sure stdout is line-buffered. */
-
-#ifdef HAVE_SETVBUF
-# ifdef SETVBUF_REVERSED
- setvbuf (stdout, _IOLBF, xmalloc (BUFSIZ), BUFSIZ);
-# else /* setvbuf not reversed. */
- /* Some buggy systems lose if we pass 0 instead of allocating ourselves. */
- setvbuf (stdout, 0, _IOLBF, BUFSIZ);
-# endif /* setvbuf reversed. */
-#elif HAVE_SETLINEBUF
- setlinebuf (stdout);
-#endif /* setlinebuf missing. */
+ output_init (NULL);
/* Figure out where this program lives. */
if (argv[0] == 0)
- argv[0] = "";
+ argv[0] = (char *)"";
if (argv[0][0] == '\0')
program = "make";
else
{
-#ifdef VMS
- program = strrchr (argv[0], ']');
-#else
program = strrchr (argv[0], '/');
-#endif
#if defined(__MSDOS__) || defined(__EMX__)
if (program == 0)
- program = strrchr (argv[0], '\\');
+ program = strrchr (argv[0], '\\');
else
- {
- /* Some weird environments might pass us argv[0] with
- both kinds of slashes; we must find the rightmost. */
- char *p = strrchr (argv[0], '\\');
- if (p && p > program)
- program = p;
- }
+ {
+ /* Some weird environments might pass us argv[0] with
+ both kinds of slashes; we must find the rightmost. */
+ char *p = strrchr (argv[0], '\\');
+ if (p && p > program)
+ program = p;
+ }
if (program == 0 && argv[0][1] == ':')
- program = argv[0] + 1;
+ program = argv[0] + 1;
#endif
#ifdef WINDOWS32
if (program == 0)
{
/* Extract program from full path */
- int argv0_len;
program = strrchr (argv[0], '\\');
if (program)
{
- argv0_len = strlen(program);
+ int argv0_len = strlen (program);
if (argv0_len > 4 && streq (&program[argv0_len - 4], ".exe"))
/* Remove .exe extension */
program[argv0_len - 4] = '\0';
@@ -1094,9 +1191,13 @@ main (int argc, char **argv, char **envp)
}
#endif
if (program == 0)
- program = argv[0];
+#ifdef VMS
+ program = vms_progname(argv[0]);
+#else
+ program = argv[0];
+#endif
else
- ++program;
+ ++program;
}
/* Set up to access user data (files). */
@@ -1112,16 +1213,17 @@ main (int argc, char **argv, char **envp)
if (getcwd (current_directory, GET_PATH_MAX) == 0)
#endif
{
-#ifdef HAVE_GETCWD
+#ifdef HAVE_GETCWD
perror_with_name ("getcwd", "");
#else
- error (NILF, "getwd: %s", current_directory);
+ OS (error, NILF, "getwd: %s", current_directory);
#endif
current_directory[0] = '\0';
directory_before_chdir = 0;
}
else
directory_before_chdir = xstrdup (current_directory);
+
#ifdef __MSDOS__
/* Make sure we will return to the initial directory, come what may. */
atexit (msdos_return_to_initial_directory);
@@ -1134,25 +1236,37 @@ main (int argc, char **argv, char **envp)
define_variable_cname (".SHELLFLAGS", "-c", o_default, 0);
/* Set up .FEATURES
- We must do this in multiple calls because define_variable_cname() is
- a macro and some compilers (MSVC) don't like conditionals in macros. */
+ Use a separate variable because define_variable_cname() is a macro and
+ some compilers (MSVC) don't like conditionals in macros. */
{
const char *features = "target-specific order-only second-expansion"
- " else-if shortest-stem undefine"
+ " else-if shortest-stem undefine oneshell"
#ifndef NO_ARCHIVES
" archives"
#endif
#ifdef MAKE_JOBSERVER
" jobserver"
#endif
+#ifndef NO_OUTPUT_SYNC
+ " output-sync"
+#endif
#ifdef MAKE_SYMLINKS
" check-symlink"
#endif
+#ifdef HAVE_GUILE
+ " guile"
+#endif
+#ifdef MAKE_LOAD
+ " load"
+#endif
;
define_variable_cname (".FEATURES", features, o_default, 0);
}
+ /* Configure GNU Guile support */
+ guile_gmake_setup (NILF);
+
/* Read in variables from the environment. It is important that this be
done before $(MAKE) is figured out so its definitions will not be
from the environment. */
@@ -1163,62 +1277,67 @@ main (int argc, char **argv, char **envp)
for (i = 0; envp[i] != 0; ++i)
{
- int do_not_define = 0;
- char *ep = envp[i];
+ struct variable *v;
+ const char *ep = envp[i];
+ /* By default, export all variables culled from the environment. */
+ enum variable_export export = v_export;
+ unsigned int len;
- while (*ep != '\0' && *ep != '=')
+ while (! STOP_SET (*ep, MAP_EQUALS))
++ep;
+
+ /* If there's no equals sign it's a malformed environment. Ignore. */
+ if (*ep == '\0')
+ continue;
+
#ifdef WINDOWS32
- if (!unix_path && strneq(envp[i], "PATH=", 5))
+ if (!unix_path && strneq (envp[i], "PATH=", 5))
unix_path = ep+1;
- else if (!strnicmp(envp[i], "Path=", 5)) {
- do_not_define = 1; /* it gets defined after loop exits */
- if (!windows32_path)
- windows32_path = ep+1;
- }
-#endif
- /* The result of pointer arithmetic is cast to unsigned int for
- machines where ptrdiff_t is a different size that doesn't widen
- the same. */
- if (!do_not_define)
+ else if (!strnicmp (envp[i], "Path=", 5))
{
- struct variable *v;
-
- v = define_variable (envp[i], (unsigned int) (ep - envp[i]),
- ep + 1, o_env, 1);
- /* Force exportation of every variable culled from the
- environment. We used to rely on target_environment's
- v_default code to do this. But that does not work for the
- case where an environment variable is redefined in a makefile
- with `override'; it should then still be exported, because it
- was originally in the environment. */
- v->export = v_export;
-
- /* Another wrinkle is that POSIX says the value of SHELL set in
- the makefile won't change the value of SHELL given to
- subprocesses. */
- if (streq (v->name, "SHELL"))
- {
-#ifndef __MSDOS__
- v->export = v_noexport;
+ if (!windows32_path)
+ windows32_path = ep+1;
+ /* PATH gets defined after the loop exits. */
+ continue;
+ }
#endif
- shell_var.name = "SHELL";
- shell_var.length = 5;
- shell_var.value = xstrdup (ep + 1);
- }
- /* If MAKE_RESTARTS is set, remember it but don't export it. */
- if (streq (v->name, "MAKE_RESTARTS"))
+ /* Length of the variable name, and skip the '='. */
+ len = ep++ - envp[i];
+
+ /* If this is MAKE_RESTARTS, check to see if the "already printed
+ the enter statement" flag is set. */
+ if (len == 13 && strneq (envp[i], "MAKE_RESTARTS", 13))
+ {
+ if (*ep == '-')
{
- v->export = v_noexport;
- restarts = (unsigned int) atoi (ep + 1);
+ OUTPUT_TRACED ();
+ ++ep;
}
+ restarts = (unsigned int) atoi (ep);
+ export = v_noexport;
+ }
+
+ v = define_variable (envp[i], len, ep, o_env, 1);
+
+ /* POSIX says the value of SHELL set in the makefile won't change the
+ value of SHELL given to subprocesses. */
+ if (streq (v->name, "SHELL"))
+ {
+#ifndef __MSDOS__
+ export = v_noexport;
+#endif
+ shell_var.name = xstrdup ("SHELL");
+ shell_var.length = 5;
+ shell_var.value = xstrdup (ep);
}
+
+ v->export = export;
}
}
#ifdef WINDOWS32
/* If we didn't find a correctly spelled PATH we define PATH as
- * either the first mispelled value or an empty string
+ * either the first misspelled value or an empty string
*/
if (!unix_path)
define_variable_cname ("PATH", windows32_path ? windows32_path : "",
@@ -1226,38 +1345,49 @@ main (int argc, char **argv, char **envp)
#endif
#else /* For Amiga, read the ENV: device, ignoring all dirs */
{
- BPTR env, file, old;
- char buffer[1024];
- int len;
- __aligned struct FileInfoBlock fib;
-
- env = Lock ("ENV:", ACCESS_READ);
- if (env)
- {
- old = CurrentDir (DupLock(env));
- Examine (env, &fib);
-
- while (ExNext (env, &fib))
- {
- if (fib.fib_DirEntryType < 0) /* File */
- {
- /* Define an empty variable. It will be filled in
- variable_lookup(). Makes startup quite a bit
- faster. */
- define_variable (fib.fib_FileName,
- strlen (fib.fib_FileName),
- "", o_env, 1)->export = v_export;
- }
- }
- UnLock (env);
- UnLock(CurrentDir(old));
- }
+ BPTR env, file, old;
+ char buffer[1024];
+ int len;
+ __aligned struct FileInfoBlock fib;
+
+ env = Lock ("ENV:", ACCESS_READ);
+ if (env)
+ {
+ old = CurrentDir (DupLock (env));
+ Examine (env, &fib);
+
+ while (ExNext (env, &fib))
+ {
+ if (fib.fib_DirEntryType < 0) /* File */
+ {
+ /* Define an empty variable. It will be filled in
+ variable_lookup(). Makes startup quite a bit faster. */
+ define_variable (fib.fib_FileName,
+ strlen (fib.fib_FileName),
+ "", o_env, 1)->export = v_export;
+ }
+ }
+ UnLock (env);
+ UnLock (CurrentDir (old));
+ }
}
#endif
/* Decode the switches. */
+ decode_env_switches (STRING_SIZE_TUPLE ("GNUMAKEFLAGS"));
+
+ /* Clear GNUMAKEFLAGS to avoid duplication. */
+ define_variable_cname ("GNUMAKEFLAGS", "", o_env, 0);
decode_env_switches (STRING_SIZE_TUPLE ("MAKEFLAGS"));
+
+ /* In output sync mode we need to sync any output generated by reading the
+ makefiles, such as in $(info ...) or stderr from $(shell ...) etc. */
+
+ syncing = make_sync.syncout = (output_sync == OUTPUT_SYNC_LINE
+ || output_sync == OUTPUT_SYNC_TARGET);
+ OUTPUT_SET (&make_sync);
+
#if 0
/* People write things like:
MFLAGS="CC=gcc -pipe" "CFLAGS=-g"
@@ -1265,32 +1395,63 @@ main (int argc, char **argv, char **envp)
decode_env_switches (STRING_SIZE_TUPLE ("MFLAGS"));
#endif
- decode_switches (argc, argv, 0);
+ decode_switches (argc, (const char **)argv, 0);
-#ifdef WINDOWS32
- if (suspend_flag) {
- fprintf(stderr, "%s (pid = %ld)\n", argv[0], GetCurrentProcessId());
- fprintf(stderr, _("%s is suspending for 30 seconds..."), argv[0]);
- Sleep(30 * 1000);
- fprintf(stderr, _("done sleep(30). Continuing.\n"));
- }
+ /* 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")))
+ define_variable_cname ("MAKE_TERMOUT", TTYNAME (fileno (stdout)),
+ o_default, 0)->export = v_export;
+
+ if (isatty (fileno (stderr)))
+ if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMERR")))
+ define_variable_cname ("MAKE_TERMERR", TTYNAME (fileno (stderr)),
+ o_default, 0)->export = v_export;
#endif
- decode_debug_flags ();
+ /* Reset in case the switches changed our minds. */
+ syncing = (output_sync == OUTPUT_SYNC_LINE
+ || output_sync == OUTPUT_SYNC_TARGET);
+
+ if (make_sync.syncout && ! syncing)
+ output_close (&make_sync);
+
+ make_sync.syncout = syncing;
+ OUTPUT_SET (&make_sync);
+
+ /* Figure out the level of recursion. */
+ {
+ struct variable *v = lookup_variable (STRING_SIZE_TUPLE (MAKELEVEL_NAME));
+ if (v && v->value[0] != '\0' && v->value[0] != '-')
+ makelevel = (unsigned int) atoi (v->value);
+ else
+ makelevel = 0;
+ }
+
+#ifdef WINDOWS32
+ if (suspend_flag)
+ {
+ fprintf (stderr, "%s (pid = %ld)\n", argv[0], GetCurrentProcessId ());
+ fprintf (stderr, _("%s is suspending for 30 seconds..."), argv[0]);
+ Sleep (30 * 1000);
+ fprintf (stderr, _("done sleep(30). Continuing.\n"));
+ }
+#endif
/* Set always_make_flag if -B was given and we've not restarted already. */
always_make_flag = always_make_set && (restarts == 0);
- /* Print version information. */
- if (print_version_flag || print_data_base_flag || db_level)
+ /* Print version information, and exit. */
+ if (print_version_flag)
{
print_version ();
-
- /* `make --version' is supposed to just print the version and exit. */
- if (print_version_flag)
- die (0);
+ die (MAKE_SUCCESS);
}
+ if (ISDB (DB_BASIC))
+ print_version ();
+
#ifndef VMS
/* Set the "MAKE_COMMAND" variable to the name we were invoked with.
(If it is a relative pathname with a slash, prepend our directory name
@@ -1304,10 +1465,9 @@ main (int argc, char **argv, char **envp)
* matter if the path is one way or the other for
* CreateProcess().
*/
- if (strpbrk(argv[0], "/:\\") ||
- strstr(argv[0], "..") ||
- strneq(argv[0], "//", 2))
- argv[0] = xstrdup(w32ify(argv[0],1));
+ if (strpbrk (argv[0], "/:\\") || strstr (argv[0], "..")
+ || strneq (argv[0], "//", 2))
+ argv[0] = xstrdup (w32ify (argv[0], 1));
#else /* WINDOWS32 */
#if defined (__MSDOS__) || defined (__EMX__)
if (strchr (argv[0], '\\'))
@@ -1316,8 +1476,8 @@ main (int argc, char **argv, char **envp)
argv[0] = xstrdup (argv[0]);
for (p = argv[0]; *p; p++)
- if (*p == '\\')
- *p = '/';
+ if (*p == '\\')
+ *p = '/';
}
/* If argv[0] is not in absolute form, prepend the current
directory. This can happen when Make is invoked by another DJGPP
@@ -1344,9 +1504,100 @@ main (int argc, char **argv, char **envp)
#endif /* WINDOWS32 */
#endif
+ /* We may move, but until we do, here we are. */
+ starting_directory = current_directory;
+
+#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_fds)
+ {
+ /* Make sure the jobserver option has the proper format. */
+ const char *cp = jobserver_fds;
+
+#ifdef WINDOWS32
+ if (! open_jobserver_semaphore (cp))
+ {
+ 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
+
+ /* 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"));
+
+ 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;
+
+ free (jobserver_fds);
+ jobserver_fds = 0;
+ }
+ }
+#endif
+
/* The extra indirection through $(MAKE_COMMAND) is done
for hysterical raisins. */
+#ifdef VMS
+ define_variable_cname("MAKE_COMMAND", vms_command(argv[0]), o_default, 0);
+#else
define_variable_cname ("MAKE_COMMAND", argv[0], o_default, 0);
+#endif
define_variable_cname ("MAKE", "$(MAKE_COMMAND)", o_default, 1);
if (command_variables != 0)
@@ -1357,34 +1608,34 @@ main (int argc, char **argv, char **envp)
char *value, *p;
/* Figure out how much space will be taken up by the command-line
- variable definitions. */
+ variable definitions. */
for (cv = command_variables; cv != 0; cv = cv->next)
- {
- v = cv->variable;
- len += 2 * strlen (v->name);
- if (! v->recursive)
- ++len;
- ++len;
- len += 2 * strlen (v->value);
- ++len;
- }
+ {
+ v = cv->variable;
+ len += 2 * strlen (v->name);
+ if (! v->recursive)
+ ++len;
+ ++len;
+ len += 2 * strlen (v->value);
+ ++len;
+ }
/* Now allocate a buffer big enough and fill it. */
p = value = alloca (len);
for (cv = command_variables; cv != 0; cv = cv->next)
- {
- v = cv->variable;
- p = quote_for_env (p, v->name);
- if (! v->recursive)
- *p++ = ':';
- *p++ = '=';
- p = quote_for_env (p, v->value);
- *p++ = ' ';
- }
- p[-1] = '\0'; /* Kill the final space and terminate. */
+ {
+ v = cv->variable;
+ p = quote_for_env (p, v->name);
+ if (! v->recursive)
+ *p++ = ':';
+ *p++ = '=';
+ p = quote_for_env (p, v->value);
+ *p++ = ' ';
+ }
+ p[-1] = '\0'; /* Kill the final space and terminate. */
/* Define an unchangeable variable with a name that no POSIX.2
- makefile could validly use for its own variable. */
+ makefile could validly use for its own variable. */
define_variable_cname ("-*-command-variables-*-", value, o_automatic, 0);
/* Define the variable; this will not override any user definition.
@@ -1429,17 +1680,8 @@ main (int argc, char **argv, char **envp)
* lookups to fail because the current directory (.) was pointing
* at the wrong place when it was first evaluated.
*/
- no_default_sh_exe = !find_and_set_default_shell(NULL);
-
+ no_default_sh_exe = !find_and_set_default_shell (NULL);
#endif /* WINDOWS32 */
- /* Figure out the level of recursion. */
- {
- struct variable *v = lookup_variable (STRING_SIZE_TUPLE (MAKELEVEL_NAME));
- if (v != 0 && v->value[0] != '\0' && v->value[0] != '-')
- makelevel = (unsigned int) atoi (v->value);
- else
- makelevel = 0;
- }
/* Except under -s, always do -w in sub-makes and under -C. */
if (!silent_flag && (directories != 0 || makelevel > 0))
@@ -1458,27 +1700,24 @@ main (int argc, char **argv, char **envp)
construct_include_path (include_directories == 0
? 0 : include_directories->list);
- /* Figure out where we are now, after chdir'ing. */
- if (directories == 0)
- /* We didn't move, so we're still in the same place. */
- starting_directory = current_directory;
- else
+ /* If we chdir'ed, figure out where we are now. */
+ if (directories)
{
#ifdef WINDOWS32
if (getcwd_fs (current_directory, GET_PATH_MAX) == 0)
#else
if (getcwd (current_directory, GET_PATH_MAX) == 0)
#endif
- {
-#ifdef HAVE_GETCWD
- perror_with_name ("getcwd", "");
+ {
+#ifdef HAVE_GETCWD
+ perror_with_name ("getcwd", "");
#else
- error (NILF, "getwd: %s", current_directory);
+ OS (error, NILF, "getwd: %s", current_directory);
#endif
- starting_directory = 0;
- }
+ starting_directory = 0;
+ }
else
- starting_directory = current_directory;
+ starting_directory = current_directory;
}
define_variable_cname ("CURDIR", current_directory, o_file, 0);
@@ -1489,16 +1728,18 @@ main (int argc, char **argv, char **envp)
{
unsigned int i;
for (i = 0; i < makefiles->idx; ++i)
- if (makefiles->list[i][0] == '-' && makefiles->list[i][1] == '\0')
- {
- /* This makefile is standard input. Since we may re-exec
- and thus re-read the makefiles, we read standard input
- into a temporary file and read from that. */
- FILE *outfile;
- char *template, *tmpdir;
+ if (makefiles->list[i][0] == '-' && makefiles->list[i][1] == '\0')
+ {
+ /* This makefile is standard input. Since we may re-exec
+ and thus re-read the makefiles, we read standard input
+ into a temporary file and read from that. */
+ FILE *outfile;
+ char *template;
+ const char *tmpdir;
if (stdin_nm)
- fatal (NILF, _("Makefile from standard input specified twice."));
+ O (fatal, NILF,
+ _("Makefile from standard input specified twice."));
#ifdef VMS
# define DEFAULT_TMPDIR "sys$scratch:"
@@ -1511,63 +1752,63 @@ main (int argc, char **argv, char **envp)
#endif
#define DEFAULT_TMPFILE "GmXXXXXX"
- if (((tmpdir = getenv ("TMPDIR")) == NULL || *tmpdir == '\0')
+ if (((tmpdir = getenv ("TMPDIR")) == NULL || *tmpdir == '\0')
#if defined (__MSDOS__) || defined (WINDOWS32) || defined (__EMX__)
/* These are also used commonly on these platforms. */
&& ((tmpdir = getenv ("TEMP")) == NULL || *tmpdir == '\0')
&& ((tmpdir = getenv ("TMP")) == NULL || *tmpdir == '\0')
#endif
)
- tmpdir = DEFAULT_TMPDIR;
+ tmpdir = DEFAULT_TMPDIR;
- template = alloca (strlen (tmpdir) + sizeof (DEFAULT_TMPFILE) + 1);
- strcpy (template, tmpdir);
+ template = alloca (strlen (tmpdir) + CSTRLEN (DEFAULT_TMPFILE) + 2);
+ strcpy (template, tmpdir);
#ifdef HAVE_DOS_PATHS
- if (strchr ("/\\", template[strlen (template) - 1]) == NULL)
- strcat (template, "/");
+ if (strchr ("/\\", template[strlen (template) - 1]) == NULL)
+ strcat (template, "/");
#else
# ifndef VMS
- if (template[strlen (template) - 1] != '/')
- strcat (template, "/");
+ if (template[strlen (template) - 1] != '/')
+ strcat (template, "/");
# endif /* !VMS */
#endif /* !HAVE_DOS_PATHS */
- strcat (template, DEFAULT_TMPFILE);
- outfile = open_tmpfile (&stdin_nm, template);
- if (outfile == 0)
- pfatal_with_name (_("fopen (temporary file)"));
- while (!feof (stdin) && ! ferror (stdin))
- {
- char buf[2048];
- unsigned int n = fread (buf, 1, sizeof (buf), stdin);
- if (n > 0 && fwrite (buf, 1, n, outfile) != n)
- pfatal_with_name (_("fwrite (temporary file)"));
- }
- fclose (outfile);
-
- /* Replace the name that read_all_makefiles will
- see with the name of the temporary file. */
+ strcat (template, DEFAULT_TMPFILE);
+ outfile = output_tmpfile (&stdin_nm, template);
+ if (outfile == 0)
+ pfatal_with_name (_("fopen (temporary file)"));
+ while (!feof (stdin) && ! ferror (stdin))
+ {
+ char buf[2048];
+ unsigned int n = fread (buf, 1, sizeof (buf), stdin);
+ if (n > 0 && fwrite (buf, 1, n, outfile) != n)
+ pfatal_with_name (_("fwrite (temporary file)"));
+ }
+ fclose (outfile);
+
+ /* Replace the name that read_all_makefiles will
+ see with the name of the temporary file. */
makefiles->list[i] = strcache_add (stdin_nm);
- /* Make sure the temporary file will not be remade. */
+ /* Make sure the temporary file will not be remade. */
{
struct file *f = enter_file (strcache_add (stdin_nm));
f->updated = 1;
- f->update_status = 0;
+ f->update_status = us_success;
f->command_state = cs_finished;
/* Can't be intermediate, or it'll be removed too early for
make re-exec. */
f->intermediate = 0;
f->dontcare = 0;
}
- }
+ }
}
#ifndef __EMX__ /* Don't use a SIGCHLD handler for OS/2 */
#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.
+ reading in the makefiles so that 'shell' function calls will work.
If we don't have a hanging wait we have to fall back to old, broken
functionality here and rely on the signal handler and counting
@@ -1596,7 +1837,6 @@ main (int argc, char **argv, char **envp)
#endif
/* Define the initial list of suffixes for old-style rules. */
-
set_default_suffixes ();
/* Define the file rules for the built-in suffix rules. These will later
@@ -1604,17 +1844,14 @@ main (int argc, char **argv, char **envp)
install_default_implicit_rules, but since that happens after reading
makefiles, it results in the built-in pattern rules taking precedence
over makefile-specified suffix rules, which is wrong. */
-
install_default_suffix_rules ();
/* Define some internal and special variables. */
-
define_automatic_variables ();
- /* Set up the MAKEFLAGS and MFLAGS variables
- so makefiles can look at them. */
-
- define_makeflags (0, 0);
+ /* Set up the MAKEFLAGS and MFLAGS variables for makefiles to see.
+ Initialize it to be exported but allow the makefile to reset it. */
+ define_makeflags (0, 0)->export = v_export;
/* Define the default variables. */
define_default_variables ();
@@ -1630,13 +1867,13 @@ main (int argc, char **argv, char **envp)
{
char *p, *value;
unsigned int i;
- unsigned int len = sizeof ("--eval=") * eval_strings->idx;
+ unsigned int len = (CSTRLEN ("--eval=") + 1) * eval_strings->idx;
for (i = 0; i < eval_strings->idx; ++i)
{
p = xstrdup (eval_strings->list[i]);
len += 2 * strlen (p);
- eval_buffer (p);
+ eval_buffer (p, NULL);
free (p);
}
@@ -1644,7 +1881,7 @@ main (int argc, char **argv, char **envp)
for (i = 0; i < eval_strings->idx; ++i)
{
strcpy (p, "--eval=");
- p += strlen (p);
+ p += CSTRLEN ("--eval=");
p = quote_for_env (p, eval_strings->list[i]);
*(p++) = ' ';
}
@@ -1655,13 +1892,12 @@ main (int argc, char **argv, char **envp)
/* Read all the makefiles. */
- read_makefiles
- = read_all_makefiles (makefiles == 0 ? 0 : makefiles->list);
+ read_files = read_all_makefiles (makefiles == 0 ? 0 : makefiles->list);
#ifdef WINDOWS32
/* look one last time after reading all Makefiles */
if (no_default_sh_exe)
- no_default_sh_exe = !find_and_set_default_shell(NULL);
+ no_default_sh_exe = !find_and_set_default_shell (NULL);
#endif /* WINDOWS32 */
#if defined (__MSDOS__) || defined (__EMX__)
@@ -1670,111 +1906,107 @@ main (int argc, char **argv, char **envp)
extern int _is_unixy_shell (const char *_path);
struct variable *shv = lookup_variable (STRING_SIZE_TUPLE ("SHELL"));
extern int unixy_shell;
- extern char *default_shell;
+ extern const char *default_shell;
if (shv && *shv->value)
{
- char *shell_path = recursively_expand(shv);
-
- if (shell_path && _is_unixy_shell (shell_path))
- unixy_shell = 1;
- else
- unixy_shell = 0;
- if (shell_path)
- default_shell = shell_path;
+ char *shell_path = recursively_expand (shv);
+
+ if (shell_path && _is_unixy_shell (shell_path))
+ unixy_shell = 1;
+ else
+ unixy_shell = 0;
+ if (shell_path)
+ default_shell = shell_path;
}
}
#endif /* __MSDOS__ || __EMX__ */
- /* Decode switches again, in case the variables were set by the makefile. */
- decode_env_switches (STRING_SIZE_TUPLE ("MAKEFLAGS"));
+ {
+ int old_builtin_rules_flag = no_builtin_rules_flag;
+ int old_builtin_variables_flag = no_builtin_variables_flag;
+
+ /* Decode switches again, for variables set by the makefile. */
+ decode_env_switches (STRING_SIZE_TUPLE ("GNUMAKEFLAGS"));
+
+ /* Clear GNUMAKEFLAGS to avoid duplication. */
+ define_variable_cname ("GNUMAKEFLAGS", "", o_override, 0);
+
+ decode_env_switches (STRING_SIZE_TUPLE ("MAKEFLAGS"));
#if 0
- decode_env_switches (STRING_SIZE_TUPLE ("MFLAGS"));
+ decode_env_switches (STRING_SIZE_TUPLE ("MFLAGS"));
#endif
-#if defined (__MSDOS__) || defined (__EMX__)
+ /* Reset in case the switches changed our mind. */
+ syncing = (output_sync == OUTPUT_SYNC_LINE
+ || output_sync == OUTPUT_SYNC_TARGET);
+
+ if (make_sync.syncout && ! syncing)
+ output_close (&make_sync);
+
+ make_sync.syncout = syncing;
+ OUTPUT_SET (&make_sync);
+
+ /* If we've disabled builtin rules, get rid of them. */
+ if (no_builtin_rules_flag && ! old_builtin_rules_flag)
+ {
+ if (suffix_file->builtin)
+ {
+ free_dep_chain (suffix_file->deps);
+ suffix_file->deps = 0;
+ }
+ define_variable_cname ("SUFFIXES", "", o_default, 0);
+ }
+
+ /* If we've disabled builtin variables, get rid of them. */
+ if (no_builtin_variables_flag && ! old_builtin_variables_flag)
+ undefine_default_variables ();
+ }
+
+#if defined (__MSDOS__) || defined (__EMX__) || defined (VMS)
if (job_slots != 1
# ifdef __EMX__
&& _osmode != OS2_MODE /* turn off -j if we are in DOS mode */
# endif
)
{
- error (NILF,
- _("Parallel jobs (-j) are not supported on this platform."));
- error (NILF, _("Resetting to single job (-j1) mode."));
+ O (error, NILF,
+ _("Parallel jobs (-j) are not supported on this platform."));
+ O (error, NILF, _("Resetting to single job (-j1) mode."));
job_slots = 1;
}
#endif
#ifdef MAKE_JOBSERVER
- /* If the jobserver-fds option is seen, make sure that -j is reasonable. */
+ /* 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 (jobserver_fds)
+ if (job_slots > 1)
{
- const char *cp;
- unsigned int ui;
-
- for (ui=1; ui < jobserver_fds->idx; ++ui)
- if (!streq (jobserver_fds->list[0], jobserver_fds->list[ui]))
- fatal (NILF, _("internal error: multiple --jobserver-fds options"));
-
- /* Now parse the fds string and make sure it has the proper format. */
-
- cp = jobserver_fds->list[0];
-
- if (sscanf (cp, "%d,%d", &job_fds[0], &job_fds[1]) != 2)
- 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]));
-
- /* 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 (job_slots > 0)
- error (NILF,
- _("warning: -jN forced in submake: disabling jobserver mode."));
-
- /* 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. */
+#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). */
- else if ((job_rfd = dup (job_fds[0])) < 0)
+ if (job_slots >= MAXIMUM_WAIT_OBJECTS)
{
- if (errno != EBADF)
- pfatal_with_name (_("dup jobserver"));
-
- error (NILF,
- _("warning: jobserver unavailable: using -j1. Add `+' to parent make rule."));
- job_slots = 1;
+ job_slots = MAXIMUM_WAIT_OBJECTS - 1;
+ DB (DB_JOBS, (_("Jobserver slots limited to %d\n"), job_slots));
}
- if (job_slots > 0)
+ if (! create_jobserver_semaphore (job_slots - 1))
{
- close (job_fds[0]);
- close (job_fds[1]);
- job_fds[0] = job_fds[1] = -1;
- free (jobserver_fds->list);
- free (jobserver_fds);
- jobserver_fds = 0;
+ DWORD err = GetLastError ();
+ const char *estr = map_windows32_error_to_string (err);
+ ONS (fatal, NILF,
+ _("creating jobserver semaphore: (Error %ld: %s)"), err, estr);
}
- }
-
- /* 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)
- {
- char *cp;
+#else
char c = '+';
if (pipe (job_fds) < 0 || (job_rfd = dup (job_fds[0])) < 0)
- pfatal_with_name (_("creating jobs pipe"));
+ 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
@@ -1783,6 +2015,10 @@ main (int argc, char **argv, char **envp)
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;
@@ -1791,25 +2027,24 @@ main (int argc, char **argv, char **envp)
if (r != 1)
pfatal_with_name (_("init jobserver pipe"));
}
+#endif
- /* Fill in the jobserver_fds struct for our children. */
-
- cp = xmalloc ((sizeof ("1024")*2)+1);
- sprintf (cp, "%d,%d", job_fds[0], job_fds[1]);
+ /* Fill in the jobserver_fds for our children. */
- jobserver_fds = (struct stringlist *)
- xmalloc (sizeof (struct stringlist));
- jobserver_fds->list = xmalloc (sizeof (char *));
- jobserver_fds->list[0] = cp;
- jobserver_fds->idx = 1;
- jobserver_fds->max = 1;
+#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)
{
- error (NILF, _("Symbolic links not supported: disabling -L."));
+ O (error, NILF, _("Symbolic links not supported: disabling -L."));
check_symlink_flag = 0;
}
#endif
@@ -1818,7 +2053,7 @@ main (int argc, char **argv, char **envp)
define_makeflags (1, 0);
- /* Make each `struct dep' 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 ();
@@ -1857,7 +2092,7 @@ main (int argc, char **argv, char **envp)
struct file *f = enter_file (*p);
f->last_mtime = f->mtime_before_update = OLD_MTIME;
f->updated = 1;
- f->update_status = 0;
+ f->update_status = us_success;
f->command_state = cs_finished;
}
}
@@ -1866,25 +2101,31 @@ main (int argc, char **argv, char **envp)
{
const char **p;
for (p = new_files->list; *p != 0; ++p)
- {
- struct file *f = enter_file (*p);
- f->last_mtime = f->mtime_before_update = NEW_MTIME;
- }
+ {
+ struct file *f = enter_file (*p);
+ f->last_mtime = f->mtime_before_update = NEW_MTIME;
+ }
}
/* Initialize the remote job module. */
remote_setup ();
- if (read_makefiles != 0)
+ /* Dump any output we've collected. */
+
+ OUTPUT_UNSET ();
+ output_close (&make_sync);
+
+ if (read_files != 0)
{
/* Update any makefiles if necessary. */
FILE_TIMESTAMP *makefile_mtimes = 0;
unsigned int mm_idx = 0;
- char **nargv;
+ char **aargv = NULL;
+ const char **nargv;
int nargc;
int orig_db_level = db_level;
- int status;
+ enum update_status status;
if (! ISDB (DB_MAKEFILES))
db_level = DB_NONE;
@@ -1892,88 +2133,88 @@ main (int argc, char **argv, char **envp)
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. */
+ Also record the current modtimes so we can compare them later. */
{
- register struct dep *d, *last;
- last = 0;
- d = read_makefiles;
- while (d != 0)
- {
- struct file *f = d->file;
- if (f->double_colon)
- for (f = f->double_colon; f != NULL; f = f->prev)
- {
- if (f->deps == 0 && f->cmds != 0)
- {
- /* This makefile is a :: target with commands, but
- no dependencies. So, it will always be remade.
- This might well cause an infinite loop, so don't
- try to remake it. (This will only happen if
- your makefiles are written exceptionally
- stupidly; but if you work for Athena, that's how
- you write your makefiles.) */
-
- DB (DB_VERBOSE,
- (_("Makefile `%s' might loop; not remaking it.\n"),
+ register struct dep *d, *last;
+ last = 0;
+ d = read_files;
+ while (d != 0)
+ {
+ struct file *f = d->file;
+ if (f->double_colon)
+ for (f = f->double_colon; f != NULL; f = f->prev)
+ {
+ if (f->deps == 0 && f->cmds != 0)
+ {
+ /* This makefile is a :: target with commands, but
+ no dependencies. So, it will always be remade.
+ This might well cause an infinite loop, so don't
+ try to remake it. (This will only happen if
+ your makefiles are written exceptionally
+ stupidly; but if you work for Athena, that's how
+ you write your makefiles.) */
+
+ DB (DB_VERBOSE,
+ (_("Makefile '%s' might loop; not remaking it.\n"),
f->name));
- if (last == 0)
- read_makefiles = d->next;
- else
- last->next = d->next;
+ if (last == 0)
+ read_files = d->next;
+ else
+ last->next = d->next;
- /* Free the storage. */
+ /* Free the storage. */
free_dep (d);
- d = last == 0 ? read_makefiles : last->next;
+ d = last == 0 ? read_files : last->next;
- break;
- }
- }
- if (f == NULL || !f->double_colon)
- {
+ break;
+ }
+ }
+ if (f == NULL || !f->double_colon)
+ {
makefile_mtimes = xrealloc (makefile_mtimes,
(mm_idx+1)
* sizeof (FILE_TIMESTAMP));
- makefile_mtimes[mm_idx++] = file_mtime_no_search (d->file);
- last = d;
- d = d->next;
- }
- }
+ makefile_mtimes[mm_idx++] = file_mtime_no_search (d->file);
+ last = d;
+ d = d->next;
+ }
+ }
}
- /* Set up `MAKEFLAGS' specially while remaking makefiles. */
+ /* Set up 'MAKEFLAGS' specially while remaking makefiles. */
define_makeflags (1, 1);
rebuilding_makefiles = 1;
- status = update_goal_chain (read_makefiles);
+ status = update_goal_chain (read_files);
rebuilding_makefiles = 0;
switch (status)
- {
- case 1:
+ {
+ 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".
*/
- case -1:
- /* Did nothing. */
- break;
-
- case 2:
- /* Failed to update. Figure out if we care. */
- {
- /* Nonzero if any makefile was successfully remade. */
- int any_remade = 0;
- /* Nonzero if any makefile we care about failed
- in updating or could not be found at all. */
- int any_failed = 0;
- unsigned int i;
+ case us_none:
+ /* Did nothing. */
+ break;
+
+ case us_failed:
+ /* Failed to update. Figure out if we care. */
+ {
+ /* Nonzero if any makefile was successfully remade. */
+ int any_remade = 0;
+ /* Nonzero if any makefile we care about failed
+ in updating or could not be found at all. */
+ int any_failed = 0;
+ unsigned int i;
struct dep *d;
- for (i = 0, d = read_makefiles; d != 0; ++i, d = d->next)
+ 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. */
@@ -1982,7 +2223,7 @@ main (int argc, char **argv, char **envp)
if (d->file->updated)
{
/* This makefile was updated. */
- if (d->file->update_status == 0)
+ if (d->file->update_status == us_success)
{
/* It was successfully updated. */
any_remade |= (file_mtime_no_search (d->file)
@@ -1993,8 +2234,8 @@ main (int argc, char **argv, char **envp)
FILE_TIMESTAMP mtime;
/* The update failed and this makefile was not
from the MAKEFILES variable, so we care. */
- error (NILF, _("Failed to remake makefile `%s'."),
- d->file->name);
+ OS (error, NILF, _("Failed to remake makefile '%s'."),
+ d->file->name);
mtime = file_mtime_no_search (d->file);
any_remade |= (mtime != NONEXISTENT_MTIME
&& mtime != makefile_mtimes[i]);
@@ -2005,194 +2246,191 @@ main (int argc, char **argv, char **envp)
/* This makefile was not found at all. */
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->changed & RM_INCLUDED)
- /* An included makefile. We don't need
- to die, but we do want to complain. */
- error (NILF,
- _("Included makefile `%s' was not found."),
- dep_name (d));
+ /* An included makefile. We don't need to die, but we
+ do want to complain. */
+ error (NILF, l,
+ _("Included makefile '%s' was not found."), dnm);
else
{
/* A normal makefile. We must die later. */
- error (NILF, _("Makefile `%s' was not found"),
- dep_name (d));
+ error (NILF, l,
+ _("Makefile '%s' was not found"), dnm);
any_failed = 1;
}
}
}
/* Reset this to empty so we get the right error message below. */
- read_makefiles = 0;
+ read_files = 0;
- if (any_remade)
- goto re_exec;
- if (any_failed)
- die (2);
+ if (any_remade)
+ goto re_exec;
+ if (any_failed)
+ die (MAKE_FAILURE);
break;
- }
-
- case 0:
- re_exec:
- /* Updated successfully. Re-exec ourselves. */
+ }
- remove_intermediates (0);
+ case us_success:
+ re_exec:
+ /* Updated successfully. Re-exec ourselves. */
- if (print_data_base_flag)
- print_data_base ();
+ remove_intermediates (0);
- log_working_directory (0);
+ if (print_data_base_flag)
+ print_data_base ();
clean_jobserver (0);
- if (makefiles != 0)
- {
- /* These names might have changed. */
- int i, j = 0;
- for (i = 1; i < argc; ++i)
- if (strneq (argv[i], "-f", 2)) /* XXX */
- {
- if (argv[i][2] == '\0')
+ if (makefiles != 0)
+ {
+ /* These names might have changed. */
+ int i, j = 0;
+ for (i = 1; i < argc; ++i)
+ if (strneq (argv[i], "-f", 2)) /* XXX */
+ {
+ if (argv[i][2] == '\0')
/* This cast is OK since we never modify argv. */
- argv[++i] = (char *) makefiles->list[j];
- else
- argv[i] = xstrdup (concat (2, "-f", makefiles->list[j]));
- ++j;
- }
- }
+ argv[++i] = (char *) makefiles->list[j];
+ else
+ argv[i] = xstrdup (concat (2, "-f", makefiles->list[j]));
+ ++j;
+ }
+ }
/* Add -o option for the stdin temporary file, if necessary. */
nargc = argc;
if (stdin_nm)
{
- nargv = xmalloc ((nargc + 2) * sizeof (char *));
- memcpy (nargv, argv, argc * sizeof (char *));
- nargv[nargc++] = xstrdup (concat (2, "-o", stdin_nm));
- nargv[nargc] = 0;
+ void *m = xmalloc ((nargc + 2) * sizeof (char *));
+ aargv = m;
+ memcpy (aargv, argv, argc * sizeof (char *));
+ aargv[nargc++] = xstrdup (concat (2, "-o", stdin_nm));
+ aargv[nargc] = 0;
+ nargv = m;
}
else
- nargv = argv;
-
- if (directories != 0 && directories->idx > 0)
- {
- int bad = 1;
- if (directory_before_chdir != 0)
- {
- if (chdir (directory_before_chdir) < 0)
- perror_with_name ("chdir", "");
- else
- bad = 0;
- }
- if (bad)
- fatal (NILF, _("Couldn't change back to original directory."));
- }
+ nargv = (const char**)argv;
+
+ if (directories != 0 && directories->idx > 0)
+ {
+ int bad = 1;
+ if (directory_before_chdir != 0)
+ {
+ if (chdir (directory_before_chdir) < 0)
+ perror_with_name ("chdir", "");
+ else
+ bad = 0;
+ }
+ if (bad)
+ O (fatal, NILF,
+ _("Couldn't change back to original directory."));
+ }
++restarts;
- /* Reset makeflags in case they were changed. */
- {
- const char *pv = define_makeflags (1, 1);
- char *p = alloca (sizeof ("MAKEFLAGS=") + strlen (pv) + 1);
- sprintf (p, "MAKEFLAGS=%s", pv);
- putenv (p);
- }
+ /* 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))
- {
- char **p;
- printf (_("Re-executing[%u]:"), restarts);
- for (p = nargv; *p != 0; ++p)
- printf (" %s", *p);
- putchar ('\n');
- }
+ if (ISDB (DB_BASIC))
+ {
+ const char **p;
+ printf (_("Re-executing[%u]:"), restarts);
+ for (p = nargv; *p != 0; ++p)
+ printf (" %s", *p);
+ putchar ('\n');
+ }
#ifndef _AMIGA
{
char **p;
for (p = environ; *p != 0; ++p)
{
- if (strneq (*p, MAKELEVEL_NAME, MAKELEVEL_LENGTH)
- && (*p)[MAKELEVEL_LENGTH] == '=')
+ if (strneq (*p, MAKELEVEL_NAME "=", MAKELEVEL_LENGTH+1))
{
*p = alloca (40);
sprintf (*p, "%s=%u", MAKELEVEL_NAME, makelevel);
}
- if (strneq (*p, "MAKE_RESTARTS=", 14))
+ else if (strneq (*p, "MAKE_RESTARTS=", CSTRLEN ("MAKE_RESTARTS=")))
{
*p = alloca (40);
- sprintf (*p, "MAKE_RESTARTS=%u", restarts);
+ sprintf (*p, "MAKE_RESTARTS=%s%u",
+ OUTPUT_IS_TRACED () ? "-" : "", restarts);
restarts = 0;
}
}
}
#else /* AMIGA */
- {
- char buffer[256];
+ {
+ char buffer[256];
sprintf (buffer, "%u", makelevel);
SetVar (MAKELEVEL_NAME, buffer, -1, GVF_GLOBAL_ONLY);
- sprintf (buffer, "%u", restarts);
+ sprintf (buffer, "%s%u", OUTPUT_IS_TRACED () ? "-" : "", restarts);
SetVar ("MAKE_RESTARTS", buffer, -1, GVF_GLOBAL_ONLY);
restarts = 0;
- }
+ }
#endif
/* If we didn't set the restarts variable yet, add it. */
if (restarts)
{
char *b = alloca (40);
- sprintf (b, "MAKE_RESTARTS=%u", restarts);
+ sprintf (b, "MAKE_RESTARTS=%s%u",
+ OUTPUT_IS_TRACED () ? "-" : "", restarts);
putenv (b);
}
- fflush (stdout);
- fflush (stderr);
+ 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);
+ exec_command (nargv);
+ exit (0);
#elif defined (__EMX__)
- {
- /* It is not possible to use execve() here because this
- would cause the parent process to be terminated with
- exit code 0 before the child process has been terminated.
- Therefore it may be the best solution simply to spawn the
- child process including all file handles and to wait for its
- termination. */
- int pid;
- int status;
- pid = child_execute_job (0, 1, nargv, environ);
-
- /* is this loop really necessary? */
- do {
- pid = wait (&status);
- } while (pid <= 0);
- /* use the exit code of the child process */
- exit (WIFEXITED(status) ? WEXITSTATUS(status) : EXIT_FAILURE);
- }
+ {
+ /* It is not possible to use execve() here because this
+ would cause the parent process to be terminated with
+ exit code 0 before the child process has been terminated.
+ Therefore it may be the best solution simply to spawn the
+ child process including all file handles and to wait for its
+ termination. */
+ int pid;
+ int r;
+ pid = child_execute_job (FD_STDIN, FD_STDOUT, FD_STDERR,
+ nargv, environ);
+
+ /* is this loop really necessary? */
+ do {
+ pid = wait (&r);
+ } while (pid <= 0);
+ /* use the exit code of the child process */
+ exit (WIFEXITED(r) ? WEXITSTATUS(r) : EXIT_FAILURE);
+ }
#else
- exec_command (nargv, environ);
+ exec_command ((char **)nargv, environ);
#endif
- /* NOTREACHED */
-
- default:
-#define BOGUS_UPDATE_STATUS 0
- assert (BOGUS_UPDATE_STATUS);
- break;
- }
+ free (aargv);
+ break;
+ }
db_level = orig_db_level;
- /* Free the makefile mtimes (if we allocated any). */
- if (makefile_mtimes)
- free (makefile_mtimes);
+ /* Free the makefile mtimes. */
+ free (makefile_mtimes);
}
- /* Set up `MAKEFLAGS' again for the normal targets. */
+ /* Set up 'MAKEFLAGS' again for the normal targets. */
define_makeflags (1, 0);
/* Set always_make_flag if -B was given. */
@@ -2203,10 +2441,10 @@ main (int argc, char **argv, char **envp)
{
const char **p;
for (p = new_files->list; *p != 0; ++p)
- {
- struct file *f = enter_file (*p);
- f->last_mtime = f->mtime_before_update = NEW_MTIME;
- }
+ {
+ struct file *f = enter_file (*p);
+ f->last_mtime = f->mtime_before_update = NEW_MTIME;
+ }
}
/* If there is a temp file from reading a makefile from stdin, get rid of
@@ -2239,12 +2477,13 @@ main (int argc, char **argv, char **envp)
{
struct nameseq *ns;
- ns = PARSE_FILE_SEQ (&p, struct nameseq, '\0', NULL, 0);
+ ns = PARSE_SIMPLE_SEQ (&p, struct nameseq);
if (ns)
{
/* .DEFAULT_GOAL should contain one target. */
if (ns->next != 0)
- fatal (NILF, _(".DEFAULT_GOAL contains more than one target"));
+ O (fatal, NILF,
+ _(".DEFAULT_GOAL contains more than one target"));
f = enter_file (strcache_add (ns->name));
@@ -2266,10 +2505,10 @@ main (int argc, char **argv, char **envp)
if (!goals)
{
- if (read_makefiles == 0)
- fatal (NILF, _("No targets specified and no makefile found"));
+ if (read_files == 0)
+ O (fatal, NILF, _("No targets specified and no makefile found"));
- fatal (NILF, _("No targets"));
+ O (fatal, NILF, _("No targets"));
}
/* Update the goals. */
@@ -2277,48 +2516,44 @@ main (int argc, char **argv, char **envp)
DB (DB_BASIC, (_("Updating goal targets....\n")));
{
- int status;
-
switch (update_goal_chain (goals))
{
- case -1:
+ case us_none:
/* Nothing happened. */
- case 0:
- /* Updated successfully. */
- status = makefile_status;
+ /* FALLTHROUGH */
+ case us_success:
+ /* Keep the previous result. */
break;
- case 1:
+ case us_question:
/* We are under -q and would run some commands. */
- status = MAKE_TROUBLE;
+ makefile_status = MAKE_TROUBLE;
break;
- case 2:
+ case us_failed:
/* Updating failed. POSIX.2 specifies exit status >1 for this;
but in VMS, there is only success and failure. */
- status = MAKE_FAILURE;
+ makefile_status = MAKE_FAILURE;
break;
- default:
- abort ();
}
/* If we detected some clock skew, generate one last warning */
if (clock_skew_detected)
- error (NILF,
- _("warning: Clock skew detected. Your build may be incomplete."));
+ O (error, NILF,
+ _("warning: Clock skew detected. Your build may be incomplete."));
/* Exit. */
- die (status);
+ die (makefile_status);
}
/* NOTREACHED */
- return 0;
+ exit (MAKE_SUCCESS);
}
/* Parsing of arguments, decoding of switches. */
static char options[1 + sizeof (switches) / sizeof (switches[0]) * 3];
static struct option long_options[(sizeof (switches) / sizeof (switches[0])) +
- (sizeof (long_option_aliases) /
- sizeof (long_option_aliases[0]))];
+ (sizeof (long_option_aliases) /
+ sizeof (long_option_aliases[0]))];
/* Fill in the string and vector for getopt. */
static void
@@ -2341,89 +2576,94 @@ init_switches (void)
for (i = 0; switches[i].c != '\0'; ++i)
{
long_options[i].name = (switches[i].long_name == 0 ? "" :
- switches[i].long_name);
+ switches[i].long_name);
long_options[i].flag = 0;
long_options[i].val = switches[i].c;
if (short_option (switches[i].c))
- *p++ = switches[i].c;
+ *p++ = switches[i].c;
switch (switches[i].type)
- {
- case flag:
- case flag_off:
- case ignore:
- long_options[i].has_arg = no_argument;
- break;
-
- case string:
+ {
+ case flag:
+ case flag_off:
+ case ignore:
+ long_options[i].has_arg = no_argument;
+ break;
+
+ case string:
+ case strlist:
case filename:
- case positive_int:
- case floating:
- if (short_option (switches[i].c))
- *p++ = ':';
- if (switches[i].noarg_value != 0)
- {
- if (short_option (switches[i].c))
- *p++ = ':';
- long_options[i].has_arg = optional_argument;
- }
- else
- long_options[i].has_arg = required_argument;
- break;
- }
+ case positive_int:
+ case floating:
+ if (short_option (switches[i].c))
+ *p++ = ':';
+ if (switches[i].noarg_value != 0)
+ {
+ if (short_option (switches[i].c))
+ *p++ = ':';
+ long_options[i].has_arg = optional_argument;
+ }
+ else
+ long_options[i].has_arg = required_argument;
+ break;
+ }
}
*p = '\0';
for (c = 0; c < (sizeof (long_option_aliases) /
- sizeof (long_option_aliases[0]));
+ sizeof (long_option_aliases[0]));
++c)
long_options[i++] = long_option_aliases[c];
long_options[i].name = 0;
}
+
+/* Non-option argument. It might be a variable definition. */
static void
-handle_non_switch_argument (char *arg, int env)
+handle_non_switch_argument (const char *arg, int env)
{
- /* Non-option argument. It might be a variable definition. */
struct variable *v;
+
if (arg[0] == '-' && arg[1] == '\0')
- /* Ignore plain `-' for compatibility. */
+ /* Ignore plain '-' for compatibility. */
return;
+
v = try_variable_definition (0, arg, o_command, 0);
if (v != 0)
{
/* It is indeed a variable definition. If we don't already have this
- one, record a pointer to the variable for later use in
- define_makeflags. */
+ one, record a pointer to the variable for later use in
+ define_makeflags. */
struct command_variable *cv;
for (cv = command_variables; cv != 0; cv = cv->next)
if (cv->variable == v)
break;
- if (! cv) {
- cv = xmalloc (sizeof (*cv));
- cv->variable = v;
- cv->next = command_variables;
- command_variables = cv;
- }
+ if (! cv)
+ {
+ cv = xmalloc (sizeof (*cv));
+ cv->variable = v;
+ cv->next = command_variables;
+ command_variables = cv;
+ }
}
else if (! env)
{
/* Not an option or variable definition; it must be a goal
- target! Enter it as a file and add it to the dep chain of
- goals. */
+ target! Enter it as a file and add it to the dep chain of
+ goals. */
struct file *f = enter_file (strcache_add (expand_command_line_file (arg)));
f->cmd_target = 1;
if (goals == 0)
- {
- goals = alloc_dep ();
- lastgoal = goals;
- }
+ {
+ goals = alloc_dep ();
+ lastgoal = goals;
+ }
else
- {
- lastgoal->next = alloc_dep ();
- lastgoal = lastgoal->next;
- }
+ {
+ lastgoal->next = alloc_dep ();
+ lastgoal = lastgoal->next;
+ }
lastgoal->file = f;
@@ -2485,7 +2725,7 @@ print_usage (int bad)
They came from the environment if ENV is nonzero. */
static void
-decode_switches (int argc, char **argv, int env)
+decode_switches (int argc, const char **argv, int env)
{
int bad = 0;
register const struct command_switch *cs;
@@ -2505,51 +2745,55 @@ decode_switches (int argc, char **argv, int env)
while (optind < argc)
{
+ const char *coptarg;
+
/* Parse the next argument. */
- c = getopt_long (argc, argv, options, long_options, (int *) 0);
+ c = getopt_long (argc, (char*const*)argv, options, long_options, NULL);
+ coptarg = optarg;
if (c == EOF)
- /* End of arguments, or "--" marker seen. */
- break;
+ /* End of arguments, or "--" marker seen. */
+ break;
else if (c == 1)
- /* An argument not starting with a dash. */
- handle_non_switch_argument (optarg, env);
+ /* An argument not starting with a dash. */
+ handle_non_switch_argument (coptarg, env);
else if (c == '?')
- /* Bad option. We will print a usage message and die later.
- But continue to parse the other options so the user can
- see all he did wrong. */
- bad = 1;
+ /* Bad option. We will print a usage message and die later.
+ But continue to parse the other options so the user can
+ see all he did wrong. */
+ bad = 1;
else
- for (cs = switches; cs->c != '\0'; ++cs)
- if (cs->c == c)
- {
- /* Whether or not we will actually do anything with
- this switch. We test this individually inside the
- switch below rather than just once outside it, so that
- options which are to be ignored still consume args. */
- int doit = !env || cs->env;
-
- switch (cs->type)
- {
- default:
- abort ();
-
- case ignore:
- break;
-
- case flag:
- case flag_off:
- if (doit)
- *(int *) cs->value_ptr = cs->type == flag;
- break;
-
- case string:
- case filename:
- if (!doit)
- break;
-
- if (optarg == 0)
- optarg = xstrdup (cs->noarg_value);
- else if (*optarg == '\0')
+ for (cs = switches; cs->c != '\0'; ++cs)
+ if (cs->c == c)
+ {
+ /* Whether or not we will actually do anything with
+ this switch. We test this individually inside the
+ switch below rather than just once outside it, so that
+ options which are to be ignored still consume args. */
+ int doit = !env || cs->env;
+
+ switch (cs->type)
+ {
+ default:
+ abort ();
+
+ case ignore:
+ break;
+
+ case flag:
+ case flag_off:
+ if (doit)
+ *(int *) cs->value_ptr = cs->type == flag;
+ break;
+
+ case string:
+ case strlist:
+ case filename:
+ if (!doit)
+ break;
+
+ if (! coptarg)
+ coptarg = xstrdup (cs->noarg_value);
+ else if (*coptarg == '\0')
{
char opt[2] = "c";
const char *op = opt;
@@ -2559,91 +2803,101 @@ decode_switches (int argc, char **argv, int env)
else
op = cs->long_name;
- error (NILF, _("the `%s%s' option requires a non-empty string argument"),
+ error (NILF, strlen (op),
+ _("the '%s%s' option requires a non-empty string argument"),
short_option (cs->c) ? "-" : "--", op);
bad = 1;
+ break;
}
- sl = *(struct stringlist **) cs->value_ptr;
- if (sl == 0)
- {
- sl = (struct stringlist *)
- xmalloc (sizeof (struct stringlist));
- sl->max = 5;
- sl->idx = 0;
- sl->list = xmalloc (5 * sizeof (char *));
- *(struct stringlist **) cs->value_ptr = sl;
- }
- else if (sl->idx == sl->max - 1)
- {
- sl->max += 5;
+ if (cs->type == string)
+ {
+ char **val = (char **)cs->value_ptr;
+ free (*val);
+ *val = xstrdup (coptarg);
+ break;
+ }
+
+ sl = *(struct stringlist **) cs->value_ptr;
+ if (sl == 0)
+ {
+ sl = xmalloc (sizeof (struct stringlist));
+ sl->max = 5;
+ sl->idx = 0;
+ sl->list = xmalloc (5 * sizeof (char *));
+ *(struct stringlist **) cs->value_ptr = sl;
+ }
+ else if (sl->idx == sl->max - 1)
+ {
+ sl->max += 5;
/* MSVC erroneously warns without a cast here. */
- sl->list = xrealloc ((void *)sl->list,
+ sl->list = xrealloc ((void *)sl->list,
sl->max * sizeof (char *));
- }
+ }
if (cs->type == filename)
- sl->list[sl->idx++] = expand_command_line_file (optarg);
+ sl->list[sl->idx++] = expand_command_line_file (coptarg);
else
- sl->list[sl->idx++] = optarg;
- sl->list[sl->idx] = 0;
- break;
+ sl->list[sl->idx++] = xstrdup (coptarg);
+ sl->list[sl->idx] = 0;
+ break;
- case positive_int:
+ case positive_int:
/* See if we have an option argument; if we do require that
it's all digits, not something like "10foo". */
- if (optarg == 0 && argc > optind)
+ if (coptarg == 0 && argc > optind)
{
const char *cp;
for (cp=argv[optind]; ISDIGIT (cp[0]); ++cp)
;
if (cp[0] == '\0')
- optarg = argv[optind++];
+ coptarg = argv[optind++];
}
- if (!doit)
- break;
+ if (!doit)
+ break;
- if (optarg != 0)
- {
- int i = atoi (optarg);
+ if (coptarg)
+ {
+ int i = atoi (coptarg);
const char *cp;
/* Yes, I realize we're repeating this in some cases. */
- for (cp = optarg; ISDIGIT (cp[0]); ++cp)
+ for (cp = coptarg; ISDIGIT (cp[0]); ++cp)
;
- if (i < 1 || cp[0] != '\0')
- {
- error (NILF, _("the `-%c' option requires a positive integral argument"),
+ if (i < 1 || cp[0] != '\0')
+ {
+ error (NILF, 0,
+ _("the '-%c' option requires a positive integer argument"),
cs->c);
- bad = 1;
- }
- else
- *(unsigned int *) cs->value_ptr = i;
- }
- else
- *(unsigned int *) cs->value_ptr
- = *(unsigned int *) cs->noarg_value;
- break;
+ bad = 1;
+ }
+ else
+ *(unsigned int *) cs->value_ptr = i;
+ }
+ else
+ *(unsigned int *) cs->value_ptr
+ = *(unsigned int *) cs->noarg_value;
+ break;
#ifndef NO_FLOAT
- case floating:
- if (optarg == 0 && optind < argc
- && (ISDIGIT (argv[optind][0]) || argv[optind][0] == '.'))
- optarg = argv[optind++];
+ case floating:
+ if (coptarg == 0 && optind < argc
+ && (ISDIGIT (argv[optind][0]) || argv[optind][0] == '.'))
+ coptarg = argv[optind++];
- if (doit)
- *(double *) cs->value_ptr
- = (optarg != 0 ? atof (optarg)
- : *(double *) cs->noarg_value);
+ if (doit)
+ *(double *) cs->value_ptr
+ = (coptarg != 0 ? atof (coptarg)
+ : *(double *) cs->noarg_value);
- break;
+ break;
#endif
- }
+ }
- /* We've found the switch. Stop looking. */
- break;
- }
+ /* We've found the switch. Stop looking. */
+ break;
+ }
}
/* There are no more options according to getting getopt, but there may
@@ -2653,12 +2907,15 @@ decode_switches (int argc, char **argv, int env)
while (optind < argc)
handle_non_switch_argument (argv[optind++], env);
-
if (!env && (bad || print_usage_flag))
{
print_usage (bad);
- die (bad ? 2 : 0);
+ die (bad ? MAKE_FAILURE : MAKE_SUCCESS);
}
+
+ /* If there are any options that need to be decoded do it now. */
+ decode_debug_flags ();
+ decode_output_sync_flags ();
}
/* Decode switches from environment variable ENVAR (which is LEN chars long).
@@ -2667,12 +2924,12 @@ decode_switches (int argc, char **argv, int env)
decode_switches. */
static void
-decode_env_switches (char *envar, unsigned int len)
+decode_env_switches (const char *envar, unsigned int len)
{
char *varref = alloca (2 + len + 2);
- char *value, *p;
+ char *value, *p, *buf;
int argc;
- char **argv;
+ const char **argv;
/* Get the variable's value. */
varref[0] = '$';
@@ -2691,41 +2948,41 @@ decode_env_switches (char *envar, unsigned int len)
/* Allocate a vector that is definitely big enough. */
argv = alloca ((1 + len + 1) * sizeof (char *));
- /* Allocate a buffer to copy the value into while we split it into words
- and unquote it. We must use permanent storage for this because
- decode_switches may store pointers into the passed argument words. */
- p = xmalloc (2 * len);
-
/* getopt will look at the arguments starting at ARGV[1].
Prepend a spacer word. */
argv[0] = 0;
argc = 1;
+
+ /* We need a buffer to copy the value into while we split it into words
+ and unquote it. Set up in case we need to prepend a dash later. */
+ buf = alloca (1 + len + 1);
+ buf[0] = '-';
+ p = buf+1;
argv[argc] = p;
while (*value != '\0')
{
if (*value == '\\' && value[1] != '\0')
- ++value; /* Skip the backslash. */
+ ++value; /* Skip the backslash. */
else if (isblank ((unsigned char)*value))
- {
- /* End of the word. */
- *p++ = '\0';
- argv[++argc] = p;
- do
- ++value;
- while (isblank ((unsigned char)*value));
- continue;
- }
+ {
+ /* End of the word. */
+ *p++ = '\0';
+ argv[++argc] = p;
+ do
+ ++value;
+ while (isblank ((unsigned char)*value));
+ continue;
+ }
*p++ = *value++;
}
*p = '\0';
argv[++argc] = 0;
+ assert (p < buf + len + 2);
if (argv[1][0] != '-' && strchr (argv[1], '=') == 0)
/* The first word doesn't start with a dash and isn't a variable
- definition. Add a dash and pass it along to decode_switches. We
- need permanent storage for this in case decode_switches saves
- pointers into the value. */
- argv[1] = xstrdup (concat (2, "-", argv[1]));
+ definition, so add a dash. */
+ argv[1] = buf;
/* Parse those words. */
decode_switches (argc, argv, 1);
@@ -2743,7 +3000,7 @@ quote_for_env (char *out, const char *in)
while (*in != '\0')
{
if (*in == '$')
- *out++ = '$';
+ *out++ = '$';
else if (isblank ((unsigned char)*in) || *in == '\\')
*out++ = '\\';
*out++ = *in++;
@@ -2754,9 +3011,9 @@ quote_for_env (char *out, const char *in)
/* Define the MAKEFLAGS and MFLAGS variables to reflect the settings of the
command switches. Include options with args if ALL is nonzero.
- Don't include options with the `no_makefile' flag set if MAKEFILE. */
+ Don't include options with the 'no_makefile' flag set if MAKEFILE. */
-static const char *
+static struct variable *
define_makeflags (int all, int makefile)
{
const char ref[] = "$(MAKEOVERRIDES)";
@@ -2764,11 +3021,9 @@ define_makeflags (int all, int makefile)
const char evalref[] = "$(-*-eval-flags-*-)";
const struct command_switch *cs;
char *flagstring;
- register char *p;
- unsigned int words;
- struct variable *v;
+ char *p;
- /* We will construct a linked list of `struct flag's describing
+ /* We will construct a linked list of 'struct flag's describing
all the flags which need to go in MAKEFLAGS. Then, once we
know how many there are and their lengths, we can put them all
together in a string. */
@@ -2780,259 +3035,219 @@ define_makeflags (int all, int makefile)
const char *arg;
};
struct flag *flags = 0;
+ struct flag *last = 0;
unsigned int flagslen = 0;
-#define ADD_FLAG(ARG, LEN) \
- do { \
- struct flag *new = alloca (sizeof (struct flag)); \
- new->cs = cs; \
- new->arg = (ARG); \
- new->next = flags; \
- flags = new; \
- if (new->arg == 0) \
- ++flagslen; /* Just a single flag letter. */ \
- else \
- /* " -x foo", plus space to expand "foo". */ \
- flagslen += 1 + 1 + 1 + 1 + (3 * (LEN)); \
- if (!short_option (cs->c)) \
+#define ADD_FLAG(ARG, LEN) \
+ do { \
+ struct flag *new = alloca (sizeof (struct flag)); \
+ new->cs = cs; \
+ new->arg = (ARG); \
+ new->next = 0; \
+ if (! flags) \
+ flags = new; \
+ else \
+ last->next = new; \
+ last = new; \
+ if (new->arg == 0) \
+ /* Just a single flag letter: " -x" */ \
+ flagslen += 3; \
+ else \
+ /* " -xfoo", plus space to escape "foo". */ \
+ flagslen += 1 + 1 + 1 + (3 * (LEN)); \
+ if (!short_option (cs->c)) \
/* This switch has no single-letter version, so we use the long. */ \
- flagslen += 2 + strlen (cs->long_name); \
+ flagslen += 2 + strlen (cs->long_name); \
} while (0)
for (cs = switches; cs->c != '\0'; ++cs)
if (cs->toenv && (!makefile || !cs->no_makefile))
switch (cs->type)
- {
- case ignore:
- break;
-
- case flag:
- case 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);
- break;
-
- case positive_int:
- if (all)
- {
- if ((cs->default_value != 0
- && (*(unsigned int *) cs->value_ptr
- == *(unsigned int *) cs->default_value)))
- break;
- else if (cs->noarg_value != 0
- && (*(unsigned int *) cs->value_ptr ==
- *(unsigned int *) cs->noarg_value))
- ADD_FLAG ("", 0); /* Optional value omitted; see below. */
- else if (cs->c == 'j')
- /* Special case for `-j'. */
- ADD_FLAG ("1", 1);
- else
- {
- char *buf = alloca (30);
- sprintf (buf, "%u", *(unsigned int *) cs->value_ptr);
- ADD_FLAG (buf, strlen (buf));
- }
- }
- break;
+ {
+ case ignore:
+ break;
+
+ case flag:
+ case 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);
+ break;
+
+ case positive_int:
+ if (all)
+ {
+ if ((cs->default_value != 0
+ && (*(unsigned int *) cs->value_ptr
+ == *(unsigned int *) cs->default_value)))
+ break;
+ else if (cs->noarg_value != 0
+ && (*(unsigned int *) cs->value_ptr ==
+ *(unsigned int *) cs->noarg_value))
+ ADD_FLAG ("", 0); /* Optional value omitted; see below. */
+ else
+ {
+ char *buf = alloca (30);
+ sprintf (buf, "%u", *(unsigned int *) cs->value_ptr);
+ ADD_FLAG (buf, strlen (buf));
+ }
+ }
+ break;
#ifndef NO_FLOAT
- case floating:
- if (all)
- {
- if (cs->default_value != 0
- && (*(double *) cs->value_ptr
- == *(double *) cs->default_value))
- break;
- else if (cs->noarg_value != 0
- && (*(double *) cs->value_ptr
- == *(double *) cs->noarg_value))
- ADD_FLAG ("", 0); /* Optional value omitted; see below. */
- else
- {
- char *buf = alloca (100);
- sprintf (buf, "%g", *(double *) cs->value_ptr);
- ADD_FLAG (buf, strlen (buf));
- }
- }
- break;
-#endif
-
- case filename:
- case string:
- if (all)
- {
- struct stringlist *sl = *(struct stringlist **) cs->value_ptr;
- if (sl != 0)
- {
- /* Add the elements in reverse order, because all the flags
- get reversed below; and the order matters for some
- switches (like -I). */
- unsigned int i = sl->idx;
- while (i-- > 0)
- ADD_FLAG (sl->list[i], strlen (sl->list[i]));
- }
- }
- break;
-
- default:
- abort ();
- }
-
- /* Four more for the possible " -- ". */
- flagslen += 4 + sizeof (posixref) + sizeof (evalref);
-
-#undef ADD_FLAG
+ case floating:
+ if (all)
+ {
+ if (cs->default_value != 0
+ && (*(double *) cs->value_ptr
+ == *(double *) cs->default_value))
+ break;
+ else if (cs->noarg_value != 0
+ && (*(double *) cs->value_ptr
+ == *(double *) cs->noarg_value))
+ ADD_FLAG ("", 0); /* Optional value omitted; see below. */
+ else
+ {
+ char *buf = alloca (100);
+ sprintf (buf, "%g", *(double *) cs->value_ptr);
+ ADD_FLAG (buf, strlen (buf));
+ }
+ }
+ break;
+#endif
+
+ case string:
+ if (all)
+ {
+ p = *((char **)cs->value_ptr);
+ if (p)
+ ADD_FLAG (p, strlen (p));
+ }
+ break;
+
+ case filename:
+ case strlist:
+ if (all)
+ {
+ struct stringlist *sl = *(struct stringlist **) cs->value_ptr;
+ if (sl != 0)
+ {
+ unsigned int i;
+ for (i = 0; i < sl->idx; ++i)
+ ADD_FLAG (sl->list[i], strlen (sl->list[i]));
+ }
+ }
+ break;
+
+ default:
+ abort ();
+ }
+
+#undef ADD_FLAG
+
+ /* Four more for the possible " -- ", plus variable references. */
+ flagslen += 4 + CSTRLEN (posixref) + 1 + CSTRLEN (evalref) + 1;
/* Construct the value in FLAGSTRING.
We allocate enough space for a preceding dash and trailing null. */
flagstring = alloca (1 + flagslen + 1);
memset (flagstring, '\0', 1 + flagslen + 1);
p = flagstring;
- words = 1;
+
+ /* Start with a dash, for MFLAGS. */
*p++ = '-';
- while (flags != 0)
+
+ /* Add simple options as a group. */
+ while (flags != 0 && !flags->arg && short_option (flags->cs->c))
{
+ *p++ = flags->cs->c;
+ flags = flags->next;
+ }
+
+ /* Now add more complex flags: ones with options and/or long names. */
+ while (flags)
+ {
+ *p++ = ' ';
+ *p++ = '-';
+
/* Add the flag letter or name to the string. */
if (short_option (flags->cs->c))
- *p++ = flags->cs->c;
+ *p++ = flags->cs->c;
else
- {
- if (*p != '-')
- {
- *p++ = ' ';
- *p++ = '-';
- }
- *p++ = '-';
- strcpy (p, flags->cs->long_name);
- p += strlen (p);
- }
- if (flags->arg != 0)
- {
- /* A flag that takes an optional argument which in this case is
- omitted is specified by ARG being "". We must distinguish
- because a following flag appended without an intervening " -"
- is considered the arg for the first. */
- if (flags->arg[0] != '\0')
- {
- /* Add its argument too. */
- *p++ = !short_option (flags->cs->c) ? '=' : ' ';
- p = quote_for_env (p, flags->arg);
- }
- ++words;
- /* Write a following space and dash, for the next flag. */
- *p++ = ' ';
- *p++ = '-';
- }
- else if (!short_option (flags->cs->c))
- {
- ++words;
- /* Long options must each go in their own word,
- so we write the following space and dash. */
- *p++ = ' ';
- *p++ = '-';
- }
+ {
+ /* Long options require a double-dash. */
+ *p++ = '-';
+ strcpy (p, flags->cs->long_name);
+ p += strlen (p);
+ }
+ /* An omitted optional argument has an ARG of "". */
+ if (flags->arg && flags->arg[0] != '\0')
+ {
+ if (!short_option (flags->cs->c))
+ /* Long options require '='. */
+ *p++ = '=';
+ p = quote_for_env (p, flags->arg);
+ }
flags = flags->next;
}
- /* Define MFLAGS before appending variable definitions. */
-
+ /* If no flags at all, get rid of the initial dash. */
if (p == &flagstring[1])
- /* No flags. */
- flagstring[0] = '\0';
- else if (p[-1] == '-')
{
- /* Kill the final space and dash. */
- p -= 2;
- *p = '\0';
+ flagstring[0] = '\0';
+ p = flagstring;
}
- else
- /* Terminate the string. */
- *p = '\0';
- /* Since MFLAGS is not parsed for flags, there is no reason to
+ /* Define MFLAGS before appending variable definitions. Omit an initial
+ empty dash. Since MFLAGS is not parsed for flags, there is no reason to
override any makefile redefinition. */
- define_variable_cname ("MFLAGS", flagstring, o_env, 1);
+ define_variable_cname ("MFLAGS",
+ flagstring + (flagstring[0] == '-' && flagstring[1] == ' ' ? 2 : 0),
+ o_env, 1);
/* Write a reference to -*-eval-flags-*-, which contains all the --eval
flag options. */
if (eval_strings)
{
- if (p == &flagstring[1])
- /* No flags written, so elide the leading dash already written. */
- p = flagstring;
- else
- *p++ = ' ';
- memcpy (p, evalref, sizeof (evalref) - 1);
- p += sizeof (evalref) - 1;
+ *p++ = ' ';
+ memcpy (p, evalref, CSTRLEN (evalref));
+ p += CSTRLEN (evalref);
}
- if (all && command_variables != 0)
+ if (all && command_variables)
{
- /* Now write a reference to $(MAKEOVERRIDES), which contains all the
- command-line variable definitions. */
+ /* Write a reference to $(MAKEOVERRIDES), which contains all the
+ command-line variable definitions. Separate the variables from the
+ switches with a "--" arg. */
- if (p == &flagstring[1])
- /* No flags written, so elide the leading dash already written. */
- p = flagstring;
- else
- {
- /* Separate the variables from the switches with a "--" arg. */
- if (p[-1] != '-')
- {
- /* We did not already write a trailing " -". */
- *p++ = ' ';
- *p++ = '-';
- }
- /* There is a trailing " -"; fill it out to " -- ". */
- *p++ = '-';
- *p++ = ' ';
- }
+ strcpy (p, " -- ");
+ p += 4;
/* Copy in the string. */
if (posix_pedantic)
- {
- memcpy (p, posixref, sizeof (posixref) - 1);
- p += sizeof (posixref) - 1;
- }
+ {
+ memcpy (p, posixref, CSTRLEN (posixref));
+ p += CSTRLEN (posixref);
+ }
else
- {
- memcpy (p, ref, sizeof (ref) - 1);
- p += sizeof (ref) - 1;
- }
- }
- else if (p == &flagstring[1])
- {
- words = 0;
- --p;
+ {
+ memcpy (p, ref, CSTRLEN (ref));
+ p += CSTRLEN (ref);
+ }
}
- else if (p[-1] == '-')
- /* Kill the final space and dash. */
- p -= 2;
- /* Terminate the string. */
- *p = '\0';
- /* If there are switches, omit the leading dash unless it is a single long
- option with two leading dashes. */
- if (flagstring[0] == '-' && flagstring[1] != '-')
+ /* If there is a leading dash, omit it. */
+ if (flagstring[0] == '-')
++flagstring;
- v = define_variable_cname ("MAKEFLAGS", flagstring,
- /* This used to use o_env, but that lost when a
- makefile defined MAKEFLAGS. Makefiles set
- MAKEFLAGS to add switches, but we still want
- to redefine its value with the full set of
- switches. Of course, an override or command
- definition will still take precedence. */
- o_file, 1);
-
- if (! all)
- /* The first time we are called, set MAKEFLAGS to always be exported.
- We should not do this again on the second call, because that is
- after reading makefiles which might have done `unexport MAKEFLAGS'. */
- v->export = v_export;
-
- return v->value;
+ /* This used to use o_env, but that lost when a makefile defined MAKEFLAGS.
+ Makefiles set MAKEFLAGS to add switches, but we still want to redefine
+ its value with the full set of switches. Then we used o_file, but that
+ lost when users added -e, causing a previous MAKEFLAGS env. var. to take
+ precedence over the new one. Of course, an override or command
+ definition will still take precedence. */
+ return define_variable_cname ("MAKEFLAGS", flagstring,
+ env_overrides ? o_env_override : o_file, 1);
}
/* Print version information. */
@@ -3042,7 +3257,7 @@ print_version (void)
{
static int printed_version = 0;
- char *precede = print_data_base_flag ? "# " : "";
+ const char *precede = print_data_base_flag ? "# " : "";
if (printed_version)
/* Do it only once. */
@@ -3059,9 +3274,10 @@ print_version (void)
/* Print this untranslated. The coding standards recommend translating the
(C) to the copyright symbol, but this string is going to change every
year, and none of the rest of it should be translated (including the
- word "Copyright", so it hardly seems worth it. */
+ word "Copyright"), so it hardly seems worth it. */
- printf ("%sCopyright (C) 2010 Free Software Foundation, Inc.\n", precede);
+ printf ("%sCopyright (C) 1988-2014 Free Software Foundation, Inc.\n",
+ precede);
printf (_("%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n\
%sThis is free software: you are free to change and redistribute it.\n\
@@ -3071,7 +3287,7 @@ print_version (void)
printed_version = 1;
/* Flush stdout so the user doesn't have to wait to see the
- version information while things are thought about. */
+ version information while make thinks about things. */
fflush (stdout);
}
@@ -3080,9 +3296,10 @@ print_version (void)
static void
print_data_base ()
{
- time_t when;
+ time_t when = time ((time_t *) 0);
+
+ print_version ();
- when = time ((time_t *) 0);
printf (_("\n# Make data base, printed on %s"), ctime (&when));
print_variable_data_base ();
@@ -3099,27 +3316,37 @@ print_data_base ()
static void
clean_jobserver (int status)
{
- char token = '+';
-
/* Sanity: have we written all our jobserver tokens back? If our
exit status is 2 that means some kind of syntax error; we might not
have written all our tokens so do that now. If tokens are left
after any other error code, that's bad. */
+#ifdef WINDOWS32
+ if (has_jobserver_semaphore () && jobserver_tokens)
+#else
+ char token = '+';
+
if (job_fds[0] != -1 && jobserver_tokens)
+#endif
{
if (status != 2)
- error (NILF,
- "INTERNAL: Exiting with %u jobserver tokens (should be 0)!",
- jobserver_tokens);
+ ON (error, NILF,
+ "INTERNAL: Exiting with %u jobserver tokens (should be 0)!",
+ jobserver_tokens);
else
- while (jobserver_tokens--)
+ /* Don't write back the "free" token */
+ while (--jobserver_tokens)
{
+#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
}
}
@@ -3131,30 +3358,34 @@ clean_jobserver (int status)
/* We didn't write one for ourself, so start at 1. */
unsigned int tcnt = 1;
+#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)
- error (NILF,
- "INTERNAL: Exiting with %u jobserver tokens available; should be %u!",
- tcnt, master_job_slots);
+ ONN (error, NILF,
+ "INTERNAL: Exiting with %u jobserver tokens available; should be %u!",
+ tcnt, master_job_slots);
+#ifdef WINDOWS32
+ free_jobserver_semaphore ();
+#else
close (job_fds[0]);
+#endif
/* 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;
- if (jobserver_fds)
- {
- /* MSVC erroneously warns without a cast here. */
- free ((void *)jobserver_fds->list);
- free (jobserver_fds);
- jobserver_fds = 0;
- }
+ free (jobserver_fds);
+ jobserver_fds = 0;
}
}
@@ -3172,12 +3403,12 @@ die (int status)
dying = 1;
if (print_version_flag)
- print_version ();
+ print_version ();
/* Wait for children to die. */
err = (status != 0);
while (job_slots_used > 0)
- reap_children (1, err);
+ reap_children (1, err);
/* Let the remote job module clean up its state. */
remote_cleanup ();
@@ -3186,80 +3417,39 @@ die (int status)
remove_intermediates (0);
if (print_data_base_flag)
- print_data_base ();
+ print_data_base ();
- verify_file_data_base ();
+ if (verify_flag)
+ verify_file_data_base ();
clean_jobserver (status);
+ if (output_context)
+ {
+ /* die() might be called in a recipe output context due to an
+ $(error ...) function. */
+ output_close (output_context);
+
+ if (output_context != &make_sync)
+ output_close (&make_sync);
+
+ OUTPUT_UNSET ();
+ }
+
+ output_close (NULL);
+
/* Try to move back to the original directory. This is essential on
- MS-DOS (where there is really only one process), and on Unix it
- puts core files in the original directory instead of the -C
- directory. Must wait until after remove_intermediates(), or unlinks
+ MS-DOS (where there is really only one process), and on Unix it
+ puts core files in the original directory instead of the -C
+ directory. Must wait until after remove_intermediates(), or unlinks
of relative pathnames fail. */
if (directory_before_chdir != 0)
{
/* If it fails we don't care: shut up GCC. */
- int _x;
+ int _x UNUSED;
_x = chdir (directory_before_chdir);
}
-
- log_working_directory (0);
}
exit (status);
}
-
-/* Write a message indicating that we've just entered or
- left (according to ENTERING) the current directory. */
-
-void
-log_working_directory (int entering)
-{
- static int entered = 0;
-
- /* Print nothing without the flag. Don't print the entering message
- again if we already have. Don't print the leaving message if we
- haven't printed the entering message. */
- if (! print_directory_flag || entering == entered)
- return;
-
- entered = entering;
-
- if (print_data_base_flag)
- fputs ("# ", stdout);
-
- /* Use entire sentences to give the translators a fighting chance. */
-
- if (makelevel == 0)
- if (starting_directory == 0)
- if (entering)
- printf (_("%s: Entering an unknown directory\n"), program);
- else
- printf (_("%s: Leaving an unknown directory\n"), program);
- else
- if (entering)
- printf (_("%s: Entering directory `%s'\n"),
- program, starting_directory);
- else
- printf (_("%s: Leaving directory `%s'\n"),
- program, starting_directory);
- else
- if (starting_directory == 0)
- if (entering)
- printf (_("%s[%u]: Entering an unknown directory\n"),
- program, makelevel);
- else
- printf (_("%s[%u]: Leaving an unknown directory\n"),
- program, makelevel);
- else
- if (entering)
- printf (_("%s[%u]: Entering directory `%s'\n"),
- program, makelevel, starting_directory);
- else
- printf (_("%s[%u]: Leaving directory `%s'\n"),
- program, makelevel, starting_directory);
-
- /* Flush stdout to be sure this comes before any stderr output. */
- fflush (stdout);
-}
diff --git a/maintMakefile b/maintMakefile
deleted file mode 100644
index acdf58ec..00000000
--- a/maintMakefile
+++ /dev/null
@@ -1,289 +0,0 @@
-# Maintainer-only makefile segment. This contains things that are relevant
-# only if you have the full copy of the GNU make sources from the CVS
-# tree, not a dist copy.
-
-# We like mondo-warnings!
-AM_CFLAGS += -Wall -Wextra -Wdeclaration-after-statement -Wshadow -Wpointer-arith -Wbad-function-cast
-
-MAKE_MAINTAINER_MODE := -DMAKE_MAINTAINER_MODE
-AM_CPPFLAGS += $(MAKE_MAINTAINER_MODE)
-
-# I want this one but I have to wait for the const cleanup!
-# -Wwrite-strings
-
-# Find the glob source files... this might be dangerous, but we're maintainers!
-globsrc := $(wildcard glob/*.c)
-globhdr := $(wildcard glob/*.h)
-
-TEMPLATES = README README.DOS README.W32 README.OS2 \
- config.ami configh.dos config.h.W32 config.h-vms
-MTEMPLATES = Makefile.DOS SMakefile
-
-# These are built as a side-effect of the dist rule
-#all-am: $(TEMPLATES) $(MTEMPLATES) build.sh.in
-
-# General rule for turning a .template into a regular file.
-#
-$(TEMPLATES) : % : %.template Makefile
- rm -f $@
- sed -e 's@%VERSION%@$(VERSION)@g' \
- -e 's@%PACKAGE%@$(PACKAGE)@g' \
- $< > $@
- chmod a-w $@
-
-# Construct Makefiles by adding on dependencies, etc.
-#
-$(MTEMPLATES) : % : %.template .dep_segment Makefile
- rm -f $@
- sed -e 's@%VERSION%@$(VERSION)@g' \
- -e 's@%PROGRAMS%@$(bin_PROGRAMS)@g' \
- -e 's@%SOURCES%@$(filter-out remote-%,$(make_SOURCES)) remote-$$(REMOTE).c@g' \
- -e 's@%OBJECTS%@$(filter-out remote-%,$(make_OBJECTS)) remote-$$(REMOTE).o@g' \
- -e 's@%GLOB_SOURCES%@$(globsrc) $(globhdr)@g' \
- -e 's@%GLOB_OBJECTS%@$(globsrc:glob/%.c=%.o)@g' \
- $< > $@
- echo >>$@; echo '# --------------- DEPENDENCIES' >>$@; echo '#' >>$@; \
- cat $(word 2,$^) >>$@
- chmod a-w $@
-
-NMakefile: NMakefile.template .dep_segment Makefile
- rm -f $@
- cp $< $@
- echo >>$@; echo '# --------------- DEPENDENCIES' >>$@; echo '#' >>$@; \
- sed 's/^\([^ ]*\)\.o:/$$(OUTDIR)\/\1.obj:/' $(word 2,$^) >>$@
- chmod a-w $@
-
-# Construct build.sh.in
-#
-build.sh.in: build.template Makefile
- rm -f $@
- sed -e 's@%objs%@$(patsubst %.o,%.$${OBJEXT},$(filter-out remote-%,$(make_OBJECTS)))@g' \
- -e 's@%globobjs%@$(patsubst %.c,%.$${OBJEXT},$(globsrc))@g' \
- $< > $@
- chmod a-w+x $@
-
-
-# Use automake to build a dependency list file, for "foreign" makefiles like
-# Makefile.DOS.
-#
-# Automake used to have a --generate-deps flag, but it's gone now, so we have
-# to do it ourselves.
-#
-DEP_FILES := $(wildcard $(DEPDIR)/*.Po)
-.dep_segment: Makefile.am maintMakefile $(DEP_FILES)
- rm -f $@
- (for f in $(DEPDIR)/*.Po; do \
- echo ""; \
- echo "# $$f"; \
- sed -e '/^[^:]*\.[ch] *:/d' \
- -e 's, /usr/[^ ]*,,g' \
- -e 's, $(srcdir)/, ,g' \
- -e '/^ *\\$$/d' \
- -e '/^ *$$/d' \
- < $$f; \
- done) > $@
-
-# Get rid of everything "else".
-#
-maintFILES = configure aclocal.m4 config.h.in Makefile.in stamp-h.in
-
-CVS-CLEAN-FILES += $(maintFILES) $(TEMPLATES) $(MTEMPLATES) NMakefile \
- build.sh.in .deps .dep_segment ABOUT-NLS \
- ansi2knr.*
-
-# This rule tries to clean the tree right down to how it looks when you do a
-# virgin CVS checkout.
-
-# This target is potentially dangerous since it removes _ANY FILE_ that
-# is not in CVS. Including files you might mean to add to CVS but
-# haven't yet... I only use this in subdirectories where it's unlikely
-# we have any new files. Still... be careful!!
-
-cvsclean = $(PERL) -e '$$k{CVS} = 1; open(E,"< CVS/Entries") || die "CVS/Entries: $$!\n"; while (defined ($$_ = <E>)) { m%^/([^/]*)% or next; $$k{$$1} = 1; } close(E) || die "CVS/Entries: $$!\n"; opendir(D, ".") || die ".: $$!\n"; while (defined ($$_ = readdir(D))) { -f $$_ && ! exists $$k{$$_} && unlink($$_); } closedir(D) || die ".: $$!\n";'
-
-.PHONY: cvs-clean
-cvs-clean: maintainer-clean
- -rm -rf *~ $(CVS-CLEAN-FILES)
- -cd config && $(cvsclean)
- -cd po && $(cvsclean)
- -cd doc && $(cvsclean)
- -cd glob && $(cvsclean)
-
-
-# ----------------------------------------------------------------------
-#
-# The sections below were stolen from the Makefile.maint used by fileutils,
-# sh-utils, textutils, CPPI, Bison, and Autoconf.
-
-
-## ---------------- ##
-## Updating files. ##
-## ---------------- ##
-
-WGET = wget --passive-ftp -nv
-ftp-gnu = ftp://ftp.gnu.org/gnu
-
-move_if_change = if test -r $(target) && cmp -s $(target).t $(target); then \
- echo $(target) is unchanged; rm -f $(target).t; \
- else \
- mv $(target).t $(target); \
- fi
-
-# ------------------- #
-# Updating PO files. #
-# ------------------- #
-
-# PO archive mirrors --- Be careful; some might not be fully populated!
-# ftp://ftp.unex.es/pub/gnu-i18n/po/maint/
-# http://translation.sf.net/maint/
-# ftp://tiger.informatik.hu-berlin.de/pub/po/maint/
-
-po_wget_flags = --recursive --level=1 --no-directories --no-parent \
- --no-check-certificate
-po_repo = http://translationproject.org/latest/$(PACKAGE)
-.PHONY: do-po-update po-update
-do-po-update:
- tmppo="/tmp/po-$(PACKAGE)-$(VERSION).$$$$" \
- && rm -rf "$$tmppo" \
- && mkdir "$$tmppo" \
- && (cd "$$tmppo" \
- && $(WGET) $(po_wget_flags) -A '*.po' $(po_repo)) \
- && cp "$$tmppo"/*.po $(top_srcdir)/po && rm -rf "$$tmppo"
- cd po && $(MAKE) update-po
- $(MAKE) po-check
-
-po-update:
- [ -d "po" ] && $(MAKE) do-po-update
-
-# -------------------------- #
-# Updating GNU build files. #
-# -------------------------- #
-
-# The following pseudo table associates a local directory and a URL
-# with each of the files that belongs to some other package and is
-# regularly updated from the specified URL.
-
-cvs-url = http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~
-git-url = http://git.savannah.gnu.org/cgit
-target = $(patsubst get-%,%,$@)
-
-config-url = $(git-url)/config.git/plain/$(patsubst get-config/%,%,$@)
-get-config/config.guess get-config/config.sub:
- @echo $(WGET) $(config-url) -O $(target) \
- && $(WGET) $(config-url) -O $(target).t \
- && $(move_if_change)
-
-gnulib-url = $(git-url)/gnulib.git/plain/build-aux/$(patsubst get-config/%,%,$@)
-get-config/texinfo.tex:
- @echo $(WGET) $(gnulib-url) -O $(target) \
- && $(WGET) $(gnulib-url) -O $(target).t \
- && $(move_if_change)
-
-gnustandards-url = $(cvs-url)/gnustandards/gnustandards/$(patsubst get-doc/%,%,$@)
-get-doc/make-stds.texi get-doc/fdl.texi:
- @echo $(WGET) $(gnustandards-url) -O $(target) \
- && $(WGET) $(gnustandards-url) -O $(target).t \
- && $(move_if_change)
-
-.PHONY: scm-update
-scm-update: get-config/texinfo.tex get-config/config.guess get-config/config.sub get-doc/make-stds.texi get-doc/fdl.texi
-
-
-# --------------------- #
-# Updating everything. #
-# --------------------- #
-
-.PHONY: update
-update: po-update scm-update
-
-
-## --------------- ##
-## Sanity checks. ##
-## --------------- ##
-
-# Checks that don't require cvs. Run `changelog-check' last as
-# previous test may reveal problems requiring new ChangeLog entries.
-local-check: po-check changelog-check
-
-# copyright-check writable-files
-
-changelog-check:
- if head $(top_srcdir)/ChangeLog | grep 'Version $(VERSION)' >/dev/null; then \
- :; \
- else \
- echo "$(VERSION) not in ChangeLog" 1>&2; \
- exit 1; \
- fi
-
-# Verify that all source files using _() are listed in po/POTFILES.in.
-# Ignore make.h; it defines _().
-po-check:
- if test -f po/POTFILES.in; then \
- grep '^[^#]' po/POTFILES.in | sort > $@-1; \
- $(PERL) -wn -e 'if (/\b_\(/) { $$ARGV eq "make.h" || print "$$ARGV\n" and close ARGV }' *.c *.h | sort > $@-2; \
- diff -u $@-1 $@-2 || exit 1; \
- rm -f $@-1 $@-2; \
- fi
-
-## ------------------------- ##
-## GNU FTP upload artifacts. ##
-## ------------------------- ##
-
-# This target creates the upload artifacts.
-# Sign it with my key. If you don't have my key/passphrase then sorry,
-# you're SOL! :)
-
-GPG = gpg
-GPGFLAGS = -u 6338B6D4
-
-DIST_ARCHIVES_SIG = $(addsuffix .sig,$(DIST_ARCHIVES))
-DIST_ARCHIVES_DIRECTIVE = $(addsuffix .directive.asc,$(DIST_ARCHIVES))
-
-# A simple rule to test signing, etc.
-.PHONY: distsign
-distsign: $(DIST_ARCHIVES_SIG) $(DIST_ARCHIVES_DIRECTIVE)
-
-%.sig : %
- @echo "Signing file '$<':"
- $(GPG) $(GPGFLAGS) -o "$@" -b "$<"
-
-%.directive.asc: %
- @echo "Creating directive file '$@':"
- @( \
- echo 'version: 1.1'; \
- echo 'directory: make'; \
- echo 'filename: $*'; \
- echo 'comment: Official upload of GNU make version $(VERSION)'; \
- ) > "$*.directive"
- $(GPG) $(GPGFLAGS) -o "$@" --clearsign "$*.directive"
- @rm -f "$*.directive"
-
-# Upload the artifacts
-
-FTPPUT = ncftpput
-gnu-upload-host = ftp-upload.gnu.org
-gnu-upload-dir = /incoming
-
-
-UPLOADS = upload-alpha upload-ftp
-.PHONY: $(UPLOADS)
-$(UPLOADS): $(DIST_ARCHIVES) $(DIST_ARCHIVES_SIG) $(DIST_ARCHIVES_DIRECTIVE)
- $(FTPPUT) "$(gnu-upload-host)" "$(gnu-upload-dir)/$(@:upload-%=%)" $^
-
-
-# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010 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 <http://www.gnu.org/licenses/>.
diff --git a/make.1 b/make.1
index c76ce25d..ed04db90 100644
--- a/make.1
+++ b/make.1
@@ -1,49 +1,35 @@
-.TH MAKE 1 "22 August 1989" "GNU" "LOCAL USER COMMANDS"
+.TH MAKE 1 "03 March 2012" "GNU" "User Commands"
.SH NAME
make \- GNU make utility to maintain groups of programs
.SH SYNOPSIS
-.B "make "
-[
-.B \-f
-.I makefile
-] [ options ] ... [ targets ] ...
-.SH WARNING
-This man page is an extract of the documentation of GNU
-.IR make .
-It is updated only occasionally, because the GNU project does not use nroff.
-For complete, current documentation, refer to the Info file
-.B make.info
-which is made from the Texinfo source file
-.BR make.texi .
+.B make
+[\fIOPTION\fR]... [\fITARGET\fR]...
.SH DESCRIPTION
.LP
-The purpose of the
-.I make
-utility is to determine automatically which
-pieces of a large program need to be recompiled, and issue the commands to
-recompile them.
-The manual describes the GNU implementation of
-.IR make ,
-which was written by Richard Stallman and Roland McGrath, and is
-currently maintained by Paul Smith.
-Our examples show C programs, since they are most common, but you can use
+The
.I make
-with any programming language whose compiler can be run with a
-shell command.
+utility will determine automatically which pieces of a large program need to
+be recompiled, and issue the commands to recompile them. The manual describes
+the GNU implementation of
+.BR make ,
+which was written by Richard Stallman and Roland McGrath, and is currently
+maintained by Paul Smith. Our examples show C programs, since they are very
+common, but you can use
+.B make
+with any programming language whose compiler can be run with a shell command.
In fact,
-.I make
-is not limited to programs.
-You can use it to describe any task where some files must be
-updated automatically from others whenever the others change.
+.B make
+is not limited to programs. You can use it to describe any task where some
+files must be updated automatically from others whenever the others change.
.LP
To prepare to use
-.IR make ,
+.BR make ,
you must write a file called the
.I makefile
-that describes the relationships among files in your program, and the
-states the commands for updating each file.
-In a program, typically the executable file is updated from object
-files, which are in turn made by compiling source files.
+that describes the relationships among files in your program, and the states
+the commands for updating each file. In a program, typically the executable
+file is updated from object files, which are in turn made by compiling source
+files.
.LP
Once a suitable makefile exists, each time you change some source files,
this simple shell command:
@@ -54,16 +40,15 @@ this simple shell command:
.sp 1
suffices to perform all necessary recompilations.
The
-.I make
-program uses the makefile data base and the last-modification times
-of the files to decide which of the files need to be updated.
-For each of those files, it issues the commands recorded in the data base.
+.B make
+program uses the makefile description and the last-modification times of the
+files to decide which of the files need to be updated. For each of those
+files, it issues the commands recorded in the makefile.
.LP
-.I make
+.B make
executes commands in the
.I makefile
-to update
-one or more target
+to update one or more target
.IR names ,
where
.I name
@@ -71,7 +56,7 @@ is typically a program.
If no
.B \-f
option is present,
-.I make
+.B make
will look for the makefiles
.IR GNUmakefile ,
.IR makefile ,
@@ -90,27 +75,27 @@ listing, right near other important files such as
.IR README .)
The first name checked,
.IR GNUmakefile ,
-is not recommended for most makefiles.
-You should use this name if you have a makefile that is specific to GNU
-.IR make ,
+is not recommended for most makefiles. You should use this name if you have a
+makefile that is specific to GNU
+.BR make ,
and will not be understood by other versions of
-.IR make .
+.BR make .
If
.I makefile
-is `\-', the standard input is read.
+is '\-', the standard input is read.
.LP
-.I make
+.B make
updates a target if it depends on prerequisite files
that have been modified since the target was last modified,
or if the target does not exist.
.SH OPTIONS
.sp 1
.TP 0.5i
-.BR \-b , " \-m"
+\fB\-b\fR, \fB\-m\fR
These options are ignored for compatibility with other versions of
-.IR make .
+.BR make .
.TP 0.5i
-.BR \-B , " \-\-always\-make"
+\fB\-B\fR, \fB\-\-always\-make\fR
Unconditionally make all targets.
.TP 0.5i
\fB\-C\fR \fIdir\fR, \fB\-\-directory\fR=\fIdir\fR
@@ -126,7 +111,7 @@ previous one:
is equivalent to
.BR "\-C " /etc.
This is typically used with recursive invocations of
-.IR make .
+.BR make .
.TP 0.5i
.B \-d
Print debugging information in addition to normal processing.
@@ -134,7 +119,7 @@ The debugging information says which files are being considered for
remaking, which file-times are being compared and with what results,
which files actually need to be remade, which implicit rules are
considered and which are applied---everything interesting about how
-.I make
+.B make
decides what to do.
.TP 0.5i
.BI \-\-debug "[=FLAGS]"
@@ -158,9 +143,11 @@ for showing implicit rules,
.I j
for details on invocation of commands, and
.I m
-for debugging while remaking makefiles.
+for debugging while remaking makefiles. Use
+.I n
+to disable all previous debugging flags.
.TP 0.5i
-.BR \-e , " \-\-environment\-overrides"
+\fB\-e\fR, \fB\-\-environment\-overrides\fR
Give variables taken from the environment precedence
over variables from makefiles.
.TP 0.5i
@@ -169,7 +156,7 @@ Use
.I file
as a makefile.
.TP 0.5i
-.BR \-i , " \-\-ignore\-errors"
+\fB\-i\fR, \fB\-\-ignore\-errors\fR
Ignore all errors in commands executed to remake files.
.TP 0.5i
\fB\-I\fR \fIdir\fR, \fB\-\-include\-dir\fR=\fIdir\fR
@@ -181,13 +168,14 @@ If several
options are used to specify several directories, the directories are
searched in the order specified.
Unlike the arguments to other flags of
-.IR make ,
+.BR make ,
directories given with
.B \-I
flags may come directly after the flag:
.BI \-I dir
is allowed, as well as
-.BI "\-I " dir.
+.B \-I
+.IR dir .
This syntax is allowed for compatibility with the C
preprocessor's
.B \-I
@@ -203,10 +191,10 @@ option, the last one is effective.
If the
.B \-j
option is given without an argument,
-.IR make
+.BR make
will not limit the number of jobs that can run simultaneously.
.TP 0.5i
-.BR \-k , " \-\-keep\-going"
+\fB\-k\fR, \fB\-\-keep\-going\fR
Continue as much as possible after an error.
While the target that failed, and those that depend on it, cannot
be remade, the other dependencies of these targets can be processed
@@ -219,10 +207,10 @@ others jobs running and the load average is at least
(a floating-point number).
With no argument, removes a previous load limit.
.TP 0.5i
-.BR \-L , " \-\-check\-symlink\-times"
+\fB\-L\fR, \fB\-\-check\-symlink\-times\fR
Use the latest mtime between symlinks and target.
.TP 0.5i
-.BR \-n , " \-\-just\-print" , " \-\-dry\-run" , " \-\-recon"
+\fB\-n\fR, \fB\-\-just\-print\fR, \fB\-\-dry\-run\fR, \fB\-\-recon\fR
Print the commands that would be executed, but do not execute them (except in
certain circumstances).
.TP 0.5i
@@ -234,7 +222,29 @@ on account of changes in
.IR file .
Essentially the file is treated as very old and its rules are ignored.
.TP 0.5i
-.BR \-p , " \-\-print\-data\-base"
+\fB\-O\fR[\fItype\fR], \fB\-\-output\-sync\fR[=\fItype\fR]
+When running multiple jobs in parallel with \fB-j\fR, ensure the output of
+each job is collected together rather than interspersed with output from
+other jobs. If
+.I type
+is not specified or is
+.B target
+the output from the entire recipe for each target is grouped together. If
+.I type
+is
+.B line
+the output from each command line within a recipe is grouped together.
+If
+.I type
+is
+.B recurse
+output from an entire recursive make is grouped together. If
+.I type
+is
+.B none
+output synchronization is disabled.
+.TP 0.5i
+\fB\-p\fR, \fB\-\-print\-data\-base\fR
Print the data base (rules and variable values) that results from
reading the makefiles; then execute as usual or as otherwise
specified.
@@ -242,59 +252,61 @@ This also prints the version information given by the
.B \-v
switch (see below).
To print the data base without trying to remake any files, use
-.B make
-.B \-p
-.BI \-f /dev/null.
+.IR "make \-p \-f/dev/null" .
.TP 0.5i
-.BR \-q , " \-\-question"
+\fB\-q\fR, \fB\-\-question\fR
``Question mode''.
Do not run any commands, or print anything; just return an exit status
that is zero if the specified targets are already up to date, nonzero
otherwise.
.TP 0.5i
-.BR \-r , " \-\-no\-builtin\-rules"
+\fB\-r\fR, \fB\-\-no\-builtin\-rules\fR
Eliminate use of the built\-in implicit rules.
Also clear out the default list of suffixes for suffix rules.
.TP 0.5i
-.BR \-R , " \-\-no\-builtin\-variables"
+\fB\-R\fR, \fB\-\-no\-builtin\-variables\fR
Don't define any built\-in variables.
.TP 0.5i
-.BR \-s , " \-\-silent" , " \-\-quiet"
+\fB\-s\fR, \fB\-\-silent\fR, \fB\-\-quiet\fR
Silent operation; do not print the commands as they are executed.
.TP 0.5i
-.BR \-S , " \-\-no\-keep\-going" , " \-\-stop"
+\fB\-S\fR, \fB\-\-no\-keep\-going\fR, \fB\-\-stop\fR
Cancel the effect of the
.B \-k
option.
This is never necessary except in a recursive
-.I make
+.B make
where
.B \-k
might be inherited from the top-level
-.I make
+.B make
via MAKEFLAGS or if you set
.B \-k
in MAKEFLAGS in your environment.
.TP 0.5i
-.BR \-t , " \-\-touch"
+\fB\-t\fR, \fB\-\-touch\fR
Touch files (mark them up to date without really changing them)
instead of running their commands.
This is used to pretend that the commands were done, in order to fool
future invocations of
-.IR make .
+.BR make .
+.TP 0.5i
+.B \-\-trace
+Information about the disposition of each target is printed (why the target is
+being rebuilt and what commands are run to rebuild it).
.TP 0.5i
-.BR \-v , " \-\-version"
+\fB\-v\fR, \fB\-\-version\fR
Print the version of the
-.I make
+.B make
program plus a copyright, a list of authors and a notice that there
is no warranty.
.TP 0.5i
-.BR \-w , " \-\-print\-directory"
+\fB\-w\fR, \fB\-\-print\-directory\fR
Print a message containing the working directory
before and after other processing.
This may be useful for tracking down errors from complicated nests of
recursive
-.I make
+.B make
commands.
.TP 0.5i
.B \-\-no\-print\-directory
@@ -314,36 +326,46 @@ Without
it is almost the same as running a
.I touch
command on the given file before running
-.IR make ,
+.BR make ,
except that the modification time is changed only in the imagination of
-.IR make .
+.BR make .
.TP 0.5i
.B \-\-warn\-undefined\-variables
Warn when an undefined variable is referenced.
.SH "EXIT STATUS"
GNU
-.I make
+.B make
exits with a status of zero if all makefiles were successfully parsed
and no targets that were built failed. A status of one will be returned
if the
.B \-q
flag was used and
-.I make
+.B make
determines that a target needs to be rebuilt. A status of two will be
returned if any errors were encountered.
.SH "SEE ALSO"
-.I "The GNU Make Manual"
+The full documentation for
+.B make
+is maintained as a Texinfo manual. If the
+.B info
+and
+.B make
+programs are properly installed at your site, the command
+.IP
+.B info make
+.PP
+should give you access to the complete manual.
.SH BUGS
-See the chapter `Problems and Bugs' in
+See the chapter ``Problems and Bugs'' in
.IR "The GNU Make Manual" .
.SH AUTHOR
This manual page contributed by Dennis Morse of Stanford University.
-It has been reworked by Roland McGrath. Further updates contributed by
-Mike Frysinger.
+Further updates contributed by Mike Frysinger. It has been reworked by Roland
+McGrath. Maintained by Paul Smith.
.SH "COPYRIGHT"
-Copyright (C) 1992, 1993, 1996, 1999, 2007 Free Software Foundation, Inc.
-This file is part of GNU
-.IR make .
+Copyright \(co 1992-1993, 1996-2014 Free Software Foundation, Inc.
+This file is part of
+.IR "GNU make" .
.LP
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 --git a/make.lnk b/make.lnk
index b4080a7e..0d983bff 100644
--- a/make.lnk
+++ b/make.lnk
@@ -1,4 +1,4 @@
-FROM LIB:cres.o "commands.o"+"job.o"+"dir.o"+"file.o"+"misc.o"+"main.o"+"read.o"+"remake.o"+"rule.o"+"implicit.o"+"default.o"+"variable.o"+"expand.o"+"function.o"+"vpath.o"+"version.o"+"ar.o"+"arscan.o"+"signame.o"+"remote-stub.o"+"getopt.o"+"getopt1.o"+"alloca.o"+"amiga.o"+"hash.o"+"strcache.o"
+FROM LIB:cres.o "commands.o"+"job.o"+"dir.o"+"file.o"+"misc.o"+"main.o"+"read.o"+"remake.o"+"rule.o"+"implicit.o"+"default.o"+"variable.o"+"expand.o"+"function.o"+"vpath.o"+"version.o"+"ar.o"+"arscan.o"+"signame.o"+"remote-stub.o"+"getopt.o"+"getopt1.o"+"alloca.o"+"amiga.o"+"hash.o"+"strcache.o"+"output.o"
TO "make.new"
LIB glob/glob.lib LIB:sc.lib LIB:amiga.lib
QUIET
diff --git a/make.morph b/make.morph
deleted file mode 100644
index 1259b342..00000000
--- a/make.morph
+++ /dev/null
@@ -1,5 +0,0 @@
-name: make
-kind: chunk
-build-system: autotools
-configure-commands:
-- ./configure --prefix="$PREFIX" --disable-nls
diff --git a/make_msvc_net2003.vcproj b/make_msvc_net2003.vcproj
index 357dfbac..01b1f0d2 100644
--- a/make_msvc_net2003.vcproj
+++ b/make_msvc_net2003.vcproj
@@ -154,6 +154,11 @@
<File
RelativePath=".\getopt1.c">
</File>
+
+ <File
+ RelativePath=".\guile.c">
+ </File>
+
<File
RelativePath=".\hash.c">
</File>
@@ -167,6 +172,12 @@
RelativePath=".\job.c">
</File>
<File
+ RelativePath=".\load.c">
+ </File>
+ <File
+ RelativePath=".\output.c">
+ </File>
+ <File
RelativePath=".\main.c">
</File>
<File
@@ -203,6 +214,9 @@
RelativePath=".\w32\compat\dirent.c">
</File>
<File
+ RelativePath=".\w32\compat\posixfcn.c">
+ </File>
+ <File
RelativePath=".\w32\subproc\misc.c">
<FileConfiguration
Name="Debug|Win32">
@@ -264,13 +278,19 @@
RelativePath=".\gettext.h">
</File>
<File
+ RelativePath=".\gmk-default.h">
+ </File>
+ <File
RelativePath=".\hash.h">
</File>
<File
RelativePath=".\job.h">
</File>
<File
- RelativePath=".\make.h">
+ RelativePath=".\output.h">
+ </File>
+ <File
+ RelativePath=".\makeint.h">
</File>
<File
RelativePath=".\rule.h">
diff --git a/makefile.com b/makefile.com
index d2d05d18..fe37c05d 100644
--- a/makefile.com
+++ b/makefile.com
@@ -1,8 +1,7 @@
$!
$! Makefile.com - builds GNU Make for VMS
$!
-$! P1 is non-empty if you want to link with the VAXCRTL library instead
-$! of the shareable executable
+$! P1 = LIST will provide compiler listings.
$! P2 = DEBUG will build an image with debug information
$! P3 = WALL will enable all warning messages (some are suppressed since
$! one macro intentionally causes an error condition)
@@ -50,6 +49,12 @@ $ endif
$ endif
$ endif
$!
+$!
+$ if (p1 .eqs. "LIST")
+$ then
+$ ccopt = ccopt + "/list/show=(expan,inclu)"
+$ endif
+$!
$! Should we build a debug image
$!
$ if (p2.eqs."DEBUG")
@@ -67,9 +72,11 @@ $ then
$ gosub check_cc_qual
$ endif
$ filelist = "alloca ar arscan commands default dir expand file function " + -
- "hash implicit job main misc read remake remote-stub rule " + -
- "signame variable version vmsfunctions vmsify vpath " + -
+ "guile hash implicit job load main misc read remake " + -
+ "remote-stub rule output signame variable version " + -
+ "vmsfunctions vmsify vpath " + -
"[.glob]glob [.glob]fnmatch getopt1 getopt strcache"
+$!
$ copy config.h-vms config.h
$ n=0
$ open/write optf make.opt
@@ -77,18 +84,14 @@ $ loop:
$ cfile = f$elem(n," ",filelist)
$ if cfile .eqs. " " then goto linkit
$ write sys$output "Compiling ''cfile'..."
-$ call compileit 'cfile' 'p1'
+$ call compileit 'cfile'
$ n = n + 1
$ goto loop
$ linkit:
$ close optf
-$ if p1 .nes. "" then goto link_using_library
$ link/exe=make make.opt/opt'lopt
$ goto cleanup
$
-$ link_using_library:
-$ link/exe=make make.opt/opt,sys$library:vaxcrtl/lib'lopt
-$
$ cleanup:
$ if f$trnlnm("SYS").nes."" then $ deassign sys
$ if f$trnlnm("OPTF").nes."" then $ close optf
@@ -128,18 +131,22 @@ $!-----------------------------------------------------------------------------
$!
$ compileit : subroutine
$ ploc = f$locate("]",p1)
-$ filnam = p1
-$ if ploc .lt. f$length(p1) then filnam=f$extract(ploc+1,100,p1)
-$ write optf "''filnam'"
-$ cc'ccopt'/include=([],[.glob]) -
+$ if ploc .lt. f$length(p1)
+$ then
+$ objdir = f$extract(0, ploc+1, p1)
+$ write optf p1
+$ else
+$ objdir := []
+$ write optf objdir+p1
+$ endif
+$ 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, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-$!2006, 2007, 2008, 2009, 2010 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 --git a/makefile.vms b/makefile.vms
index 1e6a88e6..ad5ded7f 100644
--- a/makefile.vms
+++ b/makefile.vms
@@ -1,7 +1,6 @@
# -*-Makefile-*- to build GNU make on VMS
#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 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
@@ -21,7 +20,7 @@
# Klaus Kämpf (kkaempf@rmi.de)
# Modified for version 3.78.1 by Hartmut.Becker@compaq.com.
# Modified for version 3.80 by zinser@decus.de
-# Modified for version 3.81 by Hartmut Becker
+# Modified for versions 3.81, 3.99.90 by Hartmut Becker
CC = cc
CP = copy
@@ -82,22 +81,26 @@ extras = ,signame.obj,remote-stub.obj,vmsfunctions.obj,vmsify.obj
# as an alternative:
glob = ,[.glob]glob.obj,[.glob]fnmatch.obj
getopt = ,getopt.obj,getopt1.obj
-# Directory to install `make' in.
+# Directory to install 'make' in.
bindir = []
# Directory to install the man page in.
mandir = []
# Number to put on the man page filename.
manext = 1
-objs = commands.obj,job.obj,dir.obj,file.obj,misc.obj,hash.obj,\
- main.obj,read.obj,remake.obj,rule.obj,implicit.obj,\
+guile = ,guile.obj
+
+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$(ARCHIVES)$(ALLOCA)$(extras)$(getopt)$(glob)
-srcs = commands.c job.c dir.c file.c misc.c hash.c \
- main.c read.c remake.c rule.c implicit.c \
+ 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 $(ARCHIVES_SRC) $(ALLOCASRC) \
- commands.h dep.h filedef.h job.h make.h rule.h variable.h
+ commands.h dep.h filedef.h job.h output.h makeint.h rule.h variable.h
.PHONY: all doc
@@ -111,39 +114,60 @@ make.exe: $(objs)
.PHONY: clean realclean
clean:
- $$ purge [...]
+ -purge [...]
-$(RM) make.exe;,*.obj;
-$(RM) [.glob]*.obj;
-# Automatically generated dependencies.
-commands.obj: commands.c make.h dep.h commands.h filedef.h variable.h job.h
-job.obj: job.c vmsjobs.c make.h commands.h job.h filedef.h variable.h
-dir.obj: dir.c make.h
-file.obj: file.c make.h commands.h dep.h filedef.h variable.h
-misc.obj: misc.c make.h dep.h
-hash.obj: hash.c make.h hash.h
-strcache.obj: strcache.c make.h hash.h
-main.obj: main.c make.h commands.h dep.h filedef.h variable.h job.h
-read.obj: read.c make.h commands.h dep.h filedef.h variable.h
-remake.obj: remake.c make.h commands.h job.h dep.h filedef.h
-rule.obj: rule.c make.h commands.h dep.h filedef.h variable.h rule.h
-implicit.obj: implicit.c make.h rule.h dep.h filedef.h
-default.obj: default.c make.h rule.h dep.h filedef.h commands.h variable.h
-variable.obj: variable.c make.h commands.h variable.h dep.h filedef.h
-expand.obj: expand.c make.h commands.h filedef.h variable.h
-function.obj: function.c make.h variable.h dep.h commands.h job.h
-vpath.obj: vpath.c make.h filedef.h variable.h
+ar.obj: ar.c makeint.h config.h gnumake.h gettext.h filedef.h hash.h dep.h \
+ [.glob]fnmatch.h
+arscan.obj: arscan.c makeint.h config.h gnumake.h gettext.h
+commands.obj: commands.c makeint.h config.h gnumake.h gettext.h filedef.h \
+ hash.h dep.h variable.h job.h output.h commands.h
+default.obj: default.c makeint.h config.h gnumake.h gettext.h filedef.h \
+ hash.h variable.h rule.h dep.h job.h output.h commands.h
+dir.obj: dir.c makeint.h config.h gnumake.h gettext.h hash.h filedef.h \
+ dep.h [.glob]glob.h
+expand.obj: expand.c makeint.h config.h gnumake.h gettext.h filedef.h \
+ hash.h job.h output.h commands.h variable.h rule.h
+file.obj: file.c makeint.h config.h gnumake.h gettext.h filedef.h hash.h \
+ dep.h job.h output.h commands.h variable.h debug.h
+[.glob]fnmatch.obj: [.glob]fnmatch.c config.h [.glob]fnmatch.h
+function.obj: function.c makeint.h config.h gnumake.h gettext.h filedef.h \
+ hash.h variable.h dep.h job.h output.h commands.h debug.h
+getopt.obj: getopt.c config.h gettext.h getopt.h
+getopt1.obj: getopt1.c config.h getopt.h
+[.glob]glob.obj: [.glob]glob.c config.h [.glob]fnmatch.h [.glob]glob.h
+guile.obj: guile.c makeint.h config.h gnumake.h gettext.h
+hash.obj: hash.c makeint.h config.h gnumake.h gettext.h hash.h
+implicit.obj: implicit.c makeint.h config.h gnumake.h gettext.h filedef.h \
+ hash.h rule.h dep.h debug.h variable.h job.h output.h commands.h
+job.obj: job.c makeint.h config.h gnumake.h gettext.h job.h output.h debug.h \
+ filedef.h hash.h commands.h variable.h debug.h vmsjobs.c
+load.obj: load.c makeint.h config.h gnumake.h gettext.h
+main.obj: main.c makeint.h config.h gnumake.h gettext.h filedef.h hash.h \
+ dep.h variable.h job.h output.h commands.h rule.h debug.h getopt.h
+misc.obj: misc.c makeint.h config.h gnumake.h gettext.h filedef.h hash.h \
+ dep.h debug.h
+output.obj: output.c makeint.h config.h gnumake.h gettext.h job.h output.h
+read.obj: read.c makeint.h config.h gnumake.h gettext.h [.glob]glob.h \
+ filedef.h hash.h dep.h job.h output.h commands.h variable.h rule.h \
+ debug.h
+remake.obj: remake.c makeint.h config.h gnumake.h gettext.h filedef.h \
+ hash.h job.h output.h commands.h dep.h variable.h debug.h
+remote-stub.obj: remote-stub.c makeint.h config.h gnumake.h gettext.h \
+ filedef.h hash.h job.h output.h commands.h
+rule.obj: rule.c makeint.h config.h gnumake.h gettext.h filedef.h hash.h \
+ dep.h job.h output.h commands.h variable.h rule.h
+signame.obj: signame.c makeint.h config.h gnumake.h gettext.h
+strcache.obj: strcache.c makeint.h config.h gnumake.h gettext.h hash.h
+variable.obj: variable.c makeint.h config.h gnumake.h gettext.h filedef.h \
+ hash.h dep.h job.h output.h commands.h variable.h rule.h
version.obj: version.c config.h
-arscan.obj: arscan.c
-ar.obj: ar.c make.h filedef.h
-signame.obj: signame.c
-remote-stub.obj: remote-stub.c
-[.glob]glob.obj: [.glob]glob.c
-[.glob]fnmatch.obj: [.glob]fnmatch.c
-getopt.obj: getopt.c
-getopt1.obj: getopt1.c
-vmsfunctions.obj: vmsfunctions.c make.h vmsdir.h
-vmsify.obj: vmsify.c make.h
+vmsfunctions.obj: vmsfunctions.c makeint.h config.h gnumake.h gettext.h \
+ debug.h job.h output.h vmsdir.h
+vmsify.obj: vmsify.c
+vpath.obj: vpath.c makeint.h config.h gnumake.h gettext.h filedef.h hash.h \
+ variable.h
config.h: config.h-vms
$(CP) $< $@
diff --git a/make.h b/makeint.h
index 60ade4c1..fdcae75b 100644
--- a/make.h
+++ b/makeint.h
@@ -1,7 +1,5 @@
/* Miscellaneous global declarations and portability cruft for GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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,7 +16,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* We use <config.h> instead of "config.h" so that a compilation
using -I. -I$srcdir will use ./config.h rather than $srcdir/config.h
- (which it would do because make.h was found in $srcdir). */
+ (which it would do because makeint.h was found in $srcdir). */
#include <config.h>
#undef HAVE_CONFIG_H
#define HAVE_CONFIG_H 1
@@ -43,6 +41,20 @@ char *alloca ();
# endif
#endif
+/* Disable assert() unless we're a maintainer.
+ Some asserts are compute-intensive. */
+#ifndef MAKE_MAINTAINER_MODE
+# define NDEBUG 1
+#endif
+
+/* Include the externally-visible content.
+ Be sure to use the local one, and not one installed on the system.
+ Define GMK_BUILDING_MAKE for proper selection of dllexport/dllimport
+ declarations for MS-Windows. */
+#ifdef WINDOWS32
+# define GMK_BUILDING_MAKE
+#endif
+#include "gnumake.h"
#ifdef CRAY
/* This must happen before #include <signal.h> so
@@ -60,13 +72,12 @@ char *alloca ();
#include <signal.h>
#include <stdio.h>
#include <ctype.h>
+
#ifdef HAVE_SYS_TIMEB_H
-/* SCO 3.2 "devsys 4.2" has a prototype for `ftime' in <time.h> that bombs
- unless <sys/timeb.h> has been included first. Does every system have a
- <sys/timeb.h>? If any does not, configure should check for it. */
+/* SCO 3.2 "devsys 4.2" has a prototype for 'ftime' in <time.h> that bombs
+ unless <sys/timeb.h> has been included first. */
# include <sys/timeb.h>
#endif
-
#if TIME_WITH_SYS_TIME
# include <sys/time.h>
# include <time.h>
@@ -91,7 +102,7 @@ extern int errno;
#ifdef HAVE_UNISTD_H
# include <unistd.h>
/* Ultrix's unistd.h always defines _POSIX_VERSION, but you only get
- POSIX.1 behavior with `cc -YPOSIX', which predefines POSIX itself! */
+ POSIX.1 behavior with 'cc -YPOSIX', which predefines POSIX itself! */
# if defined (_POSIX_VERSION) && !defined (ultrix) && !defined (VMS)
# define POSIX 1
# endif
@@ -148,8 +159,13 @@ unsigned int get_path_max (void);
# define CHAR_BIT 8
#endif
-/* Nonzero if the integer type T is signed. */
-#define INTEGER_TYPE_SIGNED(t) ((t) -1 < 0)
+#ifndef USHRT_MAX
+# define USHRT_MAX 65535
+#endif
+
+/* Nonzero if the integer type T is signed.
+ Use <= to avoid GCC warnings about always-false expressions. */
+#define INTEGER_TYPE_SIGNED(t) ((t) -1 <= 0)
/* The minimum and maximum values for the integer type T.
Use ~ (t) 0, not -1, for portability to 1's complement hosts. */
@@ -178,6 +194,7 @@ unsigned int get_path_max (void);
#endif
#ifdef VMS
+# include <fcntl.h>
# include <types.h>
# include <unixlib.h>
# include <unixio.h>
@@ -191,7 +208,7 @@ unsigned int get_path_max (void);
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
# define __attribute__(x)
# endif
-/* The __-protected variants of `format' and `printf' attributes
+/* The __-protected variants of 'format' and 'printf' attributes
are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
# define __format__ format
@@ -249,6 +266,9 @@ char *strerror (int errnum);
#if HAVE_INTTYPES_H
# include <inttypes.h>
#endif
+#if HAVE_STDINT_H
+# include <stdint.h>
+#endif
#define FILE_TIMESTAMP uintmax_t
#if !defined(HAVE_STRSIGNAL)
@@ -262,7 +282,7 @@ char *strsignal (int signum);
- It's typically faster.
POSIX 1003.2-1992 section 2.5.2.1 page 50 lines 1556-1558 says that
only '0' through '9' are digits. Prefer ISDIGIT to isdigit() unless
- it's important to use the locale's definition of `digit' even when the
+ it's important to use the locale's definition of 'digit' even when the
host does not conform to POSIX. */
#define ISDIGIT(c) ((unsigned) (c) - '0' <= 9)
@@ -305,11 +325,15 @@ char *strsignal (int signum);
#define N_(msgid) gettext_noop (msgid)
#define S_(msg1,msg2,num) ngettext (msg1,msg2,num)
-/* Handle other OSs. */
-#ifndef PATH_SEPARATOR_CHAR
-# if defined(HAVE_DOS_PATHS)
-# define PATH_SEPARATOR_CHAR ';'
-# elif defined(VMS)
+/* 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 ':'
@@ -326,10 +350,17 @@ char *strsignal (int signum);
# include <malloc.h>
# define pipe(_p) _pipe((_p), 512, O_BINARY)
# define kill(_pid,_sig) w32_kill((_pid),(_sig))
+/* MSVC and Watcom C don't have ftruncate. */
+# if defined(_MSC_VER) || defined(__WATCOMC__)
+# define ftruncate(_fd,_len) _chsize(_fd,_len)
+# endif
+/* MinGW64 doesn't have _S_ISDIR. */
+# ifndef _S_ISDIR
+# define _S_ISDIR(m) S_ISDIR(m)
+# endif
void sync_Path_environment (void);
int w32_kill (pid_t pid, int sig);
-char *end_of_token_w32 (const char *s, char stopchar);
int find_and_set_default_shell (const char *token);
/* indicates whether or not we have Bourne shell */
@@ -337,54 +368,97 @@ extern int no_default_sh_exe;
/* is default_shell unixy? */
extern int unixy_shell;
+
+/* We don't have a preferred fixed value for LOCALEDIR. */
+# ifndef LOCALEDIR
+# define LOCALEDIR NULL
+# endif
+
+/* Include only the minimal stuff from windows.h. */
+#define WIN32_LEAN_AND_MEAN
#endif /* WINDOWS32 */
+#define ANY_SET(_v,_m) (((_v)&(_m)) != 0)
+#define NONE_SET(_v,_m) (! ANY_SET ((_v),(_m)))
+
+#define MAP_NUL 0x0001
+#define MAP_BLANK 0x0002
+#define MAP_SPACE 0x0004
+#define MAP_COMMENT 0x0008
+#define MAP_SEMI 0x0010
+#define MAP_EQUALS 0x0020
+#define MAP_COLON 0x0040
+#define MAP_PERCENT 0x0080
+#define MAP_PIPE 0x0100
+#define MAP_DOT 0x0200
+#define MAP_COMMA 0x0400
+
+/* These are the valid characters for a user-defined function. */
+#define MAP_USERFUNC 0x2000
+/* This means not only a '$', but skip the variable reference. */
+#define MAP_VARIABLE 0x4000
+/* The set of characters which are directory separators is OS-specific. */
+#define MAP_DIRSEP 0x8000
+
+#ifdef VMS
+# define MAP_VMSCOMMA MAP_COMMA
+#else
+# define MAP_VMSCOMMA 0x0000
+#endif
+
+#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
#endif
#ifdef SET_STACK_SIZE
# include <sys/resource.h>
-struct rlimit stack_limit;
+extern struct rlimit stack_limit;
#endif
-struct floc
- {
- const char *filenm;
- unsigned long lineno;
- };
-#define NILF ((struct floc *)0)
+#define NILF ((gmk_floc *)0)
-#define STRING_SIZE_TUPLE(_s) (_s), (sizeof (_s)-1)
+#define CSTRLEN(_s) (sizeof (_s)-1)
+#define STRING_SIZE_TUPLE(_s) (_s), CSTRLEN(_s)
-
-/* We have to have stdarg.h or varargs.h AND v*printf or doprnt to use
- variadic versions of these functions. */
+/* The number of bytes needed to represent the largest integer as a string. */
+#define INTSTR_LENGTH CSTRLEN ("18446744073709551616")
-#if HAVE_STDARG_H || HAVE_VARARGS_H
-# if HAVE_VPRINTF || HAVE_DOPRNT
-# define USE_VARIADIC 1
-# endif
+#ifdef HAVE_TTYNAME
+# define TTYNAME(_f) ttyname (_f)
+#else
+# define TTYNAME(_f) "true"
#endif
-#if HAVE_ANSI_COMPILER && USE_VARIADIC && HAVE_STDARG_H
+
const char *concat (unsigned int, ...);
-void message (int prefix, const char *fmt, ...)
- __attribute__ ((__format__ (__printf__, 2, 3)));
-void error (const struct floc *flocp, const char *fmt, ...)
- __attribute__ ((__format__ (__printf__, 2, 3)));
-void fatal (const struct floc *flocp, const char *fmt, ...)
- __attribute__ ((noreturn, __format__ (__printf__, 2, 3)));
-#else
-const char *concat ();
-void message ();
-void error ();
-void fatal ();
-#endif
+void message (int prefix, size_t length, const char *fmt, ...)
+ __attribute__ ((__format__ (__printf__, 3, 4)));
+void error (const gmk_floc *flocp, size_t length, const char *fmt, ...)
+ __attribute__ ((__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))
+#define OSS(_t,_a,_f,_s1,_s2) _t((_a), strlen (_s1) + strlen (_s2), \
+ (_f), (_s1), (_s2))
+#define OSSS(_t,_a,_f,_s1,_s2,_s3) _t((_a), strlen (_s1) + strlen (_s2) + strlen (_s3), \
+ (_f), (_s1), (_s2), (_s3))
+#define ON(_t,_a,_f,_n) _t((_a), INTSTR_LENGTH, (_f), (_n))
+#define ONN(_t,_a,_f,_n1,_n2) _t((_a), INTSTR_LENGTH*2, (_f), (_n1), (_n2))
+
+#define OSN(_t,_a,_f,_s,_n) _t((_a), strlen (_s) + INTSTR_LENGTH, \
+ (_f), (_s), (_n))
+#define ONS(_t,_a,_f,_n,_s) _t((_a), INTSTR_LENGTH + strlen (_s), \
+ (_f), (_n), (_s))
+
+#define OUT_OF_MEM() O (fatal, NILF, _("virtual memory exhausted"))
void die (int) __attribute__ ((noreturn));
-void log_working_directory (int);
void pfatal_with_name (const char *) __attribute__ ((noreturn));
void perror_with_name (const char *, const char *);
+#define xstrlen(_s) ((_s)==NULL ? 0 : strlen (_s))
void *xmalloc (unsigned int);
void *xcalloc (unsigned int);
void *xrealloc (void *, unsigned int);
@@ -399,7 +473,6 @@ int alpha_compare (const void *, const void *);
void print_spaces (unsigned int);
char *find_percent (char *);
const char *find_percent_cached (const char **);
-FILE *open_tmpfile (char **, const char *);
#ifndef NO_ARCHIVES
int ar_name (const char *);
@@ -408,9 +481,9 @@ int ar_touch (const char *);
time_t ar_member_date (const char *);
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, int mode, const void *arg);
+ long int hdrpos, long int datapos,
+ long int size, long int date, int uid,
+ 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);
@@ -427,6 +500,7 @@ const char *dir_name (const char *);
void hash_init_directories (void);
void define_default_variables (void);
+void undefine_default_variables (void);
void set_default_suffixes (void);
void install_default_suffix_rules (void);
void install_default_implicit_rules (void);
@@ -443,8 +517,6 @@ void user_access (void);
void make_access (void);
void child_access (void);
-void close_stdout (void);
-
char *strip_whitespace (const char **begpp, const char **endpp);
/* String caching */
@@ -452,12 +524,16 @@ 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, int len);
-int strcache_setbufsize (int size);
+const char *strcache_add_len (const char *str, unsigned int len);
+int strcache_setbufsize (unsigned int size);
-#ifdef HAVE_VFORK_H
-# include <vfork.h>
-#endif
+/* Guile support */
+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 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,
because such systems often declare them in header files anyway. */
@@ -502,18 +578,25 @@ int strncasecmp (const char *s1, const char *s2, int n);
# endif
#endif
-extern const struct floc *reading_file;
-extern const struct floc **expanding_var;
+#define OUTPUT_SYNC_NONE 0
+#define OUTPUT_SYNC_LINE 1
+#define OUTPUT_SYNC_TARGET 2
+#define OUTPUT_SYNC_RECURSE 3
+
+extern const gmk_floc *reading_file;
+extern const gmk_floc **expanding_var;
extern char **environ;
+extern unsigned short stopchar_map[];
+
extern int just_print_flag, silent_flag, ignore_errors_flag, keep_going_flag;
extern int print_data_base_flag, question_flag, touch_flag, always_make_flag;
extern int env_overrides, no_builtin_rules_flag, no_builtin_variables_flag;
extern int print_version_flag, print_directory_flag, check_symlink_flag;
-extern int warn_undefined_variables_flag, posix_pedantic, not_parallel;
-extern int second_expansion, clock_skew_detected, rebuilding_makefiles;
-extern int one_shell;
+extern int warn_undefined_variables_flag, trace_flag, posix_pedantic;
+extern int not_parallel, second_expansion, clock_skew_detected;
+extern int rebuilding_makefiles, one_shell, output_sync, verify_flag;
/* can we run commands via 'sh -c xxx' or must we use batch files? */
extern int batch_mode_shell;
@@ -532,7 +615,17 @@ extern double max_load_average;
extern int max_load_average;
#endif
+#ifdef WINDOWS32
extern char *program;
+#else
+extern const char *program;
+#endif
+
+#ifdef VMS
+const char *vms_command(const char *argv0);
+const char *vms_progname(const char *argv0);
+#endif
+
extern char *starting_directory;
extern unsigned int makelevel;
extern char *version_string, *remote_description, *make_host;
@@ -549,10 +642,14 @@ extern int handling_fatal_signal;
#define MAX(_a,_b) ((_a)>(_b)?(_a):(_b))
#endif
+
#ifdef VMS
-# define MAKE_SUCCESS 1
-# define MAKE_TROUBLE 2
-# define MAKE_FAILURE 3
+/* 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
diff --git a/misc.c b/misc.c
index 7a6f7731..00a3210a 100644
--- a/misc.c
+++ b/misc.c
@@ -1,7 +1,5 @@
/* Miscellaneous generic support functions for GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -16,42 +14,21 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
+#include "filedef.h"
#include "dep.h"
#include "debug.h"
-/* Variadic functions. We go through contortions to allow proper function
- prototypes for both ANSI and pre-ANSI C compilers, and also for those
- which support stdarg.h vs. varargs.h, and finally those which have
- vfprintf(), etc. and those who have _doprnt... or nothing.
-
- This fancy stuff all came from GNU fileutils, except for the VA_PRINTF and
- VA_END macros used here since we have multiple print functions. */
-
-#if USE_VARIADIC
-# if HAVE_STDARG_H
-# include <stdarg.h>
-# define VA_START(args, lastarg) va_start(args, lastarg)
-# else
-# include <varargs.h>
-# define VA_START(args, lastarg) va_start(args)
-# endif
-# if HAVE_VPRINTF
-# define VA_PRINTF(fp, lastarg, args) vfprintf((fp), (lastarg), (args))
-# else
-# define VA_PRINTF(fp, lastarg, args) _doprnt((lastarg), (args), (fp))
-# endif
-# define VA_END(args) va_end(args)
+/* GNU make no longer supports pre-ANSI89 environments. */
+
+#include <stdarg.h>
+
+#ifdef HAVE_FCNTL_H
+# include <fcntl.h>
#else
-/* We can't use any variadic interface! */
-# define va_alist a1, a2, a3, a4, a5, a6, a7, a8
-# define va_dcl char *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8;
-# define VA_START(args, lastarg)
-# define VA_PRINTF(fp, lastarg, args) fprintf((fp), (lastarg), va_alist)
-# define VA_END(args)
+# include <sys/file.h>
#endif
-
/* Compare strings *S1 and *S2.
Return negative if the first is less, positive if it is greater,
zero if they are equal. */
@@ -74,9 +51,7 @@ alpha_compare (const void *v1, const void *v2)
void
collapse_continuations (char *line)
{
- register char *in, *out, *p;
- register int backslash;
- register unsigned int bs_write;
+ char *in, *out, *p;
in = strchr (line, '\n');
if (in == 0)
@@ -89,62 +64,64 @@ collapse_continuations (char *line)
while (*in != '\0')
{
/* BS_WRITE gets the number of quoted backslashes at
- the end just before IN, and BACKSLASH gets nonzero
- if the next character is quoted. */
- backslash = 0;
- bs_write = 0;
+ the end just before IN, and BACKSLASH gets nonzero
+ if the next character is quoted. */
+ unsigned int backslash = 0;
+ unsigned int bs_write = 0;
for (p = in - 1; p >= line && *p == '\\'; --p)
- {
- if (backslash)
- ++bs_write;
- backslash = !backslash;
+ {
+ if (backslash)
+ ++bs_write;
+ backslash = !backslash;
- /* It should be impossible to go back this far without exiting,
- but if we do, we can't get the right answer. */
- if (in == out - 1)
- abort ();
- }
+ /* It should be impossible to go back this far without exiting,
+ but if we do, we can't get the right answer. */
+ if (in == out - 1)
+ abort ();
+ }
/* Output the appropriate number of backslashes. */
while (bs_write-- > 0)
- *out++ = '\\';
+ *out++ = '\\';
/* Skip the newline. */
++in;
- /* If the newline is escaped, discard following whitespace leaving just
- one space. POSIX requires that each backslash/newline/following
- whitespace sequence be reduced to a single space. */
if (backslash)
- {
- in = next_token (in);
- /* Removing this loop will fix Savannah bug #16670: do we want to? */
- while (out > line && isblank ((unsigned char)out[-1]))
- --out;
- *out++ = ' ';
- }
+ {
+ /* Backslash/newline handling:
+ In traditional GNU make all trailing whitespace, consecutive
+ backslash/newlines, and any leading whitespace on the next line
+ is reduced to a single space.
+ In POSIX, each backslash/newline and is replaced by a space. */
+ in = next_token (in);
+ if (! posix_pedantic)
+ while (out > line && isblank ((unsigned char)out[-1]))
+ --out;
+ *out++ = ' ';
+ }
else
- /* If the newline isn't quoted, put it in the output. */
- *out++ = '\n';
+ /* If the newline isn't quoted, put it in the output. */
+ *out++ = '\n';
/* Now copy the following line to the output.
- Stop when we find backslashes followed by a newline. */
+ Stop when we find backslashes followed by a newline. */
while (*in != '\0')
- if (*in == '\\')
- {
- p = in + 1;
- while (*p == '\\')
- ++p;
- if (*p == '\n')
- {
- in = p;
- break;
- }
- while (in < p)
- *out++ = *in++;
- }
- else
- *out++ = *in++;
+ if (*in == '\\')
+ {
+ p = in + 1;
+ while (*p == '\\')
+ ++p;
+ if (*p == '\n')
+ {
+ in = p;
+ break;
+ }
+ while (in < p)
+ *out++ = *in++;
+ }
+ else
+ *out++ = *in++;
}
*out = '\0';
@@ -164,28 +141,19 @@ print_spaces (unsigned int n)
This string lives in static, re-used memory. */
const char *
-#if HAVE_ANSI_COMPILER && USE_VARIADIC && HAVE_STDARG_H
concat (unsigned int num, ...)
-#else
-concat (num, va_alist)
- unsigned int num;
- va_dcl
-#endif
{
static unsigned int rlen = 0;
static char *result = NULL;
- int ri = 0;
-
-#if USE_VARIADIC
+ unsigned int ri = 0;
va_list args;
-#endif
- VA_START (args, num);
+ va_start (args, num);
while (num-- > 0)
{
const char *s = va_arg (args, const char *);
- unsigned int l = s ? strlen (s) : 0;
+ unsigned int l = xstrlen (s);
if (l == 0)
continue;
@@ -200,7 +168,7 @@ concat (num, va_alist)
ri += l;
}
- VA_END (args);
+ va_end (args);
/* Get some more memory if we don't have enough space for the
terminating '\0'. */
@@ -215,113 +183,9 @@ concat (num, va_alist)
return result;
}
-/* Print a message on stdout. */
-
-void
-#if HAVE_ANSI_COMPILER && USE_VARIADIC && HAVE_STDARG_H
-message (int prefix, const char *fmt, ...)
-#else
-message (prefix, fmt, va_alist)
- int prefix;
- const char *fmt;
- va_dcl
-#endif
-{
-#if USE_VARIADIC
- va_list args;
-#endif
-
- log_working_directory (1);
-
- if (fmt != 0)
- {
- if (prefix)
- {
- if (makelevel == 0)
- printf ("%s: ", program);
- else
- printf ("%s[%u]: ", program, makelevel);
- }
- VA_START (args, fmt);
- VA_PRINTF (stdout, fmt, args);
- VA_END (args);
- putchar ('\n');
- }
-
- fflush (stdout);
-}
-
-/* Print an error message. */
-
-void
-#if HAVE_ANSI_COMPILER && USE_VARIADIC && HAVE_STDARG_H
-error (const struct floc *flocp, const char *fmt, ...)
-#else
-error (flocp, fmt, va_alist)
- const struct floc *flocp;
- const char *fmt;
- va_dcl
-#endif
-{
-#if USE_VARIADIC
- va_list args;
-#endif
-
- log_working_directory (1);
-
- if (flocp && flocp->filenm)
- fprintf (stderr, "%s:%lu: ", flocp->filenm, flocp->lineno);
- else if (makelevel == 0)
- fprintf (stderr, "%s: ", program);
- else
- fprintf (stderr, "%s[%u]: ", program, makelevel);
-
- VA_START(args, fmt);
- VA_PRINTF (stderr, fmt, args);
- VA_END (args);
-
- putc ('\n', stderr);
- fflush (stderr);
-}
-
-/* Print an error message and exit. */
-
-void
-#if HAVE_ANSI_COMPILER && USE_VARIADIC && HAVE_STDARG_H
-fatal (const struct floc *flocp, const char *fmt, ...)
-#else
-fatal (flocp, fmt, va_alist)
- const struct floc *flocp;
- const char *fmt;
- va_dcl
-#endif
-{
-#if USE_VARIADIC
- va_list args;
-#endif
-
- log_working_directory (1);
-
- if (flocp && flocp->filenm)
- fprintf (stderr, "%s:%lu: *** ", flocp->filenm, flocp->lineno);
- else if (makelevel == 0)
- fprintf (stderr, "%s: *** ", program);
- else
- fprintf (stderr, "%s[%u]: *** ", program, makelevel);
-
- VA_START(args, fmt);
- VA_PRINTF (stderr, fmt, args);
- VA_END (args);
-
- fputs (_(". Stop.\n"), stderr);
-
- die (2);
-}
#ifndef HAVE_STRERROR
-
-#undef strerror
-
+#undef strerror
char *
strerror (int errnum)
{
@@ -338,24 +202,6 @@ strerror (int errnum)
return buf;
}
#endif
-
-/* Print an error message from errno. */
-
-void
-perror_with_name (const char *str, const char *name)
-{
- error (NILF, _("%s%s: %s"), str, name, strerror (errno));
-}
-
-/* Print an error message from errno and exit. */
-
-void
-pfatal_with_name (const char *name)
-{
- fatal (NILF, _("%s: %s"), name, strerror (errno));
-
- /* NOTREACHED */
-}
/* Like malloc but get fatal error if memory is exhausted. */
/* Don't bother if we're using dmalloc; it provides these for us. */
@@ -373,7 +219,7 @@ xmalloc (unsigned int size)
/* Make sure we don't allocate 0, for pre-ISO implementations. */
void *result = malloc (size ? size : 1);
if (result == 0)
- fatal (NILF, _("virtual memory exhausted"));
+ OUT_OF_MEM();
return result;
}
@@ -384,7 +230,7 @@ xcalloc (unsigned int size)
/* Make sure we don't allocate 0, for pre-ISO implementations. */
void *result = calloc (size ? size : 1, 1);
if (result == 0)
- fatal (NILF, _("virtual memory exhausted"));
+ OUT_OF_MEM();
return result;
}
@@ -399,7 +245,7 @@ xrealloc (void *ptr, unsigned int size)
size = 1;
result = ptr ? realloc (ptr, size) : malloc (size);
if (result == 0)
- fatal (NILF, _("virtual memory exhausted"));
+ OUT_OF_MEM();
return result;
}
@@ -416,7 +262,7 @@ xstrdup (const char *ptr)
#endif
if (result == 0)
- fatal (NILF, _("virtual memory exhausted"));
+ OUT_OF_MEM();
#ifdef HAVE_STRDUP
return result;
@@ -435,7 +281,7 @@ xstrndup (const char *str, unsigned int length)
#ifdef HAVE_STRNDUP
result = strndup (str, length);
if (result == 0)
- fatal (NILF, _("virtual memory exhausted"));
+ OUT_OF_MEM();
#else
result = xmalloc (length + 1);
if (length > 0)
@@ -468,41 +314,11 @@ lindex (const char *s, const char *limit, int c)
char *
end_of_token (const char *s)
{
- while (*s != '\0' && !isblank ((unsigned char)*s))
+ while (! STOP_SET (*s, MAP_BLANK|MAP_NUL))
++s;
return (char *)s;
}
-#ifdef WINDOWS32
-/*
- * Same as end_of_token, but take into account a stop character
- */
-char *
-end_of_token_w32 (const char *s, char stopchar)
-{
- const char *p = s;
- int backslash = 0;
-
- while (*p != '\0' && *p != stopchar
- && (backslash || !isblank ((unsigned char)*p)))
- {
- if (*p++ == '\\')
- {
- backslash = !backslash;
- while (*p == '\\')
- {
- backslash = !backslash;
- ++p;
- }
- }
- else
- backslash = 0;
- }
-
- return (char *)p;
-}
-#endif
-
/* Return the address of the first nonwhitespace or null in the string S. */
char *
@@ -533,7 +349,7 @@ find_next_token (const char **ptr, unsigned int *lengthptr)
}
-/* Copy a chain of `struct dep'. For 2nd expansion deps, dup the name. */
+/* Copy a chain of 'struct dep'. For 2nd expansion deps, dup the name. */
struct dep *
copy_dep_chain (const struct dep *d)
@@ -551,9 +367,9 @@ copy_dep_chain (const struct dep *d)
c->next = 0;
if (firstnew == 0)
- firstnew = lastnew = c;
+ firstnew = lastnew = c;
else
- lastnew = lastnew->next = c;
+ lastnew = lastnew->next = c;
d = d->next;
}
@@ -590,7 +406,6 @@ free_ns_chain (struct nameseq *ns)
#if !HAVE_STRCASECMP && !HAVE_STRICMP && !HAVE_STRCMPI
-
/* If we don't have strcasecmp() (from POSIX), or anything that can substitute
for it, define our own version. */
@@ -616,7 +431,6 @@ strcasecmp (const char *s1, const char *s2)
#endif
#if !HAVE_STRNCASECMP && !HAVE_STRNICMP && !HAVE_STRNCMPI
-
/* If we don't have strncasecmp() (from POSIX), or anything that can
substitute for it, define our own version. */
@@ -643,7 +457,7 @@ strncasecmp (const char *s1, const char *s2, int n)
}
#endif
-#ifdef GETLOADAVG_PRIVILEGED
+#ifdef GETLOADAVG_PRIVILEGED
#ifdef POSIX
@@ -656,7 +470,7 @@ strncasecmp (const char *s1, const char *s2, int n)
#undef HAVE_SETREUID
#undef HAVE_SETREGID
-#else /* Not POSIX. */
+#else /* Not POSIX. */
/* Some POSIX.1 systems have the seteuid and setegid functions. In a
POSIX-like system, they are the best thing to use. However, some
@@ -666,30 +480,30 @@ strncasecmp (const char *s1, const char *s2, int n)
#undef HAVE_SETEUID
#undef HAVE_SETEGID
-#endif /* POSIX. */
+#endif /* POSIX. */
-#ifndef HAVE_UNISTD_H
+#ifndef HAVE_UNISTD_H
extern int getuid (), getgid (), geteuid (), getegid ();
extern int setuid (), setgid ();
#ifdef HAVE_SETEUID
extern int seteuid ();
#else
-#ifdef HAVE_SETREUID
+#ifdef HAVE_SETREUID
extern int setreuid ();
-#endif /* Have setreuid. */
-#endif /* Have seteuid. */
+#endif /* Have setreuid. */
+#endif /* Have seteuid. */
#ifdef HAVE_SETEGID
extern int setegid ();
#else
-#ifdef HAVE_SETREGID
+#ifdef HAVE_SETREGID
extern int setregid ();
-#endif /* Have setregid. */
-#endif /* Have setegid. */
-#endif /* No <unistd.h>. */
+#endif /* Have setregid. */
+#endif /* Have setegid. */
+#endif /* No <unistd.h>. */
/* Keep track of the user and group IDs for user- and make- access. */
static int user_uid = -1, user_gid = -1, make_uid = -1, make_gid = -1;
-#define access_inited (user_uid != -1)
+#define access_inited (user_uid != -1)
static enum { make, user } current_access;
@@ -706,7 +520,7 @@ log_access (const char *flavor)
run in a child fork whose stdout is piped. */
fprintf (stderr, _("%s: user %lu (real %lu), group %lu (real %lu)\n"),
- flavor, (unsigned long) geteuid (), (unsigned long) getuid (),
+ flavor, (unsigned long) geteuid (), (unsigned long) getuid (),
(unsigned long) getegid (), (unsigned long) getgid ());
fflush (stderr);
}
@@ -732,14 +546,14 @@ init_access (void)
#endif
}
-#endif /* GETLOADAVG_PRIVILEGED */
+#endif /* GETLOADAVG_PRIVILEGED */
/* Give the process appropriate permissions for access to
user data (i.e., to stat files, or to spawn a child process). */
void
user_access (void)
{
-#ifdef GETLOADAVG_PRIVILEGED
+#ifdef GETLOADAVG_PRIVILEGED
if (!access_inited)
init_access ();
@@ -752,7 +566,7 @@ user_access (void)
We now want to set the effective user and group IDs to the real IDs,
which are the IDs of the process that exec'd make. */
-#ifdef HAVE_SETEUID
+#ifdef HAVE_SETEUID
/* Modern systems have the seteuid/setegid calls which set only the
effective IDs, which is ideal. */
@@ -760,9 +574,9 @@ user_access (void)
if (seteuid (user_uid) < 0)
pfatal_with_name ("user_access: seteuid");
-#else /* Not HAVE_SETEUID. */
+#else /* Not HAVE_SETEUID. */
-#ifndef HAVE_SETREUID
+#ifndef HAVE_SETREUID
/* System V has only the setuid/setgid calls to set user/group IDs.
There is an effective ID, which can be set by setuid/setgid.
@@ -775,7 +589,7 @@ user_access (void)
if (setuid (user_uid) < 0)
pfatal_with_name ("user_access: setuid");
-#else /* HAVE_SETREUID. */
+#else /* HAVE_SETREUID. */
/* In 4BSD, the setreuid/setregid calls set both the real and effective IDs.
They may be set to themselves or each other. So you have two alternatives
@@ -787,14 +601,14 @@ user_access (void)
if (setreuid (make_uid, user_uid) < 0)
pfatal_with_name ("user_access: setreuid");
-#endif /* Not HAVE_SETREUID. */
-#endif /* HAVE_SETEUID. */
+#endif /* Not HAVE_SETREUID. */
+#endif /* HAVE_SETEUID. */
-#ifdef HAVE_SETEGID
+#ifdef HAVE_SETEGID
if (setegid (user_gid) < 0)
pfatal_with_name ("user_access: setegid");
#else
-#ifndef HAVE_SETREGID
+#ifndef HAVE_SETREGID
if (setgid (user_gid) < 0)
pfatal_with_name ("user_access: setgid");
#else
@@ -807,7 +621,7 @@ user_access (void)
log_access (_("User access"));
-#endif /* GETLOADAVG_PRIVILEGED */
+#endif /* GETLOADAVG_PRIVILEGED */
}
/* Give the process appropriate permissions for access to
@@ -815,7 +629,7 @@ user_access (void)
void
make_access (void)
{
-#ifdef GETLOADAVG_PRIVILEGED
+#ifdef GETLOADAVG_PRIVILEGED
if (!access_inited)
init_access ();
@@ -825,11 +639,11 @@ make_access (void)
/* See comments in user_access, above. */
-#ifdef HAVE_SETEUID
+#ifdef HAVE_SETEUID
if (seteuid (make_uid) < 0)
pfatal_with_name ("make_access: seteuid");
#else
-#ifndef HAVE_SETREUID
+#ifndef HAVE_SETREUID
if (setuid (make_uid) < 0)
pfatal_with_name ("make_access: setuid");
#else
@@ -838,11 +652,11 @@ make_access (void)
#endif
#endif
-#ifdef HAVE_SETEGID
+#ifdef HAVE_SETEGID
if (setegid (make_gid) < 0)
pfatal_with_name ("make_access: setegid");
#else
-#ifndef HAVE_SETREGID
+#ifndef HAVE_SETREGID
if (setgid (make_gid) < 0)
pfatal_with_name ("make_access: setgid");
#else
@@ -855,7 +669,7 @@ make_access (void)
log_access (_("Make access"));
-#endif /* GETLOADAVG_PRIVILEGED */
+#endif /* GETLOADAVG_PRIVILEGED */
}
/* Give the process appropriate permissions for a child process.
@@ -863,7 +677,7 @@ make_access (void)
void
child_access (void)
{
-#ifdef GETLOADAVG_PRIVILEGED
+#ifdef GETLOADAVG_PRIVILEGED
if (!access_inited)
abort ();
@@ -871,7 +685,7 @@ child_access (void)
/* Set both the real and effective UID and GID to the user's.
They cannot be changed back to make's. */
-#ifndef HAVE_SETREUID
+#ifndef HAVE_SETREUID
if (setuid (user_uid) < 0)
pfatal_with_name ("child_access: setuid");
#else
@@ -879,7 +693,7 @@ child_access (void)
pfatal_with_name ("child_access: setreuid");
#endif
-#ifndef HAVE_SETREGID
+#ifndef HAVE_SETREGID
if (setgid (user_gid) < 0)
pfatal_with_name ("child_access: setgid");
#else
@@ -889,9 +703,9 @@ child_access (void)
log_access (_("Child access"));
-#endif /* GETLOADAVG_PRIVILEGED */
+#endif /* GETLOADAVG_PRIVILEGED */
}
-
+
#ifdef NEED_GET_PATH_MAX
unsigned int
get_path_max (void)
@@ -902,58 +716,11 @@ get_path_max (void)
{
long int x = pathconf ("/", _PC_PATH_MAX);
if (x > 0)
- value = x;
+ value = x;
else
- return MAXPATHLEN;
+ return MAXPATHLEN;
}
return value;
}
#endif
-
-
-/* This code is stolen from gnulib.
- If/when we abandon the requirement to work with K&R compilers, we can
- remove this (and perhaps other parts of GNU make!) and migrate to using
- gnulib directly.
-
- This is called only through atexit(), which means die() has already been
- invoked. So, call exit() here directly. Apparently that works...?
-*/
-
-/* Close standard output, exiting with status 'exit_failure' on failure.
- If a program writes *anything* to stdout, that program should close
- stdout and make sure that it succeeds before exiting. Otherwise,
- suppose that you go to the extreme of checking the return status
- of every function that does an explicit write to stdout. The last
- printf can succeed in writing to the internal stream buffer, and yet
- the fclose(stdout) could still fail (due e.g., to a disk full error)
- when it tries to write out that buffered data. Thus, you would be
- left with an incomplete output file and the offending program would
- exit successfully. Even calling fflush is not always sufficient,
- since some file systems (NFS and CODA) buffer written/flushed data
- until an actual close call.
-
- Besides, it's wasteful to check the return value from every call
- that writes to stdout -- just let the internal stream state record
- the failure. That's what the ferror test is checking below.
-
- It's important to detect such failures and exit nonzero because many
- tools (most notably `make' and other build-management systems) depend
- on being able to detect failure in other tools via their exit status. */
-
-void
-close_stdout (void)
-{
- int prev_fail = ferror (stdout);
- int fclose_fail = fclose (stdout);
-
- if (prev_fail || fclose_fail)
- {
- if (fclose_fail)
- error (NILF, _("write error: %s"), strerror (errno));
- else
- error (NILF, _("write error"));
- exit (EXIT_FAILURE);
- }
-}
diff --git a/output.c b/output.c
new file mode 100644
index 00000000..e537f3a6
--- /dev/null
+++ b/output.c
@@ -0,0 +1,723 @@
+/* Output to stdout / stderr for GNU make
+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
+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 <http://www.gnu.org/licenses/>. */
+
+#include "makeint.h"
+#include "job.h"
+
+/* GNU make no longer supports pre-ANSI89 environments. */
+
+#include <assert.h>
+#include <stdio.h>
+#include <stdarg.h>
+
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
+#ifdef HAVE_FCNTL_H
+# include <fcntl.h>
+#else
+# include <sys/file.h>
+#endif
+
+#ifdef WINDOWS32
+# include <windows.h>
+# include <io.h>
+# include "sub_proc.h"
+#endif /* WINDOWS32 */
+
+struct output *output_context = NULL;
+unsigned int stdio_traced = 0;
+
+#define OUTPUT_NONE (-1)
+
+#define OUTPUT_ISSET(_out) ((_out)->out >= 0 || (_out)->err >= 0)
+
+#ifdef HAVE_FCNTL
+# define STREAM_OK(_s) ((fcntl (fileno (_s), F_GETFD) != -1) || (errno != EBADF))
+#else
+# define STREAM_OK(_s) 1
+#endif
+
+/* Write a string to the current STDOUT or STDERR. */
+static void
+_outputs (struct output *out, int is_err, const char *msg)
+{
+ if (! out || ! out->syncout)
+ {
+ FILE *f = is_err ? stderr : stdout;
+ fputs (msg, f);
+ fflush (f);
+ }
+ else
+ {
+ int fd = is_err ? out->err : out->out;
+ int len = strlen (msg);
+ int r;
+
+ EINTRLOOP (r, lseek (fd, 0, SEEK_END));
+ while (1)
+ {
+ EINTRLOOP (r, write (fd, msg, len));
+ if (r == len || r <= 0)
+ break;
+ len -= r;
+ msg += r;
+ }
+ }
+}
+
+/* Write a message indicating that we've just entered or
+ left (according to ENTERING) the current directory. */
+
+static int
+log_working_directory (int entering)
+{
+ static char *buf = NULL;
+ static unsigned int len = 0;
+ unsigned int need;
+ const char *fmt;
+ char *p;
+
+ /* Get enough space for the longest possible output. */
+ need = strlen (program) + INTSTR_LENGTH + 2 + 1;
+ if (starting_directory)
+ need += strlen (starting_directory);
+
+ /* Use entire sentences to give the translators a fighting chance. */
+ if (makelevel == 0)
+ if (starting_directory == 0)
+ if (entering)
+ fmt = _("%s: Entering an unknown directory\n");
+ else
+ fmt = _("%s: Leaving an unknown directory\n");
+ else
+ if (entering)
+ fmt = _("%s: Entering directory '%s'\n");
+ else
+ fmt = _("%s: Leaving directory '%s'\n");
+ else
+ if (starting_directory == 0)
+ if (entering)
+ fmt = _("%s[%u]: Entering an unknown directory\n");
+ else
+ fmt = _("%s[%u]: Leaving an unknown directory\n");
+ else
+ if (entering)
+ fmt = _("%s[%u]: Entering directory '%s'\n");
+ else
+ fmt = _("%s[%u]: Leaving directory '%s'\n");
+
+ need += strlen (fmt);
+
+ if (need > len)
+ {
+ buf = xrealloc (buf, need);
+ len = need;
+ }
+
+ p = buf;
+ if (print_data_base_flag)
+ {
+ *(p++) = '#';
+ *(p++) = ' ';
+ }
+
+ if (makelevel == 0)
+ if (starting_directory == 0)
+ sprintf (p, fmt , program);
+ else
+ sprintf (p, fmt, program, starting_directory);
+ else if (starting_directory == 0)
+ sprintf (p, fmt, program, makelevel);
+ else
+ sprintf (p, fmt, program, makelevel, starting_directory);
+
+ _outputs (NULL, 0, buf);
+
+ return 1;
+}
+
+/* Set a file descriptor to be in O_APPEND mode.
+ If it fails, just ignore it. */
+
+static void
+set_append_mode (int fd)
+{
+#if defined(F_GETFL) && defined(F_SETFL) && defined(O_APPEND)
+ int flags = fcntl (fd, F_GETFL, 0);
+ if (flags >= 0)
+ fcntl (fd, F_SETFL, flags | O_APPEND);
+#endif
+}
+
+
+#ifndef NO_OUTPUT_SYNC
+
+/* Semaphore for use in -j mode with output_sync. */
+static sync_handle_t sync_handle = -1;
+
+#define FD_NOT_EMPTY(_f) ((_f) != OUTPUT_NONE && lseek ((_f), 0, SEEK_END) > 0)
+
+/* Set up the sync handle. Disables output_sync on error. */
+static int
+sync_init ()
+{
+ int combined_output = 0;
+
+#ifdef WINDOWS32
+ if ((!STREAM_OK (stdout) && !STREAM_OK (stderr))
+ || (sync_handle = create_mutex ()) == -1)
+ {
+ perror_with_name ("output-sync suppressed: ", "stderr");
+ output_sync = 0;
+ }
+ else
+ {
+ combined_output = same_stream (stdout, stderr);
+ prepare_mutex_handle_string (sync_handle);
+ }
+
+#else
+ if (STREAM_OK (stdout))
+ {
+ struct stat stbuf_o, stbuf_e;
+
+ sync_handle = fileno (stdout);
+ combined_output = (fstat (fileno (stdout), &stbuf_o) == 0
+ && fstat (fileno (stderr), &stbuf_e) == 0
+ && stbuf_o.st_dev == stbuf_e.st_dev
+ && stbuf_o.st_ino == stbuf_e.st_ino);
+ }
+ else if (STREAM_OK (stderr))
+ sync_handle = fileno (stderr);
+ else
+ {
+ perror_with_name ("output-sync suppressed: ", "stderr");
+ output_sync = 0;
+ }
+#endif
+
+ return combined_output;
+}
+
+/* Support routine for output_sync() */
+static void
+pump_from_tmp (int from, FILE *to)
+{
+ static char buffer[8192];
+
+#ifdef WINDOWS32
+ int prev_mode;
+
+ /* "from" is opened by open_tmpfd, which does it in binary mode, so
+ we need the mode of "to" to match that. */
+ prev_mode = _setmode (fileno (to), _O_BINARY);
+#endif
+
+ if (lseek (from, 0, SEEK_SET) == -1)
+ perror ("lseek()");
+
+ while (1)
+ {
+ int len;
+ EINTRLOOP (len, read (from, buffer, sizeof (buffer)));
+ if (len < 0)
+ perror ("read()");
+ if (len <= 0)
+ break;
+ if (fwrite (buffer, len, 1, to) < 1)
+ {
+ perror ("fwrite()");
+ break;
+ }
+ fflush (to);
+ }
+
+#ifdef WINDOWS32
+ /* Switch "to" back to its original mode, so that log messages by
+ Make have the same EOL format as without --output-sync. */
+ _setmode (fileno (to), prev_mode);
+#endif
+}
+
+/* Obtain the lock for writing output. */
+static void *
+acquire_semaphore (void)
+{
+ static struct flock fl;
+
+ fl.l_type = F_WRLCK;
+ fl.l_whence = SEEK_SET;
+ fl.l_start = 0;
+ fl.l_len = 1;
+ if (fcntl (sync_handle, F_SETLKW, &fl) != -1)
+ return &fl;
+ perror ("fcntl()");
+ return NULL;
+}
+
+/* Release the lock for writing output. */
+static void
+release_semaphore (void *sem)
+{
+ struct flock *flp = (struct flock *)sem;
+ flp->l_type = F_UNLCK;
+ if (fcntl (sync_handle, F_SETLKW, flp) == -1)
+ perror ("fcntl()");
+}
+
+/* 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 ()
+{
+ int fd = -1;
+ FILE *tfile = tmpfile ();
+
+ if (! tfile)
+ pfatal_with_name ("tmpfile");
+
+ /* Create a duplicate so we can close the stream. */
+ fd = dup (fileno (tfile));
+ if (fd < 0)
+ pfatal_with_name ("dup");
+
+ fclose (tfile);
+
+ set_append_mode (fd);
+
+ return fd;
+}
+
+/* Adds file descriptors to the child structure to support output_sync; one
+ for stdout and one for stderr as long as they are open. If stdout and
+ stderr share a device they can share a temp file too.
+ Will reset output_sync on error. */
+static void
+setup_tmpfile (struct output *out)
+{
+ /* Is make's stdout going to the same place as stderr? */
+ static int combined_output = -1;
+
+ if (combined_output < 0)
+ combined_output = sync_init ();
+
+ if (STREAM_OK (stdout))
+ {
+ int fd = output_tmpfd ();
+ if (fd < 0)
+ goto error;
+ CLOSE_ON_EXEC (fd);
+ out->out = fd;
+ }
+
+ if (STREAM_OK (stderr))
+ {
+ if (out->out != OUTPUT_NONE && combined_output)
+ out->err = out->out;
+ else
+ {
+ int fd = output_tmpfd ();
+ if (fd < 0)
+ goto error;
+ CLOSE_ON_EXEC (fd);
+ out->err = fd;
+ }
+ }
+
+ return;
+
+ /* If we failed to create a temp file, disable output sync going forward. */
+ error:
+ output_close (out);
+ output_sync = 0;
+}
+
+/* Synchronize the output of jobs in -j mode to keep the results of
+ each job together. This is done by holding the results in temp files,
+ one for stdout and potentially another for stderr, and only releasing
+ them to "real" stdout/stderr when a semaphore can be obtained. */
+
+void
+output_dump (struct output *out)
+{
+ int outfd_not_empty = FD_NOT_EMPTY (out->out);
+ int errfd_not_empty = FD_NOT_EMPTY (out->err);
+
+ if (outfd_not_empty || errfd_not_empty)
+ {
+ int traced = 0;
+
+ /* Try to acquire the semaphore. If it fails, dump the output
+ unsynchronized; still better than silently discarding it.
+ We want to keep this lock for as little time as possible. */
+ void *sem = acquire_semaphore ();
+
+ /* Log the working directory for this dump. */
+ if (print_directory_flag && output_sync != OUTPUT_SYNC_RECURSE)
+ traced = log_working_directory (1);
+
+ if (outfd_not_empty)
+ pump_from_tmp (out->out, stdout);
+ if (errfd_not_empty && out->err != out->out)
+ pump_from_tmp (out->err, stderr);
+
+ if (traced)
+ log_working_directory (0);
+
+ /* Exit the critical section. */
+ if (sem)
+ release_semaphore (sem);
+
+ /* Truncate and reset the output, in case we use it again. */
+ if (out->out != OUTPUT_NONE)
+ {
+ int e;
+ lseek (out->out, 0, SEEK_SET);
+ EINTRLOOP (e, ftruncate (out->out, 0));
+ }
+ if (out->err != OUTPUT_NONE && out->err != out->out)
+ {
+ int e;
+ lseek (out->err, 0, SEEK_SET);
+ EINTRLOOP (e, ftruncate (out->err, 0));
+ }
+ }
+}
+#endif /* NO_OUTPUT_SYNC */
+
+
+/* Provide support for temporary files. */
+
+#ifndef HAVE_STDLIB_H
+# ifdef HAVE_MKSTEMP
+int mkstemp (char *template);
+# else
+char *mktemp (char *template);
+# endif
+#endif
+
+FILE *
+output_tmpfile (char **name, const char *template)
+{
+#ifdef HAVE_FDOPEN
+ int fd;
+#endif
+
+#if defined HAVE_MKSTEMP || defined HAVE_MKTEMP
+# define TEMPLATE_LEN strlen (template)
+#else
+# define TEMPLATE_LEN L_tmpnam
+#endif
+ *name = xmalloc (TEMPLATE_LEN + 1);
+ strcpy (*name, template);
+
+#if defined HAVE_MKSTEMP && defined HAVE_FDOPEN
+ /* It's safest to use mkstemp(), if we can. */
+ fd = mkstemp (*name);
+ if (fd == -1)
+ return 0;
+ return fdopen (fd, "w");
+#else
+# ifdef HAVE_MKTEMP
+ (void) mktemp (*name);
+# else
+ (void) tmpnam (*name);
+# endif
+
+# ifdef HAVE_FDOPEN
+ /* Can't use mkstemp(), but guard against a race condition. */
+ fd = open (*name, O_CREAT|O_EXCL|O_WRONLY, 0600);
+ if (fd == -1)
+ return 0;
+ return fdopen (fd, "w");
+# else
+ /* Not secure, but what can we do? */
+ return fopen (*name, "w");
+# endif
+#endif
+}
+
+
+/* This code is stolen from gnulib.
+ If/when we abandon the requirement to work with K&R compilers, we can
+ remove this (and perhaps other parts of GNU make!) and migrate to using
+ gnulib directly.
+
+ This is called only through atexit(), which means die() has already been
+ invoked. So, call exit() here directly. Apparently that works...?
+*/
+
+/* Close standard output, exiting with status 'exit_failure' on failure.
+ If a program writes *anything* to stdout, that program should close
+ stdout and make sure that it succeeds before exiting. Otherwise,
+ suppose that you go to the extreme of checking the return status
+ of every function that does an explicit write to stdout. The last
+ printf can succeed in writing to the internal stream buffer, and yet
+ the fclose(stdout) could still fail (due e.g., to a disk full error)
+ when it tries to write out that buffered data. Thus, you would be
+ left with an incomplete output file and the offending program would
+ exit successfully. Even calling fflush is not always sufficient,
+ since some file systems (NFS and CODA) buffer written/flushed data
+ until an actual close call.
+
+ Besides, it's wasteful to check the return value from every call
+ that writes to stdout -- just let the internal stream state record
+ the failure. That's what the ferror test is checking below.
+
+ It's important to detect such failures and exit nonzero because many
+ tools (most notably 'make' and other build-management systems) depend
+ on being able to detect failure in other tools via their exit status. */
+
+static void
+close_stdout (void)
+{
+ int prev_fail = ferror (stdout);
+ int fclose_fail = fclose (stdout);
+
+ if (prev_fail || fclose_fail)
+ {
+ if (fclose_fail)
+ perror_with_name (_("write error: stdout"), "");
+ else
+ O (error, NILF, _("write error: stdout"));
+ exit (MAKE_TROUBLE);
+ }
+}
+
+
+void
+output_init (struct output *out)
+{
+ if (out)
+ {
+ out->out = out->err = OUTPUT_NONE;
+ out->syncout = !!output_sync;
+ return;
+ }
+
+ /* Configure this instance of make. Be sure stdout is line-buffered. */
+
+#ifdef HAVE_SETVBUF
+# ifdef SETVBUF_REVERSED
+ setvbuf (stdout, _IOLBF, xmalloc (BUFSIZ), BUFSIZ);
+# else /* setvbuf not reversed. */
+ /* Some buggy systems lose if we pass 0 instead of allocating ourselves. */
+ setvbuf (stdout, 0, _IOLBF, BUFSIZ);
+# endif /* setvbuf reversed. */
+#elif HAVE_SETLINEBUF
+ setlinebuf (stdout);
+#endif /* setlinebuf missing. */
+
+ /* Force stdout/stderr into append mode. This ensures parallel jobs won't
+ lose output due to overlapping writes. */
+ set_append_mode (fileno (stdout));
+ set_append_mode (fileno (stderr));
+
+#ifdef HAVE_ATEXIT
+ if (STREAM_OK (stdout))
+ atexit (close_stdout);
+#endif
+}
+
+void
+output_close (struct output *out)
+{
+ if (! out)
+ {
+ if (stdio_traced)
+ log_working_directory (0);
+ return;
+ }
+
+#ifndef NO_OUTPUT_SYNC
+ output_dump (out);
+#endif
+
+ if (out->out >= 0)
+ close (out->out);
+ if (out->err >= 0 && out->err != out->out)
+ close (out->err);
+
+ output_init (out);
+}
+
+/* We're about to generate output: be sure it's set up. */
+void
+output_start ()
+{
+#ifndef NO_OUTPUT_SYNC
+ /* If we're syncing output make sure the temporary file is set up. */
+ if (output_context && output_context->syncout)
+ if (! OUTPUT_ISSET(output_context))
+ setup_tmpfile (output_context);
+#endif
+
+ /* If we're not syncing this output per-line or per-target, make sure we emit
+ the "Entering..." message where appropriate. */
+ if (output_sync == OUTPUT_SYNC_NONE || output_sync == OUTPUT_SYNC_RECURSE)
+ if (! stdio_traced && print_directory_flag)
+ stdio_traced = log_working_directory (1);
+}
+
+void
+outputs (int is_err, const char *msg)
+{
+ if (! msg || *msg == '\0')
+ return;
+
+ output_start ();
+
+ _outputs (output_context, is_err, msg);
+}
+
+
+static struct fmtstring
+ {
+ char *buffer;
+ size_t size;
+ } fmtbuf = { NULL, 0 };
+
+static char *
+get_buffer (size_t need)
+{
+ /* Make sure we have room. NEED includes space for \0. */
+ if (need > fmtbuf.size)
+ {
+ fmtbuf.size += need * 2;
+ fmtbuf.buffer = xrealloc (fmtbuf.buffer, fmtbuf.size);
+ }
+
+ fmtbuf.buffer[need-1] = '\0';
+
+ return fmtbuf.buffer;
+}
+
+/* Print a message on stdout. */
+
+void
+message (int prefix, size_t len, const char *fmt, ...)
+{
+ va_list args;
+ char *p;
+
+ len += strlen (fmt) + strlen (program) + INTSTR_LENGTH + 4 + 1 + 1;
+ p = get_buffer (len);
+
+ if (prefix)
+ {
+ if (makelevel == 0)
+ sprintf (p, "%s: ", program);
+ else
+ sprintf (p, "%s[%u]: ", program, makelevel);
+ p += strlen (p);
+ }
+
+ va_start (args, fmt);
+ vsprintf (p, fmt, args);
+ va_end (args);
+
+ strcat (p, "\n");
+
+ assert (fmtbuf.buffer[len-1] == '\0');
+ outputs (0, fmtbuf.buffer);
+}
+
+/* Print an error message. */
+
+void
+error (const gmk_floc *flocp, size_t len, const char *fmt, ...)
+{
+ va_list args;
+ char *p;
+
+ len += (strlen (fmt) + strlen (program)
+ + (flocp && flocp->filenm ? strlen (flocp->filenm) : 0)
+ + INTSTR_LENGTH + 4 + 1 + 1);
+ p = get_buffer (len);
+
+ if (flocp && flocp->filenm)
+ sprintf (p, "%s:%lu: ", flocp->filenm, flocp->lineno);
+ else if (makelevel == 0)
+ sprintf (p, "%s: ", program);
+ else
+ sprintf (p, "%s[%u]: ", program, makelevel);
+ p += strlen (p);
+
+ va_start (args, fmt);
+ vsprintf (p, fmt, args);
+ va_end (args);
+
+ strcat (p, "\n");
+
+ assert (fmtbuf.buffer[len-1] == '\0');
+ outputs (1, fmtbuf.buffer);
+}
+
+/* Print an error message and exit. */
+
+void
+fatal (const gmk_floc *flocp, size_t len, const char *fmt, ...)
+{
+ va_list args;
+ const char *stop = _(". Stop.\n");
+ char *p;
+
+ len += (strlen (fmt) + strlen (program)
+ + (flocp && flocp->filenm ? strlen (flocp->filenm) : 0)
+ + INTSTR_LENGTH + 8 + strlen (stop) + 1);
+ p = get_buffer (len);
+
+ if (flocp && flocp->filenm)
+ sprintf (p, "%s:%lu: *** ", flocp->filenm, flocp->lineno);
+ else if (makelevel == 0)
+ sprintf (p, "%s: *** ", program);
+ else
+ sprintf (p, "%s[%u]: *** ", program, makelevel);
+ p += strlen (p);
+
+ va_start (args, fmt);
+ vsprintf (p, fmt, args);
+ va_end (args);
+
+ strcat (p, stop);
+
+ assert (fmtbuf.buffer[len-1] == '\0');
+ outputs (1, fmtbuf.buffer);
+
+ die (MAKE_FAILURE);
+}
+
+/* Print an error message from errno. */
+
+void
+perror_with_name (const char *str, const char *name)
+{
+ const char *err = strerror (errno);
+ OSSS (error, NILF, _("%s%s: %s"), str, name, err);
+}
+
+/* Print an error message from errno and exit. */
+
+void
+pfatal_with_name (const char *name)
+{
+ const char *err = strerror (errno);
+ OSS (fatal, NILF, _("%s: %s"), name, err);
+
+ /* NOTREACHED */
+}
diff --git a/output.h b/output.h
new file mode 100644
index 00000000..7c5332cf
--- /dev/null
+++ b/output.h
@@ -0,0 +1,51 @@
+/* Output to stdout / stderr for GNU make
+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
+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 <http://www.gnu.org/licenses/>. */
+
+struct output
+ {
+ int out;
+ int err;
+ unsigned int syncout:1; /* True if we want to synchronize output. */
+ };
+
+extern struct output *output_context;
+extern unsigned int stdio_traced;
+
+#define OUTPUT_SET(_new) do{ output_context = (_new)->syncout ? (_new) : NULL; }while(0)
+#define OUTPUT_UNSET() do{ output_context = NULL; }while(0)
+
+#define OUTPUT_TRACED() do{ stdio_traced = 1; }while(0)
+#define OUTPUT_IS_TRACED() (!!stdio_traced)
+
+FILE *output_tmpfile (char **, const char *);
+
+/* Initialize and close a child output structure: if NULL do this program's
+ output (this should only be done once). */
+void output_init (struct output *out);
+void output_close (struct output *out);
+
+/* In situations where output may be about to be displayed but we're not
+ sure if we've set it up yet, call this. */
+void output_start (void);
+
+/* Show a message on stdout or stderr. Will start the output if needed. */
+void outputs (int is_err, const char *msg);
+
+#ifndef NO_OUTPUT_SYNC
+int output_tmpfd (void);
+/* Dump any child output content to stdout, and reset it. */
+void output_dump (struct output *out);
+#endif
diff --git a/po/.cvsignore b/po/.cvsignore
deleted file mode 100644
index e8502291..00000000
--- a/po/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-*.gmo *.mo *.pot *.po
-
-Makefile Makefile.in Makefile.in.in Makevars.template
-Rules-quot stamp-po
-*.sed *.sin *.header
-POTFILES
diff --git a/po/ChangeLog b/po/ChangeLog
deleted file mode 100644
index dbc21b4b..00000000
--- a/po/ChangeLog
+++ /dev/null
@@ -1,82 +0,0 @@
-2009-09-16 Paul Smith <psmith@gnu.org>
-
- * LINGUAS: Added new translation for Italian (it).
-
-2008-05-17 Paul Smith <psmith@gnu.org>
-
- * LINGUAS: Added new translation for Lithuanian (lt).
-
-2007-08-15 Paul Smith <psmith@gnu.org>
-
- * LINGUAS: The Kinyarwanda (rw) translation has disappeared from
- the translation site, so remove it.
-
-2006-01-28 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added new translation for Vietnamese (vi).
-
-2005-07-14 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added new translation for Indonesian (id).
-
-2005-05-09 Paul D. Smith <psmith@gnu.org>
-
- * POTFILES.in: Add new file vmsjobs.c.
-
-2005-04-06 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added a new translation for Kinywarwanda (rw).
-
-2005-02-09 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added a new translation for Irish (ga).
-
-2005-02-01 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added a new translation for Finnish (fi).
-
-2003-10-18 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added a new translation for Belarusian (be).
-
-2002-12-19 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Added a new translation for Ukrainian (uk).
-
-2002-10-05 Paul D. Smith <psmith@gnu.org>
-
- * POTFILES.in: Add variable.h as it has a translatable string.
-
-2002-08-08 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Add a new translation for Chinese (simplified) (zh_CN).
-
-2002-08-02 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS: Add a new translation for Swedish (sv).
-
-2002-04-21 Paul D. Smith <psmith@gnu.org>
-
- * LINGUAS, hr.po: Added new translation: Croatian.
-
- * da.po, de.po, es.po, fr.po, gl.po, he.po, ja.po, ko.po, nl.po,
- pl.po, pt_BR.po, ru.po, tr.po: Moved from i18n to here.
- * .cvsignore: Moved from i18n to here.
-
- * POTFILES.in, LINGUAS, Makevars: Created.
-
-Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 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 <http://www.gnu.org/licenses/>.
diff --git a/po/LINGUAS b/po/LINGUAS
index 67747132..d9ba7f4f 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -1,5 +1,5 @@
-# Set of available languages: 24 languages
+# Set of available languages: 25 languages
-be da de es fi fr ga gl he hr id it ja ko lt nl pl pt_BR ru sv tr uk vi zh_CN
+be cs da de es fi fr ga gl he hr id it ja ko lt nl pl pt_BR ru sv tr uk vi zh_CN
# Can't seem to get en@quot and en@boldquot to build properly?
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
index 53efc5e1..83d8838a 100644
--- a/po/Makefile.in.in
+++ b/po/Makefile.in.in
@@ -1,5 +1,5 @@
# Makefile for PO directory in any package using GNU gettext.
-# Copyright (C) 1995-1997, 2000-2004 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
#
# This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU General Public
@@ -8,10 +8,12 @@
# 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.14
+# Origin: gettext-0.18
+GETTEXT_MACRO_VERSION = 0.18
PACKAGE = @PACKAGE@
VERSION = @VERSION@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
SHELL = /bin/sh
@SET_MAKE@
@@ -22,18 +24,38 @@ VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
+datarootdir = @datarootdir@
datadir = @datadir@
-localedir = $(datadir)/locale
+localedir = @localedir@
gettextsrcdir = $(datadir)/gettext/po
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
-GMSGFMT = @GMSGFMT@
-MSGFMT = @MSGFMT@
-XGETTEXT = @XGETTEXT@
+# We use $(mkdir_p).
+# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
+# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
+# @install_sh@ does not start with $(SHELL), so we add it.
+# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
+# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
+# versions, $(mkinstalldirs) and $(install_sh) are unused.
+mkinstalldirs = $(SHELL) @install_sh@ -d
+install_sh = $(SHELL) @install_sh@
+MKDIR_P = @MKDIR_P@
+mkdir_p = @mkdir_p@
+
+GMSGFMT_ = @GMSGFMT@
+GMSGFMT_no = @GMSGFMT@
+GMSGFMT_yes = @GMSGFMT_015@
+GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
+MSGFMT_ = @MSGFMT@
+MSGFMT_no = @MSGFMT@
+MSGFMT_yes = @MSGFMT_015@
+MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
+XGETTEXT_ = @XGETTEXT@
+XGETTEXT_no = @XGETTEXT@
+XGETTEXT_yes = @XGETTEXT_015@
+XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
MSGMERGE = msgmerge
MSGMERGE_UPDATE = @MSGMERGE@ --update
MSGINIT = msginit
@@ -46,7 +68,7 @@ UPDATEPOFILES = @UPDATEPOFILES@
DUMMYPOFILES = @DUMMYPOFILES@
DISTFILES.common = Makefile.in.in remove-potcdate.sin \
$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
-DISTFILES = $(DISTFILES.common) Makevars POTFILES.in $(DOMAIN).pot stamp-po \
+DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
$(POFILES) $(GMOFILES) \
$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
@@ -66,19 +88,32 @@ CATALOGS = @CATALOGS@
.po.gmo:
@lang=`echo $* | sed -e 's,.*/,,'`; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \
- cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
+ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \
+ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
.sin.sed:
sed -e '/^#/d' $< > t-$@
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@" \
+ || { 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; \
+ }
+
+# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
+# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
+# we don't want to bother translators with empty POT files). We assume that
+# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
+# In this case, stamp-po is a nop (i.e. a phony target).
+
# stamp-po is a timestamp denoting the last time at which the CATALOGS have
# been loosely updated. Its purpose is that when a developer or translator
# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
@@ -88,10 +123,13 @@ all-no:
# $(POFILES) has been designed to not touch files that don't need to be
# changed.
stamp-po: $(srcdir)/$(DOMAIN).pot
- test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
- @echo "touch stamp-po"
- @echo timestamp > stamp-poT
- @mv stamp-poT stamp-po
+ test ! -f $(srcdir)/$(DOMAIN).pot || \
+ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
+ @test ! -f $(srcdir)/$(DOMAIN).pot || { \
+ echo "touch stamp-po" && \
+ echo timestamp > stamp-poT && \
+ mv stamp-poT stamp-po; \
+ }
# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
# otherwise packages like GCC can not be built if only parts of the source
@@ -100,11 +138,34 @@ stamp-po: $(srcdir)/$(DOMAIN).pot
# 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.
$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
- $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
- --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
- --files-from=$(srcdir)/POTFILES.in \
- --copyright-holder='$(COPYRIGHT_HOLDER)' \
- --msgid-bugs-address='$(MSGID_BUGS_ADDRESS)'
+ if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \
+ package_gnu='GNU '; \
+ else \
+ package_gnu=''; \
+ fi; \
+ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
+ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
+ else \
+ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
+ fi; \
+ case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+ --files-from=$(srcdir)/POTFILES.in \
+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
+ --msgid-bugs-address="$$msgid_bugs_address" \
+ ;; \
+ *) \
+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+ --files-from=$(srcdir)/POTFILES.in \
+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
+ --package-name="$${package_gnu}@PACKAGE@" \
+ --package-version='@VERSION@' \
+ --msgid-bugs-address="$$msgid_bugs_address" \
+ ;; \
+ esac
test ! -f $(DOMAIN).po || { \
if test -f $(srcdir)/$(DOMAIN).pot; then \
sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
@@ -132,8 +193,15 @@ $(POFILES): $(srcdir)/$(DOMAIN).pot
@lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
if test -f "$(srcdir)/$${lang}.po"; then \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
- cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \
+ echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
+ cd $(srcdir) \
+ && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
+ *) \
+ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \
+ esac; \
+ }; \
else \
$(MAKE) $${lang}.po-create; \
fi
@@ -143,7 +211,7 @@ install: install-exec install-data
install-exec:
install-data: install-data-@USE_NLS@
if test "$(PACKAGE)" = "gettext-tools"; then \
- $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
for file in $(DISTFILES.common) Makevars.template; do \
$(INSTALL_DATA) $(srcdir)/$$file \
$(DESTDIR)$(gettextsrcdir)/$$file; \
@@ -156,13 +224,12 @@ install-data: install-data-@USE_NLS@
fi
install-data-no: all
install-data-yes: all
- $(mkinstalldirs) $(DESTDIR)$(datadir)
@catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
dir=$(localedir)/$$lang/LC_MESSAGES; \
- $(mkinstalldirs) $(DESTDIR)$$dir; \
+ $(mkdir_p) $(DESTDIR)$$dir; \
if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
$(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
@@ -202,19 +269,18 @@ installdirs: installdirs-exec installdirs-data
installdirs-exec:
installdirs-data: installdirs-data-@USE_NLS@
if test "$(PACKAGE)" = "gettext-tools"; then \
- $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
else \
: ; \
fi
installdirs-data-no:
installdirs-data-yes:
- $(mkinstalldirs) $(DESTDIR)$(datadir)
@catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
dir=$(localedir)/$$lang/LC_MESSAGES; \
- $(mkinstalldirs) $(DESTDIR)$$dir; \
+ $(mkdir_p) $(DESTDIR)$$dir; \
for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
if test -n "$$lc"; then \
if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
@@ -289,11 +355,14 @@ dist distdir:
$(MAKE) update-po
@$(MAKE) dist2
# This is a separate target because 'update-po' must be executed before.
-dist2: $(DISTFILES)
+dist2: stamp-po $(DISTFILES)
dists="$(DISTFILES)"; \
if test "$(PACKAGE)" = "gettext-tools"; then \
dists="$$dists Makevars.template"; \
fi; \
+ if test -f $(srcdir)/$(DOMAIN).pot; then \
+ dists="$$dists $(DOMAIN).pot stamp-po"; \
+ fi; \
if test -f $(srcdir)/ChangeLog; then \
dists="$$dists ChangeLog"; \
fi; \
@@ -305,9 +374,9 @@ dist2: $(DISTFILES)
if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
for file in $$dists; do \
if test -f $$file; then \
- cp -p $$file $(distdir); \
+ cp -p $$file $(distdir) || exit 1; \
else \
- cp -p $(srcdir)/$$file $(distdir); \
+ cp -p $(srcdir)/$$file $(distdir) || exit 1; \
fi; \
done
@@ -331,9 +400,15 @@ update-po: Makefile
tmpdir=`pwd`; \
echo "$$lang:"; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+ echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
cd $(srcdir); \
- if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
+ if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+ $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ *) \
+ $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ esac; \
+ }; then \
if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
rm -f $$tmpdir/$$lang.new.po; \
else \
@@ -354,10 +429,13 @@ $(DUMMYPOFILES):
update-gmo: Makefile $(GMOFILES)
@:
-Makefile: Makefile.in.in $(top_builddir)/config.status @POMAKEFILEDEPS@
+# Recreate Makefile by invoking config.status. Explicitly invoke the shell,
+# because execution permission bits may not work on the current file system.
+# Use @SHELL@, which is the shell determined by autoconf for the use by its
+# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient.
+Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
- $(SHELL) ./config.status
+ && @SHELL@ ./config.status $(subdir)/$@.in po-directories
force:
diff --git a/po/Makevars b/po/Makevars
index 2103ce8f..b69192ee 100644
--- a/po/Makevars
+++ b/po/Makevars
@@ -1,6 +1,5 @@
# This is a -*-Makefile-*-
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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 --git a/po/Makevars.template b/po/Makevars.template
deleted file mode 100644
index 32692ab4..00000000
--- a/po/Makevars.template
+++ /dev/null
@@ -1,41 +0,0 @@
-# Makefile variables for PO directory in any package using GNU gettext.
-
-# Usually the message domain is the same as the package name.
-DOMAIN = $(PACKAGE)
-
-# These two variables depend on the location of this directory.
-subdir = po
-top_builddir = ..
-
-# These options get passed to xgettext.
-XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
-
-# This is the copyright holder that gets inserted into the header of the
-# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
-# package. (Note that the msgstr strings, extracted from the package's
-# sources, belong to the copyright holder of the package.) Translators are
-# expected to transfer the copyright for their translations to this person
-# or entity, or to disclaim their copyright. The empty string stands for
-# the public domain; in this case the translators are expected to disclaim
-# their copyright.
-COPYRIGHT_HOLDER = Free Software Foundation, Inc.
-
-# This is the email address or URL to which the translators shall report
-# bugs in the untranslated strings:
-# - Strings which are not entire sentences, see the maintainer guidelines
-# in the GNU gettext documentation, section 'Preparing Strings'.
-# - Strings which use unclear terms or require additional context to be
-# understood.
-# - Strings which make invalid assumptions about notation of date, time or
-# money.
-# - Pluralisation problems.
-# - Incorrect English spelling.
-# - Incorrect formatting.
-# It can be your email address, or a mailing list address where translators
-# can write to without being subscribed, or the URL of a web page through
-# which the translators can contact you.
-MSGID_BUGS_ADDRESS =
-
-# This is the list of locale categories, beyond LC_MESSAGES, for which the
-# message catalogs shall be used. It is usually empty.
-EXTRA_LOCALE_CATEGORIES =
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 05208bb7..4287c5de 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,6 +1,5 @@
# List of source files containing translatable strings.
-# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-# 2010 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
@@ -24,11 +23,15 @@ expand.c
file.c
function.c
getopt.c
+guile.c
hash.c
implicit.c
job.c
+job.h
+load.c
main.c
misc.c
+output.c
read.c
remake.c
remote-cstms.c
diff --git a/po/Rules-quot b/po/Rules-quot
index 9c2a995e..af524879 100644
--- a/po/Rules-quot
+++ b/po/Rules-quot
@@ -20,7 +20,7 @@ en@boldquot.po-update: en@boldquot.po-update-en
ll=`echo $$lang | sed -e 's/@.*//'`; \
LC_ALL=C; export LC_ALL; \
cd $(srcdir); \
- if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -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 $(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 --git a/po/be.gmo b/po/be.gmo
index f5a45121..6c4ecf0a 100644
--- a/po/be.gmo
+++ b/po/be.gmo
Binary files differ
diff --git a/po/be.po b/po/be.po
index 3b94b022..73857244 100644
--- a/po/be.po
+++ b/po/be.po
@@ -6,117 +6,123 @@ msgid ""
msgstr ""
"Project-Id-Version: make 3.80\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-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 <nab@mail.by>\n"
"Language-Team: Belarusian <i18n@mova.org>\n"
+"Language: be\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 0.9.6\n"
-#: ar.c:48
-#, c-format
-msgid "attempt to use unsupported feature: `%s'"
+#: ar.c:46
+#, fuzzy, c-format
+msgid "attempt to use unsupported feature: '%s'"
msgstr "Ñпроба выкарыÑтаць непадтрымліваемую мажліваÑьць: \"%s\""
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
msgstr "дакрананьне да ўдзельніку архіва недаÑтупна на VMS"
-#: ar.c:149
-#, c-format
-msgid "touch: Archive `%s' does not exist"
+#: ar.c:147
+#, fuzzy, c-format
+msgid "touch: Archive '%s' does not exist"
msgstr "touch: архіў \"%s\" Ð½Ñ Ð¹Ñнуе"
-#: ar.c:152
-#, c-format
-msgid "touch: `%s' is not a valid archive"
+#: ar.c:150
+#, fuzzy, c-format
+msgid "touch: '%s' is not a valid archive"
msgstr "touch: \"%s\" - гÑта не Ñ€ÑчаіÑны архіў"
-#: ar.c:159
-#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
+#: ar.c:157
+#, fuzzy, c-format
+msgid "touch: Member '%s' does not exist in '%s'"
msgstr "touch: удзельнік \"%s\" Ð½Ñ Ð¹Ñнуе Ñž \"%s\""
-#: ar.c:166
+#: ar.c:164
#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
+msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr ""
-#: arscan.c:69
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr ""
-#: arscan.c:175
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr ""
-#: arscan.c:187
+#: arscan.c:255
#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
+msgid "unable to open library '%s' to lookup member status %d"
msgstr ""
-#: arscan.c:850
+#: arscan.c:944
#, c-format
-msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
+msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr ""
-#: arscan.c:851
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (назва муÑіла быць абрÑзана)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Дата %s"
-#: arscan.c:854
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, Ñ€Ñжым = 0%o.\n"
-#: commands.c:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr ""
+
+#: commands.c:505
msgid "*** Break.\n"
msgstr ""
-#: commands.c:622
+#: commands.c:629
#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
+msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr ""
-#: commands.c:625
+#: commands.c:633
#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
+msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr ""
-#: commands.c:638
-#, c-format
-msgid "*** [%s] Deleting file `%s'"
+#: commands.c:647
+#, fuzzy, c-format
+msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] ВыдалÑецца файл \"%s\""
-#: commands.c:640
-#, c-format
-msgid "*** Deleting file `%s'"
+#: commands.c:649
+#, fuzzy, c-format
+msgid "*** Deleting file '%s'"
msgstr "*** ВыдалÑецца файл \"%s\""
-#: commands.c:676
+#: commands.c:685
#, fuzzy
msgid "# recipe to execute"
msgstr "# загады Ð´Ð»Ñ Ð²Ñ‹ÐºÐ°Ð½Ð°Ð½ÑŒÐ½Ñ"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
msgstr " (убудаваны):"
-#: commands.c:681
-#, c-format
-msgid " (from `%s', line %lu):\n"
+#: commands.c:690
+#, fuzzy, c-format
+msgid " (from '%s', line %lu):\n"
msgstr " (з\"%s\", радок %lu):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -124,221 +130,221 @@ msgstr ""
"\n"
"# ТÑчкі\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
msgstr ""
-#: dir.c:1012
+#: dir.c:1005
#, c-format
msgid "# %s (key %s, mtime %d): could not be opened.\n"
msgstr ""
-#: dir.c:1016
+#: dir.c:1009
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n"
msgstr ""
-#: dir.c:1021
+#: dir.c:1014
#, c-format
msgid "# %s (device %ld, inode %ld): could not be opened.\n"
msgstr ""
-#: dir.c:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
msgstr ""
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
msgstr ""
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
msgstr ""
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "Ðе"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr " файлаў, "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "не"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
msgstr ""
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
msgstr " так далёка."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
msgstr ""
-#: expand.c:127
+#: expand.c:125
#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
+msgid "Recursive variable '%s' references itself (eventually)"
msgstr ""
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
msgstr ""
-#: file.c:267
+#: file.c:271
#, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
+msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr ""
-#: file.c:272
+#: file.c:276
#, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
+msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr ""
-#: file.c:275
+#: file.c:280
#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
+msgid "but '%s' is now considered the same file as '%s'."
msgstr ""
-#: file.c:278
+#: file.c:283
#, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
-msgstr ""
-
-#: file.c:298
-#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
+msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr ""
#: file.c:303
#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
+msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr ""
-#: file.c:392
+#: file.c:309
#, c-format
-msgid "*** Deleting intermediate file `%s'"
+msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr ""
-#: file.c:396
+#: file.c:401
+#, fuzzy, c-format
+msgid "*** Deleting intermediate file '%s'"
+msgstr "*** ВыдалÑецца файл \"%s\""
+
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "ВыдалÑюцца Ð¿Ñ€Ð°Ð¼ÐµÐ¶ÐºÐ°Ð²Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹...\n"
-#: file.c:803
+#: file.c:811
+msgid "Current time"
+msgstr "БÑгучы чаÑ"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: адбітак чаÑу па-за дапушчальнымі межамі, падÑтаўлÑецца %s"
-#: file.c:804
-msgid "Current time"
-msgstr "БÑгучы чаÑ"
-
-#: file.c:924
+#: file.c:955
msgid "# Not a target:"
msgstr "# ÐÑ Ð¼Ñта:"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr ""
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr ""
-#: file.c:933
+#: file.c:964
#, fuzzy
msgid "# Command line target."
msgstr "загадны радок"
-#: file.c:935
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr ""
-#: file.c:937
+#: file.c:968
+msgid "# Builtin rule"
+msgstr ""
+
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr ""
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr ""
-#: file.c:940
+#: file.c:973
#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
+msgid "# Implicit/static pattern stem: '%s'\n"
msgstr ""
-#: file.c:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr ""
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
msgstr "# Так Ñама робÑцца:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Ð§Ð°Ñ Ð·ÑŒÐ¼ÑÐ½ÐµÐ½ÑŒÐ½Ñ Ð½Ñ–ÐºÐ¾Ð»Ñ– не правÑраўÑÑ."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
msgstr "# Файл Ð½Ñ Ð¹Ñнуе."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
msgstr "# Файл вельмі Ñтары."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# ÐпошнÑе зьмÑненьне %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
msgstr "# Файл быў абноўлены."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Файл Ð½Ñ Ð±Ñ‹Ñž абноўлены."
-#: file.c:968
+#: file.c:1001
#, fuzzy
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Загады, што выконваюцца зараз (ГЭТР- ПÐМЫЛКÐ)."
-#: file.c:971
+#: file.c:1004
#, fuzzy
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Загады, што выконваюцца зараз (ГЭТР- ПÐМЫЛКÐ)."
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# ПаÑьпÑхова абноўлены."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr ""
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
msgstr ""
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
+#: file.c:1025
+msgid "# Invalid value in 'command_state' member!"
msgstr ""
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
-msgstr ""
-
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -346,124 +352,178 @@ msgstr ""
"\n"
"# Файлы"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
msgstr ""
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
+#: function.c:780
+msgid "non-numeric first argument to 'word' function"
msgstr ""
-#: function.c:783
-msgid "non-numeric first argument to `wordlist' function"
+#: function.c:785
+msgid "first argument to 'word' function must be greater than 0"
msgstr ""
-#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
+#: function.c:805
+msgid "non-numeric first argument to 'wordlist' function"
+msgstr ""
+
+#: function.c:807
+msgid "non-numeric second argument to 'wordlist' function"
msgstr ""
-#: function.c:1458
+#: function.c:1499
#, fuzzy, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "windows32_openpipe (): памылка ў process_init_fd()\n"
-#: function.c:1469
+#: function.c:1523
#, fuzzy, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "windows32_openpipe (): памылка ў process_init_fd()\n"
-#: function.c:1474
+#: function.c:1530
#, fuzzy, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "памылка ў CreatePipe() (e=%d)\n"
-#: function.c:1479
+#: function.c:1538
#, fuzzy
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe (): памылка ў process_init_fd()\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr ""
-#: function.c:2150
+#: function.c:2193
+#, fuzzy, c-format
+msgid "open: %s: %s"
+msgstr "%s: %s"
+
+#: function.c:2203
+#, fuzzy, c-format
+msgid "write: %s: %s"
+msgstr "%s: %s"
+
+#: function.c:2209
+#, c-format
+msgid "Invalid file operation: %s"
+msgstr ""
+
+#: function.c:2324
#, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
+msgid "insufficient number of arguments (%d) to function '%s'"
msgstr ""
-#: function.c:2162
+#: function.c:2336
#, fuzzy, c-format
-msgid "unimplemented on this platform: function `%s'"
+msgid "unimplemented on this platform: function '%s'"
msgstr "ÐÑ Ð·Ñ€Ð¾Ð±Ð»ÐµÐ½Ð° Ð´Ð»Ñ Ð³Ñтае плÑтформы: Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ \"%s\""
-#: function.c:2212
+#: function.c:2399
#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
+msgid "unterminated call to function '%s': missing '%c'"
msgstr ""
-#: getopt.c:661
+#: function.c:2591
+msgid "Empty function name"
+msgstr ""
+
+#: function.c:2593
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: выбар \"%s\" - неадназначы.\n"
+msgid "Invalid function name: %s"
+msgstr ""
-#: getopt.c:685
+#: function.c:2595
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: выбар \"--%s\" не дазвалÑе довад.\n"
+msgid "Function name too long: %s"
+msgstr ""
-#: getopt.c:690
+#: function.c:2598
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: выбар \"%c%s\" не дазвалÑе довад.\n"
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr ""
-#: getopt.c:707 getopt.c:880
+#: function.c:2601
#, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "Invalid maximum argument count (%d) for function %s"
+msgstr ""
+
+#: getopt.c:659
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: выбар \"%s\" - неадназначы.\n"
+
+#: getopt.c:683
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: выбар \"--%s\" не дазвалÑе довад.\n"
+
+#: getopt.c:688
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: выбар \"%c%s\" не дазвалÑе довад.\n"
+
+#: getopt.c:705 getopt.c:878
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s: выбар \"%s\" патрабуе довад.\n"
-#: getopt.c:736
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+#: getopt.c:734
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: нераÑпазнаны выбар \"--%s\".\n"
-#: getopt.c:740
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:738
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: нераÑпазнаны выбар \"%c%s\".\n"
-#: getopt.c:766
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: недапушчальны выбар -- %c.\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: нерÑчаіÑны выбар -- %c.\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: выбар патрабуе довад -- %c.\n"
-#: getopt.c:846
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:844
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: выбар \"-W %s\" - неадназначын.\n"
-#: getopt.c:864
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:862
+#, 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.c:74
+#, c-format
+msgid "guile: Evaluating '%s'\n"
+msgstr ""
+
#: hash.c:49
#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
@@ -484,348 +544,431 @@ msgstr ""
msgid "Collisions=%ld/%ld=%.0f%%"
msgstr ""
-#: implicit.c:40
+#: implicit.c:38
#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
+msgid "Looking for an implicit rule for '%s'.\n"
msgstr ""
-#: implicit.c:56
+#: implicit.c:54
#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
+msgid "Looking for archive-member implicit rule for '%s'.\n"
msgstr ""
-#: implicit.c:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
msgstr ""
-#: implicit.c:491
+#: implicit.c:486
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
+msgid "Stem too long: '%.*s'.\n"
msgstr ""
-#: implicit.c:674
+#: implicit.c:491
#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
+msgid "Trying pattern rule with stem '%.*s'.\n"
msgstr ""
-#: implicit.c:675
+#: implicit.c:697
#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
msgstr ""
-#: implicit.c:688
+#: implicit.c:698
#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
msgstr ""
-#: implicit.c:689
+#: implicit.c:711
#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
+msgid "Trying rule prerequisite '%s'.\n"
msgstr ""
-#: implicit.c:728
+#: implicit.c:712
#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
+msgid "Trying implicit prerequisite '%s'.\n"
msgstr ""
-#: implicit.c:742
+#: implicit.c:751
#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
msgstr ""
-#: job.c:335
+#: implicit.c:765
+#, fuzzy, c-format
+msgid "Looking for a rule with intermediate file '%s'.\n"
+msgstr "ВыдалÑюцца Ð¿Ñ€Ð°Ð¼ÐµÐ¶ÐºÐ°Ð²Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹...\n"
+
+#: job.c:361
#, fuzzy
msgid "Cannot create a temporary file\n"
msgstr "fwrite (чаÑовы файл)"
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
+#: job.c:483
+msgid " (core dumped)"
msgstr ""
-#: job.c:450
-#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] Памылка 0x%x"
+#: job.c:488
+msgid " (ignored)"
+msgstr ""
+
+#: job.c:492 job.c:2046
+#, fuzzy
+msgid "<builtin>"
+msgstr " (убудаваны):"
-#: job.c:454
+#: job.c:503
#, c-format
-msgid "[%s] Error %d (ignored)"
+msgid "%s: recipe for target '%s' failed"
msgstr ""
-#: job.c:455
-#, c-format
-msgid "*** [%s] Error %d"
+#: job.c:516 job.c:524
+#, fuzzy, c-format
+msgid "%s[%s] Error %d%s"
msgstr "*** [%s] Памылка %d"
-#: job.c:460
-msgid " (core dumped)"
-msgstr ""
+#: 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:549
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Чакаюцца Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÐ°Ð½Ñ‹Ñ Ð¿Ñ€Ð°Ñ†Ñ‹...."
-#: job.c:579
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr ""
-#: job.c:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr ""
-#: job.c:758
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr ""
-#: job.c:759
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr ""
-#: job.c:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr ""
-#: job.c:861
+#: job.c:855
+#, c-format
+msgid "Cleaning up temp batch file %s failed (%d)\n"
+msgstr ""
+
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr ""
-#: job.c:920
-msgid "write jobserver"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: job.c:922
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr ""
-#: job.c:1453 job.c:2094
+#: 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:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
-#: job.c:1525
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr ""
-#: job.c:1778
+#: 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:1787
+#: job.c:2029
msgid "read jobs pipe"
msgstr ""
-#: job.c:1798
-#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr ""
+#: job.c:2056
+#, fuzzy, c-format
+msgid "%s: target '%s' does not exist"
+msgstr "touch: архіў \"%s\" Ð½Ñ Ð¹Ñнуе"
-#: job.c:1802
-#, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr ""
+#: job.c:2059
+#, fuzzy, c-format
+msgid "%s: update target '%s' due to: %s"
+msgstr "%s ÐÑма правіла каб зрабіць мÑту \"%s\", патрÑбную Ð´Ð»Ñ \"%s\"%s"
-#: job.c:1910
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr ""
-#: job.c:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr ""
-#: job.c:1985
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr ""
-#: job.c:1987
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""
-#: job.c:2015
+#: job.c:2278
+msgid "no more file handles: could not duplicate stderr\n"
+msgstr ""
+
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr ""
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr ""
-#: job.c:2127
+#: job.c:2309
+msgid "Could not restore stderr\n"
+msgstr ""
+
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr ""
-#: job.c:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: загад не адшуканы"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr ""
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr ""
-#: job.c:2461
+#: job.c:2765
#, fuzzy, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
+msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "$SHELL зьменена (раней \"%s\", зараз \"%s\")"
-#: job.c:2951
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr ""
-#: job.c:2963
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-#: job.c:3065
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
-#: main.c:303
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr ""
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr ""
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr ""
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr ""
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr ""
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr ""
+
+#: load.c:244
+#, fuzzy
+msgid "The 'load' operation is not supported on this platform."
+msgstr "ÐŸÐ°Ñ€Ð°Ð»ÐµÐ»ÑŒÐ½Ñ Ð¿Ñ€Ð°Ñ†Ñ‹ (-j) не падтрымліваюцца на гÑтае плÑтхорме."
+
+#: main.c:313
msgid "Options:\n"
msgstr "Выбары:\n"
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr ""
-#: main.c:306
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
-#: main.c:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
-#: main.c:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr ""
-#: main.c:313
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
-#: main.c:318
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
-#: main.c:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
-#: main.c:323
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr ""
" -h, --help Друкуе гÑтае паведамленьне й выходзіць.\n"
-#: main.c:325
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr ""
-#: main.c:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
-#: main.c:330
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
msgstr ""
-#: main.c:332
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
-#: main.c:334
+#: 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:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
-#: main.c:339
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
"them.\n"
msgstr ""
-#: main.c:342
+#: 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:345
+#: main.c:355
+msgid ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
+msgstr ""
+
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr " -p, --print-data-base Друкуе нутраную базу даньнÑÑž make.\n"
-#: main.c:347
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-#: main.c:349
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr ""
-#: main.c:351
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
-#: main.c:353
+#: main.c:366
#, fuzzy
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Ðе адлюÑтроўваць загады.\n"
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -833,52 +976,63 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Выключае -k.\n"
-#: main.c:358
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
-#: main.c:360
+#: main.c:373
+#, fuzzy
+msgid " --trace Print tracing information.\n"
+msgstr ""
+" -h, --help Друкуе гÑтае паведамленьне й выходзіць.\n"
+
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr ""
-#: main.c:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Друкуе бÑгучую Ñ‚Ñчку.\n"
-#: main.c:364
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr ""
-#: main.c:366
+#: 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:369
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr ""
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "пуÑÑ‚Ñ‹ радок нерÑчаіÑны Ñž ÑкаÑьці назвы файла"
-#: main.c:650
+#: main.c:737
+#, c-format
+msgid "unknown debug level specification '%s'"
+msgstr ""
+
+#: main.c:774
#, c-format
-msgid "unknown debug level specification `%s'"
+msgid "unknown output-sync type '%s'"
msgstr ""
-#: main.c:690
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr ""
-#: main.c:697
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -888,158 +1042,175 @@ msgid ""
"ExceptionAddress = 0x%p\n"
msgstr ""
-#: main.c:705
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr ""
-#: main.c:706
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr ""
-#: main.c:781 main.c:792
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr ""
-#: main.c:834
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr ""
-#: main.c:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s Ñпынена на 30 ÑÑкундаў..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr ""
-#: main.c:1501
+#: 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
+#, 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: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:1539 vmsjobs.c:500
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (чаÑовы файл)"
-#: main.c:1545
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (чаÑовы файл)"
-#: main.c:1703
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "ÐŸÐ°Ñ€Ð°Ð»ÐµÐ»ÑŒÐ½Ñ Ð¿Ñ€Ð°Ñ†Ñ‹ (-j) не падтрымліваюцца на гÑтае плÑтхорме."
-#: main.c:1704
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr ""
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr ""
-
-#: main.c:1727
+#: main.c:1994
#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
+msgid "Jobserver slots limited to %d\n"
msgstr ""
-#: main.c:1730
+#: main.c:2002
#, c-format
-msgid "Jobserver client (fds %d,%d)\n"
+msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: main.c:1740
-msgid "warning: -jN forced in submake: disabling jobserver mode."
-msgstr ""
-
-#: main.c:1750
-msgid "dup jobserver"
-msgstr ""
-
-#: main.c:1753
-msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
-msgstr ""
-
-#: main.c:1777
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "Ñтвараецца трубаправод прац"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
msgstr ""
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr ""
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "ÐбнаўлÑюцца make-файлы....\n"
-#: main.c:1917
+#: main.c:2158
#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
+msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr ""
-#: main.c:1996
+#: main.c:2237
#, c-format
-msgid "Failed to remake makefile `%s'."
+msgid "Failed to remake makefile '%s'."
msgstr ""
-#: main.c:2013
-#, c-format
-msgid "Included makefile `%s' was not found."
-msgstr ""
+#: main.c:2257
+#, fuzzy, c-format
+msgid "Included makefile '%s' was not found."
+msgstr "Makefile \"%s\" Ð½Ñ Ð·Ð½Ð¾Ð¹Ð´Ð·ÐµÐ½"
-#: main.c:2018
-#, c-format
-msgid "Makefile `%s' was not found"
+#: main.c:2262
+#, fuzzy, c-format
+msgid "Makefile '%s' was not found"
msgstr "Makefile \"%s\" Ð½Ñ Ð·Ð½Ð¾Ð¹Ð´Ð·ÐµÐ½"
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr ""
-#: main.c:2102
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr ""
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (чаÑовы файл): "
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ""
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr ""
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
msgstr "ÐÑма мÑÑ‚"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr ""
-#: main.c:2306
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
-#: main.c:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "ВыкарыÑтаньне: %s [выбары] [мÑта] ...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1048,7 +1219,7 @@ msgstr ""
"\n"
"ГÑта праграма пабудавана Ð´Ð»Ñ %s\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1057,36 +1228,36 @@ msgstr ""
"\n"
"ГÑта праграма падубавана Ð´Ð»Ñ %s (%s)\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "ПаведамлÑйце пра памылкі на <bug-make@gnu.org>.\n"
-#: main.c:2562
+#: main.c:2807
#, fuzzy, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
+msgid "the '%s%s' option requires a non-empty string argument"
msgstr "выбар \"-%c\" патрабуе Ñтаноўчы цÑлы довад"
-#: main.c:2617
-#, c-format
-msgid "the `-%c' option requires a positive integral argument"
+#: main.c:2871
+#, fuzzy, c-format
+msgid "the '-%c' option requires a positive integer argument"
msgstr "выбар \"-%c\" патрабуе Ñтаноўчы цÑлы довад"
-#: main.c:3054
+#: main.c:3269
#, fuzzy, c-format
msgid "%sBuilt for %s\n"
msgstr ""
"\n"
"ГÑта праграма пабудавана Ð´Ð»Ñ %s\n"
-#: main.c:3056
+#: main.c:3271
#, fuzzy, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr ""
"\n"
"ГÑта праграма падубавана Ð´Ð»Ñ %s (%s)\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1095,709 +1266,738 @@ msgid ""
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
"# Make data base, printed on %s"
msgstr ""
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
"# Finished Make data base on %s\n"
msgstr ""
-#: main.c:3237
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "ÐевÑÐ´Ð¾Ð¼Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ° %d"
+
+#: 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:543
+msgid "Initialized access"
+msgstr ""
+
+#: misc.c:622
+msgid "User access"
+msgstr ""
+
+#: misc.c:670
+msgid "Make access"
+msgstr ""
+
+#: misc.c:704
+msgid "Child access"
+msgstr ""
+
+#: output.c:104
#, fuzzy, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: уваход у невÑдомую Ñ‚Ñчку"
-#: main.c:3239
+#: output.c:106
#, fuzzy, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: выхад зь невÑдомае Ñ‚Ñчкі"
-#: main.c:3242
-#, c-format
-msgid "%s: Entering directory `%s'\n"
+#: output.c:109
+#, fuzzy, c-format
+msgid "%s: Entering directory '%s'\n"
msgstr "%s: уваход у Ñ‚Ñчку \"%s\"\n"
-#: main.c:3245
-#, c-format
-msgid "%s: Leaving directory `%s'\n"
+#: output.c:111
+#, fuzzy, c-format
+msgid "%s: Leaving directory '%s'\n"
msgstr "%s: выхад з Ñ‚Ñчкі \"%s\"\n"
-#: main.c:3250
+#: output.c:115
#, fuzzy, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: уваход у невÑдомую Ñ‚Ñчку"
-#: main.c:3253
+#: output.c:117
#, fuzzy, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: выхад зь невÑдомае Ñ‚Ñчкі"
-#: main.c:3257
-#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
+#: output.c:120
+#, fuzzy, c-format
+msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: уваход у Ñ‚Ñчку \"%s\"\n"
-#: main.c:3260
-#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
+#: output.c:122
+#, fuzzy, c-format
+msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: выхад з Ñ‚Ñчкі \"%s\"\n"
-#: misc.c:316
-msgid ". Stop.\n"
+#: output.c:495 output.c:497
+msgid "write error: stdout"
msgstr ""
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "ÐевÑÐ´Ð¾Ð¼Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ° %d"
+#: output.c:677
+msgid ". Stop.\n"
+msgstr ""
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð°Ð¼Ñць вычарпана"
-
-#: misc.c:708
-#, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: карыÑтальнік %lu (наÑамрÑч %lu), група %lu (наÑамрÑч %lu)\n"
-
-#: misc.c:729
-msgid "Initialized access"
-msgstr ""
-
-#: misc.c:808
-msgid "User access"
-msgstr ""
-
-#: misc.c:856
-msgid "Make access"
-msgstr ""
-
-#: misc.c:890
-msgid "Child access"
-msgstr ""
-
-#: misc.c:954
-#, c-format
-msgid "write error: %s"
-msgstr ""
-
-#: misc.c:956
-#, fuzzy
-msgid "write error"
-msgstr "Памылка шыны"
-
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
msgstr "Чытаюцца make-файлы...\n"
-#: read.c:333
-#, c-format
-msgid "Reading makefile `%s'"
+#: read.c:335
+#, fuzzy, c-format
+msgid "Reading makefile '%s'"
msgstr "Чытаецца make-файл \"%s\""
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (нÑма дапомнае мÑÑ‚Ñ‹)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (пошук шлÑху)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr ""
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr ""
-#: read.c:759
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr ""
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr ""
+
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr ""
-#: read.c:891
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr ""
+
+#: read.c:992
msgid "recipe commences before first target"
msgstr ""
-#: read.c:940
+#: read.c:1041
#, fuzzy
msgid "missing rule before recipe"
msgstr "прапушчана правіла перад загадамі"
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "прапушчан падзÑлÑльнік %s"
-
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (вы маеце на ўвазе TAB замеÑÑ‚ 8 прагалаў?)"
-#: read.c:1163
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "прапушчан падзÑлÑльнік %s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr ""
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
msgstr ""
-#: read.c:1169
+#: read.c:1276
#, c-format
-msgid "target pattern contains no `%%'"
+msgid "target pattern contains no '%%'"
msgstr ""
-#: read.c:1293
-msgid "missing `endif'"
+#: read.c:1398
+#, fuzzy
+msgid "missing 'endif'"
msgstr "прапушчаны \"endif\""
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr ""
-#: read.c:1367
-msgid "extraneous text after `define' directive"
+#: read.c:1471
+msgid "extraneous text after 'define' directive"
msgstr ""
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
+#: read.c:1496
+#, fuzzy
+msgid "missing 'endef', unterminated 'define'"
msgstr "прапушчаны \"endef\", незавершаны \"define\""
-#: read.c:1420
-msgid "extraneous text after `endef' directive"
+#: read.c:1524
+msgid "extraneous text after 'endef' directive"
msgstr ""
-#: read.c:1490
+#: read.c:1595
#, c-format
-msgid "Extraneous text after `%s' directive"
+msgid "extraneous text after '%s' directive"
msgstr ""
-#: read.c:1499 read.c:1513
-#, c-format
-msgid "extraneous `%s'"
+#: read.c:1596
+#, fuzzy, c-format
+msgid "extraneous '%s'"
msgstr "зьнешні \"%s\""
-#: read.c:1518
-msgid "only one `else' per conditional"
+#: read.c:1624
+msgid "only one 'else' per conditional"
msgstr ""
-#: read.c:1797
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr ""
-#: read.c:1855
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr ""
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr ""
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr ""
-#: read.c:1976
+#: read.c:2091
#, c-format
-msgid "target `%s' doesn't match the target pattern"
+msgid "target '%s' doesn't match the target pattern"
msgstr ""
-#: read.c:1991 read.c:2036
+#: read.c:2106 read.c:2152
#, c-format
-msgid "target file `%s' has both : and :: entries"
+msgid "target file '%s' has both : and :: entries"
msgstr ""
-#: read.c:1997
+#: read.c:2112
#, c-format
-msgid "target `%s' given more than once in the same rule."
+msgid "target '%s' given more than once in the same rule"
msgstr ""
-#: read.c:2006
+#: read.c:2122
#, c-format
-msgid "warning: overriding recipe for target `%s'"
+msgid "warning: overriding recipe for target '%s'"
msgstr ""
-#: read.c:2009
+#: read.c:2125
#, c-format
-msgid "warning: ignoring old recipe for target `%s'"
+msgid "warning: ignoring old recipe for target '%s'"
+msgstr ""
+
+#: read.c:2229
+msgid "*** mixed implicit and normal rules: deprecated syntax"
msgstr ""
-#: read.c:2392
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr ""
-#: remake.c:234
-#, c-format
-msgid "Nothing to be done for `%s'."
+#: remake.c:230
+#, fuzzy, c-format
+msgid "Nothing to be done for '%s'."
msgstr "Ðічога Ð½Ñ Ð±Ñ‹Ð»Ð¾ зроблена Ð´Ð»Ñ \"%s\"."
-#: remake.c:235
-#, c-format
-msgid "`%s' is up to date."
+#: remake.c:231
+#, fuzzy, c-format
+msgid "'%s' is up to date."
msgstr "\"%s\" - ÑаÑтарÑл(а)."
-#: remake.c:306
-#, c-format
-msgid "Pruning file `%s'.\n"
-msgstr ""
-
-#: remake.c:359
-#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%sÐÑма правіла каб зрабіць мÑту \"%s\"%s"
+#: remake.c:303
+#, fuzzy, c-format
+msgid "Pruning file '%s'.\n"
+msgstr "УÑÑ‘ ÑÑˆÑ Ð°Ð±Ð½Ð°ÑžÐ»Ñецца файл \"%s\".\n"
-#: remake.c:361
-#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
+#: 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"
-#: remake.c:413
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sÐÑма правіла каб зрабіць мÑту \"%s\"%s"
+
+#: remake.c:426
#, c-format
-msgid "Considering target file `%s'.\n"
+msgid "Considering target file '%s'.\n"
msgstr ""
-#: remake.c:420
+#: remake.c:433
#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
+msgid "Recently tried and failed to update file '%s'.\n"
msgstr ""
-#: remake.c:432
-#, c-format
-msgid "File `%s' was considered already.\n"
+#: remake.c:445
+#, fuzzy, c-format
+msgid "File '%s' was considered already.\n"
msgstr "Файл \"%s\" ужо быў разгледжаны.\n"
-#: remake.c:442
-#, c-format
-msgid "Still updating file `%s'.\n"
+#: remake.c:455
+#, fuzzy, c-format
+msgid "Still updating file '%s'.\n"
msgstr "УÑÑ‘ ÑÑˆÑ Ð°Ð±Ð½Ð°ÑžÐ»Ñецца файл \"%s\".\n"
-#: remake.c:445
-#, c-format
-msgid "Finished updating file `%s'.\n"
+#: remake.c:458
+#, fuzzy, c-format
+msgid "Finished updating file '%s'.\n"
msgstr "Скончана абнаўленьне файла \"%s\".\n"
-#: remake.c:474
-#, c-format
-msgid "File `%s' does not exist.\n"
+#: remake.c:487
+#, fuzzy, c-format
+msgid "File '%s' does not exist.\n"
msgstr "Файл \"%s\" Ð½Ñ Ð¹Ñнуе.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-#: remake.c:494 remake.c:1016
+#: remake.c:508 remake.c:1040
#, c-format
-msgid "Found an implicit rule for `%s'.\n"
+msgid "Found an implicit rule for '%s'.\n"
msgstr ""
-#: remake.c:496 remake.c:1018
+#: remake.c:510 remake.c:1042
#, c-format
-msgid "No implicit rule found for `%s'.\n"
+msgid "No implicit rule found for '%s'.\n"
msgstr ""
-#: remake.c:502
-#, fuzzy, c-format
-msgid "Using default recipe for `%s'.\n"
-msgstr "Ðічога Ð½Ñ Ð±Ñ‹Ð»Ð¾ зроблена Ð´Ð»Ñ \"%s\"."
-
-#: remake.c:535 remake.c:1057
+#: remake.c:516
#, c-format
-msgid "Circular %s <- %s dependency dropped."
+msgid "Using default recipe for '%s'.\n"
msgstr ""
-#: remake.c:651
+#: remake.c:550 remake.c:1089
#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
-msgstr ""
-
-#: remake.c:657
-#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
-msgstr ""
-
-#: remake.c:670
-#, c-format
-msgid "Giving up on target file `%s'.\n"
+msgid "Circular %s <- %s dependency dropped."
msgstr ""
#: remake.c:675
-#, c-format
-msgid "Target `%s' not remade because of errors."
-msgstr ""
+#, fuzzy, c-format
+msgid "Finished prerequisites of target file '%s'.\n"
+msgstr "Скончана абнаўленьне файла \"%s\".\n"
-#: remake.c:727
+#: remake.c:681
#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
+msgid "The prerequisites of '%s' are being made.\n"
msgstr ""
-#: remake.c:732
-#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
-msgstr ""
+#: remake.c:695
+#, fuzzy, c-format
+msgid "Giving up on target file '%s'.\n"
+msgstr "Скончана абнаўленьне файла \"%s\".\n"
-#: remake.c:737
+#: remake.c:700
#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
+msgid "Target '%s' not remade because of errors."
msgstr ""
-#: remake.c:740
+#: remake.c:752
#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr ""
-#: remake.c:758
+#: remake.c:757
+#, fuzzy, c-format
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
+msgstr "Файл \"%s\" Ð½Ñ Ð¹Ñнуе.\n"
+
+#: remake.c:762
#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr ""
#: remake.c:765
#, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
+msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr ""
-#: remake.c:770
+#: remake.c:783
#, c-format
-msgid "Making `%s' due to always-make flag.\n"
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr ""
-#: remake.c:778
+#: remake.c:790
#, c-format
-msgid "No need to remake target `%s'"
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr ""
-#: remake.c:780
+#: remake.c:795
#, c-format
-msgid "; using VPATH name `%s'"
+msgid "Making '%s' due to always-make flag.\n"
msgstr ""
-#: remake.c:800
-#, c-format
-msgid "Must remake target `%s'.\n"
-msgstr ""
+#: remake.c:803
+#, fuzzy, c-format
+msgid "No need to remake target '%s'"
+msgstr "%sÐÑма правіла каб зрабіць мÑту \"%s\"%s"
-#: remake.c:806
+#: remake.c:805
#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
+msgid "; using VPATH name '%s'"
msgstr ""
-#: remake.c:815
-#, c-format
-msgid "Recipe of `%s' is being run.\n"
-msgstr ""
+#: remake.c:825
+#, fuzzy, c-format
+msgid "Must remake target '%s'.\n"
+msgstr "%sÐÑма правіла каб зрабіць мÑту \"%s\"%s"
-#: remake.c:822
+#: remake.c:831
#, c-format
-msgid "Failed to remake target file `%s'.\n"
+msgid " Ignoring VPATH name '%s'.\n"
msgstr ""
-#: remake.c:825
+#: remake.c:840
#, c-format
-msgid "Successfully remade target file `%s'.\n"
+msgid "Recipe of '%s' is being run.\n"
msgstr ""
-#: remake.c:828
+#: remake.c:847
+#, fuzzy, c-format
+msgid "Failed to remake target file '%s'.\n"
+msgstr "%sÐÑма правіла каб зрабіць мÑту \"%s\"%s"
+
+#: remake.c:850
#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
+msgid "Successfully remade target file '%s'.\n"
msgstr ""
-#: remake.c:1024
+#: remake.c:853
#, c-format
-msgid "Using default commands for `%s'.\n"
+msgid "Target file '%s' needs to be remade under -q.\n"
msgstr ""
-#: remake.c:1357
-#, c-format
-msgid "Warning: File `%s' has modification time in the future"
+#: remake.c:1048
+#, fuzzy, c-format
+msgid "Using default commands for '%s'.\n"
+msgstr "ÐевÑдомы ўбудаваны загад \"%s\".\n"
+
+#: remake.c:1397
+#, fuzzy, c-format
+msgid "Warning: File '%s' has modification time in the future"
msgstr "Увага! Файл \"%s\" мае Ñ‡Ð°Ñ Ð·ÑŒÐ¼ÑненьнÑ, Ñкі ÑˆÑ‡Ñ Ð½Ðµ надышоў."
-#: remake.c:1370
+#: remake.c:1411
#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
+msgid "Warning: File '%s' has modification time %s s in the future"
msgstr "Увага! Файл \"%s\" мае Ñ‡Ð°Ñ Ð·ÑŒÐ¼ÑÐ½ÐµÐ½ÑŒÐ½Ñ %.2g Ñ, Ñкі ÑˆÑ‡Ñ Ð½Ðµ надышоў."
-#: remake.c:1569
+#: remake.c:1610
#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
+msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr ""
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
msgstr ""
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
msgstr ""
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
msgstr ""
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
"# %u implicit rules, %u"
msgstr ""
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
msgstr " Ñ‚Ñрмінал."
-#: rule.c:534
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr ""
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
msgstr "невÑдомы Ñыгнал"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
msgstr ""
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
msgstr ""
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
msgstr ""
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
msgstr "ÐÐµÐ´Ð°Ð¿ÑƒÑˆÑ‡Ð°Ð»ÑŒÐ½Ð°Ñ Ñ–Ð½ÑтрукцыÑ"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
msgstr ""
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr ""
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
msgstr ""
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
msgstr ""
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
msgstr ""
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
msgstr "Забіты"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
msgstr "Памылка шыны"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
msgstr ""
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
msgstr "ДрÑнны ÑÑ‹ÑÑ‚Ñмны выклік"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
msgstr "Зламаны трубаправод"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr ""
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
msgstr "Завершаны"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
msgstr ""
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
msgstr ""
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
msgstr ""
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
msgstr ""
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr "Спынен"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
msgstr "Спынен (tty увод)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
msgstr "Спынен (вывад на tty)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
msgstr "Спынена (Ñыгнал)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
msgstr ""
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
msgstr ""
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
msgstr ""
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
msgstr ""
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
msgstr "Ðкно зьменена"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
msgstr ""
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
msgstr ""
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
msgstr "магчым У/В"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr ""
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr ""
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr ""
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
msgstr "Сыгнал пагрозы"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
msgstr "Запыт аб зьвеÑтках"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
msgstr ""
-#: strcache.c:235
+#: strcache.c:236
+#, c-format
+msgid ""
+"\n"
+"%s No strcache buffers\n"
+msgstr ""
+
+#: strcache.c:266
#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
msgstr ""
-#: strcache.c:237
+#: strcache.c:270
#, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
-#: strcache.c:239
+#: strcache.c:280
#, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
msgstr ""
-#: strcache.c:241
+#: strcache.c:283
#, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid ""
+"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
msgstr ""
-#: strcache.c:244
+#: strcache.c:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
+msgstr ""
+
+#: strcache.c:289
+msgid ""
+"# hash-table stats:\n"
"# "
msgstr ""
-#: variable.c:1541
+#: variable.c:1599
+msgid "automatic"
+msgstr "аўтаматычна"
+
+#: variable.c:1602
msgid "default"
msgstr "дапомны"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
msgstr "аÑÑродзьдзе"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
msgstr "make-файл"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
msgstr ""
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
msgstr "загадны радок"
-#: variable.c:1556
-msgid "`override' directive"
+#: variable.c:1617
+#, fuzzy
+msgid "'override' directive"
msgstr "дырÑктыва \"override\""
-#: variable.c:1559
-msgid "automatic"
-msgstr "аўтаматычна"
-
-#: variable.c:1570
-#, c-format
-msgid " (from `%s', line %lu)"
+#: variable.c:1628
+#, fuzzy, c-format
+msgid " (from '%s', line %lu)"
msgstr " (з \"%s\", радок %lu)"
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr ""
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -1805,137 +2005,143 @@ msgstr ""
"\n"
"# ПераменныÑ\n"
-#: variable.c:1627
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
msgstr ""
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
"# %u pattern-specific variable values"
msgstr ""
-#: variable.h:219
-#, c-format
-msgid "warning: undefined variable `%.*s'"
+#: variable.h:224
+#, fuzzy, c-format
+msgid "warning: undefined variable '%.*s'"
msgstr "Увага! ÐÑÐ²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ñ Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ñ \"%.*s\""
-#: vmsfunctions.c:92
+#: vmsfunctions.c:91
#, c-format
msgid "sys$search() failed with %d\n"
msgstr ""
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr ""
-#: vmsjobs.c:184
+#: vmsjobs.c:183
#, c-format
-msgid "internal error: `%s' command_state"
+msgid "internal error: '%s' command_state"
msgstr ""
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr ""
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr ""
-#: vmsjobs.c:450
+#: vmsjobs.c:501
#, c-format
-msgid "BUILTIN RM %s\n"
+msgid "BUILTIN ECHO %s->%s\n"
msgstr ""
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "ÐевÑдомы ўбудаваны загад \"%s\".\n"
-#: vmsjobs.c:493
+#: 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:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Перанакіраваны ўвод з %s\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr ""
-#: vmsjobs.c:523
+#: vmsjobs.c:690
#, fuzzy, c-format
msgid "Append output to %s\n"
msgstr "Перанакіраваны вывад у %s\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Перанакіраваны вывад у %s\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr ""
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr ""
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr ""
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
msgstr ""
-#: vpath.c:603
-msgid "# No `vpath' search paths."
-msgstr ""
+#: vpath.c:600
+#, fuzzy
+msgid "# No 'vpath' search paths."
+msgstr " (пошук шлÑху)"
-#: vpath.c:605
+#: vpath.c:602
#, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
-#: vpath.c:608
+#: vpath.c:605
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
-#: vpath.c:614
+#: vpath.c:611
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
@@ -1951,6 +2157,9 @@ msgstr ""
#~ "%sÐ¿Ð°Ð³Ð°Ð´Ð½ÐµÐ½ÑŒÐ½Ñ Ð°Ð± раÑпаўÑюджваньні. ÐÑ Ð¹Ñнуе ÐІЯКÐЕ гарантыі, нават аб\n"
#~ "%sмагчымаÑьці выкарыÑÑ‚Ð½ÑŒÐ½Ñ Ð·ÑŒ Ñкой небудзь мÑтай.\n"
+#~ msgid "virtual memory exhausted"
+#~ msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð°Ð¼Ñць вычарпана"
+
#~ msgid "invalid `override' directive"
#~ msgstr "нерÑчаіÑÐ½Ð°Ñ Ð´Ñ‹Ñ€Ñктыва \"override\""
diff --git a/po/cs.gmo b/po/cs.gmo
new file mode 100644
index 00000000..e8cbeaf9
--- /dev/null
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
new file mode 100644
index 00000000..9e6fa8ba
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,2312 @@
+# 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 <petr.pisar@atlas.cz>, 2011, 2013.
+#
+# directive → klíÄové slovo (nepÅ™ekládat jako příkaz kvůli zámÄ›nÄ›)
+# hash → haÅ¡ (zapisovat Äesky)
+# chain → řetězec
+# jobserver → správce úloh
+# make (verb) → vyrobit
+# make (substantivum) → (program) make (skloňovat, nelze-li jinak)
+# makefile → makefile (nepřekládat, ale skloňovat)
+# (archive) member → prvek
+# (C structure) member → Älen
+# pattern → vzor (nikoliv vzorek)
+# prerequisite → prerekvizita (předpoklad se nehodí jako duální slovo
+# k target)
+# reap (child) → uklidit potomka
+# recipe → návod
+# target → cíl
+# token → token (nepřekládat)
+#
+# SECONDARY, INTERMEDIATE, PRECIOUS apod. nepřekládat, i když jsou použity
+# jako přívlastek. Jedná se o identifikátory jazyka make.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: make 4.0\n"
+"Report-Msgid-Bugs-To: bug-make@gnu.org\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 <petr.pisar@atlas.cz>\n"
+"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ar.c:46
+#, c-format
+msgid "attempt to use unsupported feature: '%s'"
+msgstr "pokus použít nepodporovanou vlastnost: „%s“"
+
+#: ar.c:123
+msgid "touch archive member is not available on VMS"
+msgstr "nastavení Äasu zmÄ›ny prvku archivu není na VMS dostupné"
+
+#: ar.c:147
+#, c-format
+msgid "touch: Archive '%s' does not exist"
+msgstr "touch: Archiv „%s“ neexistuje"
+
+#: ar.c:150
+#, c-format
+msgid "touch: '%s' is not a valid archive"
+msgstr "touch: „%s“ není platným archivem"
+
+#: ar.c:157
+#, c-format
+msgid "touch: Member '%s' does not exist in '%s'"
+msgstr "touch: Prvek „%s“ v „%s“ neexistuje"
+
+#: ar.c:164
+#, c-format
+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: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:230
+#, c-format
+msgid "lbr$ini_control() failed with status = %d"
+msgstr "funkce lbr$ini_control() selhala se stavem = %d"
+
+#: 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í prvku „%s“"
+
+# TODO: Pluralize
+#: 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:945
+msgid " (name might be truncated)"
+msgstr " (název může být zkrácen)"
+
+#: arscan.c:947
+#, c-format
+msgid " Date %s"
+msgstr " Datum %s"
+
+#: 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:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr "Návod má příliš mnoho řádků (%ud)"
+
+#: commands.c:505
+msgid "*** Break.\n"
+msgstr "*** Přerušeno.\n"
+
+#: 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:633
+#, c-format
+msgid "*** Archive member '%s' may be bogus; not deleted"
+msgstr "*** Prvek archivu „%s“ ne možná chybný, nesmazáno"
+
+#: commands.c:647
+#, c-format
+msgid "*** [%s] Deleting file '%s'"
+msgstr "*** [%s] Maže se soubor „%s“"
+
+#: commands.c:649
+#, c-format
+msgid "*** Deleting file '%s'"
+msgstr "*** Maže se soubor „%s“"
+
+#: commands.c:685
+msgid "# recipe to execute"
+msgstr "# spustitelný návod"
+
+#: commands.c:688
+msgid " (built-in):"
+msgstr " (vestavěný):"
+
+#: commands.c:690
+#, c-format
+msgid " (from '%s', line %lu):\n"
+msgstr " (z „%s“, řádek %lu):\n"
+
+#: dir.c:989
+msgid ""
+"\n"
+"# Directories\n"
+msgstr ""
+"\n"
+"# Adresáře\n"
+
+#: 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: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: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: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:1041
+#, c-format
+msgid "# %s (key %s, mtime %d): "
+msgstr "# %s (klÃ­Ä %s, Äas zmÄ›ny obsahu %d): "
+
+#: dir.c:1045
+#, c-format
+msgid "# %s (device %d, inode [%d,%d,%d]): "
+msgstr "# %s (zařízení %d, iuzel [%d,%d,%d]): "
+
+#: dir.c:1050
+#, c-format
+msgid "# %s (device %ld, inode %ld): "
+msgstr "# %s (zařízení %ld, iuzel %ld): "
+
+#: dir.c:1056 dir.c:1077
+msgid "No"
+msgstr "Žádný"
+
+# TODO: Pluralize
+#: dir.c:1059 dir.c:1080
+msgid " files, "
+msgstr " souborů, "
+
+#: dir.c:1061 dir.c:1082
+msgid "no"
+msgstr "žádný "
+
+# TODO: Pluralize
+#: dir.c:1064
+msgid " impossibilities"
+msgstr " nemožností "
+
+#: dir.c:1068
+msgid " so far."
+msgstr " zatím."
+
+# TODO: Pluralize
+#: dir.c:1085
+#, c-format
+msgid " impossibilities in %lu directories.\n"
+msgstr " nemožností v %lu adresářích.\n"
+
+#: expand.c:125
+#, c-format
+msgid "Recursive variable '%s' references itself (eventually)"
+msgstr "Rekurzivní proměnná „%s“ odkazuje na sebe (nakonec)"
+
+#: expand.c:269
+msgid "unterminated variable reference"
+msgstr "neukonÄený odkaz na promÄ›nnou"
+
+#: 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: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: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: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: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: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:401
+#, c-format
+msgid "*** Deleting intermediate file '%s'"
+msgstr "Maže se mezilehlý soubor „%s“ "
+
+#: file.c:405
+msgid "Removing intermediate files...\n"
+msgstr "Odstraňují se mezilehlé soubory…\n"
+
+#: file.c:811
+msgid "Current time"
+msgstr "Aktuální Äas"
+
+#: file.c:815
+#, c-format
+msgid "%s: Timestamp out of range; substituting %s"
+msgstr "%s: Časový údaj mimo rozsah, nahrazuje se %s"
+
+#: file.c:955
+msgid "# Not a target:"
+msgstr "# Není cílem:"
+
+#: file.c:960
+msgid "# Precious file (prerequisite of .PRECIOUS)."
+msgstr "# Cenný soubor (prerekvizita k .PRECIOUS)."
+
+#: file.c:962
+msgid "# Phony target (prerequisite of .PHONY)."
+msgstr "# Falešný cíl (prerekvizita k .PHONY)."
+
+#: file.c:964
+msgid "# Command line target."
+msgstr "# Cíl příkazové řádky."
+
+#: file.c:966
+msgid "# A default, MAKEFILES, or -include/sinclude makefile."
+msgstr "# Default, MAKEFILES nebo -include/sinclude makefile."
+
+#: file.c:968
+msgid "# Builtin rule"
+msgstr "# Vestavěné pravidlo"
+
+#: file.c:970
+msgid "# Implicit rule search has been done."
+msgstr "# Hledalo se za pomoci implicitních pravidel."
+
+#: file.c:971
+msgid "# Implicit rule search has not been done."
+msgstr "# Nehledalo se za pomoci implicitních pravidel."
+
+#: file.c:973
+#, c-format
+msgid "# Implicit/static pattern stem: '%s'\n"
+msgstr "# Kořen implicitního/statického vzoru: „%s“\n"
+
+#: file.c:975
+msgid "# File is an intermediate prerequisite."
+msgstr "# Soubor je mezilehlá prerekvizita."
+
+#: file.c:979
+msgid "# Also makes:"
+msgstr "# Rovněž vyrábí:"
+
+#: file.c:985
+msgid "# Modification time never checked."
+msgstr "# Čas změny obsahu se nikdy nekontroluje."
+
+#: file.c:987
+msgid "# File does not exist."
+msgstr "# Soubor neexistuje."
+
+#: file.c:989
+msgid "# File is very old."
+msgstr "# Soubor je velmi starý."
+
+#: file.c:994
+#, c-format
+msgid "# Last modified %s\n"
+msgstr "# Obsah naposledy změněn v %s\n"
+
+#: file.c:997
+msgid "# File has been updated."
+msgstr "# Soubor byl aktualizován."
+
+#: file.c:997
+msgid "# File has not been updated."
+msgstr "# Soubor nebyl aktualizován."
+
+#: file.c:1001
+msgid "# Recipe currently running (THIS IS A BUG)."
+msgstr "# Návod se právě vykonává (TOTO JE CHYBA)."
+
+#: 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:1013
+msgid "# Successfully updated."
+msgstr "# Úspěšně aktualizováno."
+
+#: file.c:1017
+msgid "# Needs to be updated (-q is set)."
+msgstr "# Je třeba aktualizovat (-q je nastaveno)."
+
+#: file.c:1020
+msgid "# Failed to be updated."
+msgstr "# Aktualizace selhala."
+
+#: file.c:1025
+msgid "# Invalid value in 'command_state' member!"
+msgstr "# Neplatná hodnota v Älenu „command_state“!"
+
+#: file.c:1044
+msgid ""
+"\n"
+"# Files"
+msgstr ""
+"\n"
+"# Soubory"
+
+#: file.c:1048
+msgid ""
+"\n"
+"# files hash-table stats:\n"
+"# "
+msgstr ""
+"\n"
+"# Statistika hašovací tabulky souborů:\n"
+"# "
+
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr "%s: Položka „%s“ není v keši: %s"
+
+#: function.c:780
+msgid "non-numeric first argument to 'word' function"
+msgstr "neÄíselný první argument funkce „word“"
+
+#: 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:805
+msgid "non-numeric first argument to 'wordlist' function"
+msgstr "neÄíselný první argument funkce „wordlist“"
+
+#: function.c:807
+msgid "non-numeric second argument to 'wordlist' function"
+msgstr "neÄíselný druhý argument funkce „wordlist“"
+
+#: 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: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:1530
+#, c-format
+msgid "CreatePipe() failed (e=%ld)\n"
+msgstr "CreatePipe() selhalo (chyba=%ld)\n"
+
+#: function.c:1538
+msgid "windows32_openpipe(): process_init_fd() failed\n"
+msgstr "windows32_openpipe(): process_init_fd() selhalo\n"
+
+#: 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:2193
+#, c-format
+msgid "open: %s: %s"
+msgstr "otevření: %s: %s"
+
+#: function.c:2203
+#, c-format
+msgid "write: %s: %s"
+msgstr "zápis: %s: %s"
+
+#: function.c:2209
+#, c-format
+msgid "Invalid file operation: %s"
+msgstr "Neplatná operace na souboru: %s"
+
+#: 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:2336
+#, c-format
+msgid "unimplemented on this platform: function '%s'"
+msgstr "na této platformě neimplementováno: funkce „%s“"
+
+#: function.c:2399
+#, c-format
+msgid "unterminated call to function '%s': missing '%c'"
+msgstr "neukonÄené volání funkce „%s“: chybí „%c“"
+
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "Prázdný název funkce\n"
+
+#: function.c:2593
+#, fuzzy, c-format
+msgid "Invalid function name: %s"
+msgstr "Neplatný název funkce: %s\n"
+
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
+msgstr "Název funkce je příliš dlouhý: %s\n"
+
+#: 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
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: pÅ™epínaÄ â€ž%s“ není jednoznaÄný\n"
+
+#: getopt.c:683
+#, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: pÅ™epínaÄe „--%s“ nepÅ™ipouÅ¡tí argument\n"
+
+#: getopt.c:688
+#, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: pÅ™epínaÄ â€ž%c%s“ nepÅ™ipouÅ¡tí argument\n"
+
+#: getopt.c:705 getopt.c:878
+#, c-format
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s: pÅ™epínaÄ â€ž%s“ vyžaduje argument\n"
+
+#: getopt.c:734
+#, c-format
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: nerozpoznaný pÅ™epínaÄ â€ž--%s“\n"
+
+#: getopt.c:738
+#, c-format
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: nerozpoznaný pÅ™epínaÄ â€ž%c%s“\n"
+
+#: getopt.c:764
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: zakázaný pÅ™epínaÄ – %c\n"
+
+#: getopt.c:767
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: neplatný pÅ™epínaÄ – %c\n"
+
+#: getopt.c:797 getopt.c:927
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: pÅ™epínaÄ vyžaduje argument – %c\n"
+
+#: getopt.c:844
+#, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: pÅ™epínaÄ â€ž-W %s“ není jednoznaÄný\n"
+
+#: getopt.c:862
+#, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s: pÅ™epínaÄ â€ž-W %s“ nepÅ™ipouÅ¡tí argument\n"
+
+#: guile.c:58
+#, c-format
+msgid "guile: Expanding '%s'\n"
+msgstr "guile: Expanduje se „%s“\n"
+
+#: guile.c:74
+#, c-format
+msgid "guile: Evaluating '%s'\n"
+msgstr "guile: Vyhodnocuje se „%s“\n"
+
+# TODO: Pluralize
+#: hash.c:49
+#, c-format
+msgid "can't allocate %lu bytes for hash table: memory exhausted"
+msgstr "nelze alokovat %lu bajtů na haÅ¡ovací tabulku: paměť vyÄerpána"
+
+#: hash.c:280
+#, c-format
+msgid "Load=%ld/%ld=%.0f%%, "
+msgstr "Zátěž = %ld/%ld = %.0f %%, "
+
+#: hash.c:282
+#, c-format
+msgid "Rehash=%d, "
+msgstr "Přehašováno = %d, "
+
+#: hash.c:283
+#, c-format
+msgid "Collisions=%ld/%ld=%.0f%%"
+msgstr "Kolizí = %ld/%ld = %.0f %%"
+
+#: implicit.c:38
+#, c-format
+msgid "Looking for an implicit rule for '%s'.\n"
+msgstr "Hledá se implicitní pravidlo pro „%s“.\n"
+
+#: implicit.c:54
+#, c-format
+msgid "Looking for archive-member implicit rule for '%s'.\n"
+msgstr "Hledá se implicitní pravidlo prvku archivu pro „%s“.\n"
+
+#: implicit.c:310
+msgid "Avoiding implicit rule recursion.\n"
+msgstr "Zabraňuje se rekurzi implicitního pravidla.\n"
+
+#: implicit.c:486
+#, c-format
+msgid "Stem too long: '%.*s'.\n"
+msgstr "Kořen je příliš dlouhý „%.*s“.\n"
+
+#: implicit.c:491
+#, c-format
+msgid "Trying pattern rule with stem '%.*s'.\n"
+msgstr "Zkouší se pravidlo vzoru s kořenem „%.*s“.\n"
+
+#: implicit.c:697
+#, c-format
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
+msgstr "Zamítá se nemožná prerekvizita pravidla „%s“.\n"
+
+#: implicit.c:698
+#, c-format
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
+msgstr "Zamítá se nemožná implicitní prerekvizita „%s“.\n"
+
+#: implicit.c:711
+#, c-format
+msgid "Trying rule prerequisite '%s'.\n"
+msgstr "Zkouší se prerekvizita pravidla „%s“.\n"
+
+#: implicit.c:712
+#, c-format
+msgid "Trying implicit prerequisite '%s'.\n"
+msgstr "Zkouší se implicitní prerekvizita „%s“.\n"
+
+#: implicit.c:751
+#, c-format
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
+msgstr "Nalezena prerekvizita „%s“ jako VPATH „%s“\n"
+
+#: implicit.c:765
+#, c-format
+msgid "Looking for a rule with intermediate file '%s'.\n"
+msgstr "Hledá se pravidlo s mezilehlým souborem „%s“.\n"
+
+#: job.c:361
+msgid "Cannot create a temporary file\n"
+msgstr "DoÄasný soubor nelze vytvoÅ™it\n"
+
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (obraz paměti uložen)"
+
+#: job.c:488
+msgid " (ignored)"
+msgstr " (ignorováno)"
+
+#: job.c:492 job.c:2046
+msgid "<builtin>"
+msgstr "<vestavěný>"
+
+#: 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%s%s"
+msgstr "%s[%s] %s%s%s"
+
+#: job.c:621
+msgid "*** Waiting for unfinished jobs...."
+msgstr "*** ÄŒeká se na nedokonÄené úlohy…"
+
+#: 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:653 job.c:843 job.c:962 job.c:1737
+msgid " (remote)"
+msgstr " (vzdálený)"
+
+#: 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: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:849
+#, c-format
+msgid "Cleaning up temp batch file %s\n"
+msgstr "Uklízí se doÄasný dávkový soubor %s\n"
+
+#: 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: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: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: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:1666 job.c:2391
+#, c-format
+msgid ""
+"\n"
+"Counted %d args in failed launch\n"
+msgstr ""
+"\n"
+"NapoÄítáno %d argumentů v selhaném spuÅ¡tÄ›ní\n"
+
+#: 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: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: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:2059
+#, c-format
+msgid "%s: update target '%s' due to: %s"
+msgstr "%s: aktualizovat cíl „%s“ potřebný pro %s"
+
+#: 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:2173
+msgid "cannot enforce load limit: "
+msgstr "omezení zátěže nelze vynutit: "
+
+#: job.c:2252
+msgid "no more file handles: could not duplicate stdin\n"
+msgstr "nedostatek deskriptorů souboru: standardní vstup nelze zduplikovat\n"
+
+#: 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:2278
+msgid "no more file handles: could not duplicate stderr\n"
+msgstr "nedostatek deskriptorů souboru: chybový výstup nelze zduplikovat\n"
+
+#: job.c:2293
+msgid "Could not restore stdin\n"
+msgstr "Standardní vstup nelze obnovit\n"
+
+#: job.c:2301
+msgid "Could not restore stdout\n"
+msgstr "Standardní výstup nelze obnovit\n"
+
+#: job.c:2309
+msgid "Could not restore stderr\n"
+msgstr "Chybový výstup nelze obnovit\n"
+
+#: 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:2458
+#, c-format
+msgid "%s: Command not found"
+msgstr "%s: Příkaz nenalezen"
+
+#: job.c:2518
+#, c-format
+msgid "%s: Shell program not found"
+msgstr "%s: Program shellu nenalezen"
+
+#: job.c:2527
+msgid "spawnvpe: environment space might be exhausted"
+msgstr "spawnvpe: možná byl vyÄerpán prostor pro prostÅ™edí"
+
+#: 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: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:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+"Obsah dávkového souboru:\n"
+"\t@echo off\n"
+
+#: job.c:3395
+#, c-format
+msgid ""
+"Batch file contents:%s\n"
+"\t%s\n"
+msgstr ""
+"Obsah dávkového souboru:%s\n"
+"\t%s\n"
+
+#: 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"
+
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr ""
+"PÅ™epínaÄ -O[DRUH] (--output-sync[=DRUH]) není v tomto sestavení zahrnut."
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr "Nepodařilo se otevřít tabulku globálních symbolů: %s"
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr "Zavedený objekt %s není veden jako sluÄitelný s GPL"
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr "Symbol %s z %s se nepodařilo zavést: %s"
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr "Pokus zavést prázdný název symbolu: %s"
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr "Zavádí se symbol %s z %s\n"
+
+#: 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:313
+msgid "Options:\n"
+msgstr "PÅ™epínaÄe:\n"
+
+#: main.c:314
+msgid " -b, -m Ignored for compatibility.\n"
+msgstr " -b, -m Ignoruje se kvůli kompatibilitě.\n"
+
+#: 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:318
+msgid ""
+" -C DIRECTORY, --directory=DIRECTORY\n"
+" Change to DIRECTORY before doing anything.\n"
+msgstr ""
+" -C ADRESÃŘ, --directory=ADRESÃŘ\n"
+" PÅ™ed dÄ›láním Äehokoliv se pÅ™epne do ADRESÃŘE.\n"
+
+#: main.c:321
+msgid " -d Print lots of debugging information.\n"
+msgstr " -d Vypisuje mnoho ladicích údajů.\n"
+
+#: 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:325
+msgid ""
+" -e, --environment-overrides\n"
+" Environment variables override makefiles.\n"
+msgstr ""
+" -e, --environment-overrides\n"
+" Proměnné prostředí přebijí ty z makefilu.\n"
+
+#: 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:330
+msgid ""
+" -f FILE, --file=FILE, --makefile=FILE\n"
+" Read FILE as a makefile.\n"
+msgstr ""
+" -f SOUBOR, --file=SOUBOR, --makefile=SOUBOR\n"
+" NaÄte SOUBOR coby makefile.\n"
+
+#: 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:335
+msgid " -i, --ignore-errors Ignore errors from recipes.\n"
+msgstr " -i, --ignore-errors Ignoruje chyby z návodů.\n"
+
+#: main.c:337
+msgid ""
+" -I DIRECTORY, --include-dir=DIRECTORY\n"
+" Search DIRECTORY for included makefiles.\n"
+msgstr ""
+" -I ADRESÃŘ, --include-dir=ADRESÃŘ\n"
+" Vložené makefily hledá v ADRESÃŘI.\n"
+
+#: main.c:340
+msgid ""
+" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
+"arg.\n"
+msgstr ""
+" -j [N], --jobs[=N] Dovolí nejvíce N úloh najednou;\n"
+" nekoneÄno úloh bez argumentu.\n"
+
+#: 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: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"
+" Nespouští souběžné úlohy, dokud zátěž\n"
+" neklesne pod N.\n"
+
+#: main.c:347
+msgid ""
+" -L, --check-symlink-times Use the latest mtime between symlinks and "
+"target.\n"
+msgstr ""
+" -L, --check-symlink-times Použije nejnovÄ›jší Äas zmÄ›ny obsahu z Äasů\n"
+" symbolických odkazů a cíle.\n"
+
+#: 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"
+" Ve skuteÄnosti nevykoná žádný návod, pouze\n"
+" jej vypíše.\n"
+
+#: 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 SOUBOR, --old-file=SOUBOR, --assume-old=SOUBOR\n"
+" Považuje SOUBOR za velmi starý a znovu jej\n"
+" nevyrobí.\n"
+
+#: main.c:355
+msgid ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
+msgstr ""
+" -O[DRUH], --output-sync[=DRUH]\n"
+" Synchronizuje výstup souběžných úloh podle "
+"DRUHU.\n"
+
+#: 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:360
+msgid ""
+" -q, --question Run no recipe; exit status says if up to "
+"date.\n"
+msgstr ""
+" -q, --question Nespustí žádný návod. Návratový kód řekne,\n"
+" jestli je aktuální.\n"
+
+#: 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: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:366
+msgid " -s, --silent, --quiet Don't echo recipes.\n"
+msgstr " -s, --silent, --quiet Neopisuje návod.\n"
+
+#: main.c:368
+msgid ""
+" -S, --no-keep-going, --stop\n"
+" Turns off -k.\n"
+msgstr ""
+" -S, --no-keep-going, --stop\n"
+" Vypne -k.\n"
+
+#: 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:373
+msgid " --trace Print tracing information.\n"
+msgstr " --trace Vypisuje trasovací údaje.\n"
+
+#: 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:377
+msgid " -w, --print-directory Print the current directory.\n"
+msgstr " -w, --print-directory Vypisuje aktuální adresář.\n"
+
+#: 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:381
+msgid ""
+" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
+" Consider FILE to be infinitely new.\n"
+msgstr ""
+" -W SOUBOR, --what-if=SOUBOR, --new-file=SOUBOR, --assume-new=SOUBOR\n"
+" Považuje SOUBOR za nekoneÄnÄ› nový.\n"
+
+#: main.c:384
+msgid ""
+" --warn-undefined-variables Warn when an undefined variable is "
+"referenced.\n"
+msgstr ""
+" --warn-undefined-variables Upozorní, kdykoliv je odkazováno na\n"
+" nedefinovanou proměnnou.\n"
+
+#: main.c:654
+msgid "empty string invalid as file name"
+msgstr "prázdný řetězec není platný název souboru"
+
+#: main.c:737
+#, c-format
+msgid "unknown debug level specification '%s'"
+msgstr "zadána neznámá úroveň ladění „%s“"
+
+#: main.c:774
+#, c-format
+msgid "unknown output-sync type '%s'"
+msgstr "neznámý druh synchronizace výstupu „%s“"
+
+#: 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:835
+#, c-format
+msgid ""
+"\n"
+"Unhandled exception filter called from program %s\n"
+"ExceptionCode = %lx\n"
+"ExceptionFlags = %lx\n"
+"ExceptionAddress = 0x%p\n"
+msgstr ""
+"\n"
+"Filtr neošetřených výjimek zavolán z programu %s\n"
+"Kód výjimky = %lx\n"
+"Příznaky výjimky = %lx\n"
+"Adresa výjimky = 0x%p\n"
+
+#: 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: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: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: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:1436
+#, c-format
+msgid "%s is suspending for 30 seconds..."
+msgstr "%s se uspí na 30 sekund…"
+
+#: main.c:1438
+#, c-format
+msgid "done sleep(30). Continuing.\n"
+msgstr "sleep(30) dokonÄeno. PokraÄuje se.\n"
+
+#: main.c:1527
+#, 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)"
+
+#: 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: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: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:1780 vmsjobs.c:653
+msgid "fopen (temporary file)"
+msgstr "fopen (doÄasný soubor)"
+
+#: main.c:1786
+msgid "fwrite (temporary file)"
+msgstr "fwrite (doÄasný soubor)"
+
+#: 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:1975
+msgid "Resetting to single job (-j1) mode."
+msgstr "Návrat k jednoúlohovému režimu (-j1)."
+
+#: 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:2133
+msgid "Updating makefiles....\n"
+msgstr "Soubory makefile se aktualizují…\n"
+
+#: 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:2237
+#, c-format
+msgid "Failed to remake makefile '%s'."
+msgstr "Výroba nového makefilu „%s“ selhala."
+
+#: main.c:2257
+#, c-format
+msgid "Included makefile '%s' was not found."
+msgstr "Vložený makefile „%s“ nebyl nalezen."
+
+#: main.c:2262
+#, c-format
+msgid "Makefile '%s' was not found"
+msgstr "Makefile „%s“ nebyl nalezen"
+
+#: 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:2343
+#, c-format
+msgid "Re-executing[%u]:"
+msgstr "Znovu se spouští [%u]:"
+
+#: main.c:2453
+msgid "unlink (temporary file): "
+msgstr "unlink (doÄasný soubor): "
+
+#: main.c:2486
+msgid ".DEFAULT_GOAL contains more than one target"
+msgstr ".DEFAULT_GOAL obsahuje více než jeden cíl"
+
+#: main.c:2509
+msgid "No targets specified and no makefile found"
+msgstr "Nezadány žádné cíle a žádné makefily nenalezeny"
+
+#: main.c:2511
+msgid "No targets"
+msgstr "Žádné cíle"
+
+#: main.c:2516
+msgid "Updating goal targets....\n"
+msgstr "Aktualizují se cíle…\n"
+
+#: 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:2710
+#, c-format
+msgid "Usage: %s [options] [target] ...\n"
+msgstr "Použití: %s [PŘEPÃNAÄŒE] [CÃLE]…\n"
+
+#: main.c:2716
+#, c-format
+msgid ""
+"\n"
+"This program built for %s\n"
+msgstr ""
+"\n"
+"Tento program byl sestaven pro %s\n"
+
+#: main.c:2718
+#, c-format
+msgid ""
+"\n"
+"This program built for %s (%s)\n"
+msgstr ""
+"\n"
+"Tento program byl sestaven pro %s (%s)\n"
+
+#: main.c:2721
+#, c-format
+msgid "Report bugs to <bug-make@gnu.org>\n"
+msgstr ""
+"Chyby v programu hlaste anglicky na <bug-make@gnu.org>. Nedostatky\n"
+"v pÅ™ekladu hlaste Äesky na <translation-team-cs@lists.sourceforge.net>.\n"
+
+#: 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: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:3269
+#, c-format
+msgid "%sBuilt for %s\n"
+msgstr "%sSestaveno pro %s\n"
+
+#: main.c:3271
+#, c-format
+msgid "%sBuilt for %s (%s)\n"
+msgstr "%s Sestaveno pro %s (%s)\n"
+
+#: main.c:3282
+#, c-format
+msgid ""
+"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
+"html>\n"
+"%sThis is free software: you are free to change and redistribute it.\n"
+"%sThere is NO WARRANTY, to the extent permitted by law.\n"
+msgstr ""
+"%sLicence GPLv3+: GNU GPL verze 3 nebo novější <http://gnu.org/licenses/gpl."
+"html>\n"
+"%sToto je svobodné programové vybavení: máte právo jej měnit a dále šířit.\n"
+"%sNesposkytuje se ŽÃDNà ZÃRUKA, jak jen zákon dovoluje.\n"
+
+# FIXME: i18n %s (time)
+#: main.c:3303
+#, c-format
+msgid ""
+"\n"
+"# Make data base, printed on %s"
+msgstr ""
+"\n"
+"# Databáze maku vypsána v %s"
+
+# FIXME: i18n %s (time)
+#: main.c:3313
+#, c-format
+msgid ""
+"\n"
+"# Finished Make data base on %s\n"
+msgstr ""
+"\n"
+"# Konec databáze maku v %s\n"
+
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "Neznámá chyba %d"
+
+#: misc.c:522
+#, c-format
+msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+msgstr "%s: uživatel %lu (reálný %lu), skupina %lu (reálná %lu)\n"
+
+#: misc.c:543
+msgid "Initialized access"
+msgstr "Přístup zahájen"
+
+#: misc.c:622
+msgid "User access"
+msgstr "Přístup uživatelem"
+
+#: misc.c:670
+msgid "Make access"
+msgstr "Přístup makem"
+
+#: misc.c:704
+msgid "Child access"
+msgstr "Přístup potomkem"
+
+#: output.c:104
+#, c-format
+msgid "%s: Entering an unknown directory\n"
+msgstr "%s: Vstupuje se do neznámého adresáře\n"
+
+#: output.c:106
+#, c-format
+msgid "%s: Leaving an unknown directory\n"
+msgstr "%s Opouští se neznámý adresář\n"
+
+#: output.c:109
+#, c-format
+msgid "%s: Entering directory '%s'\n"
+msgstr "%s: Vstupuje se do adresáře „%s“\n"
+
+#: output.c:111
+#, c-format
+msgid "%s: Leaving directory '%s'\n"
+msgstr "%s: Opouští se adresář „%s“\n"
+
+#: output.c:115
+#, c-format
+msgid "%s[%u]: Entering an unknown directory\n"
+msgstr "%s[%u]: Vstupuje se do neznámého adresáře\n"
+
+#: output.c:117
+#, c-format
+msgid "%s[%u]: Leaving an unknown directory\n"
+msgstr "%s[%u]: Opouští se neznámý adresář\n"
+
+#: output.c:120
+#, c-format
+msgid "%s[%u]: Entering directory '%s'\n"
+msgstr "%s[%u]: Vstupuje se do adresáře „%s“\n"
+
+#: output.c:122
+#, c-format
+msgid "%s[%u]: Leaving directory '%s'\n"
+msgstr "%s[%u]: Opouští se adresář „%s“\n"
+
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
+msgstr "chyba zápisu: %s"
+
+#: output.c:677
+msgid ". Stop.\n"
+msgstr ". Konec.\n"
+
+#: output.c:711
+#, c-format
+msgid "%s%s: %s"
+msgstr "%s%s: %s"
+
+#: output.c:720
+#, c-format
+msgid "%s: %s"
+msgstr "%s: %s"
+
+#: read.c:180
+msgid "Reading makefiles...\n"
+msgstr "Čtou se makefily…\n"
+
+#: read.c:335
+#, c-format
+msgid "Reading makefile '%s'"
+msgstr "Čte se makefile „%s“"
+
+#: read.c:337
+#, c-format
+msgid " (no default goal)"
+msgstr " (žádný výchozí cíl)"
+
+#: read.c:339
+#, c-format
+msgid " (search path)"
+msgstr " (vyhledávací cesta)"
+
+#: read.c:341
+#, c-format
+msgid " (don't care)"
+msgstr " (nestarat se)"
+
+#: read.c:343
+#, c-format
+msgid " (no ~ expansion)"
+msgstr " (žádný expanze ~)"
+
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr "Přeskakuje se UTF-8 BOM v makefilu „%s“\n"
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr "Přeskakuje se UTF-8 BOM v paměti makefilu\n"
+
+#: read.c:789
+msgid "invalid syntax in conditional"
+msgstr "neplatná syntaxe podmínky"
+
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr "%s: zavedení selhalo"
+
+#: read.c:992
+msgid "recipe commences before first target"
+msgstr "návod zahájen před prvním cílem"
+
+#: read.c:1041
+msgid "missing rule before recipe"
+msgstr "před návodem chybí pravidlo"
+
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
+msgstr " (mysleli jste tabulátor místo 8 mezer?)"
+
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "chybí oddÄ›lovaÄ%s"
+
+#: read.c:1270
+msgid "missing target pattern"
+msgstr "chybí vzor cíle"
+
+#: read.c:1272
+msgid "multiple target patterns"
+msgstr "více vzorů cíle"
+
+#: read.c:1276
+#, c-format
+msgid "target pattern contains no '%%'"
+msgstr "vzor cíle neobsahuje „%%“"
+
+#: read.c:1398
+msgid "missing 'endif'"
+msgstr "chybí „endif“"
+
+#: read.c:1436 read.c:1481 variable.c:1546
+msgid "empty variable name"
+msgstr "prázdný název proměnné"
+
+#: read.c:1471
+msgid "extraneous text after 'define' directive"
+msgstr "nadbyteÄný text po klíÄovém slovu „define“"
+
+#: read.c:1496
+msgid "missing 'endef', unterminated 'define'"
+msgstr "chybí „endef“, neukonÄený „define“"
+
+#: read.c:1524
+msgid "extraneous text after 'endef' directive"
+msgstr "nadbyteÄný text po klíÄovém slovu „endef“"
+
+#: read.c:1595
+#, c-format
+msgid "extraneous text after '%s' directive"
+msgstr "nadbyteÄný text po klíÄovém slovu „%s“"
+
+#: read.c:1596
+#, c-format
+msgid "extraneous '%s'"
+msgstr "nadbyteÄný „%s“"
+
+#: read.c:1624
+msgid "only one 'else' per conditional"
+msgstr "pouze jeden „else“ na podmínku"
+
+#: read.c:1899
+msgid "Malformed target-specific variable definition"
+msgstr "Chybě utvořená definice proměnné specifické pro cíl"
+
+#: read.c:1957
+msgid "prerequisites cannot be defined in recipes"
+msgstr "prerekvizitu nelze definovat v návodu"
+
+#: read.c:2015
+msgid "mixed implicit and static pattern rules"
+msgstr "smíšené implicitní a statická pravidla vzorů"
+
+#: read.c:2038
+msgid "mixed implicit and normal rules"
+msgstr "smíšené implicitní a normální pravidla"
+
+#: read.c:2091
+#, c-format
+msgid "target '%s' doesn't match the target pattern"
+msgstr "cíl „%s“ neodpovídá vzoru cíle"
+
+#: read.c:2106 read.c:2152
+#, c-format
+msgid "target file '%s' has both : and :: entries"
+msgstr "cílový soubor „%s“ obsahuje jak :, tak i ::"
+
+#: read.c:2112
+#, c-format
+msgid "target '%s' given more than once in the same rule"
+msgstr "cíl „%s“ zadán více než jednou ve stejném pravidle"
+
+#: read.c:2122
+#, c-format
+msgid "warning: overriding recipe for target '%s'"
+msgstr "pozor: návod pro cíl „%s“ bude přebit"
+
+#: read.c:2125
+#, c-format
+msgid "warning: ignoring old recipe for target '%s'"
+msgstr "pozor: starý návod pro cíl „%s“ bude ignorován"
+
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "smíšené implicitní a normální pravidla"
+
+#: read.c:2539
+msgid "warning: NUL character seen; rest of line ignored"
+msgstr "pozor: zaznamenán znak NUL, zbytek řádku bude ignorován"
+
+#: remake.c:230
+#, c-format
+msgid "Nothing to be done for '%s'."
+msgstr "Pro „%s“ nebude nic uděláno."
+
+#: remake.c:231
+#, c-format
+msgid "'%s' is up to date."
+msgstr "„%s“ je aktuální."
+
+#: remake.c:303
+#, c-format
+msgid "Pruning file '%s'.\n"
+msgstr "Uklízí se soubor „%s“.\n"
+
+#: remake.c:390 remake.c:393
+#, c-format
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
+msgstr "%sŽádné pravidlo jak vyrobit cíl „%s“ potřebný pro „%s“%s"
+
+#: remake.c:402 remake.c:405
+#, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sŽádné pravidlo jak vyrobit cíl „%s“%s"
+
+#: remake.c:426
+#, c-format
+msgid "Considering target file '%s'.\n"
+msgstr "Zvažuje se cílový soubor „%s“.\n"
+
+#: remake.c:433
+#, c-format
+msgid "Recently tried and failed to update file '%s'.\n"
+msgstr "Nedávná aktualizace souboru „%s“ selhala.\n"
+
+#: remake.c:445
+#, c-format
+msgid "File '%s' was considered already.\n"
+msgstr "Soubor „%s“ již byl uvážen.\n"
+
+#: remake.c:455
+#, c-format
+msgid "Still updating file '%s'.\n"
+msgstr "Stále se aktualizuje soubor „%s“.\n"
+
+#: remake.c:458
+#, c-format
+msgid "Finished updating file '%s'.\n"
+msgstr "Aktualizace soubor „%s“ dokonÄena.\n"
+
+#: remake.c:487
+#, c-format
+msgid "File '%s' does not exist.\n"
+msgstr "Soubor „%s“ neexistuje.\n"
+
+#: remake.c:495
+#, c-format
+msgid ""
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
+msgstr ""
+"*** Pozor: Soubor .LOW_RESOLUTION_TIME „%s“ má Äasový údaj ve vysokém "
+"rozlišení"
+
+#: remake.c:508 remake.c:1040
+#, c-format
+msgid "Found an implicit rule for '%s'.\n"
+msgstr "Nalezeno implicitní pravidlo pro „%s“.\n"
+
+#: remake.c:510 remake.c:1042
+#, c-format
+msgid "No implicit rule found for '%s'.\n"
+msgstr "Pro „%s“ nenalezeno žádné implicitní pravidlo.\n"
+
+#: remake.c:516
+#, c-format
+msgid "Using default recipe for '%s'.\n"
+msgstr "Pro „%s“ se použije výchozí návod.\n"
+
+#: remake.c:550 remake.c:1089
+#, c-format
+msgid "Circular %s <- %s dependency dropped."
+msgstr "Kruhová závislost „%s ↠%s zahozena."
+
+#: remake.c:675
+#, c-format
+msgid "Finished prerequisites of target file '%s'.\n"
+msgstr "Prerekvizity cílového souboru „%s“ dokonÄeny.\n"
+
+#: remake.c:681
+#, c-format
+msgid "The prerequisites of '%s' are being made.\n"
+msgstr "Prerekvizity „%s“ se vyrábějí.\n"
+
+#: remake.c:695
+#, c-format
+msgid "Giving up on target file '%s'.\n"
+msgstr "Výroba cílového souboru „%s“ vzdána.\n"
+
+#: remake.c:700
+#, c-format
+msgid "Target '%s' not remade because of errors."
+msgstr "Cíl „%s“ nebyl kvůli chybám znovu vyroben."
+
+#: remake.c:752
+#, c-format
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
+msgstr "Prerekvizita „%s“ pro cíl „%s“ je jen o pořadí.\n"
+
+#: remake.c:757
+#, c-format
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
+msgstr "Prerekvizita „%s“ cíle „%s“ neexistuje.\n"
+
+#: remake.c:762
+#, c-format
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
+msgstr "Prerekvizita „%s“ je novější než cíl „%s“.\n"
+
+#: remake.c:765
+#, c-format
+msgid "Prerequisite '%s' is older than target '%s'.\n"
+msgstr "Prerekvizita „%s“ je starší než cíl „%s“.\n"
+
+#: remake.c:783
+#, c-format
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
+msgstr "Cíl „%s“ je dvojdvouteÄkový a nemá žádnou prerekvizitu.\n"
+
+#: remake.c:790
+#, c-format
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
+msgstr "Pro „%s“ neexistuje návod a žádná prerekvizita se vskutku nezměnila.\n"
+
+# Always-make flag is make option -B
+#: remake.c:795
+#, c-format
+msgid "Making '%s' due to always-make flag.\n"
+msgstr "Vyrábí se „%s“ kvůli pÅ™epínaÄi --always-make.\n"
+
+#: remake.c:803
+#, c-format
+msgid "No need to remake target '%s'"
+msgstr "Cíl „%s“ není třeba znovu vyrábět"
+
+#: remake.c:805
+#, c-format
+msgid "; using VPATH name '%s'"
+msgstr "; použije se název „%s“ z VPATH"
+
+#: remake.c:825
+#, c-format
+msgid "Must remake target '%s'.\n"
+msgstr "Cíl „%s“ je třeba znovu vyrobit.\n"
+
+#: remake.c:831
+#, c-format
+msgid " Ignoring VPATH name '%s'.\n"
+msgstr " Ignoruje se název „%s“ z VPATH.\n"
+
+#: remake.c:840
+#, c-format
+msgid "Recipe of '%s' is being run.\n"
+msgstr "Právě se vykonává návod pro „%s“.\n"
+
+#: remake.c:847
+#, c-format
+msgid "Failed to remake target file '%s'.\n"
+msgstr "Cílový soubor „%s“ nebylo možné znovu vyrobit.\n"
+
+#: remake.c:850
+#, c-format
+msgid "Successfully remade target file '%s'.\n"
+msgstr "Cílový soubor „%s“ byl úspěšně znovu vyroben.\n"
+
+#: remake.c:853
+#, c-format
+msgid "Target file '%s' needs to be remade under -q.\n"
+msgstr "Cílový soubor „%s“ je třeba znovu vyrobit za použití -q.\n"
+
+#: remake.c:1048
+#, c-format
+msgid "Using default commands for '%s'.\n"
+msgstr "Pro „%s„ se použijí se výchozí příkazy.\n"
+
+#: remake.c:1397
+#, c-format
+msgid "Warning: File '%s' has modification time in the future"
+msgstr "Pozor: Soubor „%s“ má Äas zmÄ›ny obsahu v budoucnu"
+
+#: remake.c:1411
+#, c-format
+msgid "Warning: File '%s' has modification time %s s in the future"
+msgstr "Pozor: Soubor „%s“ má Äas zmÄ›ny obsahu %s s smÄ›rem do budoucnosti"
+
+#: remake.c:1610
+#, c-format
+msgid ".LIBPATTERNS element '%s' is not a pattern"
+msgstr "Prvek .LIBPATTERNS „%s“ není vzorem"
+
+# `Customs' is literal (a library name). See README.customs.
+#: remote-cstms.c:122
+#, c-format
+msgid "Customs won't export: %s\n"
+msgstr "Customs nebude exportovat: %s\n"
+
+#: rule.c:495
+msgid ""
+"\n"
+"# Implicit Rules"
+msgstr ""
+"\n"
+"# Implicitní pravidla"
+
+#: rule.c:510
+msgid ""
+"\n"
+"# No implicit rules."
+msgstr ""
+"\n"
+"# Žádná implicitní pravidla."
+
+# FIXME: Pluralize by first %u
+#: rule.c:513
+#, c-format
+msgid ""
+"\n"
+"# %u implicit rules, %u"
+msgstr ""
+"\n"
+"# Implicitních pravidel: %u, %u"
+
+#: rule.c:522
+msgid " terminal."
+msgstr " terminál."
+
+#: rule.c:530
+#, c-format
+msgid "BUG: num_pattern_rules is wrong! %u != %u"
+msgstr "CHYBA: num_pattern_rules je chybný! %u != %u"
+
+#: signame.c:84
+msgid "unknown signal"
+msgstr "neznámý signál"
+
+# Keep signal names in sync with GNU libc translations.
+#: signame.c:92
+msgid "Hangup"
+msgstr "Odpojen terminál (SIGHUP)"
+
+#: signame.c:95
+msgid "Interrupt"
+msgstr "Přerušení (SIGINT)"
+
+#: signame.c:98
+msgid "Quit"
+msgstr "Konec (SIGQUIT)"
+
+#: signame.c:101
+msgid "Illegal Instruction"
+msgstr "Nedovolená instrukce (SIGILL)"
+
+#: signame.c:104
+msgid "Trace/breakpoint trap"
+msgstr "Trasovací/ladící past (SIGTRAP)"
+
+#: signame.c:109
+msgid "Aborted"
+msgstr "NeúspěšnÄ› ukonÄen (SIGABRT)"
+
+#: signame.c:112
+msgid "IOT trap"
+msgstr "IOT past (SIGIOT)"
+
+#: signame.c:115
+msgid "EMT trap"
+msgstr "EMT past (SIGEMT)"
+
+#: signame.c:118
+msgid "Floating point exception"
+msgstr "Výjimka práce s pohyblivou řádovou Äárkou (SIGFPE)"
+
+#: signame.c:121
+msgid "Killed"
+msgstr "Zabit (SIGKILL)"
+
+#: signame.c:124
+msgid "Bus error"
+msgstr "Chyba na sběrnici (neplatná adresa) (SIGBUS)"
+
+#: signame.c:127
+msgid "Segmentation fault"
+msgstr "Neoprávněný přístup do paměti (SIGSEGV)"
+
+#: signame.c:130
+msgid "Bad system call"
+msgstr "Chybné volání systému (SIGSYS)"
+
+#: signame.c:133
+msgid "Broken pipe"
+msgstr "Roura přerušena (SIGPIPE)"
+
+#: signame.c:136
+msgid "Alarm clock"
+msgstr "Budík (SIGALRM)"
+
+#: signame.c:139
+msgid "Terminated"
+msgstr "UkonÄen (SIGTERM)"
+
+#: signame.c:142
+msgid "User defined signal 1"
+msgstr "Uživatelem definovaný signál 1 (SIGUSR1)"
+
+#: signame.c:145
+msgid "User defined signal 2"
+msgstr "Uživatelem definovaný signál 2 (SIGUSR2)"
+
+#: signame.c:150 signame.c:153
+msgid "Child exited"
+msgstr "Potomek skonÄil (SIGCHLD)"
+
+#: signame.c:156
+msgid "Power failure"
+msgstr "Výpadek napájení (SIGPWR)"
+
+#: signame.c:159
+msgid "Stopped"
+msgstr "Pozastaven (SIGTSTP)"
+
+#: signame.c:162
+msgid "Stopped (tty input)"
+msgstr "Pozastaven (vstup TTY) (SIGTTIN)"
+
+#: signame.c:165
+msgid "Stopped (tty output)"
+msgstr "Pozastaven (výstup TTY) (SIGTTOU)"
+
+#: signame.c:168
+msgid "Stopped (signal)"
+msgstr "Pozastaven (SIGSTOP)"
+
+#: signame.c:171
+msgid "CPU time limit exceeded"
+msgstr "PÅ™ekroÄen Äasový limit pro procesor (SIGXCPU)"
+
+#: signame.c:174
+msgid "File size limit exceeded"
+msgstr "PÅ™ekroÄen limit délky souboru (SIGXFS2)"
+
+#: signame.c:177
+msgid "Virtual timer expired"
+msgstr "Virtuální ÄasovaÄ vyprÅ¡el (SIGVTALRM)"
+
+#: signame.c:180
+msgid "Profiling timer expired"
+msgstr "Profilovací ÄasovaÄ vyprÅ¡el (SIGPROF)"
+
+#: signame.c:186
+msgid "Window changed"
+msgstr "Okno se změnilo (SIGWINCH)"
+
+#: signame.c:189
+msgid "Continued"
+msgstr "Je pokraÄováno (SIGCONT)"
+
+#: signame.c:192
+msgid "Urgent I/O condition"
+msgstr "Naléhavá I/O situace (SIGURG)"
+
+#: signame.c:199 signame.c:208
+msgid "I/O possible"
+msgstr "Vstup/Výstup možný (SIGIO)"
+
+# SIGWIND exists on Darwin
+#: signame.c:202
+msgid "SIGWIND"
+msgstr "Okno se změnilo (SIGWIND)"
+
+# SIGPHONE exists on Unix PC (3B1)
+#: signame.c:205
+msgid "SIGPHONE"
+msgstr "Změna stavu linky (SIGPHONE)"
+
+#: signame.c:211
+msgid "Resource lost"
+msgstr "Prostředek byl ztracen (SIGLOST)"
+
+# SIGDANGER exists on AIX
+#: signame.c:214
+msgid "Danger signal"
+msgstr "NebezpeÄí nedostatku pamÄ›ti (SIGDANGER)"
+
+#: signame.c:217
+msgid "Information request"
+msgstr "Žádost o informaci (SIGINFO)"
+
+#: signame.c:220
+msgid "Floating point co-processor not available"
+msgstr "Koprocesor pro práci s pohyblivou řádkou není dostupný (SIGNOFP)"
+
+#: strcache.c:236
+#, c-format
+msgid ""
+"\n"
+"%s No strcache buffers\n"
+msgstr ""
+"\n"
+"%s Žádná keš řetězců\n"
+
+#: strcache.c:266
+#, c-format
+msgid ""
+"\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
+msgstr ""
+"\n"
+"%s užito z keše řetězců: %lu (%lu) / řetězců = %lu / úložiště = %lu B / "
+"prům. = %lu B\n"
+
+#: strcache.c:270
+#, c-format
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
+msgstr ""
+"%s souÄasná keÅ¡: velikost = %hu B / užito = %hu B / poÄet = %hu / prům. = "
+"%hu B\n"
+
+#: strcache.c:280
+#, c-format
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
+msgstr "%s užito dalších: celkem = %lu B / poÄet = %lu / prům. = %lu B\n"
+
+#: strcache.c:283
+#, c-format
+msgid ""
+"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
+msgstr ""
+"%s volno dalších: celkem = %lu B / max. = %lu B / min. = %lu B / prům. = "
+"%hu B\n"
+
+#: strcache.c:287
+#, c-format
+msgid ""
+"\n"
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
+msgstr ""
+"\n"
+"%s vytížení keše řetězců: dotazů = %lu / poměr nálezů = %lu %%\n"
+
+#: strcache.c:289
+msgid ""
+"# hash-table stats:\n"
+"# "
+msgstr ""
+"# Statistika hašovací tabulky:\n"
+"# "
+
+#: variable.c:1599
+msgid "automatic"
+msgstr "automatická"
+
+#: variable.c:1602
+msgid "default"
+msgstr "výchozí"
+
+#: variable.c:1605
+msgid "environment"
+msgstr "prostředí"
+
+#: variable.c:1608
+msgid "makefile"
+msgstr "makefile"
+
+#: variable.c:1611
+msgid "environment under -e"
+msgstr "prostÅ™edí z pÅ™epínaÄe -e"
+
+#: variable.c:1614
+msgid "command line"
+msgstr "příkazový řádek"
+
+#: variable.c:1617
+msgid "'override' directive"
+msgstr "klíÄové slovo „override“"
+
+#: variable.c:1628
+#, c-format
+msgid " (from '%s', line %lu)"
+msgstr " (z „%s“, řádek %lu)"
+
+#: variable.c:1691
+msgid "# variable set hash-table stats:\n"
+msgstr "# statistika hašovací tabulky pro množinu proměnných:\n"
+
+#: variable.c:1702
+msgid ""
+"\n"
+"# Variables\n"
+msgstr ""
+"\n"
+"# Proměnné\n"
+
+#: variable.c:1706
+msgid ""
+"\n"
+"# Pattern-specific Variable Values"
+msgstr ""
+"\n"
+"# Hodnoty proměnných specifických pro vzor"
+
+#: variable.c:1720
+msgid ""
+"\n"
+"# No pattern-specific variable values."
+msgstr ""
+"\n"
+"# Žádné hodnoty proměnných specifických pro vzor."
+
+# FIXME: Pluralize
+#: variable.c:1722
+#, c-format
+msgid ""
+"\n"
+"# %u pattern-specific variable values"
+msgstr ""
+"\n"
+"# Hodnot proměnných specifických pro vzor: %u"
+
+#: variable.h:224
+#, c-format
+msgid "warning: undefined variable '%.*s'"
+msgstr "pozor: nedefinovaná proměnná „%.*s“"
+
+#: vmsfunctions.c:91
+#, c-format
+msgid "sys$search() failed with %d\n"
+msgstr "volání sys$search() selhalo s %d\n"
+
+#: vmsjobs.c:72
+#, c-format
+msgid "Warning: Empty redirection\n"
+msgstr "Pozor: Prázdné přesměrování\n"
+
+#: vmsjobs.c:183
+#, c-format
+msgid "internal error: '%s' command_state"
+msgstr "vnitřní chyba: command_state pro „%s“"
+
+#: vmsjobs.c:290
+#, c-format
+msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
+msgstr "-pozor, možná byste měli znovu povolit obsluhu CTRL-Y z DCL.\n"
+
+#: vmsjobs.c:455 vmsjobs.c:559
+#, c-format
+msgid "BUILTIN [%s][%s]\n"
+msgstr "VESTAVÄšNÃ [%s][%s]\n"
+
+#: vmsjobs.c:465
+#, c-format
+msgid "BUILTIN CD %s\n"
+msgstr "VESTAVÄšNÃ CD %s\n"
+
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%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:674
+#, c-format
+msgid "Redirected input from %s\n"
+msgstr "Vstup přesměrován z %s\n"
+
+#: 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: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:809
+#, c-format
+msgid "Executing %s instead\n"
+msgstr "Místo toho se spustí %s\n"
+
+#: 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"
+msgstr ""
+"\n"
+"# Vyhledávací cesty VPATH\n"
+
+#: vpath.c:600
+msgid "# No 'vpath' search paths."
+msgstr "# Žádné vyhledávací cesty „vpath“."
+
+# FIXME: Pluralize
+#: vpath.c:602
+#, c-format
+msgid ""
+"\n"
+"# %u 'vpath' search paths.\n"
+msgstr ""
+"\n"
+"$ Vyhledávacích cest „vpath“: %u\n"
+
+#: vpath.c:605
+msgid ""
+"\n"
+"# No general ('VPATH' variable) search path."
+msgstr ""
+"\n"
+"# Žádná obecná vyhledávací cesta (proměnná „VPATH“)."
+
+#: vpath.c:611
+msgid ""
+"\n"
+"# General ('VPATH' variable) search path:\n"
+"# "
+msgstr ""
+"\n"
+"# Obecná vyhledávací cesta (proměnná „VPATH“):\n"
+"# "
+
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "vnitÅ™ní chyba: více pÅ™epínaÄů --sync-mutex"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "vnitÅ™ní chyba: více pÅ™epínaÄů --jobserver-fds"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "virtuální paměť vyÄerpána"
+
+#~ msgid "write error"
+#~ msgstr "chyba zápisu"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "VESTAVÄšNÃ RM %s\n"
+
+#~ msgid "# Invalid value in 'update_status' member!"
+#~ msgstr "# Neplatná hodnota v Älenu „update_status“!"
+
+#~ msgid "unknown trace mode '%s'"
+#~ msgstr "neznámý režim trasování „%s“"
+
+#~ msgid "*** [%s] Error 0x%x (ignored)"
+#~ msgstr "*** [%s] Chyba 0x%x (ignorováno)"
+
+#~ msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
+#~ msgstr "Za úÄelem aktualizace cíle „%3$s“ se volá se návod z %1$s:%2$lu.\n"
+
+#~ msgid "Invoking builtin recipe to update target `%s'.\n"
+#~ msgstr "Za úÄelem aktualizace cíle „%s“ se volá vestavÄ›ný návod.\n"
+
+#~ msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+#~ msgstr ""
+#~ "%s poÄet vyrovnávacích pamÄ›tí keÅ¡e Å™etÄ›zců: %d (* %d B/buffer = %d B)\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "# strcache hash-table stats:\n"
+#~ "# "
+#~ msgstr ""
+#~ "\n"
+#~ "# statistika hašovací tabulky keše řetězců:\n"
+#~ "# "
diff --git a/po/da.gmo b/po/da.gmo
index 7a5badb5..02fa3106 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index de34eb72..86402916 100644
--- a/po/da.po
+++ b/po/da.po
@@ -1,121 +1,129 @@
# Danish messages for make
# Copyright (C) 2001 Free Software Foundation, Inc.
+# This file is distributed under the same license as the make package.
+#
# Byrial Ole Jensen <byrial@image.dk>, 2001
+# Ask Hjorth Larsen <asklarsen@gmail.com>, 2010.
#
msgid ""
msgstr ""
-"Project-Id-Version: make 3.80\n"
+"Project-Id-Version: make 3.82\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-0400\n"
-"PO-Revision-Date: 2002-10-05 22:56+0200\n"
-"Last-Translator: Byrial Ole Jensen <byrial@image.dk>\n"
-"Language-Team: Danish <dansk@klid.dk>\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 <asklarsen@gmail.com>\n"
+"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
+"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ar.c:48
-#, c-format
-msgid "attempt to use unsupported feature: `%s'"
-msgstr "forsøg på at bruge en ikke understøttet facilitet: '%s'"
+#: ar.c:46
+#, fuzzy, c-format
+msgid "attempt to use unsupported feature: '%s'"
+msgstr "forsøg på at bruge en ikke understøttet facilitet: '%s'"
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
-msgstr "'berør arkivmedlem' er ikke tilgængelig på VMS"
-
-#: ar.c:149
-#, c-format
-msgid "touch: Archive `%s' does not exist"
-msgstr "berør: Arkivet '%s' findes ikke"
+msgstr "'berør arkivmedlem' er ikke tilgængelig på VMS"
-#: ar.c:152
-#, c-format
-msgid "touch: `%s' is not a valid archive"
-msgstr "berør: '%s' er ikke et gyldigt arkiv"
-
-#: ar.c:159
-#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
-msgstr "berør: Medlemmet '%s' findes ikke i '%s'"
+#: ar.c:147
+#, fuzzy, c-format
+msgid "touch: Archive '%s' does not exist"
+msgstr "touch: Arkivet '%s' findes ikke"
-#: ar.c:166
-#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
-msgstr "berør: Forkert returkode fra ar_member_touch på '%s'"
+#: ar.c:150
+#, fuzzy, c-format
+msgid "touch: '%s' is not a valid archive"
+msgstr "touch: '%s' er ikke et gyldigt arkiv"
-#: arscan.c:69
+#: ar.c:157
#, fuzzy, c-format
-msgid "lbr$set_module() failed to extract module info, status = %d"
-msgstr "lbr$set_module kunne ikke udtrække modulinformation, status = %d"
+msgid "touch: Member '%s' does not exist in '%s'"
+msgstr "touch: Medlemmet '%s' findes ikke i '%s'"
-#: arscan.c:175
+#: ar.c:164
#, fuzzy, c-format
-msgid "lbr$ini_control() failed with status = %d"
-msgstr "lbr$ini_control fejlede med status = %d"
+msgid "touch: Bad return code from ar_member_touch on '%s'"
+msgstr "touch: Forkert returkode fra ar_member_touch på '%s'"
-#: arscan.c:187
+#: arscan.c:124
#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
-msgstr "kan ikke åbne biblioteket '%s' for at søge medlemmet '%s'"
+msgid "lbr$set_module() failed to extract module info, status = %d"
+msgstr "lbr$set_module() kunne ikke udtrække modulinformation, status = %d"
-#: arscan.c:850
+#: arscan.c:230
#, c-format
-msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
+msgid "lbr$ini_control() failed with status = %d"
+msgstr "lbr$ini_control() fejlede med status = %d"
+
+#: 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: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:851
+#: arscan.c:945
msgid " (name might be truncated)"
-msgstr " (navnet kan være forkortet)"
+msgstr " (navnet kan være forkortet)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Tidsstempel %s"
-#: arscan.c:854
+#: 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:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr ""
+
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Afbrydelse.\n"
-#: commands.c:622
-#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
-msgstr "*** [%s] Arkivmedlemmet '%s' er måske falsk; ikke slettet"
+#: 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:625
-#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
-msgstr "*** Arkivmedlemmet '%s' er måske falsk; ikke slettet"
+#: 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:638
-#, c-format
-msgid "*** [%s] Deleting file `%s'"
+#: commands.c:647
+#, fuzzy, c-format
+msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] Sletter filen '%s'"
-#: commands.c:640
-#, c-format
-msgid "*** Deleting file `%s'"
+#: commands.c:649
+#, fuzzy, c-format
+msgid "*** Deleting file '%s'"
msgstr "*** Sletter filen '%s'"
-#: commands.c:676
-#, fuzzy
+#: commands.c:685
msgid "# recipe to execute"
-msgstr "# kommandoer at udføre"
+msgstr "# kommandoer der skal køres"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
msgstr " (indbyggede):"
-#: commands.c:681
-#, c-format
-msgid " (from `%s', line %lu):\n"
+#: commands.c:690
+#, fuzzy, c-format
+msgid " (from '%s', line %lu):\n"
msgstr " (fra '%s', linje %lu):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -123,222 +131,222 @@ msgstr ""
"\n"
"# Filkataloger\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
-msgstr "# %s: kunne ikke undersøges med stat.\n"
+msgstr "# %s: kunne ikke undersøges med stat.\n"
-#: dir.c:1012
+#: 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"
+msgstr "# %s (nøgle %s, mtime %d): kunne ikke åbnes.\n"
-#: dir.c:1016
+#: 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"
+msgstr "# %s (enhed %d, inode [%d,%d,%d]): kunne ikke åbnes.\n"
-#: dir.c:1021
+#: 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"
+msgstr "# %s (enhed %ld, inode %ld): kunne ikke åbnes.\n"
-#: dir.c:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
-msgstr "# %s (nøgle %s, mtime %d): "
+msgstr "# %s (nøgle %s, mtime %d): "
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
msgstr "# %s (enhed %d, inode [%d,%d,%d]): "
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
msgstr "# %s (enhed %ld, inode %ld): "
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "Ingen"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr " filer, "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "ingen"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
msgstr " umuligheder"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
msgstr " indtil videre."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
msgstr " umuligheder i %lu kataloger.\n"
-#: expand.c:127
-#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
+#: expand.c:125
+#, fuzzy, c-format
+msgid "Recursive variable '%s' references itself (eventually)"
msgstr "Rekursiv variabel '%s' refererer (i sidste ende) til sig selv"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
msgstr "uafsluttet variabelreference"
-#: file.c:267
+#: file.c:271
#, fuzzy, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
-msgstr "Kommandoer var angivet for fil '%s' i %s:%lu,"
+msgid "Recipe was specified for file '%s' at %s:%lu,"
+msgstr "Kommandoer blev angivet for filen '%s' i %s:%lu,"
-#: file.c:272
+#: file.c:276
#, fuzzy, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
-msgstr "Kommandoer for fil '%s' blev fundet ved implicit regel-søgning,"
+msgid "Recipe for file '%s' was found by implicit rule search,"
+msgstr "Kommandoer for filen '%s' blev fundet ved implicit regelsøgning,"
-#: file.c:275
-#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
+#: 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:278
+#: 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 dem til '%s'."
-
-#: file.c:298
-#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
-msgstr "kan ikke ændre enkelt-kolon '%s' til dobbelt-kolon '%s'"
+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:303
-#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
-msgstr "kan ikke ændre dobbelt-kolon '%s' til enkelt-kolon '%s'"
+#, 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:392
-#, c-format
-msgid "*** Deleting intermediate file `%s'"
+#: 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:401
+#, fuzzy, c-format
+msgid "*** Deleting intermediate file '%s'"
msgstr "*** Sletter mellemfil '%s'"
-#: file.c:396
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Sletter mellemfiler ...\n"
-#: file.c:803
-#, c-format
-msgid "%s: Timestamp out of range; substituting %s"
-msgstr "%s: Tidsstempel i forkert område; bruger %s"
-
-#: file.c:804
+#: file.c:811
msgid "Current time"
msgstr "Aktuel tid"
-#: file.c:924
+#: file.c:815
+#, c-format
+msgid "%s: Timestamp out of range; substituting %s"
+msgstr "%s: Tidsstempel i forkert område; bruger %s"
+
+#: file.c:955
msgid "# Not a target:"
-msgstr "# Ikke et mål:"
+msgstr "# Ikke et mål:"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
-msgstr "# Værdifuld fil (forudsætning for .PRECIOUS)."
+msgstr "# Værdifuld fil (forudsætning for .PRECIOUS)."
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
-msgstr "# Falsk mål (forudsætning for .PHONY)."
+msgstr "# Falsk mål (forudsætning for .PHONY)."
-#: file.c:933
-#, fuzzy
+#: file.c:964
msgid "# Command line target."
-msgstr "# Kommandolinjemål."
+msgstr "# Kommandolinjemål."
-#: file.c:935
-#, fuzzy
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
-msgstr "# En uangivet makefil, evt. en fra MAKEFILES."
+msgstr "# Et forvalg, MAKEFILES, eller -include/sinclude makefile."
+
+#: file.c:968
+#, fuzzy
+msgid "# Builtin rule"
+msgstr ""
+"\n"
+"# Ingen implicitte regler."
-#: file.c:937
+#: file.c:970
msgid "# Implicit rule search has been done."
-msgstr "# Der er udført implicit regelsøgning."
+msgstr "# Der er udført implicit regelsøgning."
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
-msgstr "# Der er ikke udført implicit regelsøgning."
+msgstr "# Der er ikke udført implicit regelsøgning."
-#: file.c:940
-#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
-msgstr "# Implicit/statisk mønsterstamme: '%s'\n"
+#: file.c:973
+#, fuzzy, c-format
+msgid "# Implicit/static pattern stem: '%s'\n"
+msgstr "# Implicit/statisk mønsterstamme: '%s'\n"
-#: file.c:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Filen er en mellemfil."
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
-msgstr "# Skaber også:"
+msgstr "# Skaber også:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
-msgstr "# Ændringstid ikke tjekket."
+msgstr "# Ændringstid ikke tjekket."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
msgstr "# Filen findes ikke."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
msgstr "# Filen er meget gammel."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
-msgstr "# Sidst ændret %s\n"
+msgstr "# Sidst ændret %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
msgstr "# Filen er blevet opdateret."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Filen er ikke blevet opdateret."
-#: file.c:968
-#, fuzzy
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
-msgstr "# Kommandoer udføres nu (DETTE ER EN FEJL)."
+msgstr "# Der køres kommandoer nu (DETTE ER EN FEJL)."
-#: file.c:971
-#, fuzzy
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
-msgstr "# Kommandoer for afhængigheder udføres nu (DETTE ER EN FEJL)."
+msgstr "# Kommandoer for afhængigheder køres nu (DETTE ER EN FEJL)."
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Opdateret med godt resultat."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
-msgstr "# Behøver opdatering (-q er sat)."
+msgstr "# Behøver opdatering (-q er sat)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Opdatering mislykkedes."
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# Ugyldig værdi i 'update_status'-felt!"
-
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
-msgstr "# Ugyldig værdi i 'command_state'-felt!"
+#: file.c:1025
+#, fuzzy
+msgid "# Invalid value in 'command_state' member!"
+msgstr "# Ugyldig værdi i 'command_state'-felt!"
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -346,7 +354,7 @@ msgstr ""
"\n"
"# Filer"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -356,121 +364,178 @@ msgstr ""
"# Statistik for fil-hash-spande:\n"
"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
-msgstr "ikke-numerisk første argument til 'word'-funktionen"
-
-#: function.c:763
-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"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr ""
-#: function.c:783
-msgid "non-numeric first argument to `wordlist' function"
-msgstr "ikke-numerisk første argument til 'wordlist'-funktionen"
+#: function.c:780
+#, fuzzy
+msgid "non-numeric first argument to 'word' function"
+msgstr "ikke-numerisk første argument til 'word'-funktionen"
#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
+#, 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:805
+#, fuzzy
+msgid "non-numeric first argument to 'wordlist' function"
+msgstr "ikke-numerisk første argument til 'wordlist'-funktionen"
+
+#: function.c:807
+#, fuzzy
+msgid "non-numeric second argument to 'wordlist' function"
msgstr "ikke-numerisk andet argument til 'wordlist'-funktionen"
-#: function.c:1458
+#: function.c:1499
#, fuzzy, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
-msgstr "create_child_process: DuplicateHandle(In) mislykkedes (e=%d)\n"
+msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
+msgstr "windows32_openpipe(): DuplicateHandle(In) mislykkedes (e=%ld)\n"
-#: function.c:1469
+#: function.c:1523
#, fuzzy, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr "create_child_process: DuplicateHandle(Err) mislykkedes (e=%d)\n"
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
+msgstr "windows32_open_pipe(): DuplicateHandle(Err) mislykkedes (e=%ld)\n"
-#: function.c:1474
-#, fuzzy, c-format
+#: function.c:1530
+#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
-msgstr "CreatePipe() mislykkedes (e=%d)\n"
+msgstr "CreatePipe() mislykkedes (e=%ld)\n"
-#: function.c:1479
-#, fuzzy
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe(): process_init_fd() mislykkedes\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Afrydder midlertidig batchfil %s\n"
-#: function.c:2150
+#: function.c:2193
#, fuzzy, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
-msgstr "Utilstrækkeligt antal argumenter (%d) til funktionen '%s'"
+msgid "open: %s: %s"
+msgstr "%s: %s"
-#: function.c:2162
+#: function.c:2203
#, fuzzy, c-format
-msgid "unimplemented on this platform: function `%s'"
-msgstr "Uimplementeret på denne platform: funktion '%s'"
+msgid "write: %s: %s"
+msgstr "skrivefejl: %s"
-#: function.c:2212
+#: function.c:2209
#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
-msgstr "Uafsluttet kald til funktionen '%s'; manglende '%c'"
+msgid "Invalid file operation: %s"
+msgstr ""
-#: getopt.c:661
+#: 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:2336
+#, fuzzy, c-format
+msgid "unimplemented on this platform: function '%s'"
+msgstr "ikke implementeret på denne platform: funktion '%s'"
+
+#: function.c:2399
+#, fuzzy, c-format
+msgid "unterminated call to function '%s': missing '%c'"
+msgstr "uafsluttet kald til funktionen '%s'; manglende '%c'"
+
+#: function.c:2591
+msgid "Empty function name"
+msgstr ""
+
+#: function.c:2593
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: tilvalg '%s' er flertydigt\n"
+msgid "Invalid function name: %s"
+msgstr ""
-#: getopt.c:685
+#: function.c:2595
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "Function name too long: %s"
+msgstr ""
+
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr "utilstrækkeligt antal argumenter (%d) til funktionen '%s'"
+
+#: function.c:2601
+#, fuzzy, c-format
+msgid "Invalid maximum argument count (%d) for function %s"
+msgstr "utilstrækkeligt antal argumenter (%d) til funktionen '%s'"
+
+#: getopt.c:659
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: tilvalg '%s' er flertydigt\n"
+
+#: getopt.c:683
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: tilvalg '--%s' tillader ikke et argument\n"
-#: getopt.c:690
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+#: getopt.c:688
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: tilvalg '%c%s' tillader ikke et argument\n"
-#: getopt.c:707 getopt.c:880
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s tilvalg '%s' kræver et argument\n"
+#: getopt.c:705 getopt.c:878
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s tilvalg '%s' kræver et argument\n"
-#: getopt.c:736
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+#: getopt.c:734
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: ikke genkendt tilvalg '--%s'\n"
-#: getopt.c:740
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:738
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: ikke genkendt tilvalg '%c%s'\n"
-#: getopt.c:766
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: ulovligt tilvalg -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: ugyldigt tilvalg -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: tilvalg kræver et argument -- %c\n"
+msgstr "%s: tilvalg kræver et argument -- %c\n"
-#: getopt.c:846
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:844
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: tilvalg '-W %s' er flertydigt\n"
-#: getopt.c:864
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:862
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: tilvalg '-W %s' tillader ikke et argument\n"
+#: guile.c:58
+#, c-format
+msgid "guile: Expanding '%s'\n"
+msgstr ""
+
+#: guile.c:74
+#, c-format
+msgid "guile: Evaluating '%s'\n"
+msgstr ""
+
#: hash.c:49
-#, fuzzy, c-format
+#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
-msgstr "kan ikke tildele %ld byte til hash-spande: hukommelsen opbrugt"
+msgstr "kan ikke tildele %lu byte til hashtabel: hukommelsen opbrugt"
#: hash.c:280
#, c-format
@@ -485,302 +550,386 @@ msgstr "Omgrupperinger=%d, "
#: hash.c:283
#, c-format
msgid "Collisions=%ld/%ld=%.0f%%"
-msgstr "Sammenstød=%ld/%ld=%.0f%%"
+msgstr "Sammenstød=%ld/%ld=%.0f%%"
-#: implicit.c:40
-#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
+#: implicit.c:38
+#, fuzzy, c-format
+msgid "Looking for an implicit rule for '%s'.\n"
msgstr "Kigger efter en implicit regel for '%s'.\n"
-#: implicit.c:56
-#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
+#: implicit.c:54
+#, fuzzy, c-format
+msgid "Looking for archive-member implicit rule for '%s'.\n"
msgstr "Kigger efter en implicit arkivmedlemsregel for '%s'.\n"
-#: implicit.c:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
-msgstr "Undgår rekursion i implicitte regler.\n"
+msgstr "Undgår rekursion i implicitte regler.\n"
-#: implicit.c:491
+#: implicit.c:486
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
-msgstr "Prøver mønsterregel med stammen '%.*s'.\n"
+msgid "Stem too long: '%.*s'.\n"
+msgstr ""
-#: implicit.c:674
-#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
-msgstr "Afviser umulig regelforudsætning '%s'.\n"
+#: implicit.c:491
+#, fuzzy, c-format
+msgid "Trying pattern rule with stem '%.*s'.\n"
+msgstr "Prøver mønsterregel med stammen '%.*s'.\n"
-#: implicit.c:675
-#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
-msgstr "Afviser umulig implicit forudsætning '%s'.\n"
+#: implicit.c:697
+#, fuzzy, c-format
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
+msgstr "Afviser umulig regelforudsætning '%s'.\n"
-#: implicit.c:688
-#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
-msgstr "Prøver regelforudsætning '%s'.\n"
+#: implicit.c:698
+#, fuzzy, c-format
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
+msgstr "Afviser umulig implicit forudsætning '%s'.\n"
-#: implicit.c:689
-#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
-msgstr "Prøver implicit forudsætning '%s'.\n"
+#: implicit.c:711
+#, fuzzy, c-format
+msgid "Trying rule prerequisite '%s'.\n"
+msgstr "Prøver regelforudsætning '%s'.\n"
-#: implicit.c:728
-#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
-msgstr "Fandt forudsætning '%s' som VPATH '%s'\n"
+#: implicit.c:712
+#, fuzzy, c-format
+msgid "Trying implicit prerequisite '%s'.\n"
+msgstr "Prøver implicit forudsætning '%s'.\n"
-#: implicit.c:742
-#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
+#: implicit.c:751
+#, fuzzy, c-format
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
+msgstr "Fandt forudsætning '%s' som VPATH '%s'\n"
+
+#: implicit.c:765
+#, fuzzy, c-format
+msgid "Looking for a rule with intermediate file '%s'.\n"
msgstr "Kigger efter en regel med mellemfil '%s'.\n"
-#: job.c:335
-#, fuzzy
+#: job.c:361
msgid "Cannot create a temporary file\n"
-msgstr "fwrite (midlertidig fil)"
-
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] Fejl 0x%x (ignoreret)"
+msgstr "Kan ikke oprette midlertidig fil\n"
-#: job.c:450
-#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] Fejl 0x%x"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (core-fil efterladt)"
-#: job.c:454
-#, c-format
-msgid "[%s] Error %d (ignored)"
+#: job.c:488
+#, fuzzy
+msgid " (ignored)"
msgstr "[%s] Fejl %d (ignoreret)"
-#: job.c:455
-#, c-format
-msgid "*** [%s] Error %d"
+#: job.c:492 job.c:2046
+#, fuzzy
+msgid "<builtin>"
+msgstr " (indbyggede):"
+
+#: 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] Error %d%s"
msgstr "*** [%s] Fejl %d"
-#: job.c:460
-msgid " (core dumped)"
-msgstr " (core-fil efterladt)"
+#: job.c:519
+#, fuzzy, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "*** [%s] Fejl 0x%x"
-#: job.c:549
+#: 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...."
+msgstr "*** Venter på uafsluttede job...."
-#: job.c:579
-#, fuzzy, c-format
+#: job.c:651
+#, c-format
msgid "Live child %p (%s) PID %s %s\n"
-msgstr "Levende barn 0x%08lx (%s), PID %ld %s\n"
+msgstr "Levende underproces %p (%s) PID %s %s\n"
-#: job.c:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (eksternt)"
-#: job.c:758
-#, fuzzy, c-format
+#: job.c:841
+#, c-format
msgid "Reaping losing child %p PID %s %s\n"
-msgstr "Høster taberbarn 0x%08lx, PID %ld %s\n"
+msgstr "Høster tabende underproces %p PID %s %s\n"
-#: job.c:759
-#, fuzzy, c-format
+#: job.c:842
+#, c-format
msgid "Reaping winning child %p PID %s %s\n"
-msgstr "Høster vinderbarn 0x%08lx, PID %ld %s\n"
+msgstr "Høster vindende underproces %p PID %s %s\n"
-#: job.c:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Afrydder midlertidig jobfil %s\n"
-#: job.c:861
+#: job.c:855
#, fuzzy, c-format
+msgid "Cleaning up temp batch file %s failed (%d)\n"
+msgstr "Afrydder midlertidig jobfil %s\n"
+
+#: job.c:961
+#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
-msgstr "Fjerner barn 0x%08lx, PID %ld%s fra kæde.\n"
+msgstr "Fjerner underproces %p PID %s%s fra kæde.\n"
-#: job.c:920
-msgid "write jobserver"
-msgstr "write jobserver"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
+msgstr ""
-#: job.c:922
-#, fuzzy, c-format
+#: job.c:1024 job.c:1038
+#, c-format
msgid "Released token for child %p (%s).\n"
-msgstr "Frigav symbol for barn 0x%08lx (%s).\n"
+msgstr "Frigav symbol for underproces %p (%s).\n"
-#: job.c:1453 job.c:2094
-#, fuzzy, c-format
+#: 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=%d)\n"
+msgstr "process_easy() fejlede ved igangsætning af proces (e=%ld)\n"
-#: job.c:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
"\n"
-"Talte %d argumenter i fejlet igangsætning\n"
+"Talte %d argumenter i fejlet igangsætning\n"
-#: job.c:1525
-#, fuzzy, c-format
+#: job.c:1735
+#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
-msgstr "Sætter barn 0x%08lx (%s), PID %ld%s i kæden.\n"
+msgstr "Sætter underproces %p (%s) PID %s%s på kæden.\n"
-#: job.c:1778
-#, fuzzy, c-format
+#: 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 barn 0x%08lx (%s).\n"
+msgstr "Fik symbol for underproces %p (%s).\n"
-#: job.c:1787
+#: job.c:2029
msgid "read jobs pipe"
msgstr "read jobs pipe"
-#: job.c:1798
-#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr ""
+#: job.c:2056
+#, fuzzy, c-format
+msgid "%s: target '%s' does not exist"
+msgstr "touch: Arkivet '%s' findes ikke"
-#: job.c:1802
+#: job.c:2059
#, fuzzy, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "Ingen grund til at genskabe målet '%s'"
+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:1910
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
-msgstr "kan ikke gennemtvinge belastningsgrænser på dette styrestystem"
+msgstr "kan ikke gennemtvinge belastningsgrænser på dette styrestystem"
-#: job.c:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
-msgstr "kan ikke gennemtvinge belastningsgrænse: "
+msgstr "kan ikke gennemtvinge belastningsgrænse: "
-#: job.c:1985
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
-msgstr ""
+msgstr "ikke flere filhåndtag: Kunne ikke duplikere stdin\n"
-#: job.c:1987
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
-msgstr ""
+msgstr "ikke flere filhåndtag: Kunne ikke duplikere stdout\n"
+
+#: 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:2015
+#: job.c:2293
msgid "Could not restore stdin\n"
-msgstr ""
+msgstr "Kunne ikke gendanne stdin\n"
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
-msgstr ""
+msgstr "Kunne ikke gendanne stdout\n"
-#: job.c:2127
-#, fuzzy, c-format
+#: job.c:2309
+#, fuzzy
+msgid "Could not restore stderr\n"
+msgstr "Kunne ikke gendanne stdin\n"
+
+#: job.c:2420
+#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
-msgstr "make høstede børne-pid %d, venter endnu på pid %d\n"
+msgstr "make høstede underproces med pid %s, venter endnu på pid %s\n"
-#: job.c:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Kommando ikke fundet"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s; Skalprogram ikke fundet"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
-msgstr ""
+msgstr "spawnvpe: miljøplads er måske opbrugt"
-#: job.c:2461
+#: job.c:2765
#, fuzzy, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
-msgstr "$SHELL ændret (var '%s', nu '%s')"
+msgid "$SHELL changed (was '%s', now '%s')\n"
+msgstr "$SHELL ændret (var '%s', nu '%s')\n"
-#: job.c:2951
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Opretter midlertidig jobfil %s\n"
-#: job.c:2963
+#: job.c:3206
+#, fuzzy
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+"Indhold af batchfil:%s\n"
+"\t%s\n"
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
+"Indhold af batchfil:%s\n"
+"\t%s\n"
-#: job.c:3065
+#: 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"
-#: main.c:303
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr ""
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr ""
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr ""
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr ""
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr ""
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr ""
+
+#: 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:313
msgid "Options:\n"
msgstr "Tilvalg:\n"
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m Ignoreret af hensyn til kompabilitet.\n"
-#: main.c:306
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
-msgstr " -B, --always-make Skab alle mål betingelsesløst.\n"
+msgstr " -B, --always-make Skab alle mål betingelsesløst.\n"
-#: main.c:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
" -C KATALOG, --directory=KATALOG\n"
-" Skift allerførst til KATALOG.\n"
+" Skift allerførst til KATALOG.\n"
-#: main.c:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr ""
-" -d Udskriv en masse fejlsøgningsinformation.\n"
+" -d Udskriv en masse fejlsøgningsinformation.\n"
-#: main.c:313
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=FLAG] Udskriv forskellige slags "
-"fejlsøgningsinformation.\n"
+"fejlsøgningsinformation.\n"
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
" -e, --environment-overrides\n"
-" Miljøvariable har forrang for makefiler.\n"
+" Miljøvariable har forrang for makefiler.\n"
-#: main.c:318
+#: 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:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
" -f FIL, --file=FIL, --makefile=FIL\n"
-" Læs FIL som en makefil.\n"
+" Læs FIL som en makefil.\n"
-#: main.c:323
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Udskriv denne besked og afslut.\n"
-#: main.c:325
-#, fuzzy
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
-msgstr " -i, --ignore-errors Ignorér fejl fra kommandoer.\n"
+msgstr " -i, --ignore-errors Ignorér fejl fra kommandoer.\n"
-#: main.c:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
" -I KATALOG, --include-dir=KATALOG\n"
-" Søg i KATALOG efter inkluderede makefiler.\n"
+" Søg i KATALOG efter inkluderede makefiler.\n"
-#: main.c:330
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -788,13 +937,13 @@ msgstr ""
" -j [N], --jobs[=N] Tillad N samtidige job; uendelig mange job "
"uden argument.\n"
-#: main.c:332
+#: 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"
+" -k, --keep-going Fortsæt selvom nogen mål ikke kan skabes.\n"
-#: main.c:334
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -804,121 +953,138 @@ msgstr ""
" Start ikke flere job medmindre belastningen er "
"under N.\n"
-#: main.c:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
+" -L, --check-symlink-times Brug sidste mtime mellem symbolske lænker og "
+"mål.\n"
-#: main.c:339
-#, fuzzy
+#: 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"
-" Udfør ikke nogen kommandoer; udskriv dem "
+" Udfør ikke nogen kommandoer; udskriv dem "
"bare.\n"
-#: main.c:342
+#: 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 FIL, --old-file=FIL, --assume-old=FIL\n"
-" Anse FIL som værende meget gammel og genskab "
+" Anse FIL som værende meget gammel og genskab "
"den ikke.\n"
-#: main.c:345
+#: main.c:355
+msgid ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
+msgstr ""
+
+#: 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:347
-#, fuzzy
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-" -q, --question Udfør ingen kommandoer; afslutningskoden "
-"fortæller status.\n"
+" -q, --question Udfør ingen kommandoer; afslutningskoden "
+"angiver\n"
+" om målet er tidssvarende.\n"
-#: main.c:349
+#: 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"
+" -r, --no-builtin-rules Slå de indbyggede implicitte regler fra.\n"
-#: main.c:351
+#: 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"
+msgstr " -R, --no-builtin-variables Slå de indbyggede variabelværdier fra.\n"
-#: main.c:353
-#, fuzzy
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
-msgstr " -s, --silent, --quiet Udskriv ikke kommander.\n"
+msgstr " -s, --silent, --quiet Udskriv ikke kommandoer.\n"
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr ""
" -S, --no-keep-going, --stop\n"
-" Slår -k fra.\n"
+" Slår -k fra.\n"
-#: main.c:358
+#: 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"
+" -t, --touch Berør mål i stedet for at genskabe dem.\n"
-#: main.c:360
+#: main.c:373
+#, fuzzy
+msgid " --trace Print tracing information.\n"
+msgstr ""
+" -d Udskriv en masse fejlsøgningsinformation.\n"
+
+#: 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:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Udskriv det aktuelle katalog.\n"
-#: main.c:364
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr ""
-" --no-print-directory Slå -w fra, selv hvis det var slået til "
+" --no-print-directory Slå -w fra, selv hvis det var slået til "
"automatisk.\n"
-#: main.c:366
+#: 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 FIL, --what-if=FIL, --new-file=FIL, --assume-new=FIL\n"
-" Anse FIL som værende nyskabt.\n"
+" Anse FIL som værende nyskabt.\n"
-#: main.c:369
+#: 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"
+" --warn-undefined-variables Advar når en udefineret variabel bruges.\n"
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "en tom streng er ugyldig som filnavn"
-#: main.c:650
+#: main.c:737
+#, fuzzy, c-format
+msgid "unknown debug level specification '%s'"
+msgstr "ukendt fejlsøgningsniveau-specifikation '%s'"
+
+#: main.c:774
#, c-format
-msgid "unknown debug level specification `%s'"
-msgstr "ukendt fejlsøgningsniveau-specifikation '%s'"
+msgid "unknown output-sync type '%s'"
+msgstr ""
-#: main.c:690
-#, fuzzy, c-format
+#: main.c:828
+#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
-msgstr "%s: Interrupt/undtagelse fanget (kode = 0x%x, addr = 0x%x)\n"
+msgstr "%s: Afbrydelse/undtagelse fanget (kode = 0x%lx, addr = 0x%p)\n"
-#: main.c:697
-#, fuzzy, c-format
+#: main.c:835
+#, c-format
msgid ""
"\n"
"Unhandled exception filter called from program %s\n"
@@ -927,165 +1093,186 @@ msgid ""
"ExceptionAddress = 0x%p\n"
msgstr ""
"\n"
-"Uhåndteret undtagelsesfilter kaldt fra program %s\n"
-"ExceptionCode = %x\n"
-"ExceptionFlags = %x\n"
-"ExceptionAddress = %x\n"
+"Uhåndteret undtagelsesfilter kaldt fra program %s\n"
+"ExceptionCode = %lx\n"
+"ExceptionFlags = %lx\n"
+"ExceptionAddress = 0x%p\n"
-#: main.c:705
-#, fuzzy, c-format
+#: main.c:843
+#, c-format
msgid "Access violation: write operation at address 0x%p\n"
-msgstr "Adgangskrænkelse: skriveoperation på adresse %x\n"
+msgstr "Adgangskrænkelse: skriveoperation på adresse 0x%p\n"
-#: main.c:706
-#, fuzzy, c-format
+#: main.c:844
+#, c-format
msgid "Access violation: read operation at address 0x%p\n"
-msgstr "Adgangskrænkelse: læseoperation på adresse %x\n"
+msgstr "Adgangskrænkelse: læseoperation på adresse 0x%p\n"
-#: main.c:781 main.c:792
-#, fuzzy, c-format
+#: 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"
+msgstr "find_and_set_shell() sætter default_shell = %s\n"
-#: main.c:834
-#, fuzzy, c-format
+#: 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"
+msgstr "find_and_set_shell()-stisøgning sætter default_shell = %s\n"
-#: main.c:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s er standset i 30 sekunder..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
-msgstr "udført sleep(30). Fortsætter.\n"
+msgstr "udført sleep(30). Fortsætter.\n"
+
+#: 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:1501
+#: 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."
+msgstr ""
+"advarsel: jobserver ikke tilgængelig: bruger -j1. Tilføj '+' til "
+"ophavsmakeregel."
+
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "Makefil fra standard-ind er angivet to gange."
-#: main.c:1539 vmsjobs.c:500
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (midlertidig fil)"
-#: main.c:1545
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (midlertidig fil)"
-#: main.c:1703
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
-msgstr "Parallelle job (-j) er ikke understøttet på denne platform."
+msgstr "Parallelle job (-j) er ikke understøttet på denne platform."
-#: main.c:1704
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
-msgstr "Sætter tilbage til enkelt job-tilstand (-j1)."
-
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "intern fejl: flere '--jobserver-fds'-tilvalg"
+msgstr "Sætter tilbage til enkelt job-tilstand (-j1)."
-#: main.c:1727
-#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
-msgstr "intern fejl: ugyldig '--jobserver-fds'-streng '%s'"
+# fd = fildeskriptor
+#: main.c:1994
+#, fuzzy, c-format
+msgid "Jobserver slots limited to %d\n"
+msgstr "Jobserverklient (fd'er %d,%d)\n"
-#: main.c:1730
+#: main.c:2002
#, c-format
-msgid "Jobserver client (fds %d,%d)\n"
-msgstr ""
-
-#: main.c:1740
-msgid "warning: -jN forced in submake: disabling jobserver mode."
-msgstr "advarsel: tvunget -jN i undermake: slår jobserver tilstand fra."
-
-#: main.c:1750
-msgid "dup jobserver"
-msgstr "dup jobserver"
-
-#: main.c:1753
-msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
+msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr ""
-"advarsel: jobserver ikke tilgængelig: bruger -j1. Tilføj '+' til "
-"ophavsmakeregel."
-#: main.c:1777
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "oprettelse af jobledning"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
-msgstr "klargøring af jobserver-ledning"
+msgstr "klargøring af jobserver-ledning"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
-msgstr ""
+msgstr "Symbolske lænker understøttes ikke: Deaktiverer -L."
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Opdaterer makefiler....\n"
-#: main.c:1917
-#, 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: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:1996
-#, c-format
-msgid "Failed to remake makefile `%s'."
+#: main.c:2237
+#, fuzzy, c-format
+msgid "Failed to remake makefile '%s'."
msgstr "Genskabelse af makefilen '%s' mislykkedes."
-#: main.c:2013
-#, c-format
-msgid "Included makefile `%s' was not found."
+#: main.c:2257
+#, fuzzy, c-format
+msgid "Included makefile '%s' was not found."
msgstr "Inkluderet makefil '%s' blev ikke fundet."
-#: main.c:2018
-#, c-format
-msgid "Makefile `%s' was not found"
+#: main.c:2262
+#, fuzzy, c-format
+msgid "Makefile '%s' was not found"
msgstr "Makefil '%s' blev ikke fundet."
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Kunne ikke skifte tilbage til det originale katalog."
-#: main.c:2102
-#, fuzzy, c-format
+#: main.c:2343
+#, c-format
msgid "Re-executing[%u]:"
-msgstr "Udfører igen:"
+msgstr "Udfører igen[%u]:"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (midlertidig fil): "
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
-msgstr ""
+msgstr ".DEFAULT_GOAL indeholder mere end et mål"
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
-msgstr "Ingen angivne mål og ingen makefil fundet"
+msgstr "Ingen angivne mål og ingen makefil fundet"
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
-msgstr "Ingen mål"
+msgstr "Ingen mål"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
-msgstr "Opdaterer endemål....\n"
+msgstr "Opdaterer endemål....\n"
-#: main.c:2306
+#: 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."
+msgstr "advarsel: Fejl i urets tid opdaget. Din bygning kan være ukomplet."
-#: main.c:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
-msgstr "Brug: %s [tilvalg] [mål] ...\n"
+msgstr "Brug: %s [tilvalg] [mål] ...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1094,7 +1281,7 @@ msgstr ""
"\n"
"Dette program er bygget til %s\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1103,36 +1290,32 @@ msgstr ""
"\n"
"Dette program er bygget til %s (%s)\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
-msgstr "Send fejlmeldinger (på engelsk) til <bug-make@gnu.org>.\n"
+msgstr "Send fejlmeldinger (på engelsk) til <bug-make@gnu.org>.\n"
-#: main.c:2562
+#: main.c:2807
#, fuzzy, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
-msgstr "'-%c'-tilvalget kræver et positivt heltalligt argument"
-
-#: main.c:2617
-#, c-format
-msgid "the `-%c' option requires a positive integral argument"
-msgstr "'-%c'-tilvalget kræver et positivt heltalligt argument"
+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:3054
+#: 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:3269
+#, c-format
msgid "%sBuilt for %s\n"
-msgstr ""
-"\n"
-"Dette program er bygget til %s\n"
+msgstr "%sBygget til %s\n"
-#: main.c:3056
-#, fuzzy, c-format
+#: main.c:3271
+#, c-format
msgid "%sBuilt for %s (%s)\n"
-msgstr ""
-"\n"
-"Dette program er bygget til %s (%s)\n"
+msgstr "%sBygget til %s (%s)\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1140,9 +1323,12 @@ msgid ""
"%sThis is free software: you are free to change and redistribute it.\n"
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
+"%sLicens GPLv3+: GNU GPL v3 eller nyere <http://gnu.org/licenses/gpl.html>\n"
+"%sDette er frit programmel: Du kan frit ændre og videredistribuere det.\n"
+"%sDer gives INGEN GARANTI i den grad, som dette tillades af loven.\n"
-# %s giver dato og klokkeslæt
-#: main.c:3086
+# %s giver dato og klokkeslæt
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1151,8 +1337,8 @@ msgstr ""
"\n"
"# Makedatabase, udskrevet %s"
-# %s giver dato og klokkeslæt
-#: main.c:3096
+# %s giver dato og klokkeslæt
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1161,454 +1347,466 @@ msgstr ""
"\n"
"# Afsluttet makedatabase %s\n"
-#: main.c:3237
-#, fuzzy, c-format
-msgid "%s: Entering an unknown directory\n"
-msgstr "%s: Går til et ukendt katalog"
-
-#: main.c:3239
-#, fuzzy, c-format
-msgid "%s: Leaving an unknown directory\n"
-msgstr "%s: Forlader et ukendt katalog"
-
-#: main.c:3242
-#, c-format
-msgid "%s: Entering directory `%s'\n"
-msgstr "%s: Går til katalog '%s'\n"
-
-#: main.c:3245
-#, c-format
-msgid "%s: Leaving directory `%s'\n"
-msgstr "%s: Forlader katalog '%s'\n"
-
-#: main.c:3250
-#, fuzzy, c-format
-msgid "%s[%u]: Entering an unknown directory\n"
-msgstr "%s[%u]: Går til et ukendt katalog"
-
-#: main.c:3253
-#, fuzzy, c-format
-msgid "%s[%u]: Leaving an unknown directory\n"
-msgstr "%s[%u]: Forlader et ukendt katalog"
-
-#: main.c:3257
-#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
-msgstr "%s[%u]: Går til katalog '%s'\n"
-
-#: main.c:3260
-#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
-msgstr "%s[%u]: Forlader katalog '%s'\n"
-
-#: misc.c:316
-msgid ". Stop.\n"
-msgstr ". Stop.\n"
-
-#: misc.c:337
+#: misc.c:201
#, c-format
msgid "Unknown error %d"
msgstr "Ukendt fejl %d"
-#: misc.c:347
-#, c-format
-msgid "%s%s: %s"
-msgstr "%s%s: %s"
-
-#: misc.c:355
-#, c-format
-msgid "%s: %s"
-msgstr "%s: %s"
-
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "virtuel hukommelse opbrugt"
-
-#: misc.c:708
+#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
msgstr "%s: bruger %lu (reelt %lu), gruppe %lu (reelt %lu)\n"
-#: misc.c:729
+#: misc.c:543
msgid "Initialized access"
msgstr "Indledende adgang"
-#: misc.c:808
+#: misc.c:622
msgid "User access"
msgstr "Brugeradgang"
-#: misc.c:856
+#: misc.c:670
msgid "Make access"
msgstr "Make-adgang"
-#: misc.c:890
+#: misc.c:704
msgid "Child access"
msgstr "Barneadgang"
-#: misc.c:954
+#: output.c:104
+#, c-format
+msgid "%s: Entering an unknown directory\n"
+msgstr "%s: GÃ¥r til et ukendt katalog\n"
+
+#: output.c:106
+#, c-format
+msgid "%s: Leaving an unknown directory\n"
+msgstr "%s: Forlader et ukendt katalog\n"
+
+#: output.c:109
#, fuzzy, c-format
-msgid "write error: %s"
-msgstr "Omdirigeret fejl to %s\n"
+msgid "%s: Entering directory '%s'\n"
+msgstr "%s: GÃ¥r til katalog '%s'\n"
+
+#: output.c:111
+#, fuzzy, c-format
+msgid "%s: Leaving directory '%s'\n"
+msgstr "%s: Forlader katalog '%s'\n"
-#: misc.c:956
+#: output.c:115
+#, c-format
+msgid "%s[%u]: Entering an unknown directory\n"
+msgstr "%s[%u]: GÃ¥r til et ukendt katalog\n"
+
+#: output.c:117
+#, c-format
+msgid "%s[%u]: Leaving an unknown directory\n"
+msgstr "%s[%u]: Forlader et ukendt katalog\n"
+
+#: output.c:120
+#, fuzzy, c-format
+msgid "%s[%u]: Entering directory '%s'\n"
+msgstr "%s[%u]: GÃ¥r til katalog '%s'\n"
+
+#: output.c:122
+#, fuzzy, c-format
+msgid "%s[%u]: Leaving directory '%s'\n"
+msgstr "%s[%u]: Forlader katalog '%s'\n"
+
+#: output.c:495 output.c:497
#, fuzzy
-msgid "write error"
-msgstr "write jobserver"
+msgid "write error: stdout"
+msgstr "skrivefejl: %s"
-#: read.c:179
-msgid "Reading makefiles...\n"
-msgstr "Læser makefiler...\n"
+#: output.c:677
+msgid ". Stop.\n"
+msgstr ". Stop.\n"
-#: read.c:333
+#: output.c:711
#, c-format
-msgid "Reading makefile `%s'"
-msgstr "Læser makefil '%s'"
+msgid "%s%s: %s"
+msgstr "%s%s: %s"
+
+#: output.c:720
+#, c-format
+msgid "%s: %s"
+msgstr "%s: %s"
+
+#: read.c:180
+msgid "Reading makefiles...\n"
+msgstr "Læser makefiler...\n"
#: read.c:335
+#, fuzzy, c-format
+msgid "Reading makefile '%s'"
+msgstr "Læser makefil '%s'"
+
+#: read.c:337
#, c-format
msgid " (no default goal)"
-msgstr " (ingen standard-endemål)"
+msgstr " (ingen standard-endemål)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
-msgstr " (søgesti)"
+msgstr " (søgesti)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
-msgstr " (ikke nødvendig)"
+msgstr " (ikke nødvendig)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (ingen ~-udfoldning)"
-#: read.c:759
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr ""
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr ""
+
+#: read.c:789
msgid "invalid syntax in conditional"
-msgstr "Ugyldig syntaks i betingelse"
+msgstr "ugyldig syntaks i betingelse"
-#: read.c:891
-#, fuzzy
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr ""
+
+#: read.c:992
msgid "recipe commences before first target"
-msgstr "kommandoer begynder før det første mål"
+msgstr "kommandoer begynder før første mål"
-#: read.c:940
-#, fuzzy
+#: read.c:1041
msgid "missing rule before recipe"
-msgstr "manglende regel før kommandoer"
-
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "manglende adskiller%s"
+msgstr "manglende regel før kommandoer"
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (mente du TAB i stedet for 8 mellemrum?)"
-#: read.c:1163
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "manglende adskiller%s"
+
+#: read.c:1270
msgid "missing target pattern"
-msgstr "manglende målmønster"
+msgstr "manglende målmønster"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
-msgstr "flere målmønstre"
+msgstr "flere målmønstre"
-#: read.c:1169
-#, c-format
-msgid "target pattern contains no `%%'"
-msgstr "målmønster indeholder ingen '%%'"
+#: read.c:1276
+#, fuzzy, c-format
+msgid "target pattern contains no '%%'"
+msgstr "målmønster indeholder ingen '%%'"
-#: read.c:1293
-msgid "missing `endif'"
+#: read.c:1398
+#, fuzzy
+msgid "missing 'endif'"
msgstr "manglende 'endif'"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "tomt variabelnavn"
-#: read.c:1367
+#: read.c:1471
#, fuzzy
-msgid "extraneous text after `define' directive"
-msgstr "Fremmed tekst efter 'endef'-direktiv"
+msgid "extraneous text after 'define' directive"
+msgstr "overskydende tekst efter 'define'-direktiv"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
+#: read.c:1496
+#, fuzzy
+msgid "missing 'endef', unterminated 'define'"
msgstr "manglende 'endef', uafsluttet 'define'"
-#: read.c:1420
+#: read.c:1524
#, fuzzy
-msgid "extraneous text after `endef' directive"
-msgstr "Fremmed tekst efter 'endef'-direktiv"
+msgid "extraneous text after 'endef' directive"
+msgstr "overskydende tekst efter 'endef'-direktiv"
-#: read.c:1490
-#, c-format
-msgid "Extraneous text after `%s' directive"
-msgstr "Fremmed tekst efter '%s'-direktiv"
+#: read.c:1595
+#, fuzzy, c-format
+msgid "extraneous text after '%s' directive"
+msgstr "Overskydende tekst efter '%s'-direktiv"
-#: read.c:1499 read.c:1513
-#, c-format
-msgid "extraneous `%s'"
+#: read.c:1596
+#, fuzzy, c-format
+msgid "extraneous '%s'"
msgstr "fremmed '%s'"
-#: read.c:1518
-msgid "only one `else' per conditional"
-msgstr "kun én 'else' per betingelse"
-
-#: read.c:1797
+#: read.c:1624
#, fuzzy
+msgid "only one 'else' per conditional"
+msgstr "kun én 'else' per betingelse"
+
+#: read.c:1899
msgid "Malformed target-specific variable definition"
-msgstr "Misdannet per-mål variabeldefinition"
+msgstr "Misdannet målspecifik variabeldefinition"
-#: read.c:1855
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
-msgstr ""
+msgstr "der kan ikke defineres forudsætninger i kommandoer"
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
-msgstr "blandede implicitte og statiske mønsterregler"
+msgstr "blandede implicitte og statiske mønsterregler"
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "blandede implicitte og normale regler"
-#: read.c:1976
-#, c-format
-msgid "target `%s' doesn't match the target pattern"
-msgstr "mål '%s' passer ikke til målmønstret"
+#: read.c:2091
+#, fuzzy, c-format
+msgid "target '%s' doesn't match the target pattern"
+msgstr "mål '%s' passer ikke til målmønstret"
-#: read.c:1991 read.c:2036
-#, c-format
-msgid "target file `%s' has both : and :: entries"
-msgstr "målfil '%s' har både :- og ::-angivelser"
+#: read.c:2106 read.c:2152
+#, fuzzy, c-format
+msgid "target file '%s' has both : and :: entries"
+msgstr "målfil '%s' har både :- og ::-angivelser"
-#: read.c:1997
-#, c-format
-msgid "target `%s' given more than once in the same rule."
-msgstr "target '%s' optræder mere end én gang i samme regel."
+#: read.c:2112
+#, fuzzy, c-format
+msgid "target '%s' given more than once in the same rule"
+msgstr "target '%s' optræder mere end én gang i samme regel."
-#: read.c:2006
+#: read.c:2122
#, fuzzy, c-format
-msgid "warning: overriding recipe for target `%s'"
-msgstr "advarsel: tilsidesætter kommandoer for mål '%s'"
+msgid "warning: overriding recipe for target '%s'"
+msgstr "advarsel: tilsidesætter kommandoer for mål '%s'"
-#: read.c:2009
+#: read.c:2125
#, fuzzy, c-format
-msgid "warning: ignoring old recipe for target `%s'"
-msgstr "advarsel: ignorerer gamle kommadoer for mål '%s'"
+msgid "warning: ignoring old recipe for target '%s'"
+msgstr "advarsel: ignorerer gamle kommandoer for mål '%s'"
+
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "blandede implicitte og normale regler"
-#: read.c:2392
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "advarsel: NUL-tegn set; resten af linjen ignoreres"
-#: remake.c:234
-#, c-format
-msgid "Nothing to be done for `%s'."
-msgstr "Ingenting at gøre for '%s'."
+#: remake.c:230
+#, fuzzy, c-format
+msgid "Nothing to be done for '%s'."
+msgstr "Ingenting at gøre for '%s'."
-#: remake.c:235
-#, c-format
-msgid "`%s' is up to date."
+#: remake.c:231
+#, fuzzy, c-format
+msgid "'%s' is up to date."
msgstr "'%s' er tidssvarende."
-#: remake.c:306
-#, c-format
-msgid "Pruning file `%s'.\n"
-msgstr "Beskærer fil '%s'.\n"
+#: remake.c:303
+#, fuzzy, c-format
+msgid "Pruning file '%s'.\n"
+msgstr "Beskærer fil '%s'.\n"
-#: remake.c:359
-#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%sIngen regel til at skabe mål '%s'%s"
+#: remake.c:390 remake.c:393
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
+msgstr "%sIngen regel til at skabe mål '%s' som behøves af '%s'%s"
-#: remake.c:361
-#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
-msgstr "%sIngen regel til at skabe mål '%s' som behøves af '%s'%s"
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sIngen regel til at skabe mål '%s'%s"
-#: remake.c:413
-#, c-format
-msgid "Considering target file `%s'.\n"
-msgstr "Overvejer målfil '%s'.\n"
+#: remake.c:426
+#, fuzzy, c-format
+msgid "Considering target file '%s'.\n"
+msgstr "Overvejer målfil '%s'.\n"
-#: remake.c:420
-#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
-msgstr "Opdatering af fil '%s' er forgæves prøvet for nylig.\n"
+#: remake.c:433
+#, fuzzy, c-format
+msgid "Recently tried and failed to update file '%s'.\n"
+msgstr "Opdatering af fil '%s' er forgæves prøvet for nylig.\n"
-#: remake.c:432
-#, c-format
-msgid "File `%s' was considered already.\n"
+#: remake.c:445
+#, fuzzy, c-format
+msgid "File '%s' was considered already.\n"
msgstr "Fil '%s' er allerede overvejet.\n"
-#: remake.c:442
-#, c-format
-msgid "Still updating file `%s'.\n"
+#: remake.c:455
+#, fuzzy, c-format
+msgid "Still updating file '%s'.\n"
msgstr "Opdaterer stadig fil '%s'.\n"
-#: remake.c:445
-#, c-format
-msgid "Finished updating file `%s'.\n"
+#: remake.c:458
+#, fuzzy, c-format
+msgid "Finished updating file '%s'.\n"
msgstr "Opdatering af fil '%s' afsluttet.\n"
-#: remake.c:474
-#, c-format
-msgid "File `%s' does not exist.\n"
+#: remake.c:487
+#, fuzzy, c-format
+msgid "File '%s' does not exist.\n"
msgstr "Filen '%s' findes ikke.\n"
-#: remake.c:481
-#, c-format
+#: remake.c:495
+#, fuzzy, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-"*** Advarsel: .LOW_RESOLUTION_TIME-fil '%s' har et tidsstempel med høj "
-"opløsning"
+"*** Advarsel: .LOW_RESOLUTION_TIME-fil '%s' har et tidsstempel med høj "
+"opløsning"
-#: remake.c:494 remake.c:1016
-#, c-format
-msgid "Found an implicit rule for `%s'.\n"
+#: remake.c:508 remake.c:1040
+#, fuzzy, c-format
+msgid "Found an implicit rule for '%s'.\n"
msgstr "Fandt en implicit regel for '%s'.\n"
-#: remake.c:496 remake.c:1018
-#, c-format
-msgid "No implicit rule found for `%s'.\n"
+#: remake.c:510 remake.c:1042
+#, fuzzy, c-format
+msgid "No implicit rule found for '%s'.\n"
msgstr "Ingen implicit regel for '%s' fundet.\n"
-#: remake.c:502
+#: remake.c:516
#, fuzzy, c-format
-msgid "Using default recipe for `%s'.\n"
+msgid "Using default recipe for '%s'.\n"
msgstr "Bruger standardkommandoer for '%s'.\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
-msgstr "Cirkulær %s <- %s afhængighed opgivet."
+msgstr "Cirkulær %s <- %s afhængighed opgivet."
-#: remake.c:651
-#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
-msgstr "Afsluttet forudsætningerne for målfil '%s'.\n"
+#: remake.c:675
+#, fuzzy, c-format
+msgid "Finished prerequisites of target file '%s'.\n"
+msgstr "Afsluttet forudsætningerne for målfil '%s'.\n"
-#: remake.c:657
-#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
-msgstr "Forudsætningerne for '%s' er ved at blive skabt.\n"
+#: remake.c:681
+#, fuzzy, c-format
+msgid "The prerequisites of '%s' are being made.\n"
+msgstr "Forudsætningerne for '%s' er ved at blive skabt.\n"
-#: remake.c:670
-#, c-format
-msgid "Giving up on target file `%s'.\n"
-msgstr "Opgiver målfil '%s'.\n"
+#: remake.c:695
+#, fuzzy, c-format
+msgid "Giving up on target file '%s'.\n"
+msgstr "Opgiver målfil '%s'.\n"
-#: remake.c:675
-#, c-format
-msgid "Target `%s' not remade because of errors."
-msgstr "Målet '%s' ikke genskabt på grund af fejl."
+#: remake.c:700
+#, fuzzy, c-format
+msgid "Target '%s' not remade because of errors."
+msgstr "Målet '%s' ikke genskabt på grund af fejl."
-#: remake.c:727
-#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
-msgstr "Forudsætningen '%s' angiver kun rækkefølgen ift. målet '%s'.\n"
+#: remake.c:752
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
+msgstr "Forudsætningen '%s' angiver kun rækkefølgen ift. målet '%s'.\n"
-#: remake.c:732
-#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
-msgstr "Forudsætningen '%s' for målet '%s' findes ikke.\n"
+#: remake.c:757
+#, fuzzy, c-format
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
+msgstr "Forudsætningen '%s' for målet '%s' findes ikke.\n"
-#: remake.c:737
-#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
-msgstr "Forudsætningen '%s' er nyere end målet '%s'.\n"
+#: remake.c:762
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
+msgstr "Forudsætningen '%s' er nyere end målet '%s'.\n"
-#: remake.c:740
-#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
-msgstr "Forudsætningen '%s' er ældre end målet '%s'.\n"
+#: remake.c:765
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is older than target '%s'.\n"
+msgstr "Forudsætningen '%s' er ældre end målet '%s'.\n"
-#: remake.c:758
-#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
-msgstr "Målet '%s' er med dobbelt-kolon og har ingen forudsætninger.\n"
+#: remake.c:783
+#, fuzzy, c-format
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
+msgstr "Målet '%s' er med dobbelt-kolon og har ingen forudsætninger.\n"
-#: remake.c:765
+#: remake.c:790
#, fuzzy, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
-msgstr "Ingen kommandoer til '%s' og ingen forudsætninger er ændrede.\n"
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
+msgstr "Ingen kommandoer til '%s', og ingen forudsætninger har ændret sig.\n"
-#: remake.c:770
-#, c-format
-msgid "Making `%s' due to always-make flag.\n"
+#: remake.c:795
+#, fuzzy, c-format
+msgid "Making '%s' due to always-make flag.\n"
msgstr "Skaber '%s' pga. \"always-make\"-flag.\n"
-#: remake.c:778
-#, c-format
-msgid "No need to remake target `%s'"
-msgstr "Ingen grund til at genskabe målet '%s'"
+#: remake.c:803
+#, fuzzy, c-format
+msgid "No need to remake target '%s'"
+msgstr "Ingen grund til at genskabe målet '%s'"
-#: remake.c:780
-#, c-format
-msgid "; using VPATH name `%s'"
+#: remake.c:805
+#, fuzzy, c-format
+msgid "; using VPATH name '%s'"
msgstr "; bruger VPATH-navnet '%s'"
-#: remake.c:800
-#, c-format
-msgid "Must remake target `%s'.\n"
-msgstr "Skal genskabe målet '%s'.\n"
+#: remake.c:825
+#, fuzzy, c-format
+msgid "Must remake target '%s'.\n"
+msgstr "Skal genskabe målet '%s'.\n"
-#: remake.c:806
-#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
+#: remake.c:831
+#, fuzzy, c-format
+msgid " Ignoring VPATH name '%s'.\n"
msgstr " Ignorerer VPATH-navnet '%s'.\n"
-#: remake.c:815
+#: remake.c:840
#, fuzzy, c-format
-msgid "Recipe of `%s' is being run.\n"
-msgstr "Kommandoer til '%s' er ved at blive udført.\n"
+msgid "Recipe of '%s' is being run.\n"
+msgstr "Kommandoerne for '%s' er ved at blive kørt.\n"
-#: remake.c:822
-#, c-format
-msgid "Failed to remake target file `%s'.\n"
-msgstr "Genskabelse af målfil '%s' mislykkedes.\n"
+#: remake.c:847
+#, fuzzy, c-format
+msgid "Failed to remake target file '%s'.\n"
+msgstr "Genskabelse af målfil '%s' mislykkedes.\n"
-#: remake.c:825
-#, c-format
-msgid "Successfully remade target file `%s'.\n"
-msgstr "Målfil '%s' genskabt.\n"
+#: remake.c:850
+#, fuzzy, c-format
+msgid "Successfully remade target file '%s'.\n"
+msgstr "MÃ¥lfil '%s' genskabt.\n"
-#: remake.c:828
-#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
-msgstr "Med -q trænger målfilen '%s' til at blive genskabt.\n"
+#: remake.c:853
+#, fuzzy, c-format
+msgid "Target file '%s' needs to be remade under -q.\n"
+msgstr "Med -q trænger målfilen '%s' til at blive genskabt.\n"
-#: remake.c:1024
-#, c-format
-msgid "Using default commands for `%s'.\n"
+#: remake.c:1048
+#, fuzzy, c-format
+msgid "Using default commands for '%s'.\n"
msgstr "Bruger standardkommandoer for '%s'.\n"
-#: remake.c:1357
-#, c-format
-msgid "Warning: File `%s' has modification time in the future"
-msgstr "Advarsel: Ændringstiden for filen '%s' er i fremtiden"
+#: remake.c:1397
+#, fuzzy, c-format
+msgid "Warning: File '%s' has modification time in the future"
+msgstr "Advarsel: Ændringstiden for filen '%s' er i fremtiden"
-#: remake.c:1370
+#: remake.c:1411
#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
-msgstr "Advarsel: Ændringstiden for filen '%s' er %.2g s i fremtiden"
+msgid "Warning: File '%s' has modification time %s s in the future"
+msgstr "Advarsel: Filen '%s' har ændringstidspunkt %s s i fremtiden"
-#: remake.c:1569
-#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
-msgstr ".LIBPATTERNS-element '%s' er ikke et mønster"
+#: remake.c:1610
+#, fuzzy, c-format
+msgid ".LIBPATTERNS element '%s' is not a pattern"
+msgstr ".LIBPATTERNS-element '%s' er ikke et mønster"
# "remote job exportation interface to the Customs daemon": jeg aner ikke
-# hvad der er tale om. I øvrigt ser remote-cstms.c forældet/ubrugt ud, og
-# koden er ikke understøttet af GNU...
-#: remote-cstms.c:125
+# hvad der er tale om. I øvrigt ser remote-cstms.c forældet/ubrugt ud, og
+# koden er ikke understøttet af GNU...
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
msgstr "Customs kan ikke eksporteres: %s\n"
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1616,7 +1814,7 @@ msgstr ""
"\n"
"# Implicitte regler."
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1624,7 +1822,7 @@ msgstr ""
"\n"
"# Ingen implicitte regler."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1633,244 +1831,265 @@ msgstr ""
"\n"
"# %u implicitte regler, %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
msgstr " terminale."
-#: rule.c:534
-#, fuzzy, c-format
+#: rule.c:530
+#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
-msgstr "FEJL: num_pattern_rules forkert! %u != %u"
+msgstr "FEJL: forkert num_pattern_rules! %u != %u"
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
msgstr "ukendt signal"
# De fleste af signalnavnene fra signame.c er kopieret fra libc.da.po,
# kun ganske enkelte findes ikke der.
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
-msgstr "Læg på"
+msgstr "Læg på"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
msgstr "Afbrudt"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
msgstr "Afslut"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
msgstr "Ulovlig instruktion"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
-msgstr "Sporings-/stoppunkts-fælde"
+msgstr "Sporings-/stoppunkts-fælde"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr "Afbrudt"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
-msgstr "IOT_fælde"
+msgstr "IOT_fælde"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
-msgstr "Emulatorfælde"
+msgstr "Emulatorfælde"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
-msgstr "Undtagelsestilfælde ved flydendetals-operation"
+msgstr "Undtagelsestilfælde ved flydendetals-operation"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
-msgstr "Dræbt"
+msgstr "Dræbt"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
msgstr "Busfejl"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
msgstr "Lagersegmentfejl"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
msgstr "Ugyldigt systemkald"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
-msgstr "Røret blev brudt"
+msgstr "Røret blev brudt"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr "Alarmen gik"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
msgstr "Termineret"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
msgstr "Brugerdefineret signal 1"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
msgstr "Brugerdefineret signal 2"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
msgstr "Barnet afsluttet"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
-msgstr "Strømmen gik"
+msgstr "Strømmen gik"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr "Stoppet"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
-msgstr "Stoppet (ville læse fra tty)"
+msgstr "Stoppet (ville læse fra tty)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
msgstr "Stoppet (ville skrive til tty)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
msgstr "Stoppet (signal)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
-msgstr "Begrænsning af CPU-tid overskredet"
+msgstr "Begrænsning af CPU-tid overskredet"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
-msgstr "Grænse for filstørrelse overskredet"
+msgstr "Grænse for filstørrelse overskredet"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
-msgstr "Virtuel tidsgrænse overskredet"
+msgstr "Virtuel tidsgrænse overskredet"
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
-msgstr "Profileringstiden udløb"
+msgstr "Profileringstiden udløb"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
-msgstr "Vinduet blev ændret"
+msgstr "Vinduet blev ændret"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
-msgstr "Fortsættes"
+msgstr "Fortsættes"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
msgstr "Kritisk I/O-tilstand"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
msgstr "I/O mulig"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr "Resurse tabt"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
msgstr "Faresignal"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
-msgstr "Informationsforespørgsel"
+msgstr "Informationsforespørgsel"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
-msgstr "Flydendetalshjælpeprocessor ikke tilgængelig"
+msgstr "Flydendetalshjælpeprocessor ikke tilgængelig"
-#: strcache.c:235
+#: strcache.c:236
#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s No strcache buffers\n"
msgstr ""
-#: strcache.c:237
-#, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+#: strcache.c:266
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
msgstr ""
+"%s strcache brugt: total = %d (%d) / maks = %d / min = %d / gnmsn = %d\n"
-#: strcache.c:239
+#: strcache.c:270
#, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
-#: strcache.c:241
-#, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+#: strcache.c:280
+#, fuzzy, c-format
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
msgstr ""
+"%s strcache brugt: total = %d (%d) / maks = %d / min = %d / gnmsn = %d\n"
-#: strcache.c:244
-#, fuzzy
+#: 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 strcache fri: total = %d (%d) / maks = %d / min = %d / gnmsn = %d\n"
+
+#: strcache.c:287
+#, fuzzy, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
+msgstr ""
+"\n"
+"%s # strenge i strcache: %d / opslag = %lu / fundne = %lu\n"
+
+#: strcache.c:289
+#, fuzzy
+msgid ""
+"# hash-table stats:\n"
"# "
msgstr ""
"\n"
"# Statistik for fil-hash-spande:\n"
"# "
-#: variable.c:1541
+#: variable.c:1599
+msgid "automatic"
+msgstr "automatisk"
+
+#: variable.c:1602
msgid "default"
msgstr "forvalgt"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
-msgstr "miljø"
+msgstr "miljø"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
msgstr "makefil"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
-msgstr "miljø med -e"
+msgstr "miljø med -e"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
msgstr "kommandolinje"
-#: variable.c:1556
-msgid "`override' directive"
+#: variable.c:1617
+#, fuzzy
+msgid "'override' directive"
msgstr "'override'-direktiv"
-#: variable.c:1559
-msgid "automatic"
-msgstr "automatisk"
-
-#: variable.c:1570
-#, c-format
-msgid " (from `%s', line %lu)"
+#: variable.c:1628
+#, fuzzy, c-format
+msgid " (from '%s', line %lu)"
msgstr " (fra '%s', linje %lu)"
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
-msgstr "# Statistik for variabelsæt-hash-spande:\n"
+msgstr "# Statistik for variabelsæt-hash-spande:\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -1878,171 +2097,214 @@ msgstr ""
"\n"
"# Variabler\n"
-#: variable.c:1627
-#, fuzzy
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
"\n"
-"# Mønsterspecifikke variabelværdier"
+"# Mønsterspecifikke variabelværdier"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
msgstr ""
"\n"
-"# Ingen mønsterspecifikke variabelværdier."
+"# Ingen mønsterspecifikke variabelværdier."
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
"# %u pattern-specific variable values"
msgstr ""
"\n"
-"# %u mønsterspecifikke variabelværdier"
+"# %u mønsterspecifikke variabelværdier"
-#: variable.h:219
-#, c-format
-msgid "warning: undefined variable `%.*s'"
+#: variable.h:224
+#, fuzzy, c-format
+msgid "warning: undefined variable '%.*s'"
msgstr "advarsel: udefineret vaiabel '%.*s'"
-#: vmsfunctions.c:92
-#, fuzzy, c-format
+#: vmsfunctions.c:91
+#, c-format
msgid "sys$search() failed with %d\n"
-msgstr "sys$search mislykkedes med %d\n"
+msgstr "sys$search() mislykkedes med %d\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Advarsel: Tom omdirigering\n"
-#: vmsjobs.c:184
-#, c-format
-msgid "internal error: `%s' command_state"
+#: vmsjobs.c:183
+#, fuzzy, c-format
+msgid "internal error: '%s' command_state"
msgstr "intern fejl: '%s' command_state"
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
-"-advarsel, du kan blive nødt til at genetablere CTRL-Y-behandling fra DCL.\n"
+"-advarsel, du kan blive nødt til at genetablere CTRL-Y-behandling fra DCL.\n"
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "BUILTIN [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "BUILTIN RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Ukendt indbygget kommando '%s'\n"
-#: vmsjobs.c:493
+#: 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 "Fejl, tom kommando\n"
-#: vmsjobs.c:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Omdirigeret inddata from %s\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Omdirigeret fejl to %s\n"
-#: vmsjobs.c:523
-#, fuzzy, c-format
+#: vmsjobs.c:690
+#, c-format
msgid "Append output to %s\n"
-msgstr "Omdirigeret uddata til %s\n"
+msgstr "Tilføj uddata til slutningen af %s\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Omdirigeret uddata til %s\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
-msgstr ""
+msgstr "Tilføj %.*s og ryd op\n"
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
-msgstr "Udfører i stedet %s\n"
+msgstr "Udfører i stedet %s\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Fejl ved spawn, %d\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
msgstr ""
"\n"
-"# VPATH-søgestier\n"
+"# VPATH-søgestier\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
-msgstr "# Ingen 'vpath'-søgestier"
+#: vpath.c:600
+#, fuzzy
+msgid "# No 'vpath' search paths."
+msgstr "# Ingen 'vpath'-søgestier."
-#: vpath.c:605
-#, c-format
+#: vpath.c:602
+#, fuzzy, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
-"# %u 'vpath'-søgestier.\n"
+"# %u 'vpath'-søgestier.\n"
-#: vpath.c:608
+#: vpath.c:605
+#, fuzzy
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
-"# Ingen generel ('VPATH'-variabel) søgesti."
+"# Ingen generel ('VPATH'-variabel) søgesti."
-#: vpath.c:614
+#: vpath.c:611
+#, fuzzy
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
-"# Generel ('VPATH'-variabel) søgesti:\n"
+"# Generel ('VPATH'-variabel) søgesti:\n"
"# "
+#~ 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 "Invoking recipe from %s:%lu to update target `%s'.\n"
+#~ msgstr "Kører kommandoer fra %s:%lu for at opdatere målet '%s'.\n"
+
+#~ msgid "Invoking builtin recipe to update target `%s'.\n"
+#~ msgstr "Kører indbyggede kommandoer for at opdatere målet '%s'.\n"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "intern fejl: flere '--jobserver-fds'-tilvalg"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "virtuel hukommelse opbrugt"
+
+#~ msgid "write error"
+#~ msgstr "skrivefejl"
+
+#~ msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+#~ msgstr "%s # strcache-buffere: %d (* %d B/buffer = %d B)\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "# strcache hash-table stats:\n"
+#~ "# "
+#~ msgstr ""
+#~ "\n"
+#~ "# statistik for strcache-hashtabeller:\n"
+#~ "# "
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "BUILTIN RM %s\n"
+
#~ msgid "Syntax error, still inside '\"'\n"
#~ msgstr "Syntaksfejl, stadig inden i '\"'\n"
#~ msgid "Got a SIGCHLD; %u unreaped children.\n"
-#~ msgstr "Fik et SIGCHLD; %u uhøstede børn.\n"
+#~ msgstr "Fik et SIGCHLD; %u uhøstede børn.\n"
#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
#~ msgstr "-advarsel, CTRL-Y vil efterlade underproces(ser).\n"
#~ msgid "Do not specify -j or --jobs if sh.exe is not available."
-#~ msgstr "Angiv ikke -j eller --jobs hvis sh.exe ikke er tilgængelig."
+#~ msgstr "Angiv ikke -j eller --jobs hvis sh.exe ikke er tilgængelig."
#~ msgid "Resetting make for single job mode."
-#~ msgstr "Sætter make tilbage til enkelt job-tilstand."
+#~ msgstr "Sætter make tilbage til enkelt job-tilstand."
#~ msgid ""
#~ "%sThis is free software; see the source for copying conditions.\n"
@@ -2051,7 +2313,7 @@ msgstr ""
#~ msgstr ""
#~ "%sDette er frit programmel; se kildeteksten for kopieringsbetingelser.\n"
#~ "%sDer er INGEN garanti; end ikke for SALGBARHED eller EGNETHED TIL NOGET\n"
-#~ "%sBESTEMT FORMÅL.\n"
+#~ "%sBESTEMT FORMÃ…L.\n"
#~ msgid "extraneous `endef'"
#~ msgstr "fremmed 'endef'"
@@ -2066,7 +2328,7 @@ msgstr ""
#~ msgstr "intet filnavn for '%sinclude'"
#~ msgid "target `%s' leaves prerequisite pattern empty"
-#~ msgstr "mål '%s' efterlader forudsætningsmønstret tomt"
+#~ msgstr "mål '%s' efterlader forudsætningsmønstret tomt"
#~ msgid ""
#~ "\n"
@@ -2086,7 +2348,7 @@ msgstr ""
#~ msgstr "# %.3f filer per spand i gennemsnit, maks. %u filer i en spand.\n"
#~ msgid "Suspend process to allow a debugger to attach"
-#~ msgstr "Stands proces for at tillade et fejlsøgningsprogram at hænge sig på"
+#~ msgstr "Stands proces for at tillade et fejlsøgningsprogram at hænge sig på"
#~ msgid "# No variables."
#~ msgstr "# Ingen variabler."
diff --git a/po/de.gmo b/po/de.gmo
index ef209cf4..d3250e29 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index 4e9c506f..1e3b1b36 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1,5 +1,7 @@
# German message translation file for GNU make
-# Copyright (C) 1996, 1997, 2002 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 <pth@suse.de> 2013
# Karl Eichwalder <ke@suse.de>, 2002, 2005.
# Alexander Mader <aumader@gmx.net>, 2000.
# Alexander Mader <mader@wias-berlin.de>, 1997.
@@ -12,126 +14,131 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: make 3.81-b3\n"
+"Project-Id-Version: make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-0400\n"
-"PO-Revision-Date: 2005-10-20 20:55+0200\n"
-"Last-Translator: Karl Eichwalder <ke@suse.de>\n"
-"Language-Team: German <de@li.org>\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 <pth@suse.de>\n"
+"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
+"Language: de\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ar.c:48
+#: ar.c:46
#, c-format
-msgid "attempt to use unsupported feature: `%s'"
-msgstr "Versuch, eine nicht unterstützte Funktionalität zu verwenden: »%s«"
+msgid "attempt to use unsupported feature: '%s'"
+msgstr "Versuch, eine nicht unterstützte Funktionalität zu verwenden: „%s“"
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
msgstr ""
-"VMS stellt nicht die Möglichkeit einer Änderung \n"
-"der Zeitmarken von Archiveinträgen zur Verfügung"
+"VMS bietet keine Möglichkeit einer Änderung \n"
+"der Zeitmarken von Archiveinträgen"
-#: ar.c:149
+#: ar.c:147
#, c-format
-msgid "touch: Archive `%s' does not exist"
-msgstr "touch: Archiv »%s« existiert nicht"
+msgid "touch: Archive '%s' does not exist"
+msgstr "touch: Archiv „%s“ existiert nicht"
-#: ar.c:152
+#: ar.c:150
#, c-format
-msgid "touch: `%s' is not a valid archive"
-msgstr "touch: »%s« ist kein gültiges Archiv"
+msgid "touch: '%s' is not a valid archive"
+msgstr "touch: „%s“ ist kein gültiges Archiv"
-#: ar.c:159
+#: ar.c:157
#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
-msgstr "touch: Eintrag »%s« existiert nicht in »%s«"
+msgid "touch: Member '%s' does not exist in '%s'"
+msgstr "touch: Eintrag „%s“ existiert nicht in „%s“"
-#: ar.c:166
+#: ar.c:164
#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
+msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr ""
-"touch: Ungünstiger Rückgabewert beim Zugriff \n"
-"von ar_member_touch auf »%s«"
+"touch: Ungültiger Rückgabewert beim Zugriff \n"
+"von ar_member_touch auf „%s“"
-#: arscan.c:69
-#, fuzzy, c-format
+#: 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"
+msgstr "„lbr$set_module()“ konnte keine Modulinformation auslesen; Status = %d"
-#: arscan.c:175
-#, fuzzy, c-format
+#: arscan.c:230
+#, c-format
msgid "lbr$ini_control() failed with status = %d"
-msgstr "»lbr$ini_control« schlug mit Status = %d fehl"
+msgstr "„lbr$ini_control()“ scheiterte mit Status = %d"
-#: arscan.c:187
-#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
+#: arscan.c:255
+#, fuzzy, c-format
+msgid "unable to open library '%s' to lookup member status %d"
msgstr ""
-"Konnte die Bibliothek »%s« auf der Suche \n"
-"nach dem Eintrag »%s« nicht öffnen"
+"Konnte die Bibliothek „%s“ nicht öffnen um nach Eintrag\n"
+"„%s“ zu suchen"
-#: arscan.c:850
+#: arscan.c:944
#, c-format
-msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
+msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr ""
-"Eintrag »%s« %s: \n"
-"%ld Byte an Position %ld (%ld).\n"
+"Eintrag „%s“ %s: \n"
+"%ld Bytes an Position %ld (%ld).\n"
-#: arscan.c:851
+#: arscan.c:945
msgid " (name might be truncated)"
-msgstr " (der Name ist möglicherweise gekürzt)"
+msgstr " (der Name ist möglicherweise abgeschnitten)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Datum %s"
-#: arscan.c:854
+#: 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:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr "Die Regel hat zu viele Zeilen (%ud)"
+
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Abbruch.\n"
-#: commands.c:622
+#: commands.c:629
#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
-msgstr "*** [%s] Archiveintrag »%s« ist wohl falsch; nicht gelöscht"
+msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
+msgstr "*** [%s] Archiveintrag „%s“ ist möglicherweise falsch; nicht gelöscht"
-#: commands.c:625
+#: commands.c:633
#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
-msgstr "*** Archiveintrag »%s« ist wohl falsch; nicht gelöscht"
+msgid "*** Archive member '%s' may be bogus; not deleted"
+msgstr "*** Archiveintrag „%s“ ist möglicherweise falsch; nicht gelöscht"
-#: commands.c:638
+#: commands.c:647
#, c-format
-msgid "*** [%s] Deleting file `%s'"
-msgstr "*** [%s] Datei »%s« wird gelöscht"
+msgid "*** [%s] Deleting file '%s'"
+msgstr "*** [%s] Datei „%s“ wird gelöscht"
-#: commands.c:640
+#: commands.c:649
#, c-format
-msgid "*** Deleting file `%s'"
-msgstr "*** Datei »%s« wird gelöscht"
+msgid "*** Deleting file '%s'"
+msgstr "*** Datei „%s“ wird gelöscht"
-#: commands.c:676
-#, fuzzy
+#: commands.c:685
msgid "# recipe to execute"
-msgstr "# Auszuführende Kommandos"
+msgstr "# Auszuführende Regel"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
msgstr " (eingebaut):"
-#: commands.c:681
+#: commands.c:690
#, c-format
-msgid " (from `%s', line %lu):\n"
-msgstr " (aus »%s«, Zeile %lu):\n"
+msgid " (from '%s', line %lu):\n"
+msgstr " (aus „%s“, Zeile %lu):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -139,241 +146,234 @@ msgstr ""
"\n"
"# Verzeichnisse\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
-msgstr "# %s: Konnte den Status nicht feststellen.\n"
+msgstr "# %s: Status konnte nicht festgestellt werden.\n"
-#: dir.c:1012
+#: 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"
+"# %s ( Schlüssel (key) %s, letzte Änderung (mtime) %d): \n"
+"Konnte nicht geöffnet werden.\n"
-#: dir.c:1016
+#: dir.c:1009
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n"
msgstr ""
-"# %s (Gerät %d, I-Knoten (inode) [%d,%d,%d]): \n"
-"Konnte nicht geöffnet werden.\n"
+"# %s (Gerät %d, Inode [%d,%d,%d]): \n"
+"Konnte nicht geöffnet werden.\n"
-#: dir.c:1021
+#: dir.c:1014
#, c-format
msgid "# %s (device %ld, inode %ld): could not be opened.\n"
msgstr ""
-"# %s (Gerät %ld, I-Knoten (inode) %ld): \n"
-"Konnte nicht geöffnet werden.\n"
+"# %s (Gerät %ld, Inode %ld): \n"
+"Konnte nicht geöffnet werden.\n"
-#: dir.c:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
-msgstr "# %s (Schlüssel (key) %s, letzte Änderung (mtime) %d): "
+msgstr "# %s (Schlüssel (key) %s, letzte Änderung (mtime) %d): "
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
-msgstr "# %s (Gerät %d, I-Knoten (inode) [%d,%d,%d]): "
+msgstr "# %s (Gerät %d, Inode [%d,%d,%d]): "
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
-msgstr "# %s (Gerät %ld, I-Knoten (inode) %ld): "
+msgstr "# %s (Gerät %ld, Inode %ld): "
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "Keine"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr " Dateien, "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "keine"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
-msgstr " Unmöglichkeiten"
+msgstr " Unmöglichkeiten"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
msgstr " bisher."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
-msgstr " Unmöglichkeiten in %lu Verzeichnissen.\n"
+msgstr " Unmöglichkeiten in %lu Verzeichnissen.\n"
-#: expand.c:127
+#: expand.c:125
#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
-msgstr "Rekursive Variable »%s« referenziert sich (schließlich) selbst"
+msgid "Recursive variable '%s' references itself (eventually)"
+msgstr "Rekursive Variable „%s“ referenziert sich (schließlich) selbst"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
msgstr "Nicht abgeschlossene Variablenreferenz"
-#: file.c:267
-#, fuzzy, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
-msgstr ""
-"Die Kommandos wurden für die Datei »%s« angegeben \n"
-"an der Stelle %s:%lu,"
+#: 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:272
-#, fuzzy, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
+#: file.c:276
+#, c-format
+msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr ""
-"Die Kommandos für die Datei »%s« wurden aufgrund \n"
+"Die Regel für die Datei „%s“ wurden aufgrund \n"
"der Suche nach impliziten Regeln gefunden,"
-#: file.c:275
+#: file.c:280
#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
+msgid "but '%s' is now considered the same file as '%s'."
msgstr ""
-"aber »%s« wird jetzt als dieselbe Datei \n"
-"wie »%s« betrachtet."
+"aber „%s“ wird jetzt als dieselbe Datei \n"
+"wie „%s“ betrachtet."
-#: file.c:278
-#, fuzzy, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
+#: file.c:283
+#, c-format
+msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr ""
-"Die Kommandos für »%s« werden ignoriert, \n"
-"die für »%s« werden bevorzugt."
+"Die Regel für „%s“ wird ignoriert, \n"
+"die für „%s“ wird bevorzugt."
-#: file.c:298
+#: file.c:303
#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
+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"
+"„%s“ mit einfachem Doppelpunkt kann nicht in \n"
+"„%s“ mit doppeltem Doppelpunkt geändert werden"
-#: file.c:303
+#: file.c:309
#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
+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"
+"„%s“ mit doppeltem Doppelpunkt kann nicht in \n"
+"„%s“ mit einfachem Doppelpunkt geändert werden"
-#: file.c:392
+#: file.c:401
#, c-format
-msgid "*** Deleting intermediate file `%s'"
-msgstr "*** Löschen der Zwischendatei »%s«"
+msgid "*** Deleting intermediate file '%s'"
+msgstr "*** Löschen der übergangsweise angelegten Datei „%s“"
-#: file.c:396
-#, fuzzy
+#: file.c:405
msgid "Removing intermediate files...\n"
-msgstr "*** Löschen der Zwischendatei »%s«"
-
-#: file.c:803
-#, c-format
-msgid "%s: Timestamp out of range; substituting %s"
-msgstr "%s: Zeitstempel außerhalb der Reihenfolge; %s wird ersetzt"
+msgstr "Die übergangsweise angelegte Datei „%s“ wird gelöscht...\n"
-#: file.c:804
+#: file.c:811
msgid "Current time"
msgstr "Aktuelle Zeit"
-#: file.c:924
+#: 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:955
msgid "# Not a target:"
msgstr "# Dies ist kein Ziel:"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
-msgstr "# Wertvolle Datei (Voraussetzung von .PRECIOUS)."
+msgstr "# Wertvolle Datei (benötigt von .PRECIOUS)."
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
-msgstr "# Vorgetäuschtes Ziel (Voraussetzung von .PHONY)."
+msgstr "# Vorgetäuschtes Ziel (benötigt von .PHONY)."
-#: file.c:933
-#, fuzzy
+#: file.c:964
msgid "# Command line target."
msgstr "# Kommandozeilen-Ziel (target)."
-#: file.c:935
-#, fuzzy
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
-msgstr "# Ein Standardwert oder MAKEFILES »make«-Steuerdatei."
+msgstr "# Eine standardmässige, MAKEFILES oder -include/sinclude Makedatei."
-#: file.c:937
+#: file.c:968
+msgid "# Builtin rule"
+msgstr "# Eingebaute Regel"
+
+#: file.c:970
msgid "# Implicit rule search has been done."
-msgstr "# Suche nach impliziten Regeln wurde durchgeführt."
+msgstr "# Die Suche nach impliziten Regeln wurde durchgeführt."
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
-msgstr "# Suche nach impliziten Regeln wurde nicht durchgeführt."
+msgstr "# Die Suche nach impliziten Regeln wurde nicht durchgeführt."
-#: file.c:940
+#: file.c:973
#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
-msgstr "# Ersetzung für implizites/statisches Muster: »%s«\n"
+msgid "# Implicit/static pattern stem: '%s'\n"
+msgstr "# Wurzel impliziter/statischer Muster: „%s“\n"
-#: file.c:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
-msgstr "# Datei ist ein Zwischenschritt in den Abhängigkeiten."
+msgstr "# Datei ist ein Zwischenschritt in den Abhängigkeiten."
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
-msgstr "# Erzeugt außerdem:"
+msgstr "# Erzeugt außerdem:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
-msgstr "# Zeit der letzten Änderung wurde nicht überprüft."
+msgstr "# Zeit der letzten Änderung wurde nicht überprüft."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
msgstr "# Die Datei existiert nicht."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
msgstr "# Datei ist sehr alt."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
-msgstr "# Zuletzt geändert %s\n"
+msgstr "# Zuletzt geändert %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
msgstr "# Datei wurde aktualisiert."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Datei wurde nicht aktualisiert."
-#: file.c:968
-#, fuzzy
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
-msgstr "# Derzeit laufende Befehle (DAS IST EIN BUG)."
+msgstr "# Derzeit laufende Regel (DAS IST EIN FEHLER)."
-#: file.c:971
-#, fuzzy
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
-msgstr "# Derzeit laufende Befehle für Abhängigkeiten (DAS IST EIN BUG)."
+msgstr "# Derzeit läuft die Regel für Abhängigkeiten (DAS IST EIN FEHLER)."
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Erfolgreich aktualisiert."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Eine Aktualisierung ist notwendig (-q ist angegeben)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
-msgstr "# Aktualisierung fehlgeschlagen."
+msgstr "# Aktualisierung ist fehlgeschlagen."
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# Ungültiger Wert in »update_status«-Eintrag!"
+#: file.c:1025
+msgid "# Invalid value in 'command_state' member!"
+msgstr "# Ungültiger Wert im „command_state“-Strukturelement!"
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
-msgstr "# Ungültiger Wert im »command_state«-Eintrag!"
-
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -381,383 +381,532 @@ msgstr ""
"\n"
"# Dateien"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
+"\n"
+"# Statistik der Hash-Tabelle für Dateien:\n"
+"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
-msgstr "Nicht-numerisches erstes Argument zur »word«-Funktion"
-
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
-msgstr "Erstes Argument zur »word«-Funktion muss größer als 0 sein"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr "%s: Feld „%s“ wird nicht zwischengespeichert: %s"
-#: function.c:783
-msgid "non-numeric first argument to `wordlist' function"
-msgstr "Nicht-numerisches erstes Argument für die »wordlist«-Funktion"
+#: function.c:780
+msgid "non-numeric first argument to 'word' function"
+msgstr "Nicht-numerisches erstes Argument für die „word“-Funktion"
#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
-msgstr "Nicht-numerisches zweites Argument zur »wordlist«-Funktion"
+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:1458
-#, fuzzy, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
-msgstr "»create_child_process«: »DuplicateHandle(In)« schlug fehl (e=%d)\n"
+#: function.c:805
+msgid "non-numeric first argument to 'wordlist' function"
+msgstr "Nicht-numerisches erstes Argument für die „wordlist“-Funktion"
-#: function.c:1469
-#, fuzzy, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr "»create_child_process«: »DuplicateHandle(Err)« schlug fehl (e=%d)\n"
+#: function.c:807
+msgid "non-numeric second argument to 'wordlist' function"
+msgstr "Nicht-numerisches zweites Argument zur „wordlist“-Funktion"
-#: function.c:1474
-#, fuzzy, c-format
+#: 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:1523
+#, c-format
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
+msgstr "„cwindows32_openpipe“: „DuplicateHandle(Err)“ schlug fehl (e=%ld)\n"
+
+#: function.c:1530
+#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
-msgstr "»CreatePipe()« schlug fehl (e=%d)\n"
+msgstr "„CreatePipe()“ schlug fehl (e=%ld)\n"
-#: function.c:1479
-#, fuzzy
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
-msgstr "windows32_openpipe (): process_init_fd() schlug fehl\n"
+msgstr "windows32_openpipe(): process_init_fd() schlug fehl\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
-msgstr "Lösche temporäre Stapelverarbeitungsdatei %s\n"
+msgstr "Die temporäre Stapelverarbeitungsdatei %s wird gelöscht\n"
+
+#: function.c:2193
+#, c-format
+msgid "open: %s: %s"
+msgstr "Öffnen: %s: %s"
+
+#: function.c:2203
+#, c-format
+msgid "write: %s: %s"
+msgstr "Schreiben: %s: %s"
-#: function.c:2150
+#: function.c:2209
+#, c-format
+msgid "Invalid file operation: %s"
+msgstr "Unzulässige Dateioperation: %s"
+
+#: 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:2336
+#, c-format
+msgid "unimplemented on this platform: function '%s'"
+msgstr "Auf dieser Rechnerkonfiguration nicht implementiert: Funktion „%s“"
+
+#: function.c:2399
+#, c-format
+msgid "unterminated call to function '%s': missing '%c'"
+msgstr "Nicht beendeter Aufruf der Funktion „%s“: „%c“ fehlt"
+
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "Leere Funktionsname\n"
+
+#: function.c:2593
#, fuzzy, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
-msgstr "Zuwenig Argumente (%d) für die Funktion »%s«"
+msgid "Invalid function name: %s"
+msgstr "Unzulässiger Funktionsname: %s\n"
-#: function.c:2162
+#: function.c:2595
#, fuzzy, c-format
-msgid "unimplemented on this platform: function `%s'"
-msgstr "Auf dieser Rechnerkonfiguration nicht implementiert: Funktion »%s«"
+msgid "Function name too long: %s"
+msgstr "Funktionsname is zu lang: %s\n"
-#: function.c:2212
-#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
-msgstr "Nicht beendeter Aufruf der Funktion »%s«: »%c« fehlt"
+#: function.c:2598
+#, fuzzy, c-format
+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:2601
+#, fuzzy, c-format
+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:661
+#: getopt.c:659
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: Option »%s« ist mehrdeutig\n"
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: Option „%s“ ist mehrdeutig\n"
-#: getopt.c:685
+#: getopt.c:683
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: Option »--%s« erlaubt kein Argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: Option „--%s“ erlaubt kein Argument\n"
-#: getopt.c:690
+#: getopt.c:688
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: Option »%c%s« erlaubt kein Argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: Option „%c%s“ erlaubt kein Argument\n"
-#: getopt.c:707 getopt.c:880
+#: getopt.c:705 getopt.c:878
#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: Option »%s« erfordert ein Argument\n"
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s: Option „%s“ erfordert ein Argument\n"
-#: getopt.c:736
+#: getopt.c:734
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: unerkannte Option »--%s«\n"
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: unbekannte Option „--%s“\n"
-#: getopt.c:740
+#: getopt.c:738
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: unerkannte Option »%c%s«\n"
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: unbekannte Option „%c%s“\n"
-#: getopt.c:766
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
-msgstr "%s: unerlaubte Option -- %c\n"
+msgstr "%s: unzulässige Option -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
-msgstr "%s: ungültige Option -- %c\n"
+msgstr "%s: ungültige Option -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: Option erfordert ein Argument -- %c\n"
-#: getopt.c:846
+#: getopt.c:844
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: Option »-W %s« ist mehrdeutig\n"
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: Option „-W %s“ ist mehrdeutig\n"
-#: getopt.c:864
+#: getopt.c:862
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: Option »-W %s« erlaubt kein Argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s: Option „-W %s“ erlaubt kein Argument\n"
+
+#: guile.c:58
+#, c-format
+msgid "guile: Expanding '%s'\n"
+msgstr "guile: Verarbeite „%s“\n"
+
+#: guile.c:74
+#, c-format
+msgid "guile: Evaluating '%s'\n"
+msgstr "guile: begutachte „%s“\n"
#: hash.c:49
#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
msgstr ""
+"es können keine %lu Bytes für die Hashtabelle reserviert werden: "
+"Hauptspeicher erschöpft"
#: hash.c:280
#, c-format
msgid "Load=%ld/%ld=%.0f%%, "
-msgstr ""
+msgstr "Auslastung=%ld/%ld=%.0f%%, "
#: hash.c:282
#, c-format
msgid "Rehash=%d, "
-msgstr ""
+msgstr "Rehash=%d, "
#: hash.c:283
#, c-format
msgid "Collisions=%ld/%ld=%.0f%%"
-msgstr ""
+msgstr "Kollisionen=%ld/%ld%.0f%%"
-#: implicit.c:40
+#: implicit.c:38
#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
-msgstr "Suche nach einer impliziten Regel für »%s«.\n"
+msgid "Looking for an implicit rule for '%s'.\n"
+msgstr "Es wird nach einer impliziten Regel für „%s“ gesucht.\n"
-#: implicit.c:56
+#: implicit.c:54
#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
-msgstr "Suche nach einer impliziten Regel für Archiveinträge für »%s«.\n"
+msgid "Looking for archive-member implicit rule for '%s'.\n"
+msgstr ""
+"Es wird nach einer impliziten Regel für Archiveinträge für „%s“ gesucht.\n"
-#: implicit.c:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
-msgstr "Vermeide Rekursion in den impliziten Regeln.\n"
+msgstr "Rekursion in den impliziten Regeln wird vermieden.\n"
+
+#: implicit.c:486
+#, c-format
+msgid "Stem too long: '%.*s'.\n"
+msgstr "Wurzel zu lang: „%.*s“.\n"
#: implicit.c:491
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
-msgstr "Versuche Muster-Regel mit Ersetzung »%.*s«.\n"
+msgid "Trying pattern rule with stem '%.*s'.\n"
+msgstr "Muster-Regel mit Wurzel „%.*s“ wird probiert.\n"
-#: implicit.c:674
+#: implicit.c:697
#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
-msgstr "Unmögliche Voraussetzung »%s« abgelehnt.\n"
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
+msgstr "Unmögliche Voraussetzung „%s“ für eine Regel wird abgelehnt.\n"
-#: implicit.c:675
+#: implicit.c:698
#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
-msgstr "Unmögliche implizite Voraussetzung »%s« abgelehnt.\n"
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
+msgstr "Unmögliche implizite Voraussetzung „%s“ wird abgelehnt.\n"
-#: implicit.c:688
+#: implicit.c:711
#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
-msgstr "Versuche Voraussetzung »%s«.\n"
+msgid "Trying rule prerequisite '%s'.\n"
+msgstr "Regel-Voraussetzung „%s“ wird auprobiert.\n"
-#: implicit.c:689
+#: implicit.c:712
#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
-msgstr "Versuche implizite Voraussetzung »%s«.\n"
+msgid "Trying implicit prerequisite '%s'.\n"
+msgstr "Implizite Voraussetzung „%s“ wird ausprobiert.\n"
-#: implicit.c:728
+#: implicit.c:751
#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
-msgstr "Fand die Voraussetzung »%s« als VPATH »%s«\n"
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
+msgstr "Die Voraussetzung „%s“ wurde als VPATH „%s“ gefunden\n"
-#: implicit.c:742
+#: implicit.c:765
#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
-msgstr "Suche nach einer Regel mit der Zwischendatei »%s«.\n"
+msgid "Looking for a rule with intermediate file '%s'.\n"
+msgstr ""
+"Es wird nach einer Regel mit der übergangsweise verwendeten Datei „%s“ "
+"gesucht.\n"
-#: job.c:335
+#: job.c:361
msgid "Cannot create a temporary file\n"
-msgstr "temporäre Datei kann nicht erzeugt werden\n"
+msgstr "Eine temporäre Datei kann nicht erzeugt werden\n"
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] Fehler 0x%x (ignoriert)"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (Speicherauszug erstellt)"
+
+#: job.c:488
+msgid " (ignored)"
+msgstr " (ignoriert)"
-#: job.c:450
+#: job.c:492 job.c:2046
+msgid "<builtin>"
+msgstr "<eingebaut>"
+
+#: job.c:503
#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] Fehler 0x%x"
+msgid "%s: recipe for target '%s' failed"
+msgstr "%s: die Regel für Ziel „%s“ scheiterte"
-#: job.c:454
+#: job.c:516 job.c:524
#, c-format
-msgid "[%s] Error %d (ignored)"
-msgstr "[%s] Fehler %d (ignoriert)"
+msgid "%s[%s] Error %d%s"
+msgstr "%s[%s] Fehler %d%s"
-#: job.c:455
+#: job.c:519
#, c-format
-msgid "*** [%s] Error %d"
-msgstr "*** [%s] Fehler %d"
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Fehler 0x%x%s"
-#: job.c:460
-msgid " (core dumped)"
-msgstr " (Speicherauszug erstellt)"
+#: job.c:529
+#, c-format
+msgid "%s[%s] %s%s%s"
+msgstr "%s[%s] %s%s%s"
-#: job.c:549
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
-msgstr "*** Warte auf noch nicht beendete Prozesse..."
+msgstr "*** Es wird auf noch nicht beendete Prozesse gewartet..."
-#: job.c:579
-#, fuzzy, c-format
+#: job.c:651
+#, c-format
msgid "Live child %p (%s) PID %s %s\n"
-msgstr "Aktiver Kindprozess 0x%08lx (%s) PID %ld %s\n"
+msgstr "Aktiver Kindprozess %p (%s) PID %s %s\n"
-#: job.c:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (entfernt)"
-#: job.c:758
-#, fuzzy, c-format
+#: job.c:841
+#, c-format
msgid "Reaping losing child %p PID %s %s\n"
-msgstr "Sammle erfolglosen Kindprozess 0x%08lx PID %ld %s\n"
+msgstr "Sammle erfolglosen Kindprozess %p PID %s %s\n"
-#: job.c:759
-#, fuzzy, c-format
+#: job.c:842
+#, c-format
msgid "Reaping winning child %p PID %s %s\n"
-msgstr "Sammle erfolgreichen Kindprozess 0x%08lx PID %ld %s\n"
+msgstr "Sammle erfolgreichen Kindprozess %p PID %s %s\n"
-#: job.c:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
-msgstr "Lösche temporäre Stapelverarbeitungsdatei »%s«\n"
+msgstr "Lösche temporäre Stapelverarbeitungsdatei „%s“\n"
-#: job.c:861
-#, fuzzy, c-format
+#: 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:961
+#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
-msgstr "Entferne Kindprozess 0x%08lx PID %ld %s aus der Kette.\n"
+msgstr "Entferne Kindprozess %p PID %s%s aus der Kette.\n"
-#: job.c:920
-msgid "write jobserver"
-msgstr "Schreibe Job-Server"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
+msgstr "Freigabe der Jobserver-Semaphore: (Fehler %ld: %s)"
-#: job.c:922
-#, fuzzy, c-format
+#: job.c:1024 job.c:1038
+#, c-format
msgid "Released token for child %p (%s).\n"
-msgstr "Marke des Kindprozesses 0x%08lx PID (%s) freigegeben.\n"
+msgstr "Token des Kindprozesses %p PID (%s) freigegeben.\n"
-#: job.c:1453 job.c:2094
-#, fuzzy, c-format
+#: 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=%d)\n"
+msgstr "„process_easy()“ konnte den Prozess nicht starten (e=%ld)\n"
-#: job.c:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
"\n"
-"%d Argumente gehörten zum fehlgeschlagenen Prozessstart\n"
+"%d Argumente gehörten zum fehlgeschlagenen Prozessstart\n"
-#: job.c:1525
-#, fuzzy, c-format
+#: job.c:1735
+#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
-msgstr "Nehme Kindprozess 0x%08lx (%s) PID %ld%s in die Kette auf.\n"
+msgstr "Nehme Kindprozess %p (%s) PID %s%s in die Kette auf.\n"
-#: job.c:1778
-#, fuzzy, c-format
+#: 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 "Marke für den Kindprozess 0x%08lx (%s) erhalten.\n"
+msgstr "Token für den Kindprozess %p (%s) erhalten.\n"
-#: job.c:1787
+#: job.c:2029
msgid "read jobs pipe"
-msgstr "Lese Pipe für die Jobs"
+msgstr "Lese Pipe für die Jobs"
-#: job.c:1798
+#: job.c:2056
#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr ""
+msgid "%s: target '%s' does not exist"
+msgstr "%s: Archiv „%s“ existiert nicht"
-#: job.c:1802
-#, fuzzy, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "Es ist nicht notwendig, das Target »%s« neu zu erzeugen"
+#: job.c:2059
+#, c-format
+msgid "%s: update target '%s' due to: %s"
+msgstr "%s: Ziel „%s“ wird aktualisiert wegen: %s"
-#: job.c:1910
+#: 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"
+"der Lastbeschränkung nicht erzwungen werden"
-#: job.c:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
-msgstr "Lasteinschränkung kann nicht erzwungen werden: "
+msgstr "Lasteinschränkung kann nicht erzwungen werden: "
-#: job.c:1985
+#: 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:1987
+#: 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:2015
-msgid "Could not restore stdin\n"
+#: 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:2023
+#: job.c:2293
+msgid "Could not restore stdin\n"
+msgstr "Die Standardeingabe konnte nicht wieder hergestellt werden\n"
+
+#: job.c:2301
msgid "Could not restore stdout\n"
-msgstr ""
+msgstr "Die Standardausgabe konnte nicht wieder hergestellt werden\n"
-#: job.c:2127
-#, fuzzy, c-format
+#: job.c:2309
+msgid "Could not restore stderr\n"
+msgstr "Standardfehler konnte nicht wieder hergestellt werden\n"
+
+#: 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 %d,\n"
-"wartet jedoch noch auf den Prozess mit ID %d.\n"
+"„make“ registrierte die Beendigung des Kindprozesses mit ID %s,\n"
+"wartet jedoch noch auf den Prozess mit ID %s.\n"
-#: job.c:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Kommando nicht gefunden"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Shell-Programm wurde nicht gefunden"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
-msgstr ""
+msgstr "spawnvpe: der Platz in der Programmumgebung könnte erschöpft sein"
-#: job.c:2461
+#: job.c:2765
#, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
-msgstr "$SHELL gewechselt (war »%s«, ist »%s«)\n"
+msgid "$SHELL changed (was '%s', now '%s')\n"
+msgstr "$SHELL gewechselt (war „%s“, ist jetzt „%s“)\n"
-#: job.c:2951
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
-msgstr "Erstelle temporäre Stapelverarbeitungsdatei %s\n"
+msgstr "Temporäre Stapelverarbeitungsdatei %s wird erstellt\n"
-#: job.c:2963
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+"Inhalt der Stapelverarbeitungsdatei:\n"
+"\t@echo off\n"
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
+"Inhalt der Stapelverarbeitungsdatei:%s\n"
+"\t%s\n"
-#: job.c:3065
+#: 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"
-#: main.c:303
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr ""
+"-O[TYPE] (--output-sync[=TYPE]) ist für diese Bau-Aufgabe nicht konfiguriert."
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr "Die globale Symboltabelle konnte nicht geöffnet werden: %s"
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr "Ds geladede Objekt %s wurde nicht als GPL-kompatibel deklariert"
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr "Symbol %s konnte nicht aus %s geladen werden: %s"
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr "Zu ladedender Symbolname ist leer: %s"
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr "Symbol %s wird aus %s geladen\n"
+
+#: 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:313
msgid "Options:\n"
msgstr "Optionen:\n"
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
-msgstr " -b, -m Aus Kompatibilitätsgründen ignoriert\n"
+msgstr ""
+" -b, -m Wird aus Kompatibilitätsgründen ignoriert\n"
-#: main.c:306
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr " -B, --always-make Alle Ziele ohne Bedingungen erstellen\n"
-#: main.c:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -766,129 +915,153 @@ msgstr ""
" In VERZEICHNIS wechseln, bevor etwas getan "
"wird\n"
-#: main.c:311
-#, fuzzy
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
-msgstr "Viele Informationen zur Fehlersuche ausgeben"
+msgstr ""
+" -d Viele Informationen zur Fehlersuche ausgeben.\n"
-#: main.c:313
-#, fuzzy
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
-msgstr "Verschiedene Arten von Debug-Information ausgeben"
+msgstr ""
+" --debug[=KENNUNGEN] Verschiedene Arten von Debug-Information "
+"ausgeben\n"
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
" -e, --environment-overrides\n"
-" Umgebungsvariablen überschreiben »make«-"
+" Umgebungsvariablen überschreiben „make“-"
"Steuerdateien\n"
-#: main.c:318
+#: 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:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
" -f DATEI, --file=DATEI, --makefile=DATEI\n"
-" DATEI als »make«-Steuerdatei lesen\n"
+" DATEI als Makefile lesen\n"
-#: main.c:323
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Diese Meldung ausgeben und beenden\n"
-#: main.c:325
-#, fuzzy
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
-msgstr "Fehler in den Befehlen irgnorieren"
+msgstr " -i, --ignore-errors Fehler in Regeln werden irgnoriert\n"
-#: main.c:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
" -I VERZEICHNIS, --include-dir=VERZEICHNIS\n"
-" VERZEICHNIS nach inkludierten\n"
-" »make«-Steuerdateien durchsuchen\n"
+" VERZEICHNIS nach eingebundenen\n"
+" Makedateien durchsuchen\n"
-#: main.c:330
-#, fuzzy
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
msgstr ""
-"N Jobs gleichzeitig erlauben; unbegrenzte Anzahl \n"
-"von Jobs ohne Argument"
+" -j [N], --jobs[=N] N Jobs gleichzeitig erlauben; unbegrenzte "
+"Anzahl \n"
+" von Jobs ohne Argument\n"
-#: main.c:332
-#, fuzzy
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
-msgstr "Weiterlaufen, auch wenn einige Targets nicht erzeugt werden konnten"
+msgstr ""
+" -k, --keep-going Weiterlaufen, auch wenn einige Targets nicht\n"
+" erzeugt werden konnten\n"
-#: main.c:334
+#: 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"
+" Keine Jobs starten bevor die Auslastung nicht "
+"unter N ist.\n"
-#: main.c:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
+" -L, --check-symlink-times Den neueste Modifizierungszeit zwischen\n"
+" symbolischer Verküpfung und dem Ziel "
+"verwenden.\n"
-#: main.c:339
+#: 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"
+" Keine Regel ausführen, nur ausgeben.\n"
-#: main.c:342
+#: 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 DATEI, --old-file=DATEI, --assume-old=DATEI\n"
+" DATEI als sehr alt ansehen und nicht neu "
+"erzeugen.\n"
-#: main.c:345
-#, fuzzy
+#: main.c:355
+msgid ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
+msgstr ""
+" -O[TYP], --output-sync[=TYP]\n"
+" Synchronisiert die Ausgabe paralleler Jobs per "
+"TYP.\n"
+
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
-msgstr "Die interne Datenbank von »make« ausgeben"
+msgstr ""
+" -p, --print-data-base Die interne Datenbank von „make“ ausgeben\n"
-#: main.c:347
-#, fuzzy
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-"Keine Befehle ausführen; der Exit-Status gibt an, ob die Dateien\n"
-"aktuell sind"
+" -q, --question Keine Regel ausführen; der Exit-Status gibt "
+"an, ob die Dateien\n"
+" aktuell sind\n"
-#: main.c:349
-#, fuzzy
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
-msgstr "Die eingebauten impliziten Regeln deaktivieren"
+msgstr ""
+" -r, --no-builtin-rules Die eingebauten impliziten Regeln "
+"deaktivieren.\n"
-#: main.c:351
-#, fuzzy
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
-msgstr "Die eingebauten Variablenbelegungen deaktivieren"
+msgstr ""
+" -R, --no-builtin-variables Die eingebauten Variablenbelegungen "
+"deaktivieren.\n"
-#: main.c:353
-#, fuzzy
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
-msgstr " -s, --silent, --quiet Befehle nicht ausgeben.\n"
+msgstr " -s, --silent, --quiet Regeln nicht ausgeben.\n"
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -896,62 +1069,75 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" -k abschalten.\n"
-#: main.c:358
-#, fuzzy
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
-"Die Targets werden nur als aktualisiert markiert,\n"
-"nicht tatsächlich erneuert"
+" -t, --touch Die Ziele werden nur als aktualisiert "
+"markiert,\n"
+" nicht tatsächlich erneuert\n"
-#: main.c:360
-#, fuzzy
+#: main.c:373
+msgid " --trace Print tracing information.\n"
+msgstr ""
+" --trace Viele Informationen zur Fehlersuche ausgeben\n"
+
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
-msgstr "Die Versionsnummer von »make« ausgeben und beenden"
+msgstr ""
+" -v, --version Die Versionsnummer von „make“ ausgeben und "
+"Programm beenden\n"
-#: main.c:362
-#, fuzzy
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
-msgstr "Das aktuelle Verzeichnis ausgeben"
+msgstr " -w, --print-directory Das aktuelle Verzeichnis ausgeben\n"
-#: main.c:364
-#, fuzzy
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
-msgstr "-w abschalten, selbst wenn es implizit eingeschaltet wurde"
+msgstr ""
+" --no-print-directory -w abschalten, selbst wenn es implizit "
+"eingeschaltet wurde.\n"
-#: main.c:366
+#: 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 DATEI, --what-if=DATEI, --new-file=DATEI, --assume-new=DATEI\n"
+" DATEI als unendlich neu erachten.\n"
-#: main.c:369
-#, fuzzy
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr ""
-"Eine Warnung ausgeben, wenn eine undefinierte Variable referenziert wird"
+" --warn-undefined-variables Eine Warnung ausgeben, wenn eine undefinierte\n"
+" Variable referenziert wird.\n"
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
-msgstr "Eine leere Zeichenkette ist als Dateiname ungültig"
+msgstr "Eine leere Zeichenkette ist als Dateiname ungültig"
-#: main.c:650
+#: main.c:737
#, c-format
-msgid "unknown debug level specification `%s'"
-msgstr "Unbekanntes Debug-Level angegeben »%s«"
+msgid "unknown debug level specification '%s'"
+msgstr "Unbekannte Debug-Level angegeben „%s“"
-#: main.c:690
-#, fuzzy, c-format
+#: main.c:774
+#, c-format
+msgid "unknown output-sync type '%s'"
+msgstr "unbekannter Typ von Ausgabesynchronisierung „%s“"
+
+#: 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%x, Adr = 0x%x)\n"
+"%s: bekam Unterbrechung/Ausnahme signalisiert (Kode = 0x%lx, Adr = 0x%p)\n"
-#: main.c:697
-#, fuzzy, c-format
+#: main.c:835
+#, c-format
msgid ""
"\n"
"Unhandled exception filter called from program %s\n"
@@ -962,211 +1148,237 @@ msgstr ""
"\n"
"Das Programm %s rief einen Ausnahmefilter auf, \n"
"der nicht bearbeitet wurde\n"
-"ExceptionCode = %x\n"
-"ExceptionFlags = %x\n"
-"ExceptionAddress = %x\n"
+"ExceptionCode = %lx\n"
+"ExceptionFlags = %lx\n"
+"ExceptionAddress = 0x%p\n"
-#: main.c:705
-#, fuzzy, c-format
+#: main.c:843
+#, c-format
msgid "Access violation: write operation at address 0x%p\n"
-msgstr "Zugriffsverletzung: Schreiboperation an Adresse %x\n"
+msgstr "Zugriffsverletzung: Schreiboperation an Adresse 0x%p\n"
-#: main.c:706
-#, fuzzy, c-format
+#: main.c:844
+#, c-format
msgid "Access violation: read operation at address 0x%p\n"
-msgstr "Zugriffsverletzung: Leseoperation an Adresse %x\n"
+msgstr "Zugriffsverletzung: Leseoperation an Adresse 0x%p\n"
-#: main.c:781 main.c:792
-#, fuzzy, c-format
+#: 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:834
-#, fuzzy, c-format
+#: main.c:988
+#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
-msgstr "find_and_set_shell Suchpfad gesetzt; default_shell = %s\n"
+msgstr "find_and_set_shell Suche im Pfad setzte default_shell = %s\n"
-#: main.c:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
-msgstr "%s setzt für 30 Sekunden aus..."
+msgstr "%s setzt für 30 Sekunden aus..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
-msgstr "»sleep(30)« ist abgeschlossen. Es geht weiter.\n"
-
-#: main.c:1501
-msgid "Makefile from standard input specified twice."
-msgstr "Das Makefile wurde zweimal über die Standardeingabe angegeben."
-
-#: main.c:1539 vmsjobs.c:500
-msgid "fopen (temporary file)"
-msgstr "fopen (temporäre Datei)"
-
-#: main.c:1545
-msgid "fwrite (temporary file)"
-msgstr "fwrite (temporäre Datei)"
+msgstr "„sleep(30)“ ist abgeschlossen. Es geht weiter.\n"
-#: main.c:1703
-msgid "Parallel jobs (-j) are not supported on this platform."
+#: main.c:1527
+#, c-format
+msgid ""
+"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
-"Parallele Abarbeitung (-j) \n"
-"wird auf dieser Plattform nicht unterstützt."
-
-#: main.c:1704
-msgid "Resetting to single job (-j1) mode."
-msgstr "Umstellung auf Einzel-Job-Verarbeitung (-j1)."
+"interner Fehler: die Semaphore „%s“ des Jobservers kann nicht geöffnet "
+"werden:\n"
+" (Fehler %ld: %s)"
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "Interner Fehler: mehrfache --jobserver-fds Optionen"
+#: main.c:1530
+#, c-format
+msgid "Jobserver client (semaphore %s)\n"
+msgstr "Jobserver-Klient (Semaphore %s)\n"
-#: main.c:1727
+#: main.c:1534
#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
-msgstr "Interner Fehler: Falsche --jobserver-fds Angabe »%s«"
+msgid "internal error: invalid --jobserver-fds string '%s'"
+msgstr "Interner Fehler: Falsche --jobserver-fds Angabe „%s“"
-#: main.c:1730
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
-msgstr ""
+msgstr "Jobserver-Klient (fds %d,%d)\n"
-#: main.c:1740
+#: 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."
+"Warnung: -jN in „make“-Verarbeitungszweig erzwungen: \n"
+"Jobserver-Modus nicht verfügbar."
-#: main.c:1750
+#: main.c:1567
msgid "dup jobserver"
msgstr "Jobserver verdoppelt"
-#: main.c:1753
+#: main.c:1570
msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
+"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
-"Warnung: Kein Jobserver verfügbar: -j1 wird gesetzt. »+« zur Ursprungsregel\n"
-"hinzufügen."
+"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:1777
+#: main.c:1780 vmsjobs.c:653
+msgid "fopen (temporary file)"
+msgstr "fopen (temporäre Datei)"
+
+#: main.c:1786
+msgid "fwrite (temporary file)"
+msgstr "fwrite (temporäre Datei)"
+
+#: 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:1975
+msgid "Resetting to single job (-j1) mode."
+msgstr "Umstellung auf Einzel-Job-Verarbeitung (-j1)."
+
+#: 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"
+msgstr "Öffnen der Pipe für die Jobs"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
-msgstr "Initialisierung der Pipe für den jobserver"
+msgstr "Initialisierung der Pipe für den Jobserver"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
-msgstr "Symbolische Links sind nicht unterstützt: -L wird abgeschaltet."
+msgstr ""
+"Symbolische Verknfungen werdfen nicht unterstützt: -L wird abgeschaltet."
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
-msgstr "Aktualisiere »make«-Steuerdateien...\n"
+msgstr "Aktualisiere „make“-Steuerdateien...\n"
-#: main.c:1917
+#: main.c:2158
#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
+msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr ""
-"»make«-Steuerdatei »%s« könnte eine Schleife enthalten; \n"
+"„make“-Steuerdatei „%s“ könnte eine Schleife enthalten; \n"
"es wird nicht neu erzeugt.\n"
-#: main.c:1996
+#: main.c:2237
#, c-format
-msgid "Failed to remake makefile `%s'."
-msgstr "Konnte die »make«-Steuerdatei »%s« nicht neu erstellen."
+msgid "Failed to remake makefile '%s'."
+msgstr "Konnte die „make“-Steuerdatei „%s“ nicht neu erstellen."
-#: main.c:2013
+#: main.c:2257
#, c-format
-msgid "Included makefile `%s' was not found."
-msgstr "Die eingebundene »make«-Steuerdatei »%s« wurde nicht gefunden."
+msgid "Included makefile '%s' was not found."
+msgstr "Die eingebundene „make“-Steuerdatei „%s“ wurde nicht gefunden."
-#: main.c:2018
+#: main.c:2262
#, c-format
-msgid "Makefile `%s' was not found"
-msgstr "Die »make«-Steuerdatei »%s« wurde nicht gefunden"
+msgid "Makefile '%s' was not found"
+msgstr "Die „make“-Steuerdatei „%s“ wurde nicht gefunden"
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
-msgstr "Konnte nicht in das ursprüngliche Verzeichnis wechseln."
+msgstr "Konnte nicht in das ursprüngliche Verzeichnis wechseln."
-#: main.c:2102
-#, fuzzy, c-format
+#: main.c:2343
+#, c-format
msgid "Re-executing[%u]:"
-msgstr "Erneute Ausführung:"
+msgstr "Erneute Ausführung[%u]:"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
-msgstr "unlink (temporäre Datei): "
+msgstr "unlink (temporäre Datei): "
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL beinhaltet mehr als ein Ziel"
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
-msgstr "Keine Targets angegeben und keine »make«-Steuerdatei gefunden"
+msgstr "Es wurden keine Ziele angegeben und keine „make“-Steuerdatei gefunden"
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
-msgstr "Keine Targets"
+msgstr "Keine Ziele"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Aktualisieren der Ziele...\n"
-#: main.c:2306
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
"Warnung: Mit der Uhr stimmt etwas nicht. \n"
-"Die Bearbeitung könnte unvollständig sein."
+" Der Bauauftrag könnte unvollständig sein."
-#: main.c:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
-msgstr "Syntax: %s [Optionen] [Target] ...\n"
+msgstr "Aufruf: %s [Optionen] [Ziele] ...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
"This program built for %s\n"
msgstr ""
+"\n"
+"Diese Programm wurde für %s gebaut\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
"This program built for %s (%s)\n"
msgstr ""
+"\n"
+"Diese Programm wurde für %s (%s) gebaut\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "Fehlermeldungen (auf Englisch) an <bug-make@gnu.org> senden.\n"
-#: main.c:2562
-#, fuzzy, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
-msgstr "Die Option »-%c« verlangt eine positive ganze Zahl als Argument"
+#: 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:2617
+#: main.c:2871
#, c-format
-msgid "the `-%c' option requires a positive integral argument"
-msgstr "Die Option »-%c« verlangt eine positive ganze Zahl als Argument"
+msgid "the '-%c' option requires a positive integer argument"
+msgstr "Die Option „-%c“ verlangt eine positive ganze Zahl als Argument"
-#: main.c:3054
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
-msgstr ""
+msgstr "%sGebaut für %s\n"
-#: main.c:3056
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
-msgstr ""
+msgstr "%sGebaut für %s (%s)\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1174,491 +1386,504 @@ msgid ""
"%sThis is free software: you are free to change and redistribute it.\n"
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
+"%sLizenz GPLv3+: GNU GPL Version 3 oder später <http://gnu.org/licenses/gpl."
+"html>\n"
+"%sDies ist freie Software: Sie können sie nach Belieben ändern und weiter "
+"verteilen.\n"
+"%sSoweit es die Gesetze erlauben gibt es KEINE GARANTIE.\n"
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
"# Make data base, printed on %s"
msgstr ""
"\n"
-"# »Make«-Datenbank; erstellt am: %s"
+"# „Make“-Datenbank; erstellt am: %s"
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
"# Finished Make data base on %s\n"
msgstr ""
"\n"
-"# »Make«-Datenbank; beendet am: %s\n"
+"# „Make“-Datenbank beendet am: %s\n"
-#: main.c:3237
-#, fuzzy, c-format
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "Unbekannter Fehler %d"
+
+#: misc.c:522
+#, c-format
+msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+msgstr "%s: Nutzer %lu (tatsächlich %lu), Gruppe %lu (tatsächlich %lu)\n"
+
+#: misc.c:543
+msgid "Initialized access"
+msgstr "Initialisierter Zugriff"
+
+#: misc.c:622
+msgid "User access"
+msgstr "Zugriff durch Benutzer"
+
+#: misc.c:670
+msgid "Make access"
+msgstr "Zugriff durch „make“"
+
+#: misc.c:704
+msgid "Child access"
+msgstr "Kindprozess"
+
+#: output.c:104
+#, c-format
msgid "%s: Entering an unknown directory\n"
-msgstr "ein unbekanntes Verzeichnis"
+msgstr "%s: ein unbekanntes Verzeichnis wird betreten\n"
-#: main.c:3239
-#, fuzzy, c-format
+#: output.c:106
+#, c-format
msgid "%s: Leaving an unknown directory\n"
-msgstr "ein unbekanntes Verzeichnis"
+msgstr "%s: ein unbekanntes Verzeichnis wird verlassen\n"
# !!! Attention: concatenated with the previous messages!!!
-#: main.c:3242
-#, fuzzy, c-format
-msgid "%s: Entering directory `%s'\n"
-msgstr "»%s«\n"
+#: output.c:109
+#, c-format
+msgid "%s: Entering directory '%s'\n"
+msgstr "%s: Verzeichnis „%s“ wird betreten\n"
# !!! Attention: concatenated with the previous messages!!!
-#: main.c:3245
-#, fuzzy, c-format
-msgid "%s: Leaving directory `%s'\n"
-msgstr "»%s«\n"
+#: output.c:111
+#, c-format
+msgid "%s: Leaving directory '%s'\n"
+msgstr "%s: Verzeichnis „%s“ wird verlassen\n"
-#: main.c:3250
-#, fuzzy, c-format
+#: output.c:115
+#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
-msgstr "ein unbekanntes Verzeichnis"
+msgstr "%s[%u]: Ein unbekanntes Verzeichnis wird betreten\n"
-#: main.c:3253
-#, fuzzy, c-format
+#: output.c:117
+#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
-msgstr "ein unbekanntes Verzeichnis"
+msgstr "%s[%u]: Ein unbekanntes Verzeichnis wird verlassen\n"
# !!! Attention: concatenated with the previous messages!!!
-#: main.c:3257
-#, fuzzy, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
-msgstr "»%s«\n"
+#: output.c:120
+#, c-format
+msgid "%s[%u]: Entering directory '%s'\n"
+msgstr "%s[%u]: Verzeichnis „%s“ wird betreten\n"
# !!! Attention: concatenated with the previous messages!!!
-#: main.c:3260
-#, fuzzy, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
-msgstr "»%s«\n"
+#: output.c:122
+#, c-format
+msgid "%s[%u]: Leaving directory '%s'\n"
+msgstr "%s[%u]: Verzeichnis „%s“ wird verlassen\n"
-#: misc.c:316
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
+msgstr "Schreibfehler: %s"
+
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Schluss.\n"
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "Unbekannter Fehler %d"
-
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
-msgstr ""
+msgstr "%s%s: %s"
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
-msgstr ""
+msgstr "%s: %s"
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "Der virtuelle Speicher ist verbraucht"
-
-#: misc.c:708
-#, fuzzy, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: Nutzer %lu (tatsächlich %lu), Gruppe %lu (tatsächlich %lu)\n"
-
-#: misc.c:729
-msgid "Initialized access"
-msgstr "Initialisierter Zugriff"
-
-#: misc.c:808
-msgid "User access"
-msgstr ""
-
-#: misc.c:856
-msgid "Make access"
-msgstr ""
-
-#: misc.c:890
-msgid "Child access"
-msgstr ""
-
-#: misc.c:954
-#, c-format
-msgid "write error: %s"
-msgstr "Schreibfehler: %s"
-
-#: misc.c:956
-msgid "write error"
-msgstr "Schreibfehler"
-
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
-msgstr "»make«-Steuerdateien werden gelesen...\n"
+msgstr "„make“-Steuerdateien werden gelesen...\n"
-#: read.c:333
+#: read.c:335
#, c-format
-msgid "Reading makefile `%s'"
-msgstr "»make«-Steuerdatei »%s« wird gelesen"
+msgid "Reading makefile '%s'"
+msgstr "„make“-Steuerdatei „%s“ wird gelesen"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (kein Standard-Ziel)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (Suchpfad)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (macht nichts)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
-msgstr " (keine ~-Auflösung)"
+msgstr " (keine ~-Auflösung)"
+
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr "UTF-8 BOM in makefile „%s“ wird übersprungen\n"
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr "UTF-8 BOM im makefile-Puffer wird übersprungen\n"
-#: read.c:759
+#: read.c:789
msgid "invalid syntax in conditional"
-msgstr "Ungültige Syntax in der Bedingung"
+msgstr "Ungültige Syntax in der Bedingung"
-#: read.c:891
-#, fuzzy
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr "%s: konnte nicht geladen werden"
+
+#: read.c:992
msgid "recipe commences before first target"
-msgstr "Befehle beginnen vor dem ersten Ziel"
+msgstr "Rezept beginnt vor dem ersten Ziel"
-#: read.c:940
-#, fuzzy
+#: read.c:1041
msgid "missing rule before recipe"
-msgstr "Es fehlt eine Regel vor den Befehlen"
+msgstr "Es fehlt eine Regel vor der Regel"
-# Untranslatable because of weird %s usage -ke-
-#: read.c:1027
-#, fuzzy, c-format
-msgid "missing separator%s"
-msgstr "Fehlendes Trennzeichen%s"
-
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (Meinten Sie TAB anstelle von 8 Leerzeichen?)"
-#: read.c:1163
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "Fehlende Trennung%s"
+
+#: read.c:1270
msgid "missing target pattern"
-msgstr "Es fehlt ein Target-Muster"
+msgstr "Es fehlt ein Ziel-Muster"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
-msgstr "Mehrfache Target-Muster"
+msgstr "Mehrfache Ziel-Muster"
-#: read.c:1169
+#: read.c:1276
#, c-format
-msgid "target pattern contains no `%%'"
-msgstr "Target-Muster enthält kein »%%«"
+msgid "target pattern contains no '%%'"
+msgstr "Ziel-Muster enthält kein „%%“"
-#: read.c:1293
-msgid "missing `endif'"
-msgstr "Fehlendes »endif«"
+#: read.c:1398
+msgid "missing 'endif'"
+msgstr "Fehlendes „endif“"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "Leerer Variablenname"
-#: read.c:1367
-#, fuzzy
-msgid "extraneous text after `define' directive"
-msgstr "Überflüssiger Text nach einer »endef«-Anweisung"
+#: read.c:1471
+msgid "extraneous text after 'define' directive"
+msgstr "Überflüssiger Text nach einer „define“-Anweisung"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
-msgstr "Fehlendes »endef«, nicht abgeschlossenes »define«"
+#: read.c:1496
+msgid "missing 'endef', unterminated 'define'"
+msgstr "Fehlendes „endef“, nicht abgeschlossenes „define“"
-#: read.c:1420
-#, fuzzy
-msgid "extraneous text after `endef' directive"
-msgstr "Überflüssiger Text nach einer »endef«-Anweisung"
+#: read.c:1524
+msgid "extraneous text after 'endef' directive"
+msgstr "Überflüssiger Text nach einer „endef“-Anweisung"
-#: read.c:1490
+#: read.c:1595
#, c-format
-msgid "Extraneous text after `%s' directive"
-msgstr "Überflüssiger Text nach einer »%s«-Anweisung"
+msgid "extraneous text after '%s' directive"
+msgstr "Überflüssiger Text nach einer „%s“-Anweisung"
-#: read.c:1499 read.c:1513
+#: read.c:1596
#, c-format
-msgid "extraneous `%s'"
-msgstr "Überflüssiges »%s«"
+msgid "extraneous '%s'"
+msgstr "Überflüssiges „%s“"
-#: read.c:1518
-msgid "only one `else' per conditional"
-msgstr "Es ist nur ein »else« je Verzweigung erlaubt"
+#: read.c:1624
+msgid "only one 'else' per conditional"
+msgstr "Es ist nur ein „else“ pro Bedingung erlaubt"
-#: read.c:1797
-#, fuzzy
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Falsche Ziel-bezogene Variablendefinition"
-#: read.c:1855
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
-msgstr ""
+msgstr "Voraussetzungen können nicht in Regeln definiert werden"
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
-msgstr "Implizite und statische Muster-Regel vermischt"
+msgstr "Implizite und statische Muster-Regeln wurden vermischt"
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
-msgstr "Implizite und normale Regel vermischt"
+msgstr "Implizite und normale Regeln wurden vermischt"
-#: read.c:1976
+#: read.c:2091
#, c-format
-msgid "target `%s' doesn't match the target pattern"
-msgstr "Target »%s« passt nicht zum Target-Muster"
+msgid "target '%s' doesn't match the target pattern"
+msgstr "Target „%s“ passt nicht zum Ziel-Muster"
-#: read.c:1991 read.c:2036
+#: read.c:2106 read.c:2152
#, c-format
-msgid "target file `%s' has both : and :: entries"
-msgstr "Das Ziel »%s« enthält sowohl »:«- als auch »::«-Einträge"
+msgid "target file '%s' has both : and :: entries"
+msgstr "Das Ziel „%s“ enthält sowohl „:“- als auch „::“-Einträge"
-#: read.c:1997
+#: read.c:2112
#, c-format
-msgid "target `%s' given more than once in the same rule."
-msgstr "Das Ziel »%s« steht mehrfach in derselben Regel."
+msgid "target '%s' given more than once in the same rule"
+msgstr "Das Ziel „%s“ steht mehrfach in derselben Regel."
-#: read.c:2006
-#, fuzzy, c-format
-msgid "warning: overriding recipe for target `%s'"
-msgstr "Warnung: Die Befehle für das Ziel »%s« werden überschrieben"
+#: read.c:2122
+#, c-format
+msgid "warning: overriding recipe for target '%s'"
+msgstr "Warnung: Die Befehle für das Ziel „%s“ werden überschrieben"
-#: read.c:2009
-#, fuzzy, c-format
-msgid "warning: ignoring old recipe for target `%s'"
-msgstr "Warnung: Alte Befehle für das Ziel »%s« werden ignoriert"
+#: read.c:2125
+#, c-format
+msgid "warning: ignoring old recipe for target '%s'"
+msgstr "Warnung: Alte Befehle für das Ziel „%s“ werden ignoriert"
-#: read.c:2392
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "Implizite und normale Regeln wurden vermischt"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
-msgstr "Warnung: NUL-Zeichen gelesen; der Rest der Zeile wird ignoriert"
+msgstr "Warnung: NULL-Zeichen gelesen; der Rest der Zeile wird ignoriert"
-#: remake.c:234
+#: remake.c:230
#, c-format
-msgid "Nothing to be done for `%s'."
-msgstr "Für das Ziel »%s« ist nichts zu tun."
+msgid "Nothing to be done for '%s'."
+msgstr "Für das Ziel „%s“ ist nichts zu tun."
-#: remake.c:235
+#: remake.c:231
#, c-format
-msgid "`%s' is up to date."
-msgstr "»%s« ist bereits aktualisiert."
+msgid "'%s' is up to date."
+msgstr "„%s“ ist bereits aktuell."
-#: remake.c:306
+#: remake.c:303
#, c-format
-msgid "Pruning file `%s'.\n"
-msgstr "Die Datei »%s« wird \"gestutzt\" (der Abhängigkeitsgraph).\n"
+msgid "Pruning file '%s'.\n"
+msgstr "Die Datei „%s“ wird \"gestutzt\" (der Abhängigkeitsgraph).\n"
-#: remake.c:359
+#: remake.c:390 remake.c:393
#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%sKeine Regel, um »%s« zu erstellen%s"
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
+msgstr ""
+"%sKeine Regel vorhanden, um das Ziel „%s“, \n"
+" benötigt von „%s“, zu erstellen%s"
-#: remake.c:361
+#: remake.c:402 remake.c:405
#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
-msgstr ""
-"%sKeine Regel vorhanden, um das Target »%s«, \n"
-" benötigt von »%s«, zu erstellen%s"
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sKeine Regel, um „%s“ zu erstellen%s"
-#: remake.c:413
+#: remake.c:426
#, c-format
-msgid "Considering target file `%s'.\n"
-msgstr "Betrachte Target-Datei »%s«.\n"
+msgid "Considering target file '%s'.\n"
+msgstr "Betrachte Ziel-Datei „%s“.\n"
-#: remake.c:420
+#: remake.c:433
#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
+msgid "Recently tried and failed to update file '%s'.\n"
msgstr ""
-"Versuchte gerade die Datei »%s« zu aktualisieren, \n"
+"Es wurde kürzlich versucht, die Datei „%s“ zu aktualisieren,\n"
"dies schlug aber fehl.\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
-msgid "File `%s' was considered already.\n"
-msgstr "Die Datei »%s« wurde bereits betrachtet.\n"
+msgid "File '%s' was considered already.\n"
+msgstr "Die Datei „%s“ wurde bereits betrachtet.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
-msgid "Still updating file `%s'.\n"
-msgstr "Die Datei »%s« wird immer noch aktualisiert.\n"
+msgid "Still updating file '%s'.\n"
+msgstr "Die Datei „%s“ wird immer noch aktualisiert.\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
-msgid "Finished updating file `%s'.\n"
-msgstr "Aktualisierung der Datei »%s« beendet.\n"
+msgid "Finished updating file '%s'.\n"
+msgstr "Aktualisierung der Datei „%s“ beendet.\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
-msgid "File `%s' does not exist.\n"
-msgstr "Die Datei »%s« existiert nicht.\n"
+msgid "File '%s' does not exist.\n"
+msgstr "Die Datei „%s“ existiert nicht.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
+"*** Warnung: mit .LOW_RESOLUTION_TIME gekennzeichnete Datei „%s“ hat einen\n"
+" hochaufgelösten Zeitstempel"
-#: remake.c:494 remake.c:1016
+#: remake.c:508 remake.c:1040
#, c-format
-msgid "Found an implicit rule for `%s'.\n"
-msgstr "Eine implizite Regel für »%s« gefunden.\n"
+msgid "Found an implicit rule for '%s'.\n"
+msgstr "Eine implizite Regel für „%s“ wurde gefunden.\n"
-#: remake.c:496 remake.c:1018
+#: remake.c:510 remake.c:1042
#, c-format
-msgid "No implicit rule found for `%s'.\n"
-msgstr "Keine implizite Regel für »%s« gefunden.\n"
+msgid "No implicit rule found for '%s'.\n"
+msgstr "Keine implizite Regel für „%s“ gefunden.\n"
-#: remake.c:502
-#, fuzzy, c-format
-msgid "Using default recipe for `%s'.\n"
-msgstr "Verwende die Standard-Kommandos für »%s«.\n"
+#: remake.c:516
+#, c-format
+msgid "Using default recipe for '%s'.\n"
+msgstr "Die Standard-Regel für „%s“ wird verwendet.\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
-msgstr "Zirkuläre Datei %s <- %s Abhängigkeit wird nicht verwendet."
+msgstr "Zirkuläre Abhängigkeit %s <- %s wird nicht verwendet."
-#: remake.c:651
+#: remake.c:675
#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
-msgstr "Fertig mit den Voraussetzungen für die Ziel-Datei »%s«.\n"
+msgid "Finished prerequisites of target file '%s'.\n"
+msgstr "Fertig mit den Voraussetzungen für die Ziel-Datei „%s“.\n"
-#: remake.c:657
+#: remake.c:681
#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
-msgstr "Die Voraussetzungen von »%s« werden fertiggestellt.\n"
+msgid "The prerequisites of '%s' are being made.\n"
+msgstr "Die Voraussetzungen von „%s“ werden fertiggestellt.\n"
-#: remake.c:670
+#: remake.c:695
#, c-format
-msgid "Giving up on target file `%s'.\n"
-msgstr "Die Arbeit an der Target-Datei »%s« wurde aufgegeben.\n"
+msgid "Giving up on target file '%s'.\n"
+msgstr "Die Arbeit an der Target-Datei „%s“ wurde aufgegeben.\n"
-#: remake.c:675
+#: remake.c:700
#, c-format
-msgid "Target `%s' not remade because of errors."
-msgstr "Das Target »%s« wurde wegen Fehlern nicht aktualisiert."
+msgid "Target '%s' not remade because of errors."
+msgstr "Das Ziel „%s“ wurde wegen Fehlern nicht aktualisiert."
-#: remake.c:727
-#, fuzzy, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
-msgstr "Die Datei »%s« ist älter als das davon abhängige Ziel »%s«.\n"
+#: remake.c:752
+#, c-format
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
+msgstr "Die Datei „%s“ ist älter als das davon abhängige Ziel „%s“.\n"
-#: remake.c:732
+#: remake.c:757
#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr ""
-"Die Datei »%s«, Voraussetzung für das Ziel »%s«, \n"
+"Die Datei „%s“, Voraussetzung für das Ziel „%s“, \n"
"existiert nicht.\n"
-#: remake.c:737
+#: remake.c:762
#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
-msgstr "Die Datei »%s« ist jünger als das davon abhängige Ziel »%s«.\n"
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
+msgstr "Die Datei „%s“ ist jünger als das davon abhängige Ziel „%s“.\n"
-#: remake.c:740
+#: remake.c:765
#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
-msgstr "Die Datei »%s« ist älter als das davon abhängige Ziel »%s«.\n"
+msgid "Prerequisite '%s' is older than target '%s'.\n"
+msgstr "Die Datei „%s“ ist älter als das davon abhängige Ziel „%s“.\n"
-#: remake.c:758
+#: remake.c:783
#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr ""
-"Das Ziel »%s« hat einen doppelten Doppelpunkt \n"
+"Das Ziel „%s“ hat einen doppelten Doppelpunkt \n"
"und keine Voraussetzungen.\n"
-#: remake.c:765
-#, fuzzy, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
+#: remake.c:790
+#, c-format
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr ""
-"Kein Kommando für »%s« und keine Voraussetzung \n"
-"wurde tatsächlich verändert.\n"
+"Kein Kommando für „%s“ und keine Voraussetzung \n"
+"wurde tatsächlich verändert.\n"
-#: remake.c:770
+#: remake.c:795
#, c-format
-msgid "Making `%s' due to always-make flag.\n"
-msgstr ""
+msgid "Making '%s' due to always-make flag.\n"
+msgstr "„%s“ wird aufgrund der Keinnzeichnung als always-make erzeugt.\n"
-#: remake.c:778
+#: remake.c:803
#, c-format
-msgid "No need to remake target `%s'"
-msgstr "Es ist nicht notwendig, das Target »%s« neu zu erzeugen"
+msgid "No need to remake target '%s'"
+msgstr "Es ist nicht notwendig, das Ziel „%s“ neu zu erzeugen"
-#: remake.c:780
+#: remake.c:805
#, c-format
-msgid "; using VPATH name `%s'"
-msgstr "; benutze VPATH-Name »%s«"
+msgid "; using VPATH name '%s'"
+msgstr "; benutze VPATH-Name „%s“"
-#: remake.c:800
+#: remake.c:825
#, c-format
-msgid "Must remake target `%s'.\n"
-msgstr "Das Target »%s« muss neu erzeugt werden.\n"
+msgid "Must remake target '%s'.\n"
+msgstr "Das Target „%s“ muss neu erzeugt werden.\n"
-#: remake.c:806
+#: remake.c:831
#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
-msgstr " Ignoriere VPATH-Name »%s«.\n"
+msgid " Ignoring VPATH name '%s'.\n"
+msgstr " Der VPATH-Name „%s“ wird ignoriert.\n"
-#: remake.c:815
-#, fuzzy, c-format
-msgid "Recipe of `%s' is being run.\n"
-msgstr "Die Kommandos von »%s« werden gerade ausgeführt.\n"
+#: remake.c:840
+#, c-format
+msgid "Recipe of '%s' is being run.\n"
+msgstr "Die Regel für „%s“ wird gerade ausgeführt.\n"
-#: remake.c:822
+#: remake.c:847
#, c-format
-msgid "Failed to remake target file `%s'.\n"
-msgstr "Fehler beim Aktualisieren der Target-Datei »%s«.\n"
+msgid "Failed to remake target file '%s'.\n"
+msgstr "Fehler beim Aktualisieren der Ziel-Datei „%s“.\n"
-#: remake.c:825
+#: remake.c:850
#, c-format
-msgid "Successfully remade target file `%s'.\n"
-msgstr "Die Target-Datei »%s« wurde erfolgreich aktualisiert.\n"
+msgid "Successfully remade target file '%s'.\n"
+msgstr "Die Zieldatei „%s“ wurde erfolgreich aktualisiert.\n"
-#: remake.c:828
+#: remake.c:853
#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
-msgstr "Target »%s« muss bei -q aktualisiert werden.\n"
+msgid "Target file '%s' needs to be remade under -q.\n"
+msgstr "Zieldatei „%s“ muss bei -q aktualisiert werden.\n"
-#: remake.c:1024
+#: remake.c:1048
#, c-format
-msgid "Using default commands for `%s'.\n"
-msgstr "Verwende die Standard-Kommandos für »%s«.\n"
+msgid "Using default commands for '%s'.\n"
+msgstr "Die Standard-Kommandos für „%s“ werden verwendet.\n"
-#: remake.c:1357
-#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time in the future"
-msgstr "*** Warnung: Datei »%s« hat zukünftige Änderungszeit (%s > %s)!"
+#: remake.c:1397
+#, c-format
+msgid "Warning: File '%s' has modification time in the future"
+msgstr "Warnung: Datei „%s“ hat zukünftige Änderungszeit"
-#: remake.c:1370
-#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
-msgstr "*** Warnung: Datei »%s« hat zukünftige Änderungszeit (%s > %s)!"
+#: remake.c:1411
+#, c-format
+msgid "Warning: File '%s' has modification time %s s in the future"
+msgstr "Warnung: Datei „%s“ hat hat in der Zukunft liegende Änderungszeit %s"
-#: remake.c:1569
+#: remake.c:1610
#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
-msgstr ".LIBPATTERNS Element »%s« ist kein Muster"
+msgid ".LIBPATTERNS element '%s' is not a pattern"
+msgstr ".LIBPATTERNS Element „%s“ ist kein Muster"
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
msgstr "Customs wird nicht exportieren: %s\n"
-#: rule.c:499
-#, fuzzy
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
msgstr ""
"\n"
-"# Keine impliziten Regeln vorhanden."
+"# Implizite Regeln"
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1666,7 +1891,7 @@ msgstr ""
"\n"
"# Keine impliziten Regeln vorhanden."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1675,240 +1900,268 @@ msgstr ""
"\n"
"# %u implizite Regeln, %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
msgstr " Terminal."
-#: rule.c:534
-#, fuzzy, c-format
+#: rule.c:530
+#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
-msgstr "BUG: »num_pattern_rules« falsch! %u != %u"
+msgstr "BUG: „num_pattern_rules“ falsch! %u != %u"
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
msgstr "Unbekanntes Signal"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
msgstr "Aufgelegt"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
msgstr "Abgebrochen (Interrupt)"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
msgstr "Quit"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
msgstr "Illegaler Befehl"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
msgstr "Verfolgen/anhalten abfangen (Trace/breakpoint trap)"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr "Abgebrochen (Aborted)"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
msgstr "IOT abfangen (IOT trap)"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
msgstr "EMT abfangen (EMT trap)"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
msgstr "Gleitkommafehler"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
msgstr "Abgebrochen (Killed)"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
msgstr "Bus-Fehler"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
msgstr "Adressierungsdefekt"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
msgstr "Falscher Systemaufruf"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
-msgstr "Zerstörte Pipe"
+msgstr "Zerstörte Pipe"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr "Wecksignal"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
msgstr "Abgebrochen (Terminated)"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
msgstr "Nutzersignal 1"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
msgstr "Nutzersignal 2"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
msgstr "Kindprozess beendet"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
msgstr "Stromausfall"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr "Angehalten"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
msgstr "Angehalten (tty input)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
msgstr "Angehalten (tty output)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
msgstr "Angehalten (signal)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
-msgstr "CPU-Zeitschranke überschritten"
+msgstr "CPU-Zeitschranke überschritten"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
-msgstr "Dateigrößenschranke überschritten"
+msgstr "Dateigrößenschranke überschritten"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
msgstr "Virtueller Timer erloschen"
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
msgstr "Profiling Timer erloschen"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
-msgstr "Fenster hat sich verändert"
+msgstr "Fenster hat sich verändert"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
msgstr "Fortgesetzt"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
msgstr "Dringende I/O-Bedingung"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
-msgstr "I/O möglich"
+msgstr "I/O möglich"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr "Ressource verloren gegangen"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
msgstr "Gefahrensignal"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
msgstr "Informationsanforderung"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
-msgstr "Es ist kein Koprozessor für Fließkommaoperationen vorhanden"
+msgstr "Es ist kein Koprozessor für Fließkommaoperationen vorhanden"
-#: strcache.c:235
+#: strcache.c:236
#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s No strcache buffers\n"
msgstr ""
+"\n"
+"%s Keine Puffer für strcache\n"
-#: strcache.c:237
+#: strcache.c:266
#, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+msgid ""
+"\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
msgstr ""
+"\n"
+"%s Puffer für strcache: %lu (%lu) / Zeichenketten = %lu / Speicher = %lu B / "
+"ø = %lu B\n"
-#: strcache.c:239
+#: strcache.c:270
#, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
+"%s aktueller Puffer: Größe = %hu B / benutzt = %hu B / Anzahl = %hu / ø = "
+"%hu B\n"
-#: strcache.c:241
+#: strcache.c:280
#, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
+msgstr "%s andere verwendete: Summe = %lu B / Anzahl = %lu / /ø = %lu B\n"
+
+#: strcache.c:283
+#, c-format
+msgid ""
+"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
msgstr ""
+"%s andere freie: Summe = %lu B / Max = %lu B / Min = %lu B / ø = %hu B\n"
-#: strcache.c:244
-#, fuzzy
+#: strcache.c:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
+msgstr ""
+"\n"
+"%s Leistung von strcache: Suchen = %lu / Trefferrate = %lu%%\n"
+
+#: strcache.c:289
+msgid ""
+"# hash-table stats:\n"
"# "
-msgstr "# %u Variablen für %u hash-Werte.\n"
+msgstr ""
+"# Statistik für Hashtabelle:\n"
+"# "
+
+#: variable.c:1599
+msgid "automatic"
+msgstr "automatisch"
-#: variable.c:1541
+#: variable.c:1602
msgid "default"
msgstr "Standard"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
msgstr "Umgebung"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
msgstr "Makefile"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
msgstr "Umgebung per -e"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
msgstr "Kommandozeile"
-#: variable.c:1556
-msgid "`override' directive"
-msgstr "»override«-Anweisung"
-
-#: variable.c:1559
-msgid "automatic"
-msgstr "automatisch"
+#: variable.c:1617
+msgid "'override' directive"
+msgstr "„override“-Anweisung"
-#: variable.c:1570
-#, fuzzy, c-format
-msgid " (from `%s', line %lu)"
-msgstr " (aus »%s«, Zeile %lu):\n"
+#: variable.c:1628
+#, c-format
+msgid " (from '%s', line %lu)"
+msgstr " (aus „%s“, Zeile %lu)"
-#: variable.c:1612
-#, fuzzy
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
-msgstr "# %u Variablen für %u hash-Werte.\n"
+msgstr ""
+"# Hashtabellen-Statistik für Variablen:\n"
+"\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -1916,8 +2169,7 @@ msgstr ""
"\n"
"# Variablen\n"
-#: variable.c:1627
-#, fuzzy
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -1925,7 +2177,7 @@ msgstr ""
"\n"
"# Musterspezifische Variablenwerte"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -1933,7 +2185,7 @@ msgstr ""
"\n"
"# Keine musterspezifischen Variablenwerte."
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -1942,92 +2194,97 @@ msgstr ""
"\n"
"# %u musterspezifische Variablenwerte"
-#: variable.h:219
+#: variable.h:224
#, c-format
-msgid "warning: undefined variable `%.*s'"
-msgstr "Warnung: undefinierte Variable »%.*s«"
+msgid "warning: undefined variable '%.*s'"
+msgstr "Warnung: undefinierte Variable „%.*s“"
-#: vmsfunctions.c:92
-#, fuzzy, c-format
+#: vmsfunctions.c:91
+#, c-format
msgid "sys$search() failed with %d\n"
-msgstr "»sys$search« schlug mit %d fehl\n"
+msgstr "„sys$search“ schlug mit %d fehl\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Warnung: Umleitung ins Leere!\n"
-#: vmsjobs.c:184
+#: vmsjobs.c:183
#, c-format
-msgid "internal error: `%s' command_state"
-msgstr "Interner Fehler: »%s« command_state"
+msgid "internal error: '%s' command_state"
+msgstr "Interner Fehler: „%s“ command_state"
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
-msgstr "-Warnung: Vielleicht müssen Sie STRG-Y aus DCL wieder ermöglichen.\n"
+msgstr "-Warnung: Vielleicht müssen Sie STRG-Y aus DCL wieder ermöglichen.\n"
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "BUILTIN [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "BUILTIN RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
-msgstr "Unbekanntes eingebautes Kommando »%s«\n"
+msgstr "Unbekanntes eingebautes Kommando „%s“\n"
-#: vmsjobs.c:493
+#: 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 "Fehler: Leere Anweisung\n"
-#: vmsjobs.c:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Datei %s auf Standardeingabe umgeleitet\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Fehlerausgabe nach %s umgeleitet\n"
-#: vmsjobs.c:523
-#, fuzzy, c-format
+#: vmsjobs.c:690
+#, c-format
msgid "Append output to %s\n"
msgstr "Ausgabe nach %s umgeleitet\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Ausgabe nach %s umgeleitet\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
-msgstr ""
+msgstr "%.*s anhängen und aufräumen\n"
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
-msgstr "%s wird stattdessen ausgeführt\n"
+msgstr "%s wird stattdessen ausgeführt\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
-msgstr "Fehler beim Starten eines Kindprozesses, %d.\n"
+msgstr "Fehler %d beim Starten eines Kindprozesses\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
@@ -2035,44 +2292,65 @@ msgstr ""
"\n"
"# VPATH-Suchpfade\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
-msgstr "# Keine »vpath«-Suchpfade."
+#: vpath.c:600
+msgid "# No 'vpath' search paths."
+msgstr "# Keine „vpath“-Suchpfade."
-#: vpath.c:605
+#: vpath.c:602
#, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
-"# %u »vpath«-Suchpfade.\n"
+"# %u „vpath“-Suchpfade.\n"
-#: vpath.c:608
+#: vpath.c:605
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
-"# Kein allgemeiner Suchpfad (Variable »VPATH«)."
+"# Kein allgemeiner Suchpfad (Variable „VPATH“)."
-#: vpath.c:614
+#: vpath.c:611
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
-"# Allgemeiner Suchpfad (Variable »VPATH«):\n"
+"# Allgemeiner Suchpfad (Variable „VPATH“):\n"
"# "
+#~ 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 "virtual memory exhausted"
+#~ msgstr "Der virtuelle Speicher ist verbraucht"
+
+#~ msgid "write error"
+#~ msgstr "Schreibfehler"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "BUILTIN RM %s\n"
+
+#~ msgid "# Invalid value in `update_status' member!"
+#~ msgstr "# Ungültiger Wert in „update_status“-Eintrag!"
+
+#~ msgid "*** [%s] Error 0x%x (ignored)"
+#~ msgstr "*** [%s] Fehler 0x%x (ignoriert)"
+
#~ msgid "Do not specify -j or --jobs if sh.exe is not available."
#~ msgstr ""
-#~ "Wenn »sh.exe« nicht vorhanden ist, \n"
-#~ "sollten Sie nicht »-j« oder »--jobs« angeben."
+#~ "Wenn „sh.exe“ nicht vorhanden ist, \n"
+#~ "sollten Sie nicht „-j“ oder „--jobs“ angeben."
#~ msgid "Resetting make for single job mode."
-#~ msgstr "»make« wird so umgestellt, dass nur ein Job laufen kann."
+#~ msgstr "„make“ wird so umgestellt, dass nur ein Job laufen kann."
#, fuzzy
#~ msgid ""
@@ -2081,29 +2359,29 @@ msgstr ""
#~ "%sPARTICULAR PURPOSE.\n"
#~ msgstr ""
#~ ", von Richard Stallman und Roland McGrath.\n"
-#~ "%sErstellt für %s\n"
+#~ "%sErstellt für %s\n"
#~ "%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000\n"
#~ "%s\tFree Software Foundation, Inc.\n"
-#~ "%sDies ist Freie Software; siehe die Programmquellen für "
-#~ "Vervielfältigungsbedingungen.\n"
-#~ "%sEs gibt KEINE Gewährleistung; nicht einmal für VERMARKTUNG oder "
-#~ "NUTZBARKEIT FÜR EINEN\n"
+#~ "%sDies ist Freie Software; siehe die Programmquellen für "
+#~ "Vervielfältigungsbedingungen.\n"
+#~ "%sEs gibt KEINE Gewährleistung; nicht einmal für VERMARKTUNG oder "
+#~ "NUTZBARKEIT FÃœR EINEN\n"
#~ "%sBESONDEREN ZWECK.\n"
#~ "\n"
#~ "%sFehlermeldungen (auf Englisch) an <bug-make@gnu.org>.\n"
#~ "\n"
#~ msgid "extraneous `endef'"
-#~ msgstr "Überflüssiges »endef«"
+#~ msgstr "Überflüssiges „endef“"
#~ msgid "empty `override' directive"
-#~ msgstr "Leere »override«-Anweisung"
+#~ msgstr "Leere „override“-Anweisung"
#~ msgid "invalid `override' directive"
-#~ msgstr "Ungültige »override«-Anweisung"
+#~ msgstr "Ungültige „override“-Anweisung"
#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
-#~ msgstr "-Warnung: STRG-Y wird Unterprozesse übriglassen!\n"
+#~ msgstr "-Warnung: STRG-Y wird Unterprozesse übriglassen!\n"
#~ msgid ""
#~ "\n"
@@ -2121,37 +2399,37 @@ msgstr ""
#~ msgstr "Syntaxfehler, immer noch in '\"'\n"
#~ msgid "Got a SIGCHLD; %u unreaped children.\n"
-#~ msgstr "Erhielt Signal »SIGCHLD«; %u unbeendete Kindprozesse.\n"
+#~ msgstr "Erhielt Signal „SIGCHLD“; %u unbeendete Kindprozesse.\n"
#~ msgid "DIRECTORY"
#~ msgstr "VERZEICHNIS"
#~ msgid "Change to DIRECTORY before doing anything"
-#~ msgstr "In das VERZEICHNIS wechseln, bevor etwas anderes ausgeführt wird"
+#~ msgstr "In das VERZEICHNIS wechseln, bevor etwas anderes ausgeführt wird"
#~ msgid "FLAGS"
#~ msgstr "FLAGS"
#~ msgid "Suspend process to allow a debugger to attach"
-#~ msgstr "Prozess aussetzeb, um das Einklinken eines Debuggers zu ermöglichen"
+#~ msgstr "Prozess aussetzeb, um das Einklinken eines Debuggers zu ermöglichen"
#~ msgid "Environment variables override makefiles"
-#~ msgstr "Umgebungsvariablen überschreiben »make«-Steuerdateien"
+#~ msgstr "Umgebungsvariablen überschreiben „make“-Steuerdateien"
#~ msgid "FILE"
#~ msgstr "DATEI"
#~ msgid "Read FILE as a makefile"
-#~ msgstr "DATEI als »make«-Steuerdatei lesen"
+#~ msgstr "DATEI als „make“-Steuerdatei lesen"
#~ msgid "Search DIRECTORY for included makefiles"
-#~ msgstr "Das VERZEICHNIS nach eingebundenen »make«-Steuerdateien durchsuchen"
+#~ msgstr "Das VERZEICHNIS nach eingebundenen „make“-Steuerdateien durchsuchen"
#~ msgid "Don't start multiple jobs unless load is below N"
#~ msgstr "Nur bei Belastung unterhalb N mehrere Prozesse starten"
#~ msgid "Don't actually run any commands; just print them"
-#~ msgstr "Befehle nur anzeigen, nicht ausführen"
+#~ msgstr "Befehle nur anzeigen, nicht ausführen"
#~ msgid "Consider FILE to be very old and don't remake it"
#~ msgstr "DATEI als sehr alt betrachten und sie nicht neu erzeugen"
@@ -2174,10 +2452,10 @@ msgstr ""
#~ msgstr "Verlassen des Verzeichnisses"
#~ msgid "no file name for `%sinclude'"
-#~ msgstr "Kein Dateiname für »%sinclude«"
+#~ msgstr "Kein Dateiname für „%sinclude“"
#~ msgid "target `%s' leaves prerequisite pattern empty"
-#~ msgstr "Target »%s« lässt Voraussetzungs-Muster leer"
+#~ msgstr "Target „%s“ lässt Voraussetzungs-Muster leer"
#~ msgid "# No variables."
#~ msgstr "# Keine Variablen vorhanden."
@@ -2189,4 +2467,4 @@ msgstr ""
#~ msgstr "# Durchschnittlich %d.%d Variablen pro Wert, max %u je Wert.\n"
#~ msgid "the `word' function takes a positive index argument"
-#~ msgstr "Die »word«-Funktion erwartet als Argument einen positiven Index"
+#~ msgstr "Die „word“-Funktion erwartet als Argument einen positiven Index"
diff --git a/po/es.gmo b/po/es.gmo
index 5afbd6ef..b671030a 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index b8dcf082..904e1d3d 100644
--- a/po/es.po
+++ b/po/es.po
@@ -1,141 +1,148 @@
-# Mensajes en español para GNU make.
-# Copyright (C) 1996, 2001 Free Software Foundation, Inc.
-# Max de Mendizábal <max@upn.mx>, 1996, 2001.
+# Mensajes en español para GNU make.
+# 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 <max.de.mendizabal@gmail.com>, 1996, 2011.
+# Antonio Ceballos <aceballos@gmail.com>, 2013
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU make 3.81-b3\n"
+"Project-Id-Version: GNU make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-0400\n"
-"PO-Revision-Date: 2005-06-28 19:59-0500\n"
-"Last-Translator: Max de Mendizábal <max@upn.mx>\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 <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@li.org>\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
-#: ar.c:48
+#: ar.c:46
#, c-format
-msgid "attempt to use unsupported feature: `%s'"
-msgstr "Se intentó utilizar una característica no implementada: `%s'"
+msgid "attempt to use unsupported feature: '%s'"
+msgstr "Se intentó utilizar una característica no implementada: '%s'"
# Sugerencia: touch -> `touch'. sv
# Ok, aceptada. A falta de cursivas... mm
-# No veo porqué no se ha de usar 'tocar' en vez de touch em+
-# El mensaje además hace referencia a un touch de un objeto dentro
-# de una librería, y de eso no se dice nada en el mensaje. Creo que
+# No veo porqué no se ha de usar 'tocar' en vez de touch em+
+# El mensaje además hace referencia a un touch de un objeto dentro
+# de una librería, y de eso no se dice nada en el mensaje. Creo que
# hay que tener cuidado con estas cosas.
# El programa para tocar un miembro de un archivo ... , y ahi estamos
# ya en problemas con el dichoso archivo/fichero.
# A ver que se os ocurre em+
# Enrique: touch es un programa del sistema operativo y sirve para
# cambiar la fecha de un programa o archivo. Es decir lo "toca" y
-# modifica sus atributos. Por eso preferí no traducirlo.
-#: ar.c:125
+# modifica sus atributos. Por eso preferí no traducirlo.
+#: ar.c:123
msgid "touch archive member is not available on VMS"
-msgstr "El programa para hacer un `touch' no está disponible en VMS"
+msgstr "El programa para hacer un 'touch' no está disponible en VMS"
-#: ar.c:149
+#: ar.c:147
#, c-format
-msgid "touch: Archive `%s' does not exist"
-msgstr "touch: El archivo `%s' no existe"
+msgid "touch: Archive '%s' does not exist"
+msgstr "touch: El archivo '%s' no existe"
-#: ar.c:152
+#: ar.c:150
#, c-format
-msgid "touch: `%s' is not a valid archive"
-msgstr "touch: `%s' no es un archivo válido"
+msgid "touch: '%s' is not a valid archive"
+msgstr "touch: '%s' no es un archivo válido"
-#: ar.c:159
+#: ar.c:157
#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
-msgstr "touch: El miembro `%s' no existe en `%s'"
+msgid "touch: Member '%s' does not exist in '%s'"
+msgstr "touch: El miembro '%s' no existe en '%s'"
-#: ar.c:166
+#: ar.c:164
#, c-format
-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'"
+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:69
-#, fuzzy, c-format
+#: 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"
+"fallo en lbr$set_module() para extraer la información del módulo, estado = %d"
-#: arscan.c:175
-#, fuzzy, c-format
+#: arscan.c:230
+#, c-format
msgid "lbr$ini_control() failed with status = %d"
-msgstr "fallo en lbr$ini_control con estado = %d"
+msgstr "fallo en lbr$ini_control() con estado = %d"
-#: arscan.c:187
-#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
-msgstr "Error al abrir la biblioteca `%s' para buscar al elemento `%s'"
+#: 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 al elemento '%s'"
-#: arscan.c:850
+#: 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"
+msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
+msgstr "Miembro '%s'%s: %ld bytes en %ld (%ld).\n"
-#: arscan.c:851
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (el nombre puede estar truncado)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Fecha %s"
-#: arscan.c:854
+#: 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:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr "Las instrucciones tienen demasiadas líneas (%ud)"
+
+#: commands.c:505
msgid "*** Break.\n"
-msgstr "*** Break.\n"
+msgstr "*** Interrumpir.\n"
-#: commands.c:622
+#: commands.c:629
#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
+msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr ""
-"*** [%s] Miembro de archivo `%s' podría estar incorrecto; aunque no se "
+"*** [%s] El miembro de archivo '%s' podría estar incorrecto; aunque no se "
"elimina"
-#: commands.c:625
+#: commands.c:633
#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
+msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr ""
-"*** Miembro del archivo `%s' podría estar incorrecto; aunque no se elimina"
+"*** El miembro del archivo '%s' podría estar incorrecto; aunque no se elimina"
# Propongo un cambio en el tiempo verbal: Se borra el archivo temporal. sv
# Ok. mm
-#: commands.c:638
+#: commands.c:647
#, c-format
-msgid "*** [%s] Deleting file `%s'"
-msgstr "*** [%s] Se borra el archivo `%s'"
+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:640
+#: commands.c:649
#, c-format
-msgid "*** Deleting file `%s'"
-msgstr "*** Se borra el archivo `%s'"
+msgid "*** Deleting file '%s'"
+msgstr "*** Se borra el archivo '%s'"
-#: commands.c:676
-#, fuzzy
+#: commands.c:685
msgid "# recipe to execute"
-msgstr "# comandos para ejecutar"
+msgstr "# las instrucciones para ejecutar"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
-msgstr " (interconstruido):"
+msgstr " (integrado):"
-#: commands.c:681
+#: commands.c:690
#, c-format
-msgid " (from `%s', line %lu):\n"
-msgstr " (de `%s', linea %lu):\n"
+msgid " (from '%s', line %lu):\n"
+msgstr " (de '%s', linea %lu):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -143,312 +150,304 @@ msgstr ""
"\n"
"# Directorios\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
-msgstr "# %s: podría no estar establecido.\n"
+msgstr "# %s: podría no estar establecido.\n"
-# ¿No sobraría el "posiblemente"?
+# ¿No sobraría el "posiblemente"?
# Propongo dejarlo en " no se pudo abrir ". sv
# Ok. Es consistente con otras traducciones. mm
-#: dir.c:1012
+#: 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
+# En el K & R aparece inode traducido como nodo-i. ¿qué te parece? sv
# Bien. Me gusta con el guioncito. mm
-#: dir.c:1016
+#: dir.c:1009
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n"
msgstr ""
"# %s (dispositivo %d, nodo-i [%d,%d,%d]): posiblemente no se pueda abrir.\n"
-# ¿No sobraría el "posiblemente"?
+# ¿No sobraría el "posiblemente"?
# Propongo dejarlo en " no se pudo abrir ". sv
# Ok. Es consistente con otras traducciones. mm
-#: dir.c:1021
+#: 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:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
msgstr "# %s (llave %s, mtime %d): "
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
msgstr "# %s (dispositivo %d, nodo-i [%d,%d,%d]): "
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
msgstr "# %s (dispositivo %ld, nodo-i %ld): "
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "No"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr " archivos, "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "no"
-#: dir.c:1071
+#: 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:1075
+# ¿"So far" no era "hasta ahora"? (no me hagas mucho caso) sv
+# Si tu traducción es mejor. Aceptada. mm
+#: dir.c:1068
msgid " so far."
msgstr " hasta ahora."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
msgstr " imposibilidades en %lu directorios.\n"
-# Creo que eventually sería "finalmente" o algo así. sv
+# Creo que eventually sería "finalmente" o algo así. sv
# Si, es finalmente no a veces. Ok. mm
# referencia me parece que no lleva tilde. sv
-# No, no lleva acento. Me emocioné con elos. mm
+# No, no lleva acento. Me emocioné con elos. mm
# Creeis de veras que tiene sentido 'finalmente'em+
-# yo pondría ser termina autoreferenciando, por
+# yo pondría ser termina autoreferenciando, por
# ejemplo em+
# Mejor lo eliminamos. Es de alguna forma reiterativo e innecesario.
-# Lo de `al final' puede ser más confuso. mm
-#: expand.c:127
+# Lo de `al final' puede ser más confuso. mm
+#: expand.c:125
#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
-msgstr "La variable recursiva `%s' se auto-referencia"
+msgid "Recursive variable '%s' references itself (eventually)"
+msgstr "La variable recursiva '%s' se auto-referencia"
# 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:276
+# ¿ 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:269
msgid "unterminated variable reference"
-msgstr "la referencia a la variable está sin terminar"
+msgstr "la referencia a la variable está sin terminar"
-#: file.c:267
-#, fuzzy, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
-msgstr "Las instrucciones fueron especificadas para el archivo `%s' en %s:%lu,"
+#: 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:272
-#, fuzzy, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
+# Buscando en las legras implícitas em+
+# Utilicé por búsqueda en para evitar el gerundio. mm
+#: file.c:276
+#, c-format
+msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr ""
-"Las instrucciones para el archivo `%s' se encontraron por búsqueda en reglas "
-"implícitas,"
+"Las instrucciones para el archivo '%s' se encontraron por búsqueda en reglas "
+"implícitas,"
-# "now" es "ahora". ¿te lo has comido consciente o inconscientemente? sv
+# "now" es "ahora". ¿te lo has comido consciente o inconscientemente? sv
# inconscientemente. mm
-#: file.c:275
+#: 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'."
+msgid "but '%s' is now considered the same file as '%s'."
+msgstr "pero '%s' se considera ahora como el mismo archivo que `%s'."
-# Lo repetiré una y mil veces... :-)
+# Lo repetiré una y mil veces... :-)
# "To ignore" *no* es ignorar. sv
-# Propongo "no serán tenidas en cuenta" a falta de algo mejor.
+# Propongo "no serán tenidas en cuenta" a falta de algo mejor.
# Ok. Mi necedad sobrepasa el milenio. mm
-#: file.c:278
-#, fuzzy, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
+#: file.c:283
+#, c-format
+msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr ""
-"Las instrucciones para `%s' no serán tenidas en cuenta en favor de las que "
-"están en `%s'."
+"Las instrucciones para '%s' no serán tenidas en cuenta en favor de las que "
+"están en '%s'."
-# Me suena que eso de colon es algo así como punto, dos puntos o punto y coma.
-# ¿Podrías comprobarlo? sv
+# 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:298
+#: 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'"
+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:303
+#: 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'"
+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:392
+#: file.c:401
#, c-format
-msgid "*** Deleting intermediate file `%s'"
-msgstr "*** Se borra el archivo temporal `%s'"
+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:396
+#: file.c:405
msgid "Removing intermediate files...\n"
-msgstr "*** Se borran los archivos temporales...\n"
+msgstr "*** Se borran los archivos intermedios...\n"
-#: file.c:803
-#, c-format
-msgid "%s: Timestamp out of range; substituting %s"
-msgstr "%s: Fecha fuera de intervalo; sustituyéndola %s"
-
-#: file.c:804
+#: file.c:811
msgid "Current time"
msgstr "Hora actual"
-#: file.c:924
+#: file.c:815
+#, c-format
+msgid "%s: Timestamp out of range; substituting %s"
+msgstr "%s: Fecha fuera de intervalo; sustituyéndola %s"
+
+#: 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:929
+# Pondría: es una dependencia de em+
+# Si, tienes razón. mm
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Archivo valioso (es una dependencia de .PRECIOUS)."
# Lo mismo. Y traducir por falso es poco menos que poco exacto.
# Los phony target de make son aquellos que se ejecutan siempre
# sin tener en cuenta si existe un archivo con el nombre del objetivo
-# y de si es actual. Propondría incondicional en vez de falso, ya que
-# explica exactamente qué es un phony target em+
-# 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:931
+# y de si es actual. Propondría incondicional en vez de falso, ya que
+# explica exactamente qué es un phony target em+
+# 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:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# objetivo falso (dependencia de .PHONY)."
# FUZZY
-# Pondria línea de comandos
-# Y creo que no sé exactamente a que se refiere, No creo que haya visto
+# Pondria línea de comandos
+# Y creo que no sé exactamente a que se refiere, No creo que haya visto
# este mensaje nunca en make lo marco con FUZZY em+
-# Están traduciendo commands como comandos? Son más bien ordenes o
-# instrucciones. Por mi parte no hay problema, incluso me gusta más
+# 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:933
-#, fuzzy
+#: file.c:964
msgid "# Command line target."
-msgstr "# Objetivo de línea de instrucciones."
+msgstr "# Objetivo en línea de instrucciones."
-# Habría que entender esto
+# Habría que entender esto
# Creo que esto es lo que significa. El fuente no es demasiado claro. mm
# Se refiere a que el fichero makefile es uno que encuentra por
# defecto ( en este orden GNUmakefile, Makefile y makefile ) o uno
-# que está definido en la variable de entorno MAKEFILE em+
-# Así pues tu traducción es completamente equivocada, lo siento.
-# Pondría: Fichero por defecto o definido en la variable MAKEFILE em+
+# que está definido en la variable de entorno MAKEFILE em+
+# 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:935
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
-msgstr "# Por omisión, MAKEFILES, o -include/sinclude makefile."
+msgstr "# Por omisión, MAKEFILES, o -include/sinclude makefile."
+
+#: file.c:968
+msgid "# Builtin rule"
+msgstr "# Regla incorporada"
# Propongo efectuada en lugar de terminada. sv
-# 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:937
+# 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:970
msgid "# Implicit rule search has been done."
-msgstr "# La búsqueda de reglas implícitas ha sido efectuada."
+msgstr "# La búsqueda de reglas implícitas ha sido efectuada."
# Propongo efectuada en lugar de terminada. sv
-# 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:938
+# 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:971
msgid "# Implicit rule search has not been done."
-msgstr "# La búsqueda de reglas implícitas ha sido efectuada."
+msgstr "# La búsqueda de reglas implícitas ha sido efectuada."
-#: file.c:940
+#: file.c:973
#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
-msgstr "# rama del patrón implícita/estática: `%s'\n"
+msgid "# Implicit/static pattern stem: '%s'\n"
+msgstr "# Tema del patrón implícita/estática: '%s'\n"
-#: file.c:942
+#: 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:946
+#: file.c:979
msgid "# Also makes:"
-msgstr "# También hace:"
+msgstr "# También hace:"
-# ¿y "comprobó"? sv
+# ¿y "comprobó"? sv
# 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:952
+# No pondría nunca, sino simplemente 'no se comprobó 'em+
+# Si, es lo mismo pero es más español. mm
+#: file.c:985
msgid "# Modification time never checked."
-msgstr "# La fecha de modificación no se comprobó."
+msgstr "# La fecha de modificación no se comprobó."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
msgstr "# El archivo no existe."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
msgstr "# El archivo es muy viejo."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
-msgstr "# Última modificación %s\n"
+msgstr "# Última modificación %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
msgstr "# El archivo ha sido actualizado."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
msgstr "# El archivo ha sido actualizado."
-#: file.c:968
-#, fuzzy
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
-msgstr "# Las instrucciones siguen ejecutándose (ESTO ES UN 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
+# ¿No sería más bien "las instrucciones de las dependencias"? sv
# Si, que babas soy. Ahora corrijo. mm
-#: file.c:971
-#, fuzzy
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr ""
-"# Las instrucciones de las dependencias siguen ejecutándose (ESTO ES UN "
+"# Las instrucciones de las dependencias continúan en ejecución (ESTO ES UN "
"BUG)."
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
-msgstr "# Actualizado con éxito."
+msgstr "# Actualizado con éxito."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
-msgstr "# Necesita ser actualizado (la opción -q está activa)."
+msgstr "# Necesita ser actualizado (la opción -q está activa)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Fallo al ser actualizado."
-# ## Le he añadido un "¡" con tu permiso.
-# Gracias. No lo puse porque no se como poner ese símbolo con el
-# iso-accents-mode y luego se me olvidó. Por cierto, como se hace?
-# también tengo duda de la interrogación abierta.
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# ¡Valor inválido en el miembro `update_status'!"
-
-# ## Lo mismo.
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
-msgstr "# ¡Valor inválido en el miembro `command_state'!"
+#: file.c:1025
+msgid "# Invalid value in 'command_state' member!"
+msgstr "# ¡Valor inválido en el miembro 'command_state'!"
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -456,137 +455,200 @@ msgstr ""
"\n"
"# Archivos"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
"\n"
-"# estadísticas de la tabla de hash de los archivos:\n"
+"# estadísticas de la tabla «hash» de los archivos:\n"
"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
-msgstr "el primer argumento de la función `word' no es numérico"
-
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
-msgstr "el primer argumento de la función `word' debe ser mayor a 0"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr "%s: El campo '%s' no está en «cache»: %s"
-#: function.c:783
-msgid "non-numeric first argument to `wordlist' function"
-msgstr "el primer argumento de la función `wordlist' no es numérico"
+#: 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:785
-msgid "non-numeric second argument to `wordlist' function"
-msgstr "el primer argumento de la función `wordlist' no es numérico"
+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:1458
-#, fuzzy, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
-msgstr "create_child_process: fallo en DuplicateHandle(In), (e=%d)\n"
+#: 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:1469
-#, fuzzy, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr "create_child_process: fallo en DuplicateHandle(Err), (e=%d)\n"
+#: 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:1474
-#, fuzzy, c-format
+#: 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:1523
+#, c-format
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
+msgstr "windows32_openpipe: fallo en DuplicateHandle(Err), (e=%ld)\n"
+
+#: function.c:1530
+#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
-msgstr "Fallo en CreatePipe(), (e=%d)\n"
+msgstr "Fallo en CreatePipe(), (e=%ld)\n"
-#: function.c:1479
-#, fuzzy
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
-msgstr "windows32_openpipe (): fallo en process_init_fd()\n"
+msgstr "windows32_openpipe(): fallo en process_init_fd()\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Limpiando el archivo temporal %s\n"
-#: function.c:2150
+#: function.c:2193
+#, c-format
+msgid "open: %s: %s"
+msgstr "abrir: %s: %s"
+
+# 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:2203
+#, c-format
+msgid "write: %s: %s"
+msgstr "escribir: %s: %s"
+
+#: function.c:2209
+#, c-format
+msgid "Invalid file operation: %s"
+msgstr "Operación de archivo no válida: %s"
+
+#: 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:2336
+#, c-format
+msgid "unimplemented on this platform: function '%s'"
+msgstr "No implementado en esta plataforma: función '%s'"
+
+#: 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:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "Nombre de función vacío\n"
+
+#: function.c:2593
#, fuzzy, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
-msgstr "Número de argumentos (%d) insuficientes para la función `%s'"
+msgid "Invalid function name: %s"
+msgstr "Nombre de función no válido: %s\n"
-#: function.c:2162
+#: function.c:2595
#, fuzzy, c-format
-msgid "unimplemented on this platform: function `%s'"
-msgstr "No implementado en esta plataforma: función `%s'"
+msgid "Function name too long: %s"
+msgstr "Nombre de función demasiado largo: %s\n"
-#: function.c:2212
-#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
-msgstr "la llamada a la función `%s' no concluyó: falta `%c'"
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr "Número insuficiente de argumentos (%d) para la función %s\n"
+
+#: function.c:2601
+#, fuzzy, c-format
+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:661
+#: getopt.c:659
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: la opción `%s' es ambigua\n"
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: la opción '%s' es ambigua\n"
-# No admite ningún argumento. sv
+# No admite ningún argumento. sv
# Ok. Y vuelve la burra al trigo. mm
-#: getopt.c:685
+#: getopt.c:683
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: la opción `--%s' no admite ningún argumento\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: la opción '--%s' no admite ningún argumento\n"
# Lo mismo. sv
# Ok. mm
-#: getopt.c:690
+#: getopt.c:688
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: la opción `%c%s' no admite ningún argumento\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: la opción '%c%s' no admite ningún argumento\n"
-#: getopt.c:707 getopt.c:880
+#: getopt.c:705 getopt.c:878
#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: la opción `%s' requiere un argumento\n"
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s: la opción '%s' requiere un argumento\n"
-#: getopt.c:736
+#: getopt.c:734
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: opción no reconocida `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: opción no reconocida '--%s'\n"
-#: getopt.c:740
+#: getopt.c:738
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: opción no reconocida `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: opción no reconocida '%c%s'\n"
-#: getopt.c:766
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
-msgstr "%s: opción inválida -- %c\n"
+msgstr "%s: opción inválida -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
-msgstr "%s: opción inválida -- %c\n"
+msgstr "%s: opción inválida -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: la opción requiere un argumento -- %c\n"
+msgstr "%s: la opción requiere un argumento -- %c\n"
-#: getopt.c:846
+#: getopt.c:844
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: la opción `-W %s' es ambigua\n"
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: la opción '-W %s' es ambigua\n"
-# No admite ningún argumento. sv
+# No admite ningún argumento. sv
# Ok. Y vuelve la burra al trigo. mm
-#: getopt.c:864
+#: getopt.c:862
+#, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s: la opción '-W %s' no admite ningún argumento\n"
+
+#: guile.c:58
+#, c-format
+msgid "guile: Expanding '%s'\n"
+msgstr "guile: Expandiendo '%s'\n"
+
+#: guile.c:74
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: la opción `-W %s' no admite ningún argumento\n"
+msgid "guile: Evaluating '%s'\n"
+msgstr "guile: Evaluando '%s'\n"
#: hash.c:49
-#, fuzzy, c-format
+#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
-msgstr "no se pueden reservar %ld bytes para la tabla de hash: memoria agotada"
+msgstr "no se pueden reservar %lu bytes para la tabla «hash»: memoria agotada"
#: hash.c:280
#, c-format
@@ -603,203 +665,232 @@ msgstr "Rehash=%d, "
msgid "Collisions=%ld/%ld=%.0f%%"
msgstr "Colisiones=%ld/%ld=%.0f%%"
-# Y no sería mejor "Buscando una regla implícita ..."
-# Ten en cuenta que este mensaje no parece un mensaje de error, sino más
+# Y no sería mejor "Buscando una regla implícita ..."
+# Ten en cuenta que este mensaje no parece un mensaje de error, sino más
# de "debug" o de "verbose". sv
# Cierto. mm
-#: implicit.c:40
+#: implicit.c:38
#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
-msgstr "Buscando una regla implícita para `%s'.\n"
+msgid "Looking for an implicit rule for '%s'.\n"
+msgstr "Buscando una regla implícita para '%s'.\n"
# Lo mismo.
-# Buscando una regla implítita para el miembro del archivo `%s' em+
-# Se me resbaló. mm
-#: implicit.c:56
+# Buscando una regla implítita para el miembro del archivo `%s' em+
+# Se me resbaló. mm
+#: implicit.c:54
#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
-msgstr "Buscando una regla implícita para el miembro del archivo `%s'.\n"
+msgid "Looking for archive-member implicit rule for '%s'.\n"
+msgstr "Buscando una regla implícita para el miembro del archivo '%s'.\n"
-# Pues si ilegal le suena a cárcel a Enrique, "evade" me suena a mí a
-# escaparse de la cárcel... (fuga de alcatraz :-)
-# te voy a dar yo a tí fuga ... em+
-# ¿Qué te parecería "se evita"? sv
+# Pues si ilegal le suena a cárcel a Enrique, "evade" me suena a mí a
+# escaparse de la cárcel... (fuga de alcatraz :-)
+# te voy a dar yo a tí fuga ... em+
+# ¿Qué te parecería "se evita"? sv
# 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:317
+# No me gusta se evita, pondría evitando em+
+# Ok. Pero a mi paranoia de evitar gerundios dónde la dejas? mm
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
-msgstr "Evitando la recursión en la regla implícita.\n"
+msgstr "Evitando la recursión en la regla implícita.\n"
+
+#: implicit.c:486
+#, c-format
+msgid "Stem too long: '%.*s'.\n"
+msgstr "Tema demasiado largo: '%.*s'.\n"
# FUZZY
# Esto me suena fatal. Se a que se refiere, porque lo
-# he visto, pero en cristiano no se si podría entenderlo.
-# se refiere a las reglas del tipo % , lo pongo FUZZY , tendré
+# he visto, pero en cristiano no se si podría entenderlo.
+# se refiere a las reglas del tipo % , lo pongo FUZZY , tendré
# que pensar un poco en ello em+
# De momento cambio la regla patron por una regla de patron , y
-# pondría a toda costa gerundio ( intentando ) em+
-# Ok con el gerundio. Pero también tengo que meditarlo. mm
+# pondría a toda costa gerundio ( intentando ) em+
+# Ok con el gerundio. Pero también tengo que meditarlo. mm
#: implicit.c:491
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
-msgstr "Intentando una regla de patrón con la ramificación `%.*s'.\n"
+msgid "Trying pattern rule with stem '%.*s'.\n"
+msgstr "Intentando una regla de patrón con el tema '%.*s'.\n"
# ## Corrijo la palabra "dependencia". sv
-# Cuando aparezca este mensaje tendrá poco menos que sentido
+# Cuando aparezca este mensaje tendrá poco menos que sentido
# testimonial. Date cuenta que los argumentos estan cambiados.
-# Pon el orden correcto, siempre será más lógico que lo que vaya a
-# aparecer tal y como está ahora (Se rechaza la dependencia imposible
+# Pon el orden correcto, siempre será más lógico que lo que vaya a
+# aparecer tal y como está ahora (Se rechaza la dependencia imposible
# `%s' `%s )'em+
# Ok. mm
-#: implicit.c:674
+#: implicit.c:697
#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
-msgstr "Se rechaza la regla de dependencia imposible `%s'.\n"
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
+msgstr "Se rechaza la regla de dependencia imposible '%s'.\n"
# ## Corrijo la palabra "dependencia". sv
-# Cuando aparezca este mensaje tendrá poco menos que sentido
+# Cuando aparezca este mensaje tendrá poco menos que sentido
# testimonial. Date cuenta que los argumentos estan cambiados.
-# Pon el orden correcto, siempre será más lógico que lo que vaya a
-# aparecer tal y como está ahora (Se rechaza la dependencia imposible
+# Pon el orden correcto, siempre será más lógico que lo que vaya a
+# aparecer tal y como está ahora (Se rechaza la dependencia imposible
# `%s' `%s )'em+
# Ok. mm
-#: implicit.c:675
+#: implicit.c:698
#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
-msgstr "Se rechaza la dependencia imposible `%s'.\n"
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
+msgstr "Se rechaza la dependencia implícita imposible '%s'.\n"
# FUZZY
# Esto me suena fatal. Se a que se refiere, porque lo
-# he visto, pero en cristiano no se si podría entenderlo.
-# se refiere a las reglas del tipo % , lo pongo FUZZY , tendré
+# he visto, pero en cristiano no se si podría entenderlo.
+# se refiere a las reglas del tipo % , lo pongo FUZZY , tendré
# que pensar un poco en ello em+
# De momento cambio la regla patron por una regla de patron , y
-# pondría a toda costa gerundio ( intentando ) em+
-# Ok con el gerundio. Pero también tengo que meditarlo. mm
-#: implicit.c:688
+# pondría a toda costa gerundio ( intentando ) em+
+# Ok con el gerundio. Pero también tengo que meditarlo. mm
+#: implicit.c:711
#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
-msgstr "Intentando la regla de dependencia `%s'.\n"
+msgid "Trying rule prerequisite '%s'.\n"
+msgstr "Intentando la regla de dependencia '%s'.\n"
-# Pues si ilegal le suena a cárcel a Enrique, "evade" me suena a mí a
-# escaparse de la cárcel... (fuga de alcatraz :-)
-# te voy a dar yo a tí fuga ... em+
-# ¿Qué te parecería "se evita"? sv
+# Pues si ilegal le suena a cárcel a Enrique, "evade" me suena a mí a
+# escaparse de la cárcel... (fuga de alcatraz :-)
+# te voy a dar yo a tí fuga ... em+
+# ¿Qué te parecería "se evita"? sv
# 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:689
+# No me gusta se evita, pondría evitando em+
+# Ok. Pero a mi paranoia de evitar gerundios dónde la dejas? mm
+#: implicit.c:712
#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
-msgstr "Probando la dependencia implícita `%s'.\n"
+msgid "Trying implicit prerequisite '%s'.\n"
+msgstr "Probando la dependencia implícita '%s'.\n"
-#: implicit.c:728
+#: implicit.c:751
#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
-msgstr "Se encontró la dependencia `%s' como la VPATH `%s'.\n"
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
+msgstr "Se encontró la dependencia '%s' como la VPATH '%s'.\n"
-#: implicit.c:742
+#: implicit.c:765
#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
-msgstr "Se busca una regla con el archivo intermedio `%s'.\n"
+msgid "Looking for a rule with intermediate file '%s'.\n"
+msgstr "Se busca una regla con el archivo intermedio '%s'.\n"
-#: job.c:335
+#: job.c:361
msgid "Cannot create a temporary file\n"
msgstr "No se puede crear un archivo temporal\n"
-# Lo mismo. sv
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] Error 0x%x (no tiene efecto)"
+# Sugerencia: " (volcado de `core')". sv
+# 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: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:488
+msgid " (ignored)"
+msgstr " (no tiene efecto)"
-#: job.c:450
+#: job.c:492 job.c:2046
+msgid "<builtin>"
+msgstr "<integrado>"
+
+# 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] Error 0x%x"
-msgstr "*** [%s] Error 0x%x"
+msgid "%s: recipe for target '%s' failed"
+msgstr "%s: fallo en las instrucciones para el objetivo '%s'"
-# Lo mismo. sv
-#: job.c:454
+#: job.c:516 job.c:524
#, c-format
-msgid "[%s] Error %d (ignored)"
-msgstr "[%s] Error %d (no tiene efecto)"
+msgid "%s[%s] Error %d%s"
+msgstr "%s[%s] Error %d%s"
-#: job.c:455
+#: job.c:519
#, c-format
-msgid "*** [%s] Error %d"
-msgstr "*** [%s] Error %d"
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Error 0x%x%s"
-# Sugerencia: " (volcado de `core')". sv
-# 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:460
-msgid " (core dumped)"
-msgstr " (core dumped) [Núcleo vaciado a un archivo]"
+#: job.c:529
+#, c-format
+msgid "%s[%s] %s%s%s"
+msgstr "%s[%s] %s%s%s"
-# ¿Y job -> trabajos? sv
+# ¿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:549
+# Por eso elegí tareas. Lo platicamos con más calma? mm
+#: 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
+# ¿De verdad se dice "vivo"? Si es un proceso, se me ocurre "activo". sv
# Me gusta lo de activo. mm
-#: job.c:579
-#, fuzzy, c-format
+#: job.c:651
+#, c-format
msgid "Live child %p (%s) PID %s %s\n"
-msgstr "Hijo activo 0x%08lx (%s) PID %ld %s\n"
+msgstr "Hijo activo %p (%s) PID %s %s\n"
-#: job.c:581 job.c:760 job.c:862 job.c:1527
+#: 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:758
-#, fuzzy, c-format
+# entre paréntesis em+
+#: job.c:841
+#, c-format
msgid "Reaping losing child %p PID %s %s\n"
-msgstr "Se pierde al proceso hijo descarriado 0x%08lx PID %ld %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:759
-#, fuzzy, c-format
+# entre paréntesis em+
+#: job.c:842
+#, c-format
msgid "Reaping winning child %p PID %s %s\n"
-msgstr "Se gana al proceso hijo descarriado 0x%08lx PID %ld %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:763
+# Si, metí la pata. mm
+#: 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: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:861
-#, fuzzy, c-format
+#: job.c:961
+#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
-msgstr "Se elimina al proceso hijo 0x%08lx PID %ld%s de la cadena.\n"
+msgstr "Se elimina al proceso hijo %p PID %s%s de la cadena.\n"
-#: job.c:920
-msgid "write jobserver"
-msgstr "escribir en el servidor de tareas"
+#: 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:922
-#, fuzzy, c-format
+# entre paréntesis em+
+#: 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 0x%08lx (%s).\n"
+msgstr "Se libera el token para el proceso hijo %p (%s).\n"
-#: job.c:1453 job.c:2094
-#, fuzzy, c-format
+#: 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() al lanzar el proceso (e=%d)\n"
+msgstr "fallo en process_easy() para lanzar al proceso (e=%ld)\n"
-#: job.c:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -810,121 +901,178 @@ msgstr ""
# Proceso hijo em+
# Ok.
-#: job.c:1525
-#, fuzzy, c-format
+#: job.c:1735
+#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
-msgstr "Se pone al proceso hijo 0x%08lx (%s) PID %ld%s en la cadena.\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:1778
-#, fuzzy, c-format
+# entre paréntesis em+
+#: job.c:2019
+#, c-format
msgid "Obtained token for child %p (%s).\n"
-msgstr "Se obtiene el token para el proceso hijo 0x%08lx (%s).\n"
+msgstr "Se obtiene el token para el proceso hijo %p (%s).\n"
-#: job.c:1787
+#: job.c:2029
msgid "read jobs pipe"
-msgstr "tubería de trabajos leídos"
+msgstr "tubería de trabajos leídos"
-#: job.c:1798
+#: job.c:2056
#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr ""
+msgid "%s: target '%s' does not exist"
+msgstr "%s: el objetivo '%s' no existe"
-#: job.c:1802
-#, fuzzy, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "No es necesario reconstruir el objetivo `%s'."
+#: 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:1910
+#: 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"
+msgstr "no se pueden forzar los límites de carga en este sistema operativo"
-#: job.c:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
-msgstr "no se puede forzar la carga límite: "
+msgstr "no se puede forzar la carga límite: "
-#: job.c:1985
+#: 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"
+msgstr "no hay más manejadores de archivos: no se puede duplicar stdin\n"
-#: job.c:1987
+#: 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"
+msgstr "no hay más manejadores de archivos: no se puede duplicar stdout\n"
+
+#: 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:2015
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "No se puede restaurar stdin\n"
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "No se puede restaurar stdout\n"
-#: job.c:2127
-#, fuzzy, c-format
+#: job.c:2309
+msgid "Could not restore stderr\n"
+msgstr "No se puede restaurar stderr\n"
+
+#: job.c:2420
+#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
-msgstr "hacer un hijo descarriado %d, aún esperando el pid %d\n"
+msgstr "hacer un hijo descarriado %s, aún se espera por el pid %s\n"
-#: job.c:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
-msgstr "%s: No se encontró el programa"
+msgstr "%s: No se encontró el programa"
-# ¿Y "el programa Shell"? (a secas) sv
+# ¿Y "el programa Shell"? (a secas) sv
# Si. Suena mucho mejor. mm
# Suena, pero no es mejor. Tal y como esta escrito, incluso
# 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:2228
+# Es bueno contar con una segunda opinión ... mm
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: No se ha encontrado el `shell'"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
-msgstr "spawnvpe: el espacio ambiental podría estar agotado"
+msgstr "spawnvpe: el espacio ambiental podría estar agotado"
-#: job.c:2461
+#: job.c:2765
#, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
-msgstr "$SHELL ha cambiado (era `%s' y ahora es `%s')\n"
+msgid "$SHELL changed (was '%s', now '%s')\n"
+msgstr "$SHELL ha cambiado (era '%s' y ahora es '%s')\n"
-#: job.c:2951
+#: 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:2963
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+"Contenido del archivo de lotes:%s\n"
+"\t@echo off\n"
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
+"Contenido del archivo de lotes:%s\n"
+"\t%s\n"
-#: job.c:3065
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
-"%s (linea %d) Contexto de shell erróneo (!unixy && !batch_mode_shell)\n"
+"%s (linea %d) Contexto de shell erróneo (!unixy && !batch_mode_shell)\n"
+
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr "-O[TIPO] (--output-sync[=TIPO]) no está configurado para este «build»."
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr "Fallo al abrir tabla global de símbolos: %s"
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr ""
+"El objeto %s que se ha cargado no está declarado como compatible con GPL"
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr "Fallo al cargar símbolo %s desde %s: %s"
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr "Nombre de símbolo vacío en la carga: %s"
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr "Cargando símbolo %s desde %s\n"
+
+#: 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:303
+#: main.c:313
msgid "Options:\n"
msgstr "Opciones:\n"
# Lo mismo de arriba con "ignorar". sv
# Ok. mm.
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr ""
-" -b, -m No se tendrá en cuenta por compatibilidad.\n"
+" -b, -m No se tendrá en cuenta por compatibilidad.\n"
-#: main.c:306
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
" -B, --always-make Hace incondicionalmente todos los objetivos.\n"
-#: main.c:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -932,25 +1080,25 @@ msgstr ""
" -C DIRECTORIO, --directory=DIRECTORIO\n"
" Se cambia al DIRECTORIO antes de hacer nada.\n"
-# ¿"depurado" o "depuración"? sv
-# Puse de depurado para evitar la cacofonía información depuración.
+# ¿"depurado" o "depuración"? sv
+# Puse de depurado para evitar la cacofonía información depuración.
# Sugerencias bienvenidas. mm
-#: main.c:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr ""
-" -d Se imprimirán grandes cantidades de información de depurado.\n"
+" -d Se imprimirán grandes cantidades de información de depurado.\n"
-# ¿"depurado" o "depuración"? sv
-# Puse de depurado para evitar la cacofonía información depuración.
+# ¿"depurado" o "depuración"? sv
+# Puse de depurado para evitar la cacofonía información depuración.
# Sugerencias bienvenidas. mm
-#: main.c:313
+#: 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 "
+" --debug[=BANDERAS] Se imprimirán varios tipos de información de "
"depurado.\n"
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -959,12 +1107,14 @@ msgstr ""
" Las variables ambientales se imponen a las de los "
"makefiles.\n"
-#: main.c:318
+#: 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:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -972,7 +1122,7 @@ msgstr ""
" -f ARCHIVO, --file=ARCHIVO, --makefile=ARCHIVO\n"
" Lee al ARCHIVO como un makefile.\n"
-#: main.c:323
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Muestra este mensaje y finaliza.\n"
@@ -980,16 +1130,15 @@ msgstr " -h, --help Muestra este mensaje y finaliza.\n"
# Ok. mm
# Por favor, si has traducido commands como instrucciones , hazlo aqui
# tambien.
-# No me gusta este mensaje, preferiría: Se ignoran los errores obtenidos
-# en la ejecución de las instrucciones em+
-#: main.c:325
-#, fuzzy
+# No me gusta este mensaje, preferiría: Se ignoran los errores obtenidos
+# en la ejecución de las instrucciones em+
+#: 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:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -997,10 +1146,10 @@ msgstr ""
" -I DIRECTORIO, --include-dir=DIRECTORIO\n"
" Busca dentro del DIRECTORIO los makefiles incluidos.\n"
-# Yo traduciría "infinite" por "infinitos", no por "una infinidad", que
+# Yo traduciría "infinite" por "infinitos", no por "una infinidad", que
# parece que son muchos menos... sv
# Ok. mm
-#: main.c:330
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -1009,45 +1158,44 @@ msgstr ""
"especifica un\n"
"argumento son infinitos.\n"
-# No entiendo por qué aquí empleas subjuntivo: "pudieron". sv
+# No entiendo por qué aquí empleas subjuntivo: "pudieron". sv
# Es incorrecto. Es una de las opciones `k' que dice... mm
-#: main.c:332
+#: 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 "
+" -k, --keep-going Sigue avanzando aún cuando no se puedan crear "
"algunos objetivos.\n"
-#: main.c:334
+#: 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"
-" No inicia con trabajos múltiples a menos que la carga esté por debajo "
+" No inicia con trabajos múltiples a menos que la carga esté por debajo "
"de N.\n"
-#: main.c:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
-" -L, --check-symlink-times Utiliza el último mtime entre los enlaces "
-"simbólicos y los objetivos.\n"
+" -L, --check-symlink-times Utiliza el último mtime entre los enlaces "
+"simbólicos y los objetivos.\n"
-#: main.c:339
-#, fuzzy
+#: 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"
-" No ejecuta ninguna instrucción; sólo las "
+" No ejecuta ninguna instrucción; sólo las "
"muestra.\n"
-#: main.c:342
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -1057,97 +1205,111 @@ msgstr ""
" Supone que ARCHIVO es muy viejo y no lo "
"reconstruye.\n"
+#: main.c:355
+msgid ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
+msgstr ""
+" -O[TIPO], --output-sync[=TIPO]\n"
+" Sincroniza la salida de tareas paralelas por "
+"tipo.\n"
+
# de 'make' em+
# ok. mm
-#: main.c:345
+#: 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"
+"'make'.\n"
-#: main.c:347
-#, fuzzy
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-" -q, --question No se ejecutan las instrucciones; el "
-"estado de salida\n"
-"indicará si están actualizados.\n"
+" -q, --question No se ejecutan las instrucciones; el estado de "
+"salida\n"
+" indicará si están actualizados.\n"
-# ¿desabilitan o deshabilitan? sv
+# ¿desabilitan o deshabilitan? sv
# Error de dedo. mm
-# ¡ Por favor ! , ¿ pero qué es eso de interconstruidas ?
+# ¡ Por favor ! , ¿ pero qué es eso de interconstruidas ?
# Pon almacenadas internamente, que es exactamente lo que son :) em+
# Bueno, bajo protesta. mm
-#: main.c:349
+#: 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 "
+" -r, --no-builtin-rules Se deshabilitan las reglas implícitas "
"almacenadas internamente.\n"
-# ¿desabilitan o deshabilitan? sv
+# ¿desabilitan o deshabilitan? sv
# Error de dedo. mm
-# ¡ Por favor ! , ¿ pero qué es eso de interconstruidas ?
+# ¡ Por favor ! , ¿ pero qué es eso de interconstruidas ?
# Pon almacenadas internamente, que es exactamente lo que son :) em+
# Bueno, bajo protesta. mm
-#: main.c:351
+#: 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:353
-#, fuzzy
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet No muestra las intrucciones.\n"
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr ""
" -S, --no-keep-going, --stop\n"
-" Desactiva la opción -k.\n"
+" Desactiva la opción -k.\n"
-# Se *tocan*, ¿no? sv
+# Se *tocan*, ¿no? sv
# Si. mm
#
-# Pues entonces cámbialo arriba tambien em+
+# Pues entonces cámbialo arriba tambien em+
# En donde? mm
-#: main.c:358
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
" -t, --touch Se tocan los objetivos en vez de "
"reconstruirlos.\n"
-# Me comería el "Se" inicial. "Muestra la versión..." sv
+# ¿"depurado" o "depuración"? sv
+# Puse de depurado para evitar la cacofonía información depuración.
+# Sugerencias bienvenidas. mm
+#: 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:360
+#: 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"
+" -v, --version Muestra la versión del make y finaliza.\n"
# Lo mismo. sv
-#: main.c:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Muestra el directorio actual.\n"
# Lo mismo. sv
# Turn off , desactiva o deshabilita , pero no apaga em+
# apaga luz Mari Luz apaga luz ,que yo no puedo vivir con
-# tanta luz ... ( canción tradicional ) ( no lo pude evitar ) em+
+# tanta luz ... ( canción tradicional ) ( no lo pude evitar ) em+
# Juar, Juar, Juar. Coincido, pero el sentido es el mismo. mm
-#: main.c:364
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr ""
-" --no-print-directory Desactiva -w, aún cuando haya sido activado "
-"implícitamente.\n"
+" --no-print-directory Desactiva -w, aún cuando haya sido activado "
+"implícitamente.\n"
-#: main.c:366
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -1158,7 +1320,7 @@ msgstr ""
# Lo mismo. sv
# Todas estas parecen descripciones de opciones.
-#: main.c:369
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -1166,23 +1328,28 @@ msgstr ""
" --warn-undefined-variables Advierte cuando se hace una referencia a una "
"variable no definida.\n"
-#: main.c:564
+#: 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"
+msgstr "no se permite que una cadena vacía sea el nombre de un archivo"
-#: main.c:650
+#: main.c:737
#, c-format
-msgid "unknown debug level specification `%s'"
-msgstr "se especificó un nivel de depuración desconocido `%s'"
+msgid "unknown debug level specification '%s'"
+msgstr "se especificó un nivel de depuración desconocido '%s'"
-#: main.c:690
-#, fuzzy, c-format
+#: main.c:774
+#, c-format
+msgid "unknown output-sync type '%s'"
+msgstr "tipo de sincronización de salida desconocido '%s'"
+
+#: 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%x, dirección = 0x%x)\n"
+"%s: Se atrapó una interrupción/excepción (código = 0x%lx, dirección = 0x%p)\n"
-#: main.c:697
-#, fuzzy, c-format
+#: main.c:835
+#, c-format
msgid ""
"\n"
"Unhandled exception filter called from program %s\n"
@@ -1191,190 +1358,211 @@ msgid ""
"ExceptionAddress = 0x%p\n"
msgstr ""
"\n"
-"Se ha llamado un filtro de excepción no manejado desde el programa %s\n"
-"Código de excepción %x\n"
-"Banderas de excepción %x\n"
-"Dirección de la excepción %x\n"
+"Se ha llamado un filtro de excepción no manejado desde el programa %s\n"
+"Código de la excepción = %lx\n"
+"Banderas de la excepción = %lx\n"
+"Dirección de la excepción = 0x%p\n"
-#: main.c:705
-#, fuzzy, c-format
+#: 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 %x\n"
+msgstr "Violación de acceso: operación de escritura en la dirección 0x%p\n"
-#: main.c:706
-#, fuzzy, c-format
+#: 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 %x\n"
+msgstr "Violación de acceso: operación de lectura en la dirección 0x%p\n"
-#: main.c:781 main.c:792
-#, fuzzy, c-format
+#: main.c:920 main.c:935
+#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
-msgstr "la variable find_and_set_shell puesta como default_shell = %s\n"
+msgstr "la función find_and_set_shell() pone el valor del default_shell = %s\n"
-#: main.c:834
-#, fuzzy, c-format
+#: main.c:988
+#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr ""
-"la ruta de búsqueda find_and_set_shell está puesta como default_shell = %s\n"
+"la función find_and_set_shell() pone el valor de la ruta de búsceda "
+"default_shell = %s\n"
-#: main.c:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
-msgstr "%s está suspendida por 30 segundos..."
+msgstr "%s está suspendida por 30 segundos..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "se hizo un sleep(30). Continuando.\n"
-#: main.c:1501
+#: main.c:1527
+#, 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)"
+
+#: 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: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: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"
+"El archivo Makefile ha sido especificado dos veces desde la entrada estándard"
-#: main.c:1539 vmsjobs.c:500
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (archivo temporal)"
-#: main.c:1545
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (archivo temporal)"
-#: main.c:1703
+#: 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."
+"Los trabajos en paralelo (-j) no están implementados en esta plataforma."
-#: main.c:1704
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Reajustando al modo monotarea (-j1)."
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "error interno: hay varias opciones --jobserver-fds"
-
-#: main.c:1727
+#: main.c:1994
#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
-msgstr "error interno: cadena --jobserver-fds inválida `%s'"
+msgid "Jobserver slots limited to %d\n"
+msgstr "Ranuras del servidor de tareas limitads a %d\n"
-#: main.c:1730
+#: main.c:2002
#, c-format
-msgid "Jobserver client (fds %d,%d)\n"
-msgstr ""
-
-#: main.c:1740
-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."
+msgid "creating jobserver semaphore: (Error %ld: %s)"
+msgstr "creando semáforo del servidor de tareas: (Error %ld: %s)"
-#: main.c:1750
-msgid "dup jobserver"
-msgstr "servidor de tareas duplicado"
-
-#: main.c:1753
-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:1777
+#: main.c:2008
msgid "creating jobs pipe"
-msgstr "creando una tubería de trabajos"
+msgstr "creando una tubería de tareas"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
-msgstr "se inicializa la tubería al servidor de tareas"
+msgstr "se inicializa la tubería al servidor de tareas"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
-msgstr "Los enlaces simbólicos no están implementados: se deshabilitan con -L."
+msgstr "Los enlaces simbólicos no están implementados: se deshabilitan con -L."
# Antes pusiste "makefiles". Coherencia. sv
# Cierto. mm
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Actualizando archivos makefiles....\n"
-# Me comería el "archivo" inicial.
+# Me comería el "archivo" inicial.
# Ok. mm
# "El Makefile `%s' ..." sv
-# 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:1917
+# 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:2158
#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
-msgstr "El makefile `%s' se autoreferencia; por lo cual no se reconstruye.\n"
+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:1996
+#: main.c:2237
#, c-format
-msgid "Failed to remake makefile `%s'."
-msgstr "Fallo al reconstruir el makefile `%s'."
+msgid "Failed to remake makefile '%s'."
+msgstr "Fallo al reconstruir el makefile '%s'."
# Lo mismo. sv
-#: main.c:2013
+#: main.c:2257
#, c-format
-msgid "Included makefile `%s' was not found."
-msgstr "No se encontró el makefile incluído `%s'."
+msgid "Included makefile '%s' was not found."
+msgstr "No se encontró el makefile incluído '%s'."
# Lo mismo. sv
-#: main.c:2018
+#: main.c:2262
#, c-format
-msgid "Makefile `%s' was not found"
-msgstr "No se encontró el Makefile `%s'"
+msgid "Makefile '%s' was not found"
+msgstr "No se encontró el makefile '%s'"
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "No se pudo regresar al directorio original."
-#: main.c:2102
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Re-ejecutando[%u]:"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (archivo temporal)"
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
-msgstr ".DEFAULT_GOAL contien más de un objetivo"
+msgstr ".DEFAULT_GOAL contien más de un objetivo"
-# Sugerencia: "No se especificó ningún objetivo ... " sv
+# Sugerencia: "No se especificó ningún objetivo ... " sv
# Ok. Me gusta. mm
-#: main.c:2270
+#: 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"
+msgstr "No se especificó ningún objetivo y no se encontró ningún makefile"
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
msgstr "No hay objetivos"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Actualizando los objetivos finales....\n"
-#: main.c:2306
+#: 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 "
+"atención: Se ha detectado una desviación en el reloj. La construcción podría "
"estar incompleta."
-# ¿Y Modo de empleo? sv
-# Soy medio bestia. Debería hacerlo automático. mm
-# "target" es "objetivo", no "objetivos". Fíjate que lleva puntos
-# suspensivos, permitiendo así varios objetivos. sv
+# ¿Y Modo de empleo? sv
+# Soy medio bestia. Debería hacerlo automático. mm
+# "target" es "objetivo", no "objetivos". Fíjate que lleva puntos
+# suspensivos, permitiendo así varios objetivos. sv
# Ok. mm
-#: main.c:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Modo de empleo: %s [opciones] [objetivo] ...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1383,7 +1571,7 @@ msgstr ""
"\n"
"Este programa fue construido para %s\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1392,40 +1580,36 @@ msgstr ""
"\n"
"Este programa construido para %s (%s)\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "Informe sobre los errores a <bug-make@gnu.org>\n"
-# Me comería el "de" de "requiere de" sv
+# Me comería el "de" de "requiere de" sv
# Ok. mm
-#: main.c:2562
-#, fuzzy, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
-msgstr "la opción `-%c' requiere un argumento no-vacío de tipo cadena"
+#: 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
+# Me comería el "de" de "requiere de" sv
# Ok. mm
-#: main.c:2617
+#: main.c:2871
#, c-format
-msgid "the `-%c' option requires a positive integral argument"
-msgstr "la opción `-%c' requiere un argumento positivo y entero"
+msgid "the '-%c' option requires a positive integer argument"
+msgstr "la opción '-%c' requiere un argumento positivo y entero"
-#: main.c:3054
-#, fuzzy, c-format
+#: main.c:3269
+#, c-format
msgid "%sBuilt for %s\n"
-msgstr ""
-"\n"
-" %sEste programa fue construido para %s\n"
+msgstr "%sEste programa fue construido para %s\n"
-#: main.c:3056
-#, fuzzy, c-format
+#: main.c:3271
+#, c-format
msgid "%sBuilt for %s (%s)\n"
-msgstr ""
-"\n"
-"%sEste programa fue construido para %s (%s)\n"
+msgstr "%sEste programa fue construido para %s (%s)\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1433,8 +1617,14 @@ msgid ""
"%sThis is free software: you are free to change and redistribute it.\n"
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
+"%sLicencia GPLv3+: GNU GPL versión 3 o posterior <http://gnu.org/licenses/"
+"gpl.html>\n"
+"%sEste es software libre: cualquiera es libre para redistribuirlo y "
+"modificarlo.\n"
+"%sNo existe GARANTÃA ALGUNA, hasta los límites permitidos por las leyes "
+"aplicables.\n"
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1445,10 +1635,10 @@ msgstr ""
# make -> Make. sv
# Ok. mm
-# Porqué 'del', o pones 'del programa' Make o pones
+# Porqué 'del', o pones 'del programa' Make o pones
# 'de Make' em+
# Ok. mm
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1457,911 +1647,945 @@ msgstr ""
"\n"
"# Se termina la base de datos de Make en %s\n"
-#: main.c:3237
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "Error desconocido %d"
+
+#: misc.c:522
+#, c-format
+msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+msgstr "%s: usuario %lu (real %lu), grupo %lu (real %lu)\n"
+
+#: misc.c:543
+msgid "Initialized access"
+msgstr "Acceso inicializado"
+
+#: misc.c:622
+msgid "User access"
+msgstr "Acceso del usuario"
+
+#: misc.c:670
+msgid "Make access"
+msgstr "Acceso del Make"
+
+#: misc.c:704
+msgid "Child access"
+msgstr "Acceso del hijo"
+
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: se ingresa a un directorio desconocido\n"
-#: main.c:3239
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: se sale del directorio desconocido\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:
+# 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.
-#: main.c:3242
+# Como notarás lo del directorio va en otro lado.
+#: output.c:109
#, c-format
-msgid "%s: Entering directory `%s'\n"
-msgstr "%s: se ingresa al directorio `%s'\n"
+msgid "%s: Entering directory '%s'\n"
+msgstr "%s: se entra en el directorio '%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:
+# 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.
-#: main.c:3245
+# Como notarás lo del directorio va en otro lado.
+#: output.c:111
#, c-format
-msgid "%s: Leaving directory `%s'\n"
-msgstr "%s: se sale del directorio `%s'\n"
+msgid "%s: Leaving directory '%s'\n"
+msgstr "%s: se sale del directorio '%s'\n"
-#: main.c:3250
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: se ingresa a un directorio desconocido\n"
-#: main.c:3253
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: se sale del directorio desconocido\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:
+# 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.
-#: main.c:3257
+# Como notarás lo del directorio va en otro lado.
+#: output.c:120
#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
-msgstr "%s[%u]: se ingresa al directorio `%s'\n"
+msgid "%s[%u]: Entering directory '%s'\n"
+msgstr "%s[%u]: se entra en el directorio '%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:
+# 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.
-#: main.c:3260
+# Como notarás lo del directorio va en otro lado.
+#: output.c:122
#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
-msgstr "%s[%u]: se sale del directorio `%s'\n"
+msgid "%s[%u]: Leaving directory '%s'\n"
+msgstr "%s[%u]: se sale del directorio '%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.
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
+msgstr "error al escribir: %s"
# Interrumpido (?). sv
-# Mmgmh... El mensaje indica que hubo algún error muy grave y que por
-# eso se detiene el make. Probablemente sea mejor dejarlo así. mm
-#: misc.c:316
+# Mmgmh... El mensaje indica que hubo algún error muy grave y que por
+# eso se detiene el make. Probablemente sea mejor dejarlo así. mm
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Alto.\n"
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "Error desconocido %d"
-
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-# Propongo eliminar la palabra virtual. sv
-# Pero si es muy bonita. :) Bueno. Como ya platicamos puede que sea
-# una buena idea pero, por ahora la dejaría. mm
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "memoria virtual agotada"
-
-#: misc.c:708
-#, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: usuario %lu (real %lu), grupo %lu (real %lu)\n"
-
-#: misc.c:729
-msgid "Initialized access"
-msgstr "Acceso inicializado"
-
-#: misc.c:808
-msgid "User access"
-msgstr "Acceso del usuario"
-
-#: misc.c:856
-msgid "Make access"
-msgstr "Acceso del Make"
-
-#: misc.c:890
-msgid "Child access"
-msgstr "Acceso del hijo"
-
-# 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.
-#: misc.c:954
-#, c-format
-msgid "write error: %s"
-msgstr "error al escribir: %s"
-
-#: misc.c:956
-msgid "write error"
-msgstr "error al escribir"
-
# Sugerencia: eliminar la palabra "archivo". sv
# Ok. Mejora. mm
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
msgstr "Leyendo makefiles...\n"
-#: read.c:333
+#: read.c:335
#, c-format
-msgid "Reading makefile `%s'"
-msgstr "Leyendo makefile `%s'"
+msgid "Reading makefile '%s'"
+msgstr "Leyendo makefile '%s'"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (no hay objetivo por defecto)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
-msgstr " (ruta de búsqueda)"
+msgstr " (ruta de búsqueda)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (no importa)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
-msgstr " (no hay expansión del ~)"
+msgstr " (no hay expansión del ~)"
+
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr "se salta BOM UTF-8 en el makefile '%s'\n"
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr "se salta BOM UTF-8 en el «buffer» del makefile\n"
# ## Sintaxis no llevaba tilde.
# Ok. mm
-#: read.c:759
+#: read.c:789
msgid "invalid syntax in conditional"
-msgstr "sintaxis no válida en condicional"
+msgstr "sintaxis no válida en condicional"
-#: read.c:891
-#, fuzzy
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr "%s: fallo al cargar"
+
+#: read.c:992
msgid "recipe commences before first target"
msgstr "las instrucciones comenzaron antes del primer objetivo"
# "falta una regla". sv
# (es que extraviada me suena muy raro).
-# Cierto pareciera que se perdió dentro de algún circuito. mm
+# Cierto pareciera que se perdió dentro de algún circuito. mm
# Falta 'la' regla em+
# No no es la regla sino una regla pues puede ser cualquiera de ellas. mm
-#: read.c:940
-#, fuzzy
+#: read.c:1041
msgid "missing rule before recipe"
msgstr "falta una regla antes de las instrucciones"
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "falta un separador%s"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
+msgstr " (¿Quiere decir TAB en vez de 8 espacios?)"
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
-msgstr " (¿Quiere decir TAB en vez de 8 espacios?)"
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "falta un separador%s"
-#: read.c:1163
+#: read.c:1270
msgid "missing target pattern"
-msgstr "falta un patrón de objetivos"
+msgstr "falta un patrón de objetivos"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
msgstr "hay varios patrones de objetivos"
-#: read.c:1169
+#: read.c:1276
#, c-format
-msgid "target pattern contains no `%%'"
-msgstr "el patrón de objetivo no contiene `%%'"
+msgid "target pattern contains no '%%'"
+msgstr "el patrón de objetivo no contiene '%%'"
-#: read.c:1293
-msgid "missing `endif'"
-msgstr "falta un `endif'"
+#: read.c:1398
+msgid "missing 'endif'"
+msgstr "falta un 'endif'"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
-msgstr "nombre de variable vacío"
+msgstr "nombre de variable vacío"
-#: read.c:1367
-#, fuzzy
-msgid "extraneous text after `define' directive"
+#: read.c:1471
+msgid "extraneous text after 'define' directive"
msgstr ""
-"Hay un texto irrelevante o mal colocado después de la instrucción `endef'"
+"Hay un texto irrelevante o mal colocado después de la instrucción 'define'"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
-msgstr "falta un `endef', no se terminó un `define'"
+#: read.c:1496
+msgid "missing 'endef', unterminated 'define'"
+msgstr "falta un 'endef', no se terminó un 'define'"
-#: read.c:1420
-#, fuzzy
-msgid "extraneous text after `endef' directive"
+#: read.c:1524
+msgid "extraneous text after 'endef' directive"
msgstr ""
-"Hay un texto irrelevante o mal colocado después de la instrucción `endef'"
+"Hay un texto irrelevante o mal colocado después de la instrucción 'endef'"
-#: read.c:1490
+#: read.c:1595
#, c-format
-msgid "Extraneous text after `%s' directive"
-msgstr "Texto irrelevante o mal colocado después de la instrucción `%s'"
+msgid "extraneous text after '%s' directive"
+msgstr "Texto irrelevante o mal colocado después de la instrucción '%s'"
-#: read.c:1499 read.c:1513
+#: read.c:1596
#, c-format
-msgid "extraneous `%s'"
-msgstr "irrelevante o mal colocado `%s'"
+msgid "extraneous '%s'"
+msgstr "irrelevante o mal colocado '%s'"
-#: read.c:1518
-msgid "only one `else' per conditional"
-msgstr "sólo se admite un `else' por condicional"
+#: read.c:1624
+msgid "only one 'else' per conditional"
+msgstr "sólo se admite un 'else' por condicional"
-#: read.c:1797
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr ""
-"La definición de las variables específicas al blanco está mal construida"
+"La definición de las variables específicas al blanco está mal construida"
-#: read.c:1855
-#, fuzzy
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
-msgstr "los prerequisitos no pueden ser definidos por guiones de instrucciones"
+msgstr ""
+"los prerequisitos no pueden ser definidos por los guiones de instrucciones"
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
-msgstr "las reglas implícitas y las de patrón estático están mezcladas"
+msgstr "las reglas implícitas y las de patrón estático están mezcladas"
# Y 'las' normales em+
# Ok. mm
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
-msgstr "las reglas implícitas y las normales están mezcladas"
+msgstr "las reglas implícitas y las normales están mezcladas"
-#: read.c:1976
+#: read.c:2091
#, c-format
-msgid "target `%s' doesn't match the target pattern"
-msgstr "el archivo de objetivos `%s' no coincide con el patrón de objetivos"
+msgid "target '%s' doesn't match the target pattern"
+msgstr "el objetivo '%s' no coincide con el patrón de objetivos"
-#: read.c:1991 read.c:2036
+#: read.c:2106 read.c:2152
#, c-format
-msgid "target file `%s' has both : and :: entries"
-msgstr "el archivo de objetivos `%s' tiene líneas con : y ::"
+msgid "target file '%s' has both : and :: entries"
+msgstr "el archivo de objetivos '%s' tiene líneas con : y ::"
-# Cambiaría given por 'proporcionó' o 'indicó' em+
+# Cambiaría given por 'proporcionó' o 'indicó' em+
# Ok. mm
-#: read.c:1997
+#: read.c:2112
#, c-format
-msgid "target `%s' given more than once in the same rule."
-msgstr "el objetivo `%s' se proporcionó más de una vez en la misma regla."
+msgid "target '%s' given more than once in the same rule"
+msgstr "el objetivo '%s' se proporcionó más de una vez en la misma regla"
-# No me gusta esta traducción de override. Mira a ver
+# 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
-#: read.c:2006
-#, fuzzy, c-format
-msgid "warning: overriding recipe for target `%s'"
-msgstr "atención: se imponen comandos para el objetivo `%s'"
+# Aunque no me acaba de convencer, que te parece ésto? mm
+#: read.c:2122
+#, c-format
+msgid "warning: overriding recipe for target '%s'"
+msgstr "atención: se anulan las instrucciones para el objetivo '%s'"
# Ojo con ignora. sv
-#: read.c:2009
-#, fuzzy, c-format
-msgid "warning: ignoring old recipe for target `%s'"
-msgstr "atención: se ignoran las instrucciones viejas para el objetivo `%s'"
+#: read.c:2125
+#, c-format
+msgid "warning: ignoring old recipe for target '%s'"
+msgstr "atención: se ignoran las instrucciones viejas para el objetivo '%s'"
+
+# Y 'las' normales em+
+# Ok. mm
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "las reglas implícitas y las normales están mezcladas"
-#: read.c:2392
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
-msgstr "atención: hay un carácter NUL; se ignora el resto de la línea"
+msgstr "atención: hay un carácter NUL; se ignora el resto de la línea"
-#: remake.c:234
+#: remake.c:230
#, c-format
-msgid "Nothing to be done for `%s'."
-msgstr "No se hace nada para `%s'."
+msgid "Nothing to be done for '%s'."
+msgstr "No se hace nada para '%s'."
-#: remake.c:235
+#: remake.c:231
#, c-format
-msgid "`%s' is up to date."
-msgstr "`%s' está actualizado."
+msgid "'%s' is up to date."
+msgstr "'%s' está actualizado."
-#: remake.c:306
+#: remake.c:303
#, c-format
-msgid "Pruning file `%s'.\n"
-msgstr "Se continúa actualizando el archivo `%s'.\n"
+msgid "Pruning file '%s'.\n"
+msgstr "Se poda el archivo '%s'.\n"
-# Sugerencia: No hay ninguna regla... sv
-# Como una no hay ninguna. mm
-#: remake.c:359
+#: remake.c:390 remake.c:393
#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%sNo hay ninguna regla para construir el objetivo `%s'%s"
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
+msgstr ""
+"%sNo hay ninguna regla para construir el objetivo '%s', necesario para '%s'%s"
-#: remake.c:361
+# Sugerencia: No hay ninguna regla... sv
+# Como una no hay ninguna. mm
+#: remake.c:402 remake.c:405
#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
-msgstr ""
-"%sNo hay ninguna regla para construir el objetivo `%s', necesario para `%s'%s"
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sNo hay ninguna regla para construir el objetivo '%s'%s"
-# ¿target file no sería "archivo objetivo"? sv
+# ¿target file no sería "archivo objetivo"? sv
# Literalmente si pero un archivo make puede tener varios objetivos. mm
-# Max , pero no existe un archivo de objetivos. Esta línea, que es
-# de las que aparecen al hacer un make con la opción -d ( debug )
+# Max , pero no existe un archivo de objetivos. Esta línea, que es
+# de las que aparecen al hacer un make con la opción -d ( debug )
# se refiere a lo que dice Santiago, es decir, 'archivo objetivo' em+
-# Ok creo que tienen razón. mm
-#: remake.c:413
+# Ok creo que tienen razón. mm
+#: remake.c:426
#, c-format
-msgid "Considering target file `%s'.\n"
-msgstr "Se considera el archivo objetivo `%s'.\n"
+msgid "Considering target file '%s'.\n"
+msgstr "Se considera el archivo objetivo '%s'.\n"
-# Un compañero mío dice que una buena regla es poner siempre que se pueda
-# un número par de comas.
-# Es decir: "Se intentó, sin éxito, actualizar ..."
-# o bien "Se intentó sin éxito actualizar ..."
-# ¿Qué te parece? sv
-# Bien y tiene razón. mm
-#: remake.c:420
+# Un compañero mío dice que una buena regla es poner siempre que se pueda
+# un número par de comas.
+# Es decir: "Se intentó, sin éxito, actualizar ..."
+# o bien "Se intentó sin éxito actualizar ..."
+# ¿Qué te parece? sv
+# Bien y tiene razón. mm
+#: remake.c:433
#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
-msgstr "Se intentó, sin éxito, actualizar el archivo `%s'.\n"
+msgid "Recently tried and failed to update file '%s'.\n"
+msgstr "Se intentó hace poco, sin éxito, actualizar el archivo '%s'.\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
-msgid "File `%s' was considered already.\n"
-msgstr "El archivo `%s' ya fue considerado.\n"
+msgid "File '%s' was considered already.\n"
+msgstr "Ya se ha tenido en cuenta el archivo '%s'.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
-msgid "Still updating file `%s'.\n"
-msgstr "Se continúa actualizando el archivo `%s'.\n"
+msgid "Still updating file '%s'.\n"
+msgstr "Se continúa actualizando el archivo '%s'.\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
-msgid "Finished updating file `%s'.\n"
-msgstr "Se terminó de actualizar el archivo `%s'.\n"
+msgid "Finished updating file '%s'.\n"
+msgstr "Se terminó de actualizar el archivo '%s'.\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
-msgid "File `%s' does not exist.\n"
-msgstr "El archivo `%s' no existe.\n"
+msgid "File '%s' does not exist.\n"
+msgstr "El archivo '%s' no existe.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-"*** Atención: el archivo .LOW_RESOLUTION_TIME `%s' tiene una resolución "
-"demasiado alta"
+"*** Atención: el archivo .LOW_RESOLUTION_TIME '%s' tiene una marca de tiempo "
+"de alta resolución"
-#: remake.c:494 remake.c:1016
+#: remake.c:508 remake.c:1040
#, c-format
-msgid "Found an implicit rule for `%s'.\n"
-msgstr "Se encontró una regla implícita para `%s'.\n"
+msgid "Found an implicit rule for '%s'.\n"
+msgstr "Se encontró una regla implícita para '%s'.\n"
# Se ha encontrado em+
# Ok, pero procuro evitar como a la muerte los gerundios. mm
-#: remake.c:496 remake.c:1018
+#: remake.c:510 remake.c:1042
#, c-format
-msgid "No implicit rule found for `%s'.\n"
-msgstr "No se ha encontrado una regla implícita para `%s'.\n"
+msgid "No implicit rule found for '%s'.\n"
+msgstr "No se ha encontrado ninguna regla implícita para '%s'.\n"
# Por defecto, como haces arriba em+
# en efecto, mm
-#: remake.c:502
-#, fuzzy, c-format
-msgid "Using default recipe for `%s'.\n"
-msgstr "Se utilizan las instrucciones por defecto para `%s'.\n"
+#: remake.c:516
+#, c-format
+msgid "Using default recipe for '%s'.\n"
+msgstr "Se utilizan las instrucciones por omisión para '%s'.\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Se elimina la dependencia circular %s <- %s."
# Lo mismo de antes con "target file". sv
-# Estoy de acuerdo con él ( por una vez ;) ) em+
+# Estoy de acuerdo con él ( por una vez ;) ) em+
# Ok. mm
-#: remake.c:651
+#: remake.c:675
#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
-msgstr "Se terminaron las dependencias del archivo objetivo `%s'.\n"
+msgid "Finished prerequisites of target file '%s'.\n"
+msgstr "Se terminaron las dependencias del archivo objetivo '%s'.\n"
-#: remake.c:657
+#: remake.c:681
#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
-msgstr "Se están construyendo las dependencias de `%s'.\n"
+msgid "The prerequisites of '%s' are being made.\n"
+msgstr "Se están construyendo las dependencias de '%s'.\n"
# Give up no es enfocar, es abandonar, o desistir em+
-# Si, metí la pata. mm
-#: remake.c:670
+# Si, metí la pata. mm
+#: remake.c:695
#, c-format
-msgid "Giving up on target file `%s'.\n"
-msgstr "Se abandona el archivo objetivo `%s'.\n"
+msgid "Giving up on target file '%s'.\n"
+msgstr "Se abandona el archivo objetivo '%s'.\n"
-#: remake.c:675
+#: remake.c:700
#, c-format
-msgid "Target `%s' not remade because of errors."
-msgstr "Debido a los errores, el objetivo `%s' no se reconstruyó."
+msgid "Target '%s' not remade because of errors."
+msgstr "Debido a los errores, el objetivo '%s' no se reconstruyó."
-#: remake.c:727
+#: remake.c:752
#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
-msgstr "El prerequisito `%s' es posterior al objetivo `%s'.\n"
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
+msgstr "La dependencia '%s' es solo de orden para el objetivo '%s'.\n"
-#: remake.c:732
+#: remake.c:757
#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
-msgstr "La dependencia `%s' del blanco `%s' no existe.\n"
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
+msgstr "La dependencia '%s' del objetivo '%s' no existe.\n"
-#: remake.c:737
+#: remake.c:762
#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
-msgstr "La dependencia `%s' es más reciente que el objetivo `%s'.\n"
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
+msgstr "La dependencia '%s' es más reciente que el objetivo '%s'.\n"
-#: remake.c:740
+#: remake.c:765
#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
-msgstr "La dependencia `%s' es posterior al objetivo `%s'.\n"
+msgid "Prerequisite '%s' is older than target '%s'.\n"
+msgstr "La dependencia '%s' es anterior al objetivo '%s'.\n"
# Ahorra espacio, y pon '::' en vez de eso :) em+
# Bueno, no es mala idea. A ver si te gusta lo que puse. mm
-#: remake.c:758
+#: remake.c:783
#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr ""
-"El objetivo `%s' es de tipo dos puntos dos veces (::)\n"
+"El objetivo '%s' es de tipo dos puntos dos veces (::)\n"
"y no tiene dependencias.\n"
-#: remake.c:765
-#, fuzzy, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
-msgstr "No hay instrucciones para `%s' y ninguna dependencia cambió.\n"
+#: remake.c:790
+#, c-format
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
+msgstr "No hay instrucciones para '%s' y ninguna dependencia ha cambiado.\n"
-#: remake.c:770
+#: remake.c:795
#, c-format
-msgid "Making `%s' due to always-make flag.\n"
-msgstr "Haciendo `%s' debido a la bandera always-make.\n"
+msgid "Making '%s' due to always-make flag.\n"
+msgstr "Haciendo '%s' debido a la bandera always-make.\n"
-#: remake.c:778
+#: remake.c:803
#, c-format
-msgid "No need to remake target `%s'"
-msgstr "No es necesario reconstruir el objetivo `%s'."
+msgid "No need to remake target '%s'"
+msgstr "No es necesario reconstruir el objetivo '%s'."
-#: remake.c:780
+#: remake.c:805
#, c-format
-msgid "; using VPATH name `%s'"
-msgstr "; se usa el nombre del VPATH `%s'"
+msgid "; using VPATH name '%s'"
+msgstr "; se usa el nombre del VPATH '%s'"
# Revisa todo el po con un search, y mira a ver si decides usar
-# regenerar o reconstruir ( prefiero lo último 10000 veces ) em+
+# regenerar o reconstruir ( prefiero lo último 10000 veces ) em+
# Ok, buena propuesta. mm
-#: remake.c:800
+#: remake.c:825
#, c-format
-msgid "Must remake target `%s'.\n"
-msgstr "Se debe reconstruir el objetivo `%s'.\n"
+msgid "Must remake target '%s'.\n"
+msgstr "Se debe reconstruir el objetivo '%s'.\n"
-#: remake.c:806
+#: remake.c:831
#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
-msgstr " Se ignora el nombre del VPATH `%s'.\n"
+msgid " Ignoring VPATH name '%s'.\n"
+msgstr " Se ignora el nombre del VPATH '%s'.\n"
-#: remake.c:815
-#, fuzzy, c-format
-msgid "Recipe of `%s' is being run.\n"
-msgstr "Las instrucciones de `%s' se están ejecutando.\n"
+#: remake.c:840
+#, c-format
+msgid "Recipe of '%s' is being run.\n"
+msgstr "Las instrucciones de '%s' se están ejecutando.\n"
# Target file no es archivo de objetivos, sino el archivo objetivo
-# make no tiene ningún archivo de objetivos em+
+# make no tiene ningún archivo de objetivos em+
# Ok. mm
-#: remake.c:822
+#: remake.c:847
#, c-format
-msgid "Failed to remake target file `%s'.\n"
-msgstr "Fallo al reconstruir el archivo objetivo `%s'.\n"
+msgid "Failed to remake target file '%s'.\n"
+msgstr "Fallo al reconstruir el archivo objetivo '%s'.\n"
# Lo mismo em+
# Ok. mm
-#: remake.c:825
+#: remake.c:850
#, c-format
-msgid "Successfully remade target file `%s'.\n"
-msgstr "Se reconstruyó con éxito el archivo objetivo `%s'.\n"
+msgid "Successfully remade target file '%s'.\n"
+msgstr "Se reconstruyó con éxito el archivo objetivo '%s'.\n"
# Otra vez em+
# Ok, no te puedes quejar de falta de consistencia en este caso! mm
-#: remake.c:828
+#: remake.c:853
#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
-msgstr "Se necesita reconstruir el archivo objetivo `%s' con la opción -q.\n"
+msgid "Target file '%s' needs to be remade under -q.\n"
+msgstr "Se necesita reconstruir el archivo objetivo '%s' con la opción -q.\n"
# Por defecto, como haces arriba em+
# en efecto, mm
-#: remake.c:1024
+#: remake.c:1048
#, c-format
-msgid "Using default commands for `%s'.\n"
-msgstr "Se utilizan las instrucciones por defecto para `%s'.\n"
+msgid "Using default commands for '%s'.\n"
+msgstr "Se utilizan las instrucciones por defecto para '%s'.\n"
# Ubicada :)) , que tal futura, a secas ? em+
# Bueno, sonaba como StarTrek, muy chido, pero acepto tu sugerencia. mm
-#: remake.c:1357
+#: remake.c:1397
#, c-format
-msgid "Warning: File `%s' has modification time in the future"
-msgstr "Atención: El archivo `%s' tiene una hora de modificación en el futuro"
+msgid "Warning: File '%s' has modification time in the future"
+msgstr "Atención: El archivo '%s' tiene una hora de modificación en el futuro"
# Ubicada :)) , que tal futura, a secas ? em+
# Bueno, sonaba como StarTrek, muy chido, pero acepto tu sugerencia. mm
-#: remake.c:1370
-#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
+#: remake.c:1411
+#, c-format
+msgid "Warning: File '%s' has modification time %s s in the future"
msgstr ""
-"Atención: El archivo `%s' tiene una hora de modificación %.2g en el futuro"
+"Atención: El archivo '%s' tiene una hora de modificación %s s en el futuro"
-#: remake.c:1569
+#: remake.c:1610
#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
-msgstr "El elemento .LIBPATTERNS `%s' no es un patrón"
+msgid ".LIBPATTERNS element '%s' is not a pattern"
+msgstr "El elemento .LIBPATTERNS '%s' no es un patrón"
-# ¿Las aduanas? sv
-# Si, las aduanas de exportación de procesos. Suena rarísimo pero
-# revisé el código y todo parece apuntar a que así son las cosas.
+# ¿Las aduanas? sv
+# Si, las aduanas de exportación de procesos. Suena rarísimo pero
+# revisé el código y todo parece apuntar a que así son las cosas.
# Creo que esto es otra cosa. Custom se refiere a los valores dados
-# por el usuario ( customizables ) , y que no se exportarán se refiere
-# a que al llamar a otros makefiles, no serán pasados como valores
-# que se antepongan ( otro término para override ) a los que make
+# por el usuario ( customizables ) , y que no se exportarán se refiere
+# a que al llamar a otros makefiles, no serán pasados como valores
+# que se antepongan ( otro término para override ) a los que make
# tiene por defecto .
-# La traducción exacta por tanto es, los valores definidos por el usuario
-# no se exportarán em+
-# Muchísimo más claro (es más me gusta más en español que en inglés con tu
+# La traducción exacta por tanto es, los valores definidos por el usuario
+# no se exportarán em+
+# Muchísimo más claro (es más me gusta más en español que en inglés con tu
# arreglo) mm
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
-msgstr "Los valores definidos por el usuario no se exportarán: %s\n"
+msgstr "Los valores definidos por el usuario no se exportarán: %s\n"
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
msgstr ""
"\n"
-"# Reglas implícitas."
+"# Reglas implícitas."
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
msgstr ""
"\n"
-"# No hay reglas implícitas."
+"# No hay reglas implícitas."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
"# %u implicit rules, %u"
msgstr ""
"\n"
-"# %u reglas implícitas, %u"
+"# %u reglas implícitas, %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
msgstr " terminal."
-# ## Añado ¡ con tu permiso. sv
+# ## Añado ¡ con tu permiso. sv
# Gracias. mm
-# ¿ qué tal erróneo ? em+
+# ¿ qué tal erróneo ? em+
# Si, suena mejor. mm
-#: rule.c:534
-#, fuzzy, c-format
+#: rule.c:530
+#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
-msgstr "BUG: ¡num_pattern_rules erróneo! %u != %u"
+msgstr "BUG: ¡num_pattern_rules erróneo! %u != %u"
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
-msgstr "señal desconocida"
+msgstr "señal desconocida"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
msgstr "Colgado"
-# ¿ Y por qué no Interrupción ? em+
-# Porque es una acción. De hecho es un mensaje que se envía a través
-# del sistema en este caso le enviarías un kill -INT num_proceso para
-# interrumpir al programa. Lo revisé contra el fuente. mm
-#: signame.c:97
+# ¿ Y por qué no Interrupción ? em+
+# Porque es una acción. De hecho es un mensaje que se envía a través
+# del sistema en este caso le enviarías un kill -INT num_proceso para
+# interrumpir al programa. Lo revisé contra el fuente. mm
+#: signame.c:95
msgid "Interrupt"
msgstr "Interrumpir"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
msgstr "Finalizar"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
-msgstr "Instrucción no válida"
+msgstr "Instrucción no válida"
# Los trap los hemos dejado como traps, simplemente. em+
# Ok. mm
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
msgstr "Trace/breakpoint trap"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr "Abortado"
-# Ponte de acuerdo con Enrique en cómo se traduce esto.
+# Ponte de acuerdo con Enrique en cómo se traduce esto.
# Enrique tiene esta misma frase en glibc. sv
# Eso es :) IOT trap em+
# Ok. mm
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
msgstr "IOT trap"
# Otra em+
# Ok. mm
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
msgstr "EMT trap"
# Coma flotante, por favor. sv
-# Creeme que aquí lo de coma flotante no vale. Somos pro-yanquis y
+# Creeme que aquí lo de coma flotante no vale. Somos pro-yanquis y
# por eso usamos el punto flotante. Debemos llegar a un acuerdo.
# Por ahora pongo coma flotante para facilitar las cosas, pero bajo
# protesta ;-) mm
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
-msgstr "Excepción de coma flotante"
+msgstr "Excepción de coma flotante"
-# "Terminado por la señal kill" quedaría un poco más suave ... sv
+# "Terminado por la señal kill" quedaría un poco más suave ... sv
# Enrique tiene en glibc "Terminado (killed)". sv
-# Bueno, creo que mi traducción es más exacta, concisa y clara
-# pero si insisten... Además recuerda en que estoy en un país
-# en donde asesinado es palabra de todos los días. mm
-#: signame.c:123
+# Bueno, creo que mi traducción es más exacta, concisa y clara
+# pero si insisten... Además recuerda en que estoy en un país
+# en donde asesinado es palabra de todos los días. mm
+#: signame.c:121
msgid "Killed"
msgstr "Terminado (killed)"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
msgstr "Error en el bus"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
-msgstr "Fallo de segmentación"
+msgstr "Fallo de segmentación"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
-msgstr "Llamada al sistema errónea"
+msgstr "Llamada al sistema errónea"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
-msgstr "Tubería rota"
+msgstr "Tubería rota"
-# ¿Temporizador? (así lo tradujo Enrique en glibc). sv
-# Suena como StarTrek. Mejor lo platico con él. A lo mejor
+# ¿Temporizador? (así lo tradujo Enrique en glibc). sv
+# Suena como StarTrek. Mejor lo platico con él. A lo mejor
# hasta lo convenzo. mm
-# Pues tendrás que darme razones em+
+# Pues tendrás que darme razones em+
# Bueno, un alarm clock es una alarma del reloj. No tiene pierde.
# Temporizador es una bonita palabra pero en donde dice que va a
# sonar una campana para despertarte? mm
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr "Alarma del reloj"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
msgstr "Finalizado"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
-msgstr "Señal 1 definida por el usuario"
+msgstr "Señal 1 definida por el usuario"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
-msgstr "Señal 2 definida por el usuario"
+msgstr "Señal 2 definida por el usuario"
# Proceso hijo terminado em+
# Ok. mm
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
msgstr "Proceso hijo terminado"
# Fallo. sv
-# Alimentación eléctrico em+
+# Alimentación eléctrico em+
# Ok. mm
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
-msgstr "Falla de alimentación eléctrica"
+msgstr "Falla de alimentación eléctrica"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr "Detenido"
-# Enrique hizo una preciosa traducción de este mensaje que, según él,
-# mejora el original. Era algo así como:
+# Enrique hizo una preciosa traducción de este mensaje que, según él,
+# mejora el original. Era algo así como:
# "Detenido (requiere entrada de terminal)". sv
-# Tiene razón se ve bien. mm
+# Tiene razón se ve bien. mm
# Requiere 'de';) , como te vea Santiago que le metes
# otro 'de' otra vez ... em+
# Ok. mm
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
msgstr "Detenido (se requiere entrada de terminal)"
# lo mismo, se requiere entrada de terminal , em+
# Ok. mm
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
msgstr "Detenido (se requiere salida de terminal)"
# idem em+
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
-msgstr "Detenido (se requiere una señal)"
+msgstr "Detenido (se requiere una señal)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
-msgstr "Se agotó el tiempo de CPU permitido"
+msgstr "Se agotó el tiempo de CPU permitido"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
-msgstr "Se excedió el tamaño máximo de archivo permitido"
+msgstr "Se excedió el tamaño máximo de archivo permitido"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
msgstr "El contador de tiempo virtual ha expirado"
-# Nunca me enteré de cómo se traducía profile, pero perfil me suena raro.
-# ¿De dónde lo has sacado? sv
-# Es lo que quiere decir, ni modo. Perfil de un avión es plane profile.
-# Por cierto, lo más probable es que esta "traducción" haya que
+# Nunca me enteré de cómo se traducía profile, pero perfil me suena raro.
+# ¿De dónde lo has sacado? sv
+# Es lo que quiere decir, ni modo. Perfil de un avión es plane profile.
+# Por cierto, lo más probable es que esta "traducción" haya que
# modificarla para que sea entendible. mm
-# Esto lo tengo en glibc, lo mirare otro día. Estos mensajes no son
+# Esto lo tengo en glibc, lo mirare otro día. Estos mensajes no son
# importantes em+
-# Agregué unas palabras en aras de claridad (espero) mm
-#: signame.c:182
+# Agregué unas palabras en aras de claridad (espero) mm
+#: signame.c:180
msgid "Profiling timer expired"
-msgstr "El contador de tiempo para la generación del perfil ha expirado"
+msgstr "El contador de tiempo para la generación del perfil ha expirado"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
msgstr "La ventana ha cambiado"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
msgstr "Continuado"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
-msgstr "Condición urgente de I/O"
+msgstr "Condición urgente de I/O"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
msgstr "Posible I/O"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr "Recurso perdido"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
-msgstr "Señal de peligro"
+msgstr "Señal de peligro"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
-msgstr "Petición de información"
+msgstr "Petición de información"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
msgstr "Coprocesador de punto flotante no disponible"
-#: strcache.c:235
+#: strcache.c:236
+#, c-format
+msgid ""
+"\n"
+"%s No strcache buffers\n"
+msgstr ""
+"\n"
+"%s No hay «buffers» strcache\n"
+
+#: strcache.c:266
#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
msgstr ""
+"\n"
+"%s «buffers» strcache: %lu (%lu) / cadenas = %lu / almacenamiento = %lu B / "
+"promedio = %lu B\n"
-#: strcache.c:237
+#: strcache.c:270
#, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
+"%s «buffer» actual: tamaño = %hu B / utilizado = %hu B / número = %hu / "
+"promedio = %hu B\n"
-#: strcache.c:239
+#: strcache.c:280
#, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
msgstr ""
+"%s otros utilizado: total = %lu B / / número = %lu / promedio = %lu B\n"
-#: strcache.c:241
+#: strcache.c:283
#, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid ""
+"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
msgstr ""
+"%s otros libre: total = %lu B / máx = %lu B / mín = %lu B / promedio = %hu "
+"B\n"
-#: strcache.c:244
-#, fuzzy
+#: strcache.c:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
-"# "
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
msgstr ""
"\n"
-"# estadísticas de la tabla de hash de los archivos:\n"
+"%s rendimiento de strcache: búsquedas = %lu / coincidencias = %lu%%\n"
+
+#: strcache.c:289
+msgid ""
+"# hash-table stats:\n"
+"# "
+msgstr ""
+"# estadísticas de la tabla «hash»:\n"
"# "
-#: variable.c:1541
+# Lo he cmabiado em+
+# Ok. Deberíamos platicarlo con Ulrich. mm
+#: variable.c:1599
+msgid "automatic"
+msgstr "automática/o"
+
+#: variable.c:1602
msgid "default"
msgstr "por defecto"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
msgstr "entorno"
# Sugerencia: No poner archivo. sv
# Ok. mm
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
# 'bajo -e' = 'con -e activo' em+
-# Ok. Esta inversión en los idiomas sajones se pega. mm
-#: variable.c:1550
+# Ok. Esta inversión en los idiomas sajones se pega. mm
+#: variable.c:1611
msgid "environment under -e"
msgstr "con -e activo"
-# Línea de comandos me parece correcto em+
-# Ver arriba. Estoy de acuerdo si así han traducido en otros lados. mm
-#: variable.c:1553
+# Línea de comandos me parece correcto em+
+# Ver arriba. Estoy de acuerdo si así han traducido en otros lados. mm
+#: variable.c:1614
msgid "command line"
-msgstr "línea de instrucciones"
+msgstr "línea de instrucciones"
-# Creo que tendremos un problema con instrucción, comando
-# , programa y directiva . Está claro que aquí es directiva em+
-# Ok, pero no deja de sonar a RoboCop. A ver que te parece como quedó. mm
-#: variable.c:1556
-msgid "`override' directive"
-msgstr "directiva de sobreposición `override'"
+# Creo que tendremos un problema con instrucción, comando
+# , programa y directiva . Está claro que aquí es directiva em+
+# Ok, pero no deja de sonar a RoboCop. A ver que te parece como quedó. mm
+#: variable.c:1617
+msgid "'override' directive"
+msgstr "directiva 'override'"
-# Lo he cmabiado em+
-# Ok. Deberíamos platicarlo con Ulrich. mm
-#: variable.c:1559
-msgid "automatic"
-msgstr "automática/o"
-
-#: variable.c:1570
+#: variable.c:1628
#, c-format
-msgid " (from `%s', line %lu)"
-msgstr " (de `%s', línea %lu):"
+msgid " (from '%s', line %lu)"
+msgstr " (de '%s', línea %lu):"
-# Bueno. Aquí un punto de discusión. Traduzco buckets por cubetas o
+# Bueno. Aquí un punto de discusión. Traduzco buckets por cubetas o
# mejor las dejo tal cual? Opiniones bienvenidas. mm
# Estos mensajes son para debug, no creo que haga falta usar cubetas ;) em+
-# Tienes razón, si el debugueador no lo entiende pues, ... que se
+# Tienes razón, si el debugueador no lo entiende pues, ... que se
# dedique a otra cosa. mm
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
-msgstr "# estadísticas del conjunto de variables de la tabla de hash:\n"
+msgstr "# estadísticas del conjunto de variables de la tabla «hash»:\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -2369,517 +2593,195 @@ msgstr ""
"\n"
"# Variables\n"
-#: variable.c:1627
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
"\n"
-"# Valores de variables específicas al patrón"
+"# Valores de variables específicas al patrón"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
msgstr ""
"\n"
-"# No hay valores de variables específicas al patrón."
+"# No hay valores de variables específicas al patrón."
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
"# %u pattern-specific variable values"
msgstr ""
"\n"
-"# %u valores de variables específicas al patrón"
+"# %u valores de variables específicas al patrón"
-# ¿Qué te parece "atención"? Lo hemos usado mucho en otros programas. sv
-# Pero que bestia soy. Perdón por el desbarre. mm
-#: variable.h:219
+# ¿Qué te parece "atención"? Lo hemos usado mucho en otros programas. sv
+# Pero que bestia soy. Perdón por el desbarre. mm
+#: variable.h:224
#, c-format
-msgid "warning: undefined variable `%.*s'"
-msgstr "atención: la variable `%.*s' no ha sido definida"
+msgid "warning: undefined variable '%.*s'"
+msgstr "atención: la variable '%.*s' no ha sido definida"
-#: vmsfunctions.c:92
-#, fuzzy, c-format
+#: vmsfunctions.c:91
+#, c-format
msgid "sys$search() failed with %d\n"
-msgstr "fallo en sys$search con %d\n"
+msgstr "fallo en sys$search() con %d\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
-msgstr "Atención: redirección vacía\n"
+msgstr "Atención: redirección vacía\n"
-#: vmsjobs.c:184
+#: vmsjobs.c:183
#, c-format
-msgid "internal error: `%s' command_state"
-msgstr "error interno: `%s' command_state"
+msgid "internal error: '%s' command_state"
+msgstr "error interno: '%s' command_state"
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
-msgstr "-atención, deberás rehabilitar el manejo del CTRL-Y desde el DCL.\n"
+msgstr "-atención, deberás rehabilitar el manejo del CTRL-Y desde el DCL.\n"
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "INTERCONSTRUIDO [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "CD INTERCONSTRUIDO %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "RM INTERCONSTRUIDO %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "CD INTERCONSTRUIDO %s\n"
# Por defecto, como haces arriba em+
# en efecto, mm
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
-msgstr "Instrucción interconstruida desconocida `%s'.\n"
+msgstr "Instrucción integrada desconocida '%s'.\n"
+
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
-#: vmsjobs.c:493
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
-msgstr "Error, comando vacío\n"
+msgstr "Error, comando vacío\n"
-#: vmsjobs.c:506
+#: 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:
+# 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:513
+# Como notarás lo del directorio va en otro lado.
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Se redirecciona el error a %s\n"
-#: vmsjobs.c:523
-#, fuzzy, c-format
+#: vmsjobs.c:690
+#, c-format
msgid "Append output to %s\n"
msgstr "Salida redirigida a %s\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Salida redirigida a %s\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
-msgstr ""
+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:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "En su lugar, se ejecuta %s\n"
-#: vmsjobs.c:712
+#: 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
+# ¿Y al revés?: Rutas de búsqueda VPATH. sv
# Mejora
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
msgstr ""
"\n"
-"# Rutas de búsqueda VPATH\n"
+"# Rutas de búsqueda VPATH\n"
# Rutas creo que queda mejor. sv
-# Ok. Es más común. mm
-#: vpath.c:603
-msgid "# No `vpath' search paths."
-msgstr "# No hay rutas de búsqueda `vpath'."
+# Ok. Es más común. mm
+#: 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
+# ¡Ah! Aquí si que pones el vpath al final, ¿eh? :-) sv
# You really got me! mm
-#: vpath.c:605
+#: vpath.c:602
#, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
-"# %u rutas de búsqueda `vpath'.\n"
+"# %u rutas de búsqueda 'vpath'.\n"
-#: vpath.c:608
+#: vpath.c:605
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
-"# No hay ruta de búsqueda general (variable `VPATH')."
+"# No hay ruta de búsqueda general (variable 'VPATH')."
-#: vpath.c:614
+#: vpath.c:611
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
-"# Ruta de búsqueda general (variable `VPATH'):\n"
+"# Ruta de búsqueda general (variable 'VPATH'):\n"
"# "
-#~ msgid "Do not specify -j or --jobs if sh.exe is not available."
-#~ msgstr "No especifique -j o --jobs si sh.exe no está disponible."
-
-#~ msgid "Resetting make for single job mode."
-#~ msgstr "Reajustando a make para el modo monotarea."
-
-# De esto hablaremos otro día. sv
-# Si. Es bastante complicado. mm
-#~ 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"
-#~ "%sPARTICULAR PURPOSE.\n"
-#~ msgstr ""
-#~ "%sEste es software libre; consulte en el código fuente las condiciones de "
-#~ "copia.\n"
-#~ "%sNO hay garantía; ni siquiera para MERCANTIBILIDAD o EL CUMPLIMIENTO DE\n"
-#~ "%sALGÚN PROPÓSITO PARTICULAR.\n"
-
-#~ msgid "extraneous `endef'"
-#~ msgstr "el `endef' es irrelevante o está mal colocado"
-
-#~ msgid "empty `override' directive"
-#~ msgstr "instrucción `override' vacía"
-
-# Creo que tendremos un problema con instrucción, comando
-# , programa y directiva . Está claro que aquí es directiva em+
-# Ok, pero no deja de sonar a RoboCop. A ver que te parece como quedó. mm
-#~ msgid "invalid `override' directive"
-#~ msgstr "directiva de sobreposición `override' inválida"
-
-#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
-#~ msgstr "-atención, CTRL-Y dejará vivos a los subprocesos.\n"
-
-# Esto habría que revisarlo. sv
-# En efecto, había que revisarlo, no es número de archivos
-# sino que no hay archivos. mm
-#~ msgid ""
-#~ "\n"
-#~ "# No files."
-#~ msgstr ""
-#~ "\n"
-#~ "# No hay archivos."
-
-# Sugerencia: hash buckets -> `hash buckets'
-# (al menos hasta que sepamos lo que es, creo que me salió algo parecido
-# en recode). sv
-# Literalmente un hash bucket es un tonel de trozos. En un proceso de
-# partición por picadillo (hash) se deben definir "toneles" o "cubetas"
-# para guardar allí la información "hasheada". En otras palabras es el
-# tamaño de las entradas de índice hash. Claro como el lodo?
-# Finalmente, ok. Por ahora no traducimos hasta ponernos de acuerdo.
-#~ msgid ""
-#~ "\n"
-#~ "# %u files in %u hash buckets.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "# %u archivos en %u `hash buckets'.\n"
-
-#~ msgid "# average %.3f files per bucket, max %u files in one bucket.\n"
-#~ msgstr ""
-#~ "# promedio de %.3f archivos por `bucket', max %u archivos en un "
-#~ "`bucket'.\n"
-
-#~ msgid "Syntax error, still inside '\"'\n"
-#~ msgstr "Error de sintáxis, aún se está dentro de '\"'\n"
-
-# Recibida o capturada, pero por Dios , no pongas
-# 'se tiene' . En vez de hijo pon proceso hijo , y quita lo
-# que tienes entre paréntesis em+
-# Lo del paréntesis era para escoger. mm
-#~ msgid "Got a SIGCHLD; %u unreaped children.\n"
-#~ msgstr "Recibí una señal SIGCHLD; %u proceso hijo descarriado.\n"
-
-#~ msgid "DIRECTORY"
-#~ msgstr "DIRECTORIO"
-
-#~ msgid "Change to DIRECTORY before doing anything"
-#~ msgstr ""
-#~ "Debe desplazarse al directorio DIRECTORY antes de hacer cualquier cosa"
-
-#~ msgid "FLAGS"
-#~ msgstr "BANDERAS"
-
-#~ msgid "Suspend process to allow a debugger to attach"
-#~ msgstr "Suspender el proceso para permitir que un depurador se utilice"
-
-#~ msgid "Environment variables override makefiles"
-#~ msgstr "Las variables de entorno tienen prioridad sobre los makefiles"
-
-#~ msgid "FILE"
-#~ msgstr "ARCHIVO"
-
-#~ msgid "Read FILE as a makefile"
-#~ msgstr "Se leyó el ARCHIVO como makefile"
-
-#~ msgid "Search DIRECTORY for included makefiles"
-#~ msgstr "Se buscan en DIRECTORIO los archivos makefile incluídos"
-
-# Esto me suena a descripción de una opción, más que a un mensaje de error.
-# Sugerencia por lo tanto: "No se lanzan ..." sv
-# Estás en lo correcto. mm
-#~ msgid "Don't start multiple jobs unless load is below N"
-#~ msgstr ""
-#~ "No se lanzan varios trabajos a menos que la carga\n"
-#~ "sea inferior a N"
-
-# Lo mismo de antes. sv
-# Ok. mm
-#~ msgid "Don't actually run any commands; just print them"
-#~ msgstr "No se ejecutan las instrucciones; sólamente se muestran"
-
-#~ msgid "Consider FILE to be very old and don't remake it"
-#~ msgstr "Se considera el ARCHIVO demasiado viejo y no se reconstruye"
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "error interno: hay varias opciones --sync-mutex"
-# ¿ qué te parece ...
-# No se hace echo de las instrucciones em+
-# No me gusta. Que te parece lo que puse ahora? mm
-#~ msgid "Don't echo commands"
-#~ msgstr "Los comandos no se muestran con eco"
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "error interno: hay varias opciones --jobserver-fds"
-# Corregido error de tecleos ;) em+
-# Ok.
-#~ msgid "Turns off -k"
-#~ msgstr "Se deshabilita -k"
-
-# Lo mismo. sv
-# Se considera siempre como nuevo em+
-# Ok. Elimino el 'se' porque está describiendo a una opción. mm
-#~ msgid "Consider FILE to be infinitely new"
-#~ msgstr "Considera al ARCHIVO siempre como nuevo"
-
-# "Entrando en el" (fíjate que esto lo dice cuando entra en un directorio).
-# Habría que ver cómo queda. sv
-# Ver nota más adelante. mm
-# Cambiando a , me pareceria mucho mejor em+
-# En efecto. mm
-#~ msgid "Entering"
-#~ msgstr "Cambiando a"
-
-# "Dejando el", "Abandonando el". sv
-# Que tal "saliendo"? mm
-# Prefiero 'abandonando' , o 'saliendo de' em+
-# Que tal saliendo? mm
-#~ msgid "Leaving"
-#~ msgstr "Saliendo"
-
-# corregido el efecto indio , añado un 'un'em+
-# Ok. mm
-#~ msgid "no file name for `%sinclude'"
-#~ msgstr "no hay un nombre de archivo para `%sinclude'"
-
-#~ msgid "target `%s' leaves prerequisite pattern empty"
-#~ msgstr "El objetivo `%s' deja a los patrones de dependencias vacíos"
-
-#~ msgid "# No variables."
-#~ msgstr "# No hay variables."
-
-#~ msgid "# average of %.1f variables per bucket, max %u in one bucket.\n"
-#~ msgstr "# promedio de %.1f variables por `bucket', máx %u en un `bucket'.\n"
-
-#~ msgid "# average of %d.%d variables per bucket, max %u in one bucket.\n"
-#~ msgstr ""
-#~ "# promedio de %d.%d variables por `bucket', máx %u en un `bucket'.\n"
-
-#~ msgid "Error in lbr$ini_control, %d\n"
-#~ msgstr "Error en lbr$ini_control, %d\n"
-
-#~ msgid "Error looking up module %s in library %s, %d\n"
-#~ msgstr "Error al buscar el módulo %s en la biblioteca %s, %d\n"
-
-#~ msgid "Error getting module info, %d\n"
-#~ msgstr "Error al intentar obtener la información del módulo, %d\n"
-
-#~ msgid "touch: "
-#~ msgstr "touch: "
-
-#~ msgid " not"
-#~ msgstr " no"
-
-#~ msgid "# Last modified %.24s (%0lx)\n"
-#~ msgstr "# Última modificación %.24s (%0lx)\n"
-
-#~ msgid "undefined"
-#~ msgstr "indefinido"
-
-#~ msgid "file"
-#~ msgstr "archivo"
-
-# ¿ crees sinceramente que esto lo puede entender alguien ? em+
-# ¿ qué tal ? con preferencia sobre el entorno em+
-# No, está en AIX, ahora lo arreglo. mm
-#~ msgid "environment override"
-#~ msgstr "con preferencia sobre el entorno"
-
-# Habra que compilar esto inmediatamente e instalar
-# el .po a ver que es esto em+
-# No se puede por ahora pues make no ha sido internacionalizado aún.
-# Será una de las primeras cosas que haga en cuanto se pueda. mm
-#~ msgid "override"
-#~ msgstr "sobreposición"
-
-# Sugerencia: Borrar el "de" en "requiere de ..." sv
-# Perdón, siempre se me vá a pesar de haberlo discutido un buen rato. mm
-#~ msgid "the `word' function takes a one-origin index argument"
-#~ msgstr "la función `word' requiere un argumento indexado de tipo origen-uno"
-
-#~ msgid "implicit"
-#~ msgstr "implícita"
-
-#~ msgid "rule"
-#~ msgstr "regla"
-
-#~ msgid "Trying %s dependency `%s'.\n"
-#~ msgstr "Se intenta la dependencia %s `%s'.\n"
-
-#~ msgid "Found dependency as `%s'.%s\n"
-#~ msgstr "Se encuentra la dependencia como `%s'.%s\n"
-
-#~ msgid "intermediate"
-#~ msgstr "intermedia"
-
-# Preferiría mil veces "sin efecto" o algo parecido. sv
-# Ok. Habíamos quedado en `no tiene efecto'. mm
-#~ msgid " (ignored)"
-#~ msgstr " (no tiene efecto)"
-
-# Protestar al autor. No hay forma de poner trabajo(s) desconocido(s)
-# con coherencia. sv
-# Si, si no tienen identificado a su padre. Ni modo. mm
-# Pongo /s em+
-# Ok. mm
-#~ msgid "Unknown%s job %d"
-#~ msgstr "Trabajo%s desconocido/s %d"
-
-#~ msgid " remote"
-#~ msgstr " remoto"
-
-#~ msgid "%s finished."
-#~ msgstr "%s terminado."
-
-#~ msgid "losing"
-#~ msgstr "se pierde"
-
-#~ msgid "winning"
-#~ msgstr "se gana"
-
-# No me gusta como queda así.
-# Sugerencia: "%sGNU Make versión %s" sv
-# Aceptada. mm
-#~ msgid "%sGNU Make version %s"
-#~ msgstr "%sGNU Make versión %s"
-
-#~ msgid "Unknown error 12345678901234567890"
-#~ msgstr "Error desconocido 12345678901234567890"
-
-#~ msgid "User"
-#~ msgstr "Usuario"
-
-#~ msgid "Make"
-#~ msgstr "Make"
-
-#~ msgid "Child"
-#~ msgstr "Hijo"
-
-#~ msgid "Dependency `%s' does not exist.\n"
-#~ msgstr "La dependencia `%s' no existe.\n"
-
-#~ msgid "newer"
-#~ msgstr "más reciente"
-
-#~ msgid "older"
-#~ msgstr "más antigua"
-
-# Sugerencia: `socket' sv
-# Ok. mm
-#~ msgid "exporting: Couldn't create return socket."
-#~ msgstr "exportando: No se puede crear el `socket' de regreso."
-
-#~ msgid "exporting: "
-#~ msgstr "exportando: "
-
-#~ msgid "exporting: %s"
-#~ msgstr "exportando: %s"
-
-#~ msgid "Job exported to %s ID %u\n"
-#~ msgstr "El trabajo ha sido exportado a %s ID %u\n"
-
-#~ msgid "Error getting load average"
-#~ msgstr "Error al obtener la carga promedio"
-
-#~ msgid "1-minute: %f "
-#~ msgstr "1-minuto: %f "
-
-#~ msgid "5-minute: %f "
-#~ msgstr "5-minutos: %f "
-
-#~ msgid "15-minute: %f "
-#~ msgstr "15-minutos: %f "
-
-# argv-elements -> elementos argv. sv
-# (A poco C que sepas, sabrás lo que es).
-# Algunos si, algunos no. Pero tienes razón. mm
-#~ msgid "digits occur in two different argv-elements.\n"
-#~ msgstr "los dígitos están en dos elementos argv distintos.\n"
-
-#~ msgid "option %c\n"
-#~ msgstr "opción %c\n"
-
-#~ msgid "option a\n"
-#~ msgstr "opción a\n"
-
-#~ msgid "option b\n"
-#~ msgstr "opción b\n"
-
-# Sugerencia: La opción c tiene el valor `%s'
-# Hay un mensaje idéntico en hello. sv
-# Me gusta mucho. mm
-#~ msgid "option c with value `%s'\n"
-#~ msgstr "La opción c tiene el valor `%s'\n"
-
-#~ msgid "?? getopt returned character code 0%o ??\n"
-#~ msgstr "?? getopt() regresó un cáracter con código 0%o ??\n"
-
-# Elementos ARGV que no son opciones: sv
-# Ok. mm.
-# Esto es:
-# Elementos de ARGV 'que' no son opciones:
-# pero tambien es un mensaje de debug del propio make, asi
-# que no me preocupa ( no aparecerá a usuarios normales de make ) em+
-# Bueno, pero de todas formas se corrige. mm
-#~ msgid "non-option ARGV-elements: "
-#~ msgstr "los elementos ARGV que no son opciones: "
-
-#~ msgid "option d with value `%s'\n"
-#~ msgstr "opción d con valor `%s'\n"
-
-#~ msgid "%s: unknown signal"
-#~ msgstr "%s: señal desconocida"
+# Propongo eliminar la palabra virtual. sv
+# Pero si es muy bonita. :) Bueno. Como ya platicamos puede que sea
+# una buena idea pero, por ahora la dejaría. mm
+#~ msgid "virtual memory exhausted"
+#~ msgstr "memoria virtual agotada"
-#~ msgid "Signal 12345678901234567890"
-#~ msgstr "Señal 12345678901234567890"
+#~ msgid "write error"
+#~ msgstr "error al escribir"
-#~ msgid "Signal %d"
-#~ msgstr "Señal %d"
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "RM INTERCONSTRUIDO %s\n"
diff --git a/po/fi.gmo b/po/fi.gmo
index cc9ea0c4..4967e238 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index b85fbc44..ab3df021 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -7,116 +7,122 @@ msgid ""
msgstr ""
"Project-Id-Version: make 3.81-b3\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-0400\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 <lanurmi@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
+"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ar.c:48
-#, c-format
-msgid "attempt to use unsupported feature: `%s'"
+#: ar.c:46
+#, fuzzy, c-format
+msgid "attempt to use unsupported feature: '%s'"
msgstr "yritettiin käyttää ominaisuutta, jolle ei ole tukea: \"%s\""
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
msgstr "arkistojäsenten kosketus ei ole mahdollista VMS:ssä"
-#: ar.c:149
-#, c-format
-msgid "touch: Archive `%s' does not exist"
+#: ar.c:147
+#, fuzzy, c-format
+msgid "touch: Archive '%s' does not exist"
msgstr "touch: Arkistoa \"%s\" ei ole olemassa"
-#: ar.c:152
-#, c-format
-msgid "touch: `%s' is not a valid archive"
+#: ar.c:150
+#, fuzzy, c-format
+msgid "touch: '%s' is not a valid archive"
msgstr "touch: \"%s\" ei ole kelvollinen arkisto"
-#: ar.c:159
-#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
+#: ar.c:157
+#, fuzzy, c-format
+msgid "touch: Member '%s' does not exist in '%s'"
msgstr "touch: Arkistossa \"%1$s\" ei ole jäsentä \"%2$s\""
-#: ar.c:166
-#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
+#: ar.c:164
+#, fuzzy, c-format
+msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "touch: ar_member_touch antoi virheellisen paluuarvon kohteesta \"%s\""
-#: arscan.c:69
+#: 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"
-#: arscan.c:175
+#: arscan.c:230
#, fuzzy, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "lbr$ini_control epäonnistui, tila = %d"
-#: arscan.c:187
-#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
+#: 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"
-#: arscan.c:850
-#, c-format
-msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
+#: 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"
-#: arscan.c:851
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (nimi voi olla typistynyt)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Päiväys %s"
-#: arscan.c:854
+#: 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:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr ""
+
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Katkaisu.\n"
-#: commands.c:622
-#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
+#: 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"
-#: commands.c:625
-#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
+#: commands.c:633
+#, fuzzy, c-format
+msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr "*** Arkistojäsen \"%s\" voi olla viallinen - ei poisteta"
-#: commands.c:638
-#, c-format
-msgid "*** [%s] Deleting file `%s'"
+#: commands.c:647
+#, fuzzy, c-format
+msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] Poistetaan tiedosto \"%s\""
-#: commands.c:640
-#, c-format
-msgid "*** Deleting file `%s'"
+#: commands.c:649
+#, fuzzy, c-format
+msgid "*** Deleting file '%s'"
msgstr "*** Poistetaan tiedosto \"%s\""
-#: commands.c:676
+#: commands.c:685
#, fuzzy
msgid "# recipe to execute"
msgstr "# käynnisetttävät komennot"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
msgstr " (sisäänrakennettu):"
-#: commands.c:681
-#, c-format
-msgid " (from `%s', line %lu):\n"
+#: commands.c:690
+#, fuzzy, c-format
+msgid " (from '%s', line %lu):\n"
msgstr " (tiedostosta \"%s\", rivi %lu):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -124,224 +130,228 @@ msgstr ""
"\n"
"# Hakemistot\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
msgstr "# %s: tilaa ei voitu lukea.\n"
-#: dir.c:1012
+#: 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:1016
+#: 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:1021
+#: 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:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
msgstr "# %s (avain %s, maika %d: "
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
msgstr "# %s (laite %d, i-solmu [%d,%d,%d]): "
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
msgstr "# %s (laite %ld, i-solmu %ld): "
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "Ei"
# Juuri näin, muodostetaan käännöslause yksittäisistä sanoista...
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr " tiedostoa, "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "ei"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
msgstr " mahdottomuutta"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
msgstr " tähän mennessä."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
msgstr " mahdottomuutta %lu hakemistossa.\n"
-#: expand.c:127
-#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
+#: expand.c:125
+#, fuzzy, c-format
+msgid "Recursive variable '%s' references itself (eventually)"
msgstr "Rekursiivinen muuttuja \"%s\" viittaa (lopulta) itseensä"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
msgstr "päättämätön muuttujaviittaus"
-#: file.c:267
+#: file.c:271
#, fuzzy, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
+msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "Tiedostolle \"%s\" määriteltiin komentoja paikassa %s:%lu,"
-#: file.c:272
+#: file.c:276
#, fuzzy, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
+msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr "Tiedostolle \"%s\" löytyi komentoja oletussääntöhaussa,"
-#: file.c:275
-#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
+#: 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\"."
-#: file.c:278
+#: file.c:283
#, fuzzy, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
+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\"."
-#: file.c:298
+#: file.c:303
#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
+msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr ""
-#: file.c:303
+#: file.c:309
#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
+msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr ""
-#: file.c:392
-#, c-format
-msgid "*** Deleting intermediate file `%s'"
+#: file.c:401
+#, fuzzy, c-format
+msgid "*** Deleting intermediate file '%s'"
msgstr "*** Poistetaan aputiedosto \"%s\""
-#: file.c:396
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Poistetaan aputiedostot...\n"
-#: file.c:803
+#: file.c:811
+msgid "Current time"
+msgstr "Tämänhetkinen aika"
+
+#: 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:804
-msgid "Current time"
-msgstr "Tämänhetkinen aika"
-
-#: file.c:924
+#: file.c:955
msgid "# Not a target:"
msgstr "# Ei kohde:"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Arvokas tiedosto (ennakkoehto .PRECIOUS:ille)."
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Valekohde (ennakkoehto .PHONY:lle)."
-#: file.c:933
+#: file.c:964
#, fuzzy
msgid "# Command line target."
msgstr "# Komentorivikohde."
-#: file.c:935
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Oletus-, MAKEFILES- tai -include/sinclude -makefile-tiedosto."
-#: file.c:937
+#: file.c:968
+#, fuzzy
+msgid "# Builtin rule"
+msgstr ""
+"\n"
+"# Ei oletussääntöjä."
+
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Oletussääntöhaku on suoritettu."
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Oletussääntöhakua ei ole suoritettu."
-#: file.c:940
+#: file.c:973
#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
+msgid "# Implicit/static pattern stem: '%s'\n"
msgstr ""
-#: file.c:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Tiedosto on välitason ennakkoehto."
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
msgstr "# Tuotetaan myös:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Muutosaikaa ei koskaan tarkastettu."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
msgstr "# Tiedosto ei ole olemassa."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
msgstr "# Tiedosto on hyvin vanha."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Viimeksi muutettu %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
msgstr "# Tiedosto on päivitetty."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Tiedostoa ei ole päivitetty."
-#: file.c:968
+#: file.c:1001
#, fuzzy
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Ajossa olevat komennot (TÄMÄ ON OHJELMISTOVIKA)."
-#: file.c:971
+#: file.c:1004
#, fuzzy
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Ajossa olevat riippuvuuskomennot (TÄMÄ ON OHJELMISTOVIKA)."
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Päivitetty onnistuneesti."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Vaatii päivitystä (-q on asetettu)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Päivitys epäonnistui."
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# Virheellinen arvo \"update_status\"-jäsenessä!"
-
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
+#: file.c:1025
+#, fuzzy
+msgid "# Invalid value in 'command_state' member!"
msgstr "# Virheellinen arvo \"command_state\"-jäsenessä!"
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -349,7 +359,7 @@ msgstr ""
"\n"
"# Tiedostot"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -359,117 +369,175 @@ msgstr ""
"# tilasto tiedostojen hajautustaulusta:\n"
"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr ""
+
+#: function.c:780
+#, fuzzy
+msgid "non-numeric first argument to 'word' function"
msgstr "ei-numeerinen ensimmäinen argumentti \"word\"-funktiolle"
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
+#: 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"
-#: function.c:783
-msgid "non-numeric first argument to `wordlist' function"
+#: function.c:805
+#, fuzzy
+msgid "non-numeric first argument to 'wordlist' function"
msgstr "ei-numeerinen ensimmäinen argumentti \"wordlist\"-funktiolle"
-#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
+#: function.c:807
+#, fuzzy
+msgid "non-numeric second argument to 'wordlist' function"
msgstr "ei-numeerinen toinen argumentti \"wordlist\"-funktiolle"
-#: function.c:1458
+#: function.c:1499
#, fuzzy, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "create_child_process: DuplicateHandle(In) epäonnistui (v=%d)\n"
-#: function.c:1469
+#: function.c:1523
#, fuzzy, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "create_child_process: DuplicateHandle(Err) epäonnistui (v=%d)\n"
-#: function.c:1474
+#: function.c:1530
#, fuzzy, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() epäonnistui (v=%d)\n"
-#: function.c:1479
+#: function.c:1538
#, fuzzy
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe (): process_init_fd() epäonnistui\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Siivotaan väliaikainen komentotiedosto %s\n"
-#: function.c:2150
+#: function.c:2193
#, fuzzy, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
+msgid "open: %s: %s"
+msgstr "%s: %s"
+
+#: function.c:2203
+#, fuzzy, c-format
+msgid "write: %s: %s"
+msgstr "kirjoitusvirhe: %s"
+
+#: function.c:2209
+#, c-format
+msgid "Invalid file operation: %s"
+msgstr ""
+
+#: function.c:2324
+#, fuzzy, c-format
+msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "Liian vähän (%d) argumenttejeja funktiolle \"%s\""
-#: function.c:2162
+#: function.c:2336
#, fuzzy, c-format
-msgid "unimplemented on this platform: function `%s'"
+msgid "unimplemented on this platform: function '%s'"
msgstr "Ei toteutettu tällä alustalla: funktio \"%s\""
-#: function.c:2212
-#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
+#: 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\""
-#: getopt.c:661
+#: function.c:2591
+msgid "Empty function name"
+msgstr ""
+
+#: function.c:2593
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: valitsin \"%s\" on moniselitteinen\n"
+msgid "Invalid function name: %s"
+msgstr ""
-#: getopt.c:685
+#: function.c:2595
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "Function name too long: %s"
+msgstr ""
+
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr "Liian vähän (%d) argumenttejeja funktiolle \"%s\""
+
+#: function.c:2601
+#, fuzzy, c-format
+msgid "Invalid maximum argument count (%d) for function %s"
+msgstr "Liian vähän (%d) argumenttejeja funktiolle \"%s\""
+
+#: getopt.c:659
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: valitsin \"%s\" on moniselitteinen\n"
+
+#: getopt.c:683
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: valitsin \"--%s\" ei salli argumenttia\n"
-#: getopt.c:690
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+#: getopt.c:688
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: valitsin \"%c%s\" ei salli argumenttia\n"
-#: getopt.c:707 getopt.c:880
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
+#: getopt.c:705 getopt.c:878
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s: valitsin \"%s\" vaatii argumentin\n"
-#: getopt.c:736
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+#: getopt.c:734
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: tunnistamaton valitsin \"--%s\"\n"
-#: getopt.c:740
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:738
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: tunnistamaton valitsin \"%c%s\"\n"
-#: getopt.c:766
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: virheellinen valitsin -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: virheellinen valitsin -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: valitsin vaatii argumentin -- %c\n"
-#: getopt.c:846
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:844
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: valitsin \"-W %s\" on moniselitteinen\n"
-#: getopt.c:864
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:862
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: valitsin \"-W %s\" ei salli argumenttia\n"
+#: guile.c:58
+#, c-format
+msgid "guile: Expanding '%s'\n"
+msgstr ""
+
+#: guile.c:74
+#, c-format
+msgid "guile: Evaluating '%s'\n"
+msgstr ""
+
#: hash.c:49
#, fuzzy, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
@@ -490,131 +558,156 @@ msgstr "Uudelleenhajautus=%d, "
msgid "Collisions=%ld/%ld=%.0f%%"
msgstr "Törmäykset=%ld/%ld=%.0f%%"
-#: implicit.c:40
-#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
+#: implicit.c:38
+#, fuzzy, c-format
+msgid "Looking for an implicit rule for '%s'.\n"
msgstr "Etsitään oletussääntöä kohteelle \"%s\".\n"
-#: implicit.c:56
-#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
+#: implicit.c:54
+#, fuzzy, c-format
+msgid "Looking for archive-member implicit rule for '%s'.\n"
msgstr "Etsitään arkistojäsenen oletussääntöä kohteelle \"%s\".\n"
-#: implicit.c:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
msgstr "Vältetään oletussääntörekursio.\n"
-#: implicit.c:491
+#: implicit.c:486
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
+msgid "Stem too long: '%.*s'.\n"
+msgstr ""
+
+#: implicit.c:491
+#, fuzzy, c-format
+msgid "Trying pattern rule with stem '%.*s'.\n"
msgstr "Kokeillaan hahmosääntöä rungolla \"%.*s\".\n"
-#: implicit.c:674
-#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
+#: implicit.c:697
+#, fuzzy, c-format
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
msgstr "Hylätään mahdoton säännön ennakkoehto \"%s\".\n"
-#: implicit.c:675
-#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
+#: implicit.c:698
+#, fuzzy, c-format
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
msgstr "Hylätään mahdoton oletusennakkoehto \"%s\".\n"
-#: implicit.c:688
-#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
+#: implicit.c:711
+#, fuzzy, c-format
+msgid "Trying rule prerequisite '%s'.\n"
msgstr "Yritetään käyttää säännön ennakkoehtoa \"%s\".\n"
-#: implicit.c:689
-#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
+#: implicit.c:712
+#, fuzzy, c-format
+msgid "Trying implicit prerequisite '%s'.\n"
msgstr "Yritetään käyttää oletusennakkoehtoa \"%s\".\n"
-#: implicit.c:728
-#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
+#: implicit.c:751
+#, fuzzy, c-format
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
msgstr "Löydettiin ennakkoehto \"%s\", joka on VPATH \"%s\"\n"
-#: implicit.c:742
-#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
+#: implicit.c:765
+#, fuzzy, c-format
+msgid "Looking for a rule with intermediate file '%s'.\n"
msgstr "Etsitään sääntöä aputiedostolla \"%s\".\n"
-#: job.c:335
+#: job.c:361
msgid "Cannot create a temporary file\n"
msgstr "Väliaikaistiedoston luominen ei onnistu\n"
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] Virhe 0x%x (ei huomioida)"
-
-#: job.c:450
-#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] Virhe 0x%x"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (muisti vedostettu)"
-#: job.c:454
-#, c-format
-msgid "[%s] Error %d (ignored)"
+#: job.c:488
+#, fuzzy
+msgid " (ignored)"
msgstr "[%s] Virhe %d (ei huomioida)"
-#: job.c:455
+#: job.c:492 job.c:2046
+#, fuzzy
+msgid "<builtin>"
+msgstr " (sisäänrakennettu):"
+
+#: job.c:503
#, c-format
-msgid "*** [%s] Error %d"
+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:460
-msgid " (core dumped)"
-msgstr " (muisti vedostettu)"
+#: 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:549
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Odotetaan keskeneräisiä töitä...."
-#: job.c:579
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr ""
-#: job.c:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (etä)"
-#: job.c:758
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr ""
-#: job.c:759
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr ""
-#: job.c:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Siivotaan väliaikainen komentotiedosto %s\n"
-#: job.c:861
+#: 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: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:920
-msgid "write jobserver"
-msgstr "työpalvelimen kirjoitus"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
+msgstr ""
-#: job.c:922
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr ""
-#: job.c:1453 job.c:2094
+#: 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:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -623,111 +716,169 @@ msgstr ""
"\n"
"Laskettiin %d argumenttia epäonnistuneessa käynnistyksessä\n"
-#: job.c:1525
+#: 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:1778
+#: 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:1787
+#: job.c:2029
msgid "read jobs pipe"
msgstr "työputken luku"
-#: job.c:1798
-#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr ""
+#: job.c:2056
+#, fuzzy, c-format
+msgid "%s: target '%s' does not exist"
+msgstr "touch: Arkistoa \"%s\" ei ole olemassa"
-#: job.c:1802
+#: job.c:2059
#, fuzzy, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "Ei tarvetta uudelleentuottaa kohdetta \"%s\""
+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"
-#: job.c:1910
+#: 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:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "kuormarajaa ei voi ottaa käyttöön: "
-#: job.c:1985
+#: 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:1987
+#: 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:2015
+#: job.c:2278
+#, fuzzy
+msgid "no more file handles: could not duplicate stderr\n"
+msgstr ""
+"tiedostokahvoja ei ole enempää: vakiosyötteen kahdentaminen ei onnistunut\n"
+
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "Vakiosyötettä ei voitu palauttaa\n"
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Vakiotulostetta ei voitu palauttaa\n"
-#: job.c:2127
+#: job.c:2309
+#, fuzzy
+msgid "Could not restore stderr\n"
+msgstr "Vakiosyötettä ei voitu palauttaa\n"
+
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr ""
-#: job.c:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Komentoa ei löytynyt"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Kuoriohjelmaa ei löytynyt"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: ympäristötila saattaa olla lopussa"
-#: job.c:2461
-#, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
+#: job.c:2765
+#, fuzzy, c-format
+msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "$SHELL muuttunut (oli \"%s\", nyt \"%s\")\n"
-#: job.c:2951
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Luodaan väliaikainen komentotiedosto %s\n"
-#: job.c:2963
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-#: job.c:3065
+#: 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"
-#: main.c:303
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr ""
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr ""
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr ""
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr ""
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr ""
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr ""
+
+#: 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:313
msgid "Options:\n"
msgstr "Valitsimet:\n"
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr ""
" -b, -m Yhteensopivuuden vuoksi jätetään huomiotta.\n"
-#: main.c:306
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr " -B, --always-make Tuota kaikki kohteet ehdoitta.\n"
-#: main.c:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -735,16 +886,16 @@ msgstr ""
" -C HAKEMISTO, --directory=HAKEMISTO\n"
" Siirry HAKEMISTOon ennen jatkamista.\n"
-#: main.c:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr " -d Näytä runsaasti vianetsintätietoja.\n"
-#: main.c:313
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr " --debug[=LIPUT] Näytä monenlaisia vianetsintätietoja.\n"
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -753,12 +904,12 @@ msgstr ""
" Ympäristömuuttujat kumoavat makefile-"
"tiedostot.\n"
-#: main.c:318
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
-#: main.c:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -766,18 +917,18 @@ msgstr ""
" -f TIEDOSTO, --file=TIEDOSTO, --makefile=TIEDOSTO\n"
" Käytä TIEDOSTOa makefile-tiedostona.\n"
-#: main.c:323
+#: 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:325
+#: 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:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -786,7 +937,7 @@ msgstr ""
" Etsi sisällytettäviä makefile:ja "
"HAKEMISTOsta.\n"
-#: main.c:330
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -794,14 +945,14 @@ msgstr ""
" -j [N], --jobs[=N] Salli N yhtäaikaista työtä; ilman N:ää "
"ääretön.\n"
-#: main.c:332
+#: 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:334
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -811,7 +962,7 @@ msgstr ""
" Älä aloita useita töitä ellei kuormitus alle "
"N.\n"
-#: main.c:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -819,7 +970,7 @@ msgstr ""
" -L, --check-symlink-times Käytä uusinta mtime-aikaa symlinkkien ja\n"
" kohteen välillä.\n"
-#: main.c:339
+#: main.c:349
#, fuzzy
msgid ""
" -n, --just-print, --dry-run, --recon\n"
@@ -830,7 +981,7 @@ msgstr ""
" Näytä ajettavat komennot, älä käynnistä "
"niitä.\n"
-#: main.c:342
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -839,11 +990,17 @@ msgstr ""
" -o TIEDOSTO, --old-file=TIEDOSTO, --assume-old=TIEDOSTO\n"
" Käsittele TIEDOSTO vanhana, älä tuota sitä.\n"
-#: main.c:345
+#: main.c:355
+msgid ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
+msgstr ""
+
+#: 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:347
+#: main.c:360
#, fuzzy
msgid ""
" -q, --question Run no recipe; exit status says if up to "
@@ -852,22 +1009,22 @@ msgstr ""
" -q, --question Älä aja komentoja; paluuarvo kertoo ajan-\n"
" tasaisuuden.\n"
-#: main.c:349
+#: 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:351
+#: 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:353
+#: main.c:366
#, fuzzy
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Älä kaiuta komentoja.\n"
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -875,20 +1032,25 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Kumoaa valitsimen -k.\n"
-#: main.c:358
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr " -t, --touch Kosketa kohteita tuottamisen sijaan.\n"
-#: main.c:360
+#: main.c:373
+#, fuzzy
+msgid " --trace Print tracing information.\n"
+msgstr " -d Näytä runsaasti vianetsintätietoja.\n"
+
+#: 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:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Näytä nykyinen hakemisto.\n"
-#: main.c:364
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -896,7 +1058,7 @@ msgstr ""
" --no-print-directory Kumoa -w, vaikka se olisi käytössä "
"oletuksena.\n"
-#: main.c:366
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -905,7 +1067,7 @@ msgstr ""
"new=TIEDOSTO\n"
" Käsittele TIEDOSTO aina uutena.\n"
-#: main.c:369
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -913,21 +1075,26 @@ msgstr ""
" --warn-undefined-variables Varoita viittauksista määrittelemättömiin\n"
" muuttujiin.\n"
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "tyhjä merkkijono ei kelpaa tiedostonimeksi"
-#: main.c:650
-#, c-format
-msgid "unknown debug level specification `%s'"
+#: main.c:737
+#, fuzzy, c-format
+msgid "unknown debug level specification '%s'"
msgstr "tuntematon vianetsintätason määritys \"%s\""
-#: main.c:690
+#: main.c:774
+#, c-format
+msgid "unknown output-sync type '%s'"
+msgstr ""
+
+#: 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%x, osoite = 0x%x)\n"
-#: main.c:697
+#: main.c:835
#, fuzzy, c-format
msgid ""
"\n"
@@ -942,164 +1109,182 @@ msgstr ""
"Poikkeusliput = %x\n"
"Poikkeusosoite = %x\n"
-#: main.c:705
+#: main.c:843
#, fuzzy, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "Suojausvirhe: kirjoitusoperaatio osoitteeseen %x\n"
-#: main.c:706
+#: main.c:844
#, fuzzy, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "Suojausvirhe: lukuoperaatio osoitteeseen %x\n"
-#: main.c:781 main.c:792
+#: 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:834
+#: 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:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s keskeytyy 30 sekunniksi..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "sleep(30) valmis. Jatketaan.\n"
-#: main.c:1501
+#: 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 "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: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:1539 vmsjobs.c:500
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (väliaikaistiedosto)"
-#: main.c:1545
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (väliaikaistiedosto)"
-#: main.c:1703
+#: 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:1704
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Palataan yhden työn (-j1) tilaan."
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "sisäinen virhe: useitan --jobserver-fds -valitsimia"
-
-#: main.c:1727
+#: main.c:1994
#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
-msgstr "sisäinen virhe: virheellinen --jobserver-fds -merkkijono \"%s\""
-
-#: main.c:1730
-#, c-format
-msgid "Jobserver client (fds %d,%d)\n"
+msgid "Jobserver slots limited to %d\n"
msgstr ""
-#: main.c:1740
-msgid "warning: -jN forced in submake: disabling jobserver mode."
-msgstr "varoitus: -jN pakotettu ali-make:ssa: poistetaan työpalvelin käytöstä."
-
-#: main.c:1750
-msgid "dup jobserver"
-msgstr "kaksinkertainen työpalvelin"
-
-#: main.c:1753
-msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
+#: main.c:2002
+#, c-format
+msgid "creating jobserver semaphore: (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:1777
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "luodaan työputki"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "alustetaan työpalvelimen putki"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "Ei tukea symbolisille linkeille: poistetaan -L käytöstä."
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Päivitetään makefile-tiedostoja....\n"
-#: main.c:1917
-#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
+#: 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"
-#: main.c:1996
-#, c-format
-msgid "Failed to remake makefile `%s'."
+#: main.c:2237
+#, fuzzy, c-format
+msgid "Failed to remake makefile '%s'."
msgstr "Makefile-tiedoston \"%s\" uudelleentuottaminen epäonnistui."
-#: main.c:2013
-#, c-format
-msgid "Included makefile `%s' was not found."
+#: main.c:2257
+#, fuzzy, c-format
+msgid "Included makefile '%s' was not found."
msgstr "Sisällytettyä makefile-tiedostoa \"%s\" ei löytynyt."
-#: main.c:2018
-#, c-format
-msgid "Makefile `%s' was not found"
+#: main.c:2262
+#, fuzzy, c-format
+msgid "Makefile '%s' was not found"
msgstr "Makefile-tiedostoa \"%s\" ei löytynyt"
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Ei voitu siirtyä takaisin alkuperäiseen hakemistoon."
-#: main.c:2102
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Uudelleenkäynnistetään[%u]:"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (väliaikaistiedosto): "
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL sisältää yli yhden kohteen"
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Kohteita ei ole annettu, eikä makefileä löytynyt"
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
msgstr "Ei kohteita"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr ""
-#: main.c:2306
+#: 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:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Käyttö: %s [valitsimet] [kohde] ...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1108,7 +1293,7 @@ msgstr ""
"\n"
"Tämä ohjelma on käännetty järjestelmälle %s.\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1117,37 +1302,37 @@ msgstr ""
"\n"
"Tämä ohjelma on käännetty järjestelmälle %s (%s).\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr ""
"Ilmoita ohjelmistovioista (englanniksi) osoitteeseen <bug-make@gnu.org>.\n"
-#: main.c:2562
+#: main.c:2807
#, fuzzy, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
+msgid "the '%s%s' option requires a non-empty string argument"
msgstr "valitsin \"-%c\" vaatii ei-tyhjän merkkijonoargumentin"
-#: main.c:2617
-#, c-format
-msgid "the `-%c' option requires a positive integral argument"
+#: main.c:2871
+#, fuzzy, c-format
+msgid "the '-%c' option requires a positive integer argument"
msgstr "valitsin \"-%c\" vaatii positiivisen kokonaislukuargumentin"
-#: main.c:3054
+#: main.c:3269
#, fuzzy, c-format
msgid "%sBuilt for %s\n"
msgstr ""
"\n"
"%sTämä ohjelma on käännetty järjestelmälle %s.\n"
-#: main.c:3056
+#: main.c:3271
#, fuzzy, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr ""
"\n"
"%sTämä ohjelma on käännetty järjestelmälle %s (%s).\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1156,7 +1341,7 @@ msgid ""
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1165,7 +1350,7 @@ msgstr ""
"\n"
"# Make-tietokanta, tulostettu %s"
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1174,453 +1359,468 @@ msgstr ""
"\n"
"# Make-tietokanta saatu valmiiksi %s\n"
-#: main.c:3237
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "Tuntematon virhe %d"
+
+#: misc.c:522
+#, c-format
+msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+msgstr "%s: käyttäjä %lu (todellinen %lu), ryhmä %lu (todellinen %lu)\n"
+
+#: misc.c:543
+msgid "Initialized access"
+msgstr "Alkuperäiset käyttöoikeudet"
+
+#: misc.c:622
+msgid "User access"
+msgstr "Käyttäjän käyttöoikeudet"
+
+#: misc.c:670
+msgid "Make access"
+msgstr "Make-prosessin käyttöoikeudet"
+
+#: misc.c:704
+msgid "Child access"
+msgstr "Lapsiprosessin käyttöoikeudet"
+
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: Siirrytään tuntemattomaan hakemistoon\n"
-#: main.c:3239
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: Poistutaan tuntemattomasta hakemistosta\n"
-#: main.c:3242
-#, c-format
-msgid "%s: Entering directory `%s'\n"
+#: output.c:109
+#, fuzzy, c-format
+msgid "%s: Entering directory '%s'\n"
msgstr "%s: Siirrytään hakemistoon \"%s\"\n"
-#: main.c:3245
-#, c-format
-msgid "%s: Leaving directory `%s'\n"
+#: output.c:111
+#, fuzzy, c-format
+msgid "%s: Leaving directory '%s'\n"
msgstr "%s: Poistutaan hakemistosta \"%s\"\n"
-#: main.c:3250
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: Siirrytään tuntemattomaan hakemistoon\n"
-#: main.c:3253
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Poistutaan tuntemattomasta hakemistosta\n"
-#: main.c:3257
-#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
+#: output.c:120
+#, fuzzy, c-format
+msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: Siirrytään hakemistoon \"%s\"\n"
-#: main.c:3260
-#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
+#: output.c:122
+#, fuzzy, c-format
+msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: Poistutaan hakemistosta \"%s\"\n"
-#: misc.c:316
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
+msgstr "kirjoitusvirhe: %s"
+
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Seis.\n"
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "Tuntematon virhe %d"
-
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "virtuaalimuisti lopussa"
-
-#: misc.c:708
-#, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: käyttäjä %lu (todellinen %lu), ryhmä %lu (todellinen %lu)\n"
-
-#: misc.c:729
-msgid "Initialized access"
-msgstr "Alkuperäiset käyttöoikeudet"
-
-#: misc.c:808
-msgid "User access"
-msgstr "Käyttäjän käyttöoikeudet"
-
-#: misc.c:856
-msgid "Make access"
-msgstr "Make-prosessin käyttöoikeudet"
-
-#: misc.c:890
-msgid "Child access"
-msgstr "Lapsiprosessin käyttöoikeudet"
-
-#: misc.c:954
-#, c-format
-msgid "write error: %s"
-msgstr "kirjoitusvirhe: %s"
-
-#: misc.c:956
-msgid "write error"
-msgstr "kirjoitusvirhe"
-
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
msgstr "Luetaan makefile-tiedostoja...\n"
-#: read.c:333
-#, c-format
-msgid "Reading makefile `%s'"
+#: read.c:335
+#, fuzzy, c-format
+msgid "Reading makefile '%s'"
msgstr "Luetaan makefile-tiedosto \"%s\""
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr ""
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (hakupolku)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (ei välitetä)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (ei ~-laajennusta)"
-#: read.c:759
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr ""
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr ""
+
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "virheellinen syntaksi ehtolauseessa"
-#: read.c:891
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr ""
+
+#: read.c:992
#, fuzzy
msgid "recipe commences before first target"
msgstr "komennot alkavat ennen ensimmäistä kohdetta"
-#: read.c:940
+#: read.c:1041
#, fuzzy
msgid "missing rule before recipe"
msgstr "puuttuva sääntö ennen komentoja"
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "puuttuva erotin%s"
-
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (ehkä tarkoitit sarkainta eikä kahdeksaa välilyöntiä?)"
-#: read.c:1163
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "puuttuva erotin%s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "puuttuva kohdehahmo"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
msgstr "useita kohdehahmoja"
-#: read.c:1169
-#, c-format
-msgid "target pattern contains no `%%'"
+#: read.c:1276
+#, fuzzy, c-format
+msgid "target pattern contains no '%%'"
msgstr "kohdehahmo ei sisällä %%-merkkiä"
-#: read.c:1293
-msgid "missing `endif'"
+#: read.c:1398
+#, fuzzy
+msgid "missing 'endif'"
msgstr "puuttuva \"endif\""
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "tyhjä muuttujan nimi"
-#: read.c:1367
+#: read.c:1471
#, fuzzy
-msgid "extraneous text after `define' directive"
+msgid "extraneous text after 'define' directive"
msgstr "Ylimääräistä tekstiä \"endef\"-toimintaohjeen jälkeen"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
+#: read.c:1496
+#, fuzzy
+msgid "missing 'endef', unterminated 'define'"
msgstr "puuttuva \"endef\", päättämätön \"define\""
-#: read.c:1420
+#: read.c:1524
#, fuzzy
-msgid "extraneous text after `endef' directive"
+msgid "extraneous text after 'endef' directive"
msgstr "Ylimääräistä tekstiä \"endef\"-toimintaohjeen jälkeen"
-#: read.c:1490
-#, c-format
-msgid "Extraneous text after `%s' directive"
+#: read.c:1595
+#, fuzzy, c-format
+msgid "extraneous text after '%s' directive"
msgstr "Ylimääräistä tekstiä \"%s\"-toimintaohjeen jälkeen"
-#: read.c:1499 read.c:1513
-#, c-format
-msgid "extraneous `%s'"
+#: read.c:1596
+#, fuzzy, c-format
+msgid "extraneous '%s'"
msgstr "ylimääräinen \"%s\""
-#: read.c:1518
-msgid "only one `else' per conditional"
+#: read.c:1624
+#, fuzzy
+msgid "only one 'else' per conditional"
msgstr "vain yksi \"else\" ehtolausetta kohden"
-#: read.c:1797
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Väärin muotoiltu kohdekohtainen muuttujamäärittely"
# skripti?
-#: read.c:1855
+#: read.c:1957
#, fuzzy
msgid "prerequisites cannot be defined in recipes"
msgstr "ennakkoehtoja ei voi määritellä komentoskripteissä"
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr ""
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr ""
-#: read.c:1976
-#, c-format
-msgid "target `%s' doesn't match the target pattern"
+#: read.c:2091
+#, fuzzy, c-format
+msgid "target '%s' doesn't match the target pattern"
msgstr "kohde \"%s\" ei täsmää kohdehahmon kanssa"
-#: read.c:1991 read.c:2036
-#, c-format
-msgid "target file `%s' has both : and :: entries"
+#: read.c:2106 read.c:2152
+#, fuzzy, c-format
+msgid "target file '%s' has both : and :: entries"
msgstr "kohdetiedostolla \"%s\" on sekä :- että ::-merkinnät"
-#: read.c:1997
-#, c-format
-msgid "target `%s' given more than once in the same rule."
+#: read.c:2112
+#, fuzzy, c-format
+msgid "target '%s' given more than once in the same rule"
msgstr "kohde \"%s\" annettu yli yhden kerran samassa säännössä."
-#: read.c:2006
+#: read.c:2122
#, fuzzy, c-format
-msgid "warning: overriding recipe for target `%s'"
+msgid "warning: overriding recipe for target '%s'"
msgstr "varoitus: syrjäytetään kohteen \"%s\" komennot"
-#: read.c:2009
+#: read.c:2125
#, fuzzy, c-format
-msgid "warning: ignoring old recipe for target `%s'"
+msgid "warning: ignoring old recipe for target '%s'"
msgstr "varoitus: ei huomioida vanhoja komentoja kohteelle \"%s\""
-#: read.c:2392
+#: read.c:2229
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr ""
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "varoitus: havaittu NUL-merkki, rivin loppuosaa ei huomioida"
-#: remake.c:234
-#, c-format
-msgid "Nothing to be done for `%s'."
+#: remake.c:230
+#, fuzzy, c-format
+msgid "Nothing to be done for '%s'."
msgstr "Kohteelle \"%s\" ei tarvitse tehdä mitään."
-#: remake.c:235
-#, c-format
-msgid "`%s' is up to date."
+#: remake.c:231
+#, fuzzy, c-format
+msgid "'%s' is up to date."
msgstr "\"%s\" on ajan tasalla."
-#: remake.c:306
-#, c-format
-msgid "Pruning file `%s'.\n"
+#: remake.c:303
+#, fuzzy, c-format
+msgid "Pruning file '%s'.\n"
msgstr "Karsitaan tiedosto \"%s\".\n"
-#: remake.c:359
-#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%sKohteen \"%s\" tuottamiseen ei ole sääntöä%s"
-
-#: remake.c:361
-#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
+#: remake.c:390 remake.c:393
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr ""
"%1$s\"%3$s\"-kohteen tarvitseman kohteen \"%2$s\" tuottamiseen ei ole sääntöä"
"%4$s"
-#: remake.c:413
-#, c-format
-msgid "Considering target file `%s'.\n"
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sKohteen \"%s\" tuottamiseen ei ole sääntöä%s"
+
+#: remake.c:426
+#, fuzzy, c-format
+msgid "Considering target file '%s'.\n"
msgstr "Tarkastellaan tiedostoa \"%s\".\n"
-#: remake.c:420
-#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
+#: remake.c:433
+#, fuzzy, c-format
+msgid "Recently tried and failed to update file '%s'.\n"
msgstr "Tiedoston \"%s\" päivitysyritys epäonnistui äskettäin.\n"
-#: remake.c:432
-#, c-format
-msgid "File `%s' was considered already.\n"
+#: remake.c:445
+#, fuzzy, c-format
+msgid "File '%s' was considered already.\n"
msgstr "Tiedostoa \"%s\" on jo tarkasteltu.\n"
-#: remake.c:442
-#, c-format
-msgid "Still updating file `%s'.\n"
+#: remake.c:455
+#, fuzzy, c-format
+msgid "Still updating file '%s'.\n"
msgstr "Päivitetään edelleen tiedostoa \"%s\".\n"
-#: remake.c:445
-#, c-format
-msgid "Finished updating file `%s'.\n"
+#: remake.c:458
+#, fuzzy, c-format
+msgid "Finished updating file '%s'.\n"
msgstr "Tiedosto \"%s\" päivitetty.\n"
-#: remake.c:474
-#, c-format
-msgid "File `%s' does not exist.\n"
+#: remake.c:487
+#, fuzzy, c-format
+msgid "File '%s' does not exist.\n"
msgstr "Tiedosto \"%s\" ei ole olemassa.\n"
-#: remake.c:481
-#, c-format
+#: remake.c:495
+#, fuzzy, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
"*** Varoitus: .LOW_RESOLUTION_TIME-tiedostolla \"%s\" on "
"korkearesoluutioinen aikaleima"
-#: remake.c:494 remake.c:1016
-#, c-format
-msgid "Found an implicit rule for `%s'.\n"
+#: remake.c:508 remake.c:1040
+#, fuzzy, c-format
+msgid "Found an implicit rule for '%s'.\n"
msgstr "Kohteelle \"%s\" löytyi oletussääntö.\n"
-#: remake.c:496 remake.c:1018
-#, c-format
-msgid "No implicit rule found for `%s'.\n"
+#: remake.c:510 remake.c:1042
+#, fuzzy, c-format
+msgid "No implicit rule found for '%s'.\n"
msgstr "Kohteelle \"%s\" ei löytynyt oletussääntöä.\n"
-#: remake.c:502
+#: remake.c:516
#, fuzzy, c-format
-msgid "Using default recipe for `%s'.\n"
+msgid "Using default recipe for '%s'.\n"
msgstr "Käytetään oletuskomentoja kohteelle \"%s\".\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Kehäriippuvuus %s <- %s hylätty."
-#: remake.c:651
-#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
+#: remake.c:675
+#, fuzzy, c-format
+msgid "Finished prerequisites of target file '%s'.\n"
msgstr "Kohdetiedoston \"%s\" ennakkoehdot täytetty.\n"
-#: remake.c:657
-#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
+#: remake.c:681
+#, fuzzy, c-format
+msgid "The prerequisites of '%s' are being made.\n"
msgstr "Kohteen \"%s\" ennakkoehtoja täytetään.\n"
-#: remake.c:670
-#, c-format
-msgid "Giving up on target file `%s'.\n"
+#: remake.c:695
+#, fuzzy, c-format
+msgid "Giving up on target file '%s'.\n"
msgstr "Luovutaan kohdetiedostosta \"%s\".\n"
-#: remake.c:675
-#, c-format
-msgid "Target `%s' not remade because of errors."
+#: remake.c:700
+#, fuzzy, c-format
+msgid "Target '%s' not remade because of errors."
msgstr "Kohdetta \"%s\" ei tuotettu uudelleen virheiden vuoksi."
-#: remake.c:727
-#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
-msgstr ""
+#: remake.c:752
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
+msgstr "Ennakkoehto \"%s\" on vanhempi kuin kohde \"%s\".\n"
-#: remake.c:732
-#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
+#: remake.c:757
+#, fuzzy, c-format
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "Kohteen \"%2$s\" ennakkoehto \"%1$s\" ei ole olemassa.\n"
-#: remake.c:737
-#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
+#: remake.c:762
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "Ennakkoehto \"%s\" on uudempi kuin kohde \"%s\".\n"
-#: remake.c:740
-#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
+#: remake.c:765
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "Ennakkoehto \"%s\" on vanhempi kuin kohde \"%s\".\n"
-#: remake.c:758
+#: remake.c:783
#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr ""
-#: remake.c:765
+#: remake.c:790
#, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr ""
-#: remake.c:770
-#, c-format
-msgid "Making `%s' due to always-make flag.\n"
+#: remake.c:795
+#, fuzzy, c-format
+msgid "Making '%s' due to always-make flag.\n"
msgstr "Tuotetaan \"%s\", koska --always-make -valitsin on käytössä.\n"
-#: remake.c:778
-#, c-format
-msgid "No need to remake target `%s'"
+#: remake.c:803
+#, fuzzy, c-format
+msgid "No need to remake target '%s'"
msgstr "Ei tarvetta uudelleentuottaa kohdetta \"%s\""
-#: remake.c:780
-#, c-format
-msgid "; using VPATH name `%s'"
+#: remake.c:805
+#, fuzzy, c-format
+msgid "; using VPATH name '%s'"
msgstr "; käytetään VPATH-nimeä \"%s\""
-#: remake.c:800
-#, c-format
-msgid "Must remake target `%s'.\n"
+#: remake.c:825
+#, fuzzy, c-format
+msgid "Must remake target '%s'.\n"
msgstr "Kohde \"%s\" on tuotettava uudelleen.\n"
-#: remake.c:806
-#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
+#: remake.c:831
+#, fuzzy, c-format
+msgid " Ignoring VPATH name '%s'.\n"
msgstr " Ei huomioida VPATH-nimeä \"%s\".\n"
-#: remake.c:815
+#: remake.c:840
#, c-format
-msgid "Recipe of `%s' is being run.\n"
+msgid "Recipe of '%s' is being run.\n"
msgstr ""
-#: remake.c:822
-#, c-format
-msgid "Failed to remake target file `%s'.\n"
+#: remake.c:847
+#, fuzzy, c-format
+msgid "Failed to remake target file '%s'.\n"
msgstr "Kohdetiedoston \"%s\" uudelleentuottaminen epäonnistui.\n"
-#: remake.c:825
-#, c-format
-msgid "Successfully remade target file `%s'.\n"
+#: remake.c:850
+#, fuzzy, c-format
+msgid "Successfully remade target file '%s'.\n"
msgstr "Kohdetiedosto \"%s\" uudelleentuotettiin onnistuneesti.\n"
-#: remake.c:828
+#: remake.c:853
#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
+msgid "Target file '%s' needs to be remade under -q.\n"
msgstr ""
-#: remake.c:1024
-#, c-format
-msgid "Using default commands for `%s'.\n"
+#: remake.c:1048
+#, fuzzy, c-format
+msgid "Using default commands for '%s'.\n"
msgstr "Käytetään oletuskomentoja kohteelle \"%s\".\n"
-#: remake.c:1357
-#, c-format
-msgid "Warning: File `%s' has modification time in the future"
+#: remake.c:1397
+#, fuzzy, c-format
+msgid "Warning: File '%s' has modification time in the future"
msgstr "Varoitus: Tiedoston \"%s\" muutosaika on tulevaisuudessa"
-#: remake.c:1370
+#: remake.c:1411
#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
+msgid "Warning: File '%s' has modification time %s s in the future"
msgstr "Varoitus: Tiedoston \"%s\" muutosaika on %.2g sekuntia tulevaisuudessa"
-#: remake.c:1569
-#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
+#: remake.c:1610
+#, fuzzy, c-format
+msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr ".LIBPATTERNS-elementti \"%s\" ei ole hahmo"
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
msgstr ""
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1628,7 +1828,7 @@ msgstr ""
"\n"
"# Oletussäännöt"
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1636,7 +1836,7 @@ msgstr ""
"\n"
"# Ei oletussääntöjä."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1645,242 +1845,259 @@ msgstr ""
"\n"
"# %u oletussääntöä, %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
msgstr ""
-#: rule.c:534
+#: rule.c:530
#, fuzzy, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "VIKA: num_pattern_rules väärä! %u != %u"
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
msgstr "tuntematon signaali"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
msgstr "Linjankatkaisu"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
msgstr "Keskeytys"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
msgstr "Lopetettu"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
msgstr "Virheellinen käsky"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
msgstr "Jäljitys/katkaisupisteansa"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr "Keskeytetty"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
msgstr "IOT-ansa"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
msgstr "EMT-ansa"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
msgstr "Liukulukupoikkeus"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
msgstr "Tapettu"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
msgstr "Väylävirhe"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
msgstr "Muistialueen ylitys"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
msgstr "Virheellinen järjestelmäkutsu"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
msgstr "Katkennut putki"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr "Herätyskello"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
msgstr "Päätetty"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
msgstr "Käyttäjän määrittelemä signaali 1"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
msgstr "Käyttäjän määrittelemä signaali 2"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
msgstr "Lapsi lopetti"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
msgstr "Sähkökatko"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr "Pysäytetty"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
msgstr "Pysäytetty (päätteen syöte)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
msgstr "Pysäytetty (päätteen tuloste)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
msgstr "Pysäytetty (signaali)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
msgstr "Suoritinaikaraja ylittynyt"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
msgstr "Tiedoston kokoraja ylitetty"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
msgstr "Virtuaaliajastin vanhentunut"
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
msgstr "Profilointiajastin vanhentunut"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
msgstr "Ikkuna vaihtunut"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
msgstr "Jatkettu"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
msgstr "Kiireellinen I/O-tilanne"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
msgstr "I/O mahdollista"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr "Resurssi menetetty"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
msgstr "Vaarasignaali"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
msgstr "Tietopyyntö"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
msgstr "Käytettävissä ei ole liukulukusuoritinta"
-#: strcache.c:235
+#: strcache.c:236
#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s No strcache buffers\n"
msgstr ""
-#: strcache.c:237
+#: strcache.c:266
#, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+msgid ""
+"\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
msgstr ""
-#: strcache.c:239
+#: strcache.c:270
#, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
-#: strcache.c:241
+#: strcache.c:280
#, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
msgstr ""
-#: strcache.c:244
-#, fuzzy
+#: 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:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
+msgstr ""
+
+#: strcache.c:289
+#, fuzzy
+msgid ""
+"# hash-table stats:\n"
"# "
msgstr ""
"\n"
"# tilasto tiedostojen hajautustaulusta:\n"
"# "
-#: variable.c:1541
+#: variable.c:1599
+msgid "automatic"
+msgstr "automaattinen"
+
+#: variable.c:1602
msgid "default"
msgstr "oletus"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
msgstr "ympäristö"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
msgstr "-e:n alainen ympäristö"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
msgstr "komentorivi"
-#: variable.c:1556
-msgid "`override' directive"
+#: variable.c:1617
+#, fuzzy
+msgid "'override' directive"
msgstr "\"override\"-toimintaohje"
-#: variable.c:1559
-msgid "automatic"
-msgstr "automaattinen"
-
-#: variable.c:1570
-#, c-format
-msgid " (from `%s', line %lu)"
+#: variable.c:1628
+#, fuzzy, c-format
+msgid " (from '%s', line %lu)"
msgstr " (tiedostosta \"%s\", rivi %lu)"
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# muuttujajoukon hajautustaulutilastot:\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -1888,7 +2105,7 @@ msgstr ""
"\n"
"# Muuttujat\n"
-#: variable.c:1627
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -1896,7 +2113,7 @@ msgstr ""
"\n"
"# Hahmokohtaisia muuttujien arvoja"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -1904,7 +2121,7 @@ msgstr ""
"\n"
"# Ei hahmokohtaisia muuttuja-arvoja."
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -1913,93 +2130,98 @@ msgstr ""
"\n"
"# %u hahmokohtaista muuttuja-arvoa"
-#: variable.h:219
-#, c-format
-msgid "warning: undefined variable `%.*s'"
+#: variable.h:224
+#, fuzzy, c-format
+msgid "warning: undefined variable '%.*s'"
msgstr "varoitus: määrittelemätön muuttuja \"%.*s\""
-#: vmsfunctions.c:92
+#: vmsfunctions.c:91
#, fuzzy, c-format
msgid "sys$search() failed with %d\n"
msgstr "sys$search epäonnistui, arvo %d\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Varoitus: Tyhjä uudelleenohjaus\n"
-#: vmsjobs.c:184
-#, c-format
-msgid "internal error: `%s' command_state"
+#: vmsjobs.c:183
+#, fuzzy, c-format
+msgid "internal error: '%s' command_state"
msgstr "sisäinen virhe: \"%s\" command_state"
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
"-varoitus, Ctrl-Y-käsittely on ehkä otettava uudelleen käyttöön DCL:stä.\n"
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "SISÄÄNRAKENNETTU [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "SISÄÄNRAKENNETTU CD %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "SISÄÄNRAKENNETTU RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "SISÄÄNRAKENNETTU CD %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Tuntematon sisäänrakennettu komento \"%s\"\n"
-#: vmsjobs.c:493
+#: 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 "Virhe, tyhjä komento\n"
-#: vmsjobs.c:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Syöte uudelleenohjattu kohteesta %s\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Virhetuloste uudelleenohjattu kohteeseen %s\n"
-#: vmsjobs.c:523
+#: vmsjobs.c:690
#, fuzzy, c-format
msgid "Append output to %s\n"
msgstr "Tuloste uudelleenohjattu kohteeseen %s\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Tuloste uudelleenohjattu kohteeseen %s\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr ""
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "Käynnistetään sen sijaan %s\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Virhe käynnistyksessä, %d\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
@@ -2007,43 +2229,55 @@ msgstr ""
"\n"
"# VPATH-hakupolut\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
+#: vpath.c:600
+#, fuzzy
+msgid "# No 'vpath' search paths."
msgstr "# Ei \"vpath\"-hakupolkuja."
-#: vpath.c:605
-#, c-format
+#: vpath.c:602
+#, fuzzy, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
"# %u \"vpath\"-hakupolkua.\n"
-#: vpath.c:608
+#: vpath.c:605
+#, fuzzy
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
"# Ei yleistä (\"VPATH\"-muuttuja) hakupolkua."
-#: vpath.c:614
+#: vpath.c:611
+#, fuzzy
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
"# Yleinen (\"VPATH\"-muuttuja) hakupolku:\n"
"# "
+#~ msgid "# Invalid value in `update_status' member!"
+#~ msgstr "# Virheellinen arvo \"update_status\"-jäsenessä!"
+
+#~ msgid "*** [%s] Error 0x%x (ignored)"
+#~ msgstr "*** [%s] Virhe 0x%x (ei huomioida)"
+
#~ msgid "Do not specify -j or --jobs if sh.exe is not available."
#~ msgstr "Älä anna -j tai --jobs -valitsinta jos sh.exe ei ole käytettävissä."
#~ msgid "Resetting make for single job mode."
#~ msgstr "Palautetaan make yhden työn tilaan."
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "sisäinen virhe: useitan --jobserver-fds -valitsimia"
+
#~ 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"
@@ -2053,6 +2287,12 @@ msgstr ""
#~ "%sTakuuta EI ole, ei edes KAUPALLISESTI HYVÄKSYTTÄVÄSTÄ LAADUSTA tai\n"
#~ "%sSOPIVUUDESTA TIETTYYN TARKOITUKSEEN.\n"
+#~ msgid "virtual memory exhausted"
+#~ msgstr "virtuaalimuisti lopussa"
+
+#~ msgid "write error"
+#~ msgstr "kirjoitusvirhe"
+
#~ msgid "extraneous `endef'"
#~ msgstr "ylimääräinen \"endef\""
@@ -2065,5 +2305,8 @@ msgstr ""
#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
#~ msgstr "-varoitus, Ctrl-Y jättää aliprosessi(n/t) käyntiin.\n"
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "SISÄÄNRAKENNETTU RM %s\n"
+
#~ msgid "Syntax error, still inside '\"'\n"
#~ msgstr "Syntaksivirhe, edelleen \":n sisällä\n"
diff --git a/po/fr.gmo b/po/fr.gmo
index 85109c01..095850cf 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 4b38b224..287bb622 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,124 +6,134 @@
# Marc Baudoin <babafou@ensta.fr>, Frédéric Liné <line@MicroNet.fr>, 1996.
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 1996-2006
# Christophe Combelles <ccomb@free.fr>, 2009, 2010
+# Kevin Raymond <shaiton@fedoraproject.org>, 2012, 2013
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU make 3.81.91\n"
+"Project-Id-Version: GNU make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-0400\n"
-"PO-Revision-Date: 2010-07-23 01:02+0100\n"
-"Last-Translator: Christophe Combelles <ccomb@free.fr>\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 <shaiton@fedoraproject.org>\n"
"Language-Team: French <traduc@traduc.org>\n"
+"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Poedit 1.5.4\n"
-#: ar.c:48
+#: ar.c:46
#, c-format
-msgid "attempt to use unsupported feature: `%s'"
-msgstr "tentative d'utiliser une caractéristique non prise en charge : « %s »"
+msgid "attempt to use unsupported feature: '%s'"
+msgstr "tentative d'utiliser une fonctionnalité non prise en charge : « %s »"
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
msgstr "impossible de modifier la date d'un membre d'une archive sur VMS"
-#: ar.c:149
+#: ar.c:147
#, c-format
-msgid "touch: Archive `%s' does not exist"
-msgstr "touch : l'archive « %s » n'existe pas"
+msgid "touch: Archive '%s' does not exist"
+msgstr "touch : l'archive « %s » n'existe pas"
-#: ar.c:152
+#: ar.c:150
#, c-format
-msgid "touch: `%s' is not a valid archive"
-msgstr "touch : « %s » n'est pas une archive valide"
+msgid "touch: '%s' is not a valid archive"
+msgstr "touch : « %s » n'est pas une archive valide"
-#: ar.c:159
+#: ar.c:157
#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
-msgstr "touch : le membre « %s » n'existe pas dans « %s »"
+msgid "touch: Member '%s' does not exist in '%s'"
+msgstr "touch : le membre « %s » n'existe pas dans « %s »"
-#: ar.c:166
+#: ar.c:164
#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
-msgstr "touch : mauvais code de retour de ar_member_touch pour « %s »"
+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:69
+#: 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:175
+#: 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:187
-#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
-msgstr "impossible d'ouvrir la bibliothèque %s pour récupérer le membre « %s »"
+#: 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 membre « %s »"
-#: arscan.c:850
+#: arscan.c:944
#, c-format
-msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
-msgstr "Membre `%s'%s : %ld octets à %ld (%ld).\n"
+msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
+msgstr "Membre `%s'%s : %ld octets à %ld (%ld).\n"
-#: arscan.c:851
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (le nom peut être tronqué)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Date %s"
-#: arscan.c:854
+#: 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:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr "La recette contient trop de lignes (%ud)"
+
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Break.\n"
-#: commands.c:622
+#: commands.c:629
#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
+msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr ""
-"*** [%s] le membre d'archive « %s » peut avoir un problème ; il n'a pas été "
-"supprimé"
+"*** [%s] le membre « %s » de l'archive peut avoir un problème ; il n'a pas "
+"été supprimé"
-#: commands.c:625
+#: commands.c:633
#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
+msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr ""
-"*** Le membre d'archive « %s » peut avoir un problème; il n'a pas été supprimé"
+"*** Le membre « %s » de l'archive peut avoir un problème ; il n'a pas été "
+"supprimé"
-#: commands.c:638
+#: commands.c:647
#, c-format
-msgid "*** [%s] Deleting file `%s'"
-msgstr "*** [%s] Suppression du fichier « %s »"
+msgid "*** [%s] Deleting file '%s'"
+msgstr "*** [%s] Suppression du fichier « %s »"
-#: commands.c:640
+#: commands.c:649
#, c-format
-msgid "*** Deleting file `%s'"
-msgstr "*** Suppression du fichier « %s »"
+msgid "*** Deleting file '%s'"
+msgstr "*** Suppression du fichier « %s »"
-#: commands.c:676
+#: commands.c:685
msgid "# recipe to execute"
msgstr "# recette à exécuter"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
-msgstr " (commande interne):"
+msgstr " (commande interne) :"
-#: commands.c:681
+#: commands.c:690
#, c-format
-msgid " (from `%s', line %lu):\n"
-msgstr " (de « %s », ligne %lu) :\n"
+msgid " (from '%s', line %lu):\n"
+msgstr " (de « %s », ligne %lu) : \n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -131,226 +141,226 @@ msgstr ""
"\n"
"# Répertoires\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
-msgstr "# %s : « stat » impossible.\n"
+msgstr "# %s: « stat » impossible.\n"
-#: dir.c:1012
+#: 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"
+msgstr "# %s (clé %s, mtime %d) : ouverture impossible.\n"
-#: dir.c:1016
+#: 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"
+msgstr "# %s (périphérique %d, inode [%d,%d,%d]) : ouverture impossible.\n"
-#: dir.c:1021
+#: 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"
+msgstr "# %s (périphérique %ld, inode %ld) : ouverture impossible.\n"
-#: dir.c:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
-msgstr "# %s (périphérique %s, mtime %d) : "
+msgstr "# %s (périphérique %s, mtime %d) : "
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
-msgstr "# %s (périphérique %d, inode [%d,%d,%d]) : "
+msgstr "# %s (périphérique %d, inode [%d,%d,%d]) : "
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
-msgstr "# %s (périphérique %ld, inode %ld) : "
+msgstr "# %s (périphérique %ld, inode %ld) : "
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "Aucun"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr " fichier(s), "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "aucune"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
msgstr " impossibilité(s)"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
msgstr " jusqu'ici."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
msgstr " impossibilités dans %lu répertoires.\n"
-#: expand.c:127
+#: expand.c:125
#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
-msgstr "La variable récursive « %s » se référence elle-même (finalement)"
+msgid "Recursive variable '%s' references itself (eventually)"
+msgstr "La variable récursive « %s » se référence elle-même (à la fin)"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
msgstr "référence incomplète à une variable"
-#: file.c:267
+#: 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 » à %s:%lu,"
+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:272
+#: file.c:276
#, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
+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 "
+"La recette pour le fichier « %s » a été trouvée par une recherche de règle "
"implicite,"
-#: file.c:275
+#: file.c:280
#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
+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 »."
+"mais « %s » est maintenant considéré comme étant le même fichier que « %s »."
-#: file.c:278
+#: 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 »."
+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:298
+#: file.c:303
#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
+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 "
-"»"
+"impossible de renommer le deux-points simple « %s » en deux-points double "
+"« %s »"
-#: file.c:303
+#: file.c:309
#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
+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 "
-"»"
+"impossible de renommer le deux-points double « %s » en deux-points simple "
+"« %s »"
-#: file.c:392
+#: file.c:401
#, c-format
-msgid "*** Deleting intermediate file `%s'"
-msgstr "*** Suppression du fichier intermédiaire « %s »"
+msgid "*** Deleting intermediate file '%s'"
+msgstr "*** Suppression du fichier intermédiaire « %s »"
-#: file.c:396
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Suppression des fichiers intermédiaires...\n"
-#: file.c:803
+#: file.c:811
+msgid "Current time"
+msgstr "Heure actuelle"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s : horodatage hors limite ; remplacement par %s"
-#: file.c:804
-msgid "Current time"
-msgstr "Heure actuelle"
-
-#: file.c:924
+#: file.c:955
msgid "# Not a target:"
-msgstr "# Pas une cible :"
+msgstr "# Pas une cible :"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Fichier précieux (dépendance de .PRECIOUS)."
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Cible factice (dépendance de .PHONY)."
-#: file.c:933
+#: file.c:964
msgid "# Command line target."
msgstr "# Cible de la ligne de commande."
-#: file.c:935
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Une valeur par défaut, MAKEFILES ou -include/sinclude makefile."
-#: file.c:937
+#: file.c:968
+msgid "# Builtin rule"
+msgstr "# Pas de règle interne"
+
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# La recherche de règle implicite a été effectuée."
-#: file.c:938
+#: 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:940
+#: file.c:973
#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
-msgstr "# Préfixe de motif implicite ou statique : « %s »\n"
+msgid "# Implicit/static pattern stem: '%s'\n"
+msgstr "# Préfixe de motif implicite ou statique : « %s »\n"
-#: file.c:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Le fichier est une dépendance intermédiaire."
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
-msgstr "# Fabrique également :"
+msgstr "# Fabrique également :"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Heure de modification jamais vérifiée."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
msgstr "# Le fichier n'existe pas."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
msgstr "# Le fichier est très ancien."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Dernière modification %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
msgstr "# Le fichier a été mis à jour."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Le fichier n'a pas été mis à jour."
-#: file.c:968
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Recette en cours d'exécution (CECI EST UNE ANOMALIE)."
-#: file.c:971
+#: 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:980
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Mise à jour réussie."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
-msgstr "# A besoin d'être mis à jour (l'option -q est activée)."
+msgstr "# À besoin d'être mis à jour (l'option -q est activée)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# N'a pas pu être mis à jour."
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# Valeur non valable dans le membre « update_status » !"
+#: file.c:1025
+msgid "# Invalid value in 'command_state' member!"
+msgstr "# Valeur non valable dans le membre « command_state » !"
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
-msgstr "# Valeur non valable dans le membre « command_state » !"
-
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -358,131 +368,186 @@ msgstr ""
"\n"
"# Fichiers"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
"\n"
-"# stats des tables de hachage des fichiers :\n"
+"# stats des tables de hachage des fichiers :\n"
"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
-msgstr "le premier argument de la fonction « word » doit être numérique"
-
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
-msgstr "le premier argument de la fonction « word » doit être plus grand que 0"
+#: 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:783
-msgid "non-numeric first argument to `wordlist' function"
-msgstr "le premier argument de la fonction « wordlist » doit être numérique"
+#: 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:785
-msgid "non-numeric second argument to `wordlist' function"
-msgstr "le deuxième argument de la fonction « wordlist » doit être numérique"
+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:805
+msgid "non-numeric first argument to 'wordlist' function"
+msgstr "le premier argument de la fonction « wordlist » doit être numérique"
-#: function.c:1458
+#: 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:1499
#, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
-msgstr "windows32_openpipe(): DuplicateHandle(In) a échoué (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
+msgstr "windows32_openpipe : DuplicateHandle(In) a échoué (e=%ld)\n"
-#: function.c:1469
+#: function.c:1523
#, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr "windows32_open_pipe(): DuplicateHandle(Err) a échoué (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
+msgstr "windows32_openpipe : DuplicateHandle(Err) a échoué (e=%ld)\n"
-#: function.c:1474
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() a échoué (e=%ld)\n"
-#: function.c:1479
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
-msgstr "windows32_openpipe(): process_init_fd() a échoué\n"
+msgstr "windows32_openpipe() : process_init_fd() a échoué\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Nettoyage du fichier de commandes temporaire %s\n"
-#: function.c:2150
+#: function.c:2193
+#, c-format
+msgid "open: %s: %s"
+msgstr "open : %s : %s"
+
+#: function.c:2203
+#, c-format
+msgid "write: %s: %s"
+msgstr "write : %s : %s"
+
+#: function.c:2209
+#, c-format
+msgid "Invalid file operation: %s"
+msgstr "Fichier d'opérations invalide : %s"
+
+#: function.c:2324
#, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
-msgstr "nombre d'arguments insuffisant (%d) pour la fonction « %s »"
+msgid "insufficient number of arguments (%d) to function '%s'"
+msgstr "nombre d'arguments insuffisant (%d) pour la fonction « %s »"
-#: function.c:2162
+#: function.c:2336
#, c-format
-msgid "unimplemented on this platform: function `%s'"
-msgstr "non implémenté sur cette plateforme: fonction « %s »"
+msgid "unimplemented on this platform: function '%s'"
+msgstr "non implémenté sur cette plateforme : fonction « %s »"
-#: function.c:2212
+#: function.c:2399
#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
-msgstr "appel à la fonction « %s » non terminé : « %c » manquant"
+msgid "unterminated call to function '%s': missing '%c'"
+msgstr "appel à la fonction « %s » non terminé : « %c » manquant"
+
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "Nom de fonction absent\n"
+
+#: function.c:2593
+#, fuzzy, c-format
+msgid "Invalid function name: %s"
+msgstr "Nom de fonction invalide : %s\n"
+
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
+msgstr "Nom de fonction trop long : %s\n"
+
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr "nombre d'arguments insuffisant (%d) pour la fonction « %s »\n"
-#: getopt.c:661
+#: function.c:2601
+#, fuzzy, c-format
+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
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s : l'option « %s » est ambiguë\n"
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s : l'option « %s » est ambiguë\n"
-#: getopt.c:685
+#: getopt.c:683
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s : l'option « --%s » ne prend pas d'argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s : l'option « --%s » ne prend pas d'argument\n"
-#: getopt.c:690
+#: getopt.c:688
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s : l'option « %c%s » ne prend pas d'argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s : l'option « %c%s » ne prend pas d'argument\n"
-#: getopt.c:707 getopt.c:880
+#: getopt.c:705 getopt.c:878
#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s : l'option « %s » nécessite un argument\n"
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s : l'option « %s » nécessite un argument\n"
-#: getopt.c:736
+#: getopt.c:734
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s : option non reconnue « --%s »\n"
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s : option non reconnue « --%s »\n"
-#: getopt.c:740
+#: getopt.c:738
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s : option non reconnue « %c%s »\n"
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s : option non reconnue « %c%s »\n"
-#: getopt.c:766
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
-msgstr "%s : option non admise -- %c\n"
+msgstr "%s : option non admise -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
-msgstr "%s : option incorrecte -- %c\n"
+msgstr "%s : option incorrecte -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
-msgstr "%s : l'option nécessite un argument -- %c\n"
+msgstr "%s : l'option nécessite un argument -- %c\n"
+
+#: getopt.c:844
+#, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s : l'option « -W %s » est ambiguë\n"
+
+#: getopt.c:862
+#, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s : l'option « -W %s » ne prend pas d'argument\n"
-#: getopt.c:846
+#: guile.c:58
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s : l'option « -W %s » est ambiguë\n"
+msgid "guile: Expanding '%s'\n"
+msgstr "guile : expansion de « %s »\n"
-#: getopt.c:864
+#: guile.c:74
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s : l'option « -W %s » ne prend pas d'argument\n"
+msgid "guile: Evaluating '%s'\n"
+msgstr "guile : évaluation de « %s »\n"
#: hash.c:49
#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
msgstr ""
-"impossible d'allouer %lu octets pour la table de hachage : mémoire épuisée"
+"impossible d'allouer %lu octets pour la table de hachage : mémoire épuisée"
#: hash.c:280
#, c-format
@@ -499,131 +564,154 @@ msgstr "Rehash=%d, "
msgid "Collisions=%ld/%ld=%.0f%%"
msgstr "Collisions=%ld/%ld=%.0f%%"
-#: implicit.c:40
+#: implicit.c:38
#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
-msgstr "Recherche d'une règle implicite pour « %s ».\n"
+msgid "Looking for an implicit rule for '%s'.\n"
+msgstr "Recherche d'une règle implicite pour « %s ».\n"
-#: implicit.c:56
+#: implicit.c:54
#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
-msgstr "Recherche d'une règle implicite de membre d'archive pour « %s ».\n"
+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:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
-msgstr "Évitement de récursion dans une régle implicite.\n"
+msgstr "Évitement de récursion dans une règle implicite.\n"
+
+#: implicit.c:486
+#, c-format
+msgid "Stem too long: '%.*s'.\n"
+msgstr "Motif trop long : « %.*s ».\n"
#: implicit.c:491
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
-msgstr "Essai du motif avec « %.*s » comme radical.\n"
+msgid "Trying pattern rule with stem '%.*s'.\n"
+msgstr "Essai du motif avec « %.*s » comme radical.\n"
-#: implicit.c:674
+#: implicit.c:697
#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
-msgstr "Rejet d'une dépendance de règle impossible « %s ».\n"
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
+msgstr "Rejet d'une dépendance de règle impossible « %s ».\n"
-#: implicit.c:675
+#: implicit.c:698
#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
-msgstr "Rejet d'une dépendance implicite impossible « %s ».\n"
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
+msgstr "Rejet d'une dépendance implicite impossible « %s ».\n"
-#: implicit.c:688
+#: implicit.c:711
#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
-msgstr "Essai de la dépendance de règle « %s ».\n"
+msgid "Trying rule prerequisite '%s'.\n"
+msgstr "Essai de la dépendance de règle « %s ».\n"
-#: implicit.c:689
+#: implicit.c:712
#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
-msgstr "Essai de la dépendance implicite « %s ».\n"
+msgid "Trying implicit prerequisite '%s'.\n"
+msgstr "Essai de la dépendance implicite « %s ».\n"
-#: implicit.c:728
+#: implicit.c:751
#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
-msgstr "Dépendance trouvée « %s » comme VPATH « %s »\n"
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
+msgstr "Dépendance trouvée « %s » comme VPATH « %s »\n"
-#: implicit.c:742
+#: implicit.c:765
#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
-msgstr "Recherche d'une règle contenant le fichier intermédaire « %s ».\n"
+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:335
+#: job.c:361
msgid "Cannot create a temporary file\n"
msgstr "Impossible de créer un fichier temporaire\n"
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] Erreur 0x%x (ignorée)"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (core dump créé)"
+
+#: job.c:488
+msgid " (ignored)"
+msgstr " (ignorée)"
+
+#: job.c:492 job.c:2046
+msgid "<builtin>"
+msgstr "<commande interne>"
-#: job.c:450
+#: job.c:503
#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] Erreur 0x%x"
+msgid "%s: recipe for target '%s' failed"
+msgstr "%s : la recette pour la cible « %s » a échouée"
-#: job.c:454
+#: job.c:516 job.c:524
#, c-format
-msgid "[%s] Error %d (ignored)"
-msgstr "[%s] Erreur %d (ignorée)"
+msgid "%s[%s] Error %d%s"
+msgstr "%s[%s] Erreur %d%s"
-#: job.c:455
+#: job.c:519
#, c-format
-msgid "*** [%s] Error %d"
-msgstr "*** [%s] Erreur %d"
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Erreur 0x%x%s"
-#: job.c:460
-msgid " (core dumped)"
-msgstr " (core dump créé)"
+#: job.c:529
+#, c-format
+msgid "%s[%s] %s%s%s"
+msgstr "%s[%s] %s%s%s"
-#: job.c:549
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Attente des tâches non terminées...."
-#: job.c:579
+#: 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:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (distant)"
-#: job.c:758
+#: 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:759
+#: 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:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Nettoyage du fichier de commande temporaire %s\n"
-#: job.c:861
+#: 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: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:920
-msgid "write jobserver"
-msgstr "écriture vers le serveur de tâches"
+#: 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:922
+#: 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:1453 job.c:2094
+#: 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:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -632,118 +720,175 @@ msgstr ""
"\n"
"%d arguments comptés lors du lancement échoué\n"
-#: job.c:1525
+#: 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:1778
+#: 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:1787
+#: job.c:2029
msgid "read jobs pipe"
msgstr "lecture du tube des processus"
-#: job.c:1798
+#: job.c:2056
#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr "Invocation de recette de %s:%lu pour mettre à jour la cible « %s ».\n"
+msgid "%s: target '%s' does not exist"
+msgstr "%s : la cible « %s » n'existe pas"
-#: job.c:1802
+#: job.c:2059
#, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr ""
-"Invocation de la recette incorporée pour mettre à jour la cible « %s ».\n"
+msgid "%s: update target '%s' due to: %s"
+msgstr "%s : mise à jour de la cible « %s » nécessaire pour : %s"
-#: job.c:1910
+#: 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:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
-msgstr "impossible d'imposer des limites de charge : "
+msgstr "impossible d'imposer des limites de charge : "
-#: job.c:1985
+#: 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"
+"plus d'identificateur de fichier disponible : impossible de dupliquer stdin\n"
-#: job.c:1987
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""
-"plus d'identificateur de fichier disponible : impossible de dupliquer "
+"plus d'identificateur de fichier disponible : impossible de dupliquer "
"stdout\n"
-#: job.c:2015
+#: 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:2293
msgid "Could not restore stdin\n"
msgstr "Impossible de restaurer stdin\n"
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Impossible de restaurer stdout\n"
-#: job.c:2127
+#: job.c:2309
+msgid "Could not restore stderr\n"
+msgstr "Impossible de restaurer stderr\n"
+
+#: 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:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
-msgstr "%s : commande introuvable"
+msgstr "%s : commande introuvable"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
-msgstr "%s : programme Shell introuvable"
+msgstr "%s : programme Shell introuvable"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
-msgstr "spawnvpe: l'espace d'environnement est peut-être épuisé"
+msgstr "spawnvpe : l'espace d'environnement est peut-être épuisé"
-#: job.c:2461
+#: job.c:2765
#, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
-msgstr "$SHELL a été modifié (valait « %s », maintenant vaut « %s »)\n"
+msgid "$SHELL changed (was '%s', now '%s')\n"
+msgstr "$SHELL a été modifié (de « %s » à « %s »)\n"
-#: job.c:2951
+#: 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:2963
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+"Contenu du fichier de commande :\n"
+"\t@echo off\n"
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-"Contenu du fichier Batch :%s\n"
+"Contenu du fichier Batch :%s\n"
"\t%s\n"
-#: job.c:3065
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
"%s (ligne %d) Mauvais contexte du shell (!unixy && !batch_mode_shell)\n"
-#: main.c:303
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr ""
+"-O[TYPE] (--output-sync[=TYPE]) n'est pas configuré pour cette construction."
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr "Echec de l'ouverture de la table des symboles générale : %s"
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr "L'objet chargé « %s » n'est pas déclaré compatible avec la GPL"
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr "Echec du chargement du symbole %s à partir de %s : %s"
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr "Nom du symbole absent pour l'opération « load » : %s"
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr "Chargement du symbole %s à partir de %s\n"
+
+#: 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:313
msgid "Options:\n"
-msgstr "Options :\n"
+msgstr "Options :\n"
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m Ignoré pour compatibilité.\n"
-#: main.c:306
+#: 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:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -752,19 +897,19 @@ msgstr ""
" Se placer dans le RÉPERTOIRE avant toute "
"action.\n"
-#: main.c:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr ""
" -d Afficher beaucoup d'informations de débogage.\n"
-#: main.c:313
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
-" --debug[=FLAGS] Afficher divers types d'informations de "
+" --debug[=FLAGS] Afficher divers types d'informations de "
"débogage.\n"
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -773,14 +918,14 @@ msgstr ""
" Les variables d'environment sont prioritaires "
"sur les makefiles.\n"
-#: main.c:318
+#: 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:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -788,16 +933,16 @@ msgstr ""
" -f FICHIER, --file=FICHIER, --makefile=FICHIER\n"
" Lire le FICHIER comme un makefile.\n"
-#: main.c:323
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Afficher ce message et quitter.\n"
-#: main.c:325
+#: 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:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -806,7 +951,7 @@ msgstr ""
" Chercher dans le RÉPERTOIRE les makefiles "
"traités par inclusion.\n"
-#: main.c:330
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -814,14 +959,14 @@ msgstr ""
" -j [N], --jobs[=N] Autoriser N tâches simultanées ; nombre infini "
"si utilisé sans argument.\n"
-#: main.c:332
+#: 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:334
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -831,15 +976,15 @@ msgstr ""
" Ne pas lancer de tâches multiples à moins que "
"la charge soit inférieure à N.\n"
-#: main.c:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
-" -L, --check-symlink-times Utiliser le « mtime » le plus récent entre les "
+" -L, --check-symlink-times Utiliser le « mtime » le plus récent entre les "
"liens symboliques et la cible.\n"
-#: main.c:339
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
@@ -849,7 +994,7 @@ msgstr ""
" N'exécuter aucune recette ; seulement les "
"afficher.\n"
-#: main.c:342
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -859,12 +1004,21 @@ msgstr ""
" Considérer le FICHIER comme étant très ancien "
"et ne pas le refabriquer.\n"
-#: main.c:345
+#: 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"
+" Synchronise la sortie des tâches parallèles "
+"par TYPE.\n"
+
+#: 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:347
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
@@ -872,22 +1026,22 @@ msgstr ""
" -q, --question Ne pas exécuter de recette ; le code de sortie "
"indique si la cible est à jour.\n"
-#: main.c:349
+#: 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:351
+#: 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:353
+#: 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:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -895,24 +1049,28 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Désactiver -k.\n"
-#: main.c:358
+#: 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:360
+#: main.c:373
+msgid " --trace Print tracing information.\n"
+msgstr " --trace Afficher les traces mémoire.\n"
+
+#: 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:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Afficher le répertoire courant.\n"
-#: main.c:364
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -920,7 +1078,7 @@ msgstr ""
" --no-print-directory Désactiver l'option -w, même si elle a été "
"activée implicitement.\n"
-#: main.c:366
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -929,7 +1087,7 @@ msgstr ""
" Considérer le FICHIER comme étant toujours "
"nouveau.\n"
-#: main.c:369
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -937,22 +1095,27 @@ msgstr ""
" --warn-undefined-variables Prévenir lorsqu'une variable non définie est "
"référencée.\n"
-#: main.c:564
+#: 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:650
+#: main.c:737
+#, c-format
+msgid "unknown debug level specification '%s'"
+msgstr "niveau de débogage inconnu « %s »"
+
+#: main.c:774
#, c-format
-msgid "unknown debug level specification `%s'"
-msgstr "niveau de débogage inconnu « %s »"
+msgid "unknown output-sync type '%s'"
+msgstr "type de output-sync « %s » inconnu"
-#: main.c:690
+#: 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"
+"%s: interception de l'interruption/exception (code = 0x%lx, addr = 0x%p)\n"
-#: main.c:697
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -967,211 +1130,230 @@ msgstr ""
"ExceptionFlags = %lx\n"
"ExceptionAddress = 0x%p\n"
-#: main.c:705
+#: 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"
+msgstr "Violation d'accès : opération d'écriture à l'adresse 0x%p\n"
-#: main.c:706
+#: 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"
+msgstr "Violation d'accès : opération de lecture à l'adresse 0x%p\n"
-#: main.c:781 main.c:792
+#: 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:834
+#: 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:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s s'arrête pendant 30 secondes..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "sleep(30) terminé. On continue.\n"
-#: main.c:1501
+#: main.c:1527
+#, 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) "
+
+#: 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: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: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:1539 vmsjobs.c:500
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (fichier temporaire)"
-#: main.c:1545
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (fichier temporaire)"
-#: main.c:1703
+#: 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:1704
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "On revient en mode monotâche (-j1)."
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "erreur interne : options --jobserver-fds multiples"
-
-#: main.c:1727
+#: main.c:1994
#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
-msgstr "erreur interne : chaîne --jobserver-fds incorrecte « %s » "
+msgid "Jobserver slots limited to %d\n"
+msgstr "Nombre de clients jobserver limités à %d\n"
-#: main.c:1730
+#: main.c:2002
#, c-format
-msgid "Jobserver client (fds %d,%d)\n"
-msgstr "client Jobserver (fds %d,%d)\n"
-
-#: main.c:1740
-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:1750
-msgid "dup jobserver"
-msgstr "duplication du serveur de tâches"
+msgid "creating jobserver semaphore: (Error %ld: %s)"
+msgstr "création de la sémaphore du jobserver : (erreur %ld : %s)"
-#: main.c:1753
-msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
-msgstr ""
-"AVERTISSEMENT : le serveur de tâches n'est pas disponible: utilisation de -"
-"j1. Ajouter « + » à la règle parent du make."
-
-#: main.c:1777
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "création d'un tube pour les tâches"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "initialisation du tube du serveur de tâches"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr ""
-"Les liens symboliques ne sont pas pris en charge : désactivation de -L."
+"Les liens symboliques ne sont pas pris en charge : désactivation de -L."
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Mise à jour des makefiles....\n"
-#: main.c:1917
+#: main.c:2158
#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
-msgstr "Le makefile « %s » peut boucler ; on ne refabrique pas.\n"
+msgid "Makefile '%s' might loop; not remaking it.\n"
+msgstr "Le makefile « %s » pourrait boucler ; on ne recommence pas.\n"
-#: main.c:1996
+#: main.c:2237
#, c-format
-msgid "Failed to remake makefile `%s'."
-msgstr "Échec de refabrication du makefile « %s »."
+msgid "Failed to remake makefile '%s'."
+msgstr "Échec de refabrication du makefile « %s »."
-#: main.c:2013
+#: main.c:2257
#, c-format
-msgid "Included makefile `%s' was not found."
-msgstr "Le makefile inclus « %s » est introuvable."
+msgid "Included makefile '%s' was not found."
+msgstr "Le makefile inclus « %s » est introuvable."
-#: main.c:2018
+#: main.c:2262
#, c-format
-msgid "Makefile `%s' was not found"
-msgstr "Le makefile « %s » est introuvable"
+msgid "Makefile '%s' was not found"
+msgstr "Le makefile « %s » est introuvable"
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Impossible de revenir dans le répertoire d'origine."
-#: main.c:2102
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
-msgstr "Ré-exécution[%u] :"
+msgstr "Réexécution[%u] :"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
-msgstr "unlink (fichier temporaire):"
+msgstr "unlink (fichier temporaire) :"
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL contient plus d'une cible"
-#: main.c:2270
+#: 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:2272
+#: main.c:2511
msgid "No targets"
msgstr "Pas de cible"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Mise à jour des objectifs cibles....\n"
-#: main.c:2306
+#: 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 "
+"AVERTISSEMENT : décalage d'horloge détecté. La construction peut être "
"incomplète."
-#: main.c:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
-msgstr "Utilisation : %s [options] [cible] ...\n"
+msgstr "Utilisation : %s [options] [cible] ...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
"This program built for %s\n"
msgstr ""
"\n"
-"Ce programme a construit pour %s\n"
+"Ce programme est construit pour %s\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
"This program built for %s (%s)\n"
msgstr ""
"\n"
-"Ce programme a construit pour %s (%s)\n"
+"Ce programme est construit pour %s (%s)\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
-msgstr "Signaler les anomalies à <bug-make@gnu.org>.\n"
+msgstr "Signaler les anomalies à <bug-make@gnu.org>.\n"
-#: main.c:2562
+#: 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"
+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:2617
+#: main.c:2871
#, c-format
-msgid "the `-%c' option requires a positive integral argument"
-msgstr "l'option « -%c » prend en argument un entier positif"
+msgid "the '-%c' option requires a positive integer argument"
+msgstr "l'option « -%c » prend en argument un entier positif"
-#: main.c:3054
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
msgstr "%sConstruit pour %s\n"
-#: main.c:3056
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr "%sConstruit pour %s (%s)\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1179,13 +1361,13 @@ msgid ""
"%sThis is free software: you are free to change and redistribute it.\n"
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
-"%sLicence GPLv3+ : GNU GPL version 3 ou ultérieure <http://gnu.org/licenses/"
+"%sLicence GPLv3+ : GNU GPL version 3 ou ultérieure <http://gnu.org/licenses/"
"gpl.html>\n"
-"%sCeci est un logiciel libre : vous êtes autorisé à le modifier et à la "
+"%sCeci est un logiciel libre : vous êtes autorisé à le modifier et à la "
"redistribuer.\n"
"%sIl ne comporte AUCUNE GARANTIE, dans la mesure de ce que permet la loi.\n"
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1194,7 +1376,7 @@ msgstr ""
"\n"
"# Base de données de Make, imprimée le %s"
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1203,457 +1385,471 @@ msgstr ""
"\n"
"# Base de données de Make terminée le %s\n"
-#: main.c:3237
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "Erreur inconnue %d"
+
+#: misc.c:522
+#, c-format
+msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+msgstr "%s : utilisateur %lu (reél %lu), groupe %lu (réel %lu)\n"
+
+#: misc.c:543
+msgid "Initialized access"
+msgstr "Accès initialisé"
+
+#: misc.c:622
+msgid "User access"
+msgstr "Accès utilisateur"
+
+#: misc.c:670
+msgid "Make access"
+msgstr "Accès de Make"
+
+#: misc.c:704
+msgid "Child access"
+msgstr "Accès des fils"
+
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s : on entre dans un répertoire inconnu\n"
-#: main.c:3239
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s : on quitte un répertoire inconnu\n"
-#: main.c:3242
+#: output.c:109
#, c-format
-msgid "%s: Entering directory `%s'\n"
-msgstr "%s : on entre dans le répertoire « %s »\n"
+msgid "%s: Entering directory '%s'\n"
+msgstr "%s : on entre dans le répertoire « %s »\n"
-#: main.c:3245
+#: output.c:111
#, c-format
-msgid "%s: Leaving directory `%s'\n"
-msgstr "%s: on quitte le répertoire « %s »\n"
+msgid "%s: Leaving directory '%s'\n"
+msgstr "%s : on quitte le répertoire « %s »\n"
-#: main.c:3250
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u] : on entre dans un répertoire inconnu\n"
-#: main.c:3253
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u] : on quitte un répertoire inconnu\n"
-#: main.c:3257
+#: output.c:120
#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
-msgstr "%s[%u] : on entre dans le répertoire « %s »\n"
+msgid "%s[%u]: Entering directory '%s'\n"
+msgstr "%s[%u] : on entre dans le répertoire « %s »\n"
-#: main.c:3260
+#: output.c:122
#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
-msgstr "%s[%u] : on quitte le répertoire « %s »\n"
+msgid "%s[%u]: Leaving directory '%s'\n"
+msgstr "%s[%u] : on quitte le répertoire « %s »\n"
-#: misc.c:316
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
+msgstr "erreur d'écriture : %s"
+
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Arrêt.\n"
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "Erreur inconnue %d"
-
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s : %s"
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s : %s"
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "mémoire virtuelle épuisée"
-
-#: misc.c:708
-#, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s : utilisateur %lu (reél %lu), groupe %lu (réel %lu)\n"
-
-#: misc.c:729
-msgid "Initialized access"
-msgstr "Accès initialisé"
-
-#: misc.c:808
-msgid "User access"
-msgstr "Accès utilisateur"
-
-#: misc.c:856
-msgid "Make access"
-msgstr "Accès de Make"
-
-#: misc.c:890
-msgid "Child access"
-msgstr "Accès des fils"
-
-#: misc.c:954
-#, c-format
-msgid "write error: %s"
-msgstr "erreur d'écriture : %s"
-
-#: misc.c:956
-msgid "write error"
-msgstr "erreur d'écriture"
-
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
msgstr "Lecture des makefiles...\n"
-#: read.c:333
+#: read.c:335
#, c-format
-msgid "Reading makefile `%s'"
-msgstr "Lecture du makefile « %s »"
+msgid "Reading makefile '%s'"
+msgstr "Lecture du makefile « %s »"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (pas d'objectif par défaut)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (chemin de recherche)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (peu importe)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (pas de remplacement du ~)"
-#: read.c:759
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr "On saute les BOM UTF-8 du makefile « %s »\n"
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr "On saute les BOM UTF-8 du tampon makefile\n"
+
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "syntaxe incorrecte dans la condition"
-#: read.c:891
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr "%s : echec du chargement"
+
+#: read.c:992
msgid "recipe commences before first target"
msgstr "La recette commence avant la première cible"
-#: read.c:940
+#: read.c:1041
msgid "missing rule before recipe"
msgstr "règle manquante avant la recette"
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "séparateur manquant %s"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
+msgstr " (vouliez-vous dire TAB au lieu des 8 espaces ?)"
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
-msgstr " (vouliez-vous dire TAB au lieu des 8 espaces ?)"
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "séparateur manquant %s"
-#: read.c:1163
+#: read.c:1270
msgid "missing target pattern"
msgstr "motif de cible manquant"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
msgstr "motifs de cible multiples"
-#: read.c:1169
+#: read.c:1276
#, c-format
-msgid "target pattern contains no `%%'"
-msgstr "le motif de cible ne contient pas « %% »"
+msgid "target pattern contains no '%%'"
+msgstr "le motif de cible ne contient pas « %% »"
-#: read.c:1293
-msgid "missing `endif'"
-msgstr "« endif » manquant"
+#: read.c:1398
+msgid "missing 'endif'"
+msgstr "« endif » manquant"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "nom de variable vide"
-#: read.c:1367
-msgid "extraneous text after `define' directive"
-msgstr "Texte superflu après la directive « define »"
+#: read.c:1471
+msgid "extraneous text after 'define' directive"
+msgstr "texte superflu après la directive « define »"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
-msgstr "« endef » manquant, « define » non terminé"
+#: read.c:1496
+msgid "missing 'endef', unterminated 'define'"
+msgstr "« endef » manquant, « define » non terminé"
-#: read.c:1420
-msgid "extraneous text after `endef' directive"
-msgstr "Texte superflu après la directive « endef »"
+#: read.c:1524
+msgid "extraneous text after 'endef' directive"
+msgstr "texte superflu après la directive « endef »"
-#: read.c:1490
+#: read.c:1595
#, c-format
-msgid "Extraneous text after `%s' directive"
-msgstr "Texte superflu après la directive « %s »"
+msgid "extraneous text after '%s' directive"
+msgstr "texte superflu après la directive « %s »"
-#: read.c:1499 read.c:1513
+#: read.c:1596
#, c-format
-msgid "extraneous `%s'"
-msgstr "« %s » superflu"
+msgid "extraneous '%s'"
+msgstr "« %s » superflu"
-#: read.c:1518
-msgid "only one `else' per conditional"
-msgstr "un seul « else » par condition"
+#: read.c:1624
+msgid "only one 'else' per conditional"
+msgstr "un seul « else » par condition"
-#: read.c:1797
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Définition malformée de variable spécifique à une cible"
-#: read.c:1855
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr "les prérequis ne peuvent être définis dans des recettes"
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "mélange de règles implicites et statiques pour le motif"
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "mélange de règles implicites et normales"
-#: read.c:1976
+#: read.c:2091
#, c-format
-msgid "target `%s' doesn't match the target pattern"
-msgstr "la cible « %s » ne correspond pas au motif de cible"
+msgid "target '%s' doesn't match the target pattern"
+msgstr "la cible « %s » ne correspond pas au motif de cible"
-#: read.c:1991 read.c:2036
+#: read.c:2106 read.c:2152
#, c-format
-msgid "target file `%s' has both : and :: entries"
-msgstr "le fichier cible « %s » possède à la fois des entrées : et ::"
+msgid "target file '%s' has both : and :: entries"
+msgstr "le fichier cible « %s » possède à la fois des entrées : et ::"
-#: read.c:1997
+#: read.c:2112
#, c-format
-msgid "target `%s' given more than once in the same rule."
-msgstr "la cible « %s » apparaît plus d'une fois dans la même règle."
+msgid "target '%s' given more than once in the same rule"
+msgstr "la cible « %s » apparaît plus d'une fois dans la même règle."
-#: read.c:2006
+#: read.c:2122
#, c-format
-msgid "warning: overriding recipe for target `%s'"
-msgstr "AVERTISSEMENT : surchargement de la recette pour la cible « %s »"
+msgid "warning: overriding recipe for target '%s'"
+msgstr "avertissement : surchargement de la recette pour la cible « %s »"
-#: read.c:2009
+#: read.c:2125
#, c-format
-msgid "warning: ignoring old recipe for target `%s'"
-msgstr "AVERTISSEMENT : ancienne recette ignorée pour la cible « %s »"
+msgid "warning: ignoring old recipe for target '%s'"
+msgstr "avertissement : ancienne recette ignorée pour la cible « %s »"
-#: read.c:2392
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "mélange de règles implicites et normales"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr ""
-"AVERTISSEMENT : caractère NUL détecté ; le reste de la ligne est ignoré"
+"AVERTISSEMENT : caractère NUL détecté ; le reste de la ligne est ignoré"
-#: remake.c:234
+#: remake.c:230
#, c-format
-msgid "Nothing to be done for `%s'."
-msgstr "Rien à faire pour « %s »."
+msgid "Nothing to be done for '%s'."
+msgstr "rien à faire pour « %s »."
-#: remake.c:235
+#: remake.c:231
#, c-format
-msgid "`%s' is up to date."
-msgstr "« %s » est à jour."
+msgid "'%s' is up to date."
+msgstr "« %s » est à jour."
-#: remake.c:306
+#: remake.c:303
#, c-format
-msgid "Pruning file `%s'.\n"
-msgstr "Élagage du fichier « %s ».\n"
+msgid "Pruning file '%s'.\n"
+msgstr "Élagage du fichier « %s ».\n"
-#: remake.c:359
+#: remake.c:390 remake.c:393
#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%sAucune règle pour fabriquer la cible « %s »%s"
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
+msgstr ""
+"%s Aucune règle pour fabriquer la cible « %s », nécessaire pour « %s »%s"
-#: remake.c:361
+#: remake.c:402 remake.c:405
#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
-msgstr "%s Aucune règle pour fabriquer la cible « %s », nécessaire pour « %s »%s"
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sAucune règle pour fabriquer la cible « %s »%s"
-#: remake.c:413
+#: remake.c:426
#, c-format
-msgid "Considering target file `%s'.\n"
-msgstr "Étude du fichier cible « %s ».\n"
+msgid "Considering target file '%s'.\n"
+msgstr "Étude du fichier cible « %s ».\n"
-#: remake.c:420
+#: remake.c:433
#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
-msgstr "Tentative récente échouée de mettre à jour le fichier « %s ».\n"
+msgid "Recently tried and failed to update file '%s'.\n"
+msgstr "Tentative récente échouée de mettre à jour le fichier « %s ».\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
-msgid "File `%s' was considered already.\n"
-msgstr "Le fichier « %s » a déjà été étudié.\n"
+msgid "File '%s' was considered already.\n"
+msgstr "Le fichier « %s » a déjà été étudié.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
-msgid "Still updating file `%s'.\n"
-msgstr "Mise à jour du fichier « %s » en cours.\n"
+msgid "Still updating file '%s'.\n"
+msgstr "Mise à jour du fichier « %s » en cours.\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
-msgid "Finished updating file `%s'.\n"
-msgstr "Fin de la mise à jour du fichier « %s ».\n"
+msgid "Finished updating file '%s'.\n"
+msgstr "Fin de la mise à jour du fichier « %s ».\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
-msgid "File `%s' does not exist.\n"
-msgstr "Le fichier « %s » n'existe pas.\n"
+msgid "File '%s' does not exist.\n"
+msgstr "Le fichier « %s » n'existe pas.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-"*** AVERTISSEMENT : le fichier .LOW_RESOLUTION_TIME « %s » a un horodatage à "
+"*** Avertissement : le fichier .LOW_RESOLUTION_TIME « %s » a un horodatage à "
"haute résolution"
-#: remake.c:494 remake.c:1016
+#: remake.c:508 remake.c:1040
#, c-format
-msgid "Found an implicit rule for `%s'.\n"
-msgstr "Règle implicite trouvée pour « %s ».\n"
+msgid "Found an implicit rule for '%s'.\n"
+msgstr "Règle implicite trouvée pour « %s ».\n"
-#: remake.c:496 remake.c:1018
+#: remake.c:510 remake.c:1042
#, c-format
-msgid "No implicit rule found for `%s'.\n"
-msgstr "Pas de règle implicite trouvée pour « %s ».\n"
+msgid "No implicit rule found for '%s'.\n"
+msgstr "Pas de règle implicite trouvée pour « %s ».\n"
-#: remake.c:502
+#: remake.c:516
#, c-format
-msgid "Using default recipe for `%s'.\n"
-msgstr "Utilisation de la recette par défaut pour « %s ».\n"
+msgid "Using default recipe for '%s'.\n"
+msgstr "Utilisation de la recette par défaut pour « %s ».\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Dépendance circulaire %s <- %s abandonnée."
-#: remake.c:651
+#: remake.c:675
#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
-msgstr "Fin des dépendances du fichier cible « %s ».\n"
+msgid "Finished prerequisites of target file '%s'.\n"
+msgstr "Fin des dépendances du fichier cible « %s ».\n"
-#: remake.c:657
+#: remake.c:681
#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
-msgstr "Les dépendances de « %s » sont en cours de fabrication.\n"
+msgid "The prerequisites of '%s' are being made.\n"
+msgstr "Les dépendances de « %s » sont en cours de fabrication.\n"
-#: remake.c:670
+#: remake.c:695
#, c-format
-msgid "Giving up on target file `%s'.\n"
-msgstr "Abandon sur le fichier cible « %s ».\n"
+msgid "Giving up on target file '%s'.\n"
+msgstr "Abandon du fichier cible « %s ».\n"
-#: remake.c:675
+#: remake.c:700
#, c-format
-msgid "Target `%s' not remade because of errors."
-msgstr "La cible « %s » n'a pas été refabriquée à cause d'erreurs."
+msgid "Target '%s' not remade because of errors."
+msgstr "La cible « %s » n'a pas été refabriquée à cause d'erreurs."
-#: remake.c:727
+#: remake.c:752
#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
-msgstr "Le prérequis « %s » est seulement d'ordre pour la cible « %s ».\n"
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
+msgstr "La dépendance « %s » ne commande que la cible « %s ».\n"
-#: remake.c:732
+#: remake.c:757
#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
-msgstr "La dépendance « %s » de la cible « %s » n'existe pas.\n"
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
+msgstr "La dépendance « %s » de la cible « %s » n'existe pas.\n"
-#: remake.c:737
+#: remake.c:762
#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
-msgstr "La dépendance « %s » est plus récente que la cible « %s ».\n"
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
+msgstr "La dépendance « %s » est plus récente que la cible « %s ».\n"
-#: remake.c:740
+#: remake.c:765
#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
-msgstr "La dépendance « %s » est plus ancienne que la cible « %s ».\n"
+msgid "Prerequisite '%s' is older than target '%s'.\n"
+msgstr "uLa dépendance « %s » est plus ancienne que la cible « %s ».\n"
-#: remake.c:758
+#: remake.c:783
#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
-msgstr "La cible « %s » a un double deux-points et n'a pas de dépendance.\n"
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
+msgstr "La cible « %s » a un deux-points double et n'a pas de dépendance.\n"
-#: remake.c:765
+#: remake.c:790
#, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
-msgstr "Pas de recette pour « %s » et aucune dépendance n'a changé.\n"
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
+msgstr "Pas de recette pour « %s » et aucune dépendance n'a changé.\n"
-#: remake.c:770
+#: remake.c:795
#, c-format
-msgid "Making `%s' due to always-make flag.\n"
-msgstr "Fabrication de « %s » à cause de l'indicateur « always-make ».\n"
+msgid "Making '%s' due to always-make flag.\n"
+msgstr "Fabrication de « %s » à cause de l'indicateur « always-make ».\n"
-#: remake.c:778
+#: remake.c:803
#, c-format
-msgid "No need to remake target `%s'"
-msgstr "Inutile de refabriquer la cible « %s »."
+msgid "No need to remake target '%s'"
+msgstr "Inutile de refabriquer la cible « %s »"
-#: remake.c:780
+#: remake.c:805
#, c-format
-msgid "; using VPATH name `%s'"
-msgstr "; utilisation du nom VPATH « %s »"
+msgid "; using VPATH name '%s'"
+msgstr " ; utilisation du nom VPATH « %s »"
-#: remake.c:800
+#: remake.c:825
#, c-format
-msgid "Must remake target `%s'.\n"
-msgstr "Il faut refabriquer la cible « %s ».\n"
+msgid "Must remake target '%s'.\n"
+msgstr "Il faut refabriquer la cible « %s ».\n"
-#: remake.c:806
+#: remake.c:831
#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
-msgstr " On ignore le nom VPATH « %s ».\n"
+msgid " Ignoring VPATH name '%s'.\n"
+msgstr " On ignore le nom VPATH « %s ».\n"
-#: remake.c:815
+#: remake.c:840
#, c-format
-msgid "Recipe of `%s' is being run.\n"
-msgstr "La recette de « %s » est en cours d'exécution.\n"
+msgid "Recipe of '%s' is being run.\n"
+msgstr "La recette de « %s » est en cours d'exécution.\n"
-#: remake.c:822
+#: remake.c:847
#, c-format
-msgid "Failed to remake target file `%s'.\n"
-msgstr "Échec de refabrication du fichier cible « %s ».\n"
+msgid "Failed to remake target file '%s'.\n"
+msgstr "Échec de refabrication du fichier cible « %s ».\n"
-#: remake.c:825
+#: remake.c:850
#, c-format
-msgid "Successfully remade target file `%s'.\n"
-msgstr "Refabrication réussie du fichier cible « %s ».\n"
+msgid "Successfully remade target file '%s'.\n"
+msgstr "Refabrication réussie du fichier cible « %s ».\n"
-#: remake.c:828
+#: remake.c:853
#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
-msgstr "Le fichier cible « %s » a besoin d'être refabriqué avec l'option -q.\n"
+msgid "Target file '%s' needs to be remade under -q.\n"
+msgstr "Le fichier cible « %s » a besoin d'être refabriqué avec l'option -q.\n"
-#: remake.c:1024
+#: remake.c:1048
#, c-format
-msgid "Using default commands for `%s'.\n"
-msgstr "Utilisation des commandes par défaut pour « %s ».\n"
+msgid "Using default commands for '%s'.\n"
+msgstr "Utilisation des commandes par défaut pour « %s ».\n"
-#: remake.c:1357
+#: remake.c:1397
#, c-format
-msgid "Warning: File `%s' has modification time in the future"
+msgid "Warning: File '%s' has modification time in the future"
msgstr ""
-"AVERTISSEMENT : le fichier « %s » a une date de modification dans le futur"
+"Avertissement : le fichier « %s » a une date de modification dans le futur"
-#: remake.c:1370
+#: remake.c:1411
#, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
+msgid "Warning: File '%s' has modification time %s s in the future"
msgstr ""
-"AVERTISSEMENT : le fichier « %s » a une date de modification %s s dans le "
+"Avertissement : le fichier « %s » a une date de modification %s s dans le "
"futur"
-#: remake.c:1569
+#: remake.c:1610
#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
-msgstr "l'élément « %s » de .LIBPATTERNS n'est pas un motif"
+msgid ".LIBPATTERNS element '%s' is not a pattern"
+msgstr "l'élément « %s » de .LIBPATTERNS n'est pas un motif"
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
-msgstr "« customs » n'exportera pas : %s\n"
+msgstr "« customs » n'exportera pas : %s\n"
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
msgstr ""
"\n"
-"# Règles Implicites"
+"# Règles implicites"
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1661,7 +1857,7 @@ msgstr ""
"\n"
"# Pas de règle implicite."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1670,244 +1866,266 @@ msgstr ""
"\n"
"# %u règles implicites, %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
-msgstr " terminales."
+msgstr " terminal."
-#: rule.c:534
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
-msgstr "ANOMALIE : num_pattern_rules est faux ! %u != %u"
+msgstr "ANOMALIE : num_pattern_rules est faux ! %u != %u"
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
msgstr "signal inconnu"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
msgstr "Raccroche"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
msgstr "Interrompt"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
msgstr "Quitte"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
msgstr "Instruction non admise"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
msgstr "Point de trace/arrêt"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr "Annulé"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
msgstr "Appel IOT"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
msgstr "Appel EMT"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
msgstr "Exception en virgule flottante"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
msgstr "Tué"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
msgstr "Erreur de bus"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
msgstr "Erreur de segmentation"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
msgstr "Mauvais appel système"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
msgstr "Tube cassé"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr "Alarme"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
msgstr "Terminé"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
msgstr "Signal utilisateur 1"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
msgstr "Signal utilisateur 2"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
msgstr "Processus fils terminé"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
msgstr "Coupure d'alimentation"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr "Arrêté"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
msgstr "Arrêté (entrée tty)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
msgstr "Arrêté (sortie tty)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
msgstr "Arrêté (signal)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
msgstr "Limite du temps CPU dépassée"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
msgstr "Limite de taille de fichier dépassée"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
msgstr "Compteur virtuel expiré"
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
msgstr "Compteur de profiling expiré"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
msgstr "Fenêtre modifiée"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
msgstr "Reprise"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
msgstr "Condition d'E/S urgente"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
msgstr "E/S possible"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr "Ressource perdue"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
msgstr "Signal de danger"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
msgstr "Demande d'informations"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
msgstr "Coprocesseur en virgule flottante non disponible"
-#: strcache.c:235
+#: strcache.c:236
#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s No strcache buffers\n"
msgstr ""
"\n"
-"%s nombre de chaines dans strcache: %d / lookups = %lu / hits = %lu\n"
+"%s pas de tampons strcache\n"
-#: strcache.c:237
+#: strcache.c:266
#, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
-msgstr "%s nombre de tampons strcache : %d (* %d B/buffer = %d B)\n"
+msgid ""
+"\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
+msgstr ""
+"\n"
+"%s strcache utilisé : %lu (%lu) / chaînes = %lu / espace = %lu o / moy = %lu "
+"o\n"
-#: strcache.c:239
+#: strcache.c:270
#, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
-"%s strcache utilisé : total = %d (%d) / max = %d / min = %d / moy = %d\n"
+"%s tampon courant : taille = %hu o / utilisé = %hu o / nombre = %hu / moy = "
+"%hu o\n"
-#: strcache.c:241
+#: strcache.c:280
#, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
-msgstr "%s strcache libre : total = %d (%d) / max = %d / min = %d / moy = %d\n"
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
+msgstr "%s autre utilisé : total = %lu o / nombre = %lu / moy = %lu o\n"
-#: strcache.c:244
+#: strcache.c:283
+#, c-format
+msgid ""
+"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
+msgstr ""
+"%s autre libre : total = %lu o / max = %lu o / min = %lu o / moy = %hu o\n"
+
+#: strcache.c:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
-"# "
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
msgstr ""
"\n"
-"# stats des tables de hachage strcache :\n"
+"%s performance strcache : lookups = %lu / accès = %lu%%\n"
+
+#: strcache.c:289
+msgid ""
+"# hash-table stats:\n"
"# "
+msgstr ""
+"# stats des tables de hachage :\n"
+"# "
+
+#: variable.c:1599
+msgid "automatic"
+msgstr "automatique"
-#: variable.c:1541
+#: variable.c:1602
msgid "default"
msgstr "défaut"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
msgstr "environnement"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
msgstr "environnement avec l'option -e"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
msgstr "ligne de commande"
-#: variable.c:1556
-msgid "`override' directive"
-msgstr "directive « override »"
+#: variable.c:1617
+msgid "'override' directive"
+msgstr "directive « override »"
-#: variable.c:1559
-msgid "automatic"
-msgstr "automatique"
-
-#: variable.c:1570
+#: variable.c:1628
#, c-format
-msgid " (from `%s', line %lu)"
-msgstr " (depuis « %s », ligne %lu)"
+msgid " (from '%s', line %lu)"
+msgstr " (depuis « %s », ligne %lu)"
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
-msgstr "# stats des tables de hachage de la variable « set » :\n"
+msgstr "# stats des tables de hachage de la variable « set » :\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -1915,7 +2133,7 @@ msgstr ""
"\n"
"# Variables\n"
-#: variable.c:1627
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -1923,7 +2141,7 @@ msgstr ""
"\n"
"# Valeurs de variable spécifiques au motif"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -1931,7 +2149,7 @@ msgstr ""
"\n"
"# pas de valeurs de variable spécifiques au motif"
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -1940,132 +2158,181 @@ msgstr ""
"\n"
"# %u valeurs de variable spécifiques au motif"
-#: variable.h:219
+#: variable.h:224
#, c-format
-msgid "warning: undefined variable `%.*s'"
-msgstr "AVERTISSEMENT : variable indéfinie « %.*s »"
+msgid "warning: undefined variable '%.*s'"
+msgstr "avertissement : variable « %.*s » indéfinie"
-#: vmsfunctions.c:92
+#: vmsfunctions.c:91
#, c-format
msgid "sys$search() failed with %d\n"
msgstr "sys$search() a échoué avec %d\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
-msgstr "AVERTISSEMENT : redirection vide\n"
+msgstr "AVERTISSEMENT : redirection vide\n"
-#: vmsjobs.c:184
+#: vmsjobs.c:183
#, c-format
-msgid "internal error: `%s' command_state"
-msgstr "erreur interne : « %s » command_state"
+msgid "internal error: '%s' command_state"
+msgstr "erreur interne : « %s » command_state"
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
"-warning, vous pourriez avoir besoin de réactiver le traitement de CTRL-Y "
"par DCL.\n"
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "COMMANDE INTERNE [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "COMMANDE CD INTERNE %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "COMMANDE RM INTERNE %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "COMMANDE CD INTERNE %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
-msgstr "Commande interne inconnue « %s »\n"
+msgstr "Commande interne inconnue « %s »\n"
+
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
-#: vmsjobs.c:493
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "Erreur, commande vide\n"
-#: vmsjobs.c:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Entrée redirigée depuis %s\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Erreur redirigée vers %s\n"
-#: vmsjobs.c:523
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr "Sortie ajoutée à %s\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Sortie redirigée vers %s\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr "Ajoute %.*s et nettoie\n"
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "Exécution de %s à la place\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Erreur de lancement, %d\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
msgstr ""
"\n"
-"# Chemins de Recherche VPATH\n"
+"# Chemins de recherche VPATH\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
-msgstr "# Aucun chemin de recherche « vpath »."
+#: vpath.c:600
+msgid "# No 'vpath' search paths."
+msgstr "# Aucun chemin de recherche « vpath »."
-#: vpath.c:605
+#: vpath.c:602
#, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
-"# %u chemins de recherche « vpath ».\n"
+"# %u chemins de recherche « vpath ».\n"
-#: vpath.c:608
+#: vpath.c:605
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
-"# Aucun chemin de recherche général (variable « VPATH »)."
+"# Aucun chemin de recherche général (variable « VPATH »)."
-#: vpath.c:614
+#: vpath.c:611
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
-"# Chemin de recherche général (variable « VPATH ») :\n"
+"# Chemin de recherche général (variable « VPATH ») :\n"
"# "
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "erreur interne : options --sync-mutex multiples"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "erreur interne : options --jobserver-fds multiples"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "mémoire virtuelle épuisée"
+
+#~ msgid "write error"
+#~ msgstr "erreur d'écriture"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "COMMANDE RM INTERNE %s\n"
+
+#~ msgid "# Invalid value in `update_status' member!"
+#~ msgstr "# Valeur non valable dans le membre « update_status » !"
+
+#~ msgid "*** [%s] Error 0x%x (ignored)"
+#~ msgstr "*** [%s] Erreur 0x%x (ignorée)"
+
+#~ msgid "[%s] Error %d (ignored)"
+#~ msgstr "[%s] Erreur %d (ignorée)"
+
+#~ msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
+#~ msgstr ""
+#~ "Invocation de recette de %s:%lu pour mettre à jour la cible « %s ».\n"
+
+#~ msgid "Invoking builtin recipe to update target `%s'.\n"
+#~ msgstr ""
+#~ "Invocation de la recette incorporée pour mettre à jour la cible « %s ».\n"
+
+#~ msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+#~ msgstr "%s nombre de tampons strcache : %d (* %d B/buffer = %d B)\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "# strcache hash-table stats:\n"
+#~ "# "
+#~ msgstr ""
+#~ "\n"
+#~ "# stats des tables de hachage strcache :\n"
+#~ "# "
+
#~ msgid "process_easy() failed failed to launch process (e=%ld)\n"
#~ msgstr "process_easy() n'a pas pu lancer de processus (e=%ld)\n"
@@ -2080,13 +2347,13 @@ msgstr ""
#~ "%sune ADÉQUATION À UN BESOIN PARTICULIER.\n"
#~ msgid "extraneous `endef'"
-#~ msgstr "« endef » superflu"
+#~ msgstr "« endef » superflu"
#~ msgid "empty `override' directive"
-#~ msgstr "directive « override » vide"
+#~ msgstr "directive « override » vide"
#~ msgid "invalid `override' directive"
-#~ msgstr "directive « override » incorrecte"
+#~ msgstr "directive « override » incorrecte"
#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
#~ msgstr "-warning, CTRL-Y va laisser des sous-processsus dans la nature.\n"
@@ -2098,7 +2365,7 @@ msgstr ""
#~ msgstr "Réinitialisation de make en mode de traitement simple des tâches."
#~ msgid "Syntax error, still inside '\"'\n"
-#~ msgstr "Erreur de syntaxe, toujours à l'intérieur de « \" »\n"
+#~ msgstr "Erreur de syntaxe, toujours à l'intérieur de « \" »\n"
#~ msgid "Got a SIGCHLD; %u unreaped children.\n"
#~ msgstr ""
@@ -2106,10 +2373,10 @@ msgstr ""
#~ "sortie n'a pas été récupé.\n"
#~ msgid "no file name for `%sinclude'"
-#~ msgstr "pas de nom de fichier pour « %sinclude »"
+#~ msgstr "pas de nom de fichier pour « %sinclude »"
#~ msgid "target `%s' leaves prerequisite pattern empty"
-#~ msgstr "la cible « %s » a laissé un schéma de dépendance vide"
+#~ msgstr "la cible « %s » a laissé un schéma de dépendance vide"
#~ msgid ""
#~ "\n"
@@ -2238,9 +2505,6 @@ msgstr ""
#~ msgid "intermediate"
#~ msgstr "intermédiaire"
-#~ msgid " (ignored)"
-#~ msgstr " (ignorée)"
-
#~ msgid "Unknown%s job %d"
#~ msgstr "Tâche%s inconnue %d"
diff --git a/po/ga.gmo b/po/ga.gmo
index 94495a81..39e658ea 100644
--- a/po/ga.gmo
+++ b/po/ga.gmo
Binary files differ
diff --git a/po/ga.po b/po/ga.po
index 281f8f90..7e865a57 100644
--- a/po/ga.po
+++ b/po/ga.po
@@ -7,120 +7,126 @@ msgid ""
msgstr ""
"Project-Id-Version: make 3.81\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-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 <scannell@SLU.EDU>\n"
"Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
+"Language: ga\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ar.c:48
-#, c-format
-msgid "attempt to use unsupported feature: `%s'"
+#: ar.c:46
+#, fuzzy, c-format
+msgid "attempt to use unsupported feature: '%s'"
msgstr "rinneadh iarracht ar ghné gan tacaíocht a úsáid: `%s'"
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
msgstr "ní féidir ball cartlainne a `touch'áil ar VMS"
-#: ar.c:149
-#, c-format
-msgid "touch: Archive `%s' does not exist"
+#: ar.c:147
+#, fuzzy, c-format
+msgid "touch: Archive '%s' does not exist"
msgstr "touch: Níl an chartlann `%s' ann"
-#: ar.c:152
-#, c-format
-msgid "touch: `%s' is not a valid archive"
+#: ar.c:150
+#, fuzzy, c-format
+msgid "touch: '%s' is not a valid archive"
msgstr "touch: Níl `%s' ina cartlann bhailí"
-#: ar.c:159
-#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
+#: ar.c:157
+#, fuzzy, c-format
+msgid "touch: Member '%s' does not exist in '%s'"
msgstr "touch: Níl a leithéid de bhall `%s' i `%s'"
-#: ar.c:166
-#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
+#: ar.c:164
+#, fuzzy, c-format
+msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "touch: Droch-chód aisfhillidh ó ar_member_touch ar `%s'"
-#: arscan.c:69
+#: 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"
+"níorbh fhéidir le lbr$set_module an t-eolas modúil a bhaint amach, stádas = "
+"%d"
-#: arscan.c:175
+#: 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:187
-#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
+#: 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'"
+"ní féidir leabharlann `%s' a oscailt chun cuardach a dhéanamh ar an mball `"
+"%s'"
-#: arscan.c:850
-#, c-format
-msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
+#: 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:851
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (is féidir go bhfuil an t-ainm teasctha)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Dáta %s"
-#: arscan.c:854
+#: 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:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr ""
+
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Briseadh.\n"
-#: commands.c:622
-#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
+#: 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:625
-#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
+#: 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:638
-#, c-format
-msgid "*** [%s] Deleting file `%s'"
+#: commands.c:647
+#, fuzzy, c-format
+msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] Comhad `%s' á scriosadh"
-#: commands.c:640
-#, c-format
-msgid "*** Deleting file `%s'"
+#: commands.c:649
+#, fuzzy, c-format
+msgid "*** Deleting file '%s'"
msgstr "*** Comhad `%s' á scriosadh"
-#: commands.c:676
+#: commands.c:685
#, fuzzy
msgid "# recipe to execute"
msgstr "# orduithe le rith"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
msgstr " (insuite):"
-#: commands.c:681
-#, c-format
-msgid " (from `%s', line %lu):\n"
+#: commands.c:690
+#, fuzzy, c-format
+msgid " (from '%s', line %lu):\n"
msgstr " (ó `%s', líne %lu):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -128,225 +134,229 @@ msgstr ""
"\n"
"# Comhadlanna\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
msgstr "# %s: níorbh fhéidir é a stat.\n"
-#: dir.c:1012
+#: 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:1016
+#: 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:1021
+#: 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:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
msgstr "# %s (eochair %s, am-m %d): "
-#: dir.c:1052
+#: 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:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
msgstr "# %s (gléas %ld, i-nód %ld): "
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "Ná Déan"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr " comhad, "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "níl"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
msgstr " rudaí neamhfhéideartha"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
msgstr " go dtí seo."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
msgstr " rudaí neamhfhéideartha i %lu comhadlann.\n"
-#: expand.c:127
-#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
+#: expand.c:125
+#, fuzzy, c-format
+msgid "Recursive variable '%s' references itself (eventually)"
msgstr "Déanann an athróg athchúrsach `%s' tagairt dó féin (sa deireadh)"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
msgstr "tagairt athróige gan chríochnú"
-#: file.c:267
+#: file.c:271
#, fuzzy, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
+msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "Sonraíodh orduithe le haghaidh comhaid `%s' ag %s:%lu,"
-#: file.c:272
+#: file.c:276
#, fuzzy, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
+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:275
-#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
+#: 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:278
+#: file.c:283
#, fuzzy, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
+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:298
-#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
+#: 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:303
-#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
+#: 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:392
-#, c-format
-msgid "*** Deleting intermediate file `%s'"
+#: file.c:401
+#, fuzzy, c-format
+msgid "*** Deleting intermediate file '%s'"
msgstr "*** Comhad idirmheánach `%s' á scriosadh"
-#: file.c:396
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Comhaid idirmheánacha á mbaint...\n"
-#: file.c:803
+#: file.c:811
+msgid "Current time"
+msgstr "An t-am anois"
+
+#: 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:804
-msgid "Current time"
-msgstr "An t-am anois"
-
-#: file.c:924
+#: file.c:955
msgid "# Not a target:"
msgstr "# Ní sprioc é:"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Comhad luachmhar (réamhriachtanas de .PRECIOUS)."
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Sprioc bhréige (réamhriachtanas de .PHONY)."
-#: file.c:933
+#: file.c:964
#, fuzzy
msgid "# Command line target."
msgstr "# Sprioc líne na n-orduithe."
-#: file.c:935
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Makefile réamhshocraithe, nó ó MAKEFILES, nó -include/sinclude."
-#: file.c:937
+#: file.c:968
+#, fuzzy
+msgid "# Builtin rule"
+msgstr ""
+"\n"
+"# Níl aon riail intuigthe."
+
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Rinneadh cuardach ar rialacha intuigthe."
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Ní dhearna cuardach ar rialacha intuigthe."
-#: file.c:940
-#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
+#: file.c:973
+#, fuzzy, c-format
+msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# Stoc patrúin intuigthe/statach: `%s'\n"
-#: file.c:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Tá an comhad ina réamhriachtanas idirmheánach."
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
msgstr "# Déantar fosta:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Níor seiceáladh an t-am mionathraithe riamh."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
msgstr "# Níl a leithéid de chomhad ann."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
msgstr "# Is cianaosta an comhad seo."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Athraithe %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
msgstr "# Nuashonraíodh an comhad."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Níor nuashonraíodh an comhad."
-#: file.c:968
+#: 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:971
+#: file.c:1004
#, fuzzy
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Tá orduithe spleáchais ag rith (IS FABHT É SEO)."
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# D'éirigh leis an nuashonrú."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Tá gá le nuashonrú (-q ceaptha)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Theip ar nuashonrú."
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# Luach neamhbhailí sa bhall `update_status'!"
-
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
+#: file.c:1025
+#, fuzzy
+msgid "# Invalid value in 'command_state' member!"
msgstr "# Luach neamhbhailí sa bhall `command_state'!"
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -354,7 +364,7 @@ msgstr ""
"\n"
"# Comhaid"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -364,117 +374,175 @@ msgstr ""
"# comhaid hais-tábla stait:\n"
"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr ""
+
+#: 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:763
-msgid "first argument to `word' function must be greater than 0"
+#: 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:783
-msgid "non-numeric first argument to `wordlist' function"
+#: 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:785
-msgid "non-numeric second argument to `wordlist' function"
+#: 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:1458
+#: function.c:1499
#, fuzzy, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "create_child_process: theip ar DuplicateHandle(In) (e=%ld)\n"
-#: function.c:1469
+#: function.c:1523
#, fuzzy, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "create_child_process: theip ar DuplicateHandle(Earr) (e=%ld)\n"
-#: function.c:1474
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "Theip ar CreatePipe() (e=%ld)\n"
-#: function.c:1479
+#: function.c:1538
#, fuzzy
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe (): theip ar process_init_fd()\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Baisc-chomhad sealadach %s á ghlanadh\n"
-#: function.c:2150
+#: function.c:2193
+#, fuzzy, c-format
+msgid "open: %s: %s"
+msgstr "%s: %s"
+
+#: function.c:2203
+#, fuzzy, c-format
+msgid "write: %s: %s"
+msgstr "earráid sa scríobh: %s"
+
+#: function.c:2209
#, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
+msgid "Invalid file operation: %s"
+msgstr ""
+
+#: 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:2162
-#, c-format
-msgid "unimplemented on this platform: function `%s'"
+#: 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:2212
-#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
+#: 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"
-#: getopt.c:661
+#: function.c:2591
+msgid "Empty function name"
+msgstr ""
+
+#: function.c:2593
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: Tá an rogha `%s' débhríoch\n"
+msgid "Invalid function name: %s"
+msgstr ""
-#: getopt.c:685
+#: function.c:2595
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "Function name too long: %s"
+msgstr ""
+
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr "easpa argóintí (%d) d'fheidhm `%s'"
+
+#: function.c:2601
+#, fuzzy, c-format
+msgid "Invalid maximum argument count (%d) for function %s"
+msgstr "easpa argóintí (%d) d'fheidhm `%s'"
+
+#: getopt.c:659
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: Tá an rogha `%s' débhríoch\n"
+
+#: getopt.c:683
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `--%s'\n"
-#: getopt.c:690
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+#: getopt.c:688
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `%c%s'\n"
-#: getopt.c:707 getopt.c:880
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
+#: getopt.c:705 getopt.c:878
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s: tá argóint de dhíth i ndiaidh na rogha `%s'\n"
-#: getopt.c:736
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+#: getopt.c:734
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: rogha anaithnid `--%s'\n"
-#: getopt.c:740
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:738
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: rogha anaithnid `%c%s'\n"
-#: getopt.c:766
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: rogha neamhcheadaithe -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: rogha neamhbhailí -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: tá argóint de dhíth i ndiaidh na rogha -- %c\n"
-#: getopt.c:846
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:844
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: Tá an rogha `-W %s' débhríoch\n"
-#: getopt.c:864
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:862
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: ní cheadaítear argóint i ndiaidh na rogha `-W %s'\n"
+#: guile.c:58
+#, c-format
+msgid "guile: Expanding '%s'\n"
+msgstr ""
+
+#: guile.c:74
+#, c-format
+msgid "guile: Evaluating '%s'\n"
+msgstr ""
+
#: hash.c:49
#, fuzzy, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
@@ -495,132 +563,157 @@ msgstr "Ath-haiseáil=%d, "
msgid "Collisions=%ld/%ld=%.0f%%"
msgstr "Tuairteanna haiseála=%ld/%ld=%.0f%%"
-#: implicit.c:40
-#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
+#: implicit.c:38
+#, fuzzy, c-format
+msgid "Looking for an implicit rule for '%s'.\n"
msgstr "Ag déanamh cuardach ar riail intuigthe le haghaidh `%s'.\n"
-#: implicit.c:56
-#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
+#: implicit.c:54
+#, fuzzy, c-format
+msgid "Looking for archive-member implicit rule for '%s'.\n"
msgstr ""
"Ag déanamh cuardach ar riail intuigthe le haghaidh bhall cartlainne `%s'.\n"
-#: implicit.c:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
msgstr "Athchúrsáil de bharr rialacha intuigthe á seachaint.\n"
-#: implicit.c:491
+#: implicit.c:486
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
+msgid "Stem too long: '%.*s'.\n"
+msgstr ""
+
+#: implicit.c:491
+#, fuzzy, c-format
+msgid "Trying pattern rule with stem '%.*s'.\n"
msgstr "Ag baint triail as riail phatrúin le stoc `%.*s'.\n"
-#: implicit.c:674
-#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
+#: implicit.c:697
+#, fuzzy, c-format
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
msgstr "Réamhriachtanas neamhfhéideartha rialach `%s' á dhiúltú.\n"
-#: implicit.c:675
-#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
+#: implicit.c:698
+#, fuzzy, c-format
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
msgstr "Réamhriachtanas intuigthe neamhfhéideartha `%s' á dhiúltú.\n"
-#: implicit.c:688
-#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
+#: implicit.c:711
+#, fuzzy, c-format
+msgid "Trying rule prerequisite '%s'.\n"
msgstr "Ag baint triail as an réamhriachtanas rialach `%s'.\n"
-#: implicit.c:689
-#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
+#: implicit.c:712
+#, fuzzy, c-format
+msgid "Trying implicit prerequisite '%s'.\n"
msgstr "Ag baint triail as an réamhriachtanas intuigthe `%s'.\n"
-#: implicit.c:728
-#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
+#: implicit.c:751
+#, fuzzy, c-format
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
msgstr "Aimsíodh réamhriachtanas `%s' mar VPATH `%s'\n"
-#: implicit.c:742
-#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
+#: implicit.c:765
+#, fuzzy, c-format
+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:335
+#: job.c:361
msgid "Cannot create a temporary file\n"
msgstr "Ní féidir comhad sealadach a chruthú\n"
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] Earráid 0x%x (rinneadh neamhshuim air)"
-
-#: job.c:450
-#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] Earráid 0x%x"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (córdhumpa)"
-#: job.c:454
-#, c-format
-msgid "[%s] Error %d (ignored)"
+#: job.c:488
+#, fuzzy
+msgid " (ignored)"
msgstr "[%s] Earráid %d (rinneadh neamhshuim)"
-#: job.c:455
+#: job.c:492 job.c:2046
+#, fuzzy
+msgid "<builtin>"
+msgstr " (insuite):"
+
+#: job.c:503
#, c-format
-msgid "*** [%s] Error %d"
+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] Earráid %d"
-#: job.c:460
-msgid " (core dumped)"
-msgstr " (córdhumpa)"
+#: 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:549
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Ag fanacht le jabanna neamhchríochnaithe..."
-#: job.c:579
+#: 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:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (cianda)"
-#: job.c:758
+#: 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:759
+#: 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:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Baisc-chomhad sealadach %s á ghlanadh\n"
-#: job.c:861
+#: 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: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:920
-msgid "write jobserver"
-msgstr "scríobh jabfhreastalaí"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
+msgstr ""
-#: job.c:922
+#: 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:1453 job.c:2094
+#: 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:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -629,109 +722,166 @@ msgstr ""
"\n"
"%d argóint sa tosú theipthe\n"
-#: job.c:1525
+#: 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:1778
+#: 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:1787
+#: job.c:2029
msgid "read jobs pipe"
msgstr "léadh píopa na jabanna"
-#: job.c:1798
-#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr ""
+#: job.c:2056
+#, fuzzy, c-format
+msgid "%s: target '%s' does not exist"
+msgstr "touch: Níl an chartlann `%s' ann"
-#: job.c:1802
+#: job.c:2059
#, fuzzy, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "Níl gá leis an sprioc `%s' a athdhéanamh"
+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:1910
+#: 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:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "ní féidir srian lóid a chur i bhfeidhm: "
-#: job.c:1985
+#: 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:1987
+#: 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:2015
+#: 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:2293
msgid "Could not restore stdin\n"
msgstr "Níorbh fhéidir stdin a athchóiriú\n"
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Níorbh fhéidir stdout a athchóiriú\n"
-#: job.c:2127
+#: job.c:2309
+#, fuzzy
+msgid "Could not restore stderr\n"
+msgstr "Níorbh fhéidir stdin a athchóiriú\n"
+
+#: 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:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Ní bhfuarthas an t-ordú"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Ní bhfuarthas an clár blaoisce"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: is féidir gur ídithe í cuimhne na timpeallachta"
-#: job.c:2461
-#, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
+#: 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:2951
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Baisc-chomhad sealadach %s á chruthú\n"
-#: job.c:2963
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-#: job.c:3065
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
"%s (líne %d) Droch-chomhthéacs blaoisce (!unixy && !batch_mode_shell)\n"
-#: main.c:303
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr ""
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr ""
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr ""
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr ""
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr ""
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr ""
+
+#: 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:313
msgid "Options:\n"
msgstr "Roghanna:\n"
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m Déan neamhshuim (comhoiriúnacht)\n"
-#: main.c:306
+#: 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:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -739,18 +889,18 @@ msgstr ""
" -C COMHADLANN, --directory=COMHADLANN\n"
" Téigh go COMHADLANN roimh dhéanamh aon rud.\n"
-#: main.c:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr " -d Taispeáin go leor eolas dífhabhtaithe.\n"
-#: main.c:313
+#: 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:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -758,12 +908,12 @@ msgstr ""
" -e, --environment-overrides\n"
" Sáraíonn athróga timpeallachta makefileanna.\n"
-#: main.c:318
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
-#: main.c:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -771,17 +921,17 @@ msgstr ""
" -f COMHAD, --file=COMHAD, --makefile=COMHAD\n"
" Léigh COMHAD mar makefile.\n"
-#: main.c:323
+#: 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:325
+#: 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:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -790,7 +940,7 @@ msgstr ""
" Cuardaigh i gCOMHADLANN ar makefileanna "
"breise.\n"
-#: main.c:330
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -798,14 +948,14 @@ msgstr ""
" -j [N], --jobs[=N] Ceadaigh N jab le chéile; éigríoch mura "
"gceaptar arg.\n"
-#: main.c:332
+#: 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:334
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -815,7 +965,7 @@ msgstr ""
" Ná tosaigh jabanna iomadúla mura bhfuil an lód "
"níos lú ná N.\n"
-#: main.c:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -824,7 +974,7 @@ msgstr ""
"nasc\n"
" siombalach nó ar an sprioc.\n"
-#: main.c:339
+#: main.c:349
#, fuzzy
msgid ""
" -n, --just-print, --dry-run, --recon\n"
@@ -835,7 +985,7 @@ msgstr ""
" Ná rith aon ordú; taispeáin torthaí mar dhea "
"amháin.\n"
-#: main.c:342
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -845,12 +995,18 @@ msgstr ""
" Caith le COMHAD mar cheann cianaosta; ná "
"hathdhéan é.\n"
-#: main.c:345
+#: main.c:355
+msgid ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
+msgstr ""
+
+#: 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:347
+#: main.c:360
#, fuzzy
msgid ""
" -q, --question Run no recipe; exit status says if up to "
@@ -859,21 +1015,21 @@ msgstr ""
" -q, --question Ná rith aon ordú; stádas scortha = 0 mura gá "
"le nuashonrú.\n"
-#: main.c:349
+#: 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:351
+#: 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:353
+#: 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:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -881,23 +1037,28 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Múch -k.\n"
-#: main.c:358
+#: 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:360
+#: main.c:373
+#, fuzzy
+msgid " --trace Print tracing information.\n"
+msgstr " -d Taispeáin go leor eolas dífhabhtaithe.\n"
+
+#: 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:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Taispeáin an chomhadlann reatha.\n"
-#: main.c:364
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -905,7 +1066,7 @@ msgstr ""
" --no-print-directory Múch -w, fiú má tá sé i bhfeidhm go "
"hintuigthe.\n"
-#: main.c:366
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -914,7 +1075,7 @@ msgstr ""
" Caith le COMHAD mar cheann úrnua (go "
"héigríoch).\n"
-#: main.c:369
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -922,21 +1083,26 @@ msgstr ""
" --warn-undefined-variables Tabhair rabhadh má dhéantar tagairt d'athróg "
"gan sainmhíniú.\n"
-#: main.c:564
+#: 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:650
-#, c-format
-msgid "unknown debug level specification `%s'"
+#: main.c:737
+#, fuzzy, c-format
+msgid "unknown debug level specification '%s'"
msgstr "sonrú anaithnid `%s' ar an leibhéal dífhabhtaithe"
-#: main.c:690
+#: main.c:774
+#, c-format
+msgid "unknown output-sync type '%s'"
+msgstr ""
+
+#: 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:697
+#: main.c:835
#, fuzzy, c-format
msgid ""
"\n"
@@ -951,160 +1117,178 @@ msgstr ""
"BratachaEisceachta = %lx\n"
"SeoladhEisceachta = %lx\n"
-#: main.c:705
+#: 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:706
+#: 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:781 main.c:792
+#: 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:834
+#: 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:1273
+#: 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:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "sleep(30) críochnaithe. Ag gabháil ar aghaidh.\n"
-#: main.c:1501
+#: 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."
+msgstr ""
+"rabhadh: níl jabfhreastalaí ar fáil: ag baint úsáid as -j1. Cuir `+' leis "
+"an máthair-riail."
+
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "Sonraíodh Makefile ón ionchur caighdeánach faoi dhó."
-#: main.c:1539 vmsjobs.c:500
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (comhad sealadach)"
-#: main.c:1545
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (comhad sealadach)"
-#: main.c:1703
+#: 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:1704
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Á athshocrú le haghaidh jabanna aonair (-j1)."
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "earráid inmheánach: roghanna --jobserver-fds iomadúla"
-
-#: main.c:1727
+#: main.c:1994
#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
-msgstr "earráid inmheánach: teaghrán neamhbhailí --jobserver-fds `%s'"
-
-#: main.c:1730
-#, c-format
-msgid "Jobserver client (fds %d,%d)\n"
+msgid "Jobserver slots limited to %d\n"
msgstr ""
-#: main.c:1740
-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:1750
-msgid "dup jobserver"
-msgstr "jabfhreastalaí dup"
-
-#: main.c:1753
-msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
+#: main.c:2002
+#, c-format
+msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr ""
-"rabhadh: níl jabfhreastalaí ar fáil: ag baint úsáid as -j1. Cuir `+' leis "
-"an máthair-riail."
-#: main.c:1777
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "píopa na jabanna á chruthú"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "píopa an jabfhreastalaí á thúsú"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "ní thacaítear le naisc shiombalacha: -L á dhíchumasú."
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Makefileanna á nuashonrú....\n"
-#: main.c:1917
-#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
+#: 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:1996
-#, c-format
-msgid "Failed to remake makefile `%s'."
+#: main.c:2237
+#, fuzzy, c-format
+msgid "Failed to remake makefile '%s'."
msgstr "Theip ar athdhéanamh an makefile `%s'."
-#: main.c:2013
-#, c-format
-msgid "Included makefile `%s' was not found."
+#: 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:2018
-#, c-format
-msgid "Makefile `%s' was not found"
+#: main.c:2262
+#, fuzzy, c-format
+msgid "Makefile '%s' was not found"
msgstr "Níor aimsíodh an makefile `%s'"
-#: main.c:2086
+#: 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:2102
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Á rith arís[%u]:"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (comhad sealadach): "
-#: main.c:2247
+#: 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:2270
+#: 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:2272
+#: main.c:2511
msgid "No targets"
msgstr "Níl aon sprioc ann"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Cinn sprice á nuashonrú....\n"
-#: main.c:2306
+#: 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:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Úsáid: %s [roghanna] [sprioc] ...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1113,7 +1297,7 @@ msgstr ""
"\n"
"Tógadh an clár seo le haghaidh %s\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1122,36 +1306,36 @@ msgstr ""
"\n"
"Tógadh an clár seo le haghaidh %s (%s)\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "Seol tuairiscí fabhtanna chuig <bug-make@gnu.org>\n"
-#: main.c:2562
+#: main.c:2807
#, fuzzy, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
+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:2617
-#, c-format
-msgid "the `-%c' option requires a positive integral argument"
+#: 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:3054
+#: 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:3056
+#: 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:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1160,7 +1344,7 @@ msgid ""
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1169,7 +1353,7 @@ msgstr ""
"\n"
"# Bunachar sonraí Make, priontáilte ar %s"
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1178,458 +1362,474 @@ msgstr ""
"\n"
"# Críochnaíodh an bunachar sonraí Make seo ar %s\n"
-#: main.c:3237
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "Earráid anaithnid %d"
+
+#: misc.c:522
+#, c-format
+msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+msgstr "%s: úsáideoir %lu (fíor %lu), grúpa %lu (fíor %lu)\n"
+
+#: misc.c:543
+msgid "Initialized access"
+msgstr "Rochtain túsaithe"
+
+#: misc.c:622
+msgid "User access"
+msgstr "Rochtain úsáideora"
+
+#: misc.c:670
+msgid "Make access"
+msgstr "Rochtain make"
+
+#: misc.c:704
+msgid "Child access"
+msgstr "Rochtain mic"
+
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: Ag dul isteach i gcomhadlann anaithnid\n"
-#: main.c:3239
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: Ag dul amach as comhadlann anaithnid\n"
-#: main.c:3242
-#, c-format
-msgid "%s: Entering directory `%s'\n"
+#: output.c:109
+#, fuzzy, c-format
+msgid "%s: Entering directory '%s'\n"
msgstr "%s: Ag dul isteach sa chomhadlann `%s'\n"
-#: main.c:3245
-#, c-format
-msgid "%s: Leaving directory `%s'\n"
+#: output.c:111
+#, fuzzy, c-format
+msgid "%s: Leaving directory '%s'\n"
msgstr "%s: Ag dul amach as an gcomhadlann `%s'\n"
-#: main.c:3250
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: Ag dul isteach i gcomhadlann anaithnid\n"
-#: main.c:3253
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Ag dul amach as comhadlann anaithnid\n"
-#: main.c:3257
-#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
+#: output.c:120
+#, fuzzy, c-format
+msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: Ag dul isteach sa chomhadlann `%s'\n"
-#: main.c:3260
-#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
+#: output.c:122
+#, fuzzy, c-format
+msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: Ag dul amach as an gcomhadlann `%s'\n"
-#: misc.c:316
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
+msgstr "earráid sa scríobh: %s"
+
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Stop.\n"
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "Earráid anaithnid %d"
-
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "cuimhne fhíorúil ídithe"
-
-#: misc.c:708
-#, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: úsáideoir %lu (fíor %lu), grúpa %lu (fíor %lu)\n"
-
-#: misc.c:729
-msgid "Initialized access"
-msgstr "Rochtain túsaithe"
-
-#: misc.c:808
-msgid "User access"
-msgstr "Rochtain úsáideora"
-
-#: misc.c:856
-msgid "Make access"
-msgstr "Rochtain make"
-
-#: misc.c:890
-msgid "Child access"
-msgstr "Rochtain mic"
-
-#: misc.c:954
-#, c-format
-msgid "write error: %s"
-msgstr "earráid sa scríobh: %s"
-
-#: misc.c:956
-msgid "write error"
-msgstr "earráid sa scríobh"
-
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
msgstr "Makefileanna á léamh...\n"
-#: read.c:333
-#, c-format
-msgid "Reading makefile `%s'"
+#: read.c:335
+#, fuzzy, c-format
+msgid "Reading makefile '%s'"
msgstr "Makefile `%s' á léamh"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (gan ceann sprice réamhshocraithe)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (conair chuardaigh)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (is cuma)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (ná fairsing ~)"
-#: read.c:759
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr ""
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr ""
+
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "comhréir neamhbhailí i gcoinníollach"
-#: read.c:891
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr ""
+
+#: read.c:992
#, fuzzy
msgid "recipe commences before first target"
msgstr "tá orduithe ann roimh an chéad sprioc"
-#: read.c:940
+#: read.c:1041
#, fuzzy
msgid "missing rule before recipe"
msgstr "riail ar iarraidh roimh orduithe"
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "deighilteoir%s ar iarraidh"
-
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (Ar mhian leat TÁB in ionad ocht spás?)"
-#: read.c:1163
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "deighilteoir%s ar iarraidh"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "patrún sprice ar iarraidh"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
msgstr "patrúin iomadúla sprice"
-#: read.c:1169
-#, c-format
-msgid "target pattern contains no `%%'"
+#: read.c:1276
+#, fuzzy, c-format
+msgid "target pattern contains no '%%'"
msgstr "níl aon `%%' sa phatrún sprice"
-#: read.c:1293
-msgid "missing `endif'"
+#: read.c:1398
+#, fuzzy
+msgid "missing 'endif'"
msgstr "`endif' ar iarraidh"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "ainm folamh athróige"
-#: read.c:1367
+#: read.c:1471
#, fuzzy
-msgid "extraneous text after `define' directive"
+msgid "extraneous text after 'define' directive"
msgstr "Téacs gan mhaith i ndiaidh treorach `endef'"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
+#: read.c:1496
+#, fuzzy
+msgid "missing 'endef', unterminated 'define'"
msgstr "`endef' ar iarraidh, `define' gan chríochnú"
-#: read.c:1420
+#: read.c:1524
#, fuzzy
-msgid "extraneous text after `endef' directive"
+msgid "extraneous text after 'endef' directive"
msgstr "Téacs gan mhaith i ndiaidh treorach `endef'"
-#: read.c:1490
-#, c-format
-msgid "Extraneous text after `%s' directive"
+#: read.c:1595
+#, fuzzy, c-format
+msgid "extraneous text after '%s' directive"
msgstr "Téacs gan mhaith i ndiaidh treorach `%s'"
-#: read.c:1499 read.c:1513
-#, c-format
-msgid "extraneous `%s'"
+#: read.c:1596
+#, fuzzy, c-format
+msgid "extraneous '%s'"
msgstr "`%s' breise"
-#: read.c:1518
-msgid "only one `else' per conditional"
+#: read.c:1624
+#, fuzzy
+msgid "only one 'else' per conditional"
msgstr "ní cheadaítear ach aon `else' amháin le gach coinníollach"
-#: read.c:1797
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Is míchumtha é an sainmhíniú athróige (le haghaidh aon sprioc amháin)"
-#: read.c:1855
+#: read.c:1957
#, fuzzy
msgid "prerequisites cannot be defined in recipes"
msgstr "ní féidir réamhriachtanais a shonrú i scripteanna ordaithe"
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "rialacha intuigthe agus rialacha statacha measctha le chéile"
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "rialacha intuigthe agus gnáthrialacha measctha le chéile"
-#: read.c:1976
-#, c-format
-msgid "target `%s' doesn't match the target pattern"
+#: read.c:2091
+#, fuzzy, c-format
+msgid "target '%s' doesn't match the target pattern"
msgstr "níl an sprioc `%s' comhoiriúnach leis an phatrún sprice"
-#: read.c:1991 read.c:2036
-#, c-format
-msgid "target file `%s' has both : and :: entries"
+#: read.c:2106 read.c:2152
+#, fuzzy, c-format
+msgid "target file '%s' has both : and :: entries"
msgstr "tá iontrálacha : agus :: araon ann don chomhad sprice `%s'"
-#: read.c:1997
-#, c-format
-msgid "target `%s' given more than once in the same rule."
+#: read.c:2112
+#, fuzzy, c-format
+msgid "target '%s' given more than once in the same rule"
msgstr "tá an sprioc `%s' i riail amháin níos mó ná uair amháin."
-#: read.c:2006
+#: read.c:2122
#, fuzzy, c-format
-msgid "warning: overriding recipe for target `%s'"
+msgid "warning: overriding recipe for target '%s'"
msgstr "rabhadh: ag sárú na n-orduithe le haghaidh na sprice `%s'"
-#: read.c:2009
+#: read.c:2125
#, fuzzy, c-format
-msgid "warning: ignoring old recipe for target `%s'"
+msgid "warning: ignoring old recipe for target '%s'"
msgstr ""
"rabhadh: ag déanamh neamhshuim ar sheanorduithe le haghaidh sprice `%s'"
-#: read.c:2392
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "rialacha intuigthe agus gnáthrialacha measctha le chéile"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr ""
"rabhadh: chonacthas carachtar NUL; ag déanamh neamhshuim ar an chuid eile "
"den líne"
-#: remake.c:234
-#, c-format
-msgid "Nothing to be done for `%s'."
+#: remake.c:230
+#, fuzzy, c-format
+msgid "Nothing to be done for '%s'."
msgstr "Níl faic le déanamh i gcomhair `%s'."
-#: remake.c:235
-#, c-format
-msgid "`%s' is up to date."
+#: remake.c:231
+#, fuzzy, c-format
+msgid "'%s' is up to date."
msgstr "Níl gá le `%s' a nuashonrú."
-#: remake.c:306
-#, c-format
-msgid "Pruning file `%s'.\n"
+#: remake.c:303
+#, fuzzy, c-format
+msgid "Pruning file '%s'.\n"
msgstr "Comhad `%s' á bhearradh.\n"
-#: remake.c:359
-#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%sNíl aon riail chun an sprioc `%s' a dhéanamh%s"
-
-#: remake.c:361
-#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
+#: remake.c:390 remake.c:393
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr ""
-"%sNíl aon riail chun an sprioc `%s' a dhéanamh, riachtanach le haghaidh `%s'%"
-"s"
+"%sNíl aon riail chun an sprioc `%s' a dhéanamh, riachtanach le haghaidh `"
+"%s'%s"
-#: remake.c:413
-#, c-format
-msgid "Considering target file `%s'.\n"
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sNíl aon riail chun an sprioc `%s' a dhéanamh%s"
+
+#: remake.c:426
+#, fuzzy, c-format
+msgid "Considering target file '%s'.\n"
msgstr "Comhad sprice `%s' idir lámha.\n"
-#: remake.c:420
-#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
+#: remake.c:433
+#, fuzzy, c-format
+msgid "Recently tried and failed to update file '%s'.\n"
msgstr ""
"Rinneadh iarracht ar an chomhad `%s' a nuashonrú le déanaí, agus theip air.\n"
-#: remake.c:432
-#, c-format
-msgid "File `%s' was considered already.\n"
+#: remake.c:445
+#, fuzzy, c-format
+msgid "File '%s' was considered already.\n"
msgstr "Rinneadh scrúdú ar an chomhad `%s' cheana.\n"
-#: remake.c:442
-#, c-format
-msgid "Still updating file `%s'.\n"
+#: remake.c:455
+#, fuzzy, c-format
+msgid "Still updating file '%s'.\n"
msgstr "Comhad `%s' á nuashonrú fós.\n"
-#: remake.c:445
-#, c-format
-msgid "Finished updating file `%s'.\n"
+#: remake.c:458
+#, fuzzy, c-format
+msgid "Finished updating file '%s'.\n"
msgstr "Nuashonraíodh an comhad `%s'.\n"
-#: remake.c:474
-#, c-format
-msgid "File `%s' does not exist.\n"
+#: remake.c:487
+#, fuzzy, c-format
+msgid "File '%s' does not exist.\n"
msgstr "Níl a leithéid de chomhad `%s' ann.\n"
-#: remake.c:481
-#, c-format
+#: remake.c:495
+#, fuzzy, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
"*** Warning: comhad .LOW_RESOLUTION_TIME `%s' le stampa ama ardtaifeach"
-#: remake.c:494 remake.c:1016
-#, c-format
-msgid "Found an implicit rule for `%s'.\n"
+#: remake.c:508 remake.c:1040
+#, fuzzy, c-format
+msgid "Found an implicit rule for '%s'.\n"
msgstr "Aimsíodh riail intuigthe le haghaidh `%s'.\n"
-#: remake.c:496 remake.c:1018
-#, c-format
-msgid "No implicit rule found for `%s'.\n"
+#: remake.c:510 remake.c:1042
+#, fuzzy, c-format
+msgid "No implicit rule found for '%s'.\n"
msgstr "Níor aimsíodh aon riail intuigthe le haghaidh `%s'.\n"
-#: remake.c:502
+#: remake.c:516
#, fuzzy, c-format
-msgid "Using default recipe for `%s'.\n"
+msgid "Using default recipe for '%s'.\n"
msgstr "Ag baint úsáid as orduithe réamhshocraithe le haghaidh `%s'.\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Tréigeadh an spleáchas ciorclach %s <- %s."
-#: remake.c:651
-#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
+#: remake.c:675
+#, fuzzy, c-format
+msgid "Finished prerequisites of target file '%s'.\n"
msgstr "Críochnaíodh na réamhriachtanais den chomhad sprice `%s'.\n"
-#: remake.c:657
-#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
+#: remake.c:681
+#, fuzzy, c-format
+msgid "The prerequisites of '%s' are being made.\n"
msgstr "Réamhriachtanais de `%s' á ndéanamh anois.\n"
-#: remake.c:670
-#, c-format
-msgid "Giving up on target file `%s'.\n"
+#: remake.c:695
+#, fuzzy, c-format
+msgid "Giving up on target file '%s'.\n"
msgstr "Ag tréigean an chomhaid sprice `%s'.\n"
-#: remake.c:675
-#, c-format
-msgid "Target `%s' not remade because of errors."
+#: remake.c:700
+#, fuzzy, c-format
+msgid "Target '%s' not remade because of errors."
msgstr "Ní dhearna an sprioc `%s' arís ós rud é go bhfuil earráidí ann."
-#: remake.c:727
-#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
+#: remake.c:752
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr ""
"Sonraíonn an réamhriachtanas `%s' ord rite amháin le haghaidh sprice `%s'.\n"
-#: remake.c:732
-#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
+#: remake.c:757
+#, fuzzy, c-format
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "Níl an réamhriachtanas `%s' den sprioc `%s' ann.\n"
-#: remake.c:737
-#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
+#: remake.c:762
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "Tá an réamhriachtanas `%s' níos nuaí ná an sprioc `%s'.\n"
-#: remake.c:740
-#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
+#: remake.c:765
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "Tá an réamhriachtanas `%s' níos sine ná an sprioc `%s'.\n"
-#: remake.c:758
-#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
+#: remake.c:783
+#, fuzzy, c-format
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr "Tá dhá idirstad ag an sprioc `%s' agus níl aon réamhriachtanas aice.\n"
-#: remake.c:765
+#: remake.c:790
#, fuzzy, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr ""
"Níl aon ordú le haghaidh `%s' agus níor athraigh aon réamhriachtanas.\n"
-#: remake.c:770
-#, c-format
-msgid "Making `%s' due to always-make flag.\n"
+#: remake.c:795
+#, fuzzy, c-format
+msgid "Making '%s' due to always-make flag.\n"
msgstr "`%s' á dhéanamh de bharr bratach --always-make.\n"
-#: remake.c:778
-#, c-format
-msgid "No need to remake target `%s'"
+#: remake.c:803
+#, fuzzy, c-format
+msgid "No need to remake target '%s'"
msgstr "Níl gá leis an sprioc `%s' a athdhéanamh"
-#: remake.c:780
-#, c-format
-msgid "; using VPATH name `%s'"
+#: remake.c:805
+#, fuzzy, c-format
+msgid "; using VPATH name '%s'"
msgstr "; ag baint úsáid as ainm VPATH `%s'"
-#: remake.c:800
-#, c-format
-msgid "Must remake target `%s'.\n"
+#: remake.c:825
+#, fuzzy, c-format
+msgid "Must remake target '%s'.\n"
msgstr "Caithfidh an sprioc `%s' a athdhéanamh.\n"
-#: remake.c:806
-#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
+#: remake.c:831
+#, fuzzy, c-format
+msgid " Ignoring VPATH name '%s'.\n"
msgstr " Ag déanamh neamhshuim ar ainm VPATH `%s'.\n"
-#: remake.c:815
+#: remake.c:840
#, fuzzy, c-format
-msgid "Recipe of `%s' is being run.\n"
+msgid "Recipe of '%s' is being run.\n"
msgstr "Orduithe de `%s' á rith.\n"
-#: remake.c:822
-#, c-format
-msgid "Failed to remake target file `%s'.\n"
+#: remake.c:847
+#, fuzzy, c-format
+msgid "Failed to remake target file '%s'.\n"
msgstr "Theip ar athdhéanamh an sprioc-chomhaid `%s'.\n"
-#: remake.c:825
-#, c-format
-msgid "Successfully remade target file `%s'.\n"
+#: remake.c:850
+#, fuzzy, c-format
+msgid "Successfully remade target file '%s'.\n"
msgstr "D'éirigh le hathdhéanamh an sprioc-chomhaid `%s'.\n"
-#: remake.c:828
-#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
+#: remake.c:853
+#, fuzzy, c-format
+msgid "Target file '%s' needs to be remade under -q.\n"
msgstr "Tá gá leis an chomhad sprice `%s' a athdhéanamh leis an rogha -q.\n"
-#: remake.c:1024
-#, c-format
-msgid "Using default commands for `%s'.\n"
+#: remake.c:1048
+#, fuzzy, c-format
+msgid "Using default commands for '%s'.\n"
msgstr "Ag baint úsáid as orduithe réamhshocraithe le haghaidh `%s'.\n"
-#: remake.c:1357
-#, c-format
-msgid "Warning: File `%s' has modification time in the future"
+#: remake.c:1397
+#, fuzzy, c-format
+msgid "Warning: File '%s' has modification time in the future"
msgstr "Rabhadh: Tá an t-am mionathraithe den chomhad `%s' sa todhchaí"
-#: remake.c:1370
+#: remake.c:1411
#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
+msgid "Warning: File '%s' has modification time %s s in the future"
msgstr ""
"Rabhadh: Tá an t-am mionathraithe den chomhad `%s' %.2g soicind sa todhchaí"
-#: remake.c:1569
-#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
+#: remake.c:1610
+#, fuzzy, c-format
+msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr "Níl eilimint .LIBPATTERNS `%s' ina patrún"
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
msgstr "Ní easpórtálfar Customs: %s\n"
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1637,7 +1837,7 @@ msgstr ""
"\n"
"# Rialacha Intuigthe"
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1645,7 +1845,7 @@ msgstr ""
"\n"
"# Níl aon riail intuigthe."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1654,244 +1854,259 @@ msgstr ""
"\n"
"# %u riail intuigthe, %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
msgstr " teirminéal."
-#: rule.c:534
+#: rule.c:530
#, fuzzy, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "FABHT: num_pattern_rules mícheart! %u != %u"
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
msgstr "comhartha anaithnid"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
msgstr "Croch suas"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
msgstr "Idirbhriseadh"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
msgstr "Scoir"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
msgstr "Treoir Neamhcheadaithe"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
msgstr "Rianaigh/brisphointe"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr "Tobscortha"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
msgstr "Gaiste IOT"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
msgstr "Gaiste EMT"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
msgstr "Eisceacht snámhphointe"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
msgstr "Maraithe"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
msgstr "Busearráid"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
msgstr "Fabht deighilte"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
msgstr "Drochghlao ar an gcóras"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
msgstr "Píopa briste"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr "Clog aláraim"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
msgstr "Scortha"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
msgstr "Comhartha saincheaptha 1"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
msgstr "Comhartha saincheaptha 2"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
msgstr "Scoir an mhacphróiseas"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
msgstr "Cliseadh cumhachta"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr "Stoptha"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
msgstr "Stoptha (ionchur tty)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
msgstr "Stoptha (aschur tty)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
msgstr "Stoptha (comhartha)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
msgstr "Teorainn ama LAP sáraithe"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
msgstr "Uasmhéid na gcomhad sáraithe"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
msgstr "Am fíorúil caite"
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
msgstr "Am próifíle caite"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
msgstr "Athraíodh an fhuinneog"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
msgstr "Leanta"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
msgstr "Staid phráinneach A/I"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
msgstr "A/I indéanta"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr "Acmhainn caillte"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
msgstr "Comhartha guaise"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
msgstr "Iarratas ar eolas"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
msgstr "Níl comhphróiseálaí snámhphointe ar fáil"
-#: strcache.c:235
+#: strcache.c:236
#, fuzzy, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
-msgstr ""
-"\n"
-"%s líon na dteaghrán i strcache: %d\n"
+"%s No strcache buffers\n"
+msgstr "%s líon na maolán strcache: %d\n"
-#: strcache.c:237
+#: strcache.c:266
#, fuzzy, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
-msgstr "%s líon na maolán strcache: %d\n"
+msgid ""
+"\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
+msgstr "%s strcache saor: iomlán = %d / uas = %d / íos = %d / meán = %d\n"
-#: strcache.c:239
+#: strcache.c:270
+#, c-format
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
+msgstr ""
+
+#: strcache.c:280
#, fuzzy, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
msgstr "%s méid strcache: iomlán = %d / uas = %d / íos = %d / meán = %d\n"
-#: strcache.c:241
+#: strcache.c:283
#, fuzzy, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid ""
+"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
msgstr "%s strcache saor: iomlán = %d / uas = %d / íos = %d / meán = %d\n"
-#: strcache.c:244
-#, fuzzy
+#: strcache.c:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
+msgstr ""
+
+#: strcache.c:289
+#, fuzzy
+msgid ""
+"# hash-table stats:\n"
"# "
msgstr ""
"\n"
"# comhaid hais-tábla stait:\n"
"# "
-#: variable.c:1541
+#: variable.c:1599
+msgid "automatic"
+msgstr "uathoibríoch"
+
+#: variable.c:1602
msgid "default"
msgstr "réamhshocraithe"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
msgstr "timpeallacht"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
msgstr "timpeallacht le -e"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
msgstr "líne na n-orduithe"
-#: variable.c:1556
-msgid "`override' directive"
+#: variable.c:1617
+#, fuzzy
+msgid "'override' directive"
msgstr "treoir `override'"
-#: variable.c:1559
-msgid "automatic"
-msgstr "uathoibríoch"
-
-#: variable.c:1570
-#, c-format
-msgid " (from `%s', line %lu)"
+#: variable.c:1628
+#, fuzzy, c-format
+msgid " (from '%s', line %lu)"
msgstr " (ó `%s', líne %lu)"
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# athróg tacar hais-tábla stait:\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -1899,7 +2114,7 @@ msgstr ""
"\n"
"# Athróga\n"
-#: variable.c:1627
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -1907,7 +2122,7 @@ msgstr ""
"\n"
"# Luachanna Athróige sainiúil don phatrún"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -1915,7 +2130,7 @@ msgstr ""
"\n"
"# Níl aon luach athróige atá sainiúil don phatrún."
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -1924,93 +2139,98 @@ msgstr ""
"\n"
"# %u luach athróige atá sainiúil don phatrún"
-#: variable.h:219
-#, c-format
-msgid "warning: undefined variable `%.*s'"
+#: variable.h:224
+#, fuzzy, c-format
+msgid "warning: undefined variable '%.*s'"
msgstr "rabhadh: athróg gan sainmhíniú: `%.*s'"
-#: vmsfunctions.c:92
+#: vmsfunctions.c:91
#, fuzzy, c-format
msgid "sys$search() failed with %d\n"
msgstr "Theip ar sys$cuardach le %d\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Rabhadh: Atreorú folamh\n"
-#: vmsjobs.c:184
-#, c-format
-msgid "internal error: `%s' command_state"
+#: vmsjobs.c:183
+#, fuzzy, c-format
+msgid "internal error: '%s' command_state"
msgstr "earráid inmheánach: `%s' command_state"
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
"-rabhadh, is féidir gur gá duit ionramháil CTRL-Y a athchumasú ó DCL.\n"
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "INSUITE [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "CD INSUITE %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "RM INSUITE %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "CD INSUITE %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Ordú anaithnid insuite '%s'\n"
-#: vmsjobs.c:493
+#: 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 "Earráid, ordú folamh\n"
-#: vmsjobs.c:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Atreoraíodh ionchur ó %s\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Atreoraíodh earráidí go %s\n"
-#: vmsjobs.c:523
+#: vmsjobs.c:690
#, fuzzy, c-format
msgid "Append output to %s\n"
msgstr "Atreoraíodh aschur go %s\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Atreoraíodh aschur go %s\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr ""
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "%s á rith ina áit\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Earráid le linn sceitheadh, %d\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
@@ -2018,40 +2238,52 @@ msgstr ""
"\n"
"# VPATH Conairí Cuardaigh\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
+#: vpath.c:600
+#, fuzzy
+msgid "# No 'vpath' search paths."
msgstr "# Níl aon chonair chuardaigh `vpath'."
-#: vpath.c:605
-#, c-format
+#: vpath.c:602
+#, fuzzy, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
"# %u conair chuardaigh `vpath'.\n"
-#: vpath.c:608
+#: vpath.c:605
+#, fuzzy
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
"# Níl aon chonair ghinearálta cuardaigh (athróg `VPATH')."
-#: vpath.c:614
+#: vpath.c:611
+#, fuzzy
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
"# Conair ghinearálta cuardaigh (athróg `VPATH'):\n"
"# "
+#~ 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 "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 ""
#~ "%sThis is free software; see the source for copying conditions.\n"
#~ "%sThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n"
@@ -2062,6 +2294,12 @@ msgstr ""
#~ "ann\n"
#~ "%sd'INDÍOLTACHT nó FEILIÚNACHT D'FHEIDHM AR LEITH.\n"
+#~ msgid "virtual memory exhausted"
+#~ msgstr "cuimhne fhíorúil ídithe"
+
+#~ msgid "write error"
+#~ msgstr "earráid sa scríobh"
+
#~ msgid "extraneous `endef'"
#~ msgstr "`endef' breise"
@@ -2071,5 +2309,15 @@ msgstr ""
#~ msgid "invalid `override' directive"
#~ msgstr "treoir neamhbhailí `override'"
+#~ msgid ""
+#~ "\n"
+#~ "%s # of strings in strcache: %d\n"
+#~ msgstr ""
+#~ "\n"
+#~ "%s líon na dteaghrán i strcache: %d\n"
+
#~ 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 RM %s\n"
+#~ msgstr "RM INSUITE %s\n"
diff --git a/po/gl.gmo b/po/gl.gmo
index c3ec0936..209a1a4a 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index a4cabbcb..254e2a5a 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -1,123 +1,136 @@
# Galician translation of GNU make.
+# This file is distributed under the same license as the make package.
# Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+# Copyright (C) 2012 Leandro Regueiro.
+#
# Jacobo Tarrio <jtarrio@trasno.net>, 2000, 2002.
+# Leandro Regueiro <leandro.regueiro@gmail.com>, 2012.
+#
+# Proxecto Trasno - Adaptación do software libre á lingua galega: Se desexas
+# colaborar connosco, podes atopar máis información en http://www.trasno.net
#
msgid ""
msgstr ""
-"Project-Id-Version: make 3.80\n"
+"Project-Id-Version: make 3.82\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-0400\n"
-"PO-Revision-Date: 2002-10-05 14:46+0200\n"
-"Last-Translator: Jacobo Tarrio <jtarrio@trasno.net>\n"
-"Language-Team: Galician <gpul-traduccion@ceu.fi.udc.es>\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 <leandro.regueiro@gmail.com>\n"
+"Language-Team: Galician <proxecto@trasno.net>\n"
+"Language: gl\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ar.c:48
-#, c-format
-msgid "attempt to use unsupported feature: `%s'"
-msgstr "tentouse usar unha característica non soportada: `%s'"
+#: ar.c:46
+#, fuzzy, c-format
+msgid "attempt to use unsupported feature: '%s'"
+msgstr "tentouse usar unha característica non admitida: «%s»"
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
-msgstr "a operación de tocar un membro do arquivo non está dispoñible en VMS"
-
-#: ar.c:149
-#, c-format
-msgid "touch: Archive `%s' does not exist"
-msgstr "touch: O arquivo `%s' non existe"
+msgstr "a operación de tocar un membro do arquivo non está dispoñíbel en VMS"
-#: ar.c:152
-#, c-format
-msgid "touch: `%s' is not a valid archive"
-msgstr "touch: `%s' non é un arquivo válido"
+#: ar.c:147
+#, fuzzy, c-format
+msgid "touch: Archive '%s' does not exist"
+msgstr "touch: O arquivo «%s» non existe"
-#: ar.c:159
-#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
-msgstr "touch: O membro `%s' non existe en `%s'"
+#: ar.c:150
+#, fuzzy, c-format
+msgid "touch: '%s' is not a valid archive"
+msgstr "touch: «%s» non é un arquivo válido"
-#: ar.c:166
-#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
-msgstr "touch: Código de retorno incorrecto de ar_member_touch en `%s'"
+#: ar.c:157
+#, fuzzy, c-format
+msgid "touch: Member '%s' does not exist in '%s'"
+msgstr "touch: O membro «%s» non existe en «%s»"
-#: arscan.c:69
+#: ar.c:164
#, fuzzy, c-format
+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:124
+#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr ""
-"a chamada a lbr$set_module non puido extrae-la información do módulo, status "
-"= %d"
+"a chamada a lbr$set_module() fallou ao extraer a información do módulo, "
+"estado = %d"
-#: arscan.c:175
-#, fuzzy, c-format
+#: arscan.c:230
+#, c-format
msgid "lbr$ini_control() failed with status = %d"
-msgstr "a chamada a lbr$ini_control fallou con status = %d"
+msgstr "a chamada a lbr$ini_control() fallou con estado = %d"
-#: arscan.c:187
-#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
-msgstr "non se pode abri-la biblioteca `%s' para busca-lo membro `%s'"
+#: 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:850
-#, c-format
-msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
-msgstr "Membro `%s'%s: %ld bytes en %ld (%ld).\n"
+#: 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:851
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (o nome pode quedar truncado)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Data %s"
-#: arscan.c:854
+#: 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:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr ""
+
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Interrompido.\n"
-#: commands.c:622
-#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
-msgstr "*** [%s] O membro do arquivo `%s' pode non ser correcto; non borrado"
+#: 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:625
-#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
-msgstr "*** O membro do arquivo `%s' pode non ser correcto; non borrado"
+#: 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:638
-#, c-format
-msgid "*** [%s] Deleting file `%s'"
-msgstr "*** [%s] Borrando o ficheiro `%s'"
+#: commands.c:647
+#, fuzzy, c-format
+msgid "*** [%s] Deleting file '%s'"
+msgstr "*** [%s] Eliminando o ficheiro «%s»"
-#: commands.c:640
-#, c-format
-msgid "*** Deleting file `%s'"
-msgstr "*** Borrando o ficheiro `%s'"
+#: commands.c:649
+#, fuzzy, c-format
+msgid "*** Deleting file '%s'"
+msgstr "*** Eliminando o ficheiro «%s»"
-#: commands.c:676
-#, fuzzy
+#: commands.c:685
msgid "# recipe to execute"
-msgstr "# comandos para executar"
+msgstr ""
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
-msgstr " (incluidas):"
+msgstr " (incorporadas):"
-#: commands.c:681
-#, c-format
-msgid " (from `%s', line %lu):\n"
-msgstr " (de `%s', liña %lu):\n"
+#: commands.c:690
+#, fuzzy, c-format
+msgid " (from '%s', line %lu):\n"
+msgstr " (desde «%s», liña %lu):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -125,223 +138,222 @@ msgstr ""
"\n"
"# Directorios\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
-msgstr "# %s: non se puido face-la operación de stat.\n"
+msgstr "# %s: non foi posíbel facer a operación de stat.\n"
-#: dir.c:1012
+#: dir.c:1005
#, c-format
msgid "# %s (key %s, mtime %d): could not be opened.\n"
-msgstr "# %s (clave %s, mtime %d): non se puido abrir.\n"
+msgstr "# %s (clave %s, mtime %d): non foi posíbel abrir.\n"
-#: dir.c:1016
+#: dir.c:1009
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n"
-msgstr "# %s (dispositivo %d, inode [%d,%d,%d]): non se puido abrir.\n"
+msgstr "# %s (dispositivo %d, inodo [%d,%d,%d]): non foi posíbel abrir.\n"
-#: dir.c:1021
+#: dir.c:1014
#, c-format
msgid "# %s (device %ld, inode %ld): could not be opened.\n"
-msgstr "# %s (dispositivo %ld, inode %ld): non se puido abrir.\n"
+msgstr "# %s (dispositivo %ld, inodo %ld): non foi posíbel abrir.\n"
-#: dir.c:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
msgstr "# %s (clave %s, mtime %d): "
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
-msgstr "# %s (dispositivo %d, inode [%d,%d,%d]): "
+msgstr "# %s (dispositivo %d, inodo [%d,%d,%d]): "
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
-msgstr "# %s (dispositivo %ld, inode %ld): "
+msgstr "# %s (dispositivo %ld, inodo %ld): "
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "Non"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr " ficheiros, "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "non"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
-msgstr " imposibles"
+msgstr " imposíbeis"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
-msgstr " ata aquí."
+msgstr " ata aquí."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
-msgstr " imposibles en %lu directorios.\n"
+msgstr " imposíbeis en %lu directorios.\n"
-#: expand.c:127
-#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
-msgstr "A variable recursiva `%s' fai referencia a si mesma (ao final)"
+#: expand.c:125
+#, fuzzy, c-format
+msgid "Recursive variable '%s' references itself (eventually)"
+msgstr "A variábel recursiva «%s» fai referencia a si mesma (ao final)"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
-msgstr "referencia a variable non rematada"
+msgstr "referencia a variábel non rematada"
-#: file.c:267
-#, fuzzy, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
-msgstr "Especificáronse comandos do ficheiro `%s' en %s:%lu,"
-
-#: file.c:272
-#, fuzzy, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
+#: file.c:271
+#, c-format
+msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr ""
-"Atopáronse os comandos do ficheiro `%s' por busca de regras implícitas,"
-#: file.c:275
+#: file.c:276
#, 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'."
+msgid "Recipe for file '%s' was found by implicit rule search,"
+msgstr ""
-#: file.c:278
+#: file.c:280
#, fuzzy, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
-msgstr "Os comandos de `%s' serán ignorados en favor dos de `%s'."
+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:298
+#: file.c:283
#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
-msgstr "non se pode renomear `%s' con dous puntos a `%s' con catro puntos"
+msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
+msgstr ""
#: file.c:303
-#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
-msgstr "non se pode renomear `%s' con catro puntos a `%s' con dous puntos"
+#, 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:392
-#, c-format
-msgid "*** Deleting intermediate file `%s'"
-msgstr "*** Borrando o ficheiro intermedio `%s'"
+#: 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:396
-msgid "Removing intermediate files...\n"
-msgstr "Borrando os ficheiros intermedios...\n"
+#: file.c:401
+#, fuzzy, c-format
+msgid "*** Deleting intermediate file '%s'"
+msgstr "*** Eliminando o ficheiro intermedio «%s»"
-#: file.c:803
-#, c-format
-msgid "%s: Timestamp out of range; substituting %s"
-msgstr "%s: Marca de tempo fóra de rango; substituíndo %s"
+#: file.c:405
+msgid "Removing intermediate files...\n"
+msgstr "Retirando os ficheiros intermedios...\n"
-#: file.c:804
+#: file.c:811
msgid "Current time"
msgstr "Hora actual"
-#: file.c:924
+#: 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:955
msgid "# Not a target:"
-msgstr "# Non é un obxectivo:"
+msgstr "# Non é un obxectivo:"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Ficheiro precioso (prerrequisito de .PRECIOUS)."
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Obxectivo falso (prerrequisito de .PHONY)."
-#: file.c:933
-#, fuzzy
+#: file.c:964
msgid "# Command line target."
-msgstr "# Obxectivo da liña de comando."
+msgstr "# Obxectivo da liña de ordes."
-#: file.c:935
-#, fuzzy
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
-msgstr "# Un ficheiro de make por defecto ou de MAKEFILES."
+msgstr "# Un ficheiro de make por defecto, MAKEFILES, ou -include/sinclude."
-#: file.c:937
+#: file.c:968
+#, fuzzy
+msgid "# Builtin rule"
+msgstr ""
+"\n"
+"# Non hai regras implícitas."
+
+#: file.c:970
msgid "# Implicit rule search has been done."
-msgstr "# Fíxose a busca de regras implícitas."
+msgstr "# Fíxose a busca de regras implícitas."
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
-msgstr "# Non se fixo a busca de regras implícitas."
+msgstr "# Non se fixo a busca de regras implícitas."
-#: file.c:940
-#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
-msgstr "# Raiz do patrón implícito/estático: `%s'\n"
+#: 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:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
-msgstr "# O ficheiro é un prerrequisito intermedio."
+msgstr "# O ficheiro é un prerrequisito intermedio."
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
-msgstr "# Tamén se fai:"
+msgstr "# Tamén se fai:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
-msgstr "# Nunca se comprobou o tempo de modificación."
+msgstr "# Nunca se comprobou o tempo de modificación."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
msgstr "# O ficheiro non existe."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
-msgstr "# O ficheiro é moi antigo."
+msgstr "# O ficheiro é moi antigo."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
-msgstr "# Última modificación: %s\n"
+msgstr "# Última modificación: %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
msgstr "# O ficheiro foi actualizado."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
msgstr "# O ficheiro non foi actualizado."
-#: file.c:968
-#, fuzzy
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
-msgstr "# Comandos que se están a executar agora (ISTO É UN ERRO)."
+msgstr ""
-#: file.c:971
-#, fuzzy
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
-msgstr "# Comandos de dependencias que se están a executar (ISTO É UN ERRO)."
+msgstr ""
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
-msgstr "# Actualizado con éxito."
+msgstr "# Actualizado con éxito."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
-msgstr "# Ten que ser actualizado (-q está estabrecido)."
+msgstr "# Ten que ser actualizado (-q está definido)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
-msgstr "# Non se puido actualizar."
+msgstr "# Produciuse un erro ao actualizar."
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# ¡Valor non válido no membro `update_status'!"
-
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
-msgstr "# ¡Valor non válido no membro `command_state'!"
+#: file.c:1025
+#, fuzzy
+msgid "# Invalid value in 'command_state' member!"
+msgstr "# Valor non válido no membro «command_state»!"
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -349,131 +361,189 @@ msgstr ""
"\n"
"# Ficheiros"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
"\n"
-"# estatísticas da táboa hash de ficheiros:\n"
+"# estatísticas da táboa hash de ficheiros:\n"
"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
-msgstr "primeiro argumento da función `word' non numérico"
-
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
-msgstr "o primeiro argumento da función `word' debe ser maior que 0"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr ""
-#: function.c:783
-msgid "non-numeric first argument to `wordlist' function"
-msgstr "primeiro argumento da función `wordlist' non numérico"
+#: function.c:780
+#, fuzzy
+msgid "non-numeric first argument to 'word' function"
+msgstr "primeiro argumento da función «word» non numérico"
#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
-msgstr "segundo argumento da función `wordlist' non numérico"
+#, 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:1458
-#, fuzzy, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
-msgstr "process_easy: a chamada a DuplicateHandle(In) fallou (e=%d)\n"
+#: function.c:805
+#, fuzzy
+msgid "non-numeric first argument to 'wordlist' function"
+msgstr "primeiro argumento da función «wordlist» non numérico"
+
+#: function.c:807
+#, fuzzy
+msgid "non-numeric second argument to 'wordlist' function"
+msgstr "segundo argumento da función «wordlist» non numérico"
-#: function.c:1469
+#: function.c:1499
#, fuzzy, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr "process_easy: a chamada a DuplicateHandle(Err) fallou (e=%d)\n"
+msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
+msgstr "windows32_openpipe(): a chamada a DuplicateHandle(In) fallou (e=%ld)\n"
-#: function.c:1474
+#: 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:1530
+#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
-msgstr "A chamada a CreatePipe() fallou (e=%d)\n"
+msgstr "A chamada a CreatePipe() fallou (e=%ld)\n"
-#: function.c:1479
-#, fuzzy
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
-msgstr "windows32_openpipe (): a chamada a process_init_fd() fallou\n"
+msgstr "windows32_openpipe(): a chamada a process_init_fd() fallou\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Limpando o ficheiro de lotes temporal %s\n"
-#: function.c:2150
+#: function.c:2193
#, fuzzy, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
-msgstr "Número de argumentos insuficiente (%d) na chamada á función `%s'"
+msgid "open: %s: %s"
+msgstr "%s: %s"
-#: function.c:2162
+#: function.c:2203
#, fuzzy, c-format
-msgid "unimplemented on this platform: function `%s'"
-msgstr "Non implementada nesta plataforma: función `%s'"
+msgid "write: %s: %s"
+msgstr "erro de escritura: %s"
-#: function.c:2212
+#: function.c:2209
#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
-msgstr "chamada á función `%s' non rematada: falla `%c'"
+msgid "Invalid file operation: %s"
+msgstr ""
-#: getopt.c:661
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: a opción `%s' é ambigua\n"
+#: 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»"
-#: getopt.c:685
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: a opción `--%s' non admite un argumento\n"
+#: function.c:2336
+#, fuzzy, c-format
+msgid "unimplemented on this platform: function '%s'"
+msgstr "non implementada nesta plataforma: función «%s»"
-#: getopt.c:690
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: a opción `%c%s' non admite un argumento\n"
+#: function.c:2399
+#, fuzzy, c-format
+msgid "unterminated call to function '%s': missing '%c'"
+msgstr "chamada á función «%s» non rematada: falta «%c»"
-#: getopt.c:707 getopt.c:880
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: a opción `%s' precisa dun argumento\n"
+#: function.c:2591
+msgid "Empty function name"
+msgstr ""
-#: getopt.c:736
+#: function.c:2593
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: opción `--%s' non recoñecida\n"
+msgid "Invalid function name: %s"
+msgstr ""
-#: getopt.c:740
+#: function.c:2595
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: opción `%c%s' non recoñecida\n"
+msgid "Function name too long: %s"
+msgstr ""
+
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr "número de argumentos insuficiente (%d) na chamada á función «%s»"
+
+#: function.c:2601
+#, fuzzy, c-format
+msgid "Invalid maximum argument count (%d) for function %s"
+msgstr "número de argumentos insuficiente (%d) na chamada á función «%s»"
+
+#: getopt.c:659
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: a opción «%s» é ambigua\n"
+
+#: getopt.c:683
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: a opción «--%s» non permite ningún argumento\n"
-#: getopt.c:766
+#: getopt.c:688
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: a opción «%c%s» non permite ningún argumento\n"
+
+#: getopt.c:705 getopt.c:878
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s: a opción «%s» require un argumento\n"
+
+#: getopt.c:734
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: opción «--%s» non recoñecida\n"
+
+#: getopt.c:738
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: opción «%c%s» non recoñecida\n"
+
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
-msgstr "%s: opción non válida -- %c\n"
+msgstr "%s: opción inaceptábel -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
-msgstr "%s: opción non válida -- %c\n"
+msgstr "%s: opción incorrecta -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: a opción precisa dun argumento -- %c\n"
+msgstr "%s: a opción require un argumento -- %c\n"
+
+#: getopt.c:844
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: a opción «-W %s» é ambigua\n"
-#: getopt.c:846
+#: getopt.c:862
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s: a opción «-W %s» non permite ningún argumento\n"
+
+#: guile.c:58
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: a opción `-W %s' é ambigua\n"
+msgid "guile: Expanding '%s'\n"
+msgstr ""
-#: getopt.c:864
+#: guile.c:74
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: a opción `-W %s' non admite un argumento\n"
+msgid "guile: Evaluating '%s'\n"
+msgstr ""
#: hash.c:49
-#, fuzzy, c-format
+#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
-msgstr "non se poden reservar %ld bytes para a táboa hash: memoria esgotada"
+msgstr "non se poden reservar %lu bytes para a táboa hash: memoria esgotada"
#: hash.c:280
#, c-format
@@ -488,248 +558,324 @@ msgstr "Rehash=%d, "
#: hash.c:283
#, c-format
msgid "Collisions=%ld/%ld=%.0f%%"
-msgstr "Colisións=%ld/%ld=%.0f%%"
+msgstr "Colisións=%ld/%ld=%.0f%%"
-#: implicit.c:40
-#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
-msgstr "Buscando unha regra implícita para `%s'.\n"
+#: implicit.c:38
+#, fuzzy, c-format
+msgid "Looking for an implicit rule for '%s'.\n"
+msgstr "Buscando unha regra implícita para «%s».\n"
-#: implicit.c:56
-#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
-msgstr "Buscando unha regra implícita membro do arquivo para `%s'.\n"
+#: implicit.c:54
+#, fuzzy, c-format
+msgid "Looking for archive-member implicit rule for '%s'.\n"
+msgstr "Buscando unha regra implícita membro do arquivo para «%s».\n"
-#: implicit.c:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
-msgstr "Evitando a recursión de regras implícitas.\n"
+msgstr "Evitando a recursión de regras implícitas.\n"
-#: implicit.c:491
+#: implicit.c:486
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
-msgstr "Probando a regra de patrón con raiz `%.*s'.\n"
+msgid "Stem too long: '%.*s'.\n"
+msgstr ""
-#: implicit.c:674
-#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
-msgstr "Rexeitando o prerrequisito imposible `%s'.\n"
+#: implicit.c:491
+#, fuzzy, c-format
+msgid "Trying pattern rule with stem '%.*s'.\n"
+msgstr "Probando a regra de patrón con raíz «%.*s».\n"
-#: implicit.c:675
-#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
-msgstr "Rexeitando o prerrequisito implícito imposible `%s'.\n"
+#: implicit.c:697
+#, fuzzy, c-format
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
+msgstr "Rexeitando o prerrequisito imposíbel «%s».\n"
-#: implicit.c:688
-#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
-msgstr "Probando o prerrequisito `%s'.\n"
+#: implicit.c:698
+#, fuzzy, c-format
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
+msgstr "Rexeitando o prerrequisito implícito imposíbel «%s».\n"
-#: implicit.c:689
-#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
-msgstr "Probando o prerrequisito implícito `%s'.\n"
+#: implicit.c:711
+#, fuzzy, c-format
+msgid "Trying rule prerequisite '%s'.\n"
+msgstr "Probando o prerrequisito «%s».\n"
-#: implicit.c:728
-#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
-msgstr "Atopouse a o prerrequisito `%s' coma VPATH `%s'\n"
+#: implicit.c:712
+#, fuzzy, c-format
+msgid "Trying implicit prerequisite '%s'.\n"
+msgstr "Probando o prerrequisito implícito «%s».\n"
-#: implicit.c:742
-#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
-msgstr "Buscando unha regra co ficheiro intermedio `%s'.\n"
+#: implicit.c:751
+#, fuzzy, c-format
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
+msgstr "Atopouse a o prerrequisito «%s» como VPATH «%s»\n"
-#: job.c:335
-#, fuzzy
+#: implicit.c:765
+#, fuzzy, c-format
+msgid "Looking for a rule with intermediate file '%s'.\n"
+msgstr "Buscando unha regra co ficheiro intermedio «%s».\n"
+
+#: job.c:361
msgid "Cannot create a temporary file\n"
-msgstr "fwrite (ficheiro temporal)"
+msgstr "Non foi posíbel crear un ficheiro temporal\n"
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] Erro 0x%x (ignorado)"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (memoria envorcada)"
-#: job.c:450
-#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] Erro 0x%x"
+#: job.c:488
+msgid " (ignored)"
+msgstr " (ignorado)"
-#: job.c:454
-#, c-format
-msgid "[%s] Error %d (ignored)"
-msgstr "[%s] Erro %d (ignorado)"
+#: job.c:492 job.c:2046
+#, fuzzy
+msgid "<builtin>"
+msgstr " (incorporadas):"
-#: job.c:455
+#: job.c:503
#, c-format
-msgid "*** [%s] Error %d"
+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] Erro %d"
-#: job.c:460
-msgid " (core dumped)"
-msgstr " (memoria envorcada)"
+#: 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:549
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Agardando por traballos non rematados...."
-#: job.c:579
-#, fuzzy, c-format
+#: job.c:651
+#, c-format
msgid "Live child %p (%s) PID %s %s\n"
-msgstr "Proceso fillo vivo 0x%08lx (%s) PID %ld %s\n"
+msgstr "Proceso fillo vivo %p (%s) PID %s %s\n"
-#: job.c:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (remoto)"
-#: job.c:758
-#, fuzzy, c-format
+#: job.c:841
+#, c-format
msgid "Reaping losing child %p PID %s %s\n"
-msgstr "Colleitando o proceso fillo perdedor 0x%08lx PID %ld %s\n"
+msgstr "Colleitando o proceso fillo perdedor %p PID %s %s\n"
-#: job.c:759
-#, fuzzy, c-format
+#: job.c:842
+#, c-format
msgid "Reaping winning child %p PID %s %s\n"
-msgstr "Colleitando o proceso fillo gañador 0x%08lx PID %ld %s\n"
+msgstr "Colleitando o proceso fillo gañador %p PID %s %s\n"
-#: job.c:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Limpando o ficheiro de lotes temporal %s\n"
-#: job.c:861
+#: 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:961
+#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
-msgstr "Eliminando o proceso fillo 0x%08lx PID %ld%s da cadea.\n"
+msgstr "Retirando o proceso fillo %p PID %s%s da cadea.\n"
-#: job.c:920
-msgid "write jobserver"
-msgstr "write jobserver"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
+msgstr ""
-#: job.c:922
-#, fuzzy, c-format
+#: job.c:1024 job.c:1038
+#, c-format
msgid "Released token for child %p (%s).\n"
-msgstr "Liberouse un elemento para o proceso fillo 0x%08lx (%s).\n"
+msgstr "Liberouse un elemento para o proceso fillo %p (%s).\n"
-#: job.c:1453 job.c:2094
-#, fuzzy, c-format
+#: 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() non puido lanza-lo proceso (e=%d)\n"
+msgstr "produciuse un erro ao iniciar process_easy() o proceso (e=%ld)\n"
-#: job.c:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
"\n"
-"Contáronse %d argumentos no lanzamento que fallou\n"
+"Contáronse %d argumentos no inicio que fallou\n"
-#: job.c:1525
-#, fuzzy, c-format
+#: job.c:1735
+#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
-msgstr "Poñendo o proceso fillo 0x%08lx (%s) PID %ld%s na cadea.\n"
+msgstr "Poñendo o proceso fillo %p (%s) PID %s%s na cadea.\n"
-#: job.c:1778
-#, fuzzy, c-format
+#: 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 0x%08lx (%s).\n"
+msgstr "Obtívose un elemento para o proceso fillo %p (%s).\n"
-#: job.c:1787
+#: job.c:2029
msgid "read jobs pipe"
-msgstr "lectura do cano de traballos"
+msgstr "lectura da canalización de traballos"
-#: job.c:1798
-#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr ""
+#: job.c:2056
+#, fuzzy, c-format
+msgid "%s: target '%s' does not exist"
+msgstr "touch: O arquivo «%s» non existe"
-#: job.c:1802
+#: job.c:2059
#, fuzzy, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "Non é preciso reface-lo obxectivo `%s'"
+msgid "%s: update target '%s' due to: %s"
+msgstr "%sNon hai unha regra para facer o obxectivo «%s», que precisa «%s»%s"
-#: job.c:1910
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
-msgstr "non se poden impoñer límites de carga neste sistema operativo"
+msgstr "non é posíbel impoñer límites de carga neste sistema operativo"
-#: job.c:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
-msgstr "non se pode impoñer un límite de carga: "
+msgstr "non é posíbel impoñer un límite de carga: "
-#: job.c:1985
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr ""
-#: job.c:1987
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""
-#: job.c:2015
+#: job.c:2278
+msgid "no more file handles: could not duplicate stderr\n"
+msgstr ""
+
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr ""
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr ""
-#: job.c:2127
-#, fuzzy, c-format
+#: job.c:2309
+msgid "Could not restore stderr\n"
+msgstr ""
+
+#: 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 %d, ainda se agarda polo pid %d\n"
+"make colleitou un proceso fillo de pid %s, aínda se agarda polo pid %s\n"
-#: job.c:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
-msgstr "%s: Comando non atopado"
+msgstr "%s: Orde non atopada"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
-msgstr "%s: Intérprete de comandos non atopado"
+msgstr "%s: Programa para o intérprete de ordes non atopado"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr ""
-#: job.c:2461
+#: 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')"
+msgid "$SHELL changed (was '%s', now '%s')\n"
+msgstr "O valor de $SHELL cambiou (antes era «%s», agora é «%s»)\n"
-#: job.c:2951
+#: 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:2963
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-#: job.c:3065
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
-"%s (liña %d) Contexto do intérprete de comandos incorrecto (!unixy && !"
+"%s (liña %d) Contexto do intérprete de ordes incorrecto (!unixy && !"
"batch_mode_shell)\n"
-#: main.c:303
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr ""
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr ""
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr ""
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr ""
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr ""
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr ""
+
+#: 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:313
msgid "Options:\n"
-msgstr "Opcións:\n"
+msgstr "Opcións:\n"
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m Ignorado por compatibilidade.\n"
-#: main.c:306
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
-" -B, --always-make Facer tódolos obxectivos incondicionalmente.\n"
+" -B, --always-make Facer todos os obxectivos incondicionalmente.\n"
-#: main.c:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -737,75 +883,73 @@ msgstr ""
" -C DIRECTORIO, --directory=DIRECTORIO\n"
" Cambiar ao DIRECTORIO antes de facer nada.\n"
-#: main.c:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr ""
-" -d Amosar moita información de depuración.\n"
+" -d Mostrar moita información de depuración.\n"
-#: main.c:313
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
-" --debug[=MODIFICADORES] Amosar varios tipos de información de "
-"depuración.\n"
+" --debug[=MODIFICADORES] Mostrar varios tipos de información de "
+"depuración.\n"
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
" -e, --environment-overrides\n"
-" As variables de ambiente substitúen aos "
-"ficheiros\n"
-" de make.\n"
+" As variábei de ambiente substitúen aos "
+"makefiles.\n"
-#: main.c:318
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
-#: main.c:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
" -f FICHEIRO, --file=FICHEIRO, --makefile=FICHEIRO\n"
-" Le-lo FICHEIRO coma ficheiro de make.\n"
+" Ler o FICHEIRO como makefile.\n"
-#: main.c:323
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
-msgstr " -h, --help Amosar esta mensaxe e saír.\n"
+msgstr " -h, --help Mostrar esta mensaxe e saír.\n"
-#: main.c:325
-#, fuzzy
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
-msgstr " -i, --ignore-errors Ignora-los erros dos comandos.\n"
+msgstr ""
-#: main.c:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
" -I DIRECTORIO, --include-dir=DIRECTORIO\n"
-" Busca-los ficheiros de make incluídos\n"
-" no directorio.\n"
+" Buscar os makefiles incluídos\n"
+" no DIRECTORIO.\n"
-#: main.c:330
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
msgstr ""
-" -j [N], --jobs[=N] Admitir N traballos á vez; infinitos sen\n"
+" -j [N], --jobs[=N] Permitir N traballos á vez; infinitos sen\n"
" un argumento.\n"
-#: main.c:332
+#: 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"
+" algúns obxectivos.\n"
-#: main.c:334
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -815,13 +959,13 @@ msgstr ""
" Non iniciar varios traballos con carga\n"
" superior a N.\n"
-#: main.c:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
-#: main.c:339
+#: main.c:349
#, fuzzy
msgid ""
" -n, --just-print, --dry-run, --recon\n"
@@ -829,49 +973,51 @@ msgid ""
"them.\n"
msgstr ""
" -n, --just-print, --dry-run, --recon\n"
-" Non executar ningún comando; só amosalos.\n"
+" Non executar ningún comando; só amosalos.\n"
-#: main.c:342
+#: 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 FICHEIRO, --old-file=FICHEIRO, --assume-old=FICHEIRO\n"
-" Trata-lo FICHEIRO coma moi antigo e non "
+" Tratar o FICHEIRO como moi antigo e non "
"refacelo.\n"
-#: main.c:345
+#: main.c:355
+msgid ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
+msgstr ""
+
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr ""
-" -p, --print-data-base Amosa-la base de datos interna de make.\n"
+" -p, --print-data-base Mostrar a base de datos interna de make.\n"
-#: main.c:347
-#, fuzzy
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-" -q, --question Non executar ningún comando; o estado de\n"
-" saída di se está actualizado.\n"
-#: main.c:349
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr ""
-" -r, --no-builtin-rules Desactiva-las regras implícitas incluidas.\n"
+" -r, --no-builtin-rules Desactivar as regras implícitas incorporadas.\n"
-#: main.c:351
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
-" -R, --no-builtin-variables Desactiva-los valores das variables "
-"incluidos.\n"
+" -R, --no-builtin-variables Desactivar os valores das variábeis "
+"incorporadas.\n"
-#: main.c:353
-#, fuzzy
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
-msgstr " -s, --silent, --quiet Non amosa-los comandos.\n"
+msgstr ""
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -879,22 +1025,28 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Desactiva -k.\n"
-#: main.c:358
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
-" -t, --touch Toca-los obxectivos no canto de os refacer.\n"
+" -t, --touch Tocar os obxectivos no canto de os refacer.\n"
-#: main.c:360
+#: main.c:373
+#, fuzzy
+msgid " --trace Print tracing information.\n"
+msgstr ""
+" -d Mostrar moita información de depuración.\n"
+
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr ""
-" -v, --version Amosa-lo número de versión de make e saír.\n"
+" -v, --version Mostrar o número de versión de make e saír.\n"
-#: main.c:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
-msgstr " -w, --print-directory Amosa-lo directorio actual.\n"
+msgstr " -w, --print-directory Mostrar o directorio actual.\n"
-#: main.c:364
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -902,40 +1054,45 @@ msgstr ""
" --no-print-directory Desactivar -w, incluso se se activou\n"
" implicitamente.\n"
-#: main.c:366
+#: 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 FICHEIRO, --what-if=FICHEIRO, --new-file=FICHEIRO, --assume-"
"new=FICHEIRO\n"
-" Trata-lo FICHEIRO coma infinitamente novo.\n"
+" Tratar o FICHEIRO como infinitamente novo.\n"
-#: main.c:369
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr ""
" --warn-undefined-variables Avisar cando se faga referencia a\n"
-" unha variable non definida.\n"
+" unha variábel non definida.\n"
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
-msgstr "a cadea baleira non é válida coma nome de ficheiro"
+msgstr "a cadea baleira non é válida como nome de ficheiro"
-#: main.c:650
+#: 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:774
#, c-format
-msgid "unknown debug level specification `%s'"
-msgstr "especificación de nivel de depuración descoñecido `%s'"
+msgid "unknown output-sync type '%s'"
+msgstr ""
-#: main.c:690
-#, fuzzy, c-format
+#: 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%x, enderezo = 0x%x)\n"
+"%s: Atrapouse unha Interrupción/Excepción (código = 0x%lx, enderezo = 0x%p)\n"
-#: main.c:697
-#, fuzzy, c-format
+#: main.c:835
+#, c-format
msgid ""
"\n"
"Unhandled exception filter called from program %s\n"
@@ -944,168 +1101,186 @@ msgid ""
"ExceptionAddress = 0x%p\n"
msgstr ""
"\n"
-"Filtro de excepcións non manexadas chamado dende o programa %s\n"
-"ExceptionCode = %x\n"
-"ExceptionFlags = %x\n"
-"ExceptionAddress = %x\n"
+"Filtro de excepcións non manexadas chamado desde o programa %s\n"
+"ExceptionCode = %lx\n"
+"ExceptionFlags = %lx\n"
+"ExceptionAddress = 0x%p\n"
-#: main.c:705
-#, fuzzy, c-format
+#: 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 %x\n"
+msgstr "Violación de acceso: operación de escritura no enderezo 0x%p\n"
-#: main.c:706
-#, fuzzy, c-format
+#: 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 %x\n"
+msgstr "Violación de acceso: operación de lectura no enderezo 0x%p\n"
-#: main.c:781 main.c:792
-#, fuzzy, c-format
+#: main.c:920 main.c:935
+#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
-msgstr "find_and_set_shell estabrecendo default_shell = %s\n"
+msgstr "find_and_set_shell() definindo default_shell = %s\n"
-#: main.c:834
-#, fuzzy, c-format
+#: main.c:988
+#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
-msgstr "find_and_set_shell busca de camiños estabrece default_shell = %s\n"
+msgstr "A busca de rutas de find_and_set_shell() define default_shell = %s\n"
-#: main.c:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
-msgstr "%s está suspendido durante 30 segundos..."
+msgstr "%s está suspendido durante 30 segundos..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "rematouse sleep(30). Continuando.\n"
-#: main.c:1501
-msgid "Makefile from standard input specified twice."
-msgstr "O ficheiro de make da entrada estándar foi especificado dúas veces."
-
-#: main.c:1539 vmsjobs.c:500
-msgid "fopen (temporary file)"
-msgstr "fopen (ficheiro temporal)"
-
-#: main.c:1545
-msgid "fwrite (temporary file)"
-msgstr "fwrite (ficheiro temporal)"
-
-#: main.c:1703
-msgid "Parallel jobs (-j) are not supported on this platform."
-msgstr "Os traballos en paralelo (-j) non están soportados nesta plataforma."
-
-#: main.c:1704
-msgid "Resetting to single job (-j1) mode."
-msgstr "Reiniciando para entrar no modo de un traballo (-j1)."
-
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "erro interno: opcións --jobserver-fds múltiples"
+#: main.c:1527
+#, c-format
+msgid ""
+"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
+msgstr ""
-#: main.c:1727
+#: main.c:1530
#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
-msgstr "erro interno: cadea --jobserver-fds non válida `%s'"
+msgid "Jobserver client (semaphore %s)\n"
+msgstr ""
-#: main.c:1730
+#: 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:1740
+#: 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:1750
+#: main.c:1567
msgid "dup jobserver"
msgstr "dup jobserver"
-#: main.c:1753
+#: main.c:1570
+#, fuzzy
msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
+"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
-"aviso: o servidor de traballos non está dispoñible: usando -j1. Engada `+' á "
+"aviso: o servidor de traballos non está dispoñíbel: usando -j1. Engada «+» á "
"regra do make pai."
-#: main.c:1777
+#: 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:1780 vmsjobs.c:653
+msgid "fopen (temporary file)"
+msgstr "fopen (ficheiro temporal)"
+
+#: main.c:1786
+msgid "fwrite (temporary file)"
+msgstr "fwrite (ficheiro temporal)"
+
+#: 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:1975
+msgid "Resetting to single job (-j1) mode."
+msgstr "Reiniciando para entrar no modo de traballo único (-j1)."
+
+#: 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 o cano de traballos"
+msgstr "creando a canalización de traballos"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
-msgstr "inicializa-lo cano do servidor de traballos"
+msgstr "inicializar a canalización do servidor de traballos"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr ""
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Actualizando os ficheiros de make....\n"
-#: main.c:1917
-#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
-msgstr "O ficheiro de make `%s' podería causar un lazo; non se refai.\n"
+#: 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:1996
-#, c-format
-msgid "Failed to remake makefile `%s'."
-msgstr "Non se puido reface-lo ficheiro de make `%s'."
+#: 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:2013
-#, c-format
-msgid "Included makefile `%s' was not found."
-msgstr "Non se atopou o ficheiro de make incluido `%s'."
+#: 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:2018
-#, c-format
-msgid "Makefile `%s' was not found"
-msgstr "Non se atopou o ficheiro de make `%s'"
+#: main.c:2262
+#, fuzzy, c-format
+msgid "Makefile '%s' was not found"
+msgstr "Non se atopou o ficheiro de make «%s»"
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
-msgstr "Non se puido voltar ao directorio orixinal."
+msgstr "Non foi posíbel volver ao directorio orixinal."
-#: main.c:2102
-#, fuzzy, c-format
+#: main.c:2343
+#, c-format
msgid "Re-executing[%u]:"
-msgstr "Re-executando:"
+msgstr "Re-executando[%u]:"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (ficheiro temporal)"
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ""
-#: main.c:2270
+#: 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:2272
+#: main.c:2511
msgid "No targets"
msgstr "Non hai obxectivos"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Actualizando os obxectivos meta....\n"
-#: main.c:2306
+#: 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 "
+"aviso: Detectáronse inconsistencias de reloxo. A operación pode quedar "
"incompleta."
-#: main.c:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
-msgstr "Uso: %s [opcións] [obxectivo] ...\n"
+msgstr "Uso: %s [opcións] [obxectivo] ...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1114,7 +1289,7 @@ msgstr ""
"\n"
"Este programa compilou para %s\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1123,38 +1298,34 @@ msgstr ""
"\n"
"Este programa compilou para %s (%s)\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr ""
-"Informe dos erros no programa a <bug-make@gnu.org>.\n"
-"Informe dos erros na traducción a <proxecto@trasno.net>.\n"
+"Envíe informes de fallo no programa a <bug-make@gnu.org>.\n"
+"Envíe informes de fallo na tradución a <proxecto@trasno.net>.\n"
-#: main.c:2562
+#: main.c:2807
#, fuzzy, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
-msgstr "a opción `-%c' precisa dun argumento integral positivo"
-
-#: main.c:2617
-#, c-format
-msgid "the `-%c' option requires a positive integral argument"
-msgstr "a opción `-%c' precisa dun argumento integral positivo"
+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:3054
+#: 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:3269
+#, c-format
msgid "%sBuilt for %s\n"
-msgstr ""
-"\n"
-"Este programa compilou para %s\n"
+msgstr "%sCompilado para %s\n"
-#: main.c:3056
-#, fuzzy, c-format
+#: main.c:3271
+#, c-format
msgid "%sBuilt for %s (%s)\n"
-msgstr ""
-"\n"
-"Este programa compilou para %s (%s)\n"
+msgstr "%sCompilado para %s (%s)\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1162,8 +1333,12 @@ msgid ""
"%sThis is free software: you are free to change and redistribute it.\n"
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
+"%sLicenza GPLv3+: GNU GPL versión 3 ou posterior <http://gnu.org/licenses/"
+"gpl.html>\n"
+"%sIsto é software libre: pode modificalo e redistribuílo.\n"
+"%sNon hai NINGUNHA GARANTÃA, ata onde o permita a lei.\n"
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1172,7 +1347,7 @@ msgstr ""
"\n"
"# Base de datos de Make, imprimida en %s"
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1181,868 +1356,935 @@ msgstr ""
"\n"
"# Base de datos de Make rematada en %s\n"
-#: main.c:3237
-#, fuzzy, c-format
-msgid "%s: Entering an unknown directory\n"
-msgstr "%s: Entrando nun directorio descoñecido"
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "Erro %d descoñecido"
-#: main.c:3239
-#, fuzzy, c-format
-msgid "%s: Leaving an unknown directory\n"
-msgstr "%s: Saíndo dun directorio descoñecido"
+#: misc.c:522
+#, c-format
+msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+msgstr "%s: usuario %lu (real %lu), grupo %lu (real %lu)\n"
+
+#: misc.c:543
+msgid "Initialized access"
+msgstr "Acceso inicializado"
+
+#: misc.c:622
+msgid "User access"
+msgstr "Acceso de usuario"
+
+#: misc.c:670
+msgid "Make access"
+msgstr "Acceso de make"
-#: main.c:3242
+#: misc.c:704
+msgid "Child access"
+msgstr "Acceso de fillo"
+
+#: output.c:104
#, c-format
-msgid "%s: Entering directory `%s'\n"
-msgstr "%s: Entrando no directorio `%s'\n"
+msgid "%s: Entering an unknown directory\n"
+msgstr "%s: Entrando nun directorio descoñecido\n"
-#: main.c:3245
+#: output.c:106
#, c-format
-msgid "%s: Leaving directory `%s'\n"
-msgstr "%s: Saíndo do directorio `%s'\n"
+msgid "%s: Leaving an unknown directory\n"
+msgstr "%s: Saíndo dun directorio descoñecido\n"
-#: main.c:3250
+#: output.c:109
#, fuzzy, c-format
-msgid "%s[%u]: Entering an unknown directory\n"
-msgstr "%s[%u]: Entrando nun directorio descoñecido"
+msgid "%s: Entering directory '%s'\n"
+msgstr "%s: Entrando no directorio «%s»\n"
-#: main.c:3253
+#: output.c:111
#, fuzzy, c-format
-msgid "%s[%u]: Leaving an unknown directory\n"
-msgstr "%s[%u]: Saíndo dun directorio descoñecido"
+msgid "%s: Leaving directory '%s'\n"
+msgstr "%s: Saíndo do directorio «%s»\n"
-#: main.c:3257
+#: output.c:115
#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
-msgstr "%s[%u]: Entrando no directorio `%s'\n"
+msgid "%s[%u]: Entering an unknown directory\n"
+msgstr "%s[%u]: Entrando nun directorio descoñecido\n"
-#: main.c:3260
+#: output.c:117
#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
-msgstr "%s[%u]: Saíndo do directorio `%s'\n"
+msgid "%s[%u]: Leaving an unknown directory\n"
+msgstr "%s[%u]: Saíndo dun directorio descoñecido\n"
-#: misc.c:316
+#: output.c:120
+#, fuzzy, c-format
+msgid "%s[%u]: Entering directory '%s'\n"
+msgstr "%s[%u]: Entrando no directorio «%s»\n"
+
+#: output.c:122
+#, fuzzy, c-format
+msgid "%s[%u]: Leaving directory '%s'\n"
+msgstr "%s[%u]: Saíndo do directorio «%s»\n"
+
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
+msgstr "erro de escritura: %s"
+
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Detido.\n"
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "Erro %d descoñecido"
-
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "memoria virtual esgotada"
-
-#: misc.c:708
-#, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: usuario %lu (real %lu), grupo %lu (real %lu)\n"
-
-#: misc.c:729
-msgid "Initialized access"
-msgstr "Acceso inicializado"
-
-#: misc.c:808
-msgid "User access"
-msgstr "Acceso de usuario"
-
-#: misc.c:856
-msgid "Make access"
-msgstr "Acceso de make"
-
-#: misc.c:890
-msgid "Child access"
-msgstr "Acceso de fillo"
-
-#: misc.c:954
-#, fuzzy, c-format
-msgid "write error: %s"
-msgstr "Erros redirixidos a %s\n"
-
-#: misc.c:956
-#, fuzzy
-msgid "write error"
-msgstr "write jobserver"
-
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
msgstr "Lendo os ficheiros de make...\n"
-#: read.c:333
-#, c-format
-msgid "Reading makefile `%s'"
-msgstr "Lendo o ficheiro de make `%s'"
-
#: read.c:335
+#, fuzzy, c-format
+msgid "Reading makefile '%s'"
+msgstr "Lendo o ficheiro de make «%s»"
+
+#: read.c:337
#, c-format
msgid " (no default goal)"
-msgstr " (non hai un obxectivo por defecto)"
+msgstr " (non hai unha meta por defecto)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
-msgstr " (camiño de busca)"
+msgstr " (ruta de busca)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (non importa)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
-msgstr " (non hai expansión de ~)"
+msgstr " (non hai expansión de ~)"
-#: read.c:759
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr ""
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr ""
+
+#: read.c:789
msgid "invalid syntax in conditional"
-msgstr "sintaxe non válida no condicional"
+msgstr "sintaxe non válida no condicional"
-#: read.c:891
-#, fuzzy
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr ""
+
+#: read.c:992
msgid "recipe commences before first target"
-msgstr "os comandos comezan antes do primeiro obxectivo"
+msgstr ""
-#: read.c:940
-#, fuzzy
+#: read.c:1041
msgid "missing rule before recipe"
-msgstr "falla unha regra antes dos comandos"
+msgstr ""
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "falla un separador%s"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
+msgstr " (quixo dicir TAB no canto de 8 espazos?)"
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
-msgstr " (¿se cadra unha tabulación no canto de oito espacios?)"
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "falta un separador%s"
-#: read.c:1163
+#: read.c:1270
msgid "missing target pattern"
-msgstr "falla un patrón obxectivo"
+msgstr "falta un patrón obxectivo"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
-msgstr "patróns de obxectivo múltiples"
+msgstr "patróns de obxectivo múltiples"
-#: read.c:1169
-#, c-format
-msgid "target pattern contains no `%%'"
-msgstr "o patrón obxectivo non contén `%%'"
+#: read.c:1276
+#, fuzzy, c-format
+msgid "target pattern contains no '%%'"
+msgstr "o patrón obxectivo non contén «%%»"
-#: read.c:1293
-msgid "missing `endif'"
-msgstr "falla `endif'"
+#: read.c:1398
+#, fuzzy
+msgid "missing 'endif'"
+msgstr "falta «endif»"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
-msgstr "nome de variable baleiro"
+msgstr "nome de variábel baleiro"
-#: read.c:1367
+#: read.c:1471
#, fuzzy
-msgid "extraneous text after `define' directive"
-msgstr "Texto superfluo trala directiva `endef'"
+msgid "extraneous text after 'define' directive"
+msgstr "texto superfluo trala directiva «define»"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
-msgstr "falla `endef', `define' sen rematar"
-
-#: read.c:1420
+#: read.c:1496
#, fuzzy
-msgid "extraneous text after `endef' directive"
-msgstr "Texto superfluo trala directiva `endef'"
+msgid "missing 'endef', unterminated 'define'"
+msgstr "falta «endef», «define» sen rematar"
-#: read.c:1490
-#, c-format
-msgid "Extraneous text after `%s' directive"
-msgstr "Texto superfluo trala directiva `%s'"
+#: read.c:1524
+#, fuzzy
+msgid "extraneous text after 'endef' directive"
+msgstr "Texto superfluo trala directiva «endef»"
-#: read.c:1499 read.c:1513
-#, c-format
-msgid "extraneous `%s'"
-msgstr "`%s' superfluo"
+#: read.c:1595
+#, fuzzy, c-format
+msgid "extraneous text after '%s' directive"
+msgstr "Texto superfluo trala directiva «%s»"
-#: read.c:1518
-msgid "only one `else' per conditional"
-msgstr "só un `else' por condicional"
+#: read.c:1596
+#, fuzzy, c-format
+msgid "extraneous '%s'"
+msgstr "«%s» superfluo"
-#: read.c:1797
+#: read.c:1624
#, fuzzy
+msgid "only one 'else' per conditional"
+msgstr "só un «else» por condicional"
+
+#: read.c:1899
msgid "Malformed target-specific variable definition"
-msgstr "Definición dunha variable por obxectivo mal formada"
+msgstr "Definición dunha variábel por obxectivo mal formada"
-#: read.c:1855
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr ""
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
-msgstr "regrás de patrón implícitas e estáticas mesturadas"
+msgstr "regras de patrón implícitas e estáticas mesturadas"
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
-msgstr "regras implícitas e normais mesturadas"
-
-#: read.c:1976
-#, c-format
-msgid "target `%s' doesn't match the target pattern"
-msgstr "o obxectivo `%s' non coincide co patrón do obxectivo"
+msgstr "regras implícitas e normais mesturadas"
-#: read.c:1991 read.c:2036
-#, c-format
-msgid "target file `%s' has both : and :: entries"
-msgstr "o ficheiro obxectivo `%s' ten entradas : e ::"
-
-#: read.c:1997
-#, c-format
-msgid "target `%s' given more than once in the same rule."
-msgstr "o obxectivo `%s' aparece máis dunha vez na mesma regra."
-
-#: read.c:2006
+#: read.c:2091
#, fuzzy, c-format
-msgid "warning: overriding recipe for target `%s'"
-msgstr "aviso: ignorando os comandos do obxectivo `%s'"
+msgid "target '%s' doesn't match the target pattern"
+msgstr "o obxectivo «%s» non coincide co patrón do obxectivo"
-#: read.c:2009
+#: read.c:2106 read.c:2152
#, fuzzy, c-format
-msgid "warning: ignoring old recipe for target `%s'"
-msgstr "aviso: ignóranse os comandos antigos do obxectivo `%s'"
+msgid "target file '%s' has both : and :: entries"
+msgstr "o ficheiro obxectivo «%s» ten entradas : e ::"
-#: read.c:2392
-msgid "warning: NUL character seen; rest of line ignored"
-msgstr "aviso: viuse un carácter NUL; ignórase o resto da liña"
+#: read.c:2112
+#, fuzzy, c-format
+msgid "target '%s' given more than once in the same rule"
+msgstr "o obxectivo «%s» aparece máis dunha vez na mesma regra."
-#: remake.c:234
+#: read.c:2122
#, c-format
-msgid "Nothing to be done for `%s'."
-msgstr "Non hai nada que facer para `%s'"
+msgid "warning: overriding recipe for target '%s'"
+msgstr ""
-#: remake.c:235
+#: read.c:2125
#, c-format
-msgid "`%s' is up to date."
-msgstr "`%s' está actualizado."
+msgid "warning: ignoring old recipe for target '%s'"
+msgstr ""
-#: remake.c:306
-#, c-format
-msgid "Pruning file `%s'.\n"
-msgstr "Podando o ficheiro `%s'.\n"
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "regras implícitas e normais mesturadas"
-#: remake.c:359
-#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%sNon hai unha regra para face-lo obxectivo `%s'%s"
+#: read.c:2539
+msgid "warning: NUL character seen; rest of line ignored"
+msgstr "aviso: viuse un carácter NUL; ignórase o resto da liña"
-#: remake.c:361
-#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
-msgstr "%sNon hai unha regra para face-lo obxectivo `%s', que precisa `%s'%s"
+#: remake.c:230
+#, fuzzy, c-format
+msgid "Nothing to be done for '%s'."
+msgstr "Non hai nada que facer para «%s»"
-#: remake.c:413
-#, c-format
-msgid "Considering target file `%s'.\n"
-msgstr "Considerando o ficheiro obxectivo `%s'.\n"
+#: remake.c:231
+#, fuzzy, c-format
+msgid "'%s' is up to date."
+msgstr "«%s» está actualizado."
-#: remake.c:420
-#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
-msgstr "Hai pouco probouse a actualiza-lo ficheiro `%s' e non se puido.\n"
+#: remake.c:303
+#, fuzzy, c-format
+msgid "Pruning file '%s'.\n"
+msgstr "Podando o ficheiro «%s».\n"
-#: remake.c:432
-#, c-format
-msgid "File `%s' was considered already.\n"
-msgstr "O ficheiro `%s' xa fora considerado.\n"
+#: remake.c:390 remake.c:393
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
+msgstr "%sNon hai unha regra para facer o obxectivo «%s», que precisa «%s»%s"
-#: remake.c:442
-#, c-format
-msgid "Still updating file `%s'.\n"
-msgstr "Ainda se está actualizando o ficheiro `%s'.\n"
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sNon hai unha regra para facer o obxectivo «%s»%s"
+
+#: remake.c:426
+#, fuzzy, c-format
+msgid "Considering target file '%s'.\n"
+msgstr "Considerando o ficheiro obxectivo «%s».\n"
+
+#: remake.c:433
+#, fuzzy, c-format
+msgid "Recently tried and failed to update file '%s'.\n"
+msgstr ""
+"Hai pouco probouse a actualizar o ficheiro «%s» e non foi posíbel facelo.\n"
#: remake.c:445
-#, c-format
-msgid "Finished updating file `%s'.\n"
-msgstr "Rematouse de actualiza-lo ficheiro `%s'.\n"
+#, fuzzy, c-format
+msgid "File '%s' was considered already.\n"
+msgstr "O ficheiro «%s» xa fora considerado.\n"
-#: remake.c:474
-#, c-format
-msgid "File `%s' does not exist.\n"
-msgstr "O ficheiro `%s' non existe.\n"
+#: remake.c:455
+#, fuzzy, c-format
+msgid "Still updating file '%s'.\n"
+msgstr "Aínda se está actualizando o ficheiro «%s».\n"
-#: remake.c:481
-#, c-format
+#: remake.c:458
+#, fuzzy, c-format
+msgid "Finished updating file '%s'.\n"
+msgstr "Rematouse de actualizar o ficheiro «%s».\n"
+
+#: remake.c:487
+#, fuzzy, c-format
+msgid "File '%s' does not exist.\n"
+msgstr "O ficheiro «%s» non existe.\n"
+
+#: remake.c:495
+#, fuzzy, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-"*** Aviso: o ficheiro `%s' de .LOW_RESOLUTION_TIME ten unha marca de tempo "
-"de alta resolución"
+"*** Aviso: o ficheiro «%s» de .LOW_RESOLUTION_TIME ten unha marca de tempo "
+"de alta resolución"
-#: remake.c:494 remake.c:1016
-#, c-format
-msgid "Found an implicit rule for `%s'.\n"
-msgstr "Atopouse unha regra implícita de `%s'.\n"
+#: remake.c:508 remake.c:1040
+#, fuzzy, c-format
+msgid "Found an implicit rule for '%s'.\n"
+msgstr "Atopouse unha regra implícita de «%s».\n"
-#: remake.c:496 remake.c:1018
-#, c-format
-msgid "No implicit rule found for `%s'.\n"
-msgstr "Non se atopou unha regra implícita para `%s'.\n"
+#: remake.c:510 remake.c:1042
+#, fuzzy, c-format
+msgid "No implicit rule found for '%s'.\n"
+msgstr "Non se atopou unha regra implícita para «%s».\n"
-#: remake.c:502
+#: remake.c:516
#, fuzzy, c-format
-msgid "Using default recipe for `%s'.\n"
-msgstr "Usando os comandos por defecto para `%s'.\n"
+msgid "Using default recipe for '%s'.\n"
+msgstr "Usando as ordes por defecto para «%s».\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "A dependencia circular %s <- %s foi eliminada."
-#: remake.c:651
-#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
-msgstr "Rematáronse os prerrequisitos do ficheiro obxectivo `%s'.\n"
-
-#: remake.c:657
-#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
-msgstr "Estan a se face-los prerrequisitos de `%s'.\n"
-
-#: remake.c:670
-#, c-format
-msgid "Giving up on target file `%s'.\n"
-msgstr "Abandonando no ficheiro obxectivo `%s'.\n"
-
#: remake.c:675
-#, c-format
-msgid "Target `%s' not remade because of errors."
-msgstr "Non se refai o obxectivo `%s' a causa dos erros."
+#, fuzzy, c-format
+msgid "Finished prerequisites of target file '%s'.\n"
+msgstr "Rematáronse os prerrequisitos do ficheiro obxectivo «%s».\n"
-#: remake.c:727
-#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
-msgstr "O prerrequisito `%s' é só-orde para o obxectivo `%s'.\n"
+#: remake.c:681
+#, fuzzy, c-format
+msgid "The prerequisites of '%s' are being made.\n"
+msgstr "Están a se facer os prerrequisitos de «%s».\n"
-#: remake.c:732
-#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
-msgstr "O prerrequisito `%s' do obxectivo `%s' non existe.\n"
+#: remake.c:695
+#, fuzzy, c-format
+msgid "Giving up on target file '%s'.\n"
+msgstr "Abandonando no ficheiro obxectivo «%s».\n"
-#: remake.c:737
-#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
-msgstr "O prerrequisito `%s' é máis novo có obxectivo `%s'.\n"
+#: remake.c:700
+#, fuzzy, c-format
+msgid "Target '%s' not remade because of errors."
+msgstr "Non se refai o obxectivo «%s» a causa dos erros."
-#: remake.c:740
-#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
-msgstr "O prerrequisito `%s' é máis vello có obxectivo `%s'.\n"
+#: remake.c:752
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
+msgstr "O prerrequisito «%s» é só-orde para o obxectivo «%s».\n"
-#: remake.c:758
-#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
-msgstr "O obxectivo `%s' ten catro puntos e non ten prerrequisitos.\n"
+#: remake.c:757
+#, fuzzy, c-format
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
+msgstr "O prerrequisito «%s» do obxectivo «%s» non existe.\n"
+
+#: remake.c:762
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
+msgstr "O prerrequisito «%s» é máis novo que o obxectivo «%s».\n"
#: remake.c:765
#, fuzzy, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
-msgstr "Non hai comandos de `%s', e non cambiaron os prerrequisitos.\n"
+msgid "Prerequisite '%s' is older than target '%s'.\n"
+msgstr "O prerrequisito «%s» é máis vello que o obxectivo «%s».\n"
-#: remake.c:770
-#, c-format
-msgid "Making `%s' due to always-make flag.\n"
-msgstr "Facendo `%s' debido á marca de sempre-facer.\n"
+#: remake.c:783
+#, fuzzy, c-format
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
+msgstr "O obxectivo «%s» ten catro puntos e non ten prerrequisitos.\n"
-#: remake.c:778
+#: remake.c:790
#, c-format
-msgid "No need to remake target `%s'"
-msgstr "Non é preciso reface-lo obxectivo `%s'"
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
+msgstr ""
-#: remake.c:780
-#, c-format
-msgid "; using VPATH name `%s'"
-msgstr "; usando o nome de VPATH `%s'"
+#: remake.c:795
+#, fuzzy, c-format
+msgid "Making '%s' due to always-make flag.\n"
+msgstr "Facendo «%s» debido á marca de sempre-facer.\n"
-#: remake.c:800
-#, c-format
-msgid "Must remake target `%s'.\n"
-msgstr "Debe refacerse o obxectivo `%s'.\n"
+#: remake.c:803
+#, fuzzy, c-format
+msgid "No need to remake target '%s'"
+msgstr "Non é preciso refacer o obxectivo «%s»"
-#: remake.c:806
-#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
-msgstr " Ignorando o nome VPATH `%s'.\n"
+#: remake.c:805
+#, fuzzy, c-format
+msgid "; using VPATH name '%s'"
+msgstr "; usando o nome de VPATH «%s»"
-#: remake.c:815
+#: remake.c:825
#, fuzzy, c-format
-msgid "Recipe of `%s' is being run.\n"
-msgstr "Estanse a executa-los comandos de `%s'.\n"
+msgid "Must remake target '%s'.\n"
+msgstr "Debe refacerse o obxectivo «%s».\n"
-#: remake.c:822
-#, c-format
-msgid "Failed to remake target file `%s'.\n"
-msgstr "Non se puido reface-lo ficheiro obxectivo `%s'.\n"
+#: remake.c:831
+#, fuzzy, c-format
+msgid " Ignoring VPATH name '%s'.\n"
+msgstr " Ignorando o nome VPATH «%s».\n"
-#: remake.c:825
+#: remake.c:840
#, c-format
-msgid "Successfully remade target file `%s'.\n"
-msgstr "O ficheiro obxectivo `%s' foi feito de novo con éxito.\n"
+msgid "Recipe of '%s' is being run.\n"
+msgstr ""
-#: remake.c:828
-#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
-msgstr "O ficheiro obxectivo `%s' precisa refacerse con -q.\n"
+#: remake.c:847
+#, fuzzy, c-format
+msgid "Failed to remake target file '%s'.\n"
+msgstr "Produciuse un erro ao refacer o ficheiro obxectivo «%s».\n"
-#: remake.c:1024
-#, c-format
-msgid "Using default commands for `%s'.\n"
-msgstr "Usando os comandos por defecto para `%s'.\n"
+#: remake.c:850
+#, fuzzy, c-format
+msgid "Successfully remade target file '%s'.\n"
+msgstr "O ficheiro obxectivo «%s» foi feito de novo con éxito.\n"
-#: remake.c:1357
-#, c-format
-msgid "Warning: File `%s' has modification time in the future"
-msgstr "Aviso: O ficheiro `%s' ten unha data de modificación no futuro"
+#: remake.c:853
+#, fuzzy, c-format
+msgid "Target file '%s' needs to be remade under -q.\n"
+msgstr "O ficheiro obxectivo «%s» precisa refacerse con -q.\n"
-#: remake.c:1370
+#: remake.c:1048
#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
-msgstr "Aviso: O ficheiro `%s' ten unha data de modificación %.2g s. no futuro"
+msgid "Using default commands for '%s'.\n"
+msgstr "Usando as ordes por defecto para «%s».\n"
-#: remake.c:1569
-#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
-msgstr "O elemento de .LIBPATTERNS `%s' non é un patrón"
+#: remake.c:1397
+#, fuzzy, c-format
+msgid "Warning: File '%s' has modification time in the future"
+msgstr "Aviso: O ficheiro «%s» ten un tempo de modificación no futuro"
-#: remote-cstms.c:125
+#: remake.c:1411
+#, fuzzy, c-format
+msgid "Warning: File '%s' has modification time %s s in the future"
+msgstr "Aviso: O ficheiro «%s» ten un tempo de modificación %s seg no futuro"
+
+#: remake.c:1610
+#, fuzzy, c-format
+msgid ".LIBPATTERNS element '%s' is not a pattern"
+msgstr "O elemento de .LIBPATTERNS «%s» non é un patrón"
+
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
msgstr "A Aduana non exporta: %s\n"
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
msgstr ""
"\n"
-"# Regras Implícitas"
+"# Regras implícitas"
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
msgstr ""
"\n"
-"# Non hai regras implícitas."
+"# Non hai regras implícitas."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
"# %u implicit rules, %u"
msgstr ""
"\n"
-"# %u regras implícitas, %u"
+"# %u regras implícitas, %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
msgstr " terminal."
-#: rule.c:534
-#, fuzzy, c-format
+#: rule.c:530
+#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
-msgstr "ERRO: ¡num_pattern_rules é incorrecto! %u != %u"
+msgstr "FALLO: num_pattern_rules é incorrecto! %u != %u"
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
-msgstr "sinal descoñecido"
+msgstr "sinal descoñecido"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
msgstr "Colgar"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
msgstr "Interrompido"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
-msgstr "Saír"
+msgstr "Saír"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
-msgstr "Instrucción Ilegal"
+msgstr "Instrución inaceptábel"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
-msgstr "Trampa de trazado/punto de detención"
+msgstr "Trampa de trazado/punto de detención"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr "Abortado"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
msgstr "Trampa de IOT"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
msgstr "Trampa EMT"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
-msgstr "Excepción de coma flotante"
+msgstr "Excepción de coma flotante"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
msgstr "Matado"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
msgstr "Erro do bus"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
msgstr "Fallo de segmento"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
msgstr "Chamada ao sistema incorrecta"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
-msgstr "Cano rompido"
+msgstr "Canalización rota"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr "Temporizador"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
-msgstr "Rematado"
+msgstr "Terminado"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
msgstr "Sinal definido polo usuario 1"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
msgstr "Sinal definido polo usuario 2"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
-msgstr "O proceso fillo rematou"
+msgstr "O proceso fillo saíu"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
-msgstr "Fallo de suministro eléctrico"
+msgstr "Fallo de subministración eléctrica"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr "Detido"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
msgstr "Detido (entrada de consola)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
-msgstr "Detido (saída de consola)"
+msgstr "Detido (saída de consola)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
msgstr "Detido (sinal)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
-msgstr "Límite de tempo de CPU superado"
+msgstr "Excedeuse o límite de tempo de CPU"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
-msgstr "Límite de tamaño de ficheiros superado"
+msgstr "Excedeuse o límite de tamaño do ficheiro"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
msgstr "Temporizador virtual esgotado"
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
-msgstr "O temporizador esgotouse"
+msgstr ""
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
-msgstr "A fiestra cambiou"
+msgstr "A xanela cambiou"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
msgstr "Continuado"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
-msgstr "Condición de E/S urxente"
+msgstr "Condición de E/S urxente"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
-msgstr "A E/S é posible"
+msgstr "A E/S é posíbel"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr "Recurso perdido"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
msgstr "Sinal de perigo"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
-msgstr "Petición de información"
+msgstr "Petición de información"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
-msgstr "O co-procesador de coma flotante non está dispoñible"
+msgstr "O coprocesador de coma flotante non está dispoñíbel"
-#: strcache.c:235
+#: strcache.c:236
#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s No strcache buffers\n"
msgstr ""
-#: strcache.c:237
+#: strcache.c:266
#, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+msgid ""
+"\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
msgstr ""
-#: strcache.c:239
+#: strcache.c:270
#, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
-#: strcache.c:241
+#: strcache.c:280
#, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
msgstr ""
-#: strcache.c:244
-#, fuzzy
+#: 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:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
+msgstr ""
+
+#: strcache.c:289
+#, fuzzy
+msgid ""
+"# hash-table stats:\n"
"# "
msgstr ""
"\n"
-"# estatísticas da táboa hash de ficheiros:\n"
+"# estatísticas da táboa hash de ficheiros:\n"
"# "
-#: variable.c:1541
+#: variable.c:1599
+msgid "automatic"
+msgstr "automático"
+
+#: variable.c:1602
msgid "default"
msgstr "por defecto"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
msgstr "ambiente"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
msgstr "ficheiro de make"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
msgstr "ambiente baixo -e"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
-msgstr "liña de comandos"
+msgstr "liña de ordes"
-#: variable.c:1556
-msgid "`override' directive"
-msgstr "directiva `override'"
-
-#: variable.c:1559
-msgid "automatic"
-msgstr "automático"
+#: variable.c:1617
+#, fuzzy
+msgid "'override' directive"
+msgstr "directiva «override»"
-#: variable.c:1570
-#, c-format
-msgid " (from `%s', line %lu)"
-msgstr " (de `%s', liña %lu)"
+#: variable.c:1628
+#, fuzzy, c-format
+msgid " (from '%s', line %lu)"
+msgstr " (desde «%s», liña %lu)"
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
-msgstr "# estatísticas da táboa hash de conxunto de variables:\n"
+msgstr "# estatísticas da táboa hash de conxunto de variábeis:\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
msgstr ""
"\n"
-"# Variables\n"
+"# Variábeis\n"
-#: variable.c:1627
-#, fuzzy
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
"\n"
-"# Valores de variables específicos do patrón"
+"# Valores de variábeis específicas do patrón"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
msgstr ""
"\n"
-"# Non hai valores específicos do patrón."
+"# Non hai valores específicos do patrón."
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
"# %u pattern-specific variable values"
msgstr ""
"\n"
-"# %u valores de variables específicos do patrón"
-
-#: variable.h:219
-#, c-format
-msgid "warning: undefined variable `%.*s'"
-msgstr "aviso: variable non definida `%.*s'"
+"# %u valores de variábeis específicos do patrón"
-#: vmsfunctions.c:92
+#: variable.h:224
#, fuzzy, c-format
+msgid "warning: undefined variable '%.*s'"
+msgstr "aviso: variábel non definida «%.*s»"
+
+#: vmsfunctions.c:91
+#, c-format
msgid "sys$search() failed with %d\n"
-msgstr "a chamada a sys$search fallou con %d\n"
+msgstr "a chamada a sys$search() fallou con %d\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
-msgstr "Aviso: Redirección baleira\n"
+msgstr "Aviso: Redirección baleira\n"
-#: vmsjobs.c:184
-#, c-format
-msgid "internal error: `%s' command_state"
-msgstr "erro interno: `%s' command_state"
+#: vmsjobs.c:183
+#, fuzzy, c-format
+msgid "internal error: '%s' command_state"
+msgstr "erro interno: «%s» command_state"
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
-msgstr "-aviso, pode que teña que reactiva-lo manexo de CTRL-Y dende o DCL.\n"
+msgstr "-aviso, pode que teña que reactivar o manexo de CTRL-Y desde o DCL.\n"
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "BUILTIN [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "BUILTIN RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
-msgstr "Comando incluido descoñecido '%s'\n"
+msgstr "Orde incorporada descoñecida «%s»\n"
-#: vmsjobs.c:493
+#: 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 "Erro, comando baleiro\n"
+msgstr "Erro, orde baleira\n"
-#: vmsjobs.c:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
-msgstr "Entrada redirixida de %s\n"
+msgstr "Entrada redirixida desde %s\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Erros redirixidos a %s\n"
-#: vmsjobs.c:523
-#, fuzzy, c-format
+#: vmsjobs.c:690
+#, c-format
msgid "Append output to %s\n"
-msgstr "Saída redirixida a %s\n"
+msgstr ""
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
-msgstr "Saída redirixida a %s\n"
+msgstr "Saída redirixida a %s\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr ""
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "Executando %s no canto\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Erro ao lanzar, %d\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
msgstr ""
"\n"
-"# Camiños de Busca VPATH\n"
+"# Rutas de busca VPATH\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
-msgstr "# Non hai camiños de busca `vpath'"
+#: vpath.c:600
+#, fuzzy
+msgid "# No 'vpath' search paths."
+msgstr "# Non hai rutas de busca «vpath»"
-#: vpath.c:605
-#, c-format
+#: vpath.c:602
+#, fuzzy, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
-"# %u camiños de busca `vpath'.\n"
+"# %u rutas de busca «vpath».\n"
-#: vpath.c:608
+#: vpath.c:605
+#, fuzzy
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
-"# Non hai un camiño de busca xeral (variable `VPATH')."
+"# Non hai unha ruta de busca xeral (variábel «VPATH»)."
-#: vpath.c:614
+#: vpath.c:611
+#, fuzzy
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
-"# Camiño de busca xeral (variable `VPATH'):\n"
+"# Ruta de busca xeral (variábel «VPATH»):\n"
"# "
+#~ 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 %d (ignored)"
+#~ msgstr "[%s] Erro %d (ignorado)"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "erro interno: opcións --jobserver-fds múltiples"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "memoria virtual esgotada"
+
+#~ msgid "write error"
+#~ msgstr "erro de escritura"
+
+#~ msgid ""
+#~ "\n"
+#~ "# strcache hash-table stats:\n"
+#~ "# "
+#~ msgstr ""
+#~ "\n"
+#~ "# estatísticas da táboa hash strcache:\n"
+#~ "# "
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "BUILTIN RM %s\n"
+
#~ msgid "create_child_process: DuplicateHandle(In) failed (e=%d)\n"
#~ msgstr ""
#~ "create_child_process: a chamada a DuplicateHandle(In) fallou (e=%d)\n"
@@ -2058,10 +2300,10 @@ msgstr ""
#~ msgstr "Recibiuse un sinal SIGCHLD; %u procesos fillos non colleitados.\n"
#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
-#~ msgstr "-aviso, CTRL-Y deixará subprocesos ceibos.\n"
+#~ msgstr "-aviso, CTRL-Y deixará subprocesos ceibos.\n"
#~ msgid "Do not specify -j or --jobs if sh.exe is not available."
-#~ msgstr "Non especifique -j ou --jobs se sh.exe non está dispoñible."
+#~ msgstr "Non especifique -j ou --jobs se sh.exe non está dispoñible."
#~ msgid "Resetting make for single job mode."
#~ msgstr "Reiniciando make para entrar no modo de un traballo."
@@ -2071,8 +2313,8 @@ msgstr ""
#~ "%sThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n"
#~ "%sPARTICULAR PURPOSE.\n"
#~ msgstr ""
-#~ "%sIsto é software libre; vexa o código fonte polas condicións de copia.\n"
-#~ "%sNON hai garantía; nin sequera de COMERCIABILIDADE ou APTITUDE PARA\n"
+#~ "%sIsto é software libre; vexa o código fonte polas condicións de copia.\n"
+#~ "%sNON hai garantía; nin sequera de COMERCIABILIDADE ou APTITUDE PARA\n"
#~ "%sUN FIN DETERMINADO.\n"
#~ msgid "extraneous `endef'"
@@ -2082,13 +2324,13 @@ msgstr ""
#~ msgstr "directiva `override' baleira"
#~ msgid "invalid `override' directive"
-#~ msgstr "directiva `override' non válida"
+#~ msgstr "directiva `override' non válida"
#~ msgid "no file name for `%sinclude'"
#~ msgstr "non hai un home de ficheiro en `%sinclude'"
#~ msgid "target `%s' leaves prerequisite pattern empty"
-#~ msgstr "o obxectivo `%s' deixa o patrón prerrequisito baleiro"
+#~ msgstr "o obxectivo `%s' deixa o patrón prerrequisito baleiro"
#~ msgid ""
#~ "\n"
@@ -2106,7 +2348,7 @@ msgstr ""
#~ msgid "# average %.3f files per bucket, max %u files in one bucket.\n"
#~ msgstr ""
-#~ "# %.3f ficheiros de media por balde, máximo de %u ficheiros nun balde.\n"
+#~ "# %.3f ficheiros de media por balde, máximo de %u ficheiros nun balde.\n"
#~ msgid "DIRECTORY"
#~ msgstr "DIRECTORIO"
@@ -2122,7 +2364,7 @@ msgstr ""
#~ msgid "Environment variables override makefiles"
#~ msgstr ""
-#~ "As variables de ambiente teñen prioridade sobre os ficheiros de make"
+#~ "As variables de ambiente teñen prioridade sobre os ficheiros de make"
#~ msgid "FILE"
#~ msgstr "FICHEIRO"
@@ -2134,13 +2376,13 @@ msgstr ""
#~ msgstr "Busca-los ficheiros de make incluidos no DIRECTORIO"
#~ msgid "Don't start multiple jobs unless load is below N"
-#~ msgstr "Non comezar traballos múltiples se a carga non é inferior a N"
+#~ msgstr "Non comezar traballos múltiples se a carga non é inferior a N"
#~ msgid "Don't actually run any commands; just print them"
-#~ msgstr "Non executar ningún comando; só amosalos"
+#~ msgstr "Non executar ningún comando; só amosalos"
#~ msgid "Consider FILE to be very old and don't remake it"
-#~ msgstr "Considerar que o FICHEIRO é moi vello, e non o refacer"
+#~ msgstr "Considerar que o FICHEIRO é moi vello, e non o refacer"
#~ msgid "Don't echo commands"
#~ msgstr "Non amosa-los comandos"
@@ -2149,7 +2391,7 @@ msgstr ""
#~ msgstr "Desactiva -k"
#~ msgid "Consider FILE to be infinitely new"
-#~ msgstr "Considerar que o FICHEIRO é infinitamente novo"
+#~ msgstr "Considerar que o FICHEIRO é infinitamente novo"
#~ msgid "Entering"
#~ msgstr "Entrando"
@@ -2161,16 +2403,13 @@ msgstr ""
#~ msgstr "# Non hai variables."
#~ msgid "# average of %.1f variables per bucket, max %u in one bucket.\n"
-#~ msgstr "# %.1f variables de media por balde, máximo de %u nun balde.\n"
+#~ msgstr "# %.1f variables de media por balde, máximo de %u nun balde.\n"
#~ msgid "# average of %d.%d variables per bucket, max %u in one bucket.\n"
-#~ msgstr "# %d.%d variables de media por balde, máximo de %u nun balde.\n"
+#~ msgstr "# %d.%d variables de media por balde, máximo de %u nun balde.\n"
#~ msgid "the `word' function takes a positive index argument"
-#~ msgstr "a función `word' toma un argumento índice positivo"
-
-#~ msgid " (ignored)"
-#~ msgstr " (ignorado)"
+#~ msgstr "a función `word' toma un argumento índice positivo"
#~ msgid " not"
#~ msgstr " non"
@@ -2185,10 +2424,10 @@ msgstr ""
#~ msgstr "%s rematou."
#~ msgid "%s: unknown signal"
-#~ msgstr "%s: sinal descoñecido"
+#~ msgstr "%s: sinal descoñecido"
#~ msgid "%sGNU Make version %s"
-#~ msgstr "%sGNU Make versión %s"
+#~ msgstr "%sGNU Make versión %s"
#~ msgid "1-minute: %f "
#~ msgstr "1 minuto: %f "
@@ -2200,7 +2439,7 @@ msgstr ""
#~ msgstr "5 minutos: %f "
#~ msgid "?? getopt returned character code 0%o ??\n"
-#~ msgstr "?? getopt devolveu o código do carácter 0%o ??\n"
+#~ msgstr "?? getopt devolveu o código do carácter 0%o ??\n"
#~ msgid "Child"
#~ msgstr "Fillo"
@@ -2245,19 +2484,19 @@ msgstr ""
#~ msgstr "Probando a dependencia %s `%s'.\n"
#~ msgid "Unknown error 12345678901234567890"
-#~ msgstr "Erro 12345678901234567890 descoñecido"
+#~ msgstr "Erro 12345678901234567890 descoñecido"
#~ msgid "Unknown%s job %d"
-#~ msgstr "Traballo%s %d descoñecido"
+#~ msgstr "Traballo%s %d descoñecido"
#~ msgid "User"
#~ msgstr "Usuario"
#~ msgid "arg with white space or doublequotes: %s\n"
-#~ msgstr "argumento con espacios en branco ou comiñas dobres: %s\n"
+#~ msgstr "argumento con espacios en branco ou comiñas dobres: %s\n"
#~ msgid "digits occur in two different argv-elements.\n"
-#~ msgstr "aparecen díxitos en dous elementos de argv distintos.\n"
+#~ msgstr "aparecen díxitos en dous elementos de argv distintos.\n"
#~ msgid "empty string arg: %s\n"
#~ msgstr "argumento de cadea baleiro: %s\n"
@@ -2290,7 +2529,7 @@ msgstr ""
#~ msgstr "getwd: %s"
#~ msgid "implicit"
-#~ msgstr "implícita"
+#~ msgstr "implícita"
#~ msgid "intermediate"
#~ msgstr "intermedia"
@@ -2302,31 +2541,31 @@ msgstr ""
#~ msgstr "nunca"
#~ msgid "newer"
-#~ msgstr "máis novo"
+#~ msgstr "máis novo"
#~ msgid "non-option ARGV-elements: "
-#~ msgstr "elementos ARGV que non son opcións: "
+#~ msgstr "elementos ARGV que non son opcións: "
#~ msgid "older"
-#~ msgstr "máis vello"
+#~ msgstr "máis vello"
#~ msgid "option %c\n"
-#~ msgstr "opción %c\n"
+#~ msgstr "opción %c\n"
#~ msgid "option %s"
-#~ msgstr "opción %s"
+#~ msgstr "opción %s"
#~ msgid "option a\n"
-#~ msgstr "opción a\n"
+#~ msgstr "opción a\n"
#~ msgid "option b\n"
-#~ msgstr "opción b\n"
+#~ msgstr "opción b\n"
#~ msgid "option c with value `%s'\n"
-#~ msgstr "opción c co valor `%s'\n"
+#~ msgstr "opción c co valor `%s'\n"
#~ msgid "option d with value `%s'\n"
-#~ msgstr "opción d co valor `%s'\n"
+#~ msgstr "opción d co valor `%s'\n"
#~ msgid "original arg: %s\n"
#~ msgstr "argumento orixinal: %s\n"
@@ -2359,7 +2598,7 @@ msgstr ""
#~ msgstr "unlink: "
#~ msgid "winning"
-#~ msgstr "que gaña"
+#~ msgstr "que gaña"
#~ msgid "write"
#~ msgstr "escritura"
diff --git a/po/he.gmo b/po/he.gmo
index 5e8d9245..06035098 100644
--- a/po/he.gmo
+++ b/po/he.gmo
Binary files differ
diff --git a/po/he.po b/po/he.po
index 7befe704..0de9871b 100644
--- a/po/he.po
+++ b/po/he.po
@@ -6,120 +6,126 @@ msgid ""
msgstr ""
"Project-Id-Version: make 3.79.1\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-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 <eliz@gnu.org>\n"
"Language-Team: Hebrew <eliz@gnu.org>\n"
+"Language: he\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ar.c:48
-#, c-format
-msgid "attempt to use unsupported feature: `%s'"
+#: ar.c:46
+#, fuzzy, c-format
+msgid "attempt to use unsupported feature: '%s'"
msgstr "úëîúð äððéàù `%s' äðåëúá ùåîéù ïåéñð"
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
msgstr "VMS úëøòîá ïåéëøàá øáà ìù äòù/êéøàú éåðéùá äëéîú ïéà"
-#: ar.c:149
-#, c-format
-msgid "touch: Archive `%s' does not exist"
+#: ar.c:147
+#, fuzzy, c-format
+msgid "touch: Archive '%s' does not exist"
msgstr "íéé÷ åðéà `%s' ïåéëøà õáå÷ :touch"
-#: ar.c:152
-#, c-format
-msgid "touch: `%s' is not a valid archive"
+#: ar.c:150
+#, fuzzy, c-format
+msgid "touch: '%s' is not a valid archive"
msgstr "ïé÷ú ïåéëøà õáå÷ åðéà `%s' :touch"
-#: ar.c:159
-#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
+#: ar.c:157
+#, fuzzy, c-format
+msgid "touch: Member '%s' does not exist in '%s'"
msgstr "`%s' øáà ìéëî åðéà `%s' ïåéëøà :touch"
-#: ar.c:166
-#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
+#: ar.c:164
+#, fuzzy, c-format
+msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "`%s' øåáò ïé÷ú-àì ãå÷ äøéæçä ar_member_touch :touch"
-#: arscan.c:69
+#: arscan.c:124
#, fuzzy, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr "%d ñåèèñ ,lib$rset_module é\"ò ìåãåî ìò òãéî úôéìùá ïåìùë"
-#: arscan.c:175
+#: arscan.c:230
#, fuzzy, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "%d ñåèèñ íò ìùëð lbr$ini_control"
-#: arscan.c:187
-#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
+#: 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:850
-#, c-format
-msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
+#: 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:851
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (name might be truncated)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Date %s"
-#: arscan.c:854
+#: 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:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr ""
+
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Break. ***\n"
-#: commands.c:622
-#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
+#: commands.c:629
+#, fuzzy, c-format
+msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr "*** [%s] ÷çîéé àì ;ïé÷ú-éúìá úåéäì ìåìò `%s' ïåéëøà øáà ***"
-#: commands.c:625
-#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
+#: commands.c:633
+#, fuzzy, c-format
+msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr "*** ÷çîéé àì ;ïé÷ú-éúìá úåéäì ìåìò `%s' ïåéëøà øáà ***"
-#: commands.c:638
-#, c-format
-msgid "*** [%s] Deleting file `%s'"
+#: commands.c:647
+#, fuzzy, c-format
+msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] `%s' õáå÷ ÷çåî ***"
-#: commands.c:640
-#, c-format
-msgid "*** Deleting file `%s'"
+#: commands.c:649
+#, fuzzy, c-format
+msgid "*** Deleting file '%s'"
msgstr "*** `%s' õáå÷ ÷çåî ***"
# 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:676
+#: commands.c:685
#, fuzzy
msgid "# recipe to execute"
msgstr "# commands to execute"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
msgstr " (built-in):"
-#: commands.c:681
-#, c-format
-msgid " (from `%s', line %lu):\n"
+#: commands.c:690
+#, fuzzy, c-format
+msgid " (from '%s', line %lu):\n"
msgstr " (from `%s', line %lu):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -127,224 +133,228 @@ msgstr ""
"\n"
"# Directories\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
msgstr "# %s: could not be stat'd.\n"
-#: dir.c:1012
+#: 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:1016
+#: 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:1021
+#: 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:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
msgstr "# %s (key %s, mtime %d): "
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
msgstr "# %s (device %d, inode [%d,%d,%d]): "
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
msgstr "# %s (device %ld, inode %ld): "
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "No"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr " files, "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "no"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
msgstr " impossibilities"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
msgstr " so far."
-#: dir.c:1092
+#: dir.c:1085
#, fuzzy, c-format
msgid " impossibilities in %lu directories.\n"
msgstr " impossibilities in %u directories.\n"
-#: expand.c:127
-#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
+#: expand.c:125
+#, fuzzy, c-format
+msgid "Recursive variable '%s' references itself (eventually)"
msgstr "(øáã ìù åôåñá) åîöòì äééðôäì íøåâ `%s' éáéñøå÷ø äðúùî"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
msgstr "äëìäë úîééúñî äðéà äðúùîì äééðôä"
-#: file.c:267
+#: file.c:271
#, fuzzy, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
+msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr ",`%s' õáå÷ øåáò úåãå÷ô åðúéð %s õáå÷á %lu äøåùá"
-#: file.c:272
+#: file.c:276
#, fuzzy, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
+msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr ",íéùøåôî-éúìá íéììëá ùåôéç é\"ò åàöîð `%s' õáå÷ øåáò úåãå÷ô"
-#: file.c:275
-#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
+#: file.c:280
+#, fuzzy, c-format
+msgid "but '%s' is now considered the same file as '%s'."
msgstr ".õáå÷ åúåàì äúò íéáùçð `%s' ïäå `%s' ïä íìåàå"
-#: file.c:278
+#: file.c:283
#, fuzzy, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
+msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr ".`%s' øåáò åìà ìò úåôéãò `%s' øåáò úåãå÷ô"
-#: file.c:298
-#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
+#: file.c:303
+#, fuzzy, c-format
+msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr "`%s' íéããåá íééúåãå÷ðî `%s' íéìåôë íééúåãå÷ðì êåôäì ïúéð àì"
-#: file.c:303
-#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
+#: file.c:309
+#, fuzzy, c-format
+msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr "`%s' íéìåôë íééúåãå÷ðî `%s' íéããåá íééúåãå÷ðì êåôäì ïúéð àì"
-#: file.c:392
-#, c-format
-msgid "*** Deleting intermediate file `%s'"
+#: file.c:401
+#, fuzzy, c-format
+msgid "*** Deleting intermediate file '%s'"
msgstr "*** `%s' íééðéá õáå÷ ÷çåî ***"
-#: file.c:396
+#: file.c:405
#, fuzzy
msgid "Removing intermediate files...\n"
msgstr "*** `%s' íééðéá õáå÷ ÷çåî ***"
-#: file.c:803
+#: file.c:811
+msgid "Current time"
+msgstr "úëøòî ïåòù"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "øúåîä íåçúì õåçî äðéäù ,%s ìù ïîæä úîéúç úà %s-á óéìçî"
-#: file.c:804
-msgid "Current time"
-msgstr "úëøòî ïåòù"
-
# See the comment above about translations of text printed under -p.
-#: file.c:924
+#: file.c:955
msgid "# Not a target:"
msgstr "# Not a target:"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Precious file (prerequisite of .PRECIOUS)."
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Phony target (prerequisite of .PHONY)."
-#: file.c:933
+#: file.c:964
#, fuzzy
msgid "# Command line target."
msgstr "# Command-line target."
-#: file.c:935
+#: file.c:966
#, fuzzy
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# A default or MAKEFILES makefile."
-#: file.c:937
+#: file.c:968
+#, fuzzy
+msgid "# Builtin rule"
+msgstr ""
+"\n"
+"# No implicit rules."
+
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Implicit rule search has been done."
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Implicit rule search has not been done."
-#: file.c:940
-#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
+#: file.c:973
+#, fuzzy, c-format
+msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# Implicit/static pattern stem: `%s'\n"
-#: file.c:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# File is an intermediate prerequisite."
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
msgstr "# Also makes:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Modification time never checked."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
msgstr "# File does not exist."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
msgstr "# File is very old."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Last modified %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
msgstr "# File has been updated."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
msgstr "# File has not been updated."
-#: file.c:968
+#: file.c:1001
#, fuzzy
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Commands currently running (THIS IS A BUG)."
-#: file.c:971
+#: file.c:1004
#, fuzzy
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Dependencies commands running (THIS IS A BUG)."
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Successfully updated."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Needs to be updated (-q is set)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Failed to be updated."
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# Invalid value in `update_status' member!"
-
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
+#: file.c:1025
+#, fuzzy
+msgid "# Invalid value in 'command_state' member!"
msgstr "# Invalid value in `command_state' member!"
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -352,124 +362,182 @@ msgstr ""
"\n"
"# Files"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr ""
+
+#: function.c:780
+#, fuzzy
+msgid "non-numeric first argument to 'word' function"
msgstr "øôñî åðéà `word' úééö÷ðåôì ïåùàø èðîåâøà"
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
+#: function.c:785
+#, fuzzy
+msgid "first argument to 'word' function must be greater than 0"
msgstr "éáåéç úåéäì áééç `word' úééö÷ðåôì ïåùàø èðîåâøà"
-#: function.c:783
-msgid "non-numeric first argument to `wordlist' function"
+#: function.c:805
+#, fuzzy
+msgid "non-numeric first argument to 'wordlist' function"
msgstr "øôñî åðéà `wordlist' úééö÷ðåôì ïåùàø èðîåâøà"
-#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
+#: function.c:807
+#, fuzzy
+msgid "non-numeric second argument to 'wordlist' function"
msgstr "øôñî åðéà `wordlist' úééö÷ðåôì éðù èðîåâøà"
-#: function.c:1458
+#: function.c:1499
#, fuzzy, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "create_child_process: DuplicateHandle(In) failed (e=%d)\n"
-#: function.c:1469
+#: function.c:1523
#, fuzzy, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "create_child_process: DuplicateHandle(Err) failed (e=%d)\n"
-#: function.c:1474
+#: function.c:1530
#, fuzzy, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() failed (e=%d)\n"
-#: function.c:1479
+#: function.c:1538
#, fuzzy
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe (): process_init_fd() failed\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "`%s' éðîæ batch õáå÷ ÷ìñî\n"
-#: function.c:2150
+#: function.c:2193
+#, c-format
+msgid "open: %s: %s"
+msgstr ""
+
+#: function.c:2203
+#, c-format
+msgid "write: %s: %s"
+msgstr ""
+
+#: function.c:2209
+#, c-format
+msgid "Invalid file operation: %s"
+msgstr ""
+
+#: function.c:2324
#, fuzzy, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
+msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "÷ôñî åðéàù (%d) íéèðîåâøà øôñî íò äàø÷ð `%s' äéö÷ðåô"
-#: function.c:2162
+#: function.c:2336
#, fuzzy, c-format
-msgid "unimplemented on this platform: function `%s'"
+msgid "unimplemented on this platform: function '%s'"
msgstr "åæ úëøòîá úùîåîî äðéà `%s' äéö÷ðåô"
-#: function.c:2212
-#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
+#: function.c:2399
+#, fuzzy, c-format
+msgid "unterminated call to function '%s': missing '%c'"
msgstr "`%s' äéö÷ðåôì äàéø÷á `%c' øñç"
-#: getopt.c:661
+#: function.c:2591
+msgid "Empty function name"
+msgstr ""
+
+#: function.c:2593
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s úéðëú øåáò éòîùî-ãç åðéà `%s' ïééôàî\n"
+msgid "Invalid function name: %s"
+msgstr ""
-#: getopt.c:685
+#: function.c:2595
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "Function name too long: %s"
+msgstr ""
+
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr "÷ôñî åðéàù (%d) íéèðîåâøà øôñî íò äàø÷ð `%s' äéö÷ðåô"
+
+#: function.c:2601
+#, fuzzy, c-format
+msgid "Invalid maximum argument count (%d) for function %s"
+msgstr "÷ôñî åðéàù (%d) íéèðîåâøà øôñî íò äàø÷ð `%s' äéö÷ðåô"
+
+#: getopt.c:659
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s úéðëú øåáò éòîùî-ãç åðéà `%s' ïééôàî\n"
+
+#: getopt.c:683
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s úéðëú øåáò èðîåâøà ìá÷î åðéà `--%s' ïééôàî\n"
-#: getopt.c:690
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+#: getopt.c:688
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s úéðëú øåáò èðîåâøà ìá÷î åðéà `%c%s' ïééôàî\n"
-#: getopt.c:707 getopt.c:880
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
+#: getopt.c:705 getopt.c:878
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s úéðëú øåáò èðîåâøà áééçî `%s' ïééôàî\n"
-#: getopt.c:736
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+#: getopt.c:734
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s úéðëú øåáò `--%s' ääåæî-éúìá ïééôàî\n"
-#: getopt.c:740
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:738
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s úéðëú øåáò `%c%s' ääåæî-éúìá ïééôàî\n"
-#: getopt.c:766
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: é÷åç-éúìá ïééôàî -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s úéðëú øåáò éåâù ïééôàî -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: èðîåâøà áééçî ïééôàî -- %c\n"
-#: getopt.c:846
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:844
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s úéðëú øåáò éòîùî-ãç åðéà `-W %s' ïééôàî\n"
-#: getopt.c:864
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:862
+#, 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.c:74
+#, c-format
+msgid "guile: Evaluating '%s'\n"
+msgstr ""
+
#: hash.c:49
#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
@@ -490,134 +558,159 @@ msgstr ""
msgid "Collisions=%ld/%ld=%.0f%%"
msgstr ""
-#: implicit.c:40
-#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
+#: implicit.c:38
+#, fuzzy, c-format
+msgid "Looking for an implicit rule for '%s'.\n"
msgstr ".`%s' øåáò ùøåôî-éúìá ììë ùôçî\n"
-#: implicit.c:56
-#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
+#: implicit.c:54
+#, fuzzy, c-format
+msgid "Looking for archive-member implicit rule for '%s'.\n"
msgstr ".`%s' øåáò ïåéëøà éøáàì ùøåôî-éúìá ììë ùôçî\n"
-#: implicit.c:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
msgstr ".úùøåôî-éúìá äéñøå÷øî òðîð\n"
-#: implicit.c:491
+#: implicit.c:486
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
+msgid "Stem too long: '%.*s'.\n"
+msgstr ""
+
+#: implicit.c:491
+#, fuzzy, c-format
+msgid "Trying pattern rule with stem '%.*s'.\n"
msgstr ".`%.*s' ùøåù íò úéðáú ììë äñðî\n"
-#: implicit.c:674
-#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
+#: implicit.c:697
+#, fuzzy, c-format
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
msgstr ".úéøùôà-éúìá äðéäù íåùî `%s' íã÷ úùéøã äçåã\n"
-#: implicit.c:675
-#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
+#: implicit.c:698
+#, fuzzy, c-format
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
msgstr ".úéøùôà-éúìá äðéäù íåùî `%s' úùøåôî-éúìá íã÷ úùéøã äçåã\n"
-#: implicit.c:688
-#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
+#: implicit.c:711
+#, fuzzy, c-format
+msgid "Trying rule prerequisite '%s'.\n"
msgstr ".`%s' íã÷ úùéøã ììë äñðî\n"
-#: implicit.c:689
-#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
+#: implicit.c:712
+#, fuzzy, c-format
+msgid "Trying implicit prerequisite '%s'.\n"
msgstr ".`%s' úùøåôî-éúìá íã÷ úùéøã äñðî\n"
-#: implicit.c:728
-#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
+#: implicit.c:751
+#, fuzzy, c-format
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
msgstr "`%s' íã÷ úùéøãë VPATH `%s' éúàöî\n"
-#: implicit.c:742
-#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
+#: implicit.c:765
+#, fuzzy, c-format
+msgid "Looking for a rule with intermediate file '%s'.\n"
msgstr ".`%s' éðîæ õáå÷ íò ììë ùôçî\n"
-#: job.c:335
+#: job.c:361
#, fuzzy
msgid "Cannot create a temporary file\n"
msgstr "fwrite (temporary file)"
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] 0x%x äì÷úî éúîìòúä ***"
-
-#: job.c:450
-#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] 0x%x äì÷ú ***"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (core õáå÷á íùøð ïåøëæä ïëåú)"
-#: job.c:454
-#, c-format
-msgid "[%s] Error %d (ignored)"
+#: job.c:488
+#, fuzzy
+msgid " (ignored)"
msgstr "[%s] %d äì÷úî éúîìòúä"
-#: job.c:455
+#: job.c:492 job.c:2046
+#, fuzzy
+msgid "<builtin>"
+msgstr " (built-in):"
+
+#: job.c:503
#, c-format
-msgid "*** [%s] Error %d"
+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:460
-msgid " (core dumped)"
-msgstr " (core õáå÷á íùøð ïåøëæä ïëåú)"
+#: job.c:519
+#, fuzzy, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "*** [%s] 0x%x äì÷ú ***"
-#: job.c:549
+#: job.c:529
+#, c-format
+msgid "%s[%s] %s%s%s"
+msgstr ""
+
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** ...åîééúñð íøèù úåãåáòì ïéúîî"
-#: job.c:579
+#: 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:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr "(ú÷çåøî)"
-#: job.c:758
+#: job.c:841
#, fuzzy, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "äìùëðù 0x%08lx PID=%ld %s úá-úéðëú óñåà\n"
-#: job.c:759
+#: job.c:842
#, fuzzy, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "äçéìöäù 0x%08lx PID=%ld %s úá-úéðëú óñåà\n"
-#: job.c:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "`%s' éðîæ batch õáå÷ ÷ìñî\n"
-#: job.c:861
+#: job.c:855
+#, fuzzy, c-format
+msgid "Cleaning up temp batch file %s failed (%d)\n"
+msgstr "`%s' éðîæ batch õáå÷ ÷ìñî\n"
+
+#: job.c:961
#, fuzzy, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr ".úåãåáò úøùøùî 0x%08lx PID=%ld %s úá-úéðëú ÷éçøî\n"
-# Here and elsewhere leading strings passed to perror are not translated,
-# since they will be followed by an error message in English.
-#: job.c:920
-msgid "write jobserver"
-msgstr "write jobserver"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
+msgstr ""
-#: job.c:922
+#: job.c:1024 job.c:1038
#, fuzzy, c-format
msgid "Released token for child %p (%s).\n"
msgstr ".øøçåù 0x%08lx (%s) úá-úéðëú øåáò ïåîéñàä\n"
-#: job.c:1453 job.c:2094
+# 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:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -626,281 +719,349 @@ msgstr ""
"\n"
"ìùëðù øåâéùá åðîð íéèðîåâøà %d\n"
-#: job.c:1525
+#: 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:1778
+#: 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:1787
+#: job.c:2029
msgid "read jobs pipe"
msgstr "read jobs pipe"
-#: job.c:1798
-#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr ""
+#: job.c:2056
+#, fuzzy, c-format
+msgid "%s: target '%s' does not exist"
+msgstr "íéé÷ åðéà `%s' ïåéëøà õáå÷ :touch"
-#: job.c:1802
+#: job.c:2059
#, fuzzy, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "`%s' äøèî ùãçî úåðáì êøåö ïéà"
+msgid "%s: update target '%s' due to: %s"
+msgstr "%säúééðáì íéììë ïéà êà ,`%s' úùøåã `%s'%s äøèî"
-#: job.c:1910
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr "åæ úëøòîá ñîåò úåìáâî úåôëì ïúéð àì"
-#: job.c:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "cannot enforce load limit: "
-#: job.c:1985
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr ""
-#: job.c:1987
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""
-#: job.c:2015
+#: job.c:2278
+msgid "no more file handles: could not duplicate stderr\n"
+msgstr ""
+
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr ""
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr ""
-#: job.c:2127
+#: job.c:2309
+msgid "Could not restore stderr\n"
+msgstr ""
+
+#: 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:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "äàöîð àì åæ äãå÷ô :%s"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "äàöîð àì shell úãå÷ô :%s"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr ""
-#: job.c:2461
+#: job.c:2765
#, fuzzy, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
+msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "(`%s' äéä íãå÷ ,`%s' åéùëò) äðúùä $SHELL ìù åëøò"
-#: job.c:2951
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "`%s' éðîæ batch õáå÷ øöåé\n"
-#: job.c:2963
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-#: job.c:3065
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
"(!unixy && !batch_mode_shell) shell-mode úòéá÷á äì÷ú :%s õáå÷ ìù %d äøåù\n"
-#: main.c:303
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr ""
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr ""
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr ""
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr ""
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr ""
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr ""
+
+#: load.c:244
+#, fuzzy
+msgid "The 'load' operation is not supported on this platform."
+msgstr ".åæ úëøòîá êîúð åðéà (-j) éìéá÷î òåöéá"
+
+#: main.c:313
msgid "Options:\n"
msgstr " :íéðééôàî\n"
-#: main.c:304
+#: main.c:314
#, fuzzy
msgid " -b, -m Ignored for compatibility.\n"
msgstr "úåîéàú ïòîì èîùåî"
-#: main.c:306
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
-#: main.c:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
-#: main.c:311
+#: main.c:321
#, fuzzy
msgid " -d Print lots of debugging information.\n"
msgstr "úåàéâù éåôéð úáåèì òãéî ìù òôù âöä"
-#: main.c:313
+#: main.c:323
#, fuzzy
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr "úåàéâù éåôéð úáåèì òãéî ìù íéðåù íéâåñ âöä"
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
-#: main.c:318
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
-#: main.c:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
-#: main.c:323
+#: main.c:333
#, fuzzy
msgid " -h, --help Print this message and exit.\n"
msgstr "úéðëúäî àöå äæ äøæò êñî âöä"
-#: main.c:325
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr ""
-#: main.c:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
-#: main.c:330
+#: main.c:340
#, fuzzy
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
msgstr "äìáâî ïéà èðîåâøà àìì ;úéðîæ-åá úåãåáò N-î øúåé àì"
-#: main.c:332
+#: main.c:342
#, fuzzy
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr "äéðáì úåðúéð ïðéà úåøèîäî äîë íà åìéôà êùîä"
-#: main.c:334
+#: 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:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
-#: main.c:339
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
"them.\n"
msgstr ""
-#: main.c:342
+#: 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:345
+#: main.c:355
+msgid ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
+msgstr ""
+
+#: main.c:358
#, fuzzy
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr "Make ìù éîéðô íéðåúð ñéñá âöä"
-#: main.c:347
+#: main.c:360
#, fuzzy
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr "úðëãåòî äøèî íàá øîåà äàéöé ãå÷ ;úåãå÷ô õéøú ìà"
-#: main.c:349
+#: main.c:362
#, fuzzy
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr "íéùøåôî-éúìá íéðáåî íéììë ìøèð"
-#: main.c:351
+#: main.c:364
#, fuzzy
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr "íéðúùî ìù úåðáåî úåøãâä ìøèð"
-#: main.c:353
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr ""
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr ""
-#: main.c:358
+#: main.c:371
#, fuzzy
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr "ïúåðáì íå÷îá úåøèî ìù ïîæ úîéúç ïëãò"
-#: main.c:360
+#: main.c:373
+msgid " --trace Print tracing information.\n"
+msgstr ""
+
+#: main.c:375
#, fuzzy
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr "úéðëúäî àöå Make ìù àñøéâ øôñî âöä"
-#: main.c:362
+#: main.c:377
#, fuzzy
msgid " -w, --print-directory Print the current directory.\n"
msgstr "úéçëåð äé÷éú íù âöä"
-#: main.c:364
+#: main.c:379
#, fuzzy
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr "ùøåôîá ïéåö àåä íà åìéôà -w ìèá"
-#: main.c:366
+#: 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:369
+#: main.c:384
#, fuzzy
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr "øãâåä àìù äðúùîì äééðôä äø÷îá äøäæà âöä"
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "õáå÷ íùë úìá÷úî äðéà ä÷éø úæåøçî"
-#: main.c:650
-#, c-format
-msgid "unknown debug level specification `%s'"
+#: main.c:737
+#, fuzzy, c-format
+msgid "unknown debug level specification '%s'"
msgstr "úåàéâù éåôéðì òãéî ìù `%s' øëåî-éúìá ïééôàî"
-#: main.c:690
+#: main.c:774
+#, c-format
+msgid "unknown output-sync type '%s'"
+msgstr ""
+
+#: 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:697
+#: main.c:835
#, fuzzy, c-format
msgid ""
"\n"
@@ -915,202 +1076,220 @@ msgstr ""
"ExceptionFlags = %x\n"
"ExceptionAddress = %x\n"
-#: main.c:705
+#: main.c:843
#, fuzzy, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "%x úáåúëì äáéúë :ïåøëæì äùéâ úì÷ú\n"
-#: main.c:706
+#: main.c:844
#, fuzzy, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "%x úáåúëî äàéø÷ :ïåøëæì äùéâ úì÷ú\n"
-#: main.c:781 main.c:792
+#: 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:834
+#: 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:1273
+#: 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:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr " äîééúñð\n"
-#: main.c:1501
+#: 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 "--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 "jobserver ïôåà ìèáî ;-jN áééçî Make-úú :äøäæà"
+
+#: 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:1539 vmsjobs.c:500
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (temporary file)"
-#: main.c:1545
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (temporary file)"
-#: main.c:1703
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr ".åæ úëøòîá êîúð åðéà (-j) éìéá÷î òåöéá"
-#: main.c:1704
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr ".(-j1) éúøãñ ïôåàá åòöåáé úåãå÷ô"
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "íéáåøî --jobserver-fds éðééôàî :úéîéðô äðëú úì÷ú"
-
-#: main.c:1727
-#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
-msgstr "--jobserver-fds ïééôàîá `%s' äéåâù úæåøçî :úéîéðô äðëú úì÷ú"
-
-#: main.c:1730
+#: main.c:1994
#, c-format
-msgid "Jobserver client (fds %d,%d)\n"
+msgid "Jobserver slots limited to %d\n"
msgstr ""
-#: main.c:1740
-msgid "warning: -jN forced in submake: disabling jobserver mode."
-msgstr "jobserver ïôåà ìèáî ;-jN áééçî Make-úú :äøäæà"
-
-#: main.c:1750
-msgid "dup jobserver"
-msgstr "dup jobserver"
-
-#: main.c:1753
-msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
+#: main.c:2002
+#, c-format
+msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr ""
-".Make ìù áàä ììëì `+' óñåä .-j1-á ùåîéù äùòéé ;ïéîæ åðéà jobserver :äøäæà"
-#: main.c:1777
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "creating jobs pipe"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "init jobserver pipe"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr ""
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "...makefile éöá÷ ïëãòî\n"
-#: main.c:1917
-#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
+#: main.c:2158
+#, fuzzy, c-format
+msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr ".ùãçî åøöééìî òðîð ;úéôåñðéà äàìåì øåöéì ìåìò `%s' Makefile\n"
-#: main.c:1996
-#, c-format
-msgid "Failed to remake makefile `%s'."
+#: main.c:2237
+#, fuzzy, c-format
+msgid "Failed to remake makefile '%s'."
msgstr ".`%s' makefile ìù ùãçî-äøéöéá äì÷ú"
-#: main.c:2013
-#, c-format
-msgid "Included makefile `%s' was not found."
+#: main.c:2257
+#, fuzzy, c-format
+msgid "Included makefile '%s' was not found."
msgstr ".àöîð àì `%s' ììëåî makefile"
-#: main.c:2018
-#, c-format
-msgid "Makefile `%s' was not found"
+#: main.c:2262
+#, fuzzy, c-format
+msgid "Makefile '%s' was not found"
msgstr "àöîð àì `%s' Makefile"
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr ".úéøå÷îä äé÷éúì øåæçì ïúéð àì"
-#: main.c:2102
+#: main.c:2343
#, fuzzy, c-format
msgid "Re-executing[%u]:"
msgstr "Re-executing:"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (temporary file): "
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ""
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "makefile éöá÷ åàöîð àìå úåøèî ïåéö ïéà"
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
msgstr "úåøèî ïéà"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "...ãòé úåøèî ïëãòî\n"
-#: main.c:2306
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ".äîìù àì úåéäì äìåìò äéðáä .ïåòù úùéìâ äúìâúð :úåøéäæ"
-#: main.c:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "%s [íéðééôàî] [äøèî] ... :ùåîéù ïôåà\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
"This program built for %s\n"
msgstr ""
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
"This program built for %s (%s)\n"
msgstr ""
-#: main.c:2481
+#: main.c:2721
#, fuzzy, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr ""
"\n"
".<bug-make@gnu.org>-ì äì÷ú éçååéã çåìùì àð\n"
-#: main.c:2562
+#: main.c:2807
#, fuzzy, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
+msgid "the '%s%s' option requires a non-empty string argument"
msgstr "éáåéçå íìù èðîåâøà áééçî `-%c' ïééôàî"
-#: main.c:2617
-#, c-format
-msgid "the `-%c' option requires a positive integral argument"
+#: main.c:2871
+#, fuzzy, c-format
+msgid "the '-%c' option requires a positive integer argument"
msgstr "éáåéçå íìù èðîåâøà áééçî `-%c' ïééôàî"
-#: main.c:3054
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
msgstr ""
-#: main.c:3056
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr ""
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1119,7 +1298,7 @@ msgid ""
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1128,7 +1307,7 @@ msgstr ""
"\n"
"# Make data base, printed on %s"
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1137,452 +1316,464 @@ msgstr ""
"\n"
"# Finished Make data base on %s\n"
-#: main.c:3237
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "Unknown error %d"
+
+#: misc.c:522
+#, fuzzy, c-format
+msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+msgstr "%s access: user %lu (real %lu), group %lu (real %lu)\n"
+
+#: misc.c:543
+#, fuzzy
+msgid "Initialized access"
+msgstr "Initialized"
+
+#: misc.c:622
+msgid "User access"
+msgstr ""
+
+#: misc.c:670
+msgid "Make access"
+msgstr ""
+
+#: misc.c:704
+msgid "Child access"
+msgstr ""
+
+#: output.c:104
#, fuzzy, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "an unknown directory"
-#: main.c:3239
+#: output.c:106
#, fuzzy, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "an unknown directory"
-#: main.c:3242
+#: output.c:109
#, fuzzy, c-format
-msgid "%s: Entering directory `%s'\n"
+msgid "%s: Entering directory '%s'\n"
msgstr "directory `%s'\n"
-#: main.c:3245
+#: output.c:111
#, fuzzy, c-format
-msgid "%s: Leaving directory `%s'\n"
+msgid "%s: Leaving directory '%s'\n"
msgstr "directory `%s'\n"
-#: main.c:3250
+#: output.c:115
#, fuzzy, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "an unknown directory"
-#: main.c:3253
+#: output.c:117
#, fuzzy, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "an unknown directory"
-#: main.c:3257
-#, fuzzy, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
-msgstr "directory `%s'\n"
+#: output.c:120
+#, c-format
+msgid "%s[%u]: Entering directory '%s'\n"
+msgstr ""
-#: main.c:3260
+#: output.c:122
#, fuzzy, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
+msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "directory `%s'\n"
-#: misc.c:316
+#: output.c:495 output.c:497
+msgid "write error: stdout"
+msgstr ""
+
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Stop.\n"
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "Unknown error %d"
-
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr ""
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr ""
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "éìàåèøéåä ïåøëæä øîâð"
-
-#: misc.c:708
-#, fuzzy, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s access: user %lu (real %lu), group %lu (real %lu)\n"
-
-#: misc.c:729
-#, fuzzy
-msgid "Initialized access"
-msgstr "Initialized"
-
-#: misc.c:808
-msgid "User access"
-msgstr ""
-
-#: misc.c:856
-msgid "Make access"
-msgstr ""
-
-#: misc.c:890
-msgid "Child access"
-msgstr ""
-
-#: misc.c:954
-#, fuzzy, c-format
-msgid "write error: %s"
-msgstr "%s-ì úåàéâù úééðôä\n"
-
-# Here and elsewhere leading strings passed to perror are not translated,
-# since they will be followed by an error message in English.
-#: misc.c:956
-#, fuzzy
-msgid "write error"
-msgstr "write jobserver"
-
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
msgstr "...makefile éöá÷ àøå÷\n"
-#: read.c:333
-#, c-format
-msgid "Reading makefile `%s'"
+#: read.c:335
+#, fuzzy, c-format
+msgid "Reading makefile '%s'"
msgstr "Reading makefile `%s'"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (no default goal)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (search path)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (don't care)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (no ~ expansion)"
-#: read.c:759
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr ""
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr ""
+
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "éàðú ìù éåâù øéáçú"
-#: read.c:891
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr ""
+
+#: read.c:992
#, fuzzy
msgid "recipe commences before first target"
msgstr "äðåùàø äøèî éðôì úåìéçúî úåãå÷ô"
-#: read.c:940
+#: read.c:1041
#, fuzzy
msgid "missing rule before recipe"
msgstr "ïäéðôì ììë àìì úåãå÷ô"
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "%sãéøôî øñç"
-
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr "(?íéçååø 8 íå÷îá TAB-ì úðååëúä íàä) "
-#: read.c:1163
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "%sãéøôî øñç"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "äøèî úéðáú ïéà"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
msgstr "úåáåøî äøèî úåéðáú"
-#: read.c:1169
-#, c-format
-msgid "target pattern contains no `%%'"
+#: read.c:1276
+#, fuzzy, c-format
+msgid "target pattern contains no '%%'"
msgstr "`%%' àìì äøèî úéðáú"
-#: read.c:1293
-msgid "missing `endif'"
+#: read.c:1398
+#, fuzzy
+msgid "missing 'endif'"
msgstr "øñç `endif'"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "÷éø äðúùî íù"
-#: read.c:1367
+#: read.c:1471
#, fuzzy
-msgid "extraneous text after `define' directive"
+msgid "extraneous text after 'define' directive"
msgstr "`endef' úàøåä éøçà øúåéî èñ÷è"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
+#: read.c:1496
+#, fuzzy
+msgid "missing 'endef', unterminated 'define'"
msgstr "íåéñ àìì `define' úàøåä ,øñç `endef'"
-#: read.c:1420
+#: read.c:1524
#, fuzzy
-msgid "extraneous text after `endef' directive"
+msgid "extraneous text after 'endef' directive"
msgstr "`endef' úàøåä éøçà øúåéî èñ÷è"
-#: read.c:1490
-#, c-format
-msgid "Extraneous text after `%s' directive"
+#: read.c:1595
+#, fuzzy, c-format
+msgid "extraneous text after '%s' directive"
msgstr "`%s' úàøåä éøçà øúåéî èñ÷è"
-#: read.c:1499 read.c:1513
-#, c-format
-msgid "extraneous `%s'"
+#: read.c:1596
+#, fuzzy, c-format
+msgid "extraneous '%s'"
msgstr "øúåéî `%s'"
-#: read.c:1518
-msgid "only one `else' per conditional"
+#: read.c:1624
+#, fuzzy
+msgid "only one 'else' per conditional"
msgstr "éàðú ìëì ãéçé `else' ÷ø øúåî"
-#: read.c:1797
+#: read.c:1899
#, fuzzy
msgid "Malformed target-specific variable definition"
msgstr "äøèîì éôéöôñ äðúùî ìù äéåâù äøãâä"
-#: read.c:1855
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr ""
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "íéùøåôî-éúìáå íééèèñ úéðáú éììë ìù áåáøò"
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "íéùøåôî-éúìáå íéìéâø íéììë ìù áåáøò"
-#: read.c:1976
-#, c-format
-msgid "target `%s' doesn't match the target pattern"
+#: read.c:2091
+#, fuzzy, c-format
+msgid "target '%s' doesn't match the target pattern"
msgstr "ãòéä úéðáú úà úîàåú äðéà `%s' äøèî"
-#: read.c:1991 read.c:2036
-#, c-format
-msgid "target file `%s' has both : and :: entries"
+#: read.c:2106 read.c:2152
+#, fuzzy, c-format
+msgid "target file '%s' has both : and :: entries"
msgstr ":: ïäå : âåñî ïä íéììë ùé `%s' äøèî õáå÷ì"
-#: read.c:1997
-#, c-format
-msgid "target `%s' given more than once in the same rule."
+#: read.c:2112
+#, fuzzy, c-format
+msgid "target '%s' given more than once in the same rule"
msgstr ".ììë åúåàá úçà íòôî øúåé äòéôåî `%s' äøèî"
-#: read.c:2006
+#: read.c:2122
#, fuzzy, c-format
-msgid "warning: overriding recipe for target `%s'"
+msgid "warning: overriding recipe for target '%s'"
msgstr "`%s' äøèî øåáò úåãå÷ô ñøåã :úåøéäæ"
-#: read.c:2009
+#: read.c:2125
#, fuzzy, c-format
-msgid "warning: ignoring old recipe for target `%s'"
+msgid "warning: ignoring old recipe for target '%s'"
msgstr "`%s' äøèî øåáò úåîãå÷ úåãå÷ôî íìòúî :úåøéäæ"
-#: read.c:2392
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "íéùøåôî-éúìáå íéìéâø íéììë ìù áåáøò"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "äçðæð äøåùä úøúé ;NUL åú éúùâô :äøäæà"
-#: remake.c:234
-#, c-format
-msgid "Nothing to be done for `%s'."
+#: remake.c:230
+#, fuzzy, c-format
+msgid "Nothing to be done for '%s'."
msgstr ".`%s øåáò úåùòì äî ïéà"
-#: remake.c:235
-#, c-format
-msgid "`%s' is up to date."
+#: remake.c:231
+#, fuzzy, c-format
+msgid "'%s' is up to date."
msgstr ".éðëãò øáë `%s'"
-#: remake.c:306
-#, c-format
-msgid "Pruning file `%s'.\n"
+#: remake.c:303
+#, fuzzy, c-format
+msgid "Pruning file '%s'.\n"
msgstr ".`%s' øåáò úåéåìú óøâ õö÷î\n"
-#: remake.c:359
-#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%s`%s'%s äøèî úééðáì íéììë ïéà"
-
-#: remake.c:361
-#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
+#: 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 äøèî"
-#: remake.c:413
-#, c-format
-msgid "Considering target file `%s'.\n"
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%s`%s'%s äøèî úééðáì íéììë ïéà"
+
+#: remake.c:426
+#, fuzzy, c-format
+msgid "Considering target file '%s'.\n"
msgstr ".`%s' äøèî õáå÷ ïçåá\n"
-#: remake.c:420
-#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
+#: remake.c:433
+#, fuzzy, c-format
+msgid "Recently tried and failed to update file '%s'.\n"
msgstr ".`%s' õáå÷ ïåëãòá éúìùëðå éúéñéð ïîæî àì\n"
-#: remake.c:432
-#, c-format
-msgid "File `%s' was considered already.\n"
+#: remake.c:445
+#, fuzzy, c-format
+msgid "File '%s' was considered already.\n"
msgstr ".ïë-éðôì ïçáð øáë `%s' õáå÷\n"
-#: remake.c:442
-#, c-format
-msgid "Still updating file `%s'.\n"
+#: remake.c:455
+#, fuzzy, c-format
+msgid "Still updating file '%s'.\n"
msgstr ".`%s' õáå÷ ïëãòî ïééãò\n"
-#: remake.c:445
-#, c-format
-msgid "Finished updating file `%s'.\n"
+#: remake.c:458
+#, fuzzy, c-format
+msgid "Finished updating file '%s'.\n"
msgstr ".`%s' õáå÷ ïëãòì éúîééñ\n"
-#: remake.c:474
-#, c-format
-msgid "File `%s' does not exist.\n"
+#: remake.c:487
+#, fuzzy, c-format
+msgid "File '%s' does not exist.\n"
msgstr ".íéé÷ åðéà `%s' õáå÷\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-#: remake.c:494 remake.c:1016
-#, c-format
-msgid "Found an implicit rule for `%s'.\n"
+#: remake.c:508 remake.c:1040
+#, fuzzy, c-format
+msgid "Found an implicit rule for '%s'.\n"
msgstr ".`%s' øåáò ùøåôî-éúìá ììë éúàöî\n"
-#: remake.c:496 remake.c:1018
-#, c-format
-msgid "No implicit rule found for `%s'.\n"
+#: remake.c:510 remake.c:1042
+#, fuzzy, c-format
+msgid "No implicit rule found for '%s'.\n"
msgstr ".`%s' øåáò íéùøåôî-éúìá íéììë åàöîð àì\n"
-#: remake.c:502
+#: remake.c:516
#, fuzzy, c-format
-msgid "Using default recipe for `%s'.\n"
+msgid "Using default recipe for '%s'.\n"
msgstr ".`%s' øåáò ìãçî úøéøá úåãå÷ôá ùîúùî\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr ".%s <- %s úéìâòî ìåìú èéîùî"
-#: remake.c:651
-#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
+#: remake.c:675
+#, fuzzy, c-format
+msgid "Finished prerequisites of target file '%s'.\n"
msgstr ".`%s' äøèî õáå÷ ìù íã÷-úåùéøã íò éúîééñ\n"
-#: remake.c:657
-#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
+#: remake.c:681
+#, fuzzy, c-format
+msgid "The prerequisites of '%s' are being made.\n"
msgstr ".äéðáá `%s' ìù íã÷ä úåùéøã\n"
-#: remake.c:670
-#, c-format
-msgid "Giving up on target file `%s'.\n"
+#: remake.c:695
+#, fuzzy, c-format
+msgid "Giving up on target file '%s'.\n"
msgstr ".`%s' äøèî õáå÷ éáâì íééãé éúîøä\n"
-#: remake.c:675
-#, c-format
-msgid "Target `%s' not remade because of errors."
+#: remake.c:700
+#, fuzzy, c-format
+msgid "Target '%s' not remade because of errors."
msgstr ".úåàéâù á÷ò ùãçî äúðáð àì `%s' äøèî"
-#: remake.c:727
+#: remake.c:752
#, fuzzy, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr ".`%s' íã÷ä úùéøãî äùãç `%s' äøèî\n"
-#: remake.c:732
-#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
+#: remake.c:757
+#, fuzzy, c-format
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr ".íéé÷ åðéàù `%s' éàðúë úùøåã `%s' äøèî\n"
-#: remake.c:737
-#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
+#: remake.c:762
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr ".`%s' íã÷ä úùéøãî äðùé `%s' äøèî\n"
-#: remake.c:740
-#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
+#: remake.c:765
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr ".`%s' íã÷ä úùéøãî äùãç `%s' äøèî\n"
-#: remake.c:758
-#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
+#: remake.c:783
+#, fuzzy, c-format
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr ".íã÷ úåùéøã àììå íéìåôë íééúåãå÷ð íò äðéä `%s' äøèî\n"
-#: remake.c:765
+#: remake.c:790
#, fuzzy, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr ".äùòîì äúðúùä àì íã÷ úùéøã óàå `%s' øåáò úåãå÷ô ïéà\n"
-#: remake.c:770
+#: remake.c:795
#, c-format
-msgid "Making `%s' due to always-make flag.\n"
+msgid "Making '%s' due to always-make flag.\n"
msgstr ""
-#: remake.c:778
-#, c-format
-msgid "No need to remake target `%s'"
+#: remake.c:803
+#, fuzzy, c-format
+msgid "No need to remake target '%s'"
msgstr "`%s' äøèî ùãçî úåðáì êøåö ïéà"
-#: remake.c:780
-#, c-format
-msgid "; using VPATH name `%s'"
+#: remake.c:805
+#, fuzzy, c-format
+msgid "; using VPATH name '%s'"
msgstr " (`%s' :VPATH õáå÷ íù)"
-#: remake.c:800
-#, c-format
-msgid "Must remake target `%s'.\n"
+#: remake.c:825
+#, fuzzy, c-format
+msgid "Must remake target '%s'.\n"
msgstr ".`%s' äøèî ùãçî úåðáì áééç\n"
-#: remake.c:806
-#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
+#: remake.c:831
+#, fuzzy, c-format
+msgid " Ignoring VPATH name '%s'.\n"
msgstr " .`%s' VPATH íùî íìòúî\n"
-#: remake.c:815
+#: remake.c:840
#, fuzzy, c-format
-msgid "Recipe of `%s' is being run.\n"
+msgid "Recipe of '%s' is being run.\n"
msgstr ".`%s' øåáò úåãå÷ô õéøî\n"
-#: remake.c:822
-#, c-format
-msgid "Failed to remake target file `%s'.\n"
+#: remake.c:847
+#, fuzzy, c-format
+msgid "Failed to remake target file '%s'.\n"
msgstr ".ùãçî `%s' úåðáì ïåéñð ìùëð\n"
-#: remake.c:825
-#, c-format
-msgid "Successfully remade target file `%s'.\n"
+#: remake.c:850
+#, fuzzy, c-format
+msgid "Successfully remade target file '%s'.\n"
msgstr ".`%s' ùãçî úééðáá äçìöä\n"
-#: remake.c:828
-#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
+#: remake.c:853
+#, fuzzy, c-format
+msgid "Target file '%s' needs to be remade under -q.\n"
msgstr ".-q íò úåðáéäì êéøö `%s' äøèî õáå÷\n"
-#: remake.c:1024
-#, c-format
-msgid "Using default commands for `%s'.\n"
+#: remake.c:1048
+#, fuzzy, c-format
+msgid "Using default commands for '%s'.\n"
msgstr ".`%s' øåáò ìãçî úøéøá úåãå÷ôá ùîúùî\n"
-#: remake.c:1357
+#: remake.c:1397
#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time in the future"
+msgid "Warning: File '%s' has modification time in the future"
msgstr "*** `%s' õáå÷ øåáò (%s > %s) ãéúòá åðéä ïåøçà éåðéù ïîæ :äøäæà ***"
-#: remake.c:1370
+#: remake.c:1411
#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
+msgid "Warning: File '%s' has modification time %s s in the future"
msgstr "*** `%s' õáå÷ øåáò (%s > %s) ãéúòá åðéä ïåøçà éåðéù ïîæ :äøäæà ***"
-#: remake.c:1569
-#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
+#: remake.c:1610
+#, fuzzy, c-format
+msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr "úéðáú åðéà .LIBPATTERNS ìù `%s' èðîìà"
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
msgstr "%s àöééî åðéà Customs\n"
-#: rule.c:499
+#: rule.c:495
#, fuzzy
msgid ""
"\n"
@@ -1591,7 +1782,7 @@ msgstr ""
"\n"
"# No implicit rules."
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1599,7 +1790,7 @@ msgstr ""
"\n"
"# No implicit rules."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1608,241 +1799,258 @@ msgstr ""
"\n"
"# %u implicit rules, %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
msgstr " terminal."
-#: rule.c:534
+#: rule.c:530
#, fuzzy, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "BUG: num_pattern_rules wrong! %u != %u"
# It's no use to try to translate the signal names.
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
msgstr "unknown signal"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
msgstr "Hangup"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
msgstr "Interrupt"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
msgstr "Quit"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
msgstr "Illegal Instruction"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
msgstr "Trace/breakpoint trap"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr "Aborted"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
msgstr "IOT trap"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
msgstr "EMT trap"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
msgstr "Floating point exception"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
msgstr "Killed"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
msgstr "Bus error"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
msgstr "Segmentation fault"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
msgstr "Bad system call"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
msgstr "Broken pipe"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr "Alarm clock"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
msgstr "Terminated"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
msgstr "User defined signal 1"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
msgstr "User defined signal 2"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
msgstr "Child exited"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
msgstr "Power failure"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr "Stopped"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
msgstr "Stopped (tty input)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
msgstr "Stopped (tty output)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
msgstr "Stopped (signal)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
msgstr "CPU time limit exceeded"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
msgstr "File size limit exceeded"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
msgstr "Virtual timer expired"
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
msgstr "Profiling timer expired"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
msgstr "Window changed"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
msgstr "Continued"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
msgstr "Urgent I/O condition"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
msgstr "I/O possible"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr "Resource lost"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
msgstr "Danger signal"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
msgstr "Information request"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
msgstr "Floating point co-processor not available"
-#: strcache.c:235
+#: strcache.c:236
+#, c-format
+msgid ""
+"\n"
+"%s No strcache buffers\n"
+msgstr ""
+
+#: strcache.c:266
#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
msgstr ""
-#: strcache.c:237
+#: strcache.c:270
#, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
-#: strcache.c:239
+#: strcache.c:280
#, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
msgstr ""
-#: strcache.c:241
+#: strcache.c:283
#, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid ""
+"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
msgstr ""
-#: strcache.c:244
+#: strcache.c:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
+msgstr ""
+
+#: strcache.c:289
+msgid ""
+"# hash-table stats:\n"
"# "
msgstr ""
+#: variable.c:1599
+msgid "automatic"
+msgstr "automatic"
+
# These are printed under -p, so they are left in English.
-#: variable.c:1541
+#: variable.c:1602
msgid "default"
msgstr "default"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
msgstr "environment"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
msgstr "environment under -e"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
msgstr "command line"
-#: variable.c:1556
-msgid "`override' directive"
+#: variable.c:1617
+#, fuzzy
+msgid "'override' directive"
msgstr "`override' directive"
-#: variable.c:1559
-msgid "automatic"
-msgstr "automatic"
-
-#: variable.c:1570
+#: variable.c:1628
#, fuzzy, c-format
-msgid " (from `%s', line %lu)"
+msgid " (from '%s', line %lu)"
msgstr " (from `%s', line %lu):\n"
-#: variable.c:1612
+#: variable.c:1691
#, fuzzy
msgid "# variable set hash-table stats:\n"
msgstr "# %u variables in %u hash buckets.\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -1850,7 +2058,7 @@ msgstr ""
"\n"
"# Variables\n"
-#: variable.c:1627
+#: variable.c:1706
#, fuzzy
msgid ""
"\n"
@@ -1859,7 +2067,7 @@ msgstr ""
"\n"
"# Pattern-specific variable values"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -1867,7 +2075,7 @@ msgstr ""
"\n"
"# No pattern-specific variable values."
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -1876,92 +2084,97 @@ msgstr ""
"\n"
"# %u pattern-specific variable values"
-#: variable.h:219
-#, c-format
-msgid "warning: undefined variable `%.*s'"
+#: variable.h:224
+#, fuzzy, c-format
+msgid "warning: undefined variable '%.*s'"
msgstr "`%.*s' øãâåî-éúìá äðúùî :úåøéäæ"
-#: vmsfunctions.c:92
+#: vmsfunctions.c:91
#, fuzzy, c-format
msgid "sys$search() failed with %d\n"
msgstr "%d íò ìùëð sys$search\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "ä÷éø äééðôä :úåøéäæ\n"
-#: vmsjobs.c:184
-#, c-format
-msgid "internal error: `%s' command_state"
+#: vmsjobs.c:183
+#, fuzzy, c-format
+msgid "internal error: '%s' command_state"
msgstr "command_state `%s' :úéîéðô äðëú úì÷ú"
-#: vmsjobs.c:289
+#: 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:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "BUILTIN [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "BUILTIN RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "úøëåî äðéà '%s'úéðáåî äãå÷ô\n"
-#: vmsjobs.c:493
+#: 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:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "%s-î èì÷ úééðôä\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "%s-ì úåàéâù úééðôä\n"
-#: vmsjobs.c:523
+#: vmsjobs.c:690
#, fuzzy, c-format
msgid "Append output to %s\n"
msgstr "%s-ì èìô úééðôä\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "%s-ì èìô úééðôä\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr ""
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "%s õéøî úàæ íå÷îá\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "%d :úá-úéðëú úìòôäá äì÷ú\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
@@ -1969,37 +2182,43 @@ msgstr ""
"\n"
"# VPATH Search Paths\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
+#: vpath.c:600
+#, fuzzy
+msgid "# No 'vpath' search paths."
msgstr "# No `vpath' search paths."
-#: vpath.c:605
-#, c-format
+#: vpath.c:602
+#, fuzzy, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
"# %u `vpath' search paths.\n"
-#: vpath.c:608
+#: vpath.c:605
+#, fuzzy
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
"# No general (`VPATH' variable) search path."
-#: vpath.c:614
+#: vpath.c:611
+#, fuzzy
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
"# General (`VPATH' variable) search path:\n"
"# "
+#~ msgid "# Invalid value in `update_status' member!"
+#~ msgstr "# Invalid value in `update_status' member!"
+
#~ msgid ""
#~ "\n"
#~ "# No files."
@@ -2017,6 +2236,9 @@ msgstr ""
#~ msgid "# average %.3f files per bucket, max %u files in one bucket.\n"
#~ msgstr "# average %.3f files per bucket, max %u files in one bucket.\n"
+#~ msgid "*** [%s] Error 0x%x (ignored)"
+#~ msgstr "*** [%s] 0x%x äì÷úî éúîìòúä ***"
+
#~ msgid "Syntax error, still inside '\"'\n"
#~ msgstr "'\"' êåúá ïééãò ,øéáçú úàéâù\n"
@@ -2026,6 +2248,9 @@ msgstr ""
#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
#~ msgstr ".úåìéòô úá-úåéðëú øéàùäì ìåìò CTRL-Y :úåøéäæ\n"
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "BUILTIN RM %s\n"
+
#~ msgid "DIRECTORY"
#~ msgstr "DIRECTORY"
@@ -2077,6 +2302,9 @@ msgstr ""
#~ msgid "Resetting make for single job mode."
#~ msgstr ".éúøãñ ïôåàá åòöåáé úåãå÷ô"
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "íéáåøî --jobserver-fds éðééôàî :úéîéðô äðëú úì÷ú"
+
#~ msgid ""
#~ ", by Richard Stallman and Roland McGrath.\n"
#~ "%sBuilt for %s\n"
@@ -2106,6 +2334,9 @@ msgstr ""
#~ msgid "Leaving"
#~ msgstr "Leaving"
+#~ msgid "virtual memory exhausted"
+#~ msgstr "éìàåèøéåä ïåøëæä øîâð"
+
#~ msgid "extraneous `endef'"
#~ msgstr "øúåéî `endef'"
diff --git a/po/hr.gmo b/po/hr.gmo
index a3d33078..63409167 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index 58068818..36db5984 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -1,121 +1,130 @@
-# Translation of GNU make.
+# Translation of make to Croatian.
# Copyright (C) 2002 Free Software Foundation, Inc.
+# This file is distributed under the same license as the make package.
# Hrvoje Niksic <hniksic@xemacs.org>, 2002.
+# Tomislav Krznar <tomislav.krznar@gmail.com>, 2012.
#
msgid ""
msgstr ""
-"Project-Id-Version: make 3.80\n"
+"Project-Id-Version: make 3.82\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-0400\n"
-"PO-Revision-Date: 2003-10-12 18:01+0200\n"
-"Last-Translator: Hrvoje Niksic <hniksic@xemacs.org>\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 <tomislav.krznar@gmail.com>\n"
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
+"Language: hr\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"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"
-#: ar.c:48
-#, c-format
-msgid "attempt to use unsupported feature: `%s'"
-msgstr "poku¹aj kori¹tenja nepodr¾ane moguænosti: `%s'"
+#: ar.c:46
+#, fuzzy, c-format
+msgid "attempt to use unsupported feature: '%s'"
+msgstr "pokuÅ¡aj koriÅ¡tenja nepodržane mogućnosti: „%sâ€"
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
-msgstr "touch dijela arhive nije rapolo¾iv na VMS-u"
-
-#: ar.c:149
-#, c-format
-msgid "touch: Archive `%s' does not exist"
-msgstr "touch: Arhiva `%s' ne postoji"
-
-#: ar.c:152
-#, c-format
-msgid "touch: `%s' is not a valid archive"
-msgstr "touch: `%s' nije valjana arhiva"
+msgstr "touch elementa arhive nije dostupan na VMS-u"
-#: ar.c:159
-#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
-msgstr "touch: èlan `%s' ne postoji u `%s'"
+#: ar.c:147
+#, fuzzy, c-format
+msgid "touch: Archive '%s' does not exist"
+msgstr "touch: Arhiva „%s†ne postoji"
-#: ar.c:166
-#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
-msgstr "touch: Neispravan povratni kod iz ar_member_touch na `%s'"
+#: ar.c:150
+#, fuzzy, c-format
+msgid "touch: '%s' is not a valid archive"
+msgstr "touch: „%s†nije ispravna arhiva"
-#: arscan.c:69
+#: ar.c:157
#, fuzzy, c-format
-msgid "lbr$set_module() failed to extract module info, status = %d"
-msgstr "lbr$set_module nije izdvojio informacije o modulu, status = %d"
+msgid "touch: Member '%s' does not exist in '%s'"
+msgstr "touch: Element „%s†ne postoji u „%sâ€"
-#: arscan.c:175
+#: ar.c:164
#, fuzzy, c-format
-msgid "lbr$ini_control() failed with status = %d"
-msgstr "lbr$ini_control nije uspio sa statusom = %d"
+msgid "touch: Bad return code from ar_member_touch on '%s'"
+msgstr "touch: Neispravan povratni kod iz ar_member_touch na „%sâ€"
-#: arscan.c:187
+#: arscan.c:124
#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
-msgstr "ne mogu otvoriti biblioteku `%s' da naðem èlan `%s'"
+msgid "lbr$set_module() failed to extract module info, status = %d"
+msgstr "lbr$set_module() nije izdvojio informacije o modulu, status = %d"
-#: arscan.c:850
+#: arscan.c:230
#, c-format
-msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
-msgstr "èlan `%s'%s: %ld bajtova na %ld (%ld).\n"
+msgid "lbr$ini_control() failed with status = %d"
+msgstr "lbr$ini_control() nije uspio sa stanjem = %d"
-#: arscan.c:851
+#: arscan.c:255
+#, fuzzy, c-format
+msgid "unable to open library '%s' to lookup member status %d"
+msgstr "ne mogu otvoriti biblioteku „%s†za traženje elementa „%sâ€"
+
+#: arscan.c:944
+#, fuzzy, c-format
+msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
+msgstr "Älan „%sâ€%s: %ld bajtova na %ld (%ld).\n"
+
+#: arscan.c:945
msgid " (name might be truncated)"
-msgstr " (ime je mo¾da odrezano)"
+msgstr " (ime je možda odsjeÄeno)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Datum %s"
-#: arscan.c:854
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
-msgstr " uid = %d, gid = %d, mode = 0%o.\n"
+msgstr " uid = %d, gid = %d, mod = 0%o.\n"
-#: commands.c:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr ""
+
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Prekid.\n"
-#: commands.c:622
-#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
-msgstr "*** [%s] Èlan arhive '%s' mogao bi biti bezvezan; nije obrisan"
+#: commands.c:629
+#, fuzzy, c-format
+msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
+msgstr "*** [%s] Element arhive „%s†je možda lažan; nije izbrisan"
-#: commands.c:625
-#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
-msgstr "*** Èlan arhive '%s' mogao bi biti bezvezan; nije obrisan"
+#: commands.c:633
+#, fuzzy, c-format
+msgid "*** Archive member '%s' may be bogus; not deleted"
+msgstr "*** Element arhive „%s†je možda lažan; nije izbrisan"
-#: commands.c:638
-#, c-format
-msgid "*** [%s] Deleting file `%s'"
-msgstr "*** [%s] Bri¹em spis `%s'"
+#: commands.c:647
+#, fuzzy, c-format
+msgid "*** [%s] Deleting file '%s'"
+msgstr "*** [%s] BriÅ¡em datoteku „%sâ€"
-#: commands.c:640
-#, c-format
-msgid "*** Deleting file `%s'"
-msgstr "*** Bri¹em spis `%s'"
+#: commands.c:649
+#, fuzzy, c-format
+msgid "*** Deleting file '%s'"
+msgstr "*** BriÅ¡em datoteku „%sâ€"
-#: commands.c:676
-#, fuzzy
+#: commands.c:685
msgid "# recipe to execute"
-msgstr "# naredbe za izvr¹avanje"
+msgstr "# recept za izvršavanje"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
-msgstr " (ugraðeno):"
+msgstr " (ugrađeno):"
-#: commands.c:681
-#, c-format
-msgid " (from `%s', line %lu):\n"
-msgstr " (iz `%s', redak %lu):\n"
+#: commands.c:690
+#, fuzzy, c-format
+msgid " (from '%s', line %lu):\n"
+msgstr " (iz „%sâ€, redak %lu):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -123,359 +132,417 @@ msgstr ""
"\n"
"# Direktoriji\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
-msgstr "# %s: ne mo¾e se statati.\n"
+msgstr "# %s: ne može se izvršiti stat.\n"
-#: dir.c:1012
+#: dir.c:1005
#, c-format
msgid "# %s (key %s, mtime %d): could not be opened.\n"
-msgstr "# %s (tipka %s, mtime %d): nije ga se moglo otvoriti.\n"
+msgstr "# %s (tipka %s, vrijeme uređivanja %d): ne može se otvoriti.\n"
-#: dir.c:1016
+#: 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]): nije ga se moglo otvoriti.\n"
+msgstr "# %s (ureÄ‘aj %d, indeksni Ävor [%d,%d,%d]): ne može se otvoriti.\n"
-#: dir.c:1021
+#: dir.c:1014
#, c-format
msgid "# %s (device %ld, inode %ld): could not be opened.\n"
-msgstr "# %s (device %ld, inode %ld): nije ga se moglo otvoriti.\n"
+msgstr "# %s (ureÄ‘aj %ld, indeksni Ävor %ld): ne može se otvoriti.\n"
-#: dir.c:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
-msgstr "# %s (tipka %s, mtime %d): "
+msgstr "# %s (tipka %s, vrijeme uređivanja %d): "
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
-msgstr "# %s (device %d, inode [%d,%d,%d]): "
+msgstr "# %s (ureÄ‘aj %d, indeksni Ävor [%d,%d,%d]): "
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
-msgstr "# %s (device %ld, inode %ld): "
+msgstr "# %s (ureÄ‘aj %ld, indeksni Ävor %ld): "
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
-msgstr "Nijedan"
+msgstr "Nijedna"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
-msgstr " spis, "
+msgstr " datoteka, "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "nijedna"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
-msgstr " nemoguænost"
+msgstr " nemogućnost"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
-msgstr " do sad."
+msgstr " do sada."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
-msgstr " nemoguænosti u %lu direktorija.\n"
+msgstr " nemogućnosti u %lu direktorija.\n"
-#: expand.c:127
-#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
-msgstr "Rekurzivna varijabla `%s' pokazuje (na kraju) na sebe"
+#: expand.c:125
+#, fuzzy, c-format
+msgid "Recursive variable '%s' references itself (eventually)"
+msgstr "Rekurzivna varijabla „%s†pokazuje (na kraju) na sebe"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
-msgstr "nedovr¹ena referenca na varijablu"
+msgstr "nedovršena referenca na varijablu"
-#: file.c:267
+#: file.c:271
#, fuzzy, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
-msgstr "Naredbe su naznaèene za spis `%s' na %s:%lu,"
+msgid "Recipe was specified for file '%s' at %s:%lu,"
+msgstr "Naveden je recept za datoteku „%s†na %s:%lu,"
-#: file.c:272
+#: file.c:276
#, fuzzy, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
-msgstr "Naredbe za spis `%s' naðene su implicitnim pretra¾ivanjem propisa,"
-
-#: file.c:275
-#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
-msgstr "ali `%s' se sada smatra istim spisom kao i `%s'."
+msgid "Recipe for file '%s' was found by implicit rule search,"
+msgstr "Recept za datoteku „%s†nađen je implicitnim pretraživanjem propisa,"
-#: file.c:278
+#: file.c:280
#, fuzzy, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
-msgstr "Naredbe za `%s' ignorirat æe se u korist onih za `%s'."
+msgid "but '%s' is now considered the same file as '%s'."
+msgstr "ali se „%s†sada smatra istom datotekom kao i „%sâ€."
-#: file.c:298
-#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
-msgstr "ne mogu preimenovati `%s' s jednom dvotoèkom u `%s' s dvije dvotoèke"
+#: 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â€."
#: file.c:303
-#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
-msgstr "ne mogu preimenovati `%s' s dvije dvotoèke u `%s' s jednom dvotoèkom"
+#, fuzzy, c-format
+msgid "can't rename single-colon '%s' to double-colon '%s'"
+msgstr "ne mogu preimenovati „%s†s jednim dvotoÄjem u „%s†s dva dvotoÄja"
-#: file.c:392
-#, c-format
-msgid "*** Deleting intermediate file `%s'"
-msgstr "*** Bri¹em posredni spis `%s'"
+#: file.c:309
+#, fuzzy, c-format
+msgid "can't rename double-colon '%s' to single-colon '%s'"
+msgstr "ne mogu preimenovati „%s†s dva dvotoÄja u „%s†s jednim dvotoÄjem"
-#: file.c:396
-msgid "Removing intermediate files...\n"
-msgstr "Bri¹em posredne spise...\n"
+#: file.c:401
+#, fuzzy, c-format
+msgid "*** Deleting intermediate file '%s'"
+msgstr "*** BriÅ¡em posrednu datoteku „%sâ€"
-#: file.c:803
-#, c-format
-msgid "%s: Timestamp out of range; substituting %s"
-msgstr "%s: Vremenska oznaka van granica; zamjenjujem s %s"
+#: file.c:405
+msgid "Removing intermediate files...\n"
+msgstr "Uklanjam posredne datoteke...\n"
-#: file.c:804
+#: file.c:811
msgid "Current time"
msgstr "Trenutno vrijeme"
-#: file.c:924
+#: file.c:815
+#, c-format
+msgid "%s: Timestamp out of range; substituting %s"
+msgstr "%s: Vremenska oznaka izvan granica; zamjenjujem s %s"
+
+#: file.c:955
msgid "# Not a target:"
msgstr "# Nije meta:"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
-msgstr "# Vrijedan spis (prerekvizit mete .PRECIOUS)."
+msgstr "# Vrijedna datoteka (preduvjet mete .PRECIOUS)."
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
-msgstr "# La¾na meta (prerekvizit mete .PHONY)."
+msgstr "# Lažna meta (preduvjet mete .PHONY)."
-#: file.c:933
-#, fuzzy
+#: file.c:964
msgid "# Command line target."
-msgstr "# Meta na komandnoj liniji."
+msgstr "# Meta naredbenog retka."
-#: file.c:935
-#, fuzzy
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
-msgstr "# Podrazumijevani ili MAKEFILES makefile."
+msgstr "# Zadana, MAKEFILES ili -include/sinclude datoteka izrade."
+
+#: file.c:968
+#, fuzzy
+msgid "# Builtin rule"
+msgstr ""
+"\n"
+"# Nema implicitnih propisa."
-#: file.c:937
+#: file.c:970
msgid "# Implicit rule search has been done."
-msgstr "# Implicitna pretraga propisa je izvr¹ena."
+msgstr "# Implicitna pretraga propisa je izvršena."
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
-msgstr "# Implicitna pretraga propisa nije izvr¹ena."
+msgstr "# Implicitna pretraga propisa nije izvršena."
-#: file.c:940
-#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
-msgstr "# Korijen implicitnog/statièkog uzorka: `%s'\n"
+#: file.c:973
+#, fuzzy, c-format
+msgid "# Implicit/static pattern stem: '%s'\n"
+msgstr "# Korijen implicitnog/statiÄkog uzorka: „%sâ€\n"
-#: file.c:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
-msgstr "# Spis je posredni prerekvizit."
+msgstr "# Datoteka je posredni preduvjet."
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
-msgstr "# Takoðer proizvodi:"
+msgstr "# Također napravi:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Vrijeme promjene nikada nije provjereno."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
-msgstr "# Spis ne postoji."
+msgstr "# Datoteka ne postoji."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
-msgstr "# Spis je vrlo star."
+msgstr "# Datoteka je vrlo stara."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Zadnja promjena %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
-msgstr "# Spis je a¾uriran."
+msgstr "# Datoteka je ažurirana."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
-msgstr "# Spis nije a¾uriran."
+msgstr "# Datoteka nije ažurirana."
-#: file.c:968
-#, fuzzy
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
-msgstr "# Naredbe koje se trenutno izvr¹avaju (OVO JE BUG)."
+msgstr "# Recept koji se trenutno izvršava (OVO JE BUG)."
-#: file.c:971
-#, fuzzy
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
-msgstr "# Ovisnosti izmeðu naredbi koje se izvr¹avaju (OVO JE BUG)."
+msgstr "# Recept ovisnosti koji se izvršava (OVO JE BUG)."
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
-msgstr "# Uspje¹no a¾uriran."
+msgstr "# Uspješno ažuriran."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
-msgstr "# Treba ga a¾urirati (-q je postavljen)."
+msgstr "# Treba ga ažurirati (-q je postavljen)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
-msgstr "# Nije ga se a¾uriralo."
+msgstr "# Nije ažuriran."
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# Neispravna vrijednost u elementu `update_status'!"
-
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
-msgstr "# Neispravna vrijednost u elementu `command_state'!"
+#: file.c:1025
+#, fuzzy
+msgid "# Invalid value in 'command_state' member!"
+msgstr "# Neispravna vrijednost u elementu „command_stateâ€!"
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
msgstr ""
"\n"
-"# Spisi"
+"# Datoteke"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
"\n"
-"# statistike hash tablice spisa\n"
+"# statistike tablice raspršivanja datoteka:\n"
"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
-msgstr "prvi argument funkcije `word' nije broj"
-
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
-msgstr "prvi argument funkcije `word' mora biti veæi od 0"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr ""
-#: function.c:783
-msgid "non-numeric first argument to `wordlist' function"
-msgstr "drugi argument funkcije `wordllist' nije broj"
+#: function.c:780
+#, fuzzy
+msgid "non-numeric first argument to 'word' function"
+msgstr "prvi argument funkcije „word†nije broj"
#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
-msgstr "drugi arument funkcije `wordlist' nije broj"
+#, fuzzy
+msgid "first argument to 'word' function must be greater than 0"
+msgstr "prvi argument funkcije „word†mora biti veći od 0"
-#: function.c:1458
-#, fuzzy, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
-msgstr "create_child_process: DuplicateHandle(In) je zakazao (e=%d)\n"
+#: function.c:805
+#, fuzzy
+msgid "non-numeric first argument to 'wordlist' function"
+msgstr "drugi argument funkcije „wordlist†nije broj"
-#: function.c:1469
+#: function.c:807
+#, fuzzy
+msgid "non-numeric second argument to 'wordlist' function"
+msgstr "drugi argument funkcije „wordlist†nije broj"
+
+#: function.c:1499
#, fuzzy, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr "create_child_process: DuplicateHandle(Err) je zakazao (e=%d)\n"
+msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
+msgstr "windows32_openpipe(): DuplicateHandle(In) nije uspio (e=%ld)\n"
-#: function.c:1474
+#: function.c:1523
#, fuzzy, c-format
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
+msgstr "windows32_open_pipe(): DuplicateHandle(Err) nije uspio (e=%ld)\n"
+
+#: function.c:1530
+#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
-msgstr "CreatePipe() je zakazao (e=%d)\n"
+msgstr "CreatePipe() nije uspio (e=%ld)\n"
-#: function.c:1479
-#, fuzzy
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
-msgstr "windows32_openpipe (): process_init_fd() je zakazao\n"
+msgstr "windows32_openpipe(): process_init_fd() nije uspio\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
-msgstr "Èistim privremeni batch spis %s.\n"
+msgstr "ÄŒistim privremenu skupnu datoteku %s.\n"
-#: function.c:2150
+#: function.c:2193
#, fuzzy, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
-msgstr "Nedovoljan broj argumenata (%d) funkciji `%s'"
+msgid "open: %s: %s"
+msgstr "%s: %s"
-#: function.c:2162
+#: function.c:2203
#, fuzzy, c-format
-msgid "unimplemented on this platform: function `%s'"
-msgstr "Neimplementirano na ovoj platformi: funkcija `%s'"
+msgid "write: %s: %s"
+msgstr "greška pisanja: %s"
-#: function.c:2212
+#: function.c:2209
#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
-msgstr "nedovr¹en poziv funkciji `%s': nedostaje `%c'"
+msgid "Invalid file operation: %s"
+msgstr ""
-#: getopt.c:661
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: opcija `%s' je vi¹eznaèna\n"
+#: function.c:2324
+#, fuzzy, c-format
+msgid "insufficient number of arguments (%d) to function '%s'"
+msgstr "nedovoljan broj argumenata (%d) funkciji „%sâ€"
-#: getopt.c:685
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: uz opciju `--%s' ne ide argument\n"
+#: function.c:2336
+#, fuzzy, c-format
+msgid "unimplemented on this platform: function '%s'"
+msgstr "neimplementirano na ovoj platformi: funkcija „%sâ€"
-#: getopt.c:690
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: opcija `%c%s' ne dopu¹ta argument\n"
+#: function.c:2399
+#, fuzzy, c-format
+msgid "unterminated call to function '%s': missing '%c'"
+msgstr "nedovrÅ¡en poziv funkciji „%sâ€: nedostaje „%câ€"
-#: getopt.c:707 getopt.c:880
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: opcija `%s' zahtijeva argument\n"
+#: function.c:2591
+msgid "Empty function name"
+msgstr ""
-#: getopt.c:736
+#: function.c:2593
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: nepoznata opcija `--%s'\n"
+msgid "Invalid function name: %s"
+msgstr ""
-#: getopt.c:740
+#: function.c:2595
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: nepoznata opcija `%c%s'\n"
+msgid "Function name too long: %s"
+msgstr ""
+
+#: 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
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: opcija „%s†je viÅ¡eznaÄna\n"
+
+#: getopt.c:683
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: opcija „--%s†ne dozvoljava argument\n"
-#: getopt.c:766
+#: getopt.c:688
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: opcija „%c%s†ne dozvoljava argument\n"
+
+#: getopt.c:705 getopt.c:878
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s: opcija „%s†zahtijeva argument\n"
+
+#: getopt.c:734
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: neprepoznata opcija „--%sâ€\n"
+
+#: getopt.c:738
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: neprepoznata opcija „%c%sâ€\n"
+
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
-msgstr "%s: nedopu¹tena opcija -- %c\n"
+msgstr "%s: nedozvoljena opcija -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: neispravna opcija -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: opcija tra¾i argument -- %c\n"
+msgstr "%s: opcija zahtijeva argument -- %c\n"
+
+#: getopt.c:844
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: opcija „-W %s†je viÅ¡eznaÄna\n"
+
+#: getopt.c:862
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s: opcija „-W %s†ne dozvoljava argument\n"
-#: getopt.c:846
+#: guile.c:58
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: opcija `-W %s' je vi¹eznaèna\n"
+msgid "guile: Expanding '%s'\n"
+msgstr ""
-#: getopt.c:864
+#: guile.c:74
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: opcija `-W %s' ne dopu¹ta argument\n"
+msgid "guile: Evaluating '%s'\n"
+msgstr ""
#: hash.c:49
-#, fuzzy, c-format
+#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
-msgstr "ne mogu alocirati %ld bajtova za hash tablicu; memorija iscrpljena"
+msgstr ""
+"ne mogu alocirati %lu bajtova za tablicu raspršivanja: memorija iscrpljena"
#: hash.c:280
#, c-format
msgid "Load=%ld/%ld=%.0f%%, "
-msgstr "Optereæenje=%ld/%ld=%.0f%%, "
+msgstr "Opterećenje=%ld/%ld=%.0f%%, "
#: hash.c:282
#, c-format
@@ -485,445 +552,552 @@ msgstr "Preraspodjela=%d, "
#: hash.c:283
#, c-format
msgid "Collisions=%ld/%ld=%.0f%%"
-msgstr "Kolizije=%ld/%ld=%.0f%%"
+msgstr "Sudari=%ld/%ld=%.0f%%"
-#: implicit.c:40
-#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
-msgstr "Tra¾im implicitni propis za `%s'.\n"
+#: implicit.c:38
+#, fuzzy, c-format
+msgid "Looking for an implicit rule for '%s'.\n"
+msgstr "Tražim implicitni propis za „%sâ€.\n"
-#: implicit.c:56
-#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
-msgstr "Tra¾im implicitni propis za `%s' koji pripada elementu arhive.\n"
+#: implicit.c:54
+#, fuzzy, c-format
+msgid "Looking for archive-member implicit rule for '%s'.\n"
+msgstr "Tražim implicitni propis za „%s†koji pripada elementu arhive.\n"
-#: implicit.c:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
msgstr "Izbjegavam rekurziju implicitnog propisa.\n"
-#: implicit.c:491
+#: implicit.c:486
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
-msgstr "Poku¹avam propis uzorka s korijenom `%.*s'.\n"
+msgid "Stem too long: '%.*s'.\n"
+msgstr ""
-#: implicit.c:674
-#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
-msgstr "Odbacujem nemoguæe pravilo prerekvizita `%s'.\n"
+#: implicit.c:491
+#, fuzzy, c-format
+msgid "Trying pattern rule with stem '%.*s'.\n"
+msgstr "PokuÅ¡avam propis uzorka s korijenom „%.*sâ€.\n"
-#: implicit.c:675
-#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
-msgstr "Odbacujem nemoguæ prerekvizit `%s'.\n"
+#: implicit.c:697
+#, fuzzy, c-format
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
+msgstr "Odbacujem nemoguće pravilo preduvjeta „%sâ€.\n"
-#: implicit.c:688
-#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
-msgstr "Poku¹avam s propisom prerekvizita `%s'.\n"
+#: implicit.c:698
+#, fuzzy, c-format
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
+msgstr "Odbacujem nemoguć implicitni preduvjet „%sâ€.\n"
-#: implicit.c:689
-#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
-msgstr "Poku¹avam s implicitnim prerekvizitom `%s'.\n"
+#: implicit.c:711
+#, fuzzy, c-format
+msgid "Trying rule prerequisite '%s'.\n"
+msgstr "PokuÅ¡avam s propisom preduvjeta „%sâ€.\n"
-#: implicit.c:728
-#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
-msgstr "Na¹ao prerekvizit `%s' kao VPATH `%s'\n"
+#: implicit.c:712
+#, fuzzy, c-format
+msgid "Trying implicit prerequisite '%s'.\n"
+msgstr "PokuÅ¡avam s implicitnim preduvjetom „%sâ€.\n"
-#: implicit.c:742
-#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
-msgstr "Tra¾im propis s posrednim spisom `%s'.\n"
+#: implicit.c:751
+#, fuzzy, c-format
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
+msgstr "NaÅ¡ao preduvjet „%s†kao VPATH „%sâ€\n"
-#: job.c:335
-#, fuzzy
+#: implicit.c:765
+#, fuzzy, c-format
+msgid "Looking for a rule with intermediate file '%s'.\n"
+msgstr "Tražim propis s posrednom datotekom „%sâ€.\n"
+
+#: job.c:361
msgid "Cannot create a temporary file\n"
-msgstr "fwrite(privremeni spis)"
+msgstr "Ne mogu napraviti privremenu datoteku\n"
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] Gre¹ka 0x%x (ignorirana)"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (jezgra izbaÄena)"
-#: job.c:450
-#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] Gre¹ka 0x%x"
+#: job.c:488
+#, fuzzy
+msgid " (ignored)"
+msgstr "[%s] Greška %d (zanemarena)"
-#: job.c:454
-#, c-format
-msgid "[%s] Error %d (ignored)"
-msgstr "[%s] Gre¹ka %d (ignorirana)"
+#: job.c:492 job.c:2046
+#, fuzzy
+msgid "<builtin>"
+msgstr " (ugrađeno):"
-#: job.c:455
-#, c-format
-msgid "*** [%s] Error %d"
-msgstr "*** [%s] Gre¹ka %d"
+#: job.c:503
+#, fuzzy, c-format
+msgid "%s: recipe for target '%s' failed"
+msgstr "upozorenje: poniÅ¡tavam recept za metu „%sâ€"
-#: job.c:460
-msgid " (core dumped)"
-msgstr " (izbaèen core)"
+#: job.c:516 job.c:524
+#, fuzzy, c-format
+msgid "%s[%s] Error %d%s"
+msgstr "*** [%s] Greška %d"
-#: job.c:549
-msgid "*** Waiting for unfinished jobs...."
-msgstr "*** èekam na nedovr¹ene poslove...."
+#: job.c:519
+#, fuzzy, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "*** [%s] Greška 0x%x"
-#: job.c:579
+#: 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 "*** Čekam nedovršene poslove...."
+
+#: job.c:651
+#, c-format
msgid "Live child %p (%s) PID %s %s\n"
-msgstr "®ivo dijete 0x%08lx (%s) PID %ld %s\n"
+msgstr "Živo dijete %p (%s) PID %s %s\n"
-#: job.c:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (udaljen)"
-#: job.c:758
-#, fuzzy, c-format
+#: job.c:841
+#, c-format
msgid "Reaping losing child %p PID %s %s\n"
-msgstr "®anjem proma¹eno dijete 0x%08lx PID %ld %s\n"
+msgstr "Skupljam neuspješno dijete %p PID %s %s\n"
-#: job.c:759
-#, fuzzy, c-format
+#: job.c:842
+#, c-format
msgid "Reaping winning child %p PID %s %s\n"
-msgstr "®anjem uspje¹no dijete 0x%08lx PID %ld %s\n"
+msgstr "Skupljam uspješno dijete %p PID %s %s\n"
-#: job.c:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
-msgstr "Èistim privremeni batch spis %s\n"
+msgstr "ÄŒistim privremenu skupnu datoteku %s\n"
-#: job.c:861
+#: job.c:855
#, fuzzy, c-format
+msgid "Cleaning up temp batch file %s failed (%d)\n"
+msgstr "ÄŒistim privremenu skupnu datoteku %s\n"
+
+#: job.c:961
+#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
-msgstr "Uklanjam dijete 0x%08lx PID %ld%s iz lanca.\n"
+msgstr "Uklanjam dijete %p PID %s%s iz lanca.\n"
-# ©to bi ovdje trebalo iæi?
-#: job.c:920
-msgid "write jobserver"
-msgstr "write jobserver"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
+msgstr ""
-#: job.c:922
-#, fuzzy, c-format
+#: job.c:1024 job.c:1038
+#, c-format
msgid "Released token for child %p (%s).\n"
-msgstr "Otpustio token za dijete 0x%08lx (%s).\n"
+msgstr "Ispušten simbol za dijete %p (%s).\n"
-#: job.c:1453 job.c:2094
-#, fuzzy, c-format
+# Što bi ovdje trebalo ići?
+#: job.c:1036
+msgid "write jobserver"
+msgstr "poslužitelj poslova pisanja"
+
+#: 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=%d)\n"
+msgstr "process_easy() nije uspio pokrenuti proces (e=%ld)\n"
-#: job.c:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
"\n"
-"Prebrojao %d argumenata u neuspjelom pokretanju\n"
+"Izbrojeno %d argumenata u neuspjelom pokretanju\n"
-#: job.c:1525
-#, fuzzy, c-format
+#: job.c:1735
+#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
-msgstr "Smje¹tam dijete 0x%08lx (%s) PID %ld%s u lanac.\n"
+msgstr "Smještam dijete %p (%s) PID %s%s u lanac.\n"
-#: job.c:1778
-#, fuzzy, c-format
+#: 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 "Preuzeo token za dijete 0x%08lx (%s).\n"
+msgstr "Preuzet simbol za dijete %p (%s).\n"
-#: job.c:1787
+#: job.c:2029
msgid "read jobs pipe"
-msgstr "read jobs pipe"
+msgstr "cjevovod poslova Äitanja"
-#: job.c:1798
-#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr ""
+#: job.c:2056
+#, fuzzy, c-format
+msgid "%s: target '%s' does not exist"
+msgstr "touch: Arhiva „%s†ne postoji"
-#: job.c:1802
+#: job.c:2059
#, fuzzy, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "Nema potrebe ponovo izraditi metu `%s'"
+msgid "%s: update target '%s' due to: %s"
+msgstr "%sNema propisa za izradu mete „%sâ€, koji traži „%sâ€%s"
-#: job.c:1910
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr ""
-"ne mogu silom primijeniti ogranièenje loada na ovom operativnom sustavu"
+"ne mogu silom primijeniti ograniÄenje opterećenja na ovom operacijskom "
+"sustavu"
-#: job.c:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
-msgstr "ne mogu silom primijeniti ogranièenje loada: "
+msgstr "ne mogu silom primijeniti ograniÄenje opterećenja: "
-#: job.c:1985
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr ""
+"nema viÅ¡e upravljaÄa datotekama: ne mogu udvostruÄiti standardni ulaz\n"
-#: job.c:1987
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""
+"nema viÅ¡e upravljaÄa datotekama: ne mogu udvostruÄiti standardni izlaz\n"
-#: job.c:2015
-msgid "Could not restore stdin\n"
+#: job.c:2278
+#, fuzzy
+msgid "no more file handles: could not duplicate stderr\n"
msgstr ""
+"nema viÅ¡e upravljaÄa datotekama: ne mogu udvostruÄiti standardni ulaz\n"
-#: job.c:2023
+#: job.c:2293
+msgid "Could not restore stdin\n"
+msgstr "Ne mogu obnoviti standardni ulaz\n"
+
+#: job.c:2301
msgid "Could not restore stdout\n"
-msgstr ""
+msgstr "Ne mogu obnoviti standardni izlaz\n"
-#: job.c:2127
-#, fuzzy, c-format
+#: job.c:2309
+#, fuzzy
+msgid "Could not restore stderr\n"
+msgstr "Ne mogu obnoviti standardni ulaz\n"
+
+#: job.c:2420
+#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
-msgstr "make je po¾njeo dijete pid %d, jo¹ uvijek èeka na pid %d\n"
+msgstr "make je skupio dijete pid %s, joÅ¡ uvijek Äeka pid %s\n"
-#: job.c:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
-msgstr "%s: Naredba nije naðena"
+msgstr "%s: Naredba nije pronađena"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
-msgstr "%s: Ljuskin program nije naðen"
+msgstr "%s: Program ljuske nije pronađen"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
-msgstr ""
+msgstr "spawnvpe: prostor okoline je možda iscrpljen"
-#: job.c:2461
+#: job.c:2765
#, fuzzy, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
-msgstr "$SHELL se promijenio (prije `%s', sad `%s')"
+msgid "$SHELL changed (was '%s', now '%s')\n"
+msgstr "$SHELL se promijenio (prije „%sâ€, sada „%sâ€)\n"
-#: job.c:2951
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
-msgstr "Stvaram privremeni batch spis %s\n"
+msgstr "Stvaram privremenu skupnu datoteku %s\n"
-#: job.c:2963
+#: job.c:3206
+#, fuzzy
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+"Sadržaj skupne datoteke:%s\n"
+"\t%s\n"
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
+"Sadržaj skupne datoteke:%s\n"
+"\t%s\n"
-#: job.c:3065
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
-msgstr "%s (redak %d) Lo¹ kontekst ljuske (!unixy && !batch_mode_shell)\n"
+msgstr ""
+"%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 ""
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr ""
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr ""
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr ""
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr ""
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr ""
+
+#: load.c:244
+#, fuzzy
+msgid "The 'load' operation is not supported on this platform."
+msgstr "Paralelni poslovi (-j) nisu podržani na ovoj platformi."
-#: main.c:303
+#: main.c:313
msgid "Options:\n"
msgstr "Opcije:\n"
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
-msgstr " -b, -m Ignorira se zbog kompatibilnosti\n"
+msgstr " -b, -m Zanemareno zbog kompatibilnosti.\n"
-#: main.c:306
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
-msgstr " -B, --always-make Bezuvjetno proizvedi sve mete.\n"
+msgstr " -B, --always-make Bezuvjetno izradi sve mete.\n"
-#: main.c:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
-" -C DIRECTORY, --directory=DIRECTORY\n"
-" Prijeði u DIREKTORIJ prije no ¹to i¹ta "
-"obavi¹.\n"
+" -C DIREKTORIJ, --directory=DIREKTORIJ\n"
+" PrijeÄ‘i u DIREKTORIJ prije poÄetka rada.\n"
-#: main.c:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
-msgstr " -d Ispi¹i puno podataka za debugiranje.\n"
+msgstr " -d Ispiši puno podataka za debugiranje.\n"
-#: main.c:313
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
-" --debug[=FLAGOVI] Ispi¹i razne vrste informacija za "
+" --debug[=ZASTAVICE] Ispiši razne vrste informacija za "
"debugiranje.\n"
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
" -e, --environment-overrides\n"
-" Varijable iz okoline imaju veæu va¾nost od\n"
-" makefileova.\n"
+" Varijable okoline imaju veću važnost od\n"
+" datoteka izrade.\n"
-#: main.c:318
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
+" --eval=NIZ Postupaj s NIZOM kao naredbom datoteke "
+"izrade.\n"
-#: main.c:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
-" -f SPIS, --file=SPIS, --makefile=SPIS\n"
-" Proèitaj SPIS kao makefile.\n"
+" -f DATOTEKA, --file=DATOTEKA, --makefile=DATOTEKA\n"
+" ProÄitaj DATOTEKU kao datoteku izrade.\n"
-#: main.c:323
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
-msgstr " -h, --help Ispi¹i ovu poruku i izaði.\n"
+msgstr " -h, --help Ispiši ovu poruku i izađi.\n"
-#: main.c:325
-#, fuzzy
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
-msgstr " -i, --ignore-errors Zanemari gre¹ke od naredbi.\n"
+msgstr " -i, --ignore-errors Zanemari greške iz recepata.\n"
-#: main.c:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
" -I DIREKTORIJ, --include-dir=DIREKTORIJ\n"
-" Potra¾i u DIREKTORIJU ukljuèene makefileove.\n"
+" Traži u DIREKTORIJU ukljuÄene datoteke "
+"izrade.\n"
-#: main.c:330
+#: 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"
-" ih dopusti beskonaèno.\n"
+" -j [N], --jobs[=N] Dozvoli N istovremenih poslova; bez argumenta\n"
+" ih dozvoli beskonaÄno.\n"
-#: main.c:332
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
" -k, --keep-going Nastavi s radom ako se neke mete ne mogu "
"izraditi.\n"
-#: main.c:334
+#: 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¹estruke poslove, osim ako pri\n"
-" optereæenju ispod N.\n"
+" Ne pokreći višestruke poslove, osim ako je\n"
+" opterećenje ispod N.\n"
-#: main.c:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
+" -L, --check-symlink-times Koristi posljednji mtime izmeÄ‘u simboliÄkih "
+"veza i mete.\n"
-#: main.c:339
-#, fuzzy
+#: 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"
-" Nemoj zapravo pokrenuti nijednu naredbu;\n"
-" samo ih ispi¹i.\n"
+" Nemoj zapravo pokrenuti nijedan recept,\n"
+" samo ih ispiši.\n"
-#: main.c:342
+#: 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 SPIS, --old-file=SPIS, --assume-old=SPIS\n"
-" Smatraj da je SPIS vrlo star i nemoj ga\n"
+" -o DATOTEKA, --old-file=DATOTEKA, --assume-old=DATOTEKA\n"
+" Smatraj da je DATOTEKA vrlo stara i nemoj ju\n"
" ponovo napraviti.\n"
-#: main.c:345
+#: main.c:355
+msgid ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
+msgstr ""
+
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
-msgstr " -p, --print-data-base Ispi¹i makeovu internu bazu.\n"
+msgstr " -p, --print-data-base Ispiši „make†internu bazu podataka.\n"
-#: main.c:347
-#, fuzzy
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-" -q, --question Ne pokreæi naredbe; izlazni status oznaèava\n"
-" je li sve a¾urirano.\n"
+" -q, --question Ne pokreći recepte; izlazno stanje oznaÄava\n"
+" je li sve ažurirano.\n"
-#: main.c:349
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
-msgstr " -r, --no-builtin-rules Onemoguæi ugraðene implicitne propise.\n"
+msgstr " -r, --no-builtin-rules Onemogući ugrađene implicitne propise.\n"
-#: main.c:351
+#: 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"
+" -R, --no-builtin-variables Onemogući ugrađene vrijednosti varijabli.\n"
-#: main.c:353
-#, fuzzy
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
-msgstr " -s, --silent, --quiet Ne ispisuj naredbe.\n"
+msgstr " -s, --silent, --quiet Ne ispisuj recepte.\n"
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr ""
" -S, --no-keep-going, --stop\n"
-" Iskljuèuje -k.\n"
+" IskljuÄuje -k.\n"
-#: main.c:358
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
-" -t, --touch Dodirni mete umjesto da ih ponovo izraðuje¹.\n"
+" -t, --touch Umjesto ponovne izrade dodirni izgrađene "
+"mete.\n"
-#: main.c:360
+#: main.c:373
+#, fuzzy
+msgid " --trace Print tracing information.\n"
+msgstr " -d Ispiši puno podataka za debugiranje.\n"
+
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
-msgstr " -v, --version Ispi¹i verziju makea i izaði.\n"
+msgstr " -v, --version IspiÅ¡i „make†broj inaÄice i izaÄ‘i.\n"
-#: main.c:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
-msgstr " -w, --print-directory Ispi¹i trenutni direktorij.\n"
+msgstr " -w, --print-directory Ispiši trenutni direktorij.\n"
-#: main.c:364
+#: 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, èak i ako je implicitno "
-"ukljuèen.\n"
+" --no-print-directory IskljuÄi -w, Äak i ako je implicitno "
+"ukljuÄen.\n"
-#: main.c:366
+#: 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 SPIS, --what-if=SPIS, --new-file=SPIS, --assume-new=SPIS\n"
-" Smatraj SPIS beskonaèno novim.\n"
+" -W DATOTEKA, --what-if=DATOTEKA, --new-file=DATOTEKA,\n"
+" --assume-new=DATOTEKA\n"
+" Smatraj DATOTEKU beskonaÄno novom.\n"
-#: main.c:369
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr ""
-" --warn-undefined-variables Upozori kad se referencira nedefinirana "
-"varijabla.\n"
+" --warn-undefined-variables Upozori pri referenciranju nedefinirane "
+"varijable.\n"
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
-msgstr "prazan string nije valjan naziv spisa"
+msgstr "prazan niz nije ispravan naziv datoteke"
-#: main.c:650
+#: main.c:737
+#, fuzzy, c-format
+msgid "unknown debug level specification '%s'"
+msgstr "nepoznata oznaka razine debugiranja „%sâ€"
+
+#: main.c:774
#, c-format
-msgid "unknown debug level specification `%s'"
-msgstr "nepoznata naznaka nivoa debuga `%s'"
+msgid "unknown output-sync type '%s'"
+msgstr ""
-#: main.c:690
-#, fuzzy, c-format
+#: main.c:828
+#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
-msgstr "%s: Prekid/Iznimka uhvaæena (code = 0x%x, addr = 0x%x)\n"
+msgstr "%s: Uhvaćen prekid/iznimka (kod = 0x%lx, adr = 0x%p)\n"
-#: main.c:697
-#, fuzzy, c-format
+#: main.c:835
+#, c-format
msgid ""
"\n"
"Unhandled exception filter called from program %s\n"
@@ -932,214 +1106,230 @@ msgid ""
"ExceptionAddress = 0x%p\n"
msgstr ""
"\n"
-"Filter neobraðene iznimke pozvan iz programa %s\n"
-"ExceptionCode = %x\n"
-"ExceptionFlags = %x\n"
-"ExceptionAddress = %x\n"
+"Filtar nekontrolirane iznimke pozvan iz programa %s\n"
+"ExceptionCode = %lx\n"
+"ExceptionFlags = %lx\n"
+"ExceptionAddress = 0x%p\n"
-#: main.c:705
-#, fuzzy, c-format
+#: main.c:843
+#, c-format
msgid "Access violation: write operation at address 0x%p\n"
-msgstr "Pristupni prekr¹aj: operacija pisanja na adresi %x\n"
+msgstr "Pristupni prekršaj: operacija pisanja na adresi 0x%p\n"
-#: main.c:706
-#, fuzzy, c-format
+#: main.c:844
+#, c-format
msgid "Access violation: read operation at address 0x%p\n"
-msgstr "Pristupni prekr¹aj: operacija èitanja na adresi %x\n"
+msgstr "Pristupni prekrÅ¡aj: operacija Äitanja na adresi 0x%p\n"
-#: main.c:781 main.c:792
-#, fuzzy, c-format
+#: main.c:920 main.c:935
+#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
-msgstr "find_and_set_shell postavljam default_shell = %s\n"
+msgstr "find_and_set_shell() postavlja default_shell = %s\n"
-#: main.c:834
-#, fuzzy, c-format
+#: main.c:988
+#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
-msgstr "find_and_set_shell pretraga staze postavljam default_shell = %s\n"
+msgstr "find_and_set_shell() pretraga putanje postavlja default_shell = %s\n"
-#: main.c:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s se zaustavlja na 30 sekundi..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "gotov sa sleep(30). Nastavljam.\n"
-#: main.c:1501
-msgid "Makefile from standard input specified twice."
-msgstr "Makefile sa standardnog ulaza naveden dvaput."
-
-#: main.c:1539 vmsjobs.c:500
-msgid "fopen (temporary file)"
-msgstr "fopen (privremeni spis)"
-
-#: main.c:1545
-msgid "fwrite (temporary file)"
-msgstr "fwrite(privremeni spis)"
-
-#: main.c:1703
-msgid "Parallel jobs (-j) are not supported on this platform."
-msgstr "Paralelni poslovi (-j) nisu podr¾ani na ovoj platformi."
-
-#: main.c:1704
-msgid "Resetting to single job (-j1) mode."
-msgstr "Resetiram na mod jednog posla (-j1)."
+#: main.c:1527
+#, c-format
+msgid ""
+"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
+msgstr ""
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "interna gre¹ja: vi¹estruko pojavljivanje opcije --jobserver-fds"
+#: main.c:1530
+#, fuzzy, c-format
+msgid "Jobserver client (semaphore %s)\n"
+msgstr "Klijent poslužitelja poslova (fds %d,%d)\n"
-#: main.c:1727
-#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
-msgstr "interna gre¹ka: neispravan --jobserver-fds string `%s'"
+#: 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:1730
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
-msgstr ""
+msgstr "Klijent poslužitelja poslova (fds %d,%d)\n"
-#: main.c:1740
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
-msgstr "upozorenje: -jN se forsira u pod-makeu: onemoguæujem jobserver mod."
+msgstr ""
+"upozorenje: pod-make prisilno postavlja -jN: onemogućujem poslužitelj "
+"poslova."
# Treba li ovo prevesti?
-#: main.c:1750
+#: main.c:1567
msgid "dup jobserver"
-msgstr "dup jobserver"
+msgstr "dup poslužitelj poslova"
-#: main.c:1753
+#: main.c:1570
+#, fuzzy
msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
+"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
-"upozorenje: jobserver nedostupan: koristim -j1. Dodaj `+' na roditeljev "
-"make propis."
+"upozorenje: poslužitelj poslova nedostupan: koristim -j1. Dodaj `+' na "
+"roditeljev propis izrade."
+
+#: main.c:1742
+msgid "Makefile from standard input specified twice."
+msgstr "Datoteka izrade sa standardnog ulaza navedena dvaput."
+
+#: main.c:1780 vmsjobs.c:653
+msgid "fopen (temporary file)"
+msgstr "fopen (privremena datoteka)"
+
+#: main.c:1786
+msgid "fwrite (temporary file)"
+msgstr "fwrite (privremena datoteka)"
-#: main.c:1777
+#: 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:1975
+msgid "Resetting to single job (-j1) mode."
+msgstr "Vraćam naÄin rada s jednim poslom (-j1)."
+
+#: 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 "kreiram pipe za posao"
+msgstr "stvaram cjevovod poslova"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
-msgstr "prevesti?"
+msgstr "inicijaliziraj cjevovod poslužitelja poslova"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
-msgstr ""
+msgstr "SimboliÄke veze nisu podržane: onemogućujem -L."
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
-msgstr "A¾uriram makefileove....\n"
+msgstr "Ažuriram datoteke izrade....\n"
-#: main.c:1917
-#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
-msgstr "Makefile `%s' bi mogao upasti u petlju; ne izgraðujem ga ponovo.\n"
+#: main.c:2158
+#, fuzzy, c-format
+msgid "Makefile '%s' might loop; not remaking it.\n"
+msgstr "Datoteka izrade „%s†bi mogla ući u petlju; ne izgrađujem ponovo.\n"
-#: main.c:1996
-#, c-format
-msgid "Failed to remake makefile `%s'."
-msgstr "Nisam uspio ponovo izgraditi makefile `%s'."
+#: main.c:2237
+#, fuzzy, c-format
+msgid "Failed to remake makefile '%s'."
+msgstr "Nisam uspio ponovo izgraditi datoteku izrade „%sâ€."
-#: main.c:2013
-#, c-format
-msgid "Included makefile `%s' was not found."
-msgstr "Ukljuèeni makefile `%s' ne mo¾e se naæi."
+#: main.c:2257
+#, fuzzy, c-format
+msgid "Included makefile '%s' was not found."
+msgstr "UkljuÄeni datoteka izrade „%s†nije pronaÄ‘ena."
-#: main.c:2018
-#, c-format
-msgid "Makefile `%s' was not found"
-msgstr "Makefile `%s' ne mo¾e se naæi"
+#: main.c:2262
+#, fuzzy, c-format
+msgid "Makefile '%s' was not found"
+msgstr "Datoteka izrade „%s†nije pronađena"
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
-msgstr "Nisam se mogao vratiti u prvotni direktorij."
+msgstr "Ne mogu se vratiti u izvorni direktorij."
-#: main.c:2102
-#, fuzzy, c-format
+#: main.c:2343
+#, c-format
msgid "Re-executing[%u]:"
-msgstr "Ponovo izvr¹avam:"
+msgstr "Ponovo izvršavam[%u]:"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
-msgstr "unlink (privremeni spis): "
+msgstr "unlink (privremena datoteka): "
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
-msgstr ""
+msgstr ".DEFAULT_GOAL sadrži više od jedne mete"
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
-msgstr "Nijedna meta nije navedena, niti je ijedan makefile pronaðen"
+msgstr "Nijedna meta nije navedena, niti je pronađena ijedna datoteka izrade"
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
msgstr "Nema meta"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
-msgstr "A¾uriram ciljne mete....\n"
+msgstr "Ažuriram ciljne mete....\n"
-#: main.c:2306
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
-"upozorenje: uoèena je nepravilnost sata. Izgradnja bi mogla biti nedovr¹ena."
+"upozorenje: UoÄena je nepravilnost sata. Izgradnja bi mogla biti nedovrÅ¡ena."
-#: main.c:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Uporaba: %s [opcije] [meta] ...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
"This program built for %s\n"
msgstr ""
"\n"
-"Program sastavljen za %s\n"
+"Program izgrađen za %s\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
"This program built for %s (%s)\n"
msgstr ""
"\n"
-"Program sastavljen za %s (%s)\n"
+"Program izgrađen za %s (%s)\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
-msgstr "Uoèene gre¹ke prijavite na adresu <bug-make@gnu.org>.\n"
+msgstr "Prijavite greške na <bug-make@gnu.org>\n"
-#: main.c:2562
+#: main.c:2807
#, fuzzy, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
-msgstr "opcija `-%c' tra¾i pozitivan cjelobrojni argument"
-
-#: main.c:2617
-#, c-format
-msgid "the `-%c' option requires a positive integral argument"
-msgstr "opcija `-%c' tra¾i pozitivan cjelobrojni argument"
+msgid "the '%s%s' option requires a non-empty string argument"
+msgstr "opcija „%s%s†zahtijeva neprazan znakovni niz kao argument"
-#: main.c:3054
+#: main.c:2871
#, fuzzy, c-format
+msgid "the '-%c' option requires a positive integer argument"
+msgstr "opcija „-%c†zahtijeva pozitivan cjelobrojni argument"
+
+#: main.c:3269
+#, c-format
msgid "%sBuilt for %s\n"
-msgstr ""
-"\n"
-"Program sastavljen za %s\n"
+msgstr "%sIzgrađen za %s\n"
-#: main.c:3056
-#, fuzzy, c-format
+#: main.c:3271
+#, c-format
msgid "%sBuilt for %s (%s)\n"
-msgstr ""
-"\n"
-"Program sastavljen za %s (%s)\n"
+msgstr "%sIzgrađen za %s (%s)\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1147,482 +1337,498 @@ msgid ""
"%sThis is free software: you are free to change and redistribute it.\n"
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
+"%sLicenca GPLv3+: GNU GPL inaÄica 3 ili kasnija <http://gnu.org/licenses/gpl."
+"html>\n"
+"%sOvo je slobodan softver: slobodno ga smijete mijenjati i dijeliti.\n"
+"%sNEMA JAMSTAVA, do krajnje mjere dozvoljene zakonom.\n"
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
"# Make data base, printed on %s"
msgstr ""
"\n"
-"# Makeova baza, ispisana na %s"
+"# Make baza podataka, ispisana na %s"
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
"# Finished Make data base on %s\n"
msgstr ""
"\n"
-"# Kraj Makeove baze na %s\n"
+"# Kraj Make baze podataka na %s\n"
-#: main.c:3237
-#, fuzzy, c-format
-msgid "%s: Entering an unknown directory\n"
-msgstr "%s: Ulazim u nepoznat direktorij"
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "Nepoznata greška %d"
-#: main.c:3239
-#, fuzzy, c-format
-msgid "%s: Leaving an unknown directory\n"
-msgstr "%s: Izlazim iz nepoznatog direktorija"
+# Da prevedem ovo?
+#: misc.c:522
+#, c-format
+msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+msgstr "%s: korisnik %lu (stvarno %lu), grupa %lu (stvarno %lu)\n"
+
+#: misc.c:543
+msgid "Initialized access"
+msgstr "Inicijaliziran pristup"
+
+#: misc.c:622
+msgid "User access"
+msgstr "KorisniÄki pristup"
+
+#: misc.c:670
+msgid "Make access"
+msgstr "Make pristup"
-#: main.c:3242
+#: misc.c:704
+msgid "Child access"
+msgstr "Pristup djeteta"
+
+#: output.c:104
#, c-format
-msgid "%s: Entering directory `%s'\n"
-msgstr "%s: Ulazim u direktorij `%s'\n"
+msgid "%s: Entering an unknown directory\n"
+msgstr "%s: Ulazim u nepoznat direktorij\n"
-#: main.c:3245
+#: output.c:106
#, c-format
-msgid "%s: Leaving directory `%s'\n"
-msgstr "%s: Izlazim iz direktorija `%s'\n"
+msgid "%s: Leaving an unknown directory\n"
+msgstr "%s: Izlazim iz nepoznatog direktorija\n"
-#: main.c:3250
+#: output.c:109
#, fuzzy, c-format
-msgid "%s[%u]: Entering an unknown directory\n"
-msgstr "%s[%u]: Ulazim u nepoznat direktorij"
+msgid "%s: Entering directory '%s'\n"
+msgstr "%s: Ulazim u direktorij „%sâ€\n"
-#: main.c:3253
+#: output.c:111
#, fuzzy, c-format
-msgid "%s[%u]: Leaving an unknown directory\n"
-msgstr "%s[%u]: Izlazim iz nepoznatog direktorija"
+msgid "%s: Leaving directory '%s'\n"
+msgstr "%s: Izlazim iz direktorija „%sâ€\n"
-#: main.c:3257
+#: output.c:115
#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
-msgstr "%s[%u]: Ulazim u direktorij `%s'\n"
+msgid "%s[%u]: Entering an unknown directory\n"
+msgstr "%s[%u]: Ulazim u nepoznat direktorij\n"
-#: main.c:3260
+#: output.c:117
#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
-msgstr "%s[%u]: Izlazim iz direktorija `%s'\n"
+msgid "%s[%u]: Leaving an unknown directory\n"
+msgstr "%s[%u]: Izlazim iz nepoznatog direktorija\n"
+
+#: output.c:120
+#, fuzzy, c-format
+msgid "%s[%u]: Entering directory '%s'\n"
+msgstr "%s[%u]: Ulazim u direktorij „%sâ€\n"
+
+#: output.c:122
+#, fuzzy, c-format
+msgid "%s[%u]: Leaving directory '%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: %s"
-#: misc.c:316
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Zaustavi.\n"
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "Nepoznata gre¹ka %d"
-
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "prividna memorija potro¹ena"
-
-# Da prevedem ovo?
-#: misc.c:708
-#, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: user %lu (real %lu), group %lu (real %lu)\n"
-
-#: misc.c:729
-msgid "Initialized access"
-msgstr "Inicijaliziran pristup"
-
-#: misc.c:808
-msgid "User access"
-msgstr "Korisnièki pristup"
-
-#: misc.c:856
-msgid "Make access"
-msgstr "Makeov pristup"
-
-#: misc.c:890
-msgid "Child access"
-msgstr "Pristup djeteta"
-
-#: misc.c:954
-#, fuzzy, c-format
-msgid "write error: %s"
-msgstr "Preusmjerio gre¹ke u %s\n"
-
-# ©to bi ovdje trebalo iæi?
-#: misc.c:956
-#, fuzzy
-msgid "write error"
-msgstr "write jobserver"
-
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
-msgstr "Èitam makefileove...\n"
-
-#: read.c:333
-#, c-format
-msgid "Reading makefile `%s'"
-msgstr "Èitam makefile `%s'"
+msgstr "ÄŒitam datoteke izrade...\n"
#: read.c:335
+#, fuzzy, c-format
+msgid "Reading makefile '%s'"
+msgstr "ÄŒitam datoteku izrade „%sâ€"
+
+#: read.c:337
#, c-format
msgid " (no default goal)"
-msgstr " (nema podrazumijevanog cilja)"
+msgstr " (nema zadane mete)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
-msgstr " (staza za pretra¾ivanje)"
+msgstr " (putanja pretraživanja)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
-msgstr " (nije va¾no)"
+msgstr " (nije važno)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
-msgstr " (bez ekspanzije ~)"
+msgstr " (bez proširenja ~)"
+
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr ""
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr ""
-#: read.c:759
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "neispravna sintaksa uvjeta"
-#: read.c:891
-#, fuzzy
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr ""
+
+#: read.c:992
msgid "recipe commences before first target"
-msgstr "naredbe poèinju prije prve mete"
+msgstr "recept poÄinje prije prve mete"
-#: read.c:940
-#, fuzzy
+#: read.c:1041
msgid "missing rule before recipe"
-msgstr "nedostaje propis prije naredbi"
+msgstr "nedostaje propis prije recepta"
-# Grr, ¾ivjela engleska mno¾ina! I ¹to sad da radim s onim %s-om?
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "nedostaju separatori-%s"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
+msgstr " (jeste li htjeli TAB umjesto 8 razmaka?)"
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
-msgstr " (jeste li mislili na TAB umjesto 8 razmaka?)"
+# Grr, živjela engleska množina! I što sad da radim s onim %s-om?
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "nedostaju znakovi razdvajanja (%s)"
-#: read.c:1163
+#: read.c:1270
msgid "missing target pattern"
msgstr "nedostaje uzorak mete"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
-msgstr "vi¹estruki uzorci meta"
+msgstr "višestruki uzorci meta"
-#: read.c:1169
-#, c-format
-msgid "target pattern contains no `%%'"
-msgstr "uzorak mete ne sadr¾i `%%'"
+#: read.c:1276
+#, fuzzy, c-format
+msgid "target pattern contains no '%%'"
+msgstr "uzorak mete ne sadrži „%%â€"
-#: read.c:1293
-msgid "missing `endif'"
-msgstr "nedostaje `endif'"
+#: read.c:1398
+#, fuzzy
+msgid "missing 'endif'"
+msgstr "nedostaje „endifâ€"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "prazno ime varijable"
-#: read.c:1367
+#: read.c:1471
#, fuzzy
-msgid "extraneous text after `define' directive"
-msgstr "Suvi¹an tekst nakon direktive `endef'"
-
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
-msgstr "nedostaje `endef', nedovr¹en `define'"
+msgid "extraneous text after 'define' directive"
+msgstr "suviÅ¡an tekst nakon direktive „defineâ€"
-#: read.c:1420
+#: read.c:1496
#, fuzzy
-msgid "extraneous text after `endef' directive"
-msgstr "Suvi¹an tekst nakon direktive `endef'"
+msgid "missing 'endef', unterminated 'define'"
+msgstr "nedostaje „endefâ€, nedovrÅ¡en „defineâ€"
-#: read.c:1490
-#, c-format
-msgid "Extraneous text after `%s' directive"
-msgstr "Suvi¹an tekst nakon direktive `%s'"
+#: read.c:1524
+#, fuzzy
+msgid "extraneous text after 'endef' directive"
+msgstr "suviÅ¡an tekst nakon direktive „endefâ€"
-#: read.c:1499 read.c:1513
-#, c-format
-msgid "extraneous `%s'"
-msgstr "suvi¹an `%s'"
+#: read.c:1595
+#, fuzzy, c-format
+msgid "extraneous text after '%s' directive"
+msgstr "suviÅ¡an tekst nakon direktive „%sâ€"
-#: read.c:1518
-msgid "only one `else' per conditional"
-msgstr "samo jedan `else' po uvjetu"
+#: read.c:1596
+#, fuzzy, c-format
+msgid "extraneous '%s'"
+msgstr "suviÅ¡an „%sâ€"
-#: read.c:1797
+#: read.c:1624
#, fuzzy
+msgid "only one 'else' per conditional"
+msgstr "samo jedan „else†po uvjetu"
+
+#: read.c:1899
msgid "Malformed target-specific variable definition"
-msgstr "Izoblièena definicija o meti ovisne varijable"
+msgstr "IzobliÄena definicija o meti ovisne varijable"
-#: read.c:1855
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
-msgstr ""
+msgstr "preduvjeti ne mogu biti definirani u receptima"
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
-msgstr "pomije¹ani implicitni i statièki propisi uzorka"
+msgstr "pomijeÅ¡ani implicitni i statiÄki propisi uzoraka"
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
-msgstr "pomije¹ani implicitni i normalni propisi"
+msgstr "pomiješani implicitni i normalni propisi"
-#: read.c:1976
-#, c-format
-msgid "target `%s' doesn't match the target pattern"
-msgstr "meta `%s' ne odgovara uzorku mete"
+#: read.c:2091
+#, fuzzy, c-format
+msgid "target '%s' doesn't match the target pattern"
+msgstr "meta „%s†ne odgovara uzorku mete"
-#: read.c:1991 read.c:2036
-#, c-format
-msgid "target file `%s' has both : and :: entries"
-msgstr "spis meta `%s' ima unose i kod : i kod ::"
+#: read.c:2106 read.c:2152
+#, fuzzy, c-format
+msgid "target file '%s' has both : and :: entries"
+msgstr "datoteka mete „%s†ima unose i kod : i kod ::"
-#: read.c:1997
-#, c-format
-msgid "target `%s' given more than once in the same rule."
-msgstr "meta `%s' zadan vi¹e nego jednom u istom propisu."
+#: read.c:2112
+#, fuzzy, c-format
+msgid "target '%s' given more than once in the same rule"
+msgstr "meta „%s†je navedena više nego jednom u istom propisu."
-#: read.c:2006
+#: read.c:2122
#, fuzzy, c-format
-msgid "warning: overriding recipe for target `%s'"
-msgstr "upozorenje: poni¹tavam postojeæe naredbe za metu `%s'"
+msgid "warning: overriding recipe for target '%s'"
+msgstr "upozorenje: poniÅ¡tavam recept za metu „%sâ€"
-#: read.c:2009
+#: read.c:2125
#, fuzzy, c-format
-msgid "warning: ignoring old recipe for target `%s'"
-msgstr "upozorenje: ignoriram stare naredbe za metu `%s'"
+msgid "warning: ignoring old recipe for target '%s'"
+msgstr "upozorenje: zanemarujem stari recept za metu „%sâ€"
-#: read.c:2392
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "pomiješani implicitni i normalni propisi"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
-msgstr "upozorenje: NUL znak uoèen; ostatak retka se zanemaruje"
+msgstr "upozorenje: uoÄen je NUL znak; ostatak retka se zanemaruje"
-#: remake.c:234
-#, c-format
-msgid "Nothing to be done for `%s'."
-msgstr "Ni¹ta za napraviti za `%s'."
+#: remake.c:230
+#, fuzzy, c-format
+msgid "Nothing to be done for '%s'."
+msgstr "NiÅ¡ta za napraviti za „%sâ€."
-#: remake.c:235
-#, c-format
-msgid "`%s' is up to date."
-msgstr "`%s' je a¾uriran."
+#: remake.c:231
+#, fuzzy, c-format
+msgid "'%s' is up to date."
+msgstr "„%s†je ažuriran."
-#: remake.c:306
-#, c-format
-msgid "Pruning file `%s'.\n"
-msgstr "Èistim spis `%s'.\n"
+#: remake.c:303
+#, fuzzy, c-format
+msgid "Pruning file '%s'.\n"
+msgstr "ÄŒistim datoteku „%sâ€.\n"
-#: remake.c:359
-#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%sNema propisa za izradu mete `%s'%s"
+#: remake.c:390 remake.c:393
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
+msgstr "%sNema propisa za izradu mete „%sâ€, koji traži „%sâ€%s"
-#: remake.c:361
-#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
-msgstr "%sNema propisa za izradu mete `%s', kojeg tra¾i `%s'%s"
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sNema propisa za izradu mete „%sâ€%s"
-#: remake.c:413
-#, c-format
-msgid "Considering target file `%s'.\n"
-msgstr "Uzimam u razmatranje spis metu `%s'.\n"
+#: remake.c:426
+#, fuzzy, c-format
+msgid "Considering target file '%s'.\n"
+msgstr "Razmatram datoteku mete „%sâ€.\n"
-#: remake.c:420
-#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
-msgstr "Nedavno bezuspje¹no poku¹ao a¾urirati spis `%s'\n"
+#: remake.c:433
+#, fuzzy, c-format
+msgid "Recently tried and failed to update file '%s'.\n"
+msgstr "Nedavno bezuspjeÅ¡no pokuÅ¡ao ažurirati datoteku „%sâ€.\n"
-#: remake.c:432
-#, c-format
-msgid "File `%s' was considered already.\n"
-msgstr "Spis `%s' veæ je bio uzet u razmatranje.\n"
+#: remake.c:445
+#, fuzzy, c-format
+msgid "File '%s' was considered already.\n"
+msgstr "Datoteka „%s†je već razmatrana.\n"
-#: remake.c:442
-#, c-format
-msgid "Still updating file `%s'.\n"
-msgstr "Jo¹ uvijek a¾uriram spis `%s'.\n"
+#: remake.c:455
+#, fuzzy, c-format
+msgid "Still updating file '%s'.\n"
+msgstr "JoÅ¡ uvijek ažuriram datoteku „%sâ€.\n"
-#: remake.c:445
-#, c-format
-msgid "Finished updating file `%s'.\n"
-msgstr "Zavr¹io s a¾uriranjem spisa `%s'.\n"
+#: remake.c:458
+#, fuzzy, c-format
+msgid "Finished updating file '%s'.\n"
+msgstr "ZavrÅ¡io s ažuriranjem datoteke „%sâ€.\n"
-#: remake.c:474
-#, c-format
-msgid "File `%s' does not exist.\n"
-msgstr "Spis `%s' ne postoji.\n"
+#: remake.c:487
+#, fuzzy, c-format
+msgid "File '%s' does not exist.\n"
+msgstr "Datoteka „%s†ne postoji.\n"
-#: remake.c:481
-#, c-format
+#: remake.c:495
+#, fuzzy, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-"*** Upozorenje: .LOW_RESOLUTION_TIME spis `%s' ima vremensku oznaku visoke "
-"rezolucije"
+"*** Upozorenje: .LOW_RESOLUTION_TIME datoteka „%s†ima vremensku oznaku "
+"visoke rezolucije"
-#: remake.c:494 remake.c:1016
-#, c-format
-msgid "Found an implicit rule for `%s'.\n"
-msgstr "Na¹ao implicitni propis za `%s'.\n"
+#: remake.c:508 remake.c:1040
+#, fuzzy, c-format
+msgid "Found an implicit rule for '%s'.\n"
+msgstr "PronaÄ‘en implicitni propis za „%sâ€.\n"
-#: remake.c:496 remake.c:1018
-#, c-format
-msgid "No implicit rule found for `%s'.\n"
-msgstr "Nijedan implicitni propis nisam na¹ao za `%s'.\n"
+#: remake.c:510 remake.c:1042
+#, fuzzy, c-format
+msgid "No implicit rule found for '%s'.\n"
+msgstr "Nisam naÅ¡ao nijedan implicitni propis za „%sâ€.\n"
-#: remake.c:502
+#: remake.c:516
#, fuzzy, c-format
-msgid "Using default recipe for `%s'.\n"
-msgstr "Koristim podrazumijevane naredbe za `%s'.\n"
+msgid "Using default recipe for '%s'.\n"
+msgstr "Koristim zadani recept za „%sâ€.\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
-msgstr "Kru¾na ovisnost %s <- %s ispu¹tena."
+msgstr "Kružna ovisnost %s <- %s ispuštena."
-#: remake.c:651
-#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
-msgstr "Zavr¹eni prerekviziti spisa mete `%s'.\n"
+#: remake.c:675
+#, fuzzy, c-format
+msgid "Finished prerequisites of target file '%s'.\n"
+msgstr "ZavrÅ¡eni preduvjeti datoteke mete „%sâ€.\n"
-#: remake.c:657
-#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
-msgstr "Prerekviziti `%s' su u izradi.\n"
+#: remake.c:681
+#, fuzzy, c-format
+msgid "The prerequisites of '%s' are being made.\n"
+msgstr "Preduvjeti „%s†se izrađuju.\n"
-#: remake.c:670
-#, c-format
-msgid "Giving up on target file `%s'.\n"
-msgstr "Odustajem od spisa mete `%s'.\n"
+#: remake.c:695
+#, fuzzy, c-format
+msgid "Giving up on target file '%s'.\n"
+msgstr "Odustajem od datoteke mete „%sâ€.\n"
-#: remake.c:675
-#, c-format
-msgid "Target `%s' not remade because of errors."
-msgstr "Meta `%s' nije ponovo izraðen zbog gre¹aka."
+#: remake.c:700
+#, fuzzy, c-format
+msgid "Target '%s' not remade because of errors."
+msgstr "Meta „%s†nije ponovo izrađena zbog grešaka."
# Nisam siguran da sam ovo ispravno shvatio.
-#: remake.c:727
-#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
-msgstr "Prerekvizit `%s' slu¾i samo za redosljed pri meti `%s'.\n"
+#: remake.c:752
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
+msgstr "Preduvjet „%s†služi samo za redoslijed za metu „%sâ€.\n"
-#: remake.c:732
-#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
-msgstr "Prerekvizit `%s' mete `%s' ne postoji.\n"
+#: remake.c:757
+#, fuzzy, c-format
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
+msgstr "Preduvjet „%s†mete „%s†ne postoji.\n"
-#: remake.c:737
-#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
-msgstr "Prerekvizit `%s' noviji je od mete `%s':\n"
+#: remake.c:762
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
+msgstr "Preduvjet „%s†noviji je od mete „%sâ€.\n"
-#: remake.c:740
-#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
-msgstr "Prerekvizit `%s' stariji je od mete `%s'.\n"
+#: remake.c:765
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is older than target '%s'.\n"
+msgstr "Preduvjet „%s†stariji je od mete „%sâ€.\n"
-#: remake.c:758
-#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
-msgstr "Meta `%s' je dvotoèka, a nema prerekvizita.\n"
+#: remake.c:783
+#, fuzzy, c-format
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
+msgstr "Meta „%s†je dvotoÄje, a nema preduvjete.\n"
-#: remake.c:765
+#: remake.c:790
#, fuzzy, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
-msgstr "Nema naredbi za `%s', a nijedan prerekvizit nije promijenjen.\n"
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
+msgstr "Nema recepta za „%sâ€, a nijedan preduvjet nije promijenjen.\n"
-#: remake.c:770
-#, c-format
-msgid "Making `%s' due to always-make flag.\n"
-msgstr "Proizvodim `%s' zbog opcije always-make.\n"
+#: remake.c:795
+#, fuzzy, c-format
+msgid "Making '%s' due to always-make flag.\n"
+msgstr "Izrađujem „%s†zbog zastavice always-make.\n"
-#: remake.c:778
-#, c-format
-msgid "No need to remake target `%s'"
-msgstr "Nema potrebe ponovo izraditi metu `%s'"
+#: remake.c:803
+#, fuzzy, c-format
+msgid "No need to remake target '%s'"
+msgstr "Ponovna izrada mete „%s†nije potrebna"
-#: remake.c:780
-#, c-format
-msgid "; using VPATH name `%s'"
-msgstr "; koristim VPATH imena `%s'"
+#: remake.c:805
+#, fuzzy, c-format
+msgid "; using VPATH name '%s'"
+msgstr "; koristim VPATH ime „%sâ€"
-#: remake.c:800
-#, c-format
-msgid "Must remake target `%s'.\n"
-msgstr "Moram ponovo izgraditi metu `%s'.\n"
+#: remake.c:825
+#, fuzzy, c-format
+msgid "Must remake target '%s'.\n"
+msgstr "Moram ponovo izraditi metu „%sâ€.\n"
-#: remake.c:806
-#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
-msgstr " Ignoriram VPATH imena `%s'.\n"
+#: remake.c:831
+#, fuzzy, c-format
+msgid " Ignoring VPATH name '%s'.\n"
+msgstr " Zanemarujem VPATH ime „%sâ€.\n"
-#: remake.c:815
+#: remake.c:840
#, fuzzy, c-format
-msgid "Recipe of `%s' is being run.\n"
-msgstr "Naredbe od `%s' se izvr¹avaju.\n"
+msgid "Recipe of '%s' is being run.\n"
+msgstr "Recept za „%s†se izvršava.\n"
-#: remake.c:822
-#, c-format
-msgid "Failed to remake target file `%s'.\n"
-msgstr "Nije uspjela ponovna izrada spisa mete `%s'.\n"
+#: remake.c:847
+#, fuzzy, c-format
+msgid "Failed to remake target file '%s'.\n"
+msgstr "Nisam uspio ponovo izraditi datoteku mete „%sâ€.\n"
-#: remake.c:825
-#, c-format
-msgid "Successfully remade target file `%s'.\n"
-msgstr "Uspje¹no ponovno izradio spis metu `%s'.\n"
+#: remake.c:850
+#, fuzzy, c-format
+msgid "Successfully remade target file '%s'.\n"
+msgstr "UspjeÅ¡no ponovo izraÄ‘ena datoteka mete „%sâ€.\n"
-#: remake.c:828
-#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
-msgstr "Spis meta `%s' treba ponovnu izradu zbog -q.\n"
+#: remake.c:853
+#, fuzzy, c-format
+msgid "Target file '%s' needs to be remade under -q.\n"
+msgstr "Datoteku mete „%s†treba ponovo izraditi zbog -q.\n"
-#: remake.c:1024
-#, c-format
-msgid "Using default commands for `%s'.\n"
-msgstr "Koristim podrazumijevane naredbe za `%s'.\n"
+#: remake.c:1048
+#, fuzzy, c-format
+msgid "Using default commands for '%s'.\n"
+msgstr "Koristim zadane naredbe za „%sâ€.\n"
-#: remake.c:1357
-#, c-format
-msgid "Warning: File `%s' has modification time in the future"
-msgstr "Upozorenje: Spis `%s' ima vrijeme promjene u buduænosti"
+#: remake.c:1397
+#, fuzzy, c-format
+msgid "Warning: File '%s' has modification time in the future"
+msgstr "Upozorenje: Vrijeme uređivanja datoteke „%s†je u budućnosti"
-#: remake.c:1370
+#: remake.c:1411
#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
-msgstr "Upozorenje: Spis `%s' ima vrijeme promjene %.2g s u buduænosti"
+msgid "Warning: File '%s' has modification time %s s in the future"
+msgstr ""
+"Upozorenje: Vrijeme uređivanja datoteke „%s†je %s sekundi u budućnosti"
-#: remake.c:1569
-#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
-msgstr "Element .LIBPATTERNS `%s' nije uzorak"
+#: remake.c:1610
+#, fuzzy, c-format
+msgid ".LIBPATTERNS element '%s' is not a pattern"
+msgstr "Element „%s†iz .LIBPATTERNS nije uzorak"
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
-msgstr "Customs neæe eksportirati: %s\n"
+msgstr "Customs neće izvesti: %s\n"
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
msgstr ""
"\n"
-"# Implicitni Propisi"
+"# Implicitni propisi"
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1630,7 +1836,7 @@ msgstr ""
"\n"
"# Nema implicitnih propisa."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1639,246 +1845,270 @@ msgstr ""
"\n"
"# %u implicitnih propisa, %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
-msgstr " zavr¹ni."
+msgstr " završni."
-#: rule.c:534
-#, fuzzy, c-format
+#: 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:86
+#: signame.c:84
msgid "unknown signal"
msgstr "nepoznat signal"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
-msgstr "Izgubljena veza"
+msgstr "Završetak"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
msgstr "Prekid"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
-msgstr "Prestanak"
+msgstr "Izlaz"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
-msgstr "Nedopu¹tena instrukcija"
+msgstr "Nedozvoljena instrukcija"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
-msgstr "Zamka za slijed/prekidnu toèku"
+msgstr "Zamka za praćenje/prekidnu toÄku"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
-msgstr "Otkazan"
+msgstr "Prekinut"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
msgstr "IOT zamka"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
-msgstr "EMT zamja"
+msgstr "EMT zamka"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
-msgstr "Iznimka floating pointa"
+msgstr "Iznimka pomiÄnog zareza"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
-msgstr "Ubijen"
+msgstr "Prekinut"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
-msgstr "Sabirnièka gre¹ka"
+msgstr "SabirniÄka greÅ¡ka"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
-msgstr "Segmentacijska gre¹ka"
+msgstr "Segmentacijska greška"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
-msgstr "Nevaljan sistemski poziv"
+msgstr "Neispravan sustavski poziv"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
-msgstr "Prekinut kanal"
+msgstr "Prekinut cjevovod"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr "Budilica"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
-msgstr "Terminiran"
+msgstr "Završen"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
-msgstr "Korisnièki definiran signal 1"
+msgstr "KorisniÄki definiran signal 1"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
-msgstr "Korisnièki definiran signal 2"
+msgstr "KorisniÄki definiran signal 2"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
-msgstr "Dijete iza¹lo"
+msgstr "Dijete je završilo"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
-msgstr "Nestalo struje"
+msgstr "Prekid napajanja"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr "Zaustavljen"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
-msgstr "Zaustavljen (unosom s TTY-ja)"
+msgstr "Zaustavljen (tty ulaz)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
-msgstr "Zaustavljen (outputom s TTY-ja)"
+msgstr "Zaustavljen (tty izlaz)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
msgstr "Zaustavljen (signalom)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
-msgstr "prekoraèeno ogranièenje CPU vremena"
+msgstr "PrekoraÄeno ograniÄenje procesorskog vremena"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
-msgstr "Prekoraèeno ogranièenje velièine spisa"
+msgstr "PrekoraÄeno ograniÄenje veliÄine datoteke"
# Kako prevesti "virtual timer"?
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
-msgstr "Virtualna ¹toperica istekla"
+msgstr "Virtualna Å¡toperica istekla"
# Kako prevesti "profiling timer"?
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
-msgstr "Profajlerska ¹toperica istekla"
+msgstr "Å toperica profiliranja istekla"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
msgstr "Promijenjen prozor"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
msgstr "Nastavljen"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
-msgstr "Hitno stanje I/O-a"
+msgstr "Hitno U/I stanje"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
-msgstr "I/O moguæ"
+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:204
+# 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"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
-msgstr "Izgubljen resurs"
+msgstr "Resurs izgubljen"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
msgstr "Signal za opasnost"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
msgstr "Zahtjev za informacijom"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
-msgstr "Aritmetièki koprocesor nije dostupan."
+msgstr "Koprocesor za rad s pomiÄnim zarezom nije dostupan"
-#: strcache.c:235
+#: strcache.c:236
#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s No strcache buffers\n"
msgstr ""
-#: strcache.c:237
-#, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+#: strcache.c:266
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
msgstr ""
+"%s strcache korišteno: ukupno = %d (%d) / max = %d / min = %d / prosjek = "
+"%d\n"
-#: strcache.c:239
+#: strcache.c:270
#, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
-#: strcache.c:241
-#, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+#: strcache.c:280
+#, fuzzy, c-format
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
msgstr ""
+"%s strcache korišteno: ukupno = %d (%d) / max = %d / min = %d / prosjek = "
+"%d\n"
-#: strcache.c:244
-#, fuzzy
+#: 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 strcache slobodno: ukupno = %d (%d) / max = %d / min = %d / prosjek = %d\n"
+
+#: strcache.c:287
+#, fuzzy, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
+msgstr ""
+"\n"
+"%s # nizova u strcache: %d / pretrage = %lu / pronalasci = %lu\n"
+
+#: strcache.c:289
+#, fuzzy
+msgid ""
+"# hash-table stats:\n"
"# "
msgstr ""
"\n"
-"# statistike hash tablice spisa\n"
+"# statistike tablice raspršivanja datoteka:\n"
"# "
-#: variable.c:1541
+#: variable.c:1599
+msgid "automatic"
+msgstr "automatsko"
+
+#: variable.c:1602
msgid "default"
-msgstr "podrazumijevano"
+msgstr "zadano"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
-msgstr "okoli¹"
+msgstr "okolina"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
-msgstr "makefile"
+msgstr "datoteka izrade"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
-msgstr "okoli¹ pod -e"
+msgstr "okolina pod -e"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
-msgstr "komandna linija"
+msgstr "naredbeni redak"
-#: variable.c:1556
-msgid "`override' directive"
-msgstr "direktiva `override'"
-
-#: variable.c:1559
-msgid "automatic"
-msgstr "automatsko"
+#: variable.c:1617
+#, fuzzy
+msgid "'override' directive"
+msgstr "direktiva „overrideâ€"
-#: variable.c:1570
-#, c-format
-msgid " (from `%s', line %lu)"
-msgstr " (iz `%s', redak %lu):"
+#: variable.c:1628
+#, fuzzy, c-format
+msgid " (from '%s', line %lu)"
+msgstr " (iz „%sâ€, redak %lu)"
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
-msgstr "# hash table statistike varijabli:\n"
+msgstr "# statistike tablice raspršivanja skupova varijabli:\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -1886,8 +2116,7 @@ msgstr ""
"\n"
"# Varijable\n"
-#: variable.c:1627
-#, fuzzy
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -1895,7 +2124,7 @@ msgstr ""
"\n"
"# Uzorcima svojstvene vrijednosti varijabli"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -1903,7 +2132,7 @@ msgstr ""
"\n"
"# Nema uzorcima svojstvenih vrijednosti varijabli."
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -1912,140 +2141,186 @@ msgstr ""
"\n"
"# %u uzorcima svojstvenih vrijednosti varijabli"
-#: variable.h:219
-#, c-format
-msgid "warning: undefined variable `%.*s'"
-msgstr "upozorenje: nedefinirana varijabla `%.*s'"
-
-#: vmsfunctions.c:92
+#: variable.h:224
#, fuzzy, c-format
+msgid "warning: undefined variable '%.*s'"
+msgstr "upozorenje: nedefinirana varijabla „%.*sâ€"
+
+#: vmsfunctions.c:91
+#, c-format
msgid "sys$search() failed with %d\n"
-msgstr "sys$search je zatajila s %d\n"
+msgstr "sys$search() nije uspio s %d\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Upozorenje: Prazno preusmjeravanje\n"
-#: vmsjobs.c:184
-#, c-format
-msgid "internal error: `%s' command_state"
-msgstr "unutra¹nja gre¹ka: `%s' command_state"
+#: vmsjobs.c:183
+#, fuzzy, c-format
+msgid "internal error: '%s' command_state"
+msgstr "interna greška: „%s†command_state"
-#: vmsjobs.c:289
+#: 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 ponovo omoguæiti obradu CTRL-Y iz DCL-a.\n"
+"-upozorenje, možda ćete morati ponovo omogućiti upravljanje s CTRL-Y iz DCL-"
+"a.\n"
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
-msgstr "UGRAÐEN [%s][%s]\n"
+msgstr "UGRAÄEN [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
-msgstr "UGRAÐEN CD %s\n"
+msgstr "UGRAÄEN CD %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "UGRAÐEN RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "UGRAÄEN CD %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
-msgstr "Nepoznata ugraðena naredba `%s'\n"
+msgstr "Nepoznata ugraÄ‘ena naredba „%sâ€\n"
-#: vmsjobs.c:493
+#: 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 "Gre¹ka, prazna naredba\n"
+msgstr "Greška, prazna naredba\n"
-#: vmsjobs.c:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
-msgstr "Preusmjerio ulaz iz %s\n"
+msgstr "Preusmjeren ulaz iz %s\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
-msgstr "Preusmjerio gre¹ke u %s\n"
+msgstr "Preusmjerene greške u %s\n"
-#: vmsjobs.c:523
-#, fuzzy, c-format
+#: vmsjobs.c:690
+#, c-format
msgid "Append output to %s\n"
-msgstr "Preusmjerio izlaz u %s\n"
+msgstr "Dodaj izlaz na %s\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
-msgstr "Preusmjerio izlaz u %s\n"
+msgstr "Preusmjeren izlaz u %s\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
-msgstr ""
+msgstr "Dodaj %.*s i poÄisti\n"
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
-msgstr "Umjesto toga, izvr¹avam %s\n"
+msgstr "Umjesto toga, izvršavam %s\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
-msgstr "Gre¹ka pri pokretanju, %d\n"
+msgstr "Greška pri pokretanju, %d\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
msgstr ""
"\n"
-"# VPATH staze za pretra¾ivanje\n"
+"# VPATH putanje za pretraživanje\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
-msgstr "# Nema `vpath' staza za pretra¾ivanje."
+#: vpath.c:600
+#, fuzzy
+msgid "# No 'vpath' search paths."
+msgstr "# Nema „vpath†putanja za pretraživanje."
-#: vpath.c:605
-#, c-format
+#: vpath.c:602
+#, fuzzy, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
-"# %u `vpath' staza za pretra¾ivanje.\n"
+"# %u „vpath†putanja za pretraživanje.\n"
-#: vpath.c:608
+#: vpath.c:605
+#, fuzzy
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
-"# Nema opæe (iz varijable `VPATH') staze za pretra¾ivanje."
+"# Nema općenite putanje za pretraživanje (varijabla „VPATHâ€)."
-#: vpath.c:614
+#: vpath.c:611
+#, fuzzy
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
-"# Opæa (iz varijable `VPATH') staza za pretra¾ivanje:\n"
+"# Općenita putanja za pretraživanje (varijabla „VPATHâ€):\n"
"# "
+#~ 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 "Invoking recipe from %s:%lu to update target `%s'.\n"
+#~ msgstr "Pozivam recept iz %s:%lu za ažuriranje mete „%sâ€.\n"
+
+#~ msgid "Invoking builtin recipe to update target `%s'.\n"
+#~ msgstr "Pozivam ugraÄ‘eni recept za ažuriranje mete „%sâ€.\n"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "interna greška: višestruko pojavljivanje opcije --jobserver-fds"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "virtualna memorija iscrpljena"
+
+# Što bi ovdje trebalo ići?
+#~ msgid "write error"
+#~ msgstr "gresÌŒka pisanja"
+
+#~ msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+#~ msgstr "%s # strcache međuspremnika: %d (* %d B/međuspremniku = %d B)\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "# strcache hash-table stats:\n"
+#~ "# "
+#~ msgstr ""
+#~ "\n"
+#~ "# statistike strcache tablice raspršivanja:\n"
+#~ "# "
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "UGRAÄEN RM %s\n"
+
#~ msgid "Syntax error, still inside '\"'\n"
-#~ msgstr "Gre¹ka u sintaksi, jo¹ uvijek unutar '\"'\n"
+#~ msgstr "Greška u sintaksi, još uvijek unutar '\"'\n"
-# Nepo¾etene ili nepo¾njete?
+# Nepožetene ili nepožnjete?
#~ msgid "Got a SIGCHLD; %u unreaped children.\n"
-#~ msgstr "Dobio SIGCHLD; %u nepo¾etene djece.\n"
+#~ msgstr "Dobio SIGCHLD; %u nepožetene djece.\n"
#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
-#~ msgstr "-upozorenje, CTRL-Y æe ostaviti potproces(e) na ¾ivotu.\n"
+#~ msgstr "-upozorenje, CTRL-Y će ostaviti potproces(e) na životu.\n"
#~ msgid "Do not specify -j or --jobs if sh.exe is not available."
#~ msgstr "Nemojte koristiti -j ili --jobs ako sh.exe nije dostupan."
@@ -2059,11 +2334,11 @@ msgstr ""
#~ "%sPARTICULAR PURPOSE.\n"
#~ msgstr ""
#~ "%sOvaj program je slobodan; u izvornom kodu nalaze se uvjeti kopiranja.\n"
-#~ "%sNema NIKAKVOG jamstva, èak ni za PROIZVODNOST ili UPOTREBLJIVOST ZA\n"
+#~ "%sNema NIKAKVOG jamstva, Äak ni za PROIZVODNOST ili UPOTREBLJIVOST ZA\n"
#~ "%sPOJEDINU SVRHU.\n"
#~ msgid "extraneous `endef'"
-#~ msgstr "suvi¹an `endef'"
+#~ msgstr "suvišan `endef'"
#~ msgid "empty `override' directive"
#~ msgstr "prazna direktiva `ovverride'"
@@ -2089,40 +2364,40 @@ msgstr ""
#~ "# %u files in %u hash buckets.\n"
#~ msgstr ""
#~ "\n"
-#~ "# %u spisa u %u raspr¹enih d¾epova.\n"
+#~ "# %u spisa u %u raspršenih džepova.\n"
#~ msgid "# average %.3f files per bucket, max %u files in one bucket.\n"
-#~ msgstr "# prosjeèno %.3f spisa po d¾epu, maks. %u spisa u jednom d¾epu.\n"
+#~ msgstr "# prosjeÄno %.3f spisa po džepu, maks. %u spisa u jednom džepu.\n"
#~ msgid "DIRECTORY"
#~ msgstr "DIREKTORIJ"
#~ msgid "Change to DIRECTORY before doing anything"
-#~ msgstr "Promijeni u DIREKTORIJ prije nego ¹to i¹ta napravi¹"
+#~ msgstr "Promijeni u DIREKTORIJ prije nego što išta napraviš"
#~ msgid "FLAGS"
#~ msgstr "ZASTAVICE"
#~ msgid "Suspend process to allow a debugger to attach"
-#~ msgstr "Zaustavi proces tako da se debugger mo¾e zakaèiti"
+#~ msgstr "Zaustavi proces tako da se debugger može zakaÄiti"
#~ msgid "Environment variables override makefiles"
-#~ msgstr "Varijable iz okoli¹a imaju veæu va¾nost od makefilea"
+#~ msgstr "Varijable iz okoliša imaju veću važnost od makefilea"
#~ msgid "FILE"
#~ msgstr "SPIS"
#~ msgid "Read FILE as a makefile"
-#~ msgstr "Proèitaj SPIS kao makefile"
+#~ msgstr "ProÄitaj SPIS kao makefile"
#~ msgid "Search DIRECTORY for included makefiles"
-#~ msgstr "Pretra¾i DIREKTORIJ za ukljuèenim makefileovima"
+#~ msgstr "Pretraži DIREKTORIJ za ukljuÄenim makefileovima"
#~ msgid "Don't start multiple jobs unless load is below N"
-#~ msgstr "Ne pokreæi vi¹estruke poslove osim ako je optereæenje ispod N"
+#~ msgstr "Ne pokreći višestruke poslove osim ako je opterećenje ispod N"
#~ msgid "Don't actually run any commands; just print them"
-#~ msgstr "Nemoj zapravo pokrenuti nijednu naredbu; samo ih ispi¹i"
+#~ msgstr "Nemoj zapravo pokrenuti nijednu naredbu; samo ih ispiši"
#~ msgid "Consider FILE to be very old and don't remake it"
#~ msgstr "Pretpostavi da je SPIS vrlo star i nemoj ga ponovo napraviti"
@@ -2131,10 +2406,10 @@ msgstr ""
#~ msgstr "Ne ispisuj naredbe"
#~ msgid "Turns off -k"
-#~ msgstr "Iskljuèuje -k"
+#~ msgstr "IskljuÄuje -k"
#~ msgid "Consider FILE to be infinitely new"
-#~ msgstr "Smatraj SPIS beskonaèno novim"
+#~ msgstr "Smatraj SPIS beskonaÄno novim"
#~ msgid "Entering"
#~ msgstr "Ulazim u"
@@ -2146,7 +2421,7 @@ msgstr ""
#~ msgstr "# Nema varijabli."
#~ msgid "# average of %.1f variables per bucket, max %u in one bucket.\n"
-#~ msgstr "# prosjeèno %.1f varijabli po d¾epu, maks. %u u jednom d¾epu.\n"
+#~ msgstr "# prosjeÄno %.1f varijabli po džepu, maks. %u u jednom džepu.\n"
#~ msgid "# average of %d.%d variables per bucket, max %u in one bucket.\n"
-#~ msgstr "# prosjeèno %d.%d varijabli po d¾epu, maks. %u u jednom d¾epu.\n"
+#~ msgstr "# prosjeÄno %d.%d varijabli po džepu, maks. %u u jednom džepu.\n"
diff --git a/po/id.gmo b/po/id.gmo
index 5ef2ce3e..44d6423b 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 3ccb1433..ef0dd994 100644
--- a/po/id.po
+++ b/po/id.po
@@ -1,122 +1,127 @@
# Pesan Bahasa Indonesia untuk GNU make
# Copyright (C) 2006 Free Software Foundation, Inc.
# This file is distributed under the same license as the make package.
-# Arif E. Nugroho <arif_endro@yahoo.com>, 2006, 2009.
+# Arif E. Nugroho <arif_endro@yahoo.com>, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU make 3.81\n"
+"Project-Id-Version: GNU make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-0400\n"
-"PO-Revision-Date: 2009-01-31 18:30+0700\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 <arif_endro@yahoo.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
+"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ar.c:48
+#: ar.c:46
#, c-format
-msgid "attempt to use unsupported feature: `%s'"
-msgstr "usaha untuk menggunakan layanan yang tidak didukung: `%s'"
+msgid "attempt to use unsupported feature: '%s'"
+msgstr "usaha untuk menggunakan layanan yang tidak didukung: '%s'"
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
msgstr "touch anggota archive tidak tersedia di VMS"
-#: ar.c:149
+#: ar.c:147
#, c-format
-msgid "touch: Archive `%s' does not exist"
-msgstr "touch: Archive `%s' tidak ada"
+msgid "touch: Archive '%s' does not exist"
+msgstr "touch: Archive '%s' tidak ada"
-#: ar.c:152
+#: ar.c:150
#, c-format
-msgid "touch: `%s' is not a valid archive"
-msgstr "touch: `%s' bukan archive yang valid"
+msgid "touch: '%s' is not a valid archive"
+msgstr "touch: '%s' bukan archive yang valid"
-#: ar.c:159
+#: ar.c:157
#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
-msgstr "touch: Anggota `%s' tidak terdapat dalam `%s'"
+msgid "touch: Member '%s' does not exist in '%s'"
+msgstr "touch: Anggota '%s' tidak terdapat dalam '%s'"
-#: ar.c:166
+#: ar.c:164
#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
-msgstr "touch: Kode kembali tidak baik dari ar_member_touch pada `%s'"
+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:69
-#, fuzzy, c-format
+#: 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"
+msgstr "lbr$set_module() gagal untuk mengekstrak info module, status = %d"
-#: arscan.c:175
-#, fuzzy, c-format
+#: arscan.c:230
+#, c-format
msgid "lbr$ini_control() failed with status = %d"
-msgstr "lbr$ini_control gagal dengan status = %d"
+msgstr "lbr$ini_control() gagal dengan status = %d"
-#: arscan.c:187
-#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
-msgstr "tidak dapat membuka perpustakaan `%s' untuk melihat anggota `%s'"
+#: 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:850
+#: 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"
+msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
+msgstr "Anggota '%s'%s: %ld bytes pada %ld (%ld).\n"
-#: arscan.c:851
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (nama mungkin akan di potong)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Tanggal %s"
-#: arscan.c:854
+#: 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:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr "Recipe has too many lines (%ud)"
+
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Berhenti.\n"
-#: commands.c:622
+#: commands.c:629
#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
-msgstr "*** [%s] Anggota archive `%s' mungkin palsu: tidak dihapus"
+msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
+msgstr "*** [%s] Anggota archive '%s' mungkin palsu: tidak dihapus"
-#: commands.c:625
+#: commands.c:633
#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
-msgstr "*** Anggota archive `%s' mungkin palsu; tidak dihapus"
+msgid "*** Archive member '%s' may be bogus; not deleted"
+msgstr "*** Anggota archive '%s' mungkin palsu; tidak dihapus"
-#: commands.c:638
+#: commands.c:647
#, c-format
-msgid "*** [%s] Deleting file `%s'"
-msgstr "*** [%s] Menghapus berkas `%s'"
+msgid "*** [%s] Deleting file '%s'"
+msgstr "*** [%s] Menghapus berkas '%s'"
-#: commands.c:640
+#: commands.c:649
#, c-format
-msgid "*** Deleting file `%s'"
-msgstr "*** Menghapus berkas `%s'"
+msgid "*** Deleting file '%s'"
+msgstr "*** Menghapus berkas '%s'"
-#: commands.c:676
-#, fuzzy
+#: commands.c:685
msgid "# recipe to execute"
msgstr "# perintah untuk dijalankan"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
msgstr " (bawaan):"
-#: commands.c:681
+#: commands.c:690
#, c-format
-msgid " (from `%s', line %lu):\n"
-msgstr " (dari `%s', baris %lu):\n"
+msgid " (from '%s', line %lu):\n"
+msgstr " (dari '%s', baris %lu):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -124,222 +129,219 @@ msgstr ""
"\n"
"# Direktori\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
msgstr "# %s: tidak dapat melihat statistik.\n"
-#: dir.c:1012
+#: 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:1016
+#: 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:1021
+#: 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:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
msgstr "# %s (kunci %s, mtime %d): "
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
msgstr "# %s (perangkat %d, inode [%d,%d,%d]): "
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
msgstr "# %s (perangkat %ld, inode %ld): "
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "Tidak"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr " berkas, "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "tidak"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
msgstr " tidak mungkin"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
msgstr " sejauh ini."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
msgstr " tidak mungkin dalam direktori %lu.\n"
-#: expand.c:127
+#: expand.c:125
#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
-msgstr "Variabel rekursif `%s' menunjuk pada dirinya sendiri"
+msgid "Recursive variable '%s' references itself (eventually)"
+msgstr "Variabel rekursif '%s' menunjuk pada dirinya sendiri"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
msgstr "referensi variabel tidak diselesaikan"
-#: file.c:267
-#, fuzzy, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
-msgstr "Perintah di spesifikasikan untuk berkas `%s' di %s:%lu,"
+#: 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:272
-#, fuzzy, 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: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:275
+#: file.c:280
#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
+msgid "but '%s' is now considered the same file as '%s'."
msgstr ""
-"tetapi `%s' sekarang dipertimbangkan sebagai berkas yang sama dengan `%s'."
+"tetapi '%s' sekarang dipertimbangkan sebagai berkas yang sama dengan '%s'."
-#: file.c:278
-#, fuzzy, 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:298
+#: file.c:283
#, 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'"
+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:303
#, 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'"
+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: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:392
+#: file.c:401
#, c-format
-msgid "*** Deleting intermediate file `%s'"
-msgstr "*** Menghapus berkas sementara `%s'"
+msgid "*** Deleting intermediate file '%s'"
+msgstr "*** Menghapus berkas sementara '%s'"
-#: file.c:396
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Menghapus berkas sementara...\n"
-#: file.c:803
+#: file.c:811
+msgid "Current time"
+msgstr "Waktu saat ini"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: Timestamp diluar jangkauan; digantikan dengan %s"
-#: file.c:804
-msgid "Current time"
-msgstr "Waktu saat ini"
-
-#: file.c:924
+#: file.c:955
msgid "# Not a target:"
msgstr "# Bukan sebuah target:"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Berkas sebelumnya (dibutuhkan oleh .PRECIOUS)."
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Phony target (dibutuhkan oleh .PHONY)."
-#: file.c:933
-#, fuzzy
+#: file.c:964
msgid "# Command line target."
-msgstr "# Baris-perintah target."
+msgstr "# Baris perintah target."
-#: file.c:935
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Merupakan baku, MAKEFILES atau -include/sinclude makefile."
-#: file.c:937
+#: file.c:968
+msgid "# Builtin rule"
+msgstr "# Tidak ada aturan implisit."
+
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Pencarian aturan implisit sudah selesai."
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Pencarian aturan implisit belum selesai."
-#: file.c:940
+#: file.c:973
#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
-msgstr "# Pola implisit atau statis stem: `%s'\n"
+msgid "# Implicit/static pattern stem: '%s'\n"
+msgstr "# Pola/implisit atau statis stem: '%s'\n"
-#: file.c:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Berkas merupakan dibutuhkan untuk sementara."
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
msgstr "# Juga membuat:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Waktu ubah sudah diperiksa."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
msgstr "# Berkas tidak ada."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
msgstr "# Berkas sudah sangat tua."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Terakhir dimodifikasi %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
msgstr "# Berkas sudah diperbarui."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Berkas belum diperbarui."
-#: file.c:968
-#, fuzzy
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Perintah sedang berjalan (INI MERUPAKAN SEBUAH BUG)."
-#: file.c:971
-#, fuzzy
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Perintah ketergantungan sedang berjalan (INI MERUPAKAN SEBUAH BUG)."
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Sukses memperbarui."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Perlu untuk diupdate (-q diset)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Gagal untuk mengupdate."
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# Nilai yang salah dalam anggota `update_status' !"
-
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
-msgstr "# Nilai yang salah dalam anggota `command_state' !"
+#: file.c:1025
+msgid "# Invalid value in 'command_state' member!"
+msgstr "# Nilai yang salah dalam anggota 'command_state' !"
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -347,7 +349,7 @@ msgstr ""
"\n"
"# Berksa"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -357,122 +359,176 @@ msgstr ""
"# berkas statistik hash-table:\n"
"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
-msgstr "argumen pertama untuk fungsi `word' bukan numerik"
-
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
-msgstr "argumen pertama untuk fungsi `word' harus lebih besar dari 0"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr "%s: Field '%s' not cached: %s"
-#: function.c:783
-msgid "non-numeric first argument to `wordlist' function"
-msgstr "argumen pertama untuk fungsi `wordlist' bukan numerik"
+#: function.c:780
+msgid "non-numeric first argument to 'word' function"
+msgstr "argumen pertama untuk fungsi 'word' bukan numerik"
#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
-msgstr "argumen kedua dari fungsi `wordlist' bukan numerik"
+msgid "first argument to 'word' function must be greater than 0"
+msgstr "argumen pertama untuk fungsi 'word' harus lebih besar dari 0"
-#: function.c:1458
-#, fuzzy, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
-msgstr "create_child_process: DuplicateHandle(In) gagal (e=%ld)\n"
+#: function.c:805
+msgid "non-numeric first argument to 'wordlist' function"
+msgstr "argumen pertama untuk fungsi 'wordlist' bukan numerik"
-#: function.c:1469
-#, fuzzy, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr "create_child_process: DuplicateHandle(Err) gagal (e=%ld)\n"
+#: function.c:807
+msgid "non-numeric second argument to 'wordlist' function"
+msgstr "argumen kedua dari fungsi 'wordlist' bukan numerik"
+
+#: 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:1523
+#, c-format
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
+msgstr "windows32_openpipe: DuplicateHandle(Err) gagal (e=%ld)\n"
-#: function.c:1474
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() gagal (e=%ld)\n"
-#: function.c:1479
-#, fuzzy
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
-msgstr "windows32_openpipe (): process_init_fd() gagal\n"
+msgstr "windows32_openpipe(): process_init_fd() gagal\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Membersihkan berkas batch sementara %s\n"
-#: function.c:2150
+#: function.c:2193
#, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
-msgstr "Jumlah dari argumen (%d) untuk fungsi `%s' tidak mencukupi"
+msgid "open: %s: %s"
+msgstr "open: %s: %s"
-#: function.c:2162
+#: function.c:2203
#, c-format
-msgid "unimplemented on this platform: function `%s'"
-msgstr "Tidak terimplementasi dalam platform ini: fungsi `%s'"
+msgid "write: %s: %s"
+msgstr "menulis: %s: %s"
-#: function.c:2212
+#: function.c:2209
#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
-msgstr "fungsi `%s' tidak diselesaikan: hilang `%c'"
+msgid "Invalid file operation: %s"
+msgstr "Invalid file operation: %s"
-#: getopt.c:661
+#: function.c:2324
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: opsi `%s' merupakan ambigu\n"
+msgid "insufficient number of arguments (%d) to function '%s'"
+msgstr "Jumlah dari argumen (%d) untuk fungsi '%s' tidak mencukupi"
-#: getopt.c:685
+#: function.c:2336
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: opsi `--%s' tidak memperbolehkan argumen\n"
+msgid "unimplemented on this platform: function '%s'"
+msgstr "Tidak terimplementasi dalam platform ini: fungsi '%s'"
-#: getopt.c:690
+#: function.c:2399
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: opsi `%c%s' tidak memperbolehkan argumen\n"
+msgid "unterminated call to function '%s': missing '%c'"
+msgstr "fungsi '%s' tidak diselesaikan: hilang '%c'"
+
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "Empty function name\n"
-#: getopt.c:707 getopt.c:880
+#: function.c:2593
+#, fuzzy, c-format
+msgid "Invalid function name: %s"
+msgstr "Invalid function name: %s\n"
+
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
+msgstr "Function name too long: %s\n"
+
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr "Jumlah dari argumen (%d) untuk fungsi %s tidak mencukupi\n"
+
+#: function.c:2601
+#, fuzzy, c-format
+msgid "Invalid maximum argument count (%d) for function %s"
+msgstr "Jumlah dari argumen (%d) untuk fungsi %s tidak mencukupi\n"
+
+#: getopt.c:659
#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: opsi `%s' membutuhkan sebuah argumen\n"
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: opsi '%s' merupakan ambigu\n"
-#: getopt.c:736
+#: getopt.c:683
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: opsi tidak dikenali `--%s'\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: opsi '--%s' tidak memperbolehkan argumen\n"
-#: getopt.c:740
+#: getopt.c:688
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: opsi tidak dikenali `%c%s'\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: opsi '%c%s' tidak memperbolehkan argumen\n"
-#: getopt.c:766
+#: getopt.c:705 getopt.c:878
+#, c-format
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s: opsi '%s' membutuhkan sebuah argumen\n"
+
+#: getopt.c:734
+#, c-format
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: opsi tidak dikenali '--%s'\n"
+
+#: getopt.c:738
+#, c-format
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: opsi tidak dikenali '%c%s'\n"
+
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: opsi tidak legal -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: opsi tidak valid -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: opsi membutuhkan sebuah argumen -- %c\n"
-#: getopt.c:846
+#: getopt.c:844
+#, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: opsi '-W %s' merupakan opsi ambigu\n"
+
+#: getopt.c:862
+#, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s: opsi '-W %s' tidak memperbolehkan sebuah argumen\n"
+
+#: guile.c:58
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: opsi `-W %s' merupakan opsi ambigu\n"
+msgid "guile: Expanding '%s'\n"
+msgstr "guile: Expanding '%s'\n"
-#: getopt.c:864
+#: guile.c:74
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: opsi `-W %s' tidak memperbolehkan sebuah argumen\n"
+msgid "guile: Evaluating '%s'\n"
+msgstr "guile: Evaluating '%s'\n"
#: hash.c:49
-#, fuzzy, c-format
+#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
msgstr ""
-"tidak dapat mengalokasikan %ld bytes untuk tabel hash; kehabisan memory"
+"tidak dapat mengalokasikan %lu bytes untuk tabel hash; kehabisan memory"
#: hash.c:280
#, c-format
@@ -489,131 +545,154 @@ msgstr "Rehash=%d, "
msgid "Collisions=%ld/%ld=%.0f%%"
msgstr "Tabrakan=%ld/%ld=%.0f%%"
-#: implicit.c:40
+#: implicit.c:38
#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
-msgstr "Mencari aturan implisit untuk `%s'.\n"
+msgid "Looking for an implicit rule for '%s'.\n"
+msgstr "Mencari aturan implisit untuk '%s'.\n"
-#: implicit.c:56
+#: implicit.c:54
#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
-msgstr "Mencari aturan implisit untuk anggota-archive pada `%s'.\n"
+msgid "Looking for archive-member implicit rule for '%s'.\n"
+msgstr "Mencari aturan implisit untuk anggota-archive pada '%s'.\n"
-#: implicit.c:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
msgstr "Menghindari aturan implisit rekursi.\n"
+#: implicit.c:486
+#, c-format
+msgid "Stem too long: '%.*s'.\n"
+msgstr "Stem too long: '%.*s'.\n"
+
#: implicit.c:491
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
-msgstr "Mencoba aturan pola dengan stem `%.*s'.\n"
+msgid "Trying pattern rule with stem '%.*s'.\n"
+msgstr "Mencoba aturan pola dengan stem '%.*s'.\n"
-#: implicit.c:674
+#: implicit.c:697
#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
-msgstr "Menolak persyaratan aturan yang tidak mungkin `%s'.\n"
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
+msgstr "Menolak persyaratan aturan yang tidak mungkin '%s'.\n"
-#: implicit.c:675
+#: implicit.c:698
#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
-msgstr "Menolak persyaratan implisit yang tidak mungkin `%s'.\n"
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
+msgstr "Menolak persyaratan implisit yang tidak mungkin '%s'.\n"
-#: implicit.c:688
+#: implicit.c:711
#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
-msgstr "Mencoba persyaratan dari aturan `%s'.\n"
+msgid "Trying rule prerequisite '%s'.\n"
+msgstr "Mencoba persyaratan dari aturan '%s'.\n"
-#: implicit.c:689
+#: implicit.c:712
#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
-msgstr "Mencoba persyaratan implisit `%s'.\n"
+msgid "Trying implicit prerequisite '%s'.\n"
+msgstr "Mencoba persyaratan implisit '%s'.\n"
-#: implicit.c:728
+#: implicit.c:751
#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
-msgstr "Menemukan persyaratan `%s' sebagai VPATH `%s'\n"
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
+msgstr "Menemukan persyaratan '%s' sebagai VPATH '%s'\n"
-#: implicit.c:742
+#: implicit.c:765
#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
-msgstr "Mencari aturan dengan berkas sementara `%s'.\n"
+msgid "Looking for a rule with intermediate file '%s'.\n"
+msgstr "Mencari aturan dengan berkas sementara '%s'.\n"
-#: job.c:335
+#: job.c:361
msgid "Cannot create a temporary file\n"
msgstr "Tidak dapat membuat berkas sementara\n"
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] Error 0x%x (diabaikan)"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (core di-dump)"
+
+#: job.c:488
+msgid " (ignored)"
+msgstr " (diabaikan)"
+
+#: job.c:492 job.c:2046
+msgid "<builtin>"
+msgstr "<bawaan>"
-#: job.c:450
+#: job.c:503
#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] Error 0x%x"
+msgid "%s: recipe for target '%s' failed"
+msgstr "%s: recipe for target '%s' failed"
-#: job.c:454
+#: job.c:516 job.c:524
#, c-format
-msgid "[%s] Error %d (ignored)"
-msgstr "[%s] Error %d (diabaikan)"
+msgid "%s[%s] Error %d%s"
+msgstr "%s[%s] Error %d%s"
-#: job.c:455
+#: job.c:519
#, c-format
-msgid "*** [%s] Error %d"
-msgstr "*** [%s] Error %d"
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Error 0x%x%s"
-#: job.c:460
-msgid " (core dumped)"
-msgstr " (core di-dump)"
+#: job.c:529
+#, c-format
+msgid "%s[%s] %s%s%s"
+msgstr "%s[%s] %s%s%s"
-#: job.c:549
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Menunggu pekerjaan yang belum selesai...."
-#: job.c:579
-#, fuzzy, c-format
+#: job.c:651
+#, c-format
msgid "Live child %p (%s) PID %s %s\n"
-msgstr "Proses anak yang masih berjalan 0x%08lx (%s) PID %ld %s\n"
+msgstr "Proses anak yang masih berjalan %p (%s) PID %s %s\n"
-#: job.c:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (remote)"
-#: job.c:758
-#, fuzzy, c-format
+#: job.c:841
+#, c-format
msgid "Reaping losing child %p PID %s %s\n"
-msgstr "Reaping anak hilang 0x%08lx PID %ld %s\n"
+msgstr "Reaping anak hilang %p PID %s %s\n"
-#: job.c:759
-#, fuzzy, c-format
+#: job.c:842
+#, c-format
msgid "Reaping winning child %p PID %s %s\n"
-msgstr "Reaping winning child 0x%08lx PID %ld %s\n"
+msgstr "Reaping winning child %p PID %s %s\n"
-#: job.c:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Membersihkan berkas batch sementara %s\n"
-#: job.c:861
-#, fuzzy, c-format
+#: 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:961
+#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
-msgstr "Menghilangkan proses anak 0x%08lx PID %ld%s dari rantai.\n"
+msgstr "Menghilangkan proses anak %p PID %s%s dari rantai.\n"
-#: job.c:920
-msgid "write jobserver"
-msgstr "menulis jobserver"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
+msgstr "release jobserver semaphore: (Error %ld: %s)"
-#: job.c:922
-#, fuzzy, c-format
+#: job.c:1024 job.c:1038
+#, c-format
msgid "Released token for child %p (%s).\n"
-msgstr "Melepaskan token dari proses anak 0x%08lx (%s).\n"
+msgstr "Melepaskan token dari proses anak %p (%s).\n"
-#: job.c:1453 job.c:2094
+#: 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:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -622,110 +701,167 @@ msgstr ""
"\n"
"Terhitung %d argumen gagal untuk dijalankan\n"
-#: job.c:1525
-#, fuzzy, c-format
+#: job.c:1735
+#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
-msgstr "Meletakkan proses anak 0x%08lx (%s) PID %ld%s pada rantai proses.\n"
+msgstr "Meletakkan proses anak %p (%s) PID %s%s pada rantai proses.\n"
-#: job.c:1778
-#, fuzzy, c-format
+#: 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 0x%08lx (%s).\n"
+msgstr "Memperoleh token untuk proses anak %p (%s).\n"
-#: job.c:1787
+#: job.c:2029
msgid "read jobs pipe"
msgstr "membaca pipa pekerjaan"
-#: job.c:1798
+#: job.c:2056
#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr ""
+msgid "%s: target '%s' does not exist"
+msgstr "%s: archive '%s' tidak ada"
-#: job.c:1802
-#, fuzzy, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "Tidak perlu membuat lagi target `%s'"
+#: 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:1910
+#: 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:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "tidak dapat memaksa mencapai batas beban: "
-#: job.c:1985
+#: 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:1987
+#: 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:2015
+#: 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:2293
msgid "Could not restore stdin\n"
msgstr "Tidak dapat mengembalikan stdin\n"
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Tidak dapat mengembalikan stdout\n"
-#: job.c:2127
-#, fuzzy, c-format
+#: job.c:2309
+msgid "Could not restore stderr\n"
+msgstr "Tidak dapat mengembalikan stderr\n"
+
+#: job.c:2420
+#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
-msgstr "make reaped child pid %ld, tetap menunggu untuk pid %ld\n"
+msgstr "make reaped child pid %s, tetap menunggu untuk pid %s\n"
-#: job.c:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Perintah tidak ada"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Shell program tidak ditemukan"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: mungkin kehabisan ruang environment"
-#: job.c:2461
+#: job.c:2765
#, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
-msgstr "$SHELL berubah (sebelumnya `%s', sekarang `%s')\n"
+msgid "$SHELL changed (was '%s', now '%s')\n"
+msgstr "$SHELL berubah (sebelumnya '%s', sekarang '%s')\n"
-#: job.c:2951
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Membuat berkas batch sementara %s\n"
-#: job.c:2963
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+"Batch file contents:\n"
+"\t@echo off\n"
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
+"Batch file contents:%s\n"
+"\t%s\n"
-#: job.c:3065
+#: 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"
-#: main.c:303
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr "Failed to open global symbol table: %s"
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr "Loaded object %s is not declared to be GPL compatible"
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr "Failed to load symbol %s from %s: %s"
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr "Empty symbol name for load: %s"
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr "Loading symbol %s from %s\n"
+
+#: load.c:244
+msgid "The 'load' operation is not supported on this platform."
+msgstr "Parallel jobs '-j' tidak didukung dalam platform ini."
+
+#: main.c:313
msgid "Options:\n"
msgstr "Opsi:\n"
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m Diabaikan untuk kompatibilitas.\n"
-#: main.c:306
+#: 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:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -733,17 +869,17 @@ msgstr ""
" -C DIRECTORI, --directory=DIREKTORI\n"
" Pindah ke DIREKTORI sebelum melakukan apapun.\n"
-#: main.c:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr " -d Menampilkan banyak informasi debug.\n"
-#: main.c:313
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=FLAGS] Menampilkan berbagai tipe informasi debug.\n"
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -751,12 +887,13 @@ msgstr ""
" -e, --environment-overrides\n"
" Variabel lingkungan memaksa makefiles.\n"
-#: main.c:318
+#: 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:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -764,18 +901,17 @@ msgstr ""
" -f BERKAS, --file=BERKAS, --makefile=BERKAS\n"
" Baca BERKAS sebagai sebuah makefile.\n"
-#: main.c:323
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Tampilkan pesan ini dan keluar.\n"
-#: main.c:325
-#, fuzzy
+#: 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:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -784,7 +920,7 @@ msgstr ""
" Cari di DIREKTORI untuk makefile yang "
"disertakan.\n"
-#: main.c:330
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -792,13 +928,13 @@ msgstr ""
" -j [N], --jobs[=N] Ijinkan N kerja secara bersamaan. Kerja tidak "
"terhingga jika tidak diberikan argumen.\n"
-#: main.c:332
+#: 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:334
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -808,7 +944,7 @@ msgstr ""
" Jangan menjalankan multiple pekerjaan kecuali "
"beban dibawah N.\n"
-#: main.c:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -816,8 +952,7 @@ msgstr ""
" -L, --check-symlink-times Gunakan waktu mtime terbaru diantara symlinks "
"dan target.\n"
-#: main.c:339
-#, fuzzy
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
@@ -827,7 +962,7 @@ msgstr ""
" Jangan menjalankan perintah apapun; tampilkan "
"saja apa yang akan dikerjakan.\n"
-#: main.c:342
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -837,12 +972,19 @@ msgstr ""
" Pertimbangkan BERKAS sudah sangat tua dan "
"jangan membuatnya lagi.\n"
-#: main.c:345
+#: 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"
+" Synchronize output of parallel jobs by TYPE.\n"
+
+#: 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:347
-#, fuzzy
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
@@ -850,22 +992,21 @@ msgstr ""
" -q, --question Tidak menjalankan perintah. Mengeluarkan "
"status saja dan mengatakan up to date.\n"
-#: main.c:349
+#: 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:351
+#: 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:353
-#, fuzzy
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Jangan menampilkan perintah.\n"
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -873,21 +1014,26 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Matikan opsi -k.\n"
-#: main.c:358
+#: 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:360
+#: main.c:373
+msgid " --trace Print tracing information.\n"
+msgstr ""
+" --trace Menampilkan banyak informasi debug.\n"
+
+#: 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:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Tampilkan directory saat ini.\n"
-#: main.c:364
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -895,7 +1041,7 @@ msgstr ""
" --no-print-directory Matikan opsi -w, walaupun opsi ini diaktifkan "
"secara implisit.\n"
-#: main.c:366
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -904,7 +1050,7 @@ msgstr ""
" Pertimbangkan BERKAS sebagai sebuah berkas "
"baru.\n"
-#: main.c:369
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -912,22 +1058,27 @@ msgstr ""
" --warn-undefined-variables Peringatkan akan adanya variabel yang tidak "
"terdefinisi yang direferensikan.\n"
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "`string' kosong tidak valid sebagai nama file"
-#: main.c:650
+#: main.c:737
#, c-format
-msgid "unknown debug level specification `%s'"
-msgstr "spesifikasi tingkat debug tidak diketahui `%s'"
+msgid "unknown debug level specification '%s'"
+msgstr "spesifikasi tingkat debug tidak diketahui '%s'"
-#: main.c:690
-#, fuzzy, c-format
+#: main.c:774
+#, c-format
+msgid "unknown output-sync type '%s'"
+msgstr "unknown output-sync type '%s'"
+
+#: 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%lx)\n"
+msgstr "%s: Interupsi/Exception diterima (kode = 0x%lx, alamat = 0x%p)\n"
-#: main.c:697
-#, fuzzy, c-format
+#: main.c:835
+#, c-format
msgid ""
"\n"
"Unhandled exception filter called from program %s\n"
@@ -939,164 +1090,182 @@ msgstr ""
"Exception filter tidak dapat diatasi dari program %s\n"
"ExceptionCode = %lx\n"
"ExceptionFlags = %lx\n"
-"ExceptionAddress = %lx\n"
+"ExceptionAddress = 0x%p\n"
-#: main.c:705
-#, fuzzy, c-format
+#: main.c:843
+#, c-format
msgid "Access violation: write operation at address 0x%p\n"
-msgstr "Akses dilanggar: operasi tulis pada alamat %lx\n"
+msgstr "Akses dilanggar: operasi tulis pada alamat 0x%p\n"
-#: main.c:706
-#, fuzzy, c-format
+#: main.c:844
+#, c-format
msgid "Access violation: read operation at address 0x%p\n"
-msgstr "Akses dilanggar: operasi baca pada alamat %lx\n"
+msgstr "Akses dilanggar: operasi baca pada alamat 0x%p\n"
-#: main.c:781 main.c:792
-#, fuzzy, c-format
+#: 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"
+msgstr "find_and_set_shell() diset pada default_shell = %s\n"
-#: main.c:834
-#, fuzzy, c-format
+#: 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"
+msgstr "find_and_set_shell() jalur pencarian di set pada default_shell = %s\n"
-#: main.c:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s dihentikan selama 30 detik..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "selesai tidur(30). Melanjutkan.\n"
-#: main.c:1501
+#: main.c:1527
+#, 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)"
+
+#: 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:1551
+msgid "warning: -jN forced in submake: disabling jobserver mode."
+msgstr ""
+"Peringatan: -jN dipaksakan dalam submake: non-aktifkan mode server pekerja."
+
+#: 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:1539 vmsjobs.c:500
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (berkas sementara)"
-#: main.c:1545
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (berkas sementara)"
-#: main.c:1703
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "Parallel jobs (-j) tidak didukung dalam platform ini."
-#: main.c:1704
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Mereset kembali ke mode satu job (-j1)."
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "internal error: opsi --jobserver-fds lebih dari satu"
-
-#: main.c:1727
+#: main.c:1994
#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
-msgstr "internal error: tidak valid --jobserver-fds string `%s'"
+msgid "Jobserver slots limited to %d\n"
+msgstr "Jobserver slots limited to %d\n"
-#: main.c:1730
+#: main.c:2002
#, c-format
-msgid "Jobserver client (fds %d,%d)\n"
-msgstr ""
-
-#: main.c:1740
-msgid "warning: -jN forced in submake: disabling jobserver mode."
-msgstr ""
-"Peringatan: -jN dipaksakan dalam submake: non-aktifkan mode server pekerja."
-
-#: main.c:1750
-msgid "dup jobserver"
-msgstr "dup server pekerja"
+msgid "creating jobserver semaphore: (Error %ld: %s)"
+msgstr "creating jobserver semaphore: (Error %ld: %s)"
-#: main.c:1753
-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:1777
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "membuat pipa pekerjaan"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "inisiasi pipa server pekerja"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "Symbolic links tidak didukung: menonaktifkan opsi -L."
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Memperbarui makefiles....\n"
-#: main.c:1917
+#: main.c:2158
#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
-msgstr "Makefile `%s' mungkin berupa loop; tidak membuat lagi.\n"
+msgid "Makefile '%s' might loop; not remaking it.\n"
+msgstr "Makefile '%s' mungkin berupa loop; tidak membuat lagi.\n"
-#: main.c:1996
+#: main.c:2237
#, c-format
-msgid "Failed to remake makefile `%s'."
-msgstr "Gagal membuat lagi makefile `%s'."
+msgid "Failed to remake makefile '%s'."
+msgstr "Gagal membuat lagi makefile '%s'."
-#: main.c:2013
+#: main.c:2257
#, c-format
-msgid "Included makefile `%s' was not found."
-msgstr "Makefile yang dimasukan `%s' tidak ditemukan."
+msgid "Included makefile '%s' was not found."
+msgstr "Makefile yang dimasukan '%s' tidak ditemukan."
-#: main.c:2018
+#: main.c:2262
#, c-format
-msgid "Makefile `%s' was not found"
-msgstr "Makefile `%s' tidak ditemukan"
+msgid "Makefile '%s' was not found"
+msgstr "Makefile '%s' tidak ditemukan"
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Tidak dapat kembali ke direktori asal."
-#: main.c:2102
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Menjalankan kembali[%u]:"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (berkas sementara): "
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL berisi lebih dari satu target"
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Target tidak dispesifikasikan dan tidak ditemukan makefile"
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
msgstr "Tidak ada targets"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Memperbarui tujuan target....\n"
-#: main.c:2306
+#: 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:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Penggunaan: %s [opsi] [target] ...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1105,7 +1274,7 @@ msgstr ""
"\n"
"Program ini dibuat untuk %s\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1114,36 +1283,32 @@ msgstr ""
"\n"
"Program ini dibuat untuk %s (%s)\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "Laporkan bugs kepada <bug-make@gnu.org>\n"
-#: main.c:2562
-#, fuzzy, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
-msgstr "opsi `-%c' membutuhkan sebuah argument string yang tidak kosong"
+#: 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:2617
+#: main.c:2871
#, c-format
-msgid "the `-%c' option requires a positive integral argument"
-msgstr "opsi `-%c' membutuhkan sebuah argument `string' yang tidak kosong"
+msgid "the '-%c' option requires a positive integer argument"
+msgstr "opsi '-%c' membutuhkan sebuah argument `string' yang tidak kosong"
-#: main.c:3054
-#, fuzzy, c-format
+#: main.c:3269
+#, c-format
msgid "%sBuilt for %s\n"
-msgstr ""
-"\n"
-"%sAplikasi ini dibuat untuk %s\n"
+msgstr "%sAplikasi ini dibuat untuk %s\n"
-#: main.c:3056
-#, fuzzy, c-format
+#: main.c:3271
+#, c-format
msgid "%sBuilt for %s (%s)\n"
-msgstr ""
-"\n"
-"%sAplikasi ini dibuat untuk %s (%s)\n"
+msgstr "%sAplikasi ini dibuat untuk %s (%s)\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1151,8 +1316,12 @@ msgid ""
"%sThis is free software: you are free to change and redistribute it.\n"
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
+"%sLisensi GPLv3+: GNU GPL versi 3 atau sesudahnya <http://gnu.org/licenses/"
+"gpl.html>\n"
+"%sIni adalah aplikasi gratis: anda bebas untuk mengubah dan menyebarkannya.\n"
+"%sTidak ada JAMINAN, sepanjang diperbolehkan oleh hukum.\n"
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1161,7 +1330,7 @@ msgstr ""
"\n"
"# Membuat basis data, ditampilkan %s"
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1170,451 +1339,459 @@ msgstr ""
"\n"
"# Selesai membuat basis data %s\n"
-#: main.c:3237
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "Kesalahan tidak diketahui %d"
+
+#: misc.c:522
+#, c-format
+msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+msgstr "%s: pengguna %lu (ril %lu), grup %lu (ril %lu)\n"
+
+#: misc.c:543
+msgid "Initialized access"
+msgstr "Akses terinisialisasi"
+
+#: misc.c:622
+msgid "User access"
+msgstr "Akses pengguna"
+
+#: misc.c:670
+msgid "Make access"
+msgstr "Buat akses"
+
+#: misc.c:704
+msgid "Child access"
+msgstr "Akses anak"
+
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: Memasuki sebuah direktori yang tidak diketahui\n"
-#: main.c:3239
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: Meninggalkan sebuah direktori yang tidak diketahui\n"
-#: main.c:3242
+#: output.c:109
#, c-format
-msgid "%s: Entering directory `%s'\n"
-msgstr "%s: Memasuki direktori `%s'\n"
+msgid "%s: Entering directory '%s'\n"
+msgstr "%s: Memasuki direktori '%s'\n"
-#: main.c:3245
+#: output.c:111
#, c-format
-msgid "%s: Leaving directory `%s'\n"
-msgstr "%s: Meninggalkan direktori `%s'\n"
+msgid "%s: Leaving directory '%s'\n"
+msgstr "%s: Meninggalkan direktori '%s'\n"
-#: main.c:3250
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: Memasuki sebuah direktori yang tidak diketahui\n"
-#: main.c:3253
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Meninggalkan sebuah direktori yang tidak diketahui\n"
-#: main.c:3257
+#: output.c:120
#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
-msgstr "%s[%u]: Memasuki direktori `%s'\n"
+msgid "%s[%u]: Entering directory '%s'\n"
+msgstr "%s[%u]: Memasuki direktori '%s'\n"
-#: main.c:3260
+#: output.c:122
#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
-msgstr "%s[%u]: Meninggalkan direktori `%s'\n"
+msgid "%s[%u]: Leaving directory '%s'\n"
+msgstr "%s[%u]: Meninggalkan direktori '%s'\n"
+
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
+msgstr "error menulis: %s"
-#: misc.c:316
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Berhenti.\n"
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "Kesalahan tidak diketahui %d"
-
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "Kehabisan memori maya"
-
-#: misc.c:708
-#, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: pengguna %lu (ril %lu), grup %lu (ril %lu)\n"
-
-#: misc.c:729
-msgid "Initialized access"
-msgstr "Akses terinisialisasi"
-
-#: misc.c:808
-msgid "User access"
-msgstr "Akses pengguna"
-
-#: misc.c:856
-msgid "Make access"
-msgstr "Buat akses"
-
-#: misc.c:890
-msgid "Child access"
-msgstr "Akses anak"
-
-#: misc.c:954
-#, c-format
-msgid "write error: %s"
-msgstr "error menulis: %s"
-
-#: misc.c:956
-msgid "write error"
-msgstr "error menulis"
-
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
msgstr "Membaca makefiles...\n"
-#: read.c:333
+#: read.c:335
#, c-format
-msgid "Reading makefile `%s'"
-msgstr "Membaca makefile `%s'"
+msgid "Reading makefile '%s'"
+msgstr "Membaca makefile '%s'"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (tidak terdapat tujuan baku)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (jalur pencarian)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (tidak peduli)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (tidak terdapat ekspansi tilde ~)"
-#: read.c:759
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr "Skipping UTF-8 BOM in makefile '%s'\n"
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr "Skipping UTF-8 BOM in makefile buffer\n"
+
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "sintak salah dalam kondisional"
-#: read.c:891
-#, fuzzy
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr "%s: failed to load"
+
+#: read.c:992
msgid "recipe commences before first target"
msgstr "perintah dijalankan sebelum target pertama"
-#: read.c:940
-#, fuzzy
+#: read.c:1041
msgid "missing rule before recipe"
msgstr "hilang aturan sebelum menjalankan perintah"
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "pemisah %s hilang"
-
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (apakah yang anda maksud TAB dari pada 8 buah spasi?)"
-#: read.c:1163
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "pemisah %s hilang"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "pola target hilang"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
msgstr "pola target banyak"
-#: read.c:1169
+#: read.c:1276
#, c-format
-msgid "target pattern contains no `%%'"
-msgstr "pola target tidak memiliki `%%'"
+msgid "target pattern contains no '%%'"
+msgstr "pola target tidak memiliki '%%'"
-#: read.c:1293
-msgid "missing `endif'"
-msgstr "hilang `endif'"
+#: read.c:1398
+msgid "missing 'endif'"
+msgstr "hilang 'endif'"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "nama variabel kosong"
-#: read.c:1367
-#, fuzzy
-msgid "extraneous text after `define' directive"
-msgstr "Kelebihan text sesudah `endef' directive"
+#: read.c:1471
+msgid "extraneous text after 'define' directive"
+msgstr "Kelebihan text sesudah 'endef' directive"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
-msgstr "hilang `endef', tidak diselesaikan `define'"
+#: read.c:1496
+msgid "missing 'endef', unterminated 'define'"
+msgstr "hilang 'endef', tidak diselesaikan 'define'"
-#: read.c:1420
-#, fuzzy
-msgid "extraneous text after `endef' directive"
-msgstr "Kelebihan text sesudah `endef' directive"
+#: read.c:1524
+msgid "extraneous text after 'endef' directive"
+msgstr "kelebihan text sesudah 'endef' directive"
-#: read.c:1490
+#: read.c:1595
#, c-format
-msgid "Extraneous text after `%s' directive"
-msgstr "Kelebihan text sesudah `%s' directive"
+msgid "extraneous text after '%s' directive"
+msgstr "kelebihan text sesudah '%s' directive"
-#: read.c:1499 read.c:1513
+#: read.c:1596
#, c-format
-msgid "extraneous `%s'"
-msgstr "kelebihan `%s'"
+msgid "extraneous '%s'"
+msgstr "kelebihan '%s'"
-#: read.c:1518
-msgid "only one `else' per conditional"
-msgstr "hanya satu `else' dalam setiap kondisi"
+#: read.c:1624
+msgid "only one 'else' per conditional"
+msgstr "hanya satu 'else' dalam setiap kondisi"
-#: read.c:1797
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Definisi variable target-specific memiliki format yang salah"
-#: read.c:1855
-#, fuzzy
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr "persyaratan tidak dapat didefinisikan dalam script perintah"
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "aturan pola implisit dan static tercampur"
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "aturan implisit dan aturan normal tercampur"
-#: read.c:1976
+#: read.c:2091
#, c-format
-msgid "target `%s' doesn't match the target pattern"
-msgstr "target `%s' tidak cocok dengan pola target"
+msgid "target '%s' doesn't match the target pattern"
+msgstr "target '%s' tidak cocok dengan pola target"
-#: read.c:1991 read.c:2036
+#: read.c:2106 read.c:2152
#, c-format
-msgid "target file `%s' has both : and :: entries"
-msgstr "target berkas `%s' keduanya memiliki masukan : dan ::"
+msgid "target file '%s' has both : and :: entries"
+msgstr "target berkas '%s' keduanya memiliki masukan : dan ::"
-#: read.c:1997
+#: read.c:2112
#, c-format
-msgid "target `%s' given more than once in the same rule."
-msgstr "target `%s' memberikan lebih dari sekali dalam aturan sama."
+msgid "target '%s' given more than once in the same rule"
+msgstr "target '%s' memberikan lebih dari sekali dalam aturan sama."
-#: read.c:2006
-#, fuzzy, c-format
-msgid "warning: overriding recipe for target `%s'"
-msgstr "Peringatan: memaksa perintah untuk target `%s'"
+#: read.c:2122
+#, c-format
+msgid "warning: overriding recipe for target '%s'"
+msgstr "peringatan: memaksa perintah untuk target '%s'"
-#: read.c:2009
-#, fuzzy, c-format
-msgid "warning: ignoring old recipe for target `%s'"
-msgstr "Peringatan: menghiraukan perintah lama untuk target `%s'"
+#: read.c:2125
+#, c-format
+msgid "warning: ignoring old recipe for target '%s'"
+msgstr "peringatan: menghiraukan perintah lama untuk target '%s'"
+
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "aturan implisit dan aturan normal tercampur"
-#: read.c:2392
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
-msgstr "Peringatan: karakter NUL terlihat; baris selanjutnya dihiraukan"
+msgstr "peringatan: karakter NUL terlihat; baris selanjutnya dihiraukan"
-#: remake.c:234
+#: remake.c:230
#, c-format
-msgid "Nothing to be done for `%s'."
-msgstr "Tidak ada yang harus dilakukan untuk `%s'."
+msgid "Nothing to be done for '%s'."
+msgstr "Tidak ada yang harus dilakukan untuk '%s'."
-#: remake.c:235
+#: remake.c:231
#, c-format
-msgid "`%s' is up to date."
-msgstr "`%s' sudah baru."
+msgid "'%s' is up to date."
+msgstr "'%s' sudah baru."
-#: remake.c:306
+#: remake.c:303
#, c-format
-msgid "Pruning file `%s'.\n"
-msgstr "Pruning file `%s'.\n"
+msgid "Pruning file '%s'.\n"
+msgstr "Pruning file '%s'.\n"
-#: remake.c:359
+#: remake.c:390 remake.c:393
#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%sTidak terdapat aturan untuk membuat target `%s'%s"
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
+msgstr ""
+"%sTidak terdapat aturan untuk membuat target '%s', dibutuhkan oleh '%s'%s"
-#: remake.c:361
+#: remake.c:402 remake.c:405
#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
-msgstr ""
-"%sTidak terdapat aturan untuk membuat target `%s', dibutuhkan oleh `%s'%s"
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sTidak terdapat aturan untuk membuat target '%s'%s"
-#: remake.c:413
+#: remake.c:426
#, c-format
-msgid "Considering target file `%s'.\n"
-msgstr "Mempertimbangkan berkas target `%s'.\n"
+msgid "Considering target file '%s'.\n"
+msgstr "Mempertimbangkan berkas target '%s'.\n"
-#: remake.c:420
+#: remake.c:433
#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
-msgstr "Baru saja dicoba dan gagal untuk memperbarui berkas `%s'.\n"
+msgid "Recently tried and failed to update file '%s'.\n"
+msgstr "Baru saja dicoba dan gagal untuk memperbarui berkas '%s'.\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
-msgid "File `%s' was considered already.\n"
-msgstr "Berkas `%s' baru saja dipertimbangkan.\n"
+msgid "File '%s' was considered already.\n"
+msgstr "Berkas '%s' baru saja dipertimbangkan.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
-msgid "Still updating file `%s'.\n"
-msgstr "Sedang memperbarui berkas `%s'.\n"
+msgid "Still updating file '%s'.\n"
+msgstr "Sedang memperbarui berkas '%s'.\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
-msgid "Finished updating file `%s'.\n"
-msgstr "Selesai memperbarui berkas `%s'.\n"
+msgid "Finished updating file '%s'.\n"
+msgstr "Selesai memperbarui berkas '%s'.\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
-msgid "File `%s' does not exist.\n"
-msgstr "Berkas `%s' tidak ada.\n"
+msgid "File '%s' does not exist.\n"
+msgstr "Berkas '%s' tidak ada.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-"*** Peringatan: .LOW_RESOLUTION_TIME berkas `%s' memiliki sebuah penanda "
+"*** Peringatan: .LOW_RESOLUTION_TIME berkas '%s' memiliki sebuah penanda "
"waktu dengan resolusi tinggi"
-#: remake.c:494 remake.c:1016
+#: remake.c:508 remake.c:1040
#, c-format
-msgid "Found an implicit rule for `%s'.\n"
-msgstr "Ditemukan sebuah aturan implisit untuk `%s'.\n"
+msgid "Found an implicit rule for '%s'.\n"
+msgstr "Ditemukan sebuah aturan implisit untuk '%s'.\n"
-#: remake.c:496 remake.c:1018
+#: remake.c:510 remake.c:1042
#, c-format
-msgid "No implicit rule found for `%s'.\n"
-msgstr "Tidak terdapat aturan implisit untuk membuat `%s'.\n"
+msgid "No implicit rule found for '%s'.\n"
+msgstr "Tidak terdapat aturan implisit untuk membuat '%s'.\n"
-#: remake.c:502
-#, fuzzy, c-format
-msgid "Using default recipe for `%s'.\n"
-msgstr "Menggunakan perintah baku untuk `%s'.\n"
+#: remake.c:516
+#, c-format
+msgid "Using default recipe for '%s'.\n"
+msgstr "Menggunakan perintah baku untuk '%s'.\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Ketergantungan %s <- %s melingkar dijatuhkan."
-#: remake.c:651
+#: remake.c:675
#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
-msgstr "Selesai melakukan semua persyaratan untuk berkas target `%s'.\n"
+msgid "Finished prerequisites of target file '%s'.\n"
+msgstr "Selesai melakukan semua persyaratan untuk berkas target '%s'.\n"
-#: remake.c:657
+#: remake.c:681
#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
-msgstr "Persyaratan untuk membuat `%s' sedang dibuat.\n"
+msgid "The prerequisites of '%s' are being made.\n"
+msgstr "Persyaratan untuk membuat '%s' sedang dibuat.\n"
-#: remake.c:670
+#: remake.c:695
#, c-format
-msgid "Giving up on target file `%s'.\n"
-msgstr "Menyerah untuk membuat target berkas `%s'.\n"
+msgid "Giving up on target file '%s'.\n"
+msgstr "Menyerah untuk membuat target berkas '%s'.\n"
-#: remake.c:675
+#: remake.c:700
#, c-format
-msgid "Target `%s' not remade because of errors."
-msgstr "Target `%s' tidak dibuat lagi karena ada errors."
+msgid "Target '%s' not remade because of errors."
+msgstr "Target '%s' tidak dibuat lagi karena ada errors."
-#: remake.c:727
+#: remake.c:752
#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
-msgstr "Persyaratan untuk `%s' adalah order-only untuk target `%s'.\n"
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
+msgstr "Persyaratan untuk '%s' adalah order-only untuk target '%s'.\n"
-#: remake.c:732
+#: remake.c:757
#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
-msgstr "Persyaratan untuk `%s' untuk target `%s' tidak ada.\n"
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
+msgstr "Persyaratan untuk '%s' untuk target '%s' tidak ada.\n"
-#: remake.c:737
+#: remake.c:762
#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
-msgstr "Persyaratan untuk `%s' lebih baru dari pada target `%s'.\n"
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
+msgstr "Persyaratan untuk '%s' lebih baru dari pada target '%s'.\n"
-#: remake.c:740
+#: remake.c:765
#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
-msgstr "Persyaratan untuk `%s' lebih tua dari pada target `%s'.\n"
+msgid "Prerequisite '%s' is older than target '%s'.\n"
+msgstr "Persyaratan untuk '%s' lebih tua dari pada target '%s'.\n"
-#: remake.c:758
+#: remake.c:783
#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
-msgstr "Target `%s' merupakan kolon-ganda dan tidak memiliki syarat.\n"
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
+msgstr "Target '%s' merupakan kolon-ganda dan tidak memiliki syarat.\n"
-#: remake.c:765
-#, fuzzy, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
-msgstr "Tidak ada perintah untuk `%s' dan persyaratan tidak berubah.\n"
+#: remake.c:790
+#, c-format
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
+msgstr "Tidak ada perintah untuk '%s' dan persyaratan tidak berubah.\n"
-#: remake.c:770
+#: remake.c:795
#, c-format
-msgid "Making `%s' due to always-make flag.\n"
-msgstr "Membuat `%s' karena adanya tanda always-make.\n"
+msgid "Making '%s' due to always-make flag.\n"
+msgstr "Membuat '%s' karena adanya tanda always-make.\n"
-#: remake.c:778
+#: remake.c:803
#, c-format
-msgid "No need to remake target `%s'"
-msgstr "Tidak perlu membuat lagi target `%s'"
+msgid "No need to remake target '%s'"
+msgstr "Tidak perlu membuat lagi target '%s'"
-#: remake.c:780
+#: remake.c:805
#, c-format
-msgid "; using VPATH name `%s'"
-msgstr "; menggunakan nama VPATH `%s'"
+msgid "; using VPATH name '%s'"
+msgstr "; menggunakan nama VPATH '%s'"
-#: remake.c:800
+#: remake.c:825
#, c-format
-msgid "Must remake target `%s'.\n"
-msgstr "Harus membuat lagi target `%s'.\n"
+msgid "Must remake target '%s'.\n"
+msgstr "Harus membuat lagi target '%s'.\n"
-#: remake.c:806
+#: remake.c:831
#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
-msgstr " Mengabaikan nama VPATH `%s'.\n"
+msgid " Ignoring VPATH name '%s'.\n"
+msgstr " Mengabaikan nama VPATH '%s'.\n"
-#: remake.c:815
-#, fuzzy, c-format
-msgid "Recipe of `%s' is being run.\n"
-msgstr "Perintah dari `%s' sedang dijalankan.\n"
+#: remake.c:840
+#, c-format
+msgid "Recipe of '%s' is being run.\n"
+msgstr "Perintah dari '%s' sedang dijalankan.\n"
-#: remake.c:822
+#: remake.c:847
#, c-format
-msgid "Failed to remake target file `%s'.\n"
-msgstr "Gagal membuat lagi target berkas `%s'.\n"
+msgid "Failed to remake target file '%s'.\n"
+msgstr "Gagal membuat lagi target berkas '%s'.\n"
-#: remake.c:825
+#: remake.c:850
#, c-format
-msgid "Successfully remade target file `%s'.\n"
-msgstr "Sukses membuat kembali target berkas `%s'.\n"
+msgid "Successfully remade target file '%s'.\n"
+msgstr "Sukses membuat kembali target berkas '%s'.\n"
-#: remake.c:828
+#: remake.c:853
#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
-msgstr "Target berkas `%s' dibutuhkan untuk membuat kembali dengan opsi -q.\n"
+msgid "Target file '%s' needs to be remade under -q.\n"
+msgstr "Target berkas '%s' dibutuhkan untuk membuat kembali dengan opsi -q.\n"
-#: remake.c:1024
+#: remake.c:1048
#, c-format
-msgid "Using default commands for `%s'.\n"
-msgstr "Menggunakan perintah baku untuk `%s'.\n"
+msgid "Using default commands for '%s'.\n"
+msgstr "Menggunakan perintah baku untuk '%s'.\n"
-#: remake.c:1357
+#: remake.c:1397
#, c-format
-msgid "Warning: File `%s' has modification time in the future"
-msgstr "Peringatan: Berkas `%s' memiliki waktu modifikasi dimasa depan"
+msgid "Warning: File '%s' has modification time in the future"
+msgstr "Peringatan: Berkas '%s' memiliki waktu modifikasi dimasa depan"
-#: remake.c:1370
-#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
-msgstr "Peringatan: Berkas `%s' memiliki waktu modifikasi %.2g s kedepan"
+#: remake.c:1411
+#, c-format
+msgid "Warning: File '%s' has modification time %s s in the future"
+msgstr "Peringatan: Berkas '%s' memiliki waktu modifikasi %s s kedepan"
-#: remake.c:1569
+#: remake.c:1610
#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
-msgstr ".LIBPATTERNS elemen `%s' bukan merupakan sebuah pattern"
+msgid ".LIBPATTERNS element '%s' is not a pattern"
+msgstr ".LIBPATTERNS elemen '%s' bukan merupakan sebuah pattern"
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
msgstr "Custom tidak akan men-export: %s\n"
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1622,7 +1799,7 @@ msgstr ""
"\n"
"# Aturan implisit."
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1630,7 +1807,7 @@ msgstr ""
"\n"
"# Tidak ada aturan implisit."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1639,244 +1816,265 @@ msgstr ""
"\n"
"# %u aturan implisit, %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
msgstr " terminal."
-#: rule.c:534
-#, fuzzy, c-format
+#: rule.c:530
+#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "BUG: num_pattern_rules salah! %u != %u"
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
msgstr "sinyal tidak diketahui"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
msgstr "Hangup"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
msgstr "Interupsi"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
msgstr "Berhenti"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
msgstr "Instruksi Tidak Legal"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
msgstr "Penangkap trace/breakpoint"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr "Dibatalkan"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
msgstr "Penangkap IOT"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
msgstr "Penangkap EMT"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
msgstr "Eksepsi titik pecahan"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
msgstr "Terbunuh"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
msgstr "Bus error"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
msgstr "Kesalahan segmentasi"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
msgstr "Panggilan sistem buruk"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
msgstr "Pipa rusak"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr "Alarm"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
msgstr "Dimatikan"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
msgstr "Sinyal definisi pengguna 1"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
msgstr "Sinyal definisi pengguna 2"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
msgstr "Proses anak berakhir"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
msgstr "Listrik bermasalah"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr "Dihentikkan"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
msgstr "Dihentikan (masukkan tty)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
msgstr "Dihentikan (keluaran tty)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
msgstr "Dihentikan (sinyal)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
msgstr "Batas waktu CPU telah terlampaui"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
msgstr "Batas maksimal ukuran berkas terlampaui"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
msgstr "Pewaktu maya habis"
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
msgstr "Pewaktu profiling habis"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
msgstr "Jendela berubah"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
msgstr "Dilanjutkan"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
msgstr "Kondisi I/O penting"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
msgstr "I/O mungkin"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr "Resource hilang"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
msgstr "Sinyal bahaya"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
msgstr "Permintaan informasi"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
msgstr "co-processor titik pecahan tidak tersedia"
-#: strcache.c:235
-#, fuzzy, c-format
+#: strcache.c:236
+#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s No strcache buffers\n"
msgstr ""
"\n"
-"%s # dari string dalam strcache: %d\n"
+"%s # dari buffer strcache: \n"
-#: strcache.c:237
-#, fuzzy, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
-msgstr "%s # dari buffer strcache: %d\n"
+#: strcache.c:266
+#, c-format
+msgid ""
+"\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
+msgstr ""
+"\n"
+"%s strcache free: %lu total = (%lu) / mak = %lu / min = %lu / rata-rata = "
+"%lu\n"
-#: strcache.c:239
-#, fuzzy, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
-msgstr "besar %s strcache: total = %d / mak = %d / min = %d / rata-rata = %d\n"
+#: strcache.c:270
+#, c-format
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
+msgstr ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
-#: strcache.c:241
-#, fuzzy, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
-msgstr "%s strcache free: total = %d / mak = %d / min = %d / rata-rata = %d\n"
+#: strcache.c:280
+#, c-format
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
+msgstr "besar %s strcache: total = %lu / count = %lu / rata-rata = %lu\n"
-#: strcache.c:244
-#, fuzzy
+#: strcache.c:283
+#, c-format
+msgid ""
+"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
+msgstr ""
+"%s strcache free: total = %lu / mak = %lu / min = %lu / rata-rata = %hu\n"
+
+#: strcache.c:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
-"# "
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
msgstr ""
"\n"
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
+
+#: strcache.c:289
+msgid ""
+"# hash-table stats:\n"
+"# "
+msgstr ""
"# berkas statistik hash-table:\n"
"# "
-#: variable.c:1541
+#: variable.c:1599
+msgid "automatic"
+msgstr "otomatis"
+
+#: variable.c:1602
msgid "default"
msgstr "baku"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
msgstr "lingkungan"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
msgstr "lingkungan dibawah opsi -e"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
msgstr "baris perintah"
-#: variable.c:1556
-msgid "`override' directive"
-msgstr "`override' direktif"
-
-#: variable.c:1559
-msgid "automatic"
-msgstr "otomatis"
+#: variable.c:1617
+msgid "'override' directive"
+msgstr "'override' direktif"
-#: variable.c:1570
+#: variable.c:1628
#, c-format
-msgid " (from `%s', line %lu)"
-msgstr " (dari `%s', baris %lu)"
+msgid " (from '%s', line %lu)"
+msgstr " (dari '%s', baris %lu)"
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# statistik variable set hash-table:\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -1884,7 +2082,7 @@ msgstr ""
"\n"
"# Variabel\n"
-#: variable.c:1627
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -1892,7 +2090,7 @@ msgstr ""
"\n"
"# Nilai Variabel Pola-Spesifik"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -1900,7 +2098,7 @@ msgstr ""
"\n"
"# Tidak terdapat nilai variabel pola-spesifik"
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -1909,93 +2107,98 @@ msgstr ""
"\n"
"# %u nilai variabel pola-spesifik"
-#: variable.h:219
+#: variable.h:224
#, c-format
-msgid "warning: undefined variable `%.*s'"
-msgstr "peringatan: variabel `%.*s' tidak terdefinisi"
+msgid "warning: undefined variable '%.*s'"
+msgstr "peringatan: variabel '%.*s' tidak terdefinisi"
-#: vmsfunctions.c:92
-#, fuzzy, c-format
+#: vmsfunctions.c:91
+#, c-format
msgid "sys$search() failed with %d\n"
-msgstr "sys$search gagal dengan kode %d\n"
+msgstr "sys$search() gagal dengan kode %d\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Peringatan: redirection kosong\n"
-#: vmsjobs.c:184
+#: vmsjobs.c:183
#, c-format
-msgid "internal error: `%s' command_state"
-msgstr "kesalahan internal: `%s' command_state"
+msgid "internal error: '%s' command_state"
+msgstr "kesalahan internal: '%s' command_state"
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
"-warning, kamu mungkin telah mengaktifkan pengontrolan CTRL-Y dari DCL.\n"
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "BAWAAN [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "BAWAAN CD %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "BAWAAN RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "BAWAAN CD %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Perintah bawaan '%s' tidak diketahui\n"
-#: vmsjobs.c:493
+#: 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, perintah kosong\n"
-#: vmsjobs.c:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Meneruskan masukan dari %s\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Meneruskan error ke %s\n"
-#: vmsjobs.c:523
-#, fuzzy, c-format
+#: vmsjobs.c:690
+#, c-format
msgid "Append output to %s\n"
msgstr "Meneruskan output ke %s\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Meneruskan output ke %s\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
-msgstr ""
+msgstr "Append %.*s and cleanup\n"
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "Menjalankan perintah %s\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Gagal spawning, %d\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
@@ -2003,37 +2206,58 @@ msgstr ""
"\n"
"# VPATH Jalur Pencarian\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
-msgstr "# Tidak ada `vpath' dalam jalur pencarian."
+#: vpath.c:600
+msgid "# No 'vpath' search paths."
+msgstr "# Tidak ada 'vpath' dalam jalur pencarian."
-#: vpath.c:605
+#: vpath.c:602
#, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
-"# %u `vpath' jalur pencarian.\n"
+"# %u 'vpath' jalur pencarian.\n"
-#: vpath.c:608
+#: vpath.c:605
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
-"# Tidak ada (`VPATH' variabel) umum dalam jalur pencarian."
+"# Tidak ada ('VPATH' variabel) umum dalam jalur pencarian."
-#: vpath.c:614
+#: vpath.c:611
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
-"# Jalur pencarian umum untuk variabel `VPATH':\n"
+"# Jalur pencarian umum untuk variabel 'VPATH':\n"
"# "
+#~ 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 "virtual memory exhausted"
+#~ msgstr "Kehabisan memori maya"
+
+#~ msgid "write error"
+#~ msgstr "error menulis"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "BAWAAN RM %s\n"
+
+#~ msgid "# Invalid value in `update_status' member!"
+#~ msgstr "# Nilai yang salah dalam anggota `update_status' !"
+
+#~ msgid "*** [%s] Error 0x%x (ignored)"
+#~ msgstr "*** [%s] Error 0x%x (diabaikan)"
+
#~ msgid "process_easy() failed failed to launch process (e=%ld)\n"
#~ msgstr "process_easy() gagal untuk menjalankan proses (e=%ld)\n"
@@ -2056,6 +2280,13 @@ msgstr ""
#~ msgid "invalid `override' directive"
#~ msgstr "directive `override' tidak valid"
+#~ msgid ""
+#~ "\n"
+#~ "%s # of strings in strcache: %d\n"
+#~ msgstr ""
+#~ "\n"
+#~ "%s # dari string dalam strcache: %d\n"
+
#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
#~ msgstr "-warning, CTRL-Y akan meninggalkan sub-process(es).\n"
diff --git a/po/it.gmo b/po/it.gmo
index f232b0c5..dd76258c 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index df0ce159..65022559 100644
--- a/po/it.po
+++ b/po/it.po
@@ -1,124 +1,132 @@
-# Italian messages for GNU Make.
+# Italian messages for GNU make.
# Copyright (C) 2009 Free Software Foundation, Inc.
# This file is distributed under the same license as the make package.
-# Francesco Groccia <fgr@anche.no>, 2009.
+# Francesco Groccia <frgroccia@gmail.com>, 2010-2013.
#
msgid ""
msgstr ""
-"Project-Id-Version: make 3.81\n"
+"Project-Id-Version: make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-0400\n"
-"PO-Revision-Date: 2009-07-23 12:54+0200\n"
-"Last-Translator: Francesco Groccia <fgr@anche.no>\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 <frgroccia@gmail.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
+"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ar.c:48
+#: ar.c:46
#, c-format
-msgid "attempt to use unsupported feature: `%s'"
-msgstr "tentativo di usare una funzionalità non supportata: «%s»"
+msgid "attempt to use unsupported feature: '%s'"
+msgstr "tentativo di usare una funzionalità non supportata: \"%s\""
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
-msgstr "impossibile modificare la data di un membro di un archivio su VMS"
+msgstr "touch del membro di archivio non disponibile su VMS"
-#: ar.c:149
+#: ar.c:147
#, c-format
-msgid "touch: Archive `%s' does not exist"
-msgstr "touch: l'archivio «%s» non esiste"
+msgid "touch: Archive '%s' does not exist"
+msgstr "touch: l'archivio \"%s\" non esiste"
-#: ar.c:152
+#: ar.c:150
#, c-format
-msgid "touch: `%s' is not a valid archive"
-msgstr "touch: «%s» non è un archivio valido"
+msgid "touch: '%s' is not a valid archive"
+msgstr "touch: \"%s\" non è un archivio valido"
-#: ar.c:159
+#: ar.c:157
#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
-msgstr "touch: il membro «%s» non esiste in «%s»"
+msgid "touch: Member '%s' does not exist in '%s'"
+msgstr "touch: il membro \"%s\" non esiste in \"%s\""
-#: ar.c:166
+#: ar.c:164
#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
-msgstr "touch: codice di ritorno errato da ar_member_touch su «%s»"
+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:69
-#, fuzzy, c-format
+#: arscan.c:124
+#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr ""
-"lbr$set_module fallito per estrarre informazioni del modulo, stato = %d"
+"lbr$set_module() non è riuscita a estrarre informazioni sul modulo, stato = "
+"%d"
-#: arscan.c:175
-#, fuzzy, c-format
+#: arscan.c:230
+#, c-format
msgid "lbr$ini_control() failed with status = %d"
-msgstr "lbr$ini_control fallito con lo stato = %d"
+msgstr "lbr$ini_control() non riuscita con lo stato = %d"
-#: arscan.c:187
-#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
-msgstr "impossibile aprire la libreria «%s» per cercare il membro «%s»"
+#: 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:850
+#: 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"
+msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
+msgstr "Membro \"%s\"%s: %ld byte a %ld (%ld).\n"
-#: arscan.c:851
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (il nome potrebbe essere troncato)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Data %s"
-#: arscan.c:854
+#: 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:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr "Il set di istruzioni ha troppe righe (%ud)"
+
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Interruzione.\n"
-#: commands.c:622
+#: commands.c:629
#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
+msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr ""
-"*** [%s] L'archivio membro «%s» potrebbe essere inesistente; non eliminato"
+"*** [%s] Il membro di archivio \"%s\" potrebbe essere inesistente; non "
+"eliminato"
-#: commands.c:625
+#: commands.c:633
#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
-msgstr "*** L'archivio membro «%s» potrebbe essere inesistente; non eliminarlo"
+msgid "*** Archive member '%s' may be bogus; not deleted"
+msgstr ""
+"*** Il membro di archivio \"%s\" potrebbe essere inesistente; non eliminato"
-#: commands.c:638
+#: commands.c:647
#, c-format
-msgid "*** [%s] Deleting file `%s'"
-msgstr "*** [%s] Eliminazione del file «%s»"
+msgid "*** [%s] Deleting file '%s'"
+msgstr "*** [%s] Eliminazione del file \"%s\""
-#: commands.c:640
+#: commands.c:649
#, c-format
-msgid "*** Deleting file `%s'"
-msgstr "*** Eliminazione del file «%s»"
+msgid "*** Deleting file '%s'"
+msgstr "*** Eliminazione del file \"%s\""
-#: commands.c:676
-#, fuzzy
+#: commands.c:685
msgid "# recipe to execute"
-msgstr "# comandi da eseguire"
+msgstr "# set di istruzioni da eseguire"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
msgstr " (comando interno):"
-#: commands.c:681
+#: commands.c:690
#, c-format
-msgid " (from `%s', line %lu):\n"
-msgstr " (da «%s», riga %lu):\n"
+msgid " (from '%s', line %lu):\n"
+msgstr " (da \"%s\", riga %lu):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -126,227 +134,226 @@ msgstr ""
"\n"
"# Directory\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
msgstr "# %s: impossibile eseguire stat.\n"
-#: dir.c:1012
+#: dir.c:1005
#, c-format
msgid "# %s (key %s, mtime %d): could not be opened.\n"
-msgstr "# %s (key %s, mtime %d): impossibile aprirlo.\n"
+msgstr "# %s (key %s, mtime %d) non può essere aperto.\n"
-#: dir.c:1016
+#: 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]): impossibile aprirlo.\n"
+msgstr "# %s (device %d, inode [%d,%d,%d]) non può essere aperto.\n"
-#: dir.c:1021
+#: dir.c:1014
#, c-format
msgid "# %s (device %ld, inode %ld): could not be opened.\n"
-msgstr "# %s (device %ld, inode %ld): impossibile aprirlo.\n"
+msgstr "# %s (device %ld, inode %ld) non può essere aperto.\n"
-#: dir.c:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
msgstr "# %s (key %s, mtime %d): "
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
msgstr "# %s (device %d, inode [%d,%d,%d]): "
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
msgstr "# %s (device %ld, inode %ld): "
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "No"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr " file, "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "no"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
msgstr " impossibilità"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
msgstr " finora."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
msgstr " impossibilità nelle directory %lu.\n"
-#: expand.c:127
+#: expand.c:125
#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
-msgstr "La variabile ricorsiva «%s» si autoreferenzia (finalmente)"
+msgid "Recursive variable '%s' references itself (eventually)"
+msgstr "La variabile ricorsiva \"%s\" si autoreferenzia (alla fine)"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
-msgstr "riferimento della variabile non terminato"
+msgstr "riferimento alla variabile non terminato"
-#: file.c:267
-#, fuzzy, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
-msgstr "Sono stati specificati dei comandi per il file «%s» a %s:%lu,"
+#: 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:272
-#, fuzzy, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
+#: file.c:276
+#, c-format
+msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr ""
-"Sono stati trovati dei comandi per il file «%s» mediante una regola di "
-"ricerca implicita,"
+"È stato trovato un set di istruzioni per il file \"%s\" mediante una regola "
+"di ricerca implicita,"
-#: file.c:275
+#: file.c:280
#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
-msgstr "ma il file «%s» adesso viene considerato lo stesso di «%s»."
-
-#: file.c:278
-#, fuzzy, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
-msgstr "I comandi per «%s» saranno ignorati in favore di quelli per «%s»."
+msgid "but '%s' is now considered the same file as '%s'."
+msgstr "ma ora \"%s\" viene considerato lo stesso file di \"%s\"."
-#: file.c:298
+#: file.c:283
#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
+msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr ""
-"impossibile rinominare la regola \"single-colon\" «%s» con la regola \"double-"
-"colon\" «%s»"
+"Il set di istruzioni per \"%s\" verrà ignorato in favore di quello per \"%s"
+"\"."
#: file.c:303
#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
+msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr ""
-"impossibile rinominare la regola \"double-colon\" «%s» con la regola \"single-"
-"colon\" «%s»"
+"impossibile rinominare la regola \"due punti\" \"%s\" con la regola \"doppio "
+"due punti\" \"%s\""
-#: file.c:392
+#: file.c:309
#, c-format
-msgid "*** Deleting intermediate file `%s'"
-msgstr "*** Eliminazione del file intermedio «%s»"
+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:396
+#: file.c:401
+#, c-format
+msgid "*** Deleting intermediate file '%s'"
+msgstr "*** Eliminazione del file intermedio \"%s\""
+
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Rimozione dei file intermedi...\n"
-#: file.c:803
-#, c-format
-msgid "%s: Timestamp out of range; substituting %s"
-msgstr "%s: Intervallo errato per la marcatura temporale; sostituzione di %s"
-
-#: file.c:804
+#: file.c:811
msgid "Current time"
msgstr "Ora corrente"
-#: file.c:924
+#: 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:955
msgid "# Not a target:"
msgstr "# Non è un obiettivo:"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# File \"precious\" (prerequisito di .PRECIOUS)."
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Obiettivo \"phony\" (prerequisito di .PHONY)."
-#: file.c:933
-#, fuzzy
+#: file.c:964
msgid "# Command line target."
msgstr "# Obiettivo a riga di comando."
-#: file.c:935
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
-msgstr "# Makefile predefiniti oppure un makefile -include/sinclude."
+msgstr "# Un makefile predefinito, da MAKEFILES, o da -include/sinclude."
+
+#: file.c:968
+msgid "# Builtin rule"
+msgstr "# Regola incorporata"
-#: file.c:937
+#: file.c:970
msgid "# Implicit rule search has been done."
-msgstr "# Regola di ricerca implicita completate."
+msgstr "# Regola di ricerca implicita completata."
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
-msgstr "# Regola di ricerca implicita non completate."
+msgstr "# Regola di ricerca implicita non completata."
-#: file.c:940
+#: file.c:973
#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
-msgstr "# Radice del pattern implicita/statica: «%s»\n"
+msgid "# Implicit/static pattern stem: '%s'\n"
+msgstr "# Stem implicito/statico del modello: \"%s\"\n"
-#: file.c:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Il file è un prerequisito intermedio."
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
msgstr "# Inoltre, genera:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Ora di modifica mai controllata."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
msgstr "# Il file non esiste."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
msgstr "# Il file è molto vecchio."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Ultima modifica %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
msgstr "# Il file è stato aggiornato."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Il file non è stato aggiornato."
-#: file.c:968
-#, fuzzy
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
-msgstr "# Comandi correntemente in esecuzione (QUESTO È UN BUG)."
+msgstr "# Set di istruzioni attualmente in esecuzione (QUESTO È UN BUG)."
-#: file.c:971
-#, fuzzy
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
-msgstr "# Dipendenze dei comandi in esecuzione (QUESTO È UN BUG)."
+msgstr "# Dipendenze del set di istruzioni in esecuzione (QUESTO È UN BUG)."
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Aggiornato con successo."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Richiede di essere aggiornato (-q è impostato)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Aggiornamento non riuscito."
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# Valore non valido nel membro «update_status»"
-
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
-msgstr "# Valore non valido nel membro «command_state»"
+#: file.c:1025
+msgid "# Invalid value in 'command_state' member!"
+msgstr "# Valore illecito nel membro \"command_state\"!"
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -354,136 +361,190 @@ msgstr ""
"\n"
"# File"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
"\n"
-"# statistiche della tabella di hash dei file:\n"
+"# statistiche tabella hash dei file:\n"
"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
-msgstr "primo argomento non numerico per la funzione word"
-
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
-msgstr "il primo argomento per la funzione word deve essere maggiore di 0"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr "%s: Campo \"%s\" non memorizzato: %s"
-#: function.c:783
-msgid "non-numeric first argument to `wordlist' function"
-msgstr "primo argomento non numerico per la funzione wordlist"
+#: function.c:780
+msgid "non-numeric first argument to 'word' function"
+msgstr "primo argomento non numerico per la funzione \"word\""
#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
-msgstr "secondo argomento non numerico per la funzione wordlist"
+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:1458
-#, fuzzy, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
-msgstr "create_child_process: DuplicateHandle(In) fallita (e=%ld)\n"
+#: function.c:805
+msgid "non-numeric first argument to 'wordlist' function"
+msgstr "primo argomento non numerico per la funzione \"wordlist\""
-#: function.c:1469
-#, fuzzy, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr "create_child_process: DuplicateHandle(Err) fallita (e=%ld)\n"
+#: function.c:807
+msgid "non-numeric second argument to 'wordlist' function"
+msgstr "secondo argomento non numerico per la funzione \"wordlist\""
+
+#: 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: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:1474
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
-msgstr "CreatePipe() fallita (e=%ld)\n"
+msgstr "CreatePipe() non riuscita (e=%ld)\n"
-#: function.c:1479
-#, fuzzy
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
-msgstr "windows32_openpipe (): process_init_fd() fallita\n"
+msgstr "windows32_openpipe(): process_init_fd() non riuscita\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Pulitura del file batch temporaneo %s\n"
-#: function.c:2150
+#: function.c:2193
+#, c-format
+msgid "open: %s: %s"
+msgstr "apertura: %s: %s"
+
+#: function.c:2203
#, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
-msgstr "numero di argomenti non sufficienti (%d) per la funzione «%s»"
+msgid "write: %s: %s"
+msgstr "scrittura: %s: %s"
-#: function.c:2162
+#: function.c:2209
#, c-format
-msgid "unimplemented on this platform: function `%s'"
-msgstr "non implementata su questa architettura: funzione «%s»"
+msgid "Invalid file operation: %s"
+msgstr "Operazione sui file non valida: %s"
-#: function.c:2212
+#: function.c:2324
#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
-msgstr "chiamata non terminata per la funzione «%s»: «%c» mancante"
+msgid "insufficient number of arguments (%d) to function '%s'"
+msgstr "numero di argomenti non sufficienti (%d) per la funzione \"%s\""
+
+#: function.c:2336
+#, c-format
+msgid "unimplemented on this platform: function '%s'"
+msgstr "non implementata su questa piattaforma: funzione \"%s\""
+
+#: function.c:2399
+#, c-format
+msgid "unterminated call to function '%s': missing '%c'"
+msgstr "chiamata non terminata alla funzione \"%s\": \"%c\" mancante"
+
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "Nome della funzione vuoto\n"
+
+#: function.c:2593
+#, fuzzy, c-format
+msgid "Invalid function name: %s"
+msgstr "Nome della funzione non valido: %s\n"
+
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
+msgstr "Nome della funzione troppo lungo: %s\n"
+
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr "numero di argomenti non sufficienti (%d) per la funzione \"%s\"\n"
-#: getopt.c:661
+#: function.c:2601
+#, fuzzy, c-format
+msgid "Invalid maximum argument count (%d) for function %s"
+msgstr "numero di argomenti non sufficienti (%d) per la funzione \"%s\"\n"
+
+#: getopt.c:659
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: l'opzione «%s» è ambigua\n"
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: l'opzione \"%s\" è ambigua\n"
-#: getopt.c:685
+#: getopt.c:683
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: l'opzione «--%s» non ammette un argomento\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: l'opzione \"--%s\" non ammette argomenti\n"
-#: getopt.c:690
+#: getopt.c:688
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: l'opzione «%c%s» non ammette un argomento\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: l'opzione \"%c%s\" non ammette argomenti\n"
-#: getopt.c:707 getopt.c:880
+#: getopt.c:705 getopt.c:878
#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: l'opzione «%s» richiede un argomento\n"
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s: l'opzione \"%s\" richiede un argomento\n"
-#: getopt.c:736
+#: getopt.c:734
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: «--%s» opzione sconosciuta\n"
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: opzione \"--%s\" sconosciuta\n"
-#: getopt.c:740
+#: getopt.c:738
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: «%c%s» opzione sconosciuta\n"
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: opzione \"%c%s\" sconosciuta\n"
-#: getopt.c:766
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
-msgstr "%s: opzione non valida -- %c\n"
+msgstr "%s: opzione illecita -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
-msgstr "%s: opzione non valida -- %c\n"
+msgstr "%s: opzione illecita -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: l'opzione richiede un argomento -- %c\n"
-#: getopt.c:846
+#: getopt.c:844
+#, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: l'opzione \"-W %s\" è ambigua\n"
+
+#: getopt.c:862
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: l'opzione «-W %s» è ambigua\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s: l'opzione \"-W %s\" non ammette argomenti\n"
-#: getopt.c:864
+#: guile.c:58
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: l'opzione «-W %s» non ammette un argomento\n"
+msgid "guile: Expanding '%s'\n"
+msgstr "guile: Espansione di \"%s\"\n"
+
+#: guile.c:74
+#, c-format
+msgid "guile: Evaluating '%s'\n"
+msgstr "guile: Valutazione di \"%s\"\n"
#: hash.c:49
-#, fuzzy, c-format
+#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
-msgstr "impossibile allocare %ld byte per la tabella hash: memoria esaurita"
+msgstr "impossibile allocare %lu byte per la tabella hash: memoria esaurita"
#: hash.c:280
#, c-format
msgid "Load=%ld/%ld=%.0f%%, "
-msgstr "Load=%ld/%ld=%.0f%%, "
+msgstr "Carico=%ld/%ld=%.0f%%, "
#: hash.c:282
#, c-format
@@ -495,134 +556,156 @@ msgstr "Rehash=%d, "
msgid "Collisions=%ld/%ld=%.0f%%"
msgstr "Collisioni=%ld/%ld=%.0f%%"
-#: implicit.c:40
+#: implicit.c:38
#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
-msgstr "Ricerca di una regola implicita per «%s».\n"
+msgid "Looking for an implicit rule for '%s'.\n"
+msgstr "Ricerca di una regola implicita per \"%s\".\n"
-#: implicit.c:56
+#: implicit.c:54
#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
+msgid "Looking for archive-member implicit rule for '%s'.\n"
msgstr ""
-"Ricerca di una regola implicita per «%s» usando il nome dell'archivio "
-"membro.\n"
+"Ricerca di una regola implicita per il membro di archivio per \"%s\".\n"
-#: implicit.c:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
-msgstr "Viene evitata la ricorsione della regola implicita.\n"
+msgstr "Evitata la ricorsione della regola implicita.\n"
+
+#: implicit.c:486
+#, c-format
+msgid "Stem too long: '%.*s'.\n"
+msgstr "Stem troppo lungo: \"%.*s\".\n"
#: implicit.c:491
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
-msgstr "Viene tentata la regola del pattern con radice «%.*s».\n"
+msgid "Trying pattern rule with stem '%.*s'.\n"
+msgstr "Tentativo di usare la regola del modello con stem \"%.*s\".\n"
-#: implicit.c:674
+#: implicit.c:697
#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
-msgstr "Viene rifiutata la regola prerequisita \"impossible\" «%s».\n"
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
+msgstr "Prerequisito impossibile \"%s\" della regola rifiutato.\n"
-#: implicit.c:675
+#: implicit.c:698
#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
-msgstr "Viene rifiutato il prerequisito implicito \"impossible\" «%s».\n"
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
+msgstr "Prerequisito implicito impossibile \"%s\" rifiutato.\n"
-#: implicit.c:688
+#: implicit.c:711
#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
-msgstr "Viene tentata la regola prerequisita «%s».\n"
+msgid "Trying rule prerequisite '%s'.\n"
+msgstr "Tentativo di usare il prerequisito della regola \"%s\".\n"
-#: implicit.c:689
+#: implicit.c:712
#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
-msgstr "Viene tentato il prerequisito implicito «%s».\n"
+msgid "Trying implicit prerequisite '%s'.\n"
+msgstr "Tentativo di usare il prerequisito implicito \"%s\".\n"
-#: implicit.c:728
+#: implicit.c:751
#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
-msgstr "Trovato il prerequisito «%s» come VPATH «%s»\n"
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
+msgstr "Trovato il prerequisito \"%s\" come VPATH \"%s\"\n"
-#: implicit.c:742
+#: implicit.c:765
#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
-msgstr "Ricerca di una regola con il \"file intermedio\" «%s».\n"
+msgid "Looking for a rule with intermediate file '%s'.\n"
+msgstr "Ricerca di una regola con il file intermedio \"%s\".\n"
-#: job.c:335
+#: job.c:361
msgid "Cannot create a temporary file\n"
-msgstr "Impossibile creare il file temporaneo\n"
+msgstr "Impossibile creare un file temporaneo\n"
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] Errore 0x%x (ignorato)"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (creato dump del core)"
+
+#: job.c:488
+msgid " (ignored)"
+msgstr " (ignorato)"
+
+#: job.c:492 job.c:2046
+msgid "<builtin>"
+msgstr "<incorporato>"
-#: job.c:450
+#: job.c:503
#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] Errore 0x%x"
+msgid "%s: recipe for target '%s' failed"
+msgstr "%s: set di istruzioni per l'obiettivo \"%s\" non riuscito"
-#: job.c:454
+#: job.c:516 job.c:524
#, c-format
-msgid "[%s] Error %d (ignored)"
-msgstr "[%s] Errore %d (ignorato)"
+msgid "%s[%s] Error %d%s"
+msgstr "%s[%s] Errore %d%s"
-#: job.c:455
+#: job.c:519
#, c-format
-msgid "*** [%s] Error %d"
-msgstr "*** [%s] Errore %d"
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Errore 0x%x%s"
-#: job.c:460
-msgid " (core dumped)"
-msgstr " (core dumped)"
+#: job.c:529
+#, c-format
+msgid "%s[%s] %s%s%s"
+msgstr "%s[%s] %s%s%s"
-#: job.c:549
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
-msgstr "*** Attesa dei processi non terminati...."
+msgstr "*** Attesa per i processi non terminati...."
-#: job.c:579
-#, fuzzy, c-format
+#: job.c:651
+#, c-format
msgid "Live child %p (%s) PID %s %s\n"
-msgstr "Processo figlio vivo 0x%08lx (%s) PID %ld %s\n"
+msgstr "Processo figlio vivo %p (%s) con PID %s %s\n"
-#: job.c:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (remoto)"
-#: job.c:758
-#, fuzzy, c-format
+#: job.c:841
+#, c-format
msgid "Reaping losing child %p PID %s %s\n"
-msgstr "Interruzione del processo figlio perdente 0x%08lx PID %ld %s\n"
+msgstr "Interruzione del processo figlio perdente %p con PID %s %s\n"
-#: job.c:759
-#, fuzzy, c-format
+#: job.c:842
+#, c-format
msgid "Reaping winning child %p PID %s %s\n"
-msgstr "Interruzione del processo figlio vincente 0x%08lx PID %ld %s\n"
+msgstr "Interruzione del processo figlio vincente %p con PID %s %s\n"
-#: job.c:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Pulitura del file batch temporaneo %s\n"
-#: job.c:861
-#, fuzzy, c-format
+#: 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:961
+#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr ""
-"Rimozione del processo figlio 0x%08lx PID %ld%s dalla catena di esecuzione.\n"
+"Rimozione del processo figlio %p con PID %s%s dalla catena di esecuzione.\n"
-#: job.c:920
-msgid "write jobserver"
-msgstr "write jobserver"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
+msgstr "rilascio del semaforo del jobserver: (Errore %ld: %s)"
-#: job.c:922
-#, fuzzy, c-format
+#: job.c:1024 job.c:1038
+#, c-format
msgid "Released token for child %p (%s).\n"
-msgstr "Token rilasciato per il processo figlio 0x%08lx (%s).\n"
+msgstr "Token rilasciato per il processo figlio %p (%s).\n"
+
+#: job.c:1036
+msgid "write jobserver"
+msgstr "scrittura del jobserver"
-#: job.c:1453 job.c:2094
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
-msgstr "process_easy() fallita all'avvio del processo (e=%ld)\n"
+msgstr "process_easy() non riuscita all'avvio del processo (e=%ld)\n"
-#: job.c:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -631,148 +714,209 @@ msgstr ""
"\n"
"Contati %d argomenti nell'avvio fallito\n"
-#: job.c:1525
-#, fuzzy, c-format
+#: job.c:1735
+#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr ""
-"Inserimento del processo figlio 0x%08lx (%s) PID %ld%s sulla catena di "
+"Inserimento del processo figlio %p (%s) con PID %s%s nella catena di "
"esecuzione.\n"
-#: job.c:1778
-#, fuzzy, c-format
+#: 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 0x%08lx (%s).\n"
+msgstr "Token ottenuto per il processo figlio %p (%s).\n"
-#: job.c:1787
+#: job.c:2029
msgid "read jobs pipe"
msgstr "lettura della pipe dei processi"
-#: job.c:1798
+#: job.c:2056
#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr ""
+msgid "%s: target '%s' does not exist"
+msgstr "%s: l'obbiettivo \"%s\" non esiste"
-#: job.c:1802
-#, fuzzy, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "L'obiettivo «%s» non necessita di essere rigenerato"
+#: 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:1910
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
-msgstr "impossibile applicare i limiti di carico su questo sistema operativo"
+msgstr ""
+"impossibile far rispettare i limiti di carico su questo sistema operativo"
-#: job.c:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
-msgstr "impossibile applicare il limite di carico: "
+msgstr "impossibile far rispettare il limite di carico: "
-#: job.c:1985
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
-msgstr "nessun altro file gestito: impossibile duplicare lo standard input\n"
+msgstr ""
+"nessun'altra gestione del file: impossibile duplicare lo standard input\n"
-#: job.c:1987
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
-msgstr "nessun altro file gestito: impossibile duplicare lo standard output\n"
+msgstr ""
+"nessun'altra gestione del file: impossibile duplicare lo standard output\n"
+
+#: 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:2015
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "Impossibile ripristinare lo standard input\n"
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Impossibile ripristinare lo standard output\n"
-#: job.c:2127
-#, fuzzy, c-format
+#: job.c:2309
+msgid "Could not restore stderr\n"
+msgstr "Impossibile ripristinare lo standard error\n"
+
+#: 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 %ld, in attesa ancora del "
-"processo con pid %ld\n"
+"make ha interrotto il processo figlio con pid %s, è ancora in attesa del "
+"processo con pid %s\n"
-#: job.c:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: comando non trovato"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: shell non trovata"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: lo spazio dell'ambiente potrebbe essere esaurito"
-#: job.c:2461
+#: job.c:2765
#, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
-msgstr "$SHELL cambiata (era «%s», adesso è «%s»)\n"
+msgid "$SHELL changed (was '%s', now '%s')\n"
+msgstr "$SHELL cambiata (era \"%s\", adesso è \"%s\")\n"
-#: job.c:2951
+#: 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:2963
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+"Contenuti del file batch:\n"
+"\t@echo off\n"
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
+"Contenuti del file batch:%s\n"
+"\t%s\n"
-#: job.c:3065
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
-"%s (riga %d) Contesto della shell errato (!unixy && !batch_mode_shell)\n"
+"%s (riga %d) contesto della shell errato (!unixy && !batch_mode_shell)\n"
+
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr "-O[TIPO] (--output-sync[=TIPO]) non è configurato per questa versione."
-#: main.c:303
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr "Apertura della tabella dei simboli globale non riuscita: %s"
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr "L'oggetto caricato %s non è dichiarato compatibile con la licenza GPL"
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr "Caricamento del simbolo %s da %s non riuscito: %s"
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr "Nome del simbolo vuoto per il caricamento: %s"
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr "Caricamento del simbolo %s da %s\n"
+
+#: load.c:244
+msgid "The 'load' operation is not supported on this platform."
+msgstr "L'operazione \"load\" non è supportata su questa piattaforma."
+
+#: main.c:313
msgid "Options:\n"
msgstr "Opzioni:\n"
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m Ignorato per compatibilità.\n"
-#: main.c:306
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
-" -B, --always-make Genera tutti gli obbiettivi "
-"incondizionatamente\n"
+" -B, --always-make Genera tutti gli obiettivi "
+"incondizionatamente.\n"
-#: main.c:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
" -C DIRECTORY, --directory=DIRECTORY\n"
-" Cambia in DIRECTORY prima di fare qualunque "
+" Cambia DIRECTORY prima di fare qualunque "
"cosa.\n"
-#: main.c:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
-msgstr " -d Mostra informazioni di debug.\n"
+msgstr " -d Mostra molte informazioni di debug.\n"
-#: main.c:313
+#: 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:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
" -e, --environment-overrides\n"
-" Le variabili d'ambiente sovrascrivono i "
+" Le variabili ambiente sovrascrivono i "
"makefile.\n"
-#: main.c:318
+#: 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:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -780,39 +924,39 @@ msgstr ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Legge FILE come un makefile.\n"
-#: main.c:323
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Mostra questo messaggio ed esce.\n"
-#: main.c:325
-#, fuzzy
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
-msgstr " -i, --ignore-errors Ignora gli errori dei comandi.\n"
+msgstr ""
+" -i, --ignore-errors Ignora gli errori dai set di istruzioni.\n"
-#: main.c:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
-" Cerca DIRECTORY per i makefile inclusi.\n"
+" Cerca nella DIRECTORY per i makefile inclusi.\n"
-#: main.c:330
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
msgstr ""
-" -j [N], --jobs[=N] Permette N processi in una volta; infiniti "
-"processi senza argomento.\n"
+" -j [N], --jobs[=N] Permette N processi alla volta; infiniti se "
+"non viene specificato l'argomento.\n"
-#: main.c:332
+#: 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 alcuni obbiettivi "
-"non possono essere creati.\n"
+" -k, --keep-going Continua l'esecuzione quando non è possibile "
+"creare alcuni obiettivi.\n"
-#: main.c:334
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -820,9 +964,9 @@ msgid ""
msgstr ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Non avvia processi multipli a meno che il "
-"carico di lavoro è sotto N.\n"
+"carico di lavoro non sia sotto N.\n"
-#: main.c:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -830,57 +974,63 @@ msgstr ""
" -L, --check-symlink-times Usa il più recente mtime tra i collegamenti "
"simbolici e l'obiettivo.\n"
-#: main.c:339
-#, fuzzy
+#: 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"
-" Non esegue alcun comando; li mostra "
+" Non esegue alcun set di istruzioni; lo stampa "
"solamente.\n"
-#: main.c:342
+#: 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 FILE, --old-file=FILE, --assume-old=FILE\n"
-" Considera FILE come molto vecchio e non "
+" Considera il FILE come molto vecchio e non "
"riesegue make.\n"
-#: main.c:345
+#: main.c:355
+msgid ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
+msgstr ""
+" -O[TIPO], --output-sync[=TIPO]\n"
+" Sincronizza l'output dei processi paralleli "
+"dal TIPO.\n"
+
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
-msgstr " -p, --print-data-base Mostra il database interno di make.\n"
+msgstr " -p, --print-data-base Stampa il database interno di make.\n"
-#: main.c:347
-#, fuzzy
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-" -q, --question Non avvia alcun comando; lo stato di uscita "
-"dice se è aggiornato.\n"
+" -q, --question Non avvia alcun set di istruzioni; lo stato di "
+"uscita indica se è aggiornato.\n"
-#: main.c:349
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr ""
-" -r, --no-builtin-rules Disabilita le regole implicite integrate.\n"
+" -r, --no-builtin-rules Disabilita le regole implicite interne.\n"
-#: main.c:351
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
-" -R, --no-builtin-variables Dsabilita le impostazioni delle variabili "
-"integrate.\n"
+" -R, --no-builtin-variables Disabilita le impostazioni delle variabili "
+"interne.\n"
-#: main.c:353
-#, fuzzy
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
-msgstr " -s, --silent, --quiet Non visualizza i comandi.\n"
+msgstr " -s, --silent, --quiet Non visualizza i set di istruzioni.\n"
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -888,64 +1038,73 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Disattiva l'opzione -k.\n"
-# # touch = in questo contesto è simile alla funzione del comando 'touch'
-#: main.c:358
+# ## touch = in questo contesto è simile alla funzione del comando 'touch'
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
-" -t, --touch Aggiorna la marcatura temporale degli "
-"obbiettivi senza ricrearli.\n"
+" -t, --touch Esegue il touch degli obiettivi invece di "
+"ricrearli.\n"
-#: main.c:360
+#: main.c:373
+msgid " --trace Print tracing information.\n"
+msgstr " --trace Stampa informazioni di tracciamento.\n"
+
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr ""
-" -v, --version Mostra il numero di versione di make ed esce.\n"
+" -v, --version Stampa il numero di versione di make ed esce.\n"
-#: main.c:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
-msgstr " -w, --print-directory Mostra la directory corrente.\n"
+msgstr " -w, --print-directory Stampa la directory corrente.\n"
-#: main.c:364
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr ""
-" --no-print-directory Disattiva l'opzione -w, anche se è stata "
+" --no-print-directory Disattiva l'opzione -w, anche se era stata "
"attivata implicitamente.\n"
-#: main.c:366
+#: 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 FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
-" Considera FILE come infinitamente nuovo.\n"
+" Considera il FILE come nuovo di zecca.\n"
-#: main.c:369
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr ""
-" --warn-undefined-variables Avvisa quando una variabile non definita viene "
-"referenziata.\n"
+" --warn-undefined-variables Avvisa quando viene referenziata una variabile "
+"non definita.\n"
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
-msgstr "testo vuoto non valido come nome di file"
+msgstr "una stringa vuota non è valida come nome di file"
-#: main.c:650
+#: main.c:737
#, c-format
-msgid "unknown debug level specification `%s'"
-msgstr "livello di debug specificato sconosciuto «%s»"
+msgid "unknown debug level specification '%s'"
+msgstr "livello di debug specificato sconosciuto \"%s\""
-#: main.c:690
-#, fuzzy, c-format
+#: main.c:774
+#, c-format
+msgid "unknown output-sync type '%s'"
+msgstr "tipo di output-sync (sincronizzazione dell'output) sconosciuto \"%s\""
+
+#: main.c:828
+#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr ""
-"%s: interruzione/eccezione ricevuta (codice = 0x%lx, indirizzo = 0x%lx)\n"
+"%s: catturata una interruzione/eccezione (codice = 0x%lx, indirizzo = 0x%p)\n"
-#: main.c:697
-#, fuzzy, c-format
+#: main.c:835
+#, c-format
msgid ""
"\n"
"Unhandled exception filter called from program %s\n"
@@ -957,167 +1116,188 @@ msgstr ""
"Filtro eccezione non gestita chiamata dal programma %s\n"
"ExceptionCode = %lx\n"
"ExceptionFlags = %lx\n"
-"ExceptionAddress = %lx\n"
+"ExceptionAddress = 0x%p\n"
-#: main.c:705
-#, fuzzy, c-format
+#: main.c:843
+#, c-format
msgid "Access violation: write operation at address 0x%p\n"
-msgstr "Violazione accesso: operazione di scrittura all'indirizzo %lx\n"
+msgstr "Violazione accesso: operazione di scrittura all'indirizzo 0x%p\n"
-#: main.c:706
-#, fuzzy, c-format
+#: main.c:844
+#, c-format
msgid "Access violation: read operation at address 0x%p\n"
-msgstr "Violazione accesso: operazione di lettura all'indirizzo %lx\n"
+msgstr "Violazione accesso: operazione di lettura all'indirizzo 0x%p\n"
-#: main.c:781 main.c:792
-#, fuzzy, c-format
+#: 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"
+msgstr "find_and_set_shell() impostazione default_shell = %s\n"
-#: main.c:834
-#, fuzzy, c-format
+#: 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"
+"find_and_set_shell() impostazione del percorso di ricerca default_shell = "
+"%s\n"
-#: main.c:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s viene sospeso per 30 secondi..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "sleep(30) eseguito. Continuazione.\n"
-#: main.c:1501
-msgid "Makefile from standard input specified twice."
-msgstr "Il Makefile dallo standard input è stato specificato due volte."
-
-#: main.c:1539 vmsjobs.c:500
-msgid "fopen (temporary file)"
-msgstr "fopen (file temporaneo)"
-
-#: main.c:1545
-msgid "fwrite (temporary file)"
-msgstr "fwrite (file temporaneo)"
-
-#: main.c:1703
-msgid "Parallel jobs (-j) are not supported on this platform."
-msgstr "Processi paralleli (-j) non supportati su questa piattaforma."
-
-#: main.c:1704
-msgid "Resetting to single job (-j1) mode."
-msgstr "Reimposto alla modalità a singolo processo (-j1)."
+#: main.c:1527
+#, 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)"
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "errore interno: opzioni multiple per --jobserver-fds"
+#: main.c:1530
+#, c-format
+msgid "Jobserver client (semaphore %s)\n"
+msgstr "Client del jobserver (semaforo %s)\n"
-#: main.c:1727
+#: main.c:1534
#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
-msgstr "errore interno: testo non valido per --jobserver-fds «%s»"
+msgid "internal error: invalid --jobserver-fds string '%s'"
+msgstr "errore interno: stringa illecita per --jobserver-fds \"%s\""
-#: main.c:1730
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
-msgstr ""
+msgstr "Client del jobserver (fds %d,%d)\n"
-#: main.c:1740
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr ""
"attenzione: -jN forzata nel submake: disattivazione della modalità jobserver."
-#: main.c:1750
+#: main.c:1567
msgid "dup jobserver"
msgstr "jobserver duplicato"
-#: main.c:1753
+#: main.c:1570
msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
+"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
-"attenzione: jobserver non disponibile: viene usato -j1. Aggiungere «+» alla "
-"regola make superiore."
+"attenzione: jobserver non disponibile, viene usato -j1. Aggiungere \"+\" "
+"alla regola make superiore."
-#: main.c:1777
+#: main.c:1742
+msgid "Makefile from standard input specified twice."
+msgstr "Il Makefile dallo standard input è stato specificato due volte."
+
+#: main.c:1780 vmsjobs.c:653
+msgid "fopen (temporary file)"
+msgstr "fopen (file temporaneo)"
+
+#: main.c:1786
+msgid "fwrite (temporary file)"
+msgstr "fwrite (file temporaneo)"
+
+#: 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:1975
+msgid "Resetting to single job (-j1) mode."
+msgstr "Reimpostazione alla modalità a singolo processo (-j1)."
+
+#: 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 pipe dei processi"
+msgstr "creazione della pipe dei processi"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
-msgstr "inizializzazione della pipe della modalità jobserver"
+msgstr "inizializzazione nella pipe della modalità jobserver"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
-msgstr ""
-"Collegamenti simbolici non supportati: disabilitazione dell'opzione -L."
+msgstr "Collegamenti simbolici non supportati: opzione -L disabilitata."
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Aggiornamento dei makefile....\n"
-#: main.c:1917
+#: main.c:2158
#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
-msgstr "Il makefile «%s» potrebbe ciclare all'infinito; non viene ricreato.\n"
+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:1996
+#: main.c:2237
#, c-format
-msgid "Failed to remake makefile `%s'."
-msgstr "Riesecuzione del makefile «%s» non riuscita."
+msgid "Failed to remake makefile '%s'."
+msgstr "Riesecuzione del makefile \"%s\" non riuscita."
-#: main.c:2013
+#: main.c:2257
#, c-format
-msgid "Included makefile `%s' was not found."
-msgstr "Il makefile «%s» incluso non è stato trovato."
+msgid "Included makefile '%s' was not found."
+msgstr "Il makefile \"%s\" incluso non è stato trovato."
-#: main.c:2018
+#: main.c:2262
#, c-format
-msgid "Makefile `%s' was not found"
-msgstr "Il makefile «%s» non è stato trovato."
+msgid "Makefile '%s' was not found"
+msgstr "Il makefile \"%s\" non è stato trovato"
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Impossibile ritornare alla directory originale."
-#: main.c:2102
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Riesecuzione[%u]:"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (file temporaneo): "
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL contiene più di un obiettivo"
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Nessun obiettivo specificato e nessun makefile trovato"
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
msgstr "Nessun obiettivo"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
-msgstr "Aggiornamento degli obbiettivi....\n"
+msgstr "Aggiornamento degli obiettivi....\n"
-#: main.c:2306
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
-"attenzione: Rilevato un tempo alterato. La costruzione potrebbe essere "
+"attenzione: rilevato un tempo alterato. La creazione potrebbe essere "
"incompleta."
-#: main.c:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Uso: %s [opzioni] [obiettivo] ...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1126,7 +1306,7 @@ msgstr ""
"\n"
"Questo programma è stato compilato per %s\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1135,37 +1315,32 @@ msgstr ""
"\n"
"Questo programma è stato compilato per %s (%s)\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
-msgstr "Segnalare i bug all'indirizzo <bug-make@gnu.org>\n"
+msgstr "Segnalare i bug a <bug-make@gnu.org>\n"
-#: main.c:2562
-#, fuzzy, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
-msgstr "l'opzione «-%c» richiede un argomento di testo non vuoto"
+#: 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:2617
+#: main.c:2871
#, c-format
-msgid "the `-%c' option requires a positive integral argument"
-msgstr "l'opzione «-%c» richiede un argomento intero positivo"
+msgid "the '-%c' option requires a positive integer argument"
+msgstr "l'opzione \"-%c\" richiede un argomento intero positivo"
-# # anche se manca il verbo "to be" per la forma passiva inglese, traduco in italiano come ci fosse
-#: main.c:3054
-#, fuzzy, c-format
+#: main.c:3269
+#, c-format
msgid "%sBuilt for %s\n"
-msgstr ""
-"\n"
-"%sQuesto programma è stato compilato per %s\n"
+msgstr "%sCompilato per %s\n"
-#: main.c:3056
-#, fuzzy, c-format
+#: main.c:3271
+#, c-format
msgid "%sBuilt for %s (%s)\n"
-msgstr ""
-"\n"
-"%s Questo programma è stato compilato per %s (%s)\n"
+msgstr "%sCompilato per %s (%s)\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1173,9 +1348,13 @@ msgid ""
"%sThis is free software: you are free to change and redistribute it.\n"
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
+"%s Licenza GPLv3+: GNU GPL versione 3 o successiva <http://gnu.org/licenses/"
+"gpl.html>.\n"
+"%s Questo programma è software libero: siete liberi di modificarlo e "
+"ridistribuirlo.\n"
+"%s Non c'è ALCUNA GARANZIA, per quanto consentito dalle vigenti normative.\n"
-# # «%s» è un tipo ctime(3)
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1184,463 +1363,479 @@ msgstr ""
"\n"
"# Generazione del database delle informazioni, creato il %s"
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
"# Finished Make data base on %s\n"
msgstr ""
"\n"
-"# Fine generazione del database il %s\n"
-
-#: main.c:3237
-#, fuzzy, c-format
-msgid "%s: Entering an unknown directory\n"
-msgstr "%s: entrata directory sconosciuta\n"
-
-#: main.c:3239
-#, fuzzy, c-format
-msgid "%s: Leaving an unknown directory\n"
-msgstr "%s: uscita directory sconosciuta\n"
-
-#: main.c:3242
-#, fuzzy, c-format
-msgid "%s: Entering directory `%s'\n"
-msgstr "%s: entrato nella directory «%s»\n"
-
-#: main.c:3245
-#, fuzzy, c-format
-msgid "%s: Leaving directory `%s'\n"
-msgstr "%s: uscito dalla directory «%s»\n"
-
-#: main.c:3250
-#, fuzzy, c-format
-msgid "%s[%u]: Entering an unknown directory\n"
-msgstr "%s[%u]: entrata nella directory sconosciuta\n"
-
-#: main.c:3253
-#, fuzzy, c-format
-msgid "%s[%u]: Leaving an unknown directory\n"
-msgstr "%s[%u]: uscita dalla directory sconosciuta"
-
-#: main.c:3257
-#, fuzzy, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
-msgstr "%s[%u]: entrata nella directory «%s»\n"
-
-#: main.c:3260
-#, fuzzy, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
-msgstr "%s[%u]: uscita dalla directory «%s»\n"
-
-#: misc.c:316
-msgid ". Stop.\n"
-msgstr ". Stop.\n"
+"# Generazione del database completata il %s\n"
-#: misc.c:337
+#: misc.c:201
#, c-format
msgid "Unknown error %d"
msgstr "Errore %d sconosciuto"
-#: misc.c:347
-#, c-format
-msgid "%s%s: %s"
-msgstr "%s%s: %s"
-
-#: misc.c:355
-#, c-format
-msgid "%s: %s"
-msgstr "%s: %s"
-
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "memoria virtuale esaurita"
-
-#: misc.c:708
+#: misc.c:522
#, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
msgstr "%s: utente %lu (reale %lu), gruppo %lu (reale %lu)\n"
-#: misc.c:729
+#: misc.c:543
msgid "Initialized access"
msgstr "Accesso inizializzato"
-#: misc.c:808
+#: misc.c:622
msgid "User access"
msgstr "Accesso utente"
-#: misc.c:856
+#: misc.c:670
msgid "Make access"
-msgstr "Accesso Make"
+msgstr "Accesso make"
-#: misc.c:890
+#: misc.c:704
msgid "Child access"
msgstr "Accesso processo figlio"
-#: misc.c:954
+#: output.c:104
+#, c-format
+msgid "%s: Entering an unknown directory\n"
+msgstr "%s: ingresso in una directory sconosciuta\n"
+
+#: output.c:106
+#, c-format
+msgid "%s: Leaving an unknown directory\n"
+msgstr "%s: uscita dalla directory sconosciuta\n"
+
+#: output.c:109
+#, c-format
+msgid "%s: Entering directory '%s'\n"
+msgstr "%s: ingresso nella directory \"%s\"\n"
+
+#: output.c:111
+#, c-format
+msgid "%s: Leaving directory '%s'\n"
+msgstr "%s: uscita dalla directory \"%s\"\n"
+
+#: output.c:115
+#, c-format
+msgid "%s[%u]: Entering an unknown directory\n"
+msgstr "%s[%u]: ingresso in una directory sconosciuta\n"
+
+#: output.c:117
+#, c-format
+msgid "%s[%u]: Leaving an unknown directory\n"
+msgstr "%s[%u]: uscita dalla directory sconosciuta\n"
+
+#: output.c:120
#, c-format
-msgid "write error: %s"
+msgid "%s[%u]: Entering directory '%s'\n"
+msgstr "%s[%u]: ingresso nella directory \"%s\"\n"
+
+#: output.c:122
+#, c-format
+msgid "%s[%u]: Leaving directory '%s'\n"
+msgstr "%s[%u]: uscita dalla directory \"%s\"\n"
+
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
msgstr "errore in scrittura: %s"
-#: misc.c:956
-msgid "write error"
-msgstr "errore in scrittura"
+#: output.c:677
+msgid ". Stop.\n"
+msgstr ". Arresto.\n"
+
+#: output.c:711
+#, c-format
+msgid "%s%s: %s"
+msgstr "%s%s: %s"
+
+#: output.c:720
+#, c-format
+msgid "%s: %s"
+msgstr "%s: %s"
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
msgstr "Lettura dei makefile...\n"
-#: read.c:333
+#: read.c:335
#, c-format
-msgid "Reading makefile `%s'"
-msgstr "Lettura del makefile «%s»"
+msgid "Reading makefile '%s'"
+msgstr "Lettura del makefile \"%s\""
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (nessun obiettivo predefinito)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (percorso di ricerca)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (ignora)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
-msgstr " (nessuna sostituzione per il carattere «~»)"
+msgstr " (nessuna espansione per \"~\")"
+
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr "UTF-8 BOM nel makefile \"%s\" saltato\n"
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr "UTF-8 BOM nel makefile buffer saltato\n"
-#: read.c:759
+#: read.c:789
msgid "invalid syntax in conditional"
-msgstr "sintassi non valida nella condizione"
+msgstr "sintassi illecita nel condizionale"
-#: read.c:891
-#, fuzzy
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr "%s: caricamento non riuscito"
+
+#: read.c:992
msgid "recipe commences before first target"
-msgstr "i comandi iniziano prima del primo obiettivo"
+msgstr "il set di istruzioni inizia prima del primo obiettivo"
-#: read.c:940
-#, fuzzy
+#: read.c:1041
msgid "missing rule before recipe"
-msgstr "regola assente prima dei comandi"
+msgstr "regola mancante prima del set di istruzioni"
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "separatore %s assente"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
+msgstr " (si intendeva TAB invece di 8 spazi?)"
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
-msgstr " (si intendeva dire un carattere tabulatore invece di otto spazi?)"
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "separatore %s mancante"
-#: read.c:1163
+#: read.c:1270
msgid "missing target pattern"
-msgstr "obiettivo del pattern assente"
+msgstr "modello mancante per l'obiettivo"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
-msgstr "obiettivo dei pattern multiplo"
+msgstr "modelli multipli per l'obiettivo"
-#: read.c:1169
+#: read.c:1276
#, c-format
-msgid "target pattern contains no `%%'"
-msgstr "obiettivo del pattern non contiene «%%»"
+msgid "target pattern contains no '%%'"
+msgstr "il modello dell'obiettivo non contiene alcun \"%%\""
-#: read.c:1293
-msgid "missing `endif'"
-msgstr "«endif» assente"
+#: read.c:1398
+msgid "missing 'endif'"
+msgstr "\"endif\" mancante"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
-msgstr "nome della variabile vuoto"
+msgstr "nome vuoto della variabile"
-#: read.c:1367
-#, fuzzy
-msgid "extraneous text after `define' directive"
-msgstr "Testo estraneo dopo la direttiva «endef»"
+#: read.c:1471
+msgid "extraneous text after 'define' directive"
+msgstr "testo non pertinente dopo la direttiva \"define\""
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
-msgstr "«endef» assente, «define» non terminato"
+#: read.c:1496
+msgid "missing 'endef', unterminated 'define'"
+msgstr "\"endef\" mancante, \"define\" non terminato"
-#: read.c:1420
-#, fuzzy
-msgid "extraneous text after `endef' directive"
-msgstr "Testo estraneo dopo la direttiva «endef»"
+#: read.c:1524
+msgid "extraneous text after 'endef' directive"
+msgstr "testo non pertinente dopo la direttiva \"endef\""
-#: read.c:1490
+#: read.c:1595
#, c-format
-msgid "Extraneous text after `%s' directive"
-msgstr "Testo estraneo dopo la direttiva «%s»"
+msgid "extraneous text after '%s' directive"
+msgstr "testo non pertinente dopo la direttiva \"%s\""
-#: read.c:1499 read.c:1513
+#: read.c:1596
#, c-format
-msgid "extraneous `%s'"
-msgstr "«%s» estraneo"
+msgid "extraneous '%s'"
+msgstr "\"%s\" non pertinente"
-#: read.c:1518
-msgid "only one `else' per conditional"
-msgstr "un solo «else» per condizione"
+#: read.c:1624
+msgid "only one 'else' per conditional"
+msgstr "un solo \"else\" per condizionale"
-#: read.c:1797
+#: read.c:1899
msgid "Malformed target-specific variable definition"
-msgstr "Definizione della variabile \"target-specific\""
+msgstr "Definizione malformata della variabile specifica per l'obiettivo"
-#: read.c:1855
-#, fuzzy
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
-msgstr "i prerequisiti non possono essere definiti nei comandi degli script"
+msgstr "i prerequisiti non possono essere definiti nei set di istruzioni"
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
-msgstr "regole del pattern implicite e statiche miste"
+msgstr "regole del modello implicite e statiche miste"
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "regole implicite e normali miste"
-#: read.c:1976
+#: read.c:2091
#, c-format
-msgid "target `%s' doesn't match the target pattern"
-msgstr "l'obiettivo «%s» non coincide con l'obiettivo pattern"
+msgid "target '%s' doesn't match the target pattern"
+msgstr ""
+"il \"%s\" dell'obiettivo non corrisponde al modello dell'obiettivo stesso"
-#: read.c:1991 read.c:2036
+#: read.c:2106 read.c:2152
#, c-format
-msgid "target file `%s' has both : and :: entries"
-msgstr "l'obiettivo file «%s» ha entrambe le voci : e ::"
+msgid "target file '%s' has both : and :: entries"
+msgstr "Il file dell'obiettivo \"%s\" contiene sia : che ::"
-#: read.c:1997
+#: read.c:2112
#, c-format
-msgid "target `%s' given more than once in the same rule."
-msgstr "l'obiettivo «%s» è stato passato più di una volta nella stessa regola."
+msgid "target '%s' given more than once in the same rule"
+msgstr ""
+"l'obiettivo \"%s\" è stato fornito più di una volta nella stessa regola"
-#: read.c:2006
-#, fuzzy, c-format
-msgid "warning: overriding recipe for target `%s'"
-msgstr "attenzione: sovrascrittura dei comandi per l'obiettivo «%s»"
+#: read.c:2122
+#, c-format
+msgid "warning: overriding recipe for target '%s'"
+msgstr ""
+"attenzione: sovrascrittura del set di istruzioni per l'obiettivo \"%s\""
-#: read.c:2009
-#, fuzzy, c-format
-msgid "warning: ignoring old recipe for target `%s'"
-msgstr "attenzione: scarto dei vecchi comandi per l'obiettivo «%s»"
+#: read.c:2125
+#, c-format
+msgid "warning: ignoring old recipe for target '%s'"
+msgstr ""
+"attenzione: ignorato il set di istruzioni obsoleto per l'obiettivo \"%s\""
-#: read.c:2392
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "regole implicite e normali miste"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr ""
-"attenzione: è stato letto il carattere NUL; il resto della riga viene "
+"attenzione: è stato rilevato il carattere NUL; il resto della riga viene "
"ignorato"
-#: remake.c:234
+#: remake.c:230
#, c-format
-msgid "Nothing to be done for `%s'."
-msgstr "Nessuna operazione da eseguire per «%s»."
+msgid "Nothing to be done for '%s'."
+msgstr "Nessuna operazione da eseguire per \"%s\"."
-#: remake.c:235
+#: remake.c:231
#, c-format
-msgid "`%s' is up to date."
-msgstr "«%s» è aggiornato."
+msgid "'%s' is up to date."
+msgstr "\"%s\" è aggiornato."
-#: remake.c:306
+#: remake.c:303
#, c-format
-msgid "Pruning file `%s'.\n"
-msgstr "Il file «%s» è stato tagliato.\n"
+msgid "Pruning file '%s'.\n"
+msgstr "Pulizia del file \"%s\".\n"
-#: remake.c:359
+#: remake.c:390 remake.c:393
#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%sNessuna regola per generare l'obiettivo «%s»%s"
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
+msgstr ""
+"%s Nessuna regola per generare l'obiettivo \"%s\", necessario per \"%s\"%s"
-#: remake.c:361
+#: remake.c:402 remake.c:405
#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
-msgstr "%sNessuna regola per generare l'obiettivo «%s», necessario per «%s»%s"
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%s Nessuna regola per generare l'obiettivo \"%s\"%s"
-#: remake.c:413
+#: remake.c:426
#, c-format
-msgid "Considering target file `%s'.\n"
-msgstr "Considerato il file obiettivo «%s».\n"
+msgid "Considering target file '%s'.\n"
+msgstr "Considerato il file obiettivo \"%s\".\n"
-#: remake.c:420
+#: remake.c:433
#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
-msgstr ""
-"L'aggiornamento del file «%s» è stato provato recentemente e non è riuscito.\n"
+msgid "Recently tried and failed to update file '%s'.\n"
+msgstr "Tentativo recente di aggiornamento del file \"%s\" non riuscito.\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
-msgid "File `%s' was considered already.\n"
-msgstr "Il file «%s» è stato già esaminato.\n"
+msgid "File '%s' was considered already.\n"
+msgstr "Il file \"%s\" è già stato esaminato.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
-msgid "Still updating file `%s'.\n"
-msgstr "Aggiornamento ancora in corso del file «%s».\n"
+msgid "Still updating file '%s'.\n"
+msgstr "L'aggiornamento del file \"%s\" è ancora in corso.\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
-msgid "Finished updating file `%s'.\n"
-msgstr "Aggiornamento del file «%s» terminato.\n"
+msgid "Finished updating file '%s'.\n"
+msgstr "Aggiornamento del file \"%s\" terminato.\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
-msgid "File `%s' does not exist.\n"
-msgstr "Il file «%s» non esiste.\n"
+msgid "File '%s' does not exist.\n"
+msgstr "Il file \"%s\" non esiste.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-"*** Attenzione: il file .LOW_RESOLUTION_TIME «%s» ha un'alta risoluzione "
-"della marcatura temporale"
+"*** Attenzione: il file .LOW_RESOLUTION_TIME \"%s\" ha una marcatura "
+"temporale ad alta risoluzione"
-#: remake.c:494 remake.c:1016
+#: remake.c:508 remake.c:1040
#, c-format
-msgid "Found an implicit rule for `%s'.\n"
-msgstr "Trovata una regola implicita per «%s».\n"
+msgid "Found an implicit rule for '%s'.\n"
+msgstr "Trovata una regola implicita per \"%s\".\n"
-#: remake.c:496 remake.c:1018
+#: remake.c:510 remake.c:1042
#, c-format
-msgid "No implicit rule found for `%s'.\n"
-msgstr "Nessuna regola implicita trovata per «%s».\n"
+msgid "No implicit rule found for '%s'.\n"
+msgstr "Nessuna regola implicita trovata per \"%s\".\n"
-#: remake.c:502
-#, fuzzy, c-format
-msgid "Using default recipe for `%s'.\n"
-msgstr "Uso dei comandi predefiniti per «%s».\n"
+#: remake.c:516
+#, c-format
+msgid "Using default recipe for '%s'.\n"
+msgstr "Uso del set di istruzioni predefinito per \"%s\".\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Dipendenza circolare %s <- %s scartata."
-#: remake.c:651
+#: remake.c:675
#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
-msgstr "Prerequisiti del file obiettivo «%s» terminati.\n"
+msgid "Finished prerequisites of target file '%s'.\n"
+msgstr "Prerequisiti del file obiettivo \"%s\" terminati.\n"
-#: remake.c:657
+#: remake.c:681
#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
-msgstr "I prerequisiti di «%s» vengono generati.\n"
+msgid "The prerequisites of '%s' are being made.\n"
+msgstr "Generazione dei prerequisiti di \"%s\" in corso.\n"
-#: remake.c:670
+#: remake.c:695
#, c-format
-msgid "Giving up on target file `%s'.\n"
-msgstr "Abbandono del file obiettivo «%s».\n"
+msgid "Giving up on target file '%s'.\n"
+msgstr "Abbandono sul file obiettivo \"%s\".\n"
-#: remake.c:675
+#: remake.c:700
#, c-format
-msgid "Target `%s' not remade because of errors."
-msgstr "L'obiettivo «%s» non è stato rigenerato a causa degli errori."
+msgid "Target '%s' not remade because of errors."
+msgstr "L'obiettivo \"%s\" non è stato rigenerato a causa di errori."
-#: remake.c:727
+#: remake.c:752
#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
-msgstr "Il prerequisito «%s» è solo per l'obiettivo «%s».\n"
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
+msgstr "Il prerequisito \"%s\" è solo per l'obiettivo \"%s\".\n"
-#: remake.c:732
+#: remake.c:757
#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
-msgstr "Il prerequisito «%s» dell'obiettivo «%s» non esiste.\n"
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
+msgstr "Il prerequisito \"%s\" dell'obiettivo \"%s\" non esiste.\n"
-#: remake.c:737
+#: remake.c:762
#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
-msgstr "Il prerequisito di «%s» è più nuovo dell'obiettivo «%s».\n"
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
+msgstr "Il prerequisito \"%s\" è più nuovo di quello dell'obiettivo \"%s\".\n"
-#: remake.c:740
+#: remake.c:765
#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
-msgstr "Il prerequisito «%s» è più vecchio dell'obiettivo «%s».\n"
+msgid "Prerequisite '%s' is older than target '%s'.\n"
+msgstr ""
+"Il prerequisito \"%s\" è più vecchio di quello dell'obiettivo \"%s\".\n"
-#: remake.c:758
+#: remake.c:783
#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
-msgstr "L'obiettivo «%s» è \"double-colon\" e non ha alcun prerequisito.\n"
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
+msgstr ""
+"L'obiettivo \"%s\" è \"doppio due punti\" e non ha alcun prerequisito.\n"
-#: remake.c:765
-#, fuzzy, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
-msgstr "Nessun comando per «%s» e nessun prerequisito attualmente cambiato.\n"
+#: remake.c:790
+#, c-format
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
+msgstr ""
+"Nessun set di istruzioni per \"%s\" e nessun prerequisito effettivamente "
+"cambiato.\n"
-#: remake.c:770
+#: remake.c:795
#, c-format
-msgid "Making `%s' due to always-make flag.\n"
-msgstr "Generazione di «%s» a causa dell'opzione \"always-make\".\n"
+msgid "Making '%s' due to always-make flag.\n"
+msgstr "Generazione di \"%s\" a causa del flag \"always-make\".\n"
-#: remake.c:778
+#: remake.c:803
#, c-format
-msgid "No need to remake target `%s'"
-msgstr "L'obiettivo «%s» non necessita di essere rigenerato"
+msgid "No need to remake target '%s'"
+msgstr "Non è necessario rigenerare l'obiettivo \"%s\""
-#: remake.c:780
+#: remake.c:805
#, c-format
-msgid "; using VPATH name `%s'"
-msgstr "; uso del nome VPATH «%s»"
+msgid "; using VPATH name '%s'"
+msgstr "; uso del nome VPATH \"%s\""
-#: remake.c:800
+#: remake.c:825
#, c-format
-msgid "Must remake target `%s'.\n"
-msgstr "L'obiettivo «%s» deve essere rigenerato.\n"
+msgid "Must remake target '%s'.\n"
+msgstr "L'obiettivo \"%s\" deve essere rigenerato.\n"
-#: remake.c:806
+#: remake.c:831
#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
-msgstr " Ignoro il nome VPATH «%s».\n"
+msgid " Ignoring VPATH name '%s'.\n"
+msgstr " nome VPATH \"%s\" ignorato.\n"
-#: remake.c:815
-#, fuzzy, c-format
-msgid "Recipe of `%s' is being run.\n"
-msgstr "I comandi di «%s» vengono eseguiti.\n"
+#: remake.c:840
+#, c-format
+msgid "Recipe of '%s' is being run.\n"
+msgstr "Esecuzione del set di istruzioni per \"%s\" in corso.\n"
-#: remake.c:822
+#: remake.c:847
#, c-format
-msgid "Failed to remake target file `%s'.\n"
-msgstr "Rigenerazione del file obiettivo «%s» non riuscita.\n"
+msgid "Failed to remake target file '%s'.\n"
+msgstr "Rigenerazione del file obiettivo \"%s\" non riuscita.\n"
-#: remake.c:825
+#: remake.c:850
#, c-format
-msgid "Successfully remade target file `%s'.\n"
-msgstr "File obiettivo «%s» rigenerato correttamente.\n"
+msgid "Successfully remade target file '%s'.\n"
+msgstr "File obiettivo \"%s\" rigenerato correttamente.\n"
-#: remake.c:828
+#: remake.c:853
#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
-msgstr "Il file obiettivo «%s» deve essere rigenerato con l'opzione -q.\n"
+msgid "Target file '%s' needs to be remade under -q.\n"
+msgstr ""
+"Il file obiettivo \"%s\" necessita di essere rigenerato con l'opzione -q.\n"
-#: remake.c:1024
+#: remake.c:1048
#, c-format
-msgid "Using default commands for `%s'.\n"
-msgstr "Uso dei comandi predefiniti per «%s».\n"
+msgid "Using default commands for '%s'.\n"
+msgstr "Uso dei comandi predefiniti per \"%s\".\n"
-#: remake.c:1357
+#: remake.c:1397
#, c-format
-msgid "Warning: File `%s' has modification time in the future"
-msgstr "Attenzione: il file «%s» ha il tempo di modifica nel futuro"
+msgid "Warning: File '%s' has modification time in the future"
+msgstr "Attenzione: il file \"%s\" ha un orario di modifica nel futuro"
-# # penso che la stringa "%.2g s" sia "%.2g is"
-#: remake.c:1370
-#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
-msgstr "Attenzione: il file «%s» ha il tempo di modifica %.2g per il futuro"
+#: remake.c:1411
+#, c-format
+msgid "Warning: File '%s' has modification time %s s in the future"
+msgstr "Attenzione: il file \"%s\" ha un orario di modifica %s nel futuro"
-#: remake.c:1569
+#: remake.c:1610
#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
-msgstr "l'elemento .LIBPATTERNS «%s» non è un pattern"
+msgid ".LIBPATTERNS element '%s' is not a pattern"
+msgstr "l'elemento .LIBPATTERNS \"%s\" non è un modello"
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
-msgstr "Le personalizzazioni non saranno esportate: %s\n"
+msgstr "Le personalizzazioni non verranno esportate: %s\n"
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1648,15 +1843,15 @@ msgstr ""
"\n"
"# Regole implicite"
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
msgstr ""
"\n"
-"# Nessuna regola implicita."
+"# Regole non implicite."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1665,247 +1860,266 @@ msgstr ""
"\n"
"# %u regole implicite, %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
msgstr " terminale."
-#: rule.c:534
-#, fuzzy, c-format
+#: rule.c:530
+#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
-msgstr "BUG: num_pattern_rules errato! %u != %u"
+msgstr "BUG: num_pattern_rules è errato! %u != %u"
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
msgstr "segnale sconosciuto"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
-msgstr "Riaggancia"
+msgstr "Chiusura"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
-msgstr "Interrompi"
+msgstr "Interruzione"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
-msgstr "Esci"
+msgstr "Uscita (con core dump)"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
-msgstr "Istruzione illegale"
+msgstr "Istruzione illecita"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
-msgstr "Intercetta traccia/punto di rottura"
+msgstr "Rilevato trace/breakpoint"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr "Annullato"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
-msgstr "IOT trap"
+msgstr "Rilevato IOT"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
-msgstr "EMT trap"
+msgstr "Rilevato EMT"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
-msgstr "Eccezione virgola mobile"
+msgstr "Eccezione in virgola mobile"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
msgstr "Ucciso"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
-msgstr "Errore del bus"
+msgstr "Errore di bus"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
msgstr "Errore di segmentazione"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
msgstr "Chiamata di sistema errata"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
msgstr "Pipe interrotta"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
-msgstr "Allarme"
+msgstr "Sveglia"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
msgstr "Terminato"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
msgstr "Segnale 1 definito dall'utente"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
msgstr "Segnale 2 definito dall'utente"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
msgstr "Processo figlio uscito"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
-msgstr "Blackout"
+msgstr "Mancanza di alimentazione elettrica"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
-msgstr "Fermato"
+msgstr "Fermato (da terminale)"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
-msgstr "Fermato (tty input)"
+msgstr "Fermato (input tty)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
-msgstr "Fermato (tty output)"
+msgstr "Fermato (output tty)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
-msgstr "Fermato (segnale)"
+msgstr "Fermato"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
-msgstr "Limite di tempo della CPU superato"
+msgstr "Limite di tempo CPU superato"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
-msgstr "Limite della dimensione dei file superato"
+msgstr "Superato il limite di dimensione file"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
-msgstr "Timer virtuale scaduto"
+msgstr "Timer virtuale terminato"
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
-msgstr "Profiling timer scaduto"
+msgstr "Timer di profiling terminato"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
-msgstr "Finestra cambiata"
+msgstr "Finestra modificata"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
-msgstr "Continua"
+msgstr "Continuato"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
-msgstr "Condizioni I/O urgenti"
+msgstr "Condizioni di I/O urgente"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
-msgstr "I/O possibile"
+msgstr "I/O consentito"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr "Risorsa persa"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
msgstr "Segnale di pericolo"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
msgstr "Richiesta informazioni"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
-msgstr "Co-processore virgola mobile non disponibile"
+msgstr "Co-processore a virgola mobile non disponibile"
-#: strcache.c:235
-#, fuzzy, c-format
+#: strcache.c:236
+#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s No strcache buffers\n"
msgstr ""
"\n"
-"%s # di stringhe in strcache: %d\n"
+"%s buffer strcache assenti\n"
-#: strcache.c:237
-#, fuzzy, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
-msgstr "%s # di buffer strcache: %d\n"
+#: strcache.c:266
+#, c-format
+msgid ""
+"\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
+msgstr ""
+"\n"
+"%s buffer strcache: %lu (%lu) / stringhe = %lu / memorizzazione = %lu B / "
+"media = %lu B\n"
-#: strcache.c:239
-#, fuzzy, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+#: strcache.c:270
+#, c-format
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
-"%s dimensione strcache: totale = %d / massima = %d / minima = %d / media = %"
-"d\n"
+"%s buffer corrente: dimensione = %hu B / usato = %hu B / count = %hu / media "
+"= %hu B\n"
-#: strcache.c:241
-#, fuzzy, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+#: strcache.c:280
+#, c-format
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
+msgstr "%s altra usata: totale = %lu B / count = %lu / media = %lu B\n"
+
+#: strcache.c:283
+#, c-format
+msgid ""
+"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
msgstr ""
-"%s strcache libera: totale = %d / massima = %d / minima = %d / media = %d\n"
+"%s altra libera: totale = %lu B / max = %lu B / min = %lu B / media = %hu B\n"
-#: strcache.c:244
-#, fuzzy
+#: strcache.c:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
-"# "
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
msgstr ""
"\n"
-"# statistiche della tabella di hash dei file:\n"
+"%s prestazioni strcache: lookups = %lu / hit rate = %lu%%\n"
+
+#: strcache.c:289
+msgid ""
+"# hash-table stats:\n"
+"# "
+msgstr ""
+"# statistiche della tabella hash:\n"
"# "
-#: variable.c:1541
+#: variable.c:1599
+msgid "automatic"
+msgstr "automatico"
+
+#: variable.c:1602
msgid "default"
msgstr "predefinito"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
msgstr "ambiente"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
-msgstr "ambiente sotto l'opzione -e"
+msgstr "ambiente con l'opzione -e"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
msgstr "riga di comando"
-#: variable.c:1556
-msgid "`override' directive"
-msgstr "direttiva «override»"
-
-#: variable.c:1559
-msgid "automatic"
-msgstr "automatico"
+#: variable.c:1617
+msgid "'override' directive"
+msgstr "direttiva \"override\""
-#: variable.c:1570
+#: variable.c:1628
#, c-format
-msgid " (from `%s', line %lu)"
-msgstr " (da «%s», riga %lu)"
+msgid " (from '%s', line %lu)"
+msgstr " (da \"%s\", riga %lu)"
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
-msgstr "# impostazione variabile delle statistiche della tabella di hash:\n"
+msgstr "# statistiche tabella di hash del set di variabili:\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -1913,15 +2127,15 @@ msgstr ""
"\n"
"# Variabili\n"
-#: variable.c:1627
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
"\n"
-"# Valori variabile \"pattern-specific\""
+"# Valori di variabile non specifici per il modello."
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -1929,101 +2143,108 @@ msgstr ""
"\n"
"# Nessun valore per la variabile \"pattern-specific\"."
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
"# %u pattern-specific variable values"
msgstr ""
"\n"
-"# %u valori della variabile \"pattern-specific\""
+"# %u valori di variabile specifici per il modello."
-#: variable.h:219
+#: variable.h:224
#, c-format
-msgid "warning: undefined variable `%.*s'"
-msgstr "attenzione: variabile «%.*s» non definita"
+msgid "warning: undefined variable '%.*s'"
+msgstr "attenzione: variabile \"%.*s\" non definita"
-#: vmsfunctions.c:92
-#, fuzzy, c-format
+#: vmsfunctions.c:91
+#, c-format
msgid "sys$search() failed with %d\n"
-msgstr "sys$search fallita con %d\n"
+msgstr "sys$search() non riuscita con %d\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
-msgstr "Attenzione: Redirezione vuota\n"
+msgstr "Attenzione: redirezione vuota\n"
-#: vmsjobs.c:184
+#: vmsjobs.c:183
#, c-format
-msgid "internal error: `%s' command_state"
-msgstr "errore interno: «%s» command_state"
+msgid "internal error: '%s' command_state"
+msgstr "errore interno: command_state \"%s\""
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
-msgstr "-attenzione, potresti riabilitare la gestione di CTRL+Y dalla DCL.\n"
+msgstr ""
+"-attenzione, potrebbe essere necessario riabilitare la gestione di CTRL+Y da "
+"DCL.\n"
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
-msgstr "BUILTIN [%s][%s]\n"
+msgstr "[%s] INTERNO [%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
-msgstr "BUILTIN CD %s\n"
+msgstr "CD INTERNO %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "BUILTIN RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "CD INTERNO %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
-msgstr "Comando interno «%s» sconosciuto\n"
+msgstr "Comando interno \"%s\" sconosciuto\n"
-#: vmsjobs.c:493
+#: 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 "Errore, comando vuoto\n"
-#: vmsjobs.c:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Input rediretto da %s\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Errore rediretto a %s\n"
-#: vmsjobs.c:523
-#, fuzzy, c-format
+#: vmsjobs.c:690
+#, c-format
msgid "Append output to %s\n"
-msgstr "Output rediretto a %s\n"
+msgstr "Accoda output a %s\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Output rediretto a %s\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
-msgstr ""
+msgstr "Accoda %.*s e pulisce\n"
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
-msgstr "%s verrà invece eseguito\n"
+msgstr "Verrà invece eseguito %s\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
-msgstr "Error spawning, %d\n"
+msgstr "Errore nella generazione, %d\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
@@ -2031,59 +2252,79 @@ msgstr ""
"\n"
"# Percorsi di ricerca VPATH\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
-msgstr "# Nessun percorso di ricerca «vpath»."
+#: vpath.c:600
+msgid "# No 'vpath' search paths."
+msgstr "# Percorsi di ricerca \"vpath\" assenti."
-#: vpath.c:605
+#: vpath.c:602
#, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
-"# percorsi di ricerca «vpath» %u.\n"
+"# %u 'vpath' percorsi di ricerca.\n"
-#: vpath.c:608
+#: vpath.c:605
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
-"# Nessun percorso di ricerca generale (variabile \"VPATH\")."
+"# Percorso di ricerca non generale (variabile \"VPATH\")."
-#: vpath.c:614
+#: vpath.c:611
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
"# Percorso di ricerca generale (variabile \"VPATH\"):\n"
"# "
-#~ msgid "process_easy() failed failed to launch process (e=%ld)\n"
-#~ msgstr "process_easy() fallita all'avvio del processo (e=%ld)\n"
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "errore interno: opzioni multiple per --sync-mutex"
-#~ 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"
-#~ "%sPARTICULAR PURPOSE.\n"
-#~ msgstr ""
-#~ "%sQuesto è software libero; vedere il codice sorgente per le condizioni "
-#~ "di utilizzo.\n"
-#~ "%sNON c'è garanzia; neanche di COMMERCIABILITÀ o IDONEITÀ\n"
-#~ "%sPER UN PARTICOLARE SCOPO.\n"
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "errore interno: opzioni multiple per --jobserver-fds"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "memoria virtuale esaurita"
+
+#~ msgid "write error"
+#~ msgstr "errore in scrittura"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "RM INTERNO %s\n"
-#~ msgid "extraneous `endef'"
-#~ msgstr "«endef» estraneo"
+#~ msgid "# Invalid value in 'update_status' member!"
+#~ msgstr "# Valore illecito nel membro \"update_status\"!"
-#~ msgid "empty `override' directive"
-#~ msgstr "direttiva «override» vuota"
+#~ msgid "unknown trace mode '%s'"
+#~ msgstr "modo di tracciamento \"%s\" sconosciuto"
-#~ msgid "invalid `override' directive"
-#~ msgstr "direttiva «override» non valida"
+#~ msgid "*** [%s] Error 0x%x (ignored)"
+#~ msgstr "*** [%s] Errore 0x%x (ignorato)"
-#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
+#~ msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
+#~ msgstr ""
+#~ "Chiamata del set di istruzioni da %s:%lu per aggiornare l'obiettivo \"%s"
+#~ "\".\n"
+
+#~ msgid "Invoking builtin recipe to update target `%s'.\n"
+#~ msgstr ""
+#~ "Chiamata del set di istruzioni interno per aggiornare l'obiettivo \"%s"
+#~ "\".\n"
+
+#~ msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+#~ msgstr "%s # di buffer strcache: %d (* %d B/buffer = %d B)\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "# strcache hash-table stats:\n"
+#~ "# "
#~ msgstr ""
-#~ "-attenzione, CTRL+Y lascierà il sottoprocesso (o i sottoprocessi).\n"
+#~ "\n"
+#~ "# statistiche tabella hash di strcache:\n"
+#~ "# "
diff --git a/po/ja.gmo b/po/ja.gmo
index 990a70fc..f79bcbd7 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 1791f480..355e30da 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -1,480 +1,539 @@
-# Japanese message for make 3.80
-# Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc.
-# GOTO Masanori <gotom@debian.or.jp>, 2003-2004.
+# 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 <yamad@mb.infoweb.ne.jp>, 2001.
# Thanks to NISHIJIMA Takanori
+# GOTO Masanori <gotom@debian.or.jp>, 2003-2004.
+# Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>, 2011, 2014
#
msgid ""
msgstr ""
-"Project-Id-Version: make 3.80\n"
+"Project-Id-Version: make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-0400\n"
-"PO-Revision-Date: 2004-05-18 00:47+0900\n"
-"Last-Translator: GOTO Masanori <gotom@debian.or.jp>\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 <hmatrjp@users.sourceforge.jp>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
+"Language: ja\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=EUC-JP\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Basepath: /factory/ja-po/make/make-4.0\n"
+"X-Generator: Poedit 1.5.4\n"
-#: ar.c:48
+#: ar.c:46
#, c-format
-msgid "attempt to use unsupported feature: `%s'"
-msgstr "¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤µ¡Ç½¤ò»È¤ª¤¦¤È¤·¤Æ¤¤¤Þ¤¹: `%s'"
+msgid "attempt to use unsupported feature: '%s'"
+msgstr "サãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ãªã„機能を使ãŠã†ã¨ã—ã¦ã„ã¾ã™: '%s'"
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
-msgstr "VMS ¤Ç¤Ï½ñ¸Ë¤Î¥á¥ó¥Ð¤ò touch ¤¹¤ëµ¡Ç½¤¬¤¢¤ê¤Þ¤»¤ó"
+msgstr "VMS ã§ã¯æ›¸åº«ã®ãƒ¡ãƒ³ãƒã‚’ touch ã™ã‚‹æ©Ÿèƒ½ãŒã‚ã‚Šã¾ã›ã‚“"
-#: ar.c:149
+#: ar.c:147
#, c-format
-msgid "touch: Archive `%s' does not exist"
-msgstr "touch: ½ñ¸Ë `%s' ¤¬¤¢¤ê¤Þ¤»¤ó"
+msgid "touch: Archive '%s' does not exist"
+msgstr "touch: 書庫 '%s' ãŒã‚ã‚Šã¾ã›ã‚“"
-#: ar.c:152
+#: ar.c:150
#, c-format
-msgid "touch: `%s' is not a valid archive"
-msgstr "touch: `%s' ¤ÏÀµ¾ï¤Ê½ñ¸Ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+msgid "touch: '%s' is not a valid archive"
+msgstr "'%s' ã¯æœ‰åŠ¹ãªæ›¸åº«ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: ar.c:159
+#: ar.c:157
#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
-msgstr "touch: ¥á¥ó¥Ð `%s' ¤Ï `%s' Æâ¤Ë¤¢¤ê¤Þ¤»¤ó"
+msgid "touch: Member '%s' does not exist in '%s'"
+msgstr "touch: メンム'%s' 㯠'%s' 内ã«å­˜åœ¨ã—ã¾ã›ã‚“"
-#: ar.c:166
+#: ar.c:164
#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
-msgstr "touch: `%s' ¤Ø¤Î ar_member_touch ¤«¤é°Û¾ï¤ÊÃͤ¬ÊÖ¤ê¤Þ¤·¤¿"
+msgid "touch: Bad return code from ar_member_touch on '%s'"
+msgstr "touch: '%s' ã¸ã® ar_member_touch ã‹ã‚‰ç•°å¸¸ãªå€¤ãŒè¿”ã‚Šã¾ã—ãŸ"
-#: arscan.c:69
-#, fuzzy, c-format
+#: arscan.c:124
+#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
-msgstr "lbr$set_module ¤¬¥â¥¸¥å¡¼¥ë¾ðÊó¤ÎÃê½Ð¤Ë¼ºÇÔ¤·¤Þ¤·¤¿. ¾õÂÖ = %d"
+msgstr "lbr$set_module() ãŒãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«æƒ…å ±ã®æŠ½å‡ºã«å¤±æ•—ã—ã¾ã—ãŸ. 状態 = %d"
-#: arscan.c:175
-#, fuzzy, c-format
+#: arscan.c:230
+#, c-format
msgid "lbr$ini_control() failed with status = %d"
-msgstr "lbr$ini_control ¤¬¼ºÇÔ¤·¤Þ¤·¤¿. ¾õÂÖ = %d"
+msgstr "lbr$ini_control() ãŒå¤±æ•—ã—ã¾ã—ãŸ. 状態 = %d"
-#: arscan.c:187
-#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
-msgstr "¥é¥¤¥Ö¥é¥ê `%s' ¤ò³«¤±¤º, ¥á¥ó¥Ð `%s' ¤Î¸¡º÷¤¬¤Ç¤­¤Þ¤»¤ó"
+#: arscan.c:255
+#, fuzzy, c-format
+msgid "unable to open library '%s' to lookup member status %d"
+msgstr "ライブラリ '%s' ã‚’é–‹ã‘ãªã„ãŸã‚, メンム'%s' ã®æ¤œç´¢ãŒã§ãã¾ã›ã‚“"
-#: arscan.c:850
+#: arscan.c:944
#, c-format
-msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
-msgstr "¥á¥ó¥Ð `%s'%s: %ld ¥Ð¥¤¥È at %ld (%ld).\n"
+msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
+msgstr "メンム'%s'%s: %ld ãƒã‚¤ãƒˆ at %ld (%ld).\n"
-#: arscan.c:851
+#: arscan.c:945
msgid " (name might be truncated)"
-msgstr " (̾Á°¤¬ÀÚ¤êµÍ¤á¤é¤ì¤¿¤«¤â)"
+msgstr " (åå‰ãŒåˆ‡ã‚Šè©°ã‚られãŸã‹ã‚‚)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
-msgstr " ÆüÉÕ %s"
+msgstr " 日付 %s"
-#: arscan.c:854
+#: 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:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr "レシピã®è¡Œæ•°ãŒå¤šã™ãŽã¾ã™ (%ud)"
+
+#: commands.c:505
msgid "*** Break.\n"
-msgstr "*** ̾̂.\n"
+msgstr "*** 中断.\n"
-#: commands.c:622
+#: commands.c:629
#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
-msgstr "*** [%s] ½ñ¸Ë¥á¥ó¥Ð `%s' ¤Ï¿ʬµ¶Êª¤Ç¤¹ ¡½ ºï½ü¤·¤Þ¤»¤ó¤Ç¤·¤¿"
+msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
+msgstr "*** [%s] 書庫ã®ãƒ¡ãƒ³ãƒ '%s' ã¯å¤šåˆ†å½ç‰©ã§ã™ ― 削除ã—ã¾ã›ã‚“ã§ã—ãŸ"
-#: commands.c:625
+#: commands.c:633
#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
-msgstr "*** ½ñ¸Ë¥á¥ó¥Ð `%s' ¤Ï¿ʬµ¶Êª¤Ç¤¹ ¡½ ºï½ü¤·¤Þ¤»¤ó¤Ç¤·¤¿"
+msgid "*** Archive member '%s' may be bogus; not deleted"
+msgstr "*** 書庫ã®ãƒ¡ãƒ³ãƒ '%s' ã¯å¤šåˆ†å½ç‰©ã§ã™ ― 削除ã—ã¾ã›ã‚“ã§ã—ãŸ"
-#: commands.c:638
+#: commands.c:647
#, c-format
-msgid "*** [%s] Deleting file `%s'"
-msgstr "*** [%s] ¥Õ¥¡¥¤¥ë `%s' ¤òºï½ü¤·¤Þ¤¹"
+msgid "*** [%s] Deleting file '%s'"
+msgstr "*** [%s] ファイル '%s' を削除ã—ã¾ã™"
-#: commands.c:640
+#: commands.c:649
#, c-format
-msgid "*** Deleting file `%s'"
-msgstr "*** ¥Õ¥¡¥¤¥ë `%s' ¤òºï½ü¤·¤Þ¤¹"
+msgid "*** Deleting file '%s'"
+msgstr "*** ファイル '%s' を削除ã—ã¾ã™"
-#: commands.c:676
-#, fuzzy
+#: commands.c:685
msgid "# recipe to execute"
-msgstr "# ¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É"
+msgstr "# 実行ã™ã‚‹ãƒ¬ã‚·ãƒ”"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
-msgstr " (¥Ó¥ë¥È¥¤¥ó):"
+msgstr " (ビルトイン):"
-#: commands.c:681
+#: commands.c:690
#, c-format
-msgid " (from `%s', line %lu):\n"
-msgstr " (`%s', %lu ¹ÔÌܤ«¤é):\n"
+msgid " (from '%s', line %lu):\n"
+msgstr " (ファイル '%s', %lu 行目):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
msgstr ""
"\n"
-"# ¥Ç¥£¥ì¥¯¥È¥ê\n"
+"# ディレクトリ\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
-msgstr "# %s: ¾õÂÖ¤òÄ´¤Ù¤é¤ì¤Þ¤»¤ó¤Ç¤·¤¿.\n"
+msgstr "# %s: 状態を調ã¹ã‚‰ã‚Œã¾ã›ã‚“ã§ã—ãŸ.\n"
-#: dir.c:1012
+#: dir.c:1005
#, c-format
msgid "# %s (key %s, mtime %d): could not be opened.\n"
-msgstr "# %s (key %s, mtime %d): ³«¤±¤Þ¤»¤ó¤Ç¤·¤¿.\n"
+msgstr "# %s (key %s, mtime %d): é–‹ã‘ã¾ã›ã‚“ã§ã—ãŸ.\n"
-#: dir.c:1016
+#: 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"
+msgstr "# %s (device %d, inode [%d,%d,%d]): é–‹ã‘ã¾ã›ã‚“ã§ã—ãŸ.\n"
-#: dir.c:1021
+#: dir.c:1014
#, c-format
msgid "# %s (device %ld, inode %ld): could not be opened.\n"
-msgstr "# %s (device %ld, inode %ld): ³«¤±¤Þ¤»¤ó¤Ç¤·¤¿.\n"
+msgstr "# %s (device %ld, inode %ld): é–‹ã‘ã¾ã›ã‚“ã§ã—ãŸ.\n"
-#: dir.c:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
msgstr "# %s (key %s, mtime %d): "
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
msgstr "# %s (device %d, inode [%d,%d,%d]): "
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
msgstr "# %s (device %ld, inode %ld): "
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "0"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
-msgstr " ¸Ä¤Î¥Õ¥¡¥¤¥ë, "
+msgstr " 個ã®ãƒ•ã‚¡ã‚¤ãƒ«, "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "0"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
-msgstr " ¸Ä¤ÎŬÍÑÉÔǽ¥Õ¥¡¥¤¥ë̾"
+msgstr " 個ã®é©ç”¨ä¸èƒ½ãƒ•ã‚¡ã‚¤ãƒ«å"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
-msgstr " (¤³¤³¤Þ¤Ç¤Ë)."
+msgstr " (ã“ã“ã¾ã§ã«)."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
-msgstr " ¸Ä¤ÎŬÍÑÉÔǽ¥Õ¥¡¥¤¥ë̾ (%lu ¸Ä¤Î¥Ç¥£¥ì¥¯¥È¥êÆâ).\n"
+msgstr " 個ã®é©ç”¨ä¸èƒ½ãƒ•ã‚¡ã‚¤ãƒ«å (%lu 個ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…).\n"
-#: expand.c:127
+#: expand.c:125
#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
-msgstr "ºÆµ¢ÅªÊÑ¿ô `%s' ¤¬(ºÇ½ªÅª¤Ë)¤½¤ì¼«¿È¤ò»²¾È¤·¤Æ¤¤¤Þ¤¹"
+msgid "Recursive variable '%s' references itself (eventually)"
+msgstr "å†å¸°çš„変数 '%s' ãŒ(最終的ã«)ãれ自身をå‚ç…§ã—ã¦ã„ã¾ã™"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
-msgstr "½ªÃ¼¤Î¤Ê¤¤ÊÑ¿ô»²¾È"
-
-#: file.c:267
-#, fuzzy, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
-msgstr "¥Õ¥¡¥¤¥ë `%s' ¤Ø¤Î¥³¥Þ¥ó¥É¤¬ %s:%lu ¤Ç»ØÄꤵ¤ì¤Þ¤·¤¿."
+msgstr "終端ã®ãªã„変数å‚ç…§"
-#: file.c:272
-#, fuzzy, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
-msgstr "¥Õ¥¡¥¤¥ë `%s' ¤Ø¤Î¥³¥Þ¥ó¥É¤Ï°ÅÌۥ롼¥ë¤Îõº÷¤Ç¸«¤Ä¤«¤ê¤Þ¤·¤¿,"
+#: file.c:271
+#, c-format
+msgid "Recipe was specified for file '%s' at %s:%lu,"
+msgstr "ファイル '%s' ã®ãŸã‚ã®ã®ãƒ¬ã‚·ãƒ”㌠%s:%lu ã§æŒ‡å®šã•ã‚Œã¾ã—ãŸ,"
-#: file.c:275
+#: file.c:276
#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
-msgstr "¤·¤«¤·º£¤Ï `%s' ¤È `%s' ¤ÏƱ¤¸¥Õ¥¡¥¤¥ë¤È¸«¤Ê¤µ¤ì¤Þ¤¹."
+msgid "Recipe for file '%s' was found by implicit rule search,"
+msgstr "ファイル '%s' ã®ãŸã‚ã®ãƒ¬ã‚·ãƒ”ãŒæš—黙ルールã®æŽ¢ç´¢ã§è¦‹ã¤ã‹ã‚Šã¾ã—ãŸ,"
-#: file.c:278
-#, fuzzy, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
-msgstr "`%s' ¤Ø¤Î¥³¥Þ¥ó¥É¤Ï, `%s' ¤òÁª¤Ö¤³¤È¤Çº£¸å̵»ë¤µ¤ì¤Þ¤¹."
+#: file.c:280
+#, c-format
+msgid "but '%s' is now considered the same file as '%s'."
+msgstr "ã—ã‹ã—今㯠'%s' 㨠'%s' ã¯åŒã˜ãƒ•ã‚¡ã‚¤ãƒ«ã¨è¦‹ãªã•ã‚Œã¾ã™."
-#: file.c:298
+#: file.c:283
#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
-msgstr "¥·¥ó¥°¥ë¥³¥í¥ó `%s' ¤«¤é¥À¥Ö¥ë¥³¥í¥ó `%s' ¤Ë̾Á°¤òÊѤ¨¤é¤ì¤Þ¤»¤ó"
+msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
+msgstr "'%s' ã®ãŸã‚ã®ãƒ¬ã‚·ãƒ”ã¯, '%s' ã®ãŸã‚ã®ã‚‚ã®ã‚’優先ã™ã‚‹ãŸã‚無視ã•ã‚Œã¾ã™."
#: file.c:303
#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
-msgstr "¥À¥Ö¥ë¥³¥í¥ó `%s' ¤«¤é¥·¥ó¥°¥ë¥³¥í¥ó `%s' ¤Ë̾Á°¤òÊѤ¨¤é¤ì¤Þ¤»¤ó"
+msgid "can't rename single-colon '%s' to double-colon '%s'"
+msgstr "シングルコロン '%s' ã‹ã‚‰ãƒ€ãƒ–ルコロン '%s' ã«åå‰ã‚’変ãˆã‚‰ã‚Œã¾ã›ã‚“"
+
+#: file.c:309
+#, c-format
+msgid "can't rename double-colon '%s' to single-colon '%s'"
+msgstr "ダブルコロン '%s' ã‹ã‚‰ã‚·ãƒ³ã‚°ãƒ«ã‚³ãƒ­ãƒ³ '%s' ã«åå‰ã‚’変ãˆã‚‰ã‚Œã¾ã›ã‚“"
-#: file.c:392
+#: file.c:401
#, c-format
-msgid "*** Deleting intermediate file `%s'"
-msgstr "*** Ãæ´Ö¥Õ¥¡¥¤¥ë `%s' ¤òºï½ü¤·¤Þ¤¹"
+msgid "*** Deleting intermediate file '%s'"
+msgstr "*** 中間ファイル '%s' を削除ã—ã¾ã™"
-#: file.c:396
+#: file.c:405
msgid "Removing intermediate files...\n"
-msgstr "Ãæ´Ö¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Æ¤¤¤Þ¤¹...\n"
+msgstr "中間ファイルを削除ã—ã¦ã„ã¾ã™...\n"
+
+#: file.c:811
+msgid "Current time"
+msgstr "ç¾åœ¨æ™‚刻"
-#: file.c:803
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
-msgstr "%s: ¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬Èϰϳ°¤Ç¤¹ -- Âå¤ê¤Ë %s ¤È¤·¤Þ¤¹"
+msgstr "%s: タイムスタンプãŒç¯„囲外ã§ã™ -- 代り㫠%s ã¨ã—ã¾ã™"
-#: file.c:804
-msgid "Current time"
-msgstr "¸½ºß»þ¹ï"
-
-#: file.c:924
+#: file.c:955
msgid "# Not a target:"
-msgstr "# ¥¿¡¼¥²¥Ã¥È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó:"
+msgstr "# ターゲットã§ã¯ã‚ã‚Šã¾ã›ã‚“:"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
-msgstr "# ÆÃÊÌ°·¤¤¤Î¥Õ¥¡¥¤¥ë (.PRECIOUS ¤ÎɬÍ×¾ò·ï)"
+msgstr "# 特別扱ã„ã®ãƒ•ã‚¡ã‚¤ãƒ« (.PRECIOUS ã®å¿…è¦æ¡ä»¶)"
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
-msgstr "# µ¿»÷¥¿¡¼¥²¥Ã¥È (.PHONY ¤ÎɬÍ×¾ò·ï)"
+msgstr "# 疑似ターゲット (.PHONY ã®å¿…è¦æ¡ä»¶)"
-#: file.c:933
-#, fuzzy
+#: file.c:964
msgid "# Command line target."
-msgstr "# ¥³¥Þ¥ó¥É¥é¥¤¥ó¥¿¡¼¥²¥Ã¥È."
+msgstr "# コマンドラインターゲット."
-#: file.c:935
-#, fuzzy
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
-msgstr "# ¥Ç¥Õ¥©¥ë¥È¤Þ¤¿¤Ï MAKEFILES ¥á¥¤¥¯¥Õ¥¡¥¤¥ë."
+msgstr "# デフォルトã¾ãŸã¯ MAKEFILES, -include/sinclude Makefile."
+
+#: file.c:968
+msgid "# Builtin rule"
+msgstr "# ビルトインルール"
-#: file.c:937
+#: file.c:970
msgid "# Implicit rule search has been done."
-msgstr "# °ÅÌۥ롼¥ë¤Îõº÷¤¬¹Ô¤ï¤ì¤Þ¤·¤¿."
+msgstr "# 暗黙ルールã®æŽ¢ç´¢ãŒè¡Œã‚ã‚Œã¾ã—ãŸ."
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
-msgstr "# °ÅÌۥ롼¥ë¤Îõº÷¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¤Ç¤·¤¿."
+msgstr "# 暗黙ルールã®æŽ¢ç´¢ã¯è¡Œã‚ã‚Œã¾ã›ã‚“ã§ã—ãŸ."
-#: file.c:940
+#: file.c:973
#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
-msgstr "# °ÅÌÛ/ÀÅŪ¥Ñ¥¿¡¼¥ó¸ì´´: `%s'\n"
+msgid "# Implicit/static pattern stem: '%s'\n"
+msgstr "# æš—é»™/é™çš„パターン語幹: '%s'\n"
-#: file.c:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
-msgstr "# ¥Õ¥¡¥¤¥ë¤ÏÃæ´ÖɬÍ×¾ò·ï¤Ç¤¹."
+msgstr "# ファイルã¯ä¸­é–“å¿…è¦æ¡ä»¶ã§ã™."
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
-msgstr "# ¤µ¤é¤Ë make:"
+msgstr "# ã•ã‚‰ã« make:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
-msgstr "# ½¤Àµ»þ¹ï¤¬¥Á¥§¥Ã¥¯¤µ¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó."
+msgstr "# 修正時刻ãŒãƒã‚§ãƒƒã‚¯ã•ã‚Œã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
-msgstr "# ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Þ¤»¤ó."
+msgstr "# ファイルãŒå­˜åœ¨ã—ã¾ã›ã‚“."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
-msgstr "# ¥Õ¥¡¥¤¥ë¤¬Èó¾ï¤Ë¸Å¤¤¤Ç¤¹."
+msgstr "# ファイルãŒéžå¸¸ã«å¤ã„ã§ã™."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
-msgstr "# ºÇ½ª½¤Àµ %s\n"
+msgstr "# 最終修正 %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
-msgstr "# ¥Õ¥¡¥¤¥ë¤Ï¹¹¿·¤µ¤ì¤Æ¤¤¤Þ¤¹."
+msgstr "# ファイルã¯æ›´æ–°ã•ã‚Œã¦ã„ã¾ã™."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
-msgstr "# ¥Õ¥¡¥¤¥ë¤Ï¹¹¿·¤µ¤ì¤Æ¤¤¤Þ¤»¤ó."
+msgstr "# ファイルã¯æ›´æ–°ã•ã‚Œã¦ã„ã¾ã›ã‚“."
-#: file.c:968
-#, fuzzy
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
-msgstr "# ¥³¥Þ¥ó¥É¤¬¸½ºß¼Â¹ÔÃæ¤Ç¤¹ (*¤³¤ì¤Ï¥Ð¥°¤Ç¤¹*)."
+msgstr "# レシピをç¾åœ¨å®Ÿè¡Œä¸­ã§ã™ (*ã“ã‚Œã¯ãƒã‚°ã§ã™*)."
-#: file.c:971
-#, fuzzy
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
-msgstr "# °Í¸´Ø·¸¥³¥Þ¥ó¥É¤¬¼Â¹ÔÃæ¤Ç¤¹ (*¤³¤ì¤Ï¥Ð¥°¤Ç¤¹*)."
+msgstr "# ä¾å­˜é–¢ä¿‚レシピを実行中ã§ã™ (*ã“ã‚Œã¯ãƒã‚°ã§ã™*)."
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
-msgstr "# ¹¹¿·¤ËÀ®¸ù¤·¤Þ¤·¤¿."
+msgstr "# æ›´æ–°ã«æˆåŠŸã—ã¾ã—ãŸ."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
-msgstr "# ¹¹¿·¤¬É¬ÍפǤ¹ (-q ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Þ¤¹)."
+msgstr "# æ›´æ–°ãŒå¿…è¦ã§ã™ (-q ãŒã‚»ãƒƒãƒˆã•ã‚Œã¦ã„ã¾ã™)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
-msgstr "# ¹¹¿·¤Ë¼ºÇÔ¤·¤Þ¤·¤¿."
-
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# `update_status' ¥á¥ó¥Ð¤Ë̵¸ú¤ÊÃÍ!"
+msgstr "# æ›´æ–°ã«å¤±æ•—ã—ã¾ã—ãŸ."
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
-msgstr "# `command_state' ¥á¥ó¥Ð¤Ë̵¸ú¤ÊÃÍ!"
+#: file.c:1025
+msgid "# Invalid value in 'command_state' member!"
+msgstr "# 'command_state' メンãƒã«ç„¡åŠ¹ãªå€¤ã§ã™!"
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
msgstr ""
"\n"
-"# ¥Õ¥¡¥¤¥ë"
+"# ファイル"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
"\n"
-"# ¥Õ¥¡¥¤¥ë¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤Î¾õÂÖ:\n"
+"# ファイルãƒãƒƒã‚·ãƒ¥ãƒ†ãƒ¼ãƒ–ルã®çŠ¶æ…‹:\n"
"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
-msgstr "Èó¿ôÃͤÎÂè°ì°ú¿ô¤¬ `word' ´Ø¿ô¤ËÍ¿¤¨¤é¤ì¤Þ¤·¤¿"
-
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
-msgstr "`word' ´Ø¿ô¤Ø¤ÎÂè°ì°ú¿ô¤Ï 0 ¤è¤êÂ礭¤¯¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr "%s: フィールド '%s' ã¯ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•ã‚Œã¦ã„ã¾ã›ã‚“: %s"
-#: function.c:783
-msgid "non-numeric first argument to `wordlist' function"
-msgstr "Èó¿ôÃͤÎÂè°ì°ú¿ô¤¬ `wordlist' ´Ø¿ô¤ËÍ¿¤¨¤é¤ì¤Þ¤·¤¿"
+#: function.c:780
+msgid "non-numeric first argument to 'word' function"
+msgstr "éžæ•°å€¤ã®ç¬¬1引数㌠'word' 関数ã«ä¸Žãˆã‚‰ã‚Œã¾ã—ãŸ"
#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
-msgstr "Èó¿ôÃͤÎÂèÆó°ú¿ô¤¬ `wordlist' ´Ø¿ô¤ËÍ¿¤¨¤é¤ì¤Þ¤·¤¿"
+msgid "first argument to 'word' function must be greater than 0"
+msgstr "'word' 関数ã¸ã®ç¬¬1引数㯠0 より大ãããªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“"
-#: function.c:1458
-#, fuzzy, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
-msgstr "create_child_process: DuplicateHandle(In) ¤¬¼ºÇÔ (e=%d)\n"
+#: function.c:805
+msgid "non-numeric first argument to 'wordlist' function"
+msgstr "éžæ•°å€¤ã®ç¬¬1引数㌠'wordlist' 関数ã«ä¸Žãˆã‚‰ã‚Œã¾ã—ãŸ"
-#: function.c:1469
-#, fuzzy, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr "create_child_process: DuplicateHandle(Err) ¤¬¼ºÇÔ (e=%d)\n"
+#: function.c:807
+msgid "non-numeric second argument to 'wordlist' function"
+msgstr "éžæ•°å€¤ã®ç¬¬2引数㌠'wordlist' 関数ã«ä¸Žãˆã‚‰ã‚Œã¾ã—ãŸ"
-#: function.c:1474
-#, fuzzy, c-format
+#: function.c:1499
+#, c-format
+msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
+msgstr "windows32_openpipe: DuplicateHandle(In) ãŒå¤±æ•— (e=%ld)\n"
+
+#: function.c:1523
+#, c-format
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
+msgstr "windows32_openpipe: DuplicateHandle(Err) ãŒå¤±æ•— (e=%ld)\n"
+
+#: function.c:1530
+#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
-msgstr "CreatePipe() ¤¬¼ºÇÔ (e=%d)\n"
+msgstr "CreatePipe() ãŒå¤±æ•— (e=%ld)\n"
-#: function.c:1479
-#, fuzzy
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
-msgstr "windows32_openpipe (): process_init_fd() ¤¬¼ºÇÔ\n"
+msgstr "windows32_openpipe (): process_init_fd() ãŒå¤±æ•—\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
-msgstr "°ì»þŪ¤Ê¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë %s ¤ò¾Ãµî¤·¤Þ¤¹\n"
+msgstr "一時的ãªãƒãƒƒãƒãƒ•ã‚¡ã‚¤ãƒ« %s を消去ã—ã¾ã™\n"
+
+#: function.c:2193
+#, c-format
+msgid "open: %s: %s"
+msgstr "open: %s: %s"
+
+#: function.c:2203
+#, c-format
+msgid "write: %s: %s"
+msgstr "write: %s: %s"
+
+#: function.c:2209
+#, c-format
+msgid "Invalid file operation: %s"
+msgstr "無効ãªãƒ•ã‚¡ã‚¤ãƒ«æ“作: %s"
+
+#: function.c:2324
+#, c-format
+msgid "insufficient number of arguments (%d) to function '%s'"
+msgstr "引数ã®æ•°(%d)ãŒé–¢æ•° '%s' ã«ã¨ã£ã¦ä¸å分ã§ã™"
+
+#: function.c:2336
+#, c-format
+msgid "unimplemented on this platform: function '%s'"
+msgstr "ã“ã®ãƒ—ラットフォームã§ã¯å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã›ã‚“: 関数 '%s'"
+
+#: function.c:2399
+#, c-format
+msgid "unterminated call to function '%s': missing '%c'"
+msgstr "終端ãŒãªã„関数呼ã³å‡ºã— '%s': '%c' ãŒã‚ã‚Šã¾ã›ã‚“"
+
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "空ã®é–¢æ•°å\n"
-#: function.c:2150
+#: function.c:2593
#, fuzzy, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
-msgstr "°ú¿ô¤Î¿ô(%d)¤¬´Ø¿ô `%s' ¤Ë¤È¤Ã¤ÆÉÔ½½Ê¬¤Ç¤¹"
+msgid "Invalid function name: %s"
+msgstr "無効ãªé–¢æ•°å: %s\n"
-#: function.c:2162
+#: function.c:2595
#, fuzzy, c-format
-msgid "unimplemented on this platform: function `%s'"
-msgstr "¤³¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó: ´Ø¿ô `%s'"
+msgid "Function name too long: %s"
+msgstr "関数åãŒé•·ã™ãŽã¾ã™: %s\n"
-#: function.c:2212
-#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
-msgstr "½ªÃ¼¤¬¤Ê¤¤´Ø¿ô¸Æ¤Ó½Ð¤· `%s': `%c' ¤¬¤¢¤ê¤Þ¤»¤ó"
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr "引数個数指定(最å°å€¤;%d)ãŒç„¡åŠ¹ã§ã™: 関数 '%s'\n"
-#: getopt.c:661
+#: function.c:2601
+#, fuzzy, c-format
+msgid "Invalid maximum argument count (%d) for function %s"
+msgstr "引数個数指定(最大値;%d)ãŒç„¡åŠ¹ã§ã™: 関数 '%s'\n"
+
+#: getopt.c:659
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `%s' ¤ÏÛ£Ëæ¤Ç¤¹\n"
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: オプション '%s' ã¯çŸ­ã™ãŽã¦æ­£ã—ã判別ã§ãã¾ã›ã‚“\n"
-#: getopt.c:685
+#: getopt.c:683
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `--%s' ¤Ï°ú¿ô¤ò¼è¤ê¤Þ¤»¤ó\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: オプション '--%s' ã¯å¼•æ•°ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“\n"
-#: getopt.c:690
+#: getopt.c:688
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `%c%s' ¤Ï°ú¿ô¤ò¼è¤ê¤Þ¤»¤ó\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: オプション '%c%s' ã¯å¼•æ•°ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“\n"
-#: getopt.c:707 getopt.c:880
+#: getopt.c:705 getopt.c:878
#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `%s' ¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹\n"
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s: オプション '%s' ã«ã¯å¼•æ•°ãŒ1ã¤å¿…è¦ã§ã™\n"
-#: getopt.c:736
+#: getopt.c:734
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: ǧ¼±¤Ç¤­¤Ê¤¤¥ª¥×¥·¥ç¥ó `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: オプション '--%s' ã‚’èªè­˜ã§ãã¾ã›ã‚“\n"
-#: getopt.c:740
+#: getopt.c:738
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: ǧ¼±¤Ç¤­¤Ê¤¤¥ª¥×¥·¥ç¥ó `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: オプション '%c%s' ã‚’èªè­˜ã§ãã¾ã›ã‚“\n"
-#: getopt.c:766
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
-msgstr "%s: ÉÔÀµ¤Ê¥ª¥×¥·¥ç¥ó ¡½ %c\n"
+msgstr "%s: ä¸æ­£ãªã‚ªãƒ—ション ― %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
-msgstr "%s: ̵¸ú¤Ê¥ª¥×¥·¥ç¥ó ¡½ %c\n"
+msgstr "%s: 無効ãªã‚ªãƒ—ション ― %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹ ¡½ %c\n"
+msgstr "%s: オプションã«ã¯å¼•æ•°ãŒå¿…è¦ã§ã™ ― %c\n"
+
+#: getopt.c:844
+#, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: オプション '-W %s' ã¯çŸ­ã™ãŽã¦æ­£ã—ã判別ã§ãã¾ã›ã‚“\n"
-#: getopt.c:846
+#: getopt.c:862
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `-W %s' ¤ÏÛ£Ëæ¤Ç¤¹\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s: オプション '-W %s' ã¯å¼•æ•°ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“\n"
-#: getopt.c:864
+#: guile.c:58
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `-W %s' ¤Ï°ú¿ô¤ò¼è¤ê¤Þ¤»¤ó\n"
+msgid "guile: Expanding '%s'\n"
+msgstr "guile: 展開中 '%s'\n"
+
+#: guile.c:74
+#, c-format
+msgid "guile: Evaluating '%s'\n"
+msgstr "guile: 評価中 '%s'\n"
#: hash.c:49
-#, fuzzy, c-format
+#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
msgstr ""
-"¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ëÍÑ %ld ¥Ð¥¤¥È¤Î³ä¤êÅö¤Æ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: ¥á¥â¥ê¤ò»È¤¤²Ì¤¿¤·¤Þ¤·"
-"¤¿"
+"ãƒãƒƒã‚·ãƒ¥ãƒ†ãƒ¼ãƒ–ル用 %lu ãƒã‚¤ãƒˆã®å‰²ã‚Šå½“ã¦ã«å¤±æ•—ã—ã¾ã—ãŸ: メモリを使ã„æžœãŸã—ã¾ã—"
+"ãŸ"
#: hash.c:280
#, c-format
@@ -491,438 +550,531 @@ msgstr "Rehash=%d, "
msgid "Collisions=%ld/%ld=%.0f%%"
msgstr "Collisions=%ld/%ld=%.0f%%"
-#: implicit.c:40
+#: implicit.c:38
#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
-msgstr "`%s' ¤Î¤¿¤á¤Î°ÅÌۥ롼¥ë¤òõ¤·¤Þ¤¹.\n"
+msgid "Looking for an implicit rule for '%s'.\n"
+msgstr "'%s' ã®ãŸã‚ã®æš—黙ルールを探ã—ã¾ã™.\n"
-#: implicit.c:56
+#: implicit.c:54
#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
-msgstr "`%s' ¤Î¤¿¤á¤Î½ñ¸Ë¥á¥ó¥Ð°ÅÌۥ롼¥ë¤òõ¤·¤Þ¤¹.\n"
+msgid "Looking for archive-member implicit rule for '%s'.\n"
+msgstr "'%s' ã®ãŸã‚ã®æ›¸åº«ãƒ¡ãƒ³ãƒæš—黙ルールを探ã—ã¾ã™.\n"
-#: implicit.c:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
-msgstr "°ÅÌۥ롼¥ë¤ÎºÆµ¢¤ò²óÈò¤·¤Þ¤¹.\n"
+msgstr "暗黙ルールã®å†å¸°ã‚’回é¿ã—ã¾ã™.\n"
+
+#: implicit.c:486
+#, c-format
+msgid "Stem too long: '%.*s'.\n"
+msgstr "語幹ãŒé•·ã™ãŽã¾ã™: '%.*s'.\n"
#: implicit.c:491
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
-msgstr "¸ì´´ `%.*s' ¤È¤Î¥Ñ¥¿¡¼¥ó¥ë¡¼¥ë¤ò»î¤·¤Þ¤¹.\n"
+msgid "Trying pattern rule with stem '%.*s'.\n"
+msgstr "語幹 '%.*s' ã¨ã®ãƒ‘ターンルールを試ã—ã¾ã™.\n"
-#: implicit.c:674
+#: implicit.c:697
#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
-msgstr "ŬÍÑÉÔǽ¤Ê¥ë¡¼¥ë¤ÎɬÍ×¾ò·ï `%s' ¤òµÑ²¼¤·¤Þ¤¹.\n"
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
+msgstr "é©ç”¨ä¸èƒ½ãªãƒ«ãƒ¼ãƒ«ã®å¿…è¦æ¡ä»¶ '%s' ã‚’å´ä¸‹ã—ã¾ã™.\n"
-#: implicit.c:675
+#: implicit.c:698
#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
-msgstr "ŬÍÑÉÔǽ¤Ê°ÅÌÛ¤ÎɬÍ×¾ò·ï `%s' ¤òµÑ²¼¤·¤Þ¤¹.\n"
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
+msgstr "é©ç”¨ä¸èƒ½ãªæš—é»™ã®å¿…è¦æ¡ä»¶ '%s' ã‚’å´ä¸‹ã—ã¾ã™.\n"
-#: implicit.c:688
+#: implicit.c:711
#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
-msgstr "¥ë¡¼¥ë¤ÎɬÍ×¾ò·ï `%s' ¤ò»î¤·¤Þ¤¹.\n"
+msgid "Trying rule prerequisite '%s'.\n"
+msgstr "ルールã®å¿…è¦æ¡ä»¶ '%s' を試ã—ã¾ã™.\n"
-#: implicit.c:689
+#: implicit.c:712
#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
-msgstr "°ÅÌÛ¤ÎɬÍ×¾ò·ï `%s' ¤ò»î¤·¤Þ¤¹.\n"
+msgid "Trying implicit prerequisite '%s'.\n"
+msgstr "æš—é»™ã®å¿…è¦æ¡ä»¶ '%s' を試ã—ã¾ã™.\n"
-#: implicit.c:728
+#: implicit.c:751
#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
-msgstr "VPATH `%2$s' ¤È¤·¤ÆɬÍ×¾ò·ï `%1$s' ¤ò¸«¤Ä¤±¤Þ¤·¤¿\n"
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
+msgstr "VPATH '%2$s' ã¨ã—ã¦å¿…è¦æ¡ä»¶ '%1$s' を見ã¤ã‘ã¾ã—ãŸ\n"
-#: implicit.c:742
+#: implicit.c:765
#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
-msgstr "Ãæ´Ö¥Õ¥¡¥¤¥ë `%s' ¤Î¥ë¡¼¥ë¤òõ¤·¤Þ¤¹.\n"
+msgid "Looking for a rule with intermediate file '%s'.\n"
+msgstr "中間ファイル '%s' ã®ãƒ«ãƒ¼ãƒ«ã‚’探ã—ã¾ã™.\n"
-#: job.c:335
-#, fuzzy
+#: job.c:361
msgid "Cannot create a temporary file\n"
-msgstr "fwrite (°ì»þ¥Õ¥¡¥¤¥ë)"
+msgstr "一時ファイルを作æˆã§ãã¾ã›ã‚“\n"
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] ¥¨¥é¡¼ 0x%x (̵»ë¤µ¤ì¤Þ¤·¤¿)"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (コアダンプã—ã¾ã—ãŸ)"
-#: job.c:450
+#: job.c:488
+msgid " (ignored)"
+msgstr " (無視ã•ã‚Œã¾ã—ãŸ)"
+
+#: job.c:492 job.c:2046
+msgid "<builtin>"
+msgstr "<ビルトイン>"
+
+#: job.c:503
#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] ¥¨¥é¡¼ 0x%x"
+msgid "%s: recipe for target '%s' failed"
+msgstr "%s: ターゲット '%s' ã®ãƒ¬ã‚·ãƒ”ã§å¤±æ•—ã—ã¾ã—ãŸ"
-#: job.c:454
+#: job.c:516 job.c:524
#, c-format
-msgid "[%s] Error %d (ignored)"
-msgstr "[%s] ¥¨¥é¡¼ %d (̵»ë¤µ¤ì¤Þ¤·¤¿)"
+msgid "%s[%s] Error %d%s"
+msgstr "%s[%s] エラー %d%s"
-#: job.c:455
+#: job.c:519
#, c-format
-msgid "*** [%s] Error %d"
-msgstr "*** [%s] ¥¨¥é¡¼ %d"
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] エラー 0x%x%s"
-#: job.c:460
-msgid " (core dumped)"
-msgstr " (¥³¥¢¥À¥ó¥×¤·¤Þ¤·¤¿)"
+#: job.c:529
+#, c-format
+msgid "%s[%s] %s%s%s"
+msgstr "%s[%s] %s%s%s"
-#: job.c:549
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
-msgstr "*** ̤´°Î»¤Î¥¸¥ç¥Ö¤òÂԤäƤ¤¤Þ¤¹...."
+msgstr "*** 未完了ã®ã‚¸ãƒ§ãƒ–ã‚’å¾…ã£ã¦ã„ã¾ã™...."
-#: job.c:579
-#, fuzzy, c-format
+#: job.c:651
+#, c-format
msgid "Live child %p (%s) PID %s %s\n"
-msgstr "À¸Â¸»Ò¥×¥í¥»¥¹ 0x%08lx (%s) PID %ld %s\n"
+msgstr "生存å­ãƒ—ロセス %p (%s) PID %s %s\n"
-#: job.c:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
-msgstr " (¥ê¥â¡¼¥È)"
+msgstr " (リモート)"
-#: job.c:758
-#, fuzzy, c-format
+#: job.c:841
+#, c-format
msgid "Reaping losing child %p PID %s %s\n"
-msgstr "¼º¤Ã¤¿»Ò¥×¥í¥»¥¹ 0x%08lx PID %ld %s ¤ò²ó¼ý¤·¤Þ¤¹\n"
+msgstr "失敗ã—ãŸå­ãƒ—ロセス %p PID %s %s を回åŽã—ã¾ã™\n"
-#: job.c:759
-#, fuzzy, c-format
+#: job.c:842
+#, c-format
msgid "Reaping winning child %p PID %s %s\n"
-msgstr "À®¸ù¤·¤¿»Ò¥×¥í¥»¥¹ 0x%08lx PID %ld %s ¤ò²ó¼ý¤·¤Þ¤¹\n"
+msgstr "æˆåŠŸã—ãŸå­ãƒ—ロセス %p PID %s %s を回åŽã—ã¾ã™\n"
-#: job.c:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
-msgstr "°ì»þŪ¤Ê¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë %s ¤òÊÒÉÕ¤±¤Þ¤¹\n"
+msgstr "一時的ãªãƒãƒƒãƒãƒ•ã‚¡ã‚¤ãƒ« %s を消去ã—ã¾ã™\n"
-#: job.c:861
-#, fuzzy, c-format
+#: job.c:855
+#, c-format
+msgid "Cleaning up temp batch file %s failed (%d)\n"
+msgstr "一時的ãªãƒãƒƒãƒãƒ•ã‚¡ã‚¤ãƒ« %s ã®æ¶ˆåŽ»ã«å¤±æ•—ã—ã¾ã—ãŸ(%d)\n"
+
+#: job.c:961
+#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
-msgstr "¥Á¥§¥¤¥ó¤«¤é»Ò¥×¥í¥»¥¹ 0x%08lx PID %ld%s ¤òºï½ü¤·¤Þ¤¹.\n"
+msgstr "ãƒã‚§ã‚¤ãƒ³ã‹ã‚‰å­ãƒ—ロセス %p PID %s%s を削除ã—ã¾ã™.\n"
-#: job.c:920
-msgid "write jobserver"
-msgstr "¥¸¥ç¥Ö¥µ¡¼¥Ð¤Ø¤Î write"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
+msgstr "ジョブサーãƒã®ã‚»ãƒžãƒ•ã‚©ã‚’解放ã—ã¾ã™: (エラー %ld: %s)"
-#: job.c:922
-#, fuzzy, c-format
+#: job.c:1024 job.c:1038
+#, c-format
msgid "Released token for child %p (%s).\n"
-msgstr "»Ò¥×¥í¥»¥¹ 0x%08lx (%s) ¤Î°õ¤ò²òÊü¤·¤Þ¤·¤¿.\n"
+msgstr "å­ãƒ—ロセス %p (%s) ã®å°ã‚’解放ã—ã¾ã—ãŸ.\n"
-#: job.c:1453 job.c:2094
-#, fuzzy, c-format
+#: 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=%d)\n"
+msgstr "process_easy() ãŒå¤±æ•—ã—プロセスãŒèµ·å‹•ã§ãã¾ã›ã‚“ã§ã—㟠(e=%ld)\n"
-#: job.c:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
"\n"
-"µ¯Æ°¤Î¼ºÇÔ¤Ç %d ¸Ä¤Î°ú¿ô¤¬¥«¥¦¥ó¥È¤µ¤ì¤Þ¤·¤¿\n"
+"èµ·å‹•ã®å¤±æ•—㧠%d 個ã®å¼•æ•°ãŒã‚«ã‚¦ãƒ³ãƒˆã•ã‚Œã¾ã—ãŸ\n"
-#: job.c:1525
-#, fuzzy, c-format
+#: job.c:1735
+#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
-msgstr "¥Á¥§¥¤¥ó¤Ë»Ò¥×¥í¥»¥¹ 0x%08lx (%s) PID %ld%s ¤ò¼è¤ê¹þ¤ß¤Þ¤·¤¿.\n"
+msgstr "ãƒã‚§ã‚¤ãƒ³ã«å­ãƒ—ロセス %p (%s) PID %s%s ã‚’å–ã‚Šè¾¼ã¿ã¾ã—ãŸ.\n"
-#: job.c:1778
-#, fuzzy, c-format
+#: 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 "»Ò¥×¥í¥»¥¹ 0x%08lx (%s) ¤Ë°õ¤¬¤Ä¤±¤é¤ì¤Þ¤·¤¿.\n"
+msgstr "å­ãƒ—ロセス %p (%s) ã«å°ã‚’ã¤ã‘ã¾ã—ãŸ.\n"
-#: job.c:1787
+#: job.c:2029
msgid "read jobs pipe"
-msgstr "¥¸¥ç¥Ö¤Î¥Ñ¥¤¥×¤Î read"
+msgstr "ジョブã®ãƒ‘イプ㮠read"
-#: job.c:1798
+#: job.c:2056
#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr ""
+msgid "%s: target '%s' does not exist"
+msgstr "%s: ターゲット '%s' ãŒå­˜åœ¨ã—ã¾ã›ã‚“"
-#: job.c:1802
-#, fuzzy, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "¥¿¡¼¥²¥Ã¥È `%s' ¤òºÆ make ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó"
+#: job.c:2059
+#, c-format
+msgid "%s: update target '%s' due to: %s"
+msgstr "%s: ターゲット '%s' ã‚’ %s ã®ãŸã‚ã«æ›´æ–°ã—ã¾ã™"
-#: job.c:1910
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
-msgstr "¤³¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¤Ï¥·¥¹¥Æ¥àÉé²ÙÀ©¸Â¤ò²Ã¤¨¤é¤ì¤Þ¤»¤ó"
+msgstr "ã“ã®ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ã§ã¯ã‚·ã‚¹ãƒ†ãƒ è² è·åˆ¶é™ã‚’加ãˆã‚‰ã‚Œã¾ã›ã‚“"
-#: job.c:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
-msgstr "¥·¥¹¥Æ¥àÉé²ÙÀ©¸Â¤Î²Ý¤¹¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: "
+msgstr "システム負è·åˆ¶é™ã‚’課ã™ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸ: "
-#: job.c:1985
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
-msgstr ""
+msgstr "ファイルãƒãƒ³ãƒ‰ãƒ«ã‚’使ã„å°½ãã—ã¾ã—ãŸ: 標準入力を複製ã§ãã¾ã›ã‚“\n"
-#: job.c:1987
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
-msgstr ""
+msgstr "ファイルãƒãƒ³ãƒ‰ãƒ«ã‚’使ã„å°½ãã—ã¾ã—ãŸ: 標準出力を複製ã§ãã¾ã›ã‚“\n"
+
+#: job.c:2278
+msgid "no more file handles: could not duplicate stderr\n"
+msgstr "ファイルãƒãƒ³ãƒ‰ãƒ«ã‚’使ã„å°½ãã—ã¾ã—ãŸ: 標準エラー出力を複製ã§ãã¾ã›ã‚“\n"
-#: job.c:2015
+#: job.c:2293
msgid "Could not restore stdin\n"
-msgstr ""
+msgstr "標準入力を復元ã§ãã¾ã›ã‚“ã§ã—ãŸ\n"
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
-msgstr ""
+msgstr "標準出力を復元ã§ãã¾ã›ã‚“ã§ã—ãŸ\n"
-#: job.c:2127
-#, fuzzy, c-format
+#: job.c:2309
+msgid "Could not restore stderr\n"
+msgstr "標準エラー出力を復元ã§ãã¾ã›ã‚“ã§ã—ãŸ\n"
+
+#: job.c:2420
+#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
-msgstr "make ¤Ï pid %d ¤Î»Ò¥×¥í¥»¥¹¤ò²ó¼ý¤·, pid %d ¤òÂÔ¤Á³¤±¤Þ¤¹\n"
+msgstr "make 㯠pid %s ã®å­ãƒ—ロセスを回åŽã—, pid %s ã‚’å¾…ã¡ç¶šã‘ã¾ã™\n"
-#: job.c:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
-msgstr "%s: ¥³¥Þ¥ó¥É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿"
+msgstr "%s: コマンドãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
-msgstr "%s: ¥·¥§¥ë¥×¥í¥°¥é¥à¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿"
+msgstr "%s: シェルプログラムãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
-msgstr ""
+msgstr "spawnvpe:環境設定ã®ãŸã‚ã®ãƒ¡ãƒ¢ãƒªã‚’使ã„å°½ãã™ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“"
-#: job.c:2461
-#, fuzzy, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
-msgstr "$SHELL ¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿ (Á°¤Ï `%s', º£¤Ï `%s')"
+#: job.c:2765
+#, c-format
+msgid "$SHELL changed (was '%s', now '%s')\n"
+msgstr "$SHELL ãŒå¤‰æ›´ã•ã‚Œã¾ã—㟠(å‰ã¯ '%s', 今㯠'%s')\n"
-#: job.c:2951
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
-msgstr "°ì»þŪ¤Ê¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë %s ¤òºîÀ®¤·¤Þ¤¹\n"
+msgstr "一時的ãªãƒãƒƒãƒãƒ•ã‚¡ã‚¤ãƒ« %s を作æˆã—ã¾ã™\n"
+
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+"ãƒãƒƒãƒãƒ•ã‚¡ã‚¤ãƒ«ã®å†…容:\n"
+"\t@echo off\n"
-#: job.c:2963
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
+"ãƒãƒƒãƒãƒ•ã‚¡ã‚¤ãƒ«ã®å†…容 :%s\n"
+"\t%s\n"
-#: job.c:3065
+#: 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"
+msgstr "%s (%d 行目) ä¸æ­£ãªã‚·ã‚§ãƒ«ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆ (!unixy && !batch_mode_shell)\n"
+
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr "ã“ã®ãƒ“ルドã§ã¯ -O[TYPE] (--output-sync[=TYPE]) ãŒè¨­å®šã•ã‚Œã¦ã„ã¾ã›ã‚“."
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr "グローãƒãƒ«ã‚·ãƒ³ãƒœãƒ«ãƒ†ãƒ¼ãƒ–ルを開ãã“ã¨ãŒã§ãã¾ã›ã‚“: %s"
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr "読ã¿è¾¼ã‚“ã ã‚ªãƒ–ジェクト %s 㯠GPL互æ›ã®å®£è¨€ãŒãªã•ã‚Œã¦ã„ã¾ã›ã‚“"
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr "シンボル %s ã‚’ %s ã‹ã‚‰èª­ã¿è¾¼ã‚€ã®ã«å¤±æ•—ã—ã¾ã—ãŸ: %s"
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr "空ã®ã‚·ãƒ³ãƒœãƒ«åを読ã¿è¾¼ã‚‚ã†ã¨ã—ã¦ã„ã¾ã™: %s"
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr "シンボル %s ã‚’ %s ã‹ã‚‰èª­ã¿è¾¼ã‚“ã§ã„ã¾ã™\n"
+
+#: load.c:244
+msgid "The 'load' operation is not supported on this platform."
+msgstr "'load' 命令ã¯ã“ã®ãƒ—ラットフォームã§ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“."
-#: main.c:303
+#: main.c:313
msgid "Options:\n"
-msgstr "¥ª¥×¥·¥ç¥ó:\n"
+msgstr "オプション:\n"
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
-msgstr " -b, -m ¸ß´¹À­¤Î¤¿¤á¤Î¤â¤Î¤Ç, ̵»ë¤µ¤ì¤ë.\n"
+msgstr " -b, -m 互æ›æ€§ã®ãŸã‚ã®ã‚‚ã®ã§, 無視ã•ã‚Œã‚‹.\n"
-#: main.c:306
+#: 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:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
" -C DIRECTORY, --directory=DIRECTORY\n"
-" make ³«»ÏÁ°¤Ë¥Ç¥£¥ì¥¯¥È¥ê DIRECTORY ¤Ø°ÜÆ°¤¹"
-"¤ë.\n"
+" make 開始å‰ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª DIRECTORY ã¸ç§»å‹•ã™"
+"ã‚‹.\n"
-#: main.c:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
-msgstr " -d ¥Ç¥Ð¥Ã¥°¾ðÊó¤òÂçÎ̤Ëɽ¼¨¤¹¤ë.\n"
+msgstr " -d デãƒãƒƒã‚°æƒ…報を大é‡ã«è¡¨ç¤ºã™ã‚‹.\n"
-#: main.c:313
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
-msgstr " --debug[=FLAGS] ÍÍ¡¹¤Ê¥¿¥¤¥×¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òɽ¼¨¤¹¤ë.\n"
+msgstr " --debug[=FLAGS] 様々ãªã‚¿ã‚¤ãƒ—ã®ãƒ‡ãƒãƒƒã‚°æƒ…報を表示ã™ã‚‹.\n"
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
" -e, --environment-overrides\n"
-" ´Ä¶­ÊÑ¿ô¤¬ makefile Ãæ¤Îµ­½Ò¤ËÍ¥À褹¤ë\n"
+" 環境変数㌠makefile 中ã®è¨˜è¿°ã«å„ªå…ˆã™ã‚‹\n"
-#: main.c:318
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
-msgstr ""
+msgstr " --eval=STRING STRING ã‚’ makefile ã®æ–‡ã¨ã—ã¦è©•ä¾¡ã™ã‚‹.\n"
-#: main.c:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
" -f FILE, --file=FILE, --makefile=FILE\n"
-" FILE ¤ò makefile ¤È¤·¤ÆÆɤ߹þ¤à\n"
+" FILE ã‚’ makefile ã¨ã—ã¦èª­ã¿è¾¼ã‚€\n"
-#: main.c:323
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
-msgstr " -h, --help ¤³¤Î¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Æ½ªÎ»¤¹¤ë.\n"
+msgstr " -h, --help ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã—ã¦çµ‚了ã™ã‚‹.\n"
-#: main.c:325
-#, fuzzy
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
-msgstr " -i, --ignore-errors ¥³¥Þ¥ó¥É¤«¤éÊÖ¤µ¤ì¤¿¥¨¥é¡¼¤ò̵»ë¤¹¤ë.\n"
+msgstr " -i, --ignore-errors レシピã‹ã‚‰è¿”ã£ãŸã‚¨ãƒ©ãƒ¼ã‚’無視ã™ã‚‹.\n"
-#: main.c:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
-" ¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë makefile ¤òõº÷¤¹¤ë "
+" インクルードã™ã‚‹ makefile を探索ã™ã‚‹ "
"DIRECTORY.\n"
-#: main.c:330
+#: 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"
+" -j [N], --jobs[=N] 一度㫠N 個ã¾ã§ã®ã‚¸ãƒ§ãƒ–を許å¯; 無引数ã ã¨ã‚¸ãƒ§ãƒ–"
+"数制é™ãªã—.\n"
-#: main.c:332
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
-" -k, --keep-going ¤¢¤ë¥¿¡¼¥²¥Ã¥È¤¬ make ¤Ç¤­¤Ê¤¯¤Æ¤â¼Â¹Ô¤ò³¤±"
-"¤ë.\n"
+" -k, --keep-going ã‚るターゲット㌠make ã§ããªãã¦ã‚‚実行を続ã‘"
+"ã‚‹.\n"
-#: main.c:334
+#: 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"
-" Éé²Ù ¤¬ N ̤Ëþ¤Ç¤Ê¤¤¸Â¤êÊ£¿ô¤Î¥¸¥ç¥Ö¤ò³«»Ï¤·¤Ê"
-"¤¤.\n"
+" è² è· ãŒ N 未満ã§ãªã„é™ã‚Šè¤‡æ•°ã®ã‚¸ãƒ§ãƒ–を開始ã—ãª"
+"ã„.\n"
-#: main.c:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
+" -L, --check-symlink-times シンボリックリンクã¨ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã®ä¸­ã§ä¸€ç•ªæ–°ã—ã„ "
+"mtime を使ã†.\n"
-#: main.c:339
-#, fuzzy
+#: 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"
-" ¥³¥Þ¥ó¥É¤ò¼ÂºÝ¤Ë¼Â¹Ô¤·¤Ê¤¤; ɽ¼¨¤¹¤ë¤Î¤ß.\n"
+" レシピを実際ã«å®Ÿè¡Œã—ãªã„; 表示ã™ã‚‹ã®ã¿.\n"
-#: main.c:342
+#: 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 FILE, --old-file=FILE, --assume-old=FILE\n"
-" FILE ¤ò¤È¤Æ¤â¸Å¤¤¤â¤Î¤È¸«¤Ê¤·¤Æ, ºÆ make ¤·¤Ê"
-"¤¤.\n"
+" FILE ã‚’ã¨ã¦ã‚‚å¤ã„ã‚‚ã®ã¨è¦‹ãªã—ã¦, å† make ã—ãª"
+"ã„.\n"
+
+#: 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"
+" 並列ジョブã®å‡ºåŠ›ã‚’ TYPE ã§æƒãˆã‚‹.\n"
-#: main.c:345
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
-msgstr " -p, --print-data-base make ¤ÎÆâÉô¥Ç¡¼¥¿¥Ù¡¼¥¹¤òɽ¼¨¤¹¤ë.\n"
+msgstr " -p, --print-data-base make ã®å†…部データベースを表示ã™ã‚‹.\n"
-#: main.c:347
-#, fuzzy
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-" -q, --question ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Ê¤¤; ¹¹¿·ºÑ¤Ç¤¢¤ë¤«¤É¤¦¤«¤ò½ª"
-"λ¥¹¥Æ¡¼¥¿¥¹¤ÇÄÌÃÎ.\n"
+" -q, --question レシピを実行ã—ãªã„; 更新済ã§ã‚ã‚‹ã‹ã©ã†ã‹ã‚’終了"
+"ステータスã§é€šçŸ¥.\n"
-#: main.c:349
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
-msgstr " -r, --no-builtin-rules ¥Ó¥ë¥È¥¤¥ó¤Î°ÅÌۥ롼¥ë¤ò̵¸ú¤Ë¤¹¤ë.\n"
+msgstr " -r, --no-builtin-rules ビルトインã®æš—黙ルールを無効ã«ã™ã‚‹.\n"
-#: main.c:351
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
-msgstr " -R, --no-builtin-variables ¥Ó¥ë¥È¥¤¥ó¤ÎÊÑ¿ôÀßÄê¤ò̵¸ú¤Ë¤¹¤ë.\n"
+msgstr " -R, --no-builtin-variables ビルトインã®å¤‰æ•°è¨­å®šã‚’無効ã«ã™ã‚‹.\n"
-#: main.c:353
-#, fuzzy
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
-msgstr " -s, --silent, --quiet ¥³¥Þ¥ó¥Éɽ¼¨¤ò¥¨¥³¡¼¤·¤Ê¤¤.\n"
+msgstr " -s, --silent, --quiet レシピを表示ã—ãªã„.\n"
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr ""
" -S, --no-keep-going, --stop\n"
-" -k ¥ª¥×¥·¥ç¥ó¤ò¥ª¥Õ¤Ë¤¹¤ë.\n"
+" -k オプションをオフã«ã™ã‚‹.\n"
-#: main.c:358
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
-" -t, --touch ¥¿¡¼¥²¥Ã¥È¤òºÆ make ¤¹¤ëÂå¤ï¤ê¤Ë¥¿¥Ã¥Á¤¹¤ë.\n"
+" -t, --touch ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚’å† make ã™ã‚‹ä»£ã‚ã‚Šã«ã‚¿ãƒƒãƒã™ã‚‹.\n"
-#: main.c:360
+#: main.c:373
+msgid " --trace Print tracing information.\n"
+msgstr " --trace トレース情報を表示ã™ã‚‹.\n"
+
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr ""
-" -v, --version make ¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òɽ¼¨¤·¤Æ½ªÎ»¤¹¤ë.\n"
+" -v, --version make ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç•ªå·ã‚’表示ã—ã¦çµ‚了ã™ã‚‹.\n"
-#: main.c:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
-msgstr " -w, --print-directory ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¼¨¤¹¤ë.\n"
+msgstr " -w, --print-directory カレントディレクトリを表示ã™ã‚‹.\n"
-#: main.c:364
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr ""
-" --no-print-directory -w ¤ò¥ª¥Õ¤Ë¤¹¤ë. °ÅÌÛ¤ËÍ­¸ú¤Ê¾ì¹ç¤Ç¤â¥ª¥Õ¤Ë¤¹"
-"¤ë.\n"
+" --no-print-directory -w をオフã«ã™ã‚‹. æš—é»™ã«æœ‰åŠ¹ãªå ´åˆã§ã‚‚オフã«ã™"
+"ã‚‹.\n"
-#: main.c:366
+#: 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 FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
-" FILE ¤ò¤¤¤Ä¤Ç¤âºÇ¿·¤È¤·¤Æ¸«¤Ê¤¹.\n"
+" FILE ã‚’ã„ã¤ã§ã‚‚最新ã¨ã—ã¦è¦‹ãªã™.\n"
-#: main.c:369
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr ""
-" --warn-undefined-variables ̤ÄêµÁ¤ÎÊÑ¿ô¤¬»²¾È¤µ¤ì¤¿¤È¤­¤Ë·Ù¹ð¤òȯ¤¹¤ë.\n"
+" --warn-undefined-variables 未定義ã®å¤‰æ•°ãŒå‚ç…§ã•ã‚ŒãŸã¨ãã«è­¦å‘Šã‚’発ã™ã‚‹.\n"
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
-msgstr "¶õ¤Îʸ»úÎó¤Ï¥Õ¥¡¥¤¥ë̾¤È¤·¤Æ¤Ï̵¸ú¤Ç¤¹"
+msgstr "空ã®æ–‡å­—列ã¯ãƒ•ã‚¡ã‚¤ãƒ«åã¨ã—ã¦ã¯ç„¡åŠ¹ã§ã™"
-#: main.c:650
+#: main.c:737
#, c-format
-msgid "unknown debug level specification `%s'"
-msgstr "ÉÔÌÀ¤Ê¥Ç¥Ð¥Ã¥°¥ì¥Ù¥ë»ØÄê `%s'"
+msgid "unknown debug level specification '%s'"
+msgstr "ä¸æ˜Žãªãƒ‡ãƒãƒƒã‚°ãƒ¬ãƒ™ãƒ«æŒ‡å®š '%s'"
-#: main.c:690
-#, fuzzy, c-format
+#: main.c:774
+#, c-format
+msgid "unknown output-sync type '%s'"
+msgstr "未知ã®å‡ºåŠ›åŒæœŸåž‹ '%s'"
+
+#: main.c:828
+#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
-msgstr "%s: ³ä¤ê¹þ¤ß/Îã³°¤òÊ᪤·¤Þ¤·¤¿ (code = 0x%x, addr = 0x%x)\n"
+msgstr "%s: 割り込ã¿/例外をæ•æ‰ã—ã¾ã—㟠(code = 0x%lx, addr = 0x%p)\n"
-#: main.c:697
-#, fuzzy, c-format
+#: main.c:835
+#, c-format
msgid ""
"\n"
"Unhandled exception filter called from program %s\n"
@@ -931,212 +1083,226 @@ msgid ""
"ExceptionAddress = 0x%p\n"
msgstr ""
"\n"
-"¥Ï¥ó¥É¥ë¤µ¤ì¤Ê¤«¤Ã¤¿Îã³°¥Õ¥£¥ë¥¿¤¬¥×¥í¥°¥é¥à %s ¤«¤é¸Æ¤Ð¤ì¤Þ¤·¤¿\n"
-"Îã³°¥³¡¼¥É = %x\n"
-"Îã³°¥Õ¥é¥° = %x\n"
-"Îã³°¥¢¥É¥ì¥¹ = %x\n"
+"処ç†ã•ã‚Œãªã„例外ã®ãŸã‚ã®ãƒ•ã‚£ãƒ«ã‚¿ãŒãƒ—ログラム %s ã‹ã‚‰å‘¼ã°ã‚Œã¾ã—ãŸ\n"
+"例外コード = %lx\n"
+"例外フラグ = %lx\n"
+"例外アドレス = 0x%p\n"
-#: main.c:705
-#, fuzzy, c-format
+#: main.c:843
+#, c-format
msgid "Access violation: write operation at address 0x%p\n"
-msgstr "¥¢¥¯¥»¥¹Êݸî°ãÈ¿: ¥¢¥É¥ì¥¹ %x ¤Ç¤Î½ñ¤­¹þ¤ßÁàºî\n"
+msgstr "アクセスä¿è­·é•å: アドレス 0x%p ã§ã®æ›¸ãè¾¼ã¿æ“作\n"
-#: main.c:706
-#, fuzzy, c-format
+#: main.c:844
+#, c-format
msgid "Access violation: read operation at address 0x%p\n"
-msgstr "¥¢¥¯¥»¥¹Êݸî°ãÈ¿: ¥¢¥É¥ì¥¹ %x ¤Ç¤ÎÆɤ߹þ¤ßÁàºî\n"
+msgstr "アクセスä¿è­·é•å: アドレス 0x%p ã§ã®èª­ã¿è¾¼ã¿æ“作\n"
-#: main.c:781 main.c:792
-#, fuzzy, c-format
+#: 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"
+msgstr "find_and_set_shell() 㯠default_shell = %s ã«è¨­å®šã—ã¾ã™\n"
-#: main.c:834
-#, fuzzy, c-format
+#: 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"
+msgstr "find_and_set_shell() パス探索㧠default_shell = %s ã«ã‚»ãƒƒãƒˆã—ã¾ã—ãŸ\n"
-#: main.c:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
-msgstr "%s ¤Ï 30 ÉôÖÄä»ß¤·¤Þ¤¹..."
+msgstr "%s 㯠30 秒間åœæ­¢ã—ã¾ã™..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
-msgstr "sleep(30) ¤¬½ª¤ï¤ê¤Þ¤·¤¿. ³¤±¤Þ¤¹.\n"
-
-#: main.c:1501
-msgid "Makefile from standard input specified twice."
-msgstr "ɸ½àÆþÎϤ«¤é¤Î makefile ¤¬Æó²ó»ØÄꤵ¤ì¤Þ¤·¤¿."
-
-#: main.c:1539 vmsjobs.c:500
-msgid "fopen (temporary file)"
-msgstr "fopen (°ì»þ¥Õ¥¡¥¤¥ë)"
-
-#: main.c:1545
-msgid "fwrite (temporary file)"
-msgstr "fwrite (°ì»þ¥Õ¥¡¥¤¥ë)"
+msgstr "sleep(30) ãŒçµ‚ã‚ã‚Šã¾ã—ãŸ. 続ã‘ã¾ã™.\n"
-#: main.c:1703
-msgid "Parallel jobs (-j) are not supported on this platform."
-msgstr "ÊÂÎ󥸥ç¥Ö (-j) ¤Ï¤³¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó."
-
-#: main.c:1704
-msgid "Resetting to single job (-j1) mode."
-msgstr "ñ°ì¥¸¥ç¥Ö (-j1) ¥â¡¼¥É¤Ë¥ê¥»¥Ã¥È¤·¤Þ¤¹."
+#: main.c:1527
+#, c-format
+msgid ""
+"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
+msgstr "内部エラー: ジョブサームセマフォを開ã‘ã¾ã›ã‚“ '%s': (エラー %ld: %s)"
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "ÆâÉô¥¨¥é¡¼: Ê£¿ô¤Î --jobserver-fds ¥ª¥×¥·¥ç¥ó"
+#: main.c:1530
+#, c-format
+msgid "Jobserver client (semaphore %s)\n"
+msgstr "jobserver クライアント (セマフォ %s)\n"
-#: main.c:1727
+#: main.c:1534
#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
-msgstr "ÆâÉô¥¨¥é¡¼: ̵¸ú¤Ê --jobserver-fds ʸ»úÎó `%s'"
+msgid "internal error: invalid --jobserver-fds string '%s'"
+msgstr "内部エラー: 無効㪠--jobserver-fds 文字列 '%s'"
-#: main.c:1730
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
-msgstr ""
+msgstr "jobserver クライアント (fds %d,%d)\n"
-#: main.c:1740
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr ""
-"·Ù¹ð: Éû¼¡ make ¤Ç -jN ¤ò¶¯À©»ØÄꤷ¤Þ¤·¤¿: jobserver ¥â¡¼¥É¤ò̵¸ú¤Ë¤·¤Þ¤¹."
+"警告: 副次 make 㧠-jN を強制指定ã—ã¾ã—ãŸ: jobserver モードを無効ã«ã—ã¾ã™."
-#: main.c:1750
+#: main.c:1567
msgid "dup jobserver"
msgstr "dup jobserver"
-#: main.c:1753
+#: main.c:1570
msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
+"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
-"·Ù¹ð: jobserver ¤¬ÍøÍÑÉÔ²Ä: -j1 ¤ò»È¤¤, ¿Æ make ¥ë¡¼¥ë¤Ë `+' ¤òÄɲä·¤Þ¤·¤ç¤¦"
+"警告: jobserver ãŒåˆ©ç”¨ä¸å¯: 今回㯠-j1 を使ã„ã¾ã™. 親 make ルール㫠`+' を追"
+"加ã—ã¾ã—ょã†."
+
+#: main.c:1742
+msgid "Makefile from standard input specified twice."
+msgstr "標準入力ã‹ã‚‰ã® makefile ãŒäºŒå›žæŒ‡å®šã•ã‚Œã¾ã—ãŸ."
-#: main.c:1777
+#: main.c:1780 vmsjobs.c:653
+msgid "fopen (temporary file)"
+msgstr "fopen (一時ファイル)"
+
+#: main.c:1786
+msgid "fwrite (temporary file)"
+msgstr "fwrite (一時ファイル)"
+
+#: main.c:1974
+msgid "Parallel jobs (-j) are not supported on this platform."
+msgstr "並列ジョブ (-j) ã¯ã“ã®ãƒ—ラットフォームã§ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“."
+
+#: main.c:1975
+msgid "Resetting to single job (-j1) mode."
+msgstr "å˜ä¸€ã‚¸ãƒ§ãƒ– (-j1) モードã«ãƒªã‚»ãƒƒãƒˆã—ã¾ã™."
+
+#: 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 "¥¸¥ç¥Ö¥Ñ¥¤¥×ºîÀ®Ãæ"
+msgstr "ジョブパイプ作æˆä¸­"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
-msgstr "jobserver ¥Ñ¥¤¥×¤Î½é´ü²½"
+msgstr "jobserver パイプã®åˆæœŸåŒ–"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
-msgstr ""
+msgstr "シンボリックリンクã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“: -L ã¯ç„¡åŠ¹ã§ã™."
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
-msgstr "makefile ¤Î¹¹¿·Ãæ....\n"
+msgstr "makefile ã®æ›´æ–°ä¸­....\n"
-#: main.c:1917
+#: main.c:2158
#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
-msgstr "makefile `%s' ¼«¸ÊºÆµ¢¤Î¤ª¤½¤ì ¡½ ºÆ make ¤·¤Þ¤»¤ó.\n"
+msgid "Makefile '%s' might loop; not remaking it.\n"
+msgstr "makefile '%s' 自己å†å¸°ã®ãŠãã‚Œã‚ã‚Š ― å†make ã—ã¾ã›ã‚“.\n"
-#: main.c:1996
+#: main.c:2237
#, c-format
-msgid "Failed to remake makefile `%s'."
-msgstr "makefile `%s' ¤ÎºÆ make ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿."
+msgid "Failed to remake makefile '%s'."
+msgstr "makefile '%s' ã®å†makeã«å¤±æ•—ã—ã¾ã—ãŸ."
-#: main.c:2013
+#: main.c:2257
#, c-format
-msgid "Included makefile `%s' was not found."
-msgstr "¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤ë makefile `%s' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿."
+msgid "Included makefile '%s' was not found."
+msgstr "インクルードã•ã‚Œã‚‹ makefile '%s' ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ."
-#: main.c:2018
+#: main.c:2262
#, c-format
-msgid "Makefile `%s' was not found"
-msgstr "makefile `%s' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿"
+msgid "Makefile '%s' was not found"
+msgstr "makefile '%s' ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ"
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
-msgstr "¸µ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÌá¤ì¤Þ¤»¤ó¤Ç¤·¤¿."
+msgstr "å…ƒã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«æˆ»ã‚Œã¾ã›ã‚“ã§ã—ãŸ."
-#: main.c:2102
-#, fuzzy, c-format
+#: main.c:2343
+#, c-format
msgid "Re-executing[%u]:"
-msgstr "ºÆ¼Â¹Ô¤·¤Þ¤¹:"
+msgstr "å†å®Ÿè¡Œã—ã¾ã™[%u]:"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
-msgstr "unlink (°ì»þ¥Õ¥¡¥¤¥ë): "
+msgstr "unlink (一時ファイル): "
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
-msgstr ""
+msgstr ".DEFAULT_GOAL ãŒäºŒã¤ä»¥ä¸Šã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚’å«ã‚“ã§ã„ã¾ã™"
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
-msgstr "¥¿¡¼¥²¥Ã¥È¤¬»ØÄꤵ¤ì¤Æ¤ª¤é¤º, makefile ¤â¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+msgstr "ターゲットãŒæŒ‡å®šã•ã‚Œã¦ãŠã‚‰ãš, makefile も見ã¤ã‹ã‚Šã¾ã›ã‚“"
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
-msgstr "¥¿¡¼¥²¥Ã¥È¤¬¤¢¤ê¤Þ¤»¤ó"
+msgstr "ターゲットãŒã‚ã‚Šã¾ã›ã‚“"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
-msgstr "ºÇ½ª¥¿¡¼¥²¥Ã¥È¤ò¹¹¿·Ãæ....\n"
+msgstr "最終ターゲットを更新中....\n"
-#: main.c:2306
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
-msgstr "·Ù¹ð: »þ¹ï¤Î¤º¤ì¤ò¸¡½Ð. ÉÔ´°Á´¤Ê¥Ó¥ë¥É·ë²Ì¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó."
+msgstr "警告: 時刻ã®ãšã‚Œã‚’検出. ä¸å®Œå…¨ãªãƒ“ルドçµæžœã«ãªã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“."
-#: main.c:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
-msgstr "»È¤¤Êý: %s [¥ª¥×¥·¥ç¥ó] [¥¿¡¼¥²¥Ã¥È] ...\n"
+msgstr "使ã„æ–¹: %s [オプション] [ターゲット] ...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
"This program built for %s\n"
msgstr ""
"\n"
-"¤³¤Î¥×¥í¥°¥é¥à¤Ï %s ÍѤ˥ӥë¥É¤µ¤ì¤Þ¤·¤¿\n"
+"ã“ã®ãƒ—ログラム㯠%s 用ã«ãƒ“ルドã•ã‚Œã¾ã—ãŸ\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
"This program built for %s (%s)\n"
msgstr ""
"\n"
-"¤³¤Î¥×¥í¥°¥é¥à¤Ï %s (%s) ÍѤ˥ӥë¥É¤µ¤ì¤Þ¤·¤¿\n"
+"ã“ã®ãƒ—ログラム㯠%s (%s) 用ã«ãƒ“ルドã•ã‚Œã¾ã—ãŸ\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
-msgstr "¥Ð¥°¥ì¥Ý¡¼¥È¤Ï <bug-make@gnu.org> ¤Þ¤Ç.\n"
+msgstr "ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã¯ <bug-make@gnu.org> ã¾ã§.\n"
-#: main.c:2562
-#, fuzzy, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
-msgstr "`-%c' ¥ª¥×¥·¥ç¥ó¤ÏÀµ¤ÎÀ°¿ô°ú¿ô¤òÍ׵ᤷ¤Þ¤¹"
+#: main.c:2807
+#, c-format
+msgid "the '%s%s' option requires a non-empty string argument"
+msgstr "'%s%s' オプションã¯ç©ºã§ãªã„文字列引数をè¦æ±‚ã—ã¾ã™"
-#: main.c:2617
+#: main.c:2871
#, c-format
-msgid "the `-%c' option requires a positive integral argument"
-msgstr "`-%c' ¥ª¥×¥·¥ç¥ó¤ÏÀµ¤ÎÀ°¿ô°ú¿ô¤òÍ׵ᤷ¤Þ¤¹"
+msgid "the '-%c' option requires a positive integer argument"
+msgstr "'-%c' オプションã¯æ­£ã®æ•´æ•°å¼•æ•°ã‚’è¦æ±‚ã—ã¾ã™"
-#: main.c:3054
-#, fuzzy, c-format
+#: main.c:3269
+#, c-format
msgid "%sBuilt for %s\n"
-msgstr ""
-"\n"
-"¤³¤Î¥×¥í¥°¥é¥à¤Ï %s ÍѤ˥ӥë¥É¤µ¤ì¤Þ¤·¤¿\n"
+msgstr "%sã“ã®ãƒ—ログラム㯠%s 用ã«ãƒ“ルドã•ã‚Œã¾ã—ãŸ\n"
-#: main.c:3056
-#, fuzzy, c-format
+#: main.c:3271
+#, c-format
msgid "%sBuilt for %s (%s)\n"
-msgstr ""
-"\n"
-"¤³¤Î¥×¥í¥°¥é¥à¤Ï %s (%s) ÍѤ˥ӥë¥É¤µ¤ì¤Þ¤·¤¿\n"
+msgstr "%sã“ã®ãƒ—ログラム㯠%s (%s) 用ã«ãƒ“ルドã•ã‚Œã¾ã—ãŸ\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1144,943 +1310,1021 @@ msgid ""
"%sThis is free software: you are free to change and redistribute it.\n"
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
+"%sライセンス GPLv3+: GNU GPL ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 3 ä»¥é™ <http://gnu.org/licenses/gpl."
+"html>\n"
+"%sã“ã‚Œã¯ãƒ•ãƒªãƒ¼ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã§ã™: 自由ã«å¤‰æ›´ãŠã‚ˆã³é…布ã§ãã¾ã™.\n"
+"%s法律ã®è¨±ã™é™ã‚Šã€ã€€ç„¡ä¿è¨¼ã€€ã§ã™.\n"
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
"# Make data base, printed on %s"
msgstr ""
"\n"
-"# Make ¥Ç¡¼¥¿¥Ù¡¼¥¹½ÐÎÏ %s"
+"# Make データベース出力 %s"
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
"# Finished Make data base on %s\n"
msgstr ""
"\n"
-"# Make ¥Ç¡¼¥¿¥Ù¡¼¥¹½ªÎ» %s\n"
+"# Make データベース終了 %s\n"
-#: main.c:3237
-#, fuzzy, c-format
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "未知ã®ã‚¨ãƒ©ãƒ¼ %d"
+
+#: 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:543
+msgid "Initialized access"
+msgstr "アクセス権é™ã‚’åˆæœŸåŒ–"
+
+#: misc.c:622
+msgid "User access"
+msgstr "ユーザアクセス"
+
+#: misc.c:670
+msgid "Make access"
+msgstr "make アクセス"
+
+#: misc.c:704
+msgid "Child access"
+msgstr "å­ãƒ—ロセスアクセス"
+
+#: output.c:104
+#, c-format
msgid "%s: Entering an unknown directory\n"
-msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê(¥Ç¥£¥ì¥¯¥È¥ê̾ÉÔÌÀ)¤ËÆþ¤ê¤Þ¤¹"
+msgstr "%s: ディレクトリ(ディレクトリåä¸æ˜Ž)ã«å…¥ã‚Šã¾ã™\n"
-#: main.c:3239
-#, fuzzy, c-format
+#: output.c:106
+#, c-format
msgid "%s: Leaving an unknown directory\n"
-msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê(¥Ç¥£¥ì¥¯¥È¥ê̾ÉÔÌÀ)¤«¤é½Ð¤Þ¤¹"
+msgstr "%s: ディレクトリ(ディレクトリåä¸æ˜Ž)ã‹ã‚‰å‡ºã¾ã™\n"
-#: main.c:3242
+#: output.c:109
#, c-format
-msgid "%s: Entering directory `%s'\n"
-msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê `%s' ¤ËÆþ¤ê¤Þ¤¹\n"
+msgid "%s: Entering directory '%s'\n"
+msgstr "%s: ディレクトリ '%s' ã«å…¥ã‚Šã¾ã™\n"
-#: main.c:3245
+#: output.c:111
#, c-format
-msgid "%s: Leaving directory `%s'\n"
-msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê `%s' ¤«¤é½Ð¤Þ¤¹\n"
+msgid "%s: Leaving directory '%s'\n"
+msgstr "%s: ディレクトリ '%s' ã‹ã‚‰å‡ºã¾ã™\n"
-#: main.c:3250
-#, fuzzy, c-format
+#: output.c:115
+#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
-msgstr "%s[%u]: ¥Ç¥£¥ì¥¯¥È¥ê(¥Ç¥£¥ì¥¯¥È¥ê̾ÉÔÌÀ)¤ËÆþ¤ê¤Þ¤¹"
+msgstr "%s[%u]: ディレクトリ(ディレクトリåä¸æ˜Ž)ã«å…¥ã‚Šã¾ã™\n"
-#: main.c:3253
-#, fuzzy, c-format
+#: output.c:117
+#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
-msgstr "%s[%u]: ¥Ç¥£¥ì¥¯¥È¥ê(¥Ç¥£¥ì¥¯¥È¥ê̾ÉÔÌÀ)¤«¤é½Ð¤Þ¤¹"
+msgstr "%s[%u]: ディレクトリ(ディレクトリåä¸æ˜Ž)ã‹ã‚‰å‡ºã¾ã™\n"
-#: main.c:3257
+#: output.c:120
#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
-msgstr "%s[%u]: ¥Ç¥£¥ì¥¯¥È¥ê `%s' ¤ËÆþ¤ê¤Þ¤¹\n"
+msgid "%s[%u]: Entering directory '%s'\n"
+msgstr "%s[%u]: ディレクトリ '%s' ã«å…¥ã‚Šã¾ã™\n"
-#: main.c:3260
+#: output.c:122
#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
-msgstr "%s[%u]: ¥Ç¥£¥ì¥¯¥È¥ê `%s' ¤«¤é½Ð¤Þ¤¹\n"
+msgid "%s[%u]: Leaving directory '%s'\n"
+msgstr "%s[%u]: ディレクトリ '%s' ã‹ã‚‰å‡ºã¾ã™\n"
-#: misc.c:316
-msgid ". Stop.\n"
-msgstr ". ̾ȧ.\n"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
+msgstr "書ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼: %s"
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "̤ÃΤΥ¨¥é¡¼ %d"
+#: output.c:677
+msgid ". Stop.\n"
+msgstr ". 中止.\n"
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "²¾ÁÛ¥á¥â¥ê¤ò»È¤¤²Ì¤¿¤·¤Þ¤·¤¿"
-
-#: misc.c:708
-#, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: ¥æ¡¼¥¶ %lu (¼Â¸ú %lu), ¥°¥ë¡¼¥× %lu (¼Â¸ú %lu)\n"
-
-#: misc.c:729
-msgid "Initialized access"
-msgstr "¥¢¥¯¥»¥¹¸¢¸Â¤ò½é´ü²½"
-
-#: misc.c:808
-msgid "User access"
-msgstr "¥æ¡¼¥¶¥¢¥¯¥»¥¹"
-
-#: misc.c:856
-msgid "Make access"
-msgstr "make ¥¢¥¯¥»¥¹"
-
-#: misc.c:890
-msgid "Child access"
-msgstr "»Ò¥×¥í¥»¥¹¥¢¥¯¥»¥¹"
-
-#: misc.c:954
-#, fuzzy, c-format
-msgid "write error: %s"
-msgstr "%s ¤Ø¥¨¥é¡¼¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¤Þ¤·¤¿\n"
-
-#: misc.c:956
-#, fuzzy
-msgid "write error"
-msgstr "¥¸¥ç¥Ö¥µ¡¼¥Ð¤Ø¤Î write"
-
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
-msgstr "makefile ¤òÆɤ߹þ¤ß¤Þ¤¹...\n"
+msgstr "makefile を読ã¿è¾¼ã¿ã¾ã™...\n"
-#: read.c:333
+#: read.c:335
#, c-format
-msgid "Reading makefile `%s'"
-msgstr "makefile `%s' ¤ÎÆɤ߹þ¤ßÃæ"
+msgid "Reading makefile '%s'"
+msgstr "makefile '%s' ã®èª­ã¿è¾¼ã¿ä¸­"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
-msgstr " (¥Ç¥Õ¥©¥ë¥È¤ÎºÇ½ª¥¿¡¼¥²¥Ã¥È¤¬¤¢¤ê¤Þ¤»¤ó)"
+msgstr " (デフォルトã®æœ€çµ‚ターゲットãŒã‚ã‚Šã¾ã›ã‚“)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
-msgstr " (õº÷¥Ñ¥¹)"
+msgstr " (探索パス)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
-msgstr " (µ¤¤Ë¤·¤Ê¤¯¤Æ¤è¤¤)"
+msgstr " (æ°—ã«ã—ãªãã¦ã‚ˆã„)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
-msgstr " (~ ¤ÎŸ³«¤Ê¤·)"
+msgstr " (~ ã®å±•é–‹ãªã—)"
+
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr "makefile '%s' ã®ä¸­ã® UTF-8 BOM をスキップã—ã¾ã™\n"
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr "makefile ãƒãƒƒãƒ•ã‚¡ã®ä¸­ã® UTF-8 BOM をスキップã—ã¾ã™\n"
-#: read.c:759
+#: read.c:789
msgid "invalid syntax in conditional"
-msgstr "¾ò·ïÉô¤Îʸˡ¤¬Ìµ¸ú¤Ç¤¹"
+msgstr "æ¡ä»¶éƒ¨ã®æ–‡æ³•ãŒç„¡åŠ¹ã§ã™"
-#: read.c:891
-#, fuzzy
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr "%s: 読ã¿è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ"
+
+#: read.c:992
msgid "recipe commences before first target"
-msgstr "ºÇ½é¤Î¥¿¡¼¥²¥Ã¥È¤è¤êÁ°¤Ë¥³¥Þ¥ó¥É¤òµ¯Æ°"
+msgstr "最åˆã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚ˆã‚Šå‰ã«ãƒ¬ã‚·ãƒ”ãŒã‚ã‚Šã¾ã™"
-#: read.c:940
-#, fuzzy
+#: read.c:1041
msgid "missing rule before recipe"
-msgstr "¥³¥Þ¥ó¥É¤è¤êÁ°¤Ç¥ë¡¼¥ë¤¬»Ø¼¨¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+msgstr "レシピã®å‰ã®ãƒ«ãƒ¼ãƒ«ãŒä¸è¶³ã—ã¦ã„ã¾ã™"
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "ʬΥµ­¹æ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹%s"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
+msgstr " (8 個ã®ç©ºç™½ã§ã—ãŸãŒ, TAB ã®ã¤ã‚‚ã‚Šã§ã—ãŸã‹?)"
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
-msgstr " (8 ¸Ä¤Î¶õÇò¤Ç¤·¤¿¤¬, TAB ¤Î¤Ä¤â¤ê¤Ç¤·¤¿¤«?)"
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "分離記å·ã‚’欠ã„ã¦ã„ã¾ã™%s"
-#: read.c:1163
+#: read.c:1270
msgid "missing target pattern"
-msgstr "¥¿¡¼¥²¥Ã¥È¥Ñ¥¿¡¼¥ó¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+msgstr "ターゲットパターンを欠ã„ã¦ã„ã¾ã™"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
-msgstr "Ê£¿ô¤Î¥¿¡¼¥²¥Ã¥È¥Ñ¥¿¡¼¥ó¤Ç¤¹"
+msgstr "複数ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆãƒ‘ターンã§ã™"
-#: read.c:1169
+#: read.c:1276
#, c-format
-msgid "target pattern contains no `%%'"
-msgstr "¥¿¡¼¥²¥Ã¥È¥Ñ¥¿¡¼¥ó¤¬ `%%' ¤ò´Þ¤ó¤Ç¤¤¤Þ¤»¤ó"
+msgid "target pattern contains no '%%'"
+msgstr "ターゲットパターン㌠'%%' ã‚’å«ã‚“ã§ã„ã¾ã›ã‚“"
-#: read.c:1293
-msgid "missing `endif'"
-msgstr "`endif' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+#: read.c:1398
+msgid "missing 'endif'"
+msgstr "'endif' ãŒæ¬ è½ã—ã¦ã„ã¾ã™"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
-msgstr "¶õ¤ÎÊÑ¿ô̾"
+msgstr "空ã®å¤‰æ•°å"
-#: read.c:1367
-#, fuzzy
-msgid "extraneous text after `define' directive"
-msgstr "`endef' µ¿»÷Ì¿Îá¤Î¸å¤í¤Ë̵´Ø·¸¤Êʸ»úÎ󤬤¢¤ê¤Þ¤¹"
+#: read.c:1471
+msgid "extraneous text after 'define' directive"
+msgstr "'define' 疑似命令ã®å¾Œã‚ã«ç„¡é–¢ä¿‚ãªæ–‡å­—列ãŒã‚ã‚Šã¾ã™"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
-msgstr "`endef' ¤ò·ç¤¤¤Æ¤ª¤ê, `define' ¤¬½ªÎ»¤µ¤ì¤Þ¤»¤ó"
+#: read.c:1496
+msgid "missing 'endef', unterminated 'define'"
+msgstr "'endef' を欠ã„ã¦ãŠã‚Š, 'define' ãŒçµ‚了ã—ã¦ã„ã¾ã›ã‚“"
-#: read.c:1420
-#, fuzzy
-msgid "extraneous text after `endef' directive"
-msgstr "`endef' µ¿»÷Ì¿Îá¤Î¸å¤í¤Ë̵´Ø·¸¤Êʸ»úÎ󤬤¢¤ê¤Þ¤¹"
+#: read.c:1524
+msgid "extraneous text after 'endef' directive"
+msgstr "'endef' 疑似命令ã®å¾Œã‚ã«ç„¡é–¢ä¿‚ãªæ–‡å­—列ãŒã‚ã‚Šã¾ã™"
-#: read.c:1490
+#: read.c:1595
#, c-format
-msgid "Extraneous text after `%s' directive"
-msgstr "`%s' µ¿»÷Ì¿Îá¤Î¸å¤í¤Ë̵´Ø·¸¤Êʸ»úÎ󤬤¢¤ê¤Þ¤¹"
+msgid "extraneous text after '%s' directive"
+msgstr "'%s' 疑似命令ã®å¾Œã‚ã«ç„¡é–¢ä¿‚ãªæ–‡å­—列ãŒã‚ã‚Šã¾ã™"
-#: read.c:1499 read.c:1513
+#: read.c:1596
#, c-format
-msgid "extraneous `%s'"
-msgstr "̵´Ø·¸¤Ê `%s'"
+msgid "extraneous '%s'"
+msgstr "無関係㪠'%s'"
-#: read.c:1518
-msgid "only one `else' per conditional"
-msgstr "°ì¤Ä¤Î¾ò·ïÉô¤Ë¤Ä¤­°ì¤Ä¤·¤« `else' ¤ò»È¤¨¤Þ¤»¤ó"
+#: read.c:1624
+msgid "only one 'else' per conditional"
+msgstr "一ã¤ã®æ¡ä»¶éƒ¨ã«ã¤ã一ã¤ã—ã‹ 'else' を使ãˆã¾ã›ã‚“"
-#: read.c:1797
-#, fuzzy
+#: read.c:1899
msgid "Malformed target-specific variable definition"
-msgstr "¥¿¡¼¥²¥Ã¥ÈËè¤ÎÊÑ¿ôÄêµÁ¤¬°Û¾ï¤Ç¤¹"
+msgstr "ターゲット特有ã®å¤‰æ•°å®šç¾©ãŒç•°å¸¸ã§ã™"
-#: read.c:1855
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
-msgstr ""
+msgstr "å¿…è¦æ¡ä»¶ã‚’レシピ内ã§å®šç¾©ã§ãã¾ã›ã‚“"
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
-msgstr "°ÅÌۥ롼¥ë¤ÈÀÅŪ¥Ñ¥¿¡¼¥ó¥ë¡¼¥ë¤¬º®¤¶¤ê¤Þ¤·¤¿"
+msgstr "暗黙ルールã¨é™çš„パターンルールãŒæ··ã–ã‚Šã¾ã—ãŸ"
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
-msgstr "°ÅÌۥ롼¥ë¤ÈÄ̾ï¥ë¡¼¥ë¤¬º®¤¶¤ê¤Þ¤·¤¿"
+msgstr "暗黙ルールã¨é€šå¸¸ãƒ«ãƒ¼ãƒ«ãŒæ··ã–ã‚Šã¾ã—ãŸ"
-#: read.c:1976
+#: read.c:2091
#, c-format
-msgid "target `%s' doesn't match the target pattern"
-msgstr "¥¿¡¼¥²¥Ã¥È `%s' ¤Ï¥¿¡¼¥²¥Ã¥È¥Ñ¥¿¡¼¥ó¤È°ìÃפ·¤Þ¤»¤ó"
+msgid "target '%s' doesn't match the target pattern"
+msgstr "ターゲット '%s' ã¯ã‚¿ãƒ¼ã‚²ãƒƒãƒˆãƒ‘ターンã¨ä¸€è‡´ã—ã¾ã›ã‚“"
-#: read.c:1991 read.c:2036
+#: read.c:2106 read.c:2152
#, c-format
-msgid "target file `%s' has both : and :: entries"
-msgstr "¥¿¡¼¥²¥Ã¥È¥Õ¥¡¥¤¥ë `%s' ¤¬ : ¤È :: ¹àÌܤÎξÊý¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹"
+msgid "target file '%s' has both : and :: entries"
+msgstr "ターゲットファイル '%s' ㌠: 㨠:: é …ç›®ã®ä¸¡æ–¹ã‚’æŒã£ã¦ã„ã¾ã™"
-#: read.c:1997
+#: read.c:2112
#, c-format
-msgid "target `%s' given more than once in the same rule."
-msgstr "Ʊ°ì¥ë¡¼¥ëÆâ¤Ç¥¿¡¼¥²¥Ã¥È `%s' ¤¬Ê£¿ô²óÍ¿¤¨¤é¤ì¤Þ¤·¤¿."
+msgid "target '%s' given more than once in the same rule"
+msgstr "ターゲット '%s' ãŒåŒä¸€ãƒ«ãƒ¼ãƒ«å†…ã§è¤‡æ•°å›žä¸Žãˆã‚‰ã‚Œã¾ã—ãŸ"
-#: read.c:2006
-#, fuzzy, c-format
-msgid "warning: overriding recipe for target `%s'"
-msgstr "·Ù¹ð: ¥¿¡¼¥²¥Ã¥È `%s' ¤Ø¤Î¥³¥Þ¥ó¥É¤òÃÖ¤­´¹¤¨¤Þ¤¹"
+#: read.c:2122
+#, c-format
+msgid "warning: overriding recipe for target '%s'"
+msgstr "警告: ターゲット '%s' ã®ãŸã‚ã®ãƒ¬ã‚·ãƒ”ã‚’ç½®ãæ›ãˆã¾ã™"
-#: read.c:2009
-#, fuzzy, c-format
-msgid "warning: ignoring old recipe for target `%s'"
-msgstr "·Ù¹ð: ¥¿¡¼¥²¥Ã¥È `%s' ¤Ø¤Î¸Å¤¤¥³¥Þ¥ó¥É¤Ï̵»ë¤µ¤ì¤Þ¤¹"
+#: read.c:2125
+#, c-format
+msgid "warning: ignoring old recipe for target '%s'"
+msgstr "警告: ターゲット '%s' ã®ãŸã‚ã®å¤ã„レシピã¯ç„¡è¦–ã•ã‚Œã¾ã™"
-#: read.c:2392
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "暗黙ルールã¨é€šå¸¸ãƒ«ãƒ¼ãƒ«ãŒæ··ã–ã‚Šã¾ã—ãŸ"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
-msgstr "·Ù¹ð: NUL ʸ»ú¤¬¤¢¤ê¤Þ¤¹; ¹Ô¤Î»Ä¤ê¤Ï̵»ë¤µ¤ì¤Þ¤¹"
+msgstr "警告: NUL 文字ãŒã‚ã‚Šã¾ã™; è¡Œã®æ®‹ã‚Šã¯ç„¡è¦–ã•ã‚Œã¾ã™"
-#: remake.c:234
+#: remake.c:230
#, c-format
-msgid "Nothing to be done for `%s'."
-msgstr "`%s' ¤ËÂФ·¤Æ¹Ô¤¦¤Ù¤­»ö¤Ï¤¢¤ê¤Þ¤»¤ó."
+msgid "Nothing to be done for '%s'."
+msgstr "'%s' ã«å¯¾ã—ã¦è¡Œã†ã¹ã事ã¯ã‚ã‚Šã¾ã›ã‚“."
-#: remake.c:235
+#: remake.c:231
#, c-format
-msgid "`%s' is up to date."
-msgstr "`%s' ¤Ï¹¹¿·ºÑ¤ß¤Ç¤¹"
+msgid "'%s' is up to date."
+msgstr "'%s' ã¯æ›´æ–°æ¸ˆã¿ã§ã™."
-#: remake.c:306
+#: remake.c:303
#, c-format
-msgid "Pruning file `%s'.\n"
-msgstr "¥Õ¥¡¥¤¥ë `%s' ¤òÀ°Íý¤·¤Þ¤¹.\n"
+msgid "Pruning file '%s'.\n"
+msgstr "ファイル '%s' ã®ä¾å­˜é–¢ä¿‚ã‚’æ•´ç†ã—ã¦ã„ã¾ã™.\n"
-#: remake.c:359
+#: remake.c:390 remake.c:393
#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%s¥¿¡¼¥²¥Ã¥È `%s' ¤ò make ¤¹¤ë¥ë¡¼¥ë¤¬¤¢¤ê¤Þ¤»¤ó%s"
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
+msgstr ""
+"%1$s'%3$s' ã«å¿…è¦ãªã‚¿ãƒ¼ã‚²ãƒƒãƒˆ '%2$s' ã‚’ make ã™ã‚‹ãƒ«ãƒ¼ãƒ«ãŒã‚ã‚Šã¾ã›ã‚“%4$s"
-#: remake.c:361
+#: remake.c:402 remake.c:405
#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
-msgstr ""
-"%1$s`%3$s' ¤ËɬÍפʥ¿¡¼¥²¥Ã¥È `%2$s' ¤ò make ¤¹¤ë¥ë¡¼¥ë¤¬¤¢¤ê¤Þ¤»¤ó%4$s"
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sターゲット '%s' ã‚’ make ã™ã‚‹ãƒ«ãƒ¼ãƒ«ãŒã‚ã‚Šã¾ã›ã‚“%s"
-#: remake.c:413
+#: remake.c:426
#, c-format
-msgid "Considering target file `%s'.\n"
-msgstr "¥¿¡¼¥²¥Ã¥È¥Õ¥¡¥¤¥ë `%s' ¤Î¸¡Æ¤¤ò¹Ô¤¤¤Þ¤¹.\n"
+msgid "Considering target file '%s'.\n"
+msgstr "ファイル '%s' を検討ã—ã¦ã„ã¾ã™.\n"
-#: remake.c:420
+#: remake.c:433
#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
-msgstr "ºÇ¶á»î¤·¤Æ¹¹¿·¤Ë¼ºÇÔ¤·¤¿¥Õ¥¡¥¤¥ë `%s'.\n"
+msgid "Recently tried and failed to update file '%s'.\n"
+msgstr "最近ファイル '%s' ã®æ›´æ–°ã‚’試ã—ã¦å¤±æ•—ã—ã¦ã„ã¾ã™.\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
-msgid "File `%s' was considered already.\n"
-msgstr "¥Õ¥¡¥¤¥ë `%s' ¤Ï¸¡Æ¤ºÑ¤ß¤Ç¤¹.\n"
+msgid "File '%s' was considered already.\n"
+msgstr "ファイル '%s' ã¯æ¤œè¨Žæ¸ˆã¿ã§ã™.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
-msgid "Still updating file `%s'.\n"
-msgstr "¤Þ¤À¥Õ¥¡¥¤¥ë `%s' ¤Î¹¹¿·Ãæ¤Ç¤¹.\n"
+msgid "Still updating file '%s'.\n"
+msgstr "ファイル '%s' ã®æ›´æ–°ã‚’ã—ã¦ã„ã¾ã™.\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
-msgid "Finished updating file `%s'.\n"
-msgstr "¥Õ¥¡¥¤¥ë `%s' ¤Î¹¹¿·¤¬½ªÎ»¤·¤Þ¤·¤¿.\n"
+msgid "Finished updating file '%s'.\n"
+msgstr "ファイル '%s' ã®æ›´æ–°ãŒçµ‚了ã—ã¾ã—ãŸ.\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
-msgid "File `%s' does not exist.\n"
-msgstr "¥Õ¥¡¥¤¥ë `%s' ¤¬Â¸ºß¤·¤Þ¤»¤ó.\n"
+msgid "File '%s' does not exist.\n"
+msgstr "ファイル '%s' ãŒå­˜åœ¨ã—ã¾ã›ã‚“.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-"*** ·Ù¹ð: .LOW_RESOLUTION_TIME ¥Õ¥¡¥¤¥ë `%s' ¤¬¹â²òÁüÅÙ¥¿¥¤¥à¥¹¥¿¥ó¥×¤ò»ý¤Ã¤Æ"
-"¤¤¤Þ¤¹"
+"*** 警告: .LOW_RESOLUTION_TIME ファイル '%s' ãŒé«˜è§£åƒåº¦ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—ã‚’æŒã£ã¦"
+"ã„ã¾ã™"
-#: remake.c:494 remake.c:1016
+#: remake.c:508 remake.c:1040
#, c-format
-msgid "Found an implicit rule for `%s'.\n"
-msgstr "`%s' ¤Î¤¿¤á¤Î°ÅÌۥ롼¥ë¤ò¸«¤Ä¤±¤Þ¤·¤¿.\n"
+msgid "Found an implicit rule for '%s'.\n"
+msgstr "'%s' ã®ãŸã‚ã®æš—黙ルールを見ã¤ã‘ã¾ã—ãŸ.\n"
-#: remake.c:496 remake.c:1018
+#: remake.c:510 remake.c:1042
#, c-format
-msgid "No implicit rule found for `%s'.\n"
-msgstr "`%s' ¤Î¤¿¤á¤Î°ÅÌۥ롼¥ë¤¬¤¢¤ê¤Þ¤»¤ó.\n"
+msgid "No implicit rule found for '%s'.\n"
+msgstr "'%s' ã®ãŸã‚ã®æš—黙ルールãŒã‚ã‚Šã¾ã›ã‚“.\n"
-#: remake.c:502
-#, fuzzy, c-format
-msgid "Using default recipe for `%s'.\n"
-msgstr "`%s' ÍѤΥǥե©¥ë¥È¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹.\n"
+#: remake.c:516
+#, c-format
+msgid "Using default recipe for '%s'.\n"
+msgstr "'%s' 用ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãƒ¬ã‚·ãƒ”を使用ã—ã¾ã™.\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
-msgstr "½Û´Ä %s <- %s °Í¸´Ø·¸¤¬ÇË´þ¤µ¤ì¤Þ¤·¤¿."
+msgstr "循環 %s <- %s ä¾å­˜é–¢ä¿‚ãŒç ´æ£„ã•ã‚Œã¾ã—ãŸ."
-#: remake.c:651
+#: remake.c:675
#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
-msgstr "¥¿¡¼¥²¥Ã¥È¥Õ¥¡¥¤¥ë `%s' ¤ÎɬÍ×¾ò·ï¤òËþ¤¿¤·¤Þ¤·¤¿.\n"
+msgid "Finished prerequisites of target file '%s'.\n"
+msgstr "ターゲットファイル '%s' ã®å¿…è¦æ¡ä»¶ã‚’満ãŸã—ã¾ã—ãŸ.\n"
-#: remake.c:657
+#: remake.c:681
#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
-msgstr "`%s' ¤ÎɬÍ×¾ò·ï¤ò make ¤·¤Þ¤¹.\n"
+msgid "The prerequisites of '%s' are being made.\n"
+msgstr "'%s' ã®å¿…è¦æ¡ä»¶ã‚’ make ã—ã¾ã™.\n"
-#: remake.c:670
+#: remake.c:695
#, c-format
-msgid "Giving up on target file `%s'.\n"
-msgstr "¥¿¡¼¥²¥Ã¥È¥Õ¥¡¥¤¥ë `%s' ¤òÄü¤á¤Þ¤¹.\n"
+msgid "Giving up on target file '%s'.\n"
+msgstr "ターゲットファイル '%s' を諦ã‚ã¾ã™.\n"
-#: remake.c:675
+#: remake.c:700
#, c-format
-msgid "Target `%s' not remade because of errors."
-msgstr "¥¿¡¼¥²¥Ã¥È `%s' ¤Ï¥¨¥é¡¼¤Ë¤è¤êºÆ make ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿."
+msgid "Target '%s' not remade because of errors."
+msgstr "ターゲット '%s' ã¯ã‚¨ãƒ©ãƒ¼ã«ã‚ˆã‚Š å†make ã§ãã¾ã›ã‚“ã§ã—ãŸ."
-#: remake.c:727
+#: remake.c:752
#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
-msgstr "ɬÍ×¾ò·ï `%s' ¤Ï¥¿¡¼¥²¥Ã¥È `%s' ¤Ë¤Ä¤¤¤Æ½çÈÖÄ̤ê¤Î¤ß¹Ô¤¤¤Þ¤¹.\n"
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
+msgstr "å¿…è¦æ¡ä»¶ '%s' ã¯ã‚¿ãƒ¼ã‚²ãƒƒãƒˆ '%s' ã® order-only(é †åºæ±ºå®šæ¡ä»¶)ã§ã™.\n"
-#: remake.c:732
+#: remake.c:757
#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
-msgstr "¥¿¡¼¥²¥Ã¥È `%2$s' ¤ÎɬÍ×¾ò·ï `%1$s' ¤¬Â¸ºß¤·¤Þ¤»¤ó.\n"
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
+msgstr "ターゲット '%2$s' ã®å¿…è¦æ¡ä»¶ '%1$s' ãŒå­˜åœ¨ã—ã¾ã›ã‚“.\n"
-#: remake.c:737
+#: remake.c:762
#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
-msgstr "ɬÍ×¾ò·ï `%s' ¤Ï¥¿¡¼¥²¥Ã¥È `%s' ¤è¤ê¤â¿·¤·¤¤.\n"
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
+msgstr "å¿…è¦æ¡ä»¶ '%s' ã¯ã‚¿ãƒ¼ã‚²ãƒƒãƒˆ '%s' よりも新ã—ã„.\n"
-#: remake.c:740
+#: remake.c:765
#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
-msgstr "ɬÍ×¾ò·ï `%s' ¤Ï¥¿¡¼¥²¥Ã¥È `%s' ¤è¤ê¤â¸Å¤¤.\n"
+msgid "Prerequisite '%s' is older than target '%s'.\n"
+msgstr "å¿…è¦æ¡ä»¶ '%s' ã¯ã‚¿ãƒ¼ã‚²ãƒƒãƒˆ '%s' よりもå¤ã„.\n"
-#: remake.c:758
+#: remake.c:783
#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
-msgstr "¥¿¡¼¥²¥Ã¥È `%s' ¤Ï¥À¥Ö¥ë¥³¥í¥ó¤Ç, ¤«¤ÄɬÍ×¾ò·ï¤ò»ý¤¿¤Ê¤¤.\n"
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
+msgstr "ターゲット '%s' ã¯ãƒ€ãƒ–ルコロンã§, ã‹ã¤å¿…è¦æ¡ä»¶ã‚’æŒãŸãªã„.\n"
-#: remake.c:765
-#, fuzzy, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
-msgstr "`%s' ¤Î¤¿¤á¤Î¥³¥Þ¥ó¥É¤¬Ìµ¤¯, ¤«¤Ä¼ÂºÝ¤ËÊѹ¹¤µ¤ì¤¿É¬Í×¾ò·ï¤¬¤Ê¤¤.\n"
+#: remake.c:790
+#, c-format
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
+msgstr "'%s' ã®ãŸã‚ã®ãƒ¬ã‚·ãƒ”ãŒç„¡ã, å¿…è¦æ¡ä»¶ã¯å®Ÿéš›ã«ã¯å¤‰æ›´ã•ã‚Œã¾ã›ã‚“ã§ã—ãŸ.\n"
-#: remake.c:770
+#: remake.c:795
#, c-format
-msgid "Making `%s' due to always-make flag.\n"
-msgstr "akways-make ¥Õ¥é¥°¤¬¤¿¤Ã¤Æ¤¤¤ë¤Î¤Ç `%s' ¤ò make ¤·¤Þ¤¹.\n"
+msgid "Making '%s' due to always-make flag.\n"
+msgstr "always-make フラグãŒç«‹ã£ã¦ã„ã‚‹ã®ã§ '%s' ã‚’ make ã—ã¾ã™.\n"
-#: remake.c:778
+#: remake.c:803
#, c-format
-msgid "No need to remake target `%s'"
-msgstr "¥¿¡¼¥²¥Ã¥È `%s' ¤òºÆ make ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó"
+msgid "No need to remake target '%s'"
+msgstr "ターゲット '%s' ã‚’å†make ã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: remake.c:780
+#: remake.c:805
#, c-format
-msgid "; using VPATH name `%s'"
-msgstr "; VPATH ̾ `%s' ¤ò»ÈÍѤ·¤Þ¤¹"
+msgid "; using VPATH name '%s'"
+msgstr "; VPATH å '%s' を使用ã—ã¾ã™"
-#: remake.c:800
+#: remake.c:825
#, c-format
-msgid "Must remake target `%s'.\n"
-msgstr "¥¿¡¼¥²¥Ã¥È `%s' ¤ÎºÆ make ¤¬É¬ÍפǤ¹.\n"
+msgid "Must remake target '%s'.\n"
+msgstr "ターゲット '%s' ã‚’å†make ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™.\n"
-#: remake.c:806
+#: remake.c:831
#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
-msgstr " VPATH ̾ `%s' ¤ò̵»ë¤·¤Þ¤¹.\n"
+msgid " Ignoring VPATH name '%s'.\n"
+msgstr " VPATH å '%s' を無視ã—ã¾ã™.\n"
-#: remake.c:815
-#, fuzzy, c-format
-msgid "Recipe of `%s' is being run.\n"
-msgstr "`%s' ¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤¹.\n"
+#: remake.c:840
+#, c-format
+msgid "Recipe of '%s' is being run.\n"
+msgstr "'%s' ã®ãƒ¬ã‚·ãƒ”を実行中ã§ã™.\n"
-#: remake.c:822
+#: remake.c:847
#, c-format
-msgid "Failed to remake target file `%s'.\n"
-msgstr "¥¿¡¼¥²¥Ã¥È¥Õ¥¡¥¤¥ë `%s' ¤ÎºÆ make ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿.\n"
+msgid "Failed to remake target file '%s'.\n"
+msgstr "ターゲットファイル '%s' ã®å†make ã«å¤±æ•—ã—ã¾ã—ãŸ.\n"
-#: remake.c:825
+#: remake.c:850
#, c-format
-msgid "Successfully remade target file `%s'.\n"
-msgstr "¥¿¡¼¥²¥Ã¥È¥Õ¥¡¥¤¥ë `%s' ¤ÎºÆ make ¤ËÀ®¸ù¤·¤Þ¤·¤¿.\n"
+msgid "Successfully remade target file '%s'.\n"
+msgstr "ターゲットファイル '%s' ã®å† make ã«æˆåŠŸã—ã¾ã—ãŸ.\n"
-#: remake.c:828
+#: remake.c:853
#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
-msgstr "¥¿¡¼¥²¥Ã¥È¥Õ¥¡¥¤¥ë `%s' ¤Ï -q ¥ª¥×¥·¥ç¥óÉÕ¤Ç¤ÎºÆ make ¤¬É¬ÍפǤ¹.\n"
+msgid "Target file '%s' needs to be remade under -q.\n"
+msgstr "ターゲットファイル '%s' 㯠-q オプションを付ã‘ã¦ã®å†make ãŒå¿…è¦ã§ã™.\n"
-#: remake.c:1024
+#: remake.c:1048
#, c-format
-msgid "Using default commands for `%s'.\n"
-msgstr "`%s' ÍѤΥǥե©¥ë¥È¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹.\n"
+msgid "Using default commands for '%s'.\n"
+msgstr "'%s' ã®ãŸã‚ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ã‚³ãƒžãƒ³ãƒ‰ã‚’使ã„ã¾ã™.\n"
-#: remake.c:1357
+#: remake.c:1397
#, c-format
-msgid "Warning: File `%s' has modification time in the future"
-msgstr "·Ù¹ð: ¥Õ¥¡¥¤¥ë `%s' ¤Î½¤Àµ»þ¹ï¤¬Ì¤Íè¤Î»þ¹ï¤Ç¤¹"
+msgid "Warning: File '%s' has modification time in the future"
+msgstr "警告: ファイル '%s' ã®ä¿®æ­£æ™‚刻ã¯æœªæ¥ã®ã‚‚ã®ã§ã™"
-#: remake.c:1370
-#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
-msgstr "·Ù¹ð: ¥Õ¥¡¥¤¥ë `%s' ¤Î½¤Àµ»þ¹ï¤¬ %.2g ÉÃʬ̤Íè¤Î»þ¹ï¤Ç¤¹"
+#: remake.c:1411
+#, c-format
+msgid "Warning: File '%s' has modification time %s s in the future"
+msgstr "警告: ファイル '%s' ã®ä¿®æ­£æ™‚刻 %s ã¯æœªæ¥ã®æ™‚刻ã§ã™"
-#: remake.c:1569
+#: remake.c:1610
#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
-msgstr ".LIBPATTERNS Í×ÁÇ `%s' ¤¬¥Ñ¥¿¡¼¥ó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+msgid ".LIBPATTERNS element '%s' is not a pattern"
+msgstr ".LIBPATTERNS è¦ç´  '%s' ãŒãƒ‘ターンã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
-msgstr "Customs ¤¬¥¨¥¯¥¹¥Ý¡¼¥È¤·¤Æ¤¯¤ì¤Þ¤»¤ó: %s\n"
+msgstr "Customs ãŒã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã—ã¦ãã‚Œã¾ã›ã‚“: %s\n"
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
msgstr ""
"\n"
-"# °ÅÌۥ롼¥ë"
+"# 暗黙ルール"
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
msgstr ""
"\n"
-"# °ÅÌۥ롼¥ë¤Ê¤·."
+"# 暗黙ルールãªã—."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
"# %u implicit rules, %u"
msgstr ""
"\n"
-"# %u ¸Ä¤Î°ÅÌۥ롼¥ë, %u"
+"# %u 個ã®æš—黙ルール, %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
-msgstr " °Ê¾å."
+msgstr " 以上."
-#: rule.c:534
-#, fuzzy, c-format
+#: rule.c:530
+#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
-msgstr "¥Ð¥°: num_pattern_rules ¤¬´Ö°ã¤Ã¤Æ¤¤¤ë! %u != %u"
+msgstr "ãƒã‚°: num_pattern_rules ãŒé–“é•ã£ã¦ã„ã‚‹! %u != %u"
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
-msgstr "̤ÃΤΥ·¥°¥Ê¥ë"
+msgstr "未知ã®ã‚·ã‚°ãƒŠãƒ«"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
-msgstr "¥Ï¥ó¥°¥¢¥Ã¥×"
+msgstr "ãƒãƒ³ã‚°ã‚¢ãƒƒãƒ—"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
-msgstr "³ä¤ê¹þ¤ß"
+msgstr "割り込ã¿"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
-msgstr "½ªÎ»"
+msgstr "終了"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
-msgstr "ÉÔÀµ¤Ê¥Ï¡¼¥É¥¦¥§¥¢Ì¿Îá"
+msgstr "ä¸æ­£ãªãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢å‘½ä»¤"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
-msgstr "¥È¥ì¡¼¥¹/¥Ö¥ì¥¤¥¯¥Ý¥¤¥ó¥È¥È¥é¥Ã¥×"
+msgstr "トレース/ブレイクãƒã‚¤ãƒ³ãƒˆãƒˆãƒ©ãƒƒãƒ—"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
-msgstr "Abort ¤·¤Þ¤·¤¿"
+msgstr "Abort ã—ã¾ã—ãŸ"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
-msgstr "IOT ¥È¥é¥Ã¥×"
+msgstr "IOT トラップ"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
-msgstr "EMT ¥È¥é¥Ã¥×"
+msgstr "EMT トラップ"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
-msgstr "ÉâÆ°¾®¿ôÅÀÎã³°"
+msgstr "浮動å°æ•°ç‚¹ä¾‹å¤–"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
-msgstr "Kill ¤µ¤ì¤Þ¤·¤¿"
+msgstr "Kill ã•ã‚Œã¾ã—ãŸ"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
-msgstr "¥Ð¥¹¥¨¥é¡¼"
+msgstr "ãƒã‚¹ã‚¨ãƒ©ãƒ¼"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
-msgstr "¥á¥â¥ê°ãÈ¿"
+msgstr "メモリé•å"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
-msgstr "ÉÔÀµ¤Ê¥·¥¹¥Æ¥à¥³¡¼¥ë"
+msgstr "ä¸æ­£ãªã‚·ã‚¹ãƒ†ãƒ ã‚³ãƒ¼ãƒ«"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
-msgstr "Æɤ߼ê¤Î¤Ê¤¤¥Ñ¥¤¥×¤Ø¤Î½ñ¤­¹þ¤ß"
+msgstr "読ã¿æ‰‹ã®ãªã„パイプã¸ã®æ›¸ãè¾¼ã¿"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
-msgstr "¥¢¥é¡¼¥à¥¯¥í¥Ã¥¯"
+msgstr "アラームクロック"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
-msgstr "¶¯À©½ªÎ»"
+msgstr "強制終了"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
-msgstr "¥æ¡¼¥¶ÄêµÁ¥·¥°¥Ê¥ë 1"
+msgstr "ユーザ定義シグナル 1"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
-msgstr "¥æ¡¼¥¶ÄêµÁ¥·¥°¥Ê¥ë 2"
+msgstr "ユーザ定義シグナル 2"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
-msgstr "»Ò¥×¥í¥»¥¹½ªÎ»"
+msgstr "å­ãƒ—ロセス終了"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
-msgstr "ÅŸ»¾ã³²"
+msgstr "é›»æºéšœå®³"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
-msgstr "°ì»þÄä»ß"
+msgstr "一時åœæ­¢"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
-msgstr "°ì»þÄä»ß (tty ÆþÎÏ)"
+msgstr "一時åœæ­¢ (tty 入力)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
-msgstr "°ì»þÄä»ß (tty ½ÐÎÏ)"
+msgstr "一時åœæ­¢ (tty 出力)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
-msgstr "°ì»þÄä»ß (¥·¥°¥Ê¥ë)"
+msgstr "一時åœæ­¢ (シグナル)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
-msgstr "CPU »þ´Ö¤¬À©¸Â¤ò±Û¤¨¤Þ¤·¤¿"
+msgstr "CPU 時間ãŒåˆ¶é™ã‚’越ãˆã¾ã—ãŸ"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
-msgstr "¥Õ¥¡¥¤¥ë¥µ¥¤¥ºÀ©¸Â¤ò±Û¤¨¤Þ¤·¤¿"
+msgstr "ファイルサイズ制é™ã‚’越ãˆã¾ã—ãŸ"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
-msgstr "²¾ÁÛ¥¿¥¤¥ÞËþλ"
+msgstr "仮想タイマ満了"
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
-msgstr "¥×¥í¥Õ¥¡¥¤¥ë¥¿¥¤¥ÞËþλ"
+msgstr "プロファイルタイマ満了"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
-msgstr "¥¦¥£¥ó¥É¥¦¥µ¥¤¥ºÊѹ¹"
+msgstr "ウィンドウサイズ変更"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
-msgstr "ºÆ³«¤µ¤ì¤Þ¤·¤¿"
+msgstr "å†é–‹ã•ã‚Œã¾ã—ãŸ"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
-msgstr "¶ÛµÞ I/O ¾ò·ï"
+msgstr "緊急 I/O æ¡ä»¶"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
-msgstr "ÈóƱ´ü I/O ²ÄǽÀ­"
+msgstr "入出力å¯èƒ½"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
-msgstr "¥ê¥½¡¼¥¹¤¬¼º¤ï¤ì¤Þ¤·¤¿"
+msgstr "リソースãŒå¤±ã‚ã‚Œã¾ã—ãŸ"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
-msgstr "´í¸±¥·¥°¥Ê¥ë"
+msgstr "å±é™ºã‚·ã‚°ãƒŠãƒ«"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
-msgstr "¾ðÊóÍ×µá"
+msgstr "情報è¦æ±‚"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
-msgstr "ÉâÆ°¾®¿ôÅÀ¥³¥×¥í¥»¥Ã¥µ¤¬ÍøÍÑÉÔǽ"
+msgstr "浮動å°æ•°ç‚¹ã‚³ãƒ—ロセッサãŒåˆ©ç”¨ä¸èƒ½"
-#: strcache.c:235
+#: strcache.c:236
#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s No strcache buffers\n"
msgstr ""
+"\n"
+"%s strcache ãƒãƒƒãƒ•ã‚¡ã¯ã‚ã‚Šã¾ã›ã‚“\n"
-#: strcache.c:237
+#: strcache.c:266
#, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+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"
-#: strcache.c:239
+#: strcache.c:270
#, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+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"
+
+#: strcache.c:280
+#, c-format
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
+msgstr "%s ãã®ä»– 使用中: åˆè¨ˆ = %lu B / 個数 = %lu / å¹³å‡ = %lu B\n"
-#: strcache.c:241
+#: strcache.c:283
#, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+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"
-#: strcache.c:244
-#, fuzzy
+#: strcache.c:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
-"# "
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
msgstr ""
"\n"
-"# ¥Õ¥¡¥¤¥ë¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤Î¾õÂÖ:\n"
+"%s strcache ã®ç¨¼åƒ: 探索 = %lu / ヒット率 = %lu%%\n"
+
+#: strcache.c:289
+msgid ""
+"# hash-table stats:\n"
"# "
+msgstr ""
+"# ãƒãƒƒã‚·ãƒ¥ãƒ†ãƒ¼ãƒ–ルã®çŠ¶æ…‹:\n"
+"# "
+
+#: variable.c:1599
+msgid "automatic"
+msgstr "自動変数"
-#: variable.c:1541
+#: variable.c:1602
msgid "default"
-msgstr "¥Ç¥Õ¥©¥ë¥È"
+msgstr "デフォルト"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
-msgstr "´Ä¶­ÊÑ¿ô"
+msgstr "環境変数"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
-msgstr "makefile ÊÑ¿ô"
+msgstr "makefile 変数"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
-msgstr "-e ¥ª¥×¥·¥ç¥ó¤Ç¤Î´Ä¶­ÊÑ¿ô"
+msgstr "-e オプションã§æŒ‡å®šã—ãŸç’°å¢ƒå¤‰æ•°"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
-msgstr "¥³¥Þ¥ó¥É¥é¥¤¥óÊÑ¿ô"
-
-#: variable.c:1556
-msgid "`override' directive"
-msgstr "`override' µ¿»÷Ì¿Îá"
+msgstr "コマンドライン変数"
-#: variable.c:1559
-msgid "automatic"
-msgstr "¼«Æ°ÊÑ¿ô"
+#: variable.c:1617
+msgid "'override' directive"
+msgstr "'override' 疑似命令"
-#: variable.c:1570
+#: variable.c:1628
#, c-format
-msgid " (from `%s', line %lu)"
-msgstr " (`%s', %lu ¹ÔÌܤ«¤é)"
+msgid " (from '%s', line %lu)"
+msgstr " (ファイル '%s', %lu 行目)"
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
-msgstr "# ÊÑ¿ô¥»¥Ã¥È¤Î¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤Î¾õÂÖ:\n"
+msgstr "# 変数セットã®ãƒãƒƒã‚·ãƒ¥ãƒ†ãƒ¼ãƒ–ルã®çŠ¶æ…‹:\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
msgstr ""
"\n"
-"# ÊÑ¿ô\n"
+"# 変数\n"
-#: variable.c:1627
-#, fuzzy
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
"\n"
-"# ¥Ñ¥¿¡¼¥ó»ØÄêÊÑ¿ô¤ÎÃÍ"
+"# パターン指定 変数 値"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
msgstr ""
"\n"
-"# ¥Ñ¥¿¡¼¥ó»ØÄêÊÑ¿ô¤ÎÃͤʤ·."
+"# パターン指定変数ã®å€¤ãªã—."
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
"# %u pattern-specific variable values"
msgstr ""
"\n"
-"# %u ¸Ä¤Î¥Ñ¥¿¡¼¥ó»ØÄêÊÑ¿ô¤ÎÃÍ"
+"# %u 個ã®ãƒ‘ターン指定変数ã®å€¤"
-#: variable.h:219
+#: variable.h:224
#, c-format
-msgid "warning: undefined variable `%.*s'"
-msgstr "·Ù¹ð: ̤ÄêµÁ¤ÎÊÑ¿ô `%.*s'"
+msgid "warning: undefined variable '%.*s'"
+msgstr "警告: 未定義ã®å¤‰æ•° '%.*s'"
-#: vmsfunctions.c:92
-#, fuzzy, c-format
+#: vmsfunctions.c:91
+#, c-format
msgid "sys$search() failed with %d\n"
-msgstr "sys$search ¤¬ %d ¤Ç¼ºÇÔ¤·¤Þ¤·¤¿\n"
+msgstr "sys$search() ㌠%d ã§å¤±æ•—ã—ã¾ã—ãŸ\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
-msgstr "·Ù¹ð: ¶õ¤Î¥ê¥À¥¤¥ì¥¯¥È\n"
+msgstr "警告: 空ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆ\n"
-#: vmsjobs.c:184
+#: vmsjobs.c:183
#, c-format
-msgid "internal error: `%s' command_state"
-msgstr "ÆâÉô¥¨¥é¡¼: `%s' command_state"
+msgid "internal error: '%s' command_state"
+msgstr "内部エラー: '%s' command_state"
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
-"-·Ù¹ð, DCL ¤«¤é¤Î CTRL-Y Áàºî¤òºÆ¤ÓÍ­¸ú¤Ë¤¹¤ëɬÍפ¬¤¢¤ë¤«¤âÃΤì¤Þ¤»¤ó.\n"
+"-警告, DCL ã‹ã‚‰ã® CTRL-Y æ“作をå†ã³æœ‰åŠ¹ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚知れã¾ã›ã‚“.\n"
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
-msgstr "¥Ó¥ë¥È¥¤¥ó [%s][%s]\n"
+msgstr "ビルトイン [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
-msgstr "¥Ó¥ë¥È¥¤¥ó CD %s\n"
+msgstr "ビルトイン CD %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "¥Ó¥ë¥È¥¤¥ó RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "ビルトイン CD %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
-msgstr "ÉÔÌÀ¤Ê¥Ó¥ë¥È¥¤¥ó¥³¥Þ¥ó¥É '%s'\n"
+msgstr "ä¸æ˜Žãªãƒ“ルトインコマンド '%s'\n"
-#: vmsjobs.c:493
+#: 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"
+msgstr "エラー, 空ã®ã‚³ãƒžãƒ³ãƒ‰\n"
-#: vmsjobs.c:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
-msgstr "%s ¤«¤éÆþÎÏ¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¤Þ¤·¤¿\n"
+msgstr "%s ã‹ã‚‰å…¥åŠ›ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã¾ã—ãŸ\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
-msgstr "%s ¤Ø¥¨¥é¡¼¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¤Þ¤·¤¿\n"
+msgstr "%s ã¸ã‚¨ãƒ©ãƒ¼ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã¾ã—ãŸ\n"
-#: vmsjobs.c:523
-#, fuzzy, c-format
+#: vmsjobs.c:690
+#, c-format
msgid "Append output to %s\n"
-msgstr "%s ¤Ø½ÐÎÏ¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¤Þ¤·¤¿\n"
+msgstr "出力を %s ã¸è¿½åŠ \n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
-msgstr "%s ¤Ø½ÐÎÏ¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¤Þ¤·¤¿\n"
+msgstr "%s ã¸å‡ºåŠ›ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã¾ã—ãŸ\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
-msgstr ""
+msgstr "追加 %.*s ã¨å¾Œç‰‡ä»˜ã‘\n"
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
-msgstr "Âå¤ï¤ê¤Ë %s ¤ò¼Â¹Ô¤·¤Þ¤¹\n"
+msgstr "代ã‚ã‚Šã« %s を実行ã—ã¾ã™\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
-msgstr "spawn ¤Î¥¨¥é¡¼, %d\n"
+msgstr "spawn ã®ã‚¨ãƒ©ãƒ¼, %d\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
msgstr ""
"\n"
-"# VPATH õº÷¥Ñ¥¹\n"
+"# VPATH 探索パス\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
-msgstr "# `vpath' õº÷¥Ñ¥¹¤Ï¤¢¤ê¤Þ¤»¤ó"
+#: vpath.c:600
+msgid "# No 'vpath' search paths."
+msgstr "# 'vpath' 探索パスã¯ã‚ã‚Šã¾ã›ã‚“."
-#: vpath.c:605
+#: vpath.c:602
#, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
-"# %u ¸Ä¤Î `vpath' õº÷¥Ñ¥¹\n"
+"# %u ã¤ã® 'vpath' 探索パス.\n"
-#: vpath.c:608
+#: vpath.c:605
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
-"# °ìÈ̤Π(`VPATH' ÊÑ¿ô) õº÷¥Ñ¥¹¤Ê¤·."
+"# 一般㮠('VPATH' 変数) 探索パスãªã—."
-#: vpath.c:614
+#: vpath.c:611
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
-"# °ìÈ̤Π(`VPATH' ÊÑ¿ô) õº÷¥Ñ¥¹:\n"
+"# 一般㮠('VPATH' 変数) 探索パス:\n"
"# "
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "内部エラー: 複数㮠--sync-mutex オプション"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "内部エラー: 複数㮠--jobserver-fds オプション"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "仮想メモリを使ã„æžœãŸã—ã¾ã—ãŸ"
+
+#~ msgid "write error"
+#~ msgstr "書ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "ビルトイン RM %s\n"
+
+#~ msgid "# Invalid value in `update_status' member!"
+#~ msgstr "# `update_status' メンãƒã«ç„¡åŠ¹ãªå€¤!"
+
+#~ msgid "*** [%s] Error 0x%x (ignored)"
+#~ msgstr "*** [%s] エラー 0x%x (無視ã•ã‚Œã¾ã—ãŸ)"
+
+#~ msgid "[%s] Error %d (ignored)"
+#~ msgstr "[%s] エラー %d (無視ã•ã‚Œã¾ã—ãŸ)"
+
+#~ msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
+#~ msgstr "レシピを %s:%lu ã‹ã‚‰å‘¼ã³å‡ºã—ã¦ã‚¿ãƒ¼ã‚²ãƒƒãƒˆ `%s' ã‚’æ›´æ–°ã—ã¾ã™.\n"
+
+#~ msgid "Invoking builtin recipe to update target `%s'.\n"
+#~ msgstr "ターゲット `%s' ã‚’æ›´æ–°ã™ã‚‹ãŸã‚内蔵レシピを呼ã³å‡ºã—ã¦ã„ã¾ã™.\n"
+
+#~ msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+#~ msgstr "%s # strcache ãƒãƒƒãƒ•ã‚¡ %d ã®ã†ã¡: (* %d B/ãƒãƒƒãƒ•ã‚¡ = %d B)\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "# strcache hash-table stats:\n"
+#~ "# "
+#~ msgstr ""
+#~ "\n"
+#~ "# strcache ãƒãƒƒã‚·ãƒ¥ãƒ†ãƒ¼ãƒ–ルã®çµ±è¨ˆ:\n"
+#~ "# "
+
#~ msgid "Syntax error, still inside '\"'\n"
-#~ msgstr "ʸˡ¥¨¥é¡¼, '\"' Æâ¤Î¤Þ¤Þ¤Ç¤¹\n"
+#~ msgstr "文法エラー, '\"' 内ã®ã¾ã¾ã§ã™\n"
#~ msgid "Got a SIGCHLD; %u unreaped children.\n"
-#~ msgstr "SIGCHLD ¤¬È¯À¸; %u ¸Ä¤Î̤²ó¼ý»Ò¥×¥í¥»¥¹.\n"
+#~ msgstr "SIGCHLD ãŒç™ºç”Ÿ; %u 個ã®æœªå›žåŽå­ãƒ—ロセス.\n"
#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
-#~ msgstr "-·Ù¹ð, CTRL-Y ¤Ï»Ò¥×¥í¥»¥¹¤ò»¶¤é¤«¤·¤¿¤Þ¤Þ¤Ë¤¹¤ë¤Ç¤·¤ç¤¦.\n"
+#~ msgstr "-警告, CTRL-Y ã¯å­ãƒ—ロセスを散らã‹ã—ãŸã¾ã¾ã«ã™ã‚‹ã§ã—ょã†.\n"
#~ msgid "Do not specify -j or --jobs if sh.exe is not available."
-#~ msgstr "sh.exe ¤¬»È¤¨¤Ê¤¤¾õÂÖ¤Ç -j ¤ä --jobs ¤ò»ØÄꤷ¤Æ¤Ï¤¤¤±¤Þ¤»¤ó."
+#~ msgstr "sh.exe ãŒä½¿ãˆãªã„状態㧠-j ã‚„ --jobs を指定ã—ã¦ã¯ã„ã‘ã¾ã›ã‚“."
#~ msgid "Resetting make for single job mode."
-#~ msgstr "ñ°ì¥¸¥ç¥Ö¥â¡¼¥É¤Î make ¤Ë¥ê¥»¥Ã¥È¤·¤Þ¤¹."
+#~ msgstr "å˜ä¸€ã‚¸ãƒ§ãƒ–モード㮠make ã«ãƒªã‚»ãƒƒãƒˆã—ã¾ã™."
#~ 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"
#~ "%sPARTICULAR PURPOSE.\n"
#~ msgstr ""
-#~ "%s¤³¤ì¤Ï¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹. ÍøÍѵöÂú¤Ë¤Ä¤¤¤Æ¤Ï¥½¡¼¥¹¤ò\n"
-#~ "%s¤´Í÷¤¯¤À¤µ¤¤.\n"
-#~ "%s¾¦¶ÈÀ­¤äÆÃÄê¤ÎÌÜŪ¤Ø¤ÎŬ¹çÀ­¤ÎÇ¡²¿¤Ë´Ø¤ï¤é¤º, ̵ÊݾڤǤ¹.\n"
+#~ "%sã“ã‚Œã¯ãƒ•ãƒªãƒ¼ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã§ã™. 利用許諾ã«ã¤ã„ã¦ã¯ã‚½ãƒ¼ã‚¹ã‚’\n"
+#~ "%sã”覧ãã ã•ã„.\n"
+#~ "%s商業性や特定ã®ç›®çš„ã¸ã®é©åˆæ€§ã®å¦‚何ã«é–¢ã‚らãš, ç„¡ä¿è¨¼ã§ã™.\n"
#~ msgid "extraneous `endef'"
-#~ msgstr "´Ø·¸¤Î¤Ê¤¤ `endef'"
+#~ msgstr "関係ã®ãªã„ `endef'"
#~ msgid "empty `override' directive"
-#~ msgstr "¶õ¤Î `override' µ¿»÷Ì¿Îá"
+#~ msgstr "空㮠`override' 疑似命令"
#~ msgid "invalid `override' directive"
-#~ msgstr "̵¸ú¤Ê `override' µ¿»÷Ì¿Îá"
+#~ msgstr "無効㪠`override' 疑似命令"
#~ msgid "no file name for `%sinclude'"
-#~ msgstr "`%sinclude' ¤Ë¥Õ¥¡¥¤¥ë̾¤¬¤¢¤ê¤Þ¤»¤ó"
+#~ msgstr "`%sinclude' ã«ãƒ•ã‚¡ã‚¤ãƒ«åãŒã‚ã‚Šã¾ã›ã‚“"
#~ msgid "target `%s' leaves prerequisite pattern empty"
-#~ msgstr "¥¿¡¼¥²¥Ã¥È `%s' ¤ÎɬÍ×¾ò·ï¥Ñ¥¿¡¼¥ó¤¬¶õ¤Î¤Þ¤Þ¤Ç¤¹"
+#~ msgstr "ターゲット `%s' ã®å¿…è¦æ¡ä»¶ãƒ‘ターンãŒç©ºã®ã¾ã¾ã§ã™"
#~ msgid "# average %.3f files per bucket, max %u files in one bucket.\n"
#~ msgstr ""
-#~ "# ¥Ï¥Ã¥·¥åÍ×ÁǤ¢¤¿¤ê¡¢Ê¿¶Ñ %.3f ¸Ä¡¢ºÇÂç %u ¸Ä¤Î¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤¹¡£\n"
+#~ "# ãƒãƒƒã‚·ãƒ¥è¦ç´ ã‚ãŸã‚Šã€å¹³å‡ %.3f 個ã€æœ€å¤§ %u 個ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒã‚ã‚Šã¾ã™ã€‚\n"
#~ msgid "Suspend process to allow a debugger to attach"
-#~ msgstr "¥Ç¥Ð¥Ã¥¬¤Ë attach ¤¹¤ë¤¿¤á¥×¥í¥»¥¹¤Î°ì»þÄä»ß¤òµö²Ä¤¹¤ë"
+#~ msgstr "デãƒãƒƒã‚¬ã« attach ã™ã‚‹ãŸã‚プロセスã®ä¸€æ™‚åœæ­¢ã‚’許å¯ã™ã‚‹"
#~ msgid "# average of %.1f variables per bucket, max %u in one bucket.\n"
-#~ msgstr "# ¥Ï¥Ã¥·¥åÍ×ÁǤ¢¤¿¤ê¡¢Ê¿¶Ñ %.1f ¸Ä¡¢ºÇÂç %u ¸Ä¤ÎÊÑ¿ô¤¬¤¢¤ê¤Þ¤¹¡£\n"
+#~ msgstr "# ãƒãƒƒã‚·ãƒ¥è¦ç´ ã‚ãŸã‚Šã€å¹³å‡ %.1f 個ã€æœ€å¤§ %u 個ã®å¤‰æ•°ãŒã‚ã‚Šã¾ã™ã€‚\n"
#~ msgid "# average of %d.%d variables per bucket, max %u in one bucket.\n"
-#~ msgstr "# ¥Ï¥Ã¥·¥åÍ×ÁǤ¢¤¿¤êÊ¿¶Ñ %d.%d ¸Ä¡¢ºÇÂç %u ¸Ä¤ÎÊÑ¿ô¤¬¤¢¤ê¤Þ¤¹¡£\n"
+#~ msgstr "# ãƒãƒƒã‚·ãƒ¥è¦ç´ ã‚ãŸã‚Šå¹³å‡ %d.%d 個ã€æœ€å¤§ %u 個ã®å¤‰æ•°ãŒã‚ã‚Šã¾ã™ã€‚\n"
#~ msgid "the `word' function takes a positive index argument"
-#~ msgstr "`word' ´Ø¿ô¤ÏÈóÉé¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹°ú¿ô¤ò¤È¤ê¤Þ¤¹"
-
-#~ msgid " (ignored)"
-#~ msgstr " (̵»ë¤µ¤ì¤Þ¤·¤¿)"
+#~ msgstr "`word' 関数ã¯éžè² ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹å¼•æ•°ã‚’ã¨ã‚Šã¾ã™"
diff --git a/po/ko.gmo b/po/ko.gmo
index a00dcfc7..420b2494 100644
--- a/po/ko.gmo
+++ b/po/ko.gmo
Binary files differ
diff --git a/po/ko.po b/po/ko.po
index 939e2a83..709bcb19 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -1,907 +1,1092 @@
# Korean messages for GNU make.
-# Copyright (C) 1996, 2001 Free Software Foundation, Inc.
+# Copyright (C) 1996, 2001, 2013 Free Software Foundation, Inc.
+# This file is distributed under the same license as the make package.
+#
# Bang Jun-Young <bangjy@nownuri.net>, 1996.
+# Changwoo Ryu <cwryu@debian.org>, 2001, 2006, 2013.
+#
+# ìš©ì–´
+# - recipe - 명령 (makeì˜ action으로 실행할 명령어를 ë§í•¨)
+# - prerequisite - ì„ í–‰ ì¡°ê±´
+#
+# 참고
+# - order-only란 ì˜ì¡´í•˜ëŠ” 타겟 중ì—ì„œ 명령어 순서만 지정하고 íŒŒì¼ ìˆ˜ì •
+# ì‹œê°ì€ 무시하는 종류를 ë§í•œë‹¤. "Types of Prerequisites" 참고.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU make 3.79.1\n"
+"Project-Id-Version: GNU make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-0400\n"
-"PO-Revision-Date: 2001-06-08 01:30+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 <cwryu@debian.org>\n"
-"Language-Team: Korean <ko@li.org>\n"
+"Language-Team: Korean <translation-team-ko@lists.sourceforge.net>\n"
+"Language: ko\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=EUC-KR\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
-#: ar.c:48
+#: ar.c:46
#, c-format
-msgid "attempt to use unsupported feature: `%s'"
-msgstr "Áö¿øµÇÁö ¾Ê´Â ±â´ÉÀ» »ç¿ëÇÏ·Á°í ÇÔ: `%s'"
+msgid "attempt to use unsupported feature: '%s'"
+msgstr "지ì›ë˜ì§€ 않는 ê¸°ëŠ¥ì„ ì‚¬ìš©í•˜ë ¤ê³  함: '%s'"
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
-msgstr "¾ÆÄ«ÀÌºê ¸â¹ö touch´Â VMS¿¡¼­ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù"
+msgstr "ì•„ì¹´ì´ë¸Œ 멤버 touch는 VMSì—ì„œ 사용할 수 없습니다"
-#: ar.c:149
+#: ar.c:147
#, c-format
-msgid "touch: Archive `%s' does not exist"
-msgstr "touch: ¹®¼­ `%s'°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù"
+msgid "touch: Archive '%s' does not exist"
+msgstr "touch: '%s' ì•„ì¹´ì´ë¸Œê°€ 없습니다"
-#: ar.c:152
+#: ar.c:150
#, c-format
-msgid "touch: `%s' is not a valid archive"
-msgstr "touch: `%s'´Â Àû¹ýÇÑ ¹®¼­°¡ ¾Æ´Õ´Ï´Ù"
+msgid "touch: '%s' is not a valid archive"
+msgstr "touch: '%s'ì€(는) 올바른 ì•„ì¹´ì´ë¸Œê°€ 아닙니다"
-#: ar.c:159
+#: ar.c:157
#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
-msgstr "touch: ¸â¹ö `%s'°¡ `%s'¿¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù"
+msgid "touch: Member '%s' does not exist in '%s'"
+msgstr "touch: '%s' 멤버가 '%s' ì•ˆì— ì—†ìŠµë‹ˆë‹¤"
-#: ar.c:166
+#: ar.c:164
#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
-msgstr "touch: `%s'¿¡ ´ëÇÏ¿© ar_member_touch¿¡¼­ ½ÇÆÐ ¸®ÅÏ ÄÚµå"
+msgid "touch: Bad return code from ar_member_touch on '%s'"
+msgstr "touch: '%s'ì— ëŒ€í•˜ì—¬ ar_member_touchì—ì„œ 실패 리턴 코드"
-#: arscan.c:69
-#, fuzzy, c-format
+#: arscan.c:124
+#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
-msgstr "lbr$set_moduleÀÌ ¸ðµâÁ¤º¸¸¦ ÃßÃâÇÏ´Â µ¥ ½ÇÆÐ, »óÅ = %d"
+msgstr "lbr$set_module()ì´ ëª¨ë“ˆì •ë³´ë¥¼ 추출하는 ë° ì‹¤íŒ¨, ìƒíƒœ = %d"
-#: arscan.c:175
-#, fuzzy, c-format
+#: arscan.c:230
+#, c-format
msgid "lbr$ini_control() failed with status = %d"
-msgstr "lbr$ini_controlÀÌ »óÅ = %d·Î(À¸·Î) ½ÇÆÐ "
+msgstr "lbr$ini_control()ì´ ì‹¤íŒ¨, ìƒíƒœ = %d"
-#: arscan.c:187
-#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
-msgstr "¸â¹ö `%2$s'¸¦ ÂüÁ¶Çϱâ À§ÇØ ¶óÀ̺귯¸® `%1$s'¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù"
+#: arscan.c:255
+#, fuzzy, c-format
+msgid "unable to open library '%s' to lookup member status %d"
+msgstr "'%2$s' 멤버를 참조하려고 '%1$s' ë¼ì´ë¸ŒëŸ¬ë¦¬ë¥¼ ì—´ 수 없습니다"
-#: arscan.c:850
+#: arscan.c:944
#, c-format
-msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
-msgstr "¸â¹ö `%s'%s: %ld¹ÙÀÌÆ®, %ld (%ld) ¿¡¼­.\n"
+msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
+msgstr "멤버 '%s'%s: %ldë°”ì´íŠ¸, 위치 %ld (%ld).\n"
-# ÀÌ¹Ì Àß·ÁÁø À̸§À» Ç¥½ÃÇϸ鼭 À̸§ÀÌ Àß·ÁÁ³À» ¼öµµ ÀÖÀ¸´Ï À¯ÀÇÇ϶ó´Â ¶æ
-#: arscan.c:851
+# ì´ë¯¸ 잘려진 ì´ë¦„ì„ í‘œì‹œí•˜ë©´ì„œ ì´ë¦„ì´ ìž˜ë ¤ì¡Œì„ ìˆ˜ë„ ìžˆìœ¼ë‹ˆ 유ì˜í•˜ë¼ëŠ” 뜻
+#: arscan.c:945
msgid " (name might be truncated)"
-msgstr " (À̸§ÀÌ Àß·Á³ª°¬À» ¼öµµ ÀÖ½À´Ï´Ù)"
+msgstr " (ì´ë¦„ì´ ìž˜ë ¤ë‚˜ê°”ì„ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
-msgstr " ³¯Â¥ %s"
+msgstr " 날짜 %s"
-#: arscan.c:854
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
-msgstr " uid = %d, gid = %d, ¸ðµå = 0%o.\n"
+msgstr " uid = %d, gid = %d, 모드 = 0%o.\n"
+
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr "ëª…ë ¹ì–´ì— ì¤„ì´ ë„ˆë¬´ 많습니다(%ud)"
-#: commands.c:499
+#: commands.c:505
msgid "*** Break.\n"
-msgstr "*** ÁßÁö.\n"
+msgstr "*** 중지.\n"
-#: commands.c:622
+#: commands.c:629
#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
-msgstr "*** [%s] ¾ÆÄ«ÀÌºê ¸â¹ö `%s'´Â °¡Â¥ÀÏ ¼ö ÀÖ½À´Ï´Ù; Áö¿ìÁö ¾Ê½À´Ï´Ù"
+msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
+msgstr "*** [%s] ì•„ì¹´ì´ë¸Œ '%s' 멤버는 ê°€ì§œì¼ ìˆ˜ 있으므로 삭제하지 않습니다"
-#: commands.c:625
+#: commands.c:633
#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
-msgstr "*** ¾ÆÄ«ÀÌºê ¸â¹ö `%s'´Â °¡Â¥ÀÏ ¼ö ÀÖ½À´Ï´Ù; Áö¿ìÁö ¾Ê½À´Ï´Ù"
+msgid "*** Archive member '%s' may be bogus; not deleted"
+msgstr "*** ì•„ì¹´ì´ë¸Œ '%s' 멤버는 ê°€ì§œì¼ ìˆ˜ 있으므로 삭제하지 않습니다"
-#: commands.c:638
+#: commands.c:647
#, c-format
-msgid "*** [%s] Deleting file `%s'"
-msgstr "*** [%s] ÆÄÀÏ `%s'À»(¸¦) ÁÖÀÔ´Ï´Ù"
+msgid "*** [%s] Deleting file '%s'"
+msgstr "*** [%s] '%s' 파ì¼ì„ 삭제합니다"
-#: commands.c:640
+#: commands.c:649
#, c-format
-msgid "*** Deleting file `%s'"
-msgstr "*** ÆÄÀÏ `%s'À»(¸¦) Áö¿ó´Ï´Ù"
+msgid "*** Deleting file '%s'"
+msgstr "*** '%s' 파ì¼ì„ 삭제합니다"
-#: commands.c:676
-#, fuzzy
+#: commands.c:685
msgid "# recipe to execute"
-msgstr "# ½ÇÇàÇÒ ¸í·É¾î"
+msgstr "# 실행할 명령어"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
-msgstr " (³»Àå):"
+msgstr " (내장):"
-#: commands.c:681
+#: commands.c:690
#, c-format
-msgid " (from `%s', line %lu):\n"
-msgstr " (`%s'¿¡¼­, %lu¹ø° ÁÙ):\n"
+msgid " (from '%s', line %lu):\n"
+msgstr " ('%s'ì—ì„œ, %lu번째 줄):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
msgstr ""
"\n"
-"# µð·ºÅ丮\n"
+"# 디렉터리\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
-msgstr "# %s: statÀ» ÇÒ ¼ö ¾ø¾ú½À´Ï´Ù.\n"
+msgstr "# %s: statì„ í•  수 없었습니다.\n"
-#: dir.c:1012
+#: dir.c:1005
#, c-format
msgid "# %s (key %s, mtime %d): could not be opened.\n"
-msgstr "# %s (Å° %s, º¯°æ½Ã°¢ %d): ¿­ ¼ö ¾ø½À´Ï´Ù.\n"
+msgstr "# %s (키 %s, ë³€ê²½ì‹œê° %d): ì—´ 수 없습니다.\n"
-#: dir.c:1016
+#: 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"
+msgstr "# %s (장치 %d, ì•„ì´ë…¸ë“œ [%d,%d,%d]): ì—´ 수 없습니다.\n"
-#: dir.c:1021
+#: dir.c:1014
#, c-format
msgid "# %s (device %ld, inode %ld): could not be opened.\n"
-msgstr "# %s (ÀåÄ¡ %ld, ¾ÆÀ̳ëµå %ld): ¿­ ¼ö ¾ø½À´Ï´Ù.\n"
+msgstr "# %s (장치 %ld, ì•„ì´ë…¸ë“œ %ld): ì—´ 수 없습니다.\n"
-#: dir.c:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
-msgstr "# %s (Å° %s, º¯°æ½Ã°¢ %d): "
+msgstr "# %s (키 %s, ë³€ê²½ì‹œê° %d): "
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
-msgstr "# %s (ÀåÄ¡ %d, ¾ÆÀ̳ëµå [%d,%d,%d]): "
+msgstr "# %s (장치 %d, ì•„ì´ë…¸ë“œ [%d,%d,%d]): "
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
-msgstr "# %s (ÀåÄ¡ %ld, ¾ÆÀ̳ëµå %ld): "
+msgstr "# %s (장치 %ld, ì•„ì´ë…¸ë“œ %ld): "
-# ¿©±â¼­ No´Â "No files"¶ó°í ¾²ÀδÙ. ±Ã±ØÀûÀ¸·Î msgid°¡ °íÃÄÁ®¾ß ÇÔ
-#: dir.c:1063 dir.c:1084
+# 여기서 No는 "No files"ë¼ê³  ì“°ì¸ë‹¤. ê¶ê·¹ì ìœ¼ë¡œ msgidê°€ ê³ ì³ì ¸ì•¼ 함
+#: dir.c:1056 dir.c:1077
msgid "No"
-msgstr "0°³"
+msgstr "0개"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
-msgstr " ÆÄÀÏ, "
+msgstr " 파ì¼, "
-# ¿©±â¼­ no´Â "no impossibilities"¶ó°í ¾²ÀδÙ. ±Ã±ØÀûÀ¸·Î msgid°¡ °íÃÄÁ®¾ß ÇÔ
-#: dir.c:1068 dir.c:1089
+# 여기서 no는 "no impossibilities"ë¼ê³  ì“°ì¸ë‹¤. ê¶ê·¹ì ìœ¼ë¡œ msgidê°€ ê³ ì³ì ¸ì•¼ 함
+#: dir.c:1061 dir.c:1082
msgid "no"
-msgstr "0°³"
+msgstr "0개"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
-msgstr " ºÒ°¡´É"
+msgstr " 불가능"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
-msgstr " Áö±Ý±îÁö."
+msgstr " 지금까지."
-#: dir.c:1092
-#, fuzzy, c-format
+#: dir.c:1085
+#, c-format
msgid " impossibilities in %lu directories.\n"
-msgstr " %u°³ÀÇ µð·ºÅ丮¿¡¼­ ºÒ°¡´É.\n"
+msgstr " 디렉토리 %luê°œì—ì„œ 불가능.\n"
-#: expand.c:127
+#: expand.c:125
#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
-msgstr "Àç±Í º¯¼ö `%s'´Â ÀÚ±â ÀÚ½ÅÀ» ÂüÁ¶ÇÏ°í ÀÖ½À´Ï´Ù (°á±¹)"
+msgid "Recursive variable '%s' references itself (eventually)"
+msgstr "재귀하는 '%s' 변수는 (ê²°êµ­) ìžê¸° ìžì‹ ì„ 참조하고 있습니다"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
-msgstr "Á¾°áµÇÁö ¾ÊÀº º¯¼ö ÂüÁ¶"
+msgstr "변수 ì°¸ì¡°ì— ëë§ˆì¹¨ì´ ì—†ìŠµë‹ˆë‹¤"
-#: file.c:267
-#, fuzzy, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
-msgstr "ÆÄÀÏ `%s'ÀÇ %s:%lu¿¡¼­ ¸í·É¾î°¡ ÁöÁ¤µÇ¾ú½À´Ï´Ù,"
-
-#: file.c:272
-#, fuzzy, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
-msgstr "ÆÄÀÏ `%s'¸¦ À§ÇÑ ¸í·ÉÀ» ¹¬½ÃÀû ±ÔÄ¢ Ž»öÀ¸·Î ã¾Ò½À´Ï´Ù."
+#: file.c:271
+#, c-format
+msgid "Recipe was specified for file '%s' at %s:%lu,"
+msgstr "íŒŒì¼ '%s'ì˜ %s:%luì—ì„œ ëª…ë ¹ì„ ì§€ì •í–ˆìŠµë‹ˆë‹¤."
-#: file.c:275
+#: file.c:276
#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
-msgstr "ÇÏÁö¸¸ `%s'´Â ÀÌÁ¦ `%s'¿Í °°Àº ÆÄÀÏ·Î °£Áֵ˴ϴÙ."
+msgid "Recipe for file '%s' was found by implicit rule search,"
+msgstr "íŒŒì¼ '%s'ì— ëŒ€í•œ ëª…ë ¹ì„ ë¬µì‹œì  ê·œì¹™ íƒìƒ‰ìœ¼ë¡œ 찾았습니다."
-#: file.c:278
-#, fuzzy, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
-msgstr "`%s'¿¡ ´ëÇÑ ¸í·É¾î´Â `%s'¿¡ ´ëÇÑ ¸í·É¾î°¡ ¿ì¼±ÇϹǷΠ¹«½ÃµË´Ï´Ù.."
+#: file.c:280
+#, c-format
+msgid "but '%s' is now considered the same file as '%s'."
+msgstr "하지만 '%s' 파ì¼ì€ ì´ì œ '%s'ê³¼(와) ê°™ì€ íŒŒì¼ë¡œ 간주합니다."
-#: file.c:298
+#: file.c:283
#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
-msgstr "´ÜÀÏ ÄÝ·Ð `%s'¸¦ ÀÌÁß ÄÝ·Ð `%s'·Î À̸§¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
+msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
+msgstr "'%s'ì— ëŒ€í•œ ëª…ë ¹ì€ '%s'ì— ëŒ€í•œ ëª…ë ¹ì´ ìš°ì„ í•˜ë¯€ë¡œ 무시합니다."
#: file.c:303
#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
-msgstr "ÀÌÁß ÄÝ·Ð `%s'¸¦ ´ÜÀÏ ÄÝ·Ð `%s'·Î À̸§¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
+msgid "can't rename single-colon '%s' to double-colon '%s'"
+msgstr "ë‹¨ì¼ ì½œë¡  '%s'ì„(를) ì´ì¤‘ 콜론 '%s'(으)ë¡œ ì´ë¦„ì„ ë°”ê¿€ 수 없습니다"
-#: file.c:392
+#: file.c:309
#, c-format
-msgid "*** Deleting intermediate file `%s'"
-msgstr "*** Áß°£ ÆÄÀÏ `%s'À»(¸¦) ÁÖÀÔ´Ï´Ù"
+msgid "can't rename double-colon '%s' to single-colon '%s'"
+msgstr "ì´ì¤‘ 콜론 '%s'ì„(를) ë‹¨ì¼ ì½œë¡  '%s'(으)ë¡œ ì´ë¦„ì„ ë°”ê¿€ 수 없습니다"
-#: file.c:396
-#, fuzzy
+#: file.c:401
+#, c-format
+msgid "*** Deleting intermediate file '%s'"
+msgstr "*** 중간 íŒŒì¼ '%s'ì„(를) 삭제합니다"
+
+#: file.c:405
msgid "Removing intermediate files...\n"
-msgstr "*** Áß°£ ÆÄÀÏ `%s'À»(¸¦) ÁÖÀÔ´Ï´Ù"
+msgstr "중간 파ì¼ì„ 제거합니다...\n"
+
+#: file.c:811
+msgid "Current time"
+msgstr "현재 ì‹œê°"
-#: file.c:803
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
-msgstr "%s: ŸÀÓ½ºÅÆÇÁ°¡ ¹üÀ§¸¦ ¹þ¾î³³´Ï´Ù; %sÀ»(¸¦) ´ëüÇÕ´Ï´Ù"
+msgstr "%s: 타임스탬프가 범위를 벗어나므로, %sì„(를) 대체합니다"
-#: file.c:804
-msgid "Current time"
-msgstr "ÇöÀç ½Ã°¢"
-
-#: file.c:924
+#: file.c:955
msgid "# Not a target:"
-msgstr "# Ÿ°ÙÀÌ ¾Æ´Ô:"
+msgstr "# íƒ€ê²Ÿì´ ì•„ë‹˜:"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
-msgstr "# ÇÁ·¹½Ã¾î½º ÆÄÀÏ (.PRECIOUSÀÇ ¼±ÇàÁ¶°Ç)."
+msgstr "# 프레시어스 íŒŒì¼ (.PRECIOUSì˜ ì„ í–‰ì¡°ê±´)."
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
-msgstr "# Æ÷´Ï Ÿ°Ù (.PHONYÀÇ ¼±ÇàÁ¶°Ç)."
+msgstr "# í¬ë‹ˆ 타겟 (.PHONYì˜ ì„ í–‰ì¡°ê±´)."
-#: file.c:933
-#, fuzzy
+#: file.c:964
msgid "# Command line target."
-msgstr "# ¸í·ÉÇà Ÿ°Ù."
+msgstr "# 명령행 타겟."
-#: file.c:935
-#, fuzzy
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
-msgstr "# ±âº» ¸ÞÀÌÅ©ÆÄÀÏ È¤Àº MAKEFILES ¸ÞÀÌÅ©ÆÄÀÏ."
+msgstr ""
+"# 기본 ë©”ì´í¬íŒŒì¼, MAKEFILES ë©”ì´í¬íŒŒì¼, ë˜ëŠ” -include/sinclude ë©”ì´í¬íŒŒì¼."
-#: file.c:937
+#: file.c:968
+msgid "# Builtin rule"
+msgstr "# 내장 규칙"
+
+#: file.c:970
msgid "# Implicit rule search has been done."
-msgstr "# ¹¬½ÃÀû ±ÔÄ¢ Ž»öÀÌ ¿Ï·áµÇ¾ú½À´Ï´Ù."
+msgstr "# ë¬µì‹œì  ê·œì¹™ íƒìƒ‰ì´ 완료ë˜ì—ˆìŠµë‹ˆë‹¤."
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
-msgstr "# ¹¬½ÃÀû ±ÔÄ¢ Ž»öÀÌ ¿Ï·áµÇÁö ¾Ê¾Ò½À´Ï´Ù."
+msgstr "# ë¬µì‹œì  ê·œì¹™ íƒìƒ‰ì´ 완료ë˜ì§€ 않았습니다."
-#: file.c:940
+#: file.c:973
#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
-msgstr "# ¹¬½ÃÀû/°íÁ¤ ÆÐÅÏ ½ºÅÛ: `%s'\n"
+msgid "# Implicit/static pattern stem: '%s'\n"
+msgstr "# 묵시ì /ê³ ì • 패턴 스템: '%s'\n"
-#: file.c:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
-msgstr "# ÆÄÀÏÀÌ Áß°£´Ü°èÀÇ ¼±ÇàÁ¶°ÇÀÔ´Ï´Ù."
+msgstr "# 파ì¼ì´ ì¤‘ê°„ë‹¨ê³„ì˜ ì„ í–‰ì¡°ê±´ìž…ë‹ˆë‹¤."
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
-msgstr "# ´ÙÀ½µµ ¸¸µì´Ï´Ù:"
+msgstr "# 다ìŒë„ 만듭니다:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
-msgstr "# º¯°æ ½Ã°¢ÀÌ °áÄÚ °Ë»çµÇÁö ¾Ê¾ÒÀ½."
+msgstr "# 변경 ì‹œê°ì´ ê²°ì½” 검사ë˜ì§€ 않았ìŒ."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
-msgstr "# ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù."
+msgstr "# 파ì¼ì´ 없습니다."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
-msgstr "# ÆÄÀÏÀÌ ¸Å¿ì ¿À·¡µÇ¾ú½À´Ï´Ù."
+msgstr "# 파ì¼ì´ 매우 오래ë˜ì—ˆìŠµë‹ˆë‹¤."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
-msgstr "# ¸¶Áö¸· º¯°æ %s\n"
+msgstr "# 마지막 변경 %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
-msgstr "# ÆÄÀÏÀÌ °»½ÅµÇ¾ú½À´Ï´Ù."
+msgstr "# 파ì¼ì„ ì—…ë°ì´íŠ¸í–ˆìŠµë‹ˆë‹¤."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
-msgstr "# ÆÄÀÏÀÌ °»½ÅµÇÁö ¾Ê¾Ò½À´Ï´Ù."
+msgstr "# 파ì¼ì„ ì—…ë°ì´íŠ¸í•˜ì§€ 않았습니다."
-#: file.c:968
-#, fuzzy
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
-msgstr "# ÇöÀç ½ÇÇàÁßÀÎ ¸í·É (ÀÌ°ÍÀº ¹ö±×ÀÔ´Ï´Ù)."
+msgstr "# 현재 ì‹¤í–‰ì¤‘ì¸ ëª…ë ¹(ì´ê²ƒì€ 버그입니다)."
-#: file.c:971
-#, fuzzy
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
-msgstr "# ÇöÀç ½ÇÇàÁßÀÎ ÀÇÁ¸¼º (ÀÌ°ÍÀº ¹ö±×ÀÔ´Ï´Ù)."
+msgstr "# 현재 ì‹¤í–‰ì¤‘ì¸ ì˜ì¡´ì„±(ì´ê²ƒì€ 버그입니다)."
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
-msgstr "# ¼º°øÀûÀ¸·Î °»½ÅµÊ."
+msgstr "# 성공ì ìœ¼ë¡œ ì—…ë°ì´íŠ¸."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
-msgstr "# °»½ÅµÉ ÇÊ¿ä°¡ ÀÖÀ½ (-q ¼³Á¤µÊ)."
+msgstr "# ì—…ë°ì´íŠ¸ í•„ìš”(-q 설정ë¨)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
-msgstr "# °»½Å¿¡ ½ÇÆÐÇÔ."
+msgstr "# ì—…ë°ì´íŠ¸ 실패."
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# `update_status' ¸â¹ö¿¡ °ªÀÌ À߸øµÇ¾ú½À´Ï´Ù!"
+#: file.c:1025
+msgid "# Invalid value in 'command_state' member!"
+msgstr "# 'command_status' ë©¤ë²„ì— ê°’ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤!"
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
-msgstr "# `command_status' ¸â¹ö¿¡ °ªÀÌ À߸øµÇ¾ú½À´Ï´Ù!"
-
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
msgstr ""
"\n"
-"# ÆÄÀÏ"
+"# 파ì¼"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
+"\n"
+"# íŒŒì¼ í•´ì‹œ í…Œì´ë¸” 통계:\n"
+"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
-msgstr "`word' ÇÔ¼öÀÇ Ã¹¹ø° ÀÎÀÚ°¡ ¼ýÀÚ°¡ ¾Æ´Õ´Ï´Ù"
-
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
-msgstr "`word' ÇÔ¼öÀÇ Ã¹¹ø° ÀÎÀÚ´Â 0º¸´Ù Ä¿¾ß ÇÕ´Ï´Ù"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr "%s: '%s' 필드가 ìºì‹œì— ì—†ìŒ: %s"
-#: function.c:783
-msgid "non-numeric first argument to `wordlist' function"
-msgstr "`wordlist' ÇÔ¼öÀÇ Ã¹¹ø° ÀÎÀÚ°¡ ¼ýÀÚ°¡ ¾Æ´Õ´Ï´Ù"
+#: function.c:780
+msgid "non-numeric first argument to 'word' function"
+msgstr "'word' í•¨ìˆ˜ì˜ ì²«ë²ˆì§¸ ì¸ìžê°€ 숫ìžê°€ 아닙니다"
#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
-msgstr "`wordlist' ÇÔ¼öÀÇ µÎ¹ø° ÀÎÀÚ°¡ ¼ýÀÚ°¡ ¾Æ´Õ´Ï´Ù"
+msgid "first argument to 'word' function must be greater than 0"
+msgstr "'word' í•¨ìˆ˜ì˜ ì²«ë²ˆì§¸ ì¸ìžëŠ” 0보다 커야 합니다"
-#: function.c:1458
-#, fuzzy, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
-msgstr "create_child_process: DuplicateHandle(In) ½ÇÆÐ (e=%d)\n"
+#: function.c:805
+msgid "non-numeric first argument to 'wordlist' function"
+msgstr "'wordlist' í•¨ìˆ˜ì˜ ì²«ë²ˆì§¸ ì¸ìžê°€ 숫ìžê°€ 아닙니다"
-#: function.c:1469
-#, fuzzy, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr "create_child_process: DuplicateHandle(Err) ½ÇÆÐ (e=%d)\n"
+#: function.c:807
+msgid "non-numeric second argument to 'wordlist' function"
+msgstr "'wordlist' í•¨ìˆ˜ì˜ ë‘번째 ì¸ìžê°€ 숫ìžê°€ 아닙니다"
-#: function.c:1474
-#, fuzzy, c-format
+#: function.c:1499
+#, c-format
+msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
+msgstr "windows32_openpipe: DuplicateHandle(In) 실패(e=%ld)\n"
+
+#: function.c:1523
+#, c-format
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
+msgstr "windows32_openpipe: DuplicateHandle(Err) 실패(e=%ld)\n"
+
+#: function.c:1530
+#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
-msgstr "CreatePipe() ½ÇÆÐ (e=%d)\n"
+msgstr "CreatePipe() 실패(e=%ld)\n"
-#: function.c:1479
-#, fuzzy
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
-msgstr "windows32_openpipe (): process_init_fd() ½ÇÆÐ\n"
+msgstr "windows32_openpipe(): process_init_fd() 실패\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
-msgstr "Àӽà ¹èÄ¡ ÆÄÀÏ %sÀ»(¸¦) Áö¿ó´Ï´Ù\n"
+msgstr "ìž„ì‹œ 배치 íŒŒì¼ %sì„(를) 지ì›ë‹ˆë‹¤\n"
+
+#: function.c:2193
+#, c-format
+msgid "open: %s: %s"
+msgstr "open: %s: %s"
+
+#: function.c:2203
+#, c-format
+msgid "write: %s: %s"
+msgstr "write: %s: %s"
+
+#: function.c:2209
+#, c-format
+msgid "Invalid file operation: %s"
+msgstr "올바르지 ì•Šì€ íŒŒì¼ ë™ìž‘: %s"
+
+#: function.c:2324
+#, c-format
+msgid "insufficient number of arguments (%d) to function '%s'"
+msgstr "함수 '%2$s'ì— ì¸ìž 갯수(%1$d)ê°€ 부족합니다 "
-#: function.c:2150
+#: function.c:2336
+#, c-format
+msgid "unimplemented on this platform: function '%s'"
+msgstr "ì´ í”Œëž«í¼ì—서는 구현ë˜ì§€ 않았습니다: '%s' 함수"
+
+#: function.c:2399
+#, c-format
+msgid "unterminated call to function '%s': missing '%c'"
+msgstr "함수 '%s'ì— ëŒ€í•´ 종료ë˜ì§€ ì•Šì€ í˜¸ì¶œ: '%c' 문ìžê°€ ë¹ ì¡ŒìŒ"
+
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "빈 함수 ì´ë¦„: %s\n"
+
+#: function.c:2593
#, fuzzy, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
-msgstr "ÇÔ¼ö `%2$s'¿¡ ÀÎÀÚ °¹¼ö(%1$d)°¡ ºÎÁ·ÇÕ´Ï´Ù "
+msgid "Invalid function name: %s"
+msgstr "ìž˜ëª»ëœ í•¨ìˆ˜ ì´ë¦„: %s\n"
-#: function.c:2162
+#: function.c:2595
#, fuzzy, c-format
-msgid "unimplemented on this platform: function `%s'"
-msgstr "ÀÌ Ç÷§Æû¿¡¼­´Â ±¸ÇöµÇÁö ¾Ê¾Ò½À´Ï´Ù: `%s' ÇÔ¼ö"
+msgid "Function name too long: %s"
+msgstr "함수 ì´ë¦„ì´ ë„ˆë¬´ ê¹ë‹ˆë‹¤: %s\n"
-#: function.c:2212
-#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
-msgstr "ÇÔ¼ö `%s'¿¡ ´ëÇØ Á¾·áµÇÁö ¾ÊÀº È£Ãâ: `%c'°¡ ºüÁ³À½"
+#: 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:661
+#: getopt.c:659
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: `%s'´Â ¾Ö¸ÅÇÑ ¿É¼ÇÀÔ´Ï´Ù\n"
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: '%s' ì˜µì…˜ì€ ì• ë§¤í•œ 옵션입니다\n"
-#: getopt.c:685
+#: getopt.c:683
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: `--%s' ¿É¼ÇÀº Àμö¸¦ Çã¿ëÇÏÁö ¾Ê½À´Ï´Ù\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: '--%s' ì˜µì…˜ì€ ì¸ìˆ˜ë¥¼ 허용하지 않습니다\n"
-#: getopt.c:690
+#: getopt.c:688
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: `%c%s' ¿É¼ÇÀº Àμö¸¦ Çã¿ëÇÏÁö ¾Ê½À´Ï´Ù\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: '%c%s' ì˜µì…˜ì€ ì¸ìˆ˜ë¥¼ 허용하지 않습니다\n"
-#: getopt.c:707 getopt.c:880
+#: getopt.c:705 getopt.c:878
#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: `%s' ¿É¼ÇÀº Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù\n"
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s: '%s' ì˜µì…˜ì€ ì¸ìˆ˜ê°€ 필요합니다\n"
-#: getopt.c:736
+#: getopt.c:734
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: ÀνÄÇÒ ¼ö ¾ø´Â ¿É¼Ç `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: ì¸ì‹í•  수 없는 옵션 '--%s'\n"
-#: getopt.c:740
+#: getopt.c:738
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: ÀνÄÇÒ ¼ö ¾ø´Â ¿É¼Ç `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: ì¸ì‹í•  수 없는 옵션 '%c%s'\n"
-#: getopt.c:766
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
-msgstr "%s: À߸øµÈ ¿É¼Ç -- %c\n"
+msgstr "%s: ìž˜ëª»ëœ ì˜µì…˜ -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
-msgstr "%s: ºÎÀûÀýÇÑ ¿É¼Ç -- %c\n"
+msgstr "%s: 부ì ì ˆí•œ 옵션 -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: ÀÌ ¿É¼ÇÀº Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù -- %c\n"
+msgstr "%s: ì´ ì˜µì…˜ì€ ì¸ìˆ˜ê°€ 필요합니다 -- %c\n"
+
+#: getopt.c:844
+#, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: '-W %s' ì˜µì…˜ì€ ì• ë§¤í•œ 옵션입니다\n"
+
+#: getopt.c:862
+#, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s: '-W %s' ì˜µì…˜ì€ ì¸ìˆ˜ë¥¼ 허용하지 않습니다\n"
-#: getopt.c:846
+#: guile.c:58
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: `-W %s' ¿É¼ÇÀº ¾Ö¸ÅÇÑ ¿É¼ÇÀÔ´Ï´Ù\n"
+msgid "guile: Expanding '%s'\n"
+msgstr "guile: '%s' 확장\n"
-#: getopt.c:864
+#: guile.c:74
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: `-W %s' ¿É¼ÇÀº Àμö¸¦ Çã¿ëÇÏÁö ¾Ê½À´Ï´Ù\n"
+msgid "guile: Evaluating '%s'\n"
+msgstr "guile: '%s' í•´ì„\n"
#: hash.c:49
#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
-msgstr ""
+msgstr "í•´ì‹œ í…Œì´ë¸”ì— %lu ë°”ì´íŠ¸ë¥¼ 할당할 수 없습니다: 메모리 바닥남"
#: hash.c:280
#, c-format
msgid "Load=%ld/%ld=%.0f%%, "
-msgstr ""
+msgstr "로드=%ld/%ld=%.0f%%, "
#: hash.c:282
#, c-format
msgid "Rehash=%d, "
-msgstr ""
+msgstr "다시 해시=%d, "
#: hash.c:283
#, c-format
msgid "Collisions=%ld/%ld=%.0f%%"
-msgstr ""
+msgstr "충ëŒ=%ld/%ld=%.0f%%"
-#: implicit.c:40
+#: implicit.c:38
#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
-msgstr "`%s'¿¡ ´ëÇÑ ¹¬½ÃÀû ±ÔÄ¢À» ã°í ÀÖ½À´Ï´Ù.\n"
+msgid "Looking for an implicit rule for '%s'.\n"
+msgstr "'%s'ì— ëŒ€í•œ ë¬µì‹œì  ê·œì¹™ì„ ì°¾ê³  있습니다.\n"
-#: implicit.c:56
+#: implicit.c:54
#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
-msgstr "`%s'¿¡ ´ëÇÑ ¾ÆÄ«À̺ê¸â¹ö ¹¬½ÃÀû ±ÔÄ¢À» ã°í ÀÖ½À´Ï´Ù.\n"
+msgid "Looking for archive-member implicit rule for '%s'.\n"
+msgstr "'%s'ì— ëŒ€í•œ ì•„ì¹´ì´ë¸Œë©¤ë²„ ë¬µì‹œì  ê·œì¹™ì„ ì°¾ê³  있습니다.\n"
-#: implicit.c:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
-msgstr "¹¬½ÃÀû ±ÔÄ¢ÀÇ Àç±Í¸¦ ÇÇÇÔ.\n"
+msgstr "ë¬µì‹œì  ê·œì¹™ì˜ ìž¬ê·€ë¥¼ 피함.\n"
-# ½ºÅÛstemÀ̶õ ÆÐÅÏ ·ê¿¡¼­ prefix/suffix¸¦ Á¦¿ÜÇÑ ³ª¸ÓÁö¸¦ ¸»ÇÑ´Ù.
-# ¿¹¸¦ µé¾î `%.c'¶ó´Â ÆÐÅÏ¿¡ `hello.c'°¡ µé¾î ¸Â¾ÒÀ» °æ¿ì stemÀº `hello'ÀÌ´Ù.
+# 스템(stem)ì´ëž€ 패턴 룰ì—ì„œ prefix/suffix를 제외한 나머지를 ë§í•œë‹¤.
+# 예를 들어 `%.c'ë¼ëŠ” íŒ¨í„´ì— `hello.c'ê°€ 들어 ë§žì•˜ì„ ê²½ìš° stemì€ `hello'ì´ë‹¤.
+#: implicit.c:486
+#, c-format
+msgid "Stem too long: '%.*s'.\n"
+msgstr "ìŠ¤í…œì´ ë„ˆë¬´ ê¹ë‹ˆë‹¤: '%.*s'.\n"
+
+# 스템(stem)ì´ëž€ 패턴 룰ì—ì„œ prefix/suffix를 제외한 나머지를 ë§í•œë‹¤.
+# 예를 들어 `%.c'ë¼ëŠ” íŒ¨í„´ì— `hello.c'ê°€ 들어 ë§žì•˜ì„ ê²½ìš° stemì€ `hello'ì´ë‹¤.
#: implicit.c:491
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
-msgstr "½ºÅÛ `%.*s'¿¡¼­ºÎÅÍ ÆÐÅÏ ±ÔÄ¢ ½Ãµµ.\n"
+msgid "Trying pattern rule with stem '%.*s'.\n"
+msgstr "'%.*s' 스템ì—ì„œ 패턴 규칙 ì‹œë„.\n"
-#: implicit.c:674
+#: implicit.c:697
#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
-msgstr "ºÒ°¡´ÉÇÑ ±ÔÄ¢ ¼±ÇàÁ¶°Ç `%s'Àº(´Â) °ÅºÎµË´Ï´Ù.\n"
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
+msgstr "불가능한 규칙 선행조건 '%s'ì€(는) 거부ë©ë‹ˆë‹¤.\n"
-#: implicit.c:675
+#: implicit.c:698
#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
-msgstr "ºÒ°¡´ÉÇÑ ¹¬½ÃÀû ¼±ÇàÁ¶°Ç `%s'Àº(´Â) °ÅºÎµË´Ï´Ù.\n"
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
+msgstr "불가능한 ë¬µì‹œì  ì„ í–‰ì¡°ê±´ '%s'ì€(는) 거부ë©ë‹ˆë‹¤.\n"
-#: implicit.c:688
+#: implicit.c:711
#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
-msgstr "±ÔÄ¢ ¼±ÇàÁ¶°Ç `%s'À»(¸¦) ½ÃµµÇÕ´Ï´Ù.\n"
+msgid "Trying rule prerequisite '%s'.\n"
+msgstr "규칙 선행조건 '%s'ì„(를) ì‹œë„합니다.\n"
-#: implicit.c:689
+#: implicit.c:712
#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
-msgstr "¹¬½ÃÀû ¼±ÇàÁ¶°Ç `%s'À»(¸¦) ½ÃµµÇÕ´Ï´Ù\n"
+msgid "Trying implicit prerequisite '%s'.\n"
+msgstr "ë¬µì‹œì  ì„ í–‰ì¡°ê±´ '%s'ì„(를) ì‹œë„합니다.\n"
-#: implicit.c:728
+#: implicit.c:751
#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
-msgstr "VPATH `%2$s'¿¡¼­ ¼±ÇàÁ¶°Ç `%1$s'À»(¸¦) ã¾Ò½À´Ï´Ù\n"
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
+msgstr "VPATH '%2$s'ì—ì„œ 선행조건 '%1$s'ì„(를) 찾았습니다\n"
-#: implicit.c:742
+#: implicit.c:765
#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
-msgstr "Áß°£ ÆÄÀÏ `%s'¿¡ ´ëÇÑ ¹¬½ÃÀû ±ÔÄ¢À» ã°í ÀÖ½À´Ï´Ù.\n"
+msgid "Looking for a rule with intermediate file '%s'.\n"
+msgstr "중간 íŒŒì¼ '%s'ì— ëŒ€í•œ ë¬µì‹œì  ê·œì¹™ì„ ì°¾ê³  있습니다.\n"
-#: job.c:335
-#, fuzzy
+#: job.c:361
msgid "Cannot create a temporary file\n"
-msgstr "fwrite (Àӽà ÆÄÀÏ)"
+msgstr "ìž„ì‹œ 파ì¼ì„ 만들 수 없습니다\n"
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] ¿À·ù 0x%x (¹«½ÃµÊ)"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (메모리 ë¤í”„ë¨)"
+
+#: job.c:488
+msgid " (ignored)"
+msgstr " (무시ë¨)"
+
+#: job.c:492 job.c:2046
+msgid "<builtin>"
+msgstr "<내장>"
-#: job.c:450
+#: job.c:503
#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] ¿À·ù 0x%x"
+msgid "%s: recipe for target '%s' failed"
+msgstr "%s: '%s' íƒ€ê²Ÿì— ëŒ€í•œ ëª…ë ¹ì´ ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
-#: job.c:454
+#: job.c:516 job.c:524
#, c-format
-msgid "[%s] Error %d (ignored)"
-msgstr "[%s] ¿À·ù %d (¹«½ÃµÊ)"
+msgid "%s[%s] Error %d%s"
+msgstr "%s[%s] 오류 %d%s"
-#: job.c:455
+#: job.c:519
#, c-format
-msgid "*** [%s] Error %d"
-msgstr "*** [%s] ¿À·ù %d"
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] 오류 0x%x%s"
-#: job.c:460
-msgid " (core dumped)"
-msgstr " (¸Þ¸ð¸® ´ýÇÁµÊ)"
+#: job.c:529
+#, c-format
+msgid "%s[%s] %s%s%s"
+msgstr "%s[%s] %s%s%s"
-#: job.c:549
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
-msgstr "*** ³¡³ªÁö ¾ÊÀº ÀÛ¾÷À» ±â´Ù¸®°í ÀÖ½À´Ï´Ù...."
+msgstr "*** ë나지 ì•Šì€ ìž‘ì—…ì„ ê¸°ë‹¤ë¦¬ê³  있습니다...."
-#: job.c:579
-#, fuzzy, c-format
+#: job.c:651
+#, c-format
msgid "Live child %p (%s) PID %s %s\n"
-msgstr "»ì¾ÆÀÖ´Â ÀÚ½Ä ÇÁ·Î¼¼½º 0x%08lx (%s) PID %ld %s\n"
+msgstr "살아있는 하위 프로세스 %p (%s) PID %s %s\n"
-#: job.c:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
-msgstr " (¿ø°Ý)"
+msgstr " (ì›ê²©)"
-#: job.c:758
-#, fuzzy, c-format
+#: job.c:841
+#, c-format
msgid "Reaping losing child %p PID %s %s\n"
-msgstr "½ÇÆÐÇÑ ÀÚ½Ä ÇÁ·Î¼¼½º 0x%08lx PID %ld %sÀ»(¸¦) °ÅµÖµéÀÔ´Ï´Ù\n"
+msgstr "실패한 하위 프로세스 %p PID %s %sì„(를) 거둬들입니다\n"
-#: job.c:759
-#, fuzzy, c-format
+#: job.c:842
+#, c-format
msgid "Reaping winning child %p PID %s %s\n"
-msgstr "¼º°øÇÑ ÀÚ½Ä ÇÁ·Î¼¼½º 0x%08lx PID %ld %sÀ»(¸¦) °ÅµÖµéÀÔ´Ï´Ù\n"
+msgstr "성공한 하위 프로세스 %p PID %s %sì„(를) 거둬들입니다\n"
-#: job.c:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
-msgstr "Àӽà ¹èÄ¡ ÆÄÀÏ %sÀ»(¸¦) Áö¿ó´Ï´Ù\n"
+msgstr "ìž„ì‹œ 배치 íŒŒì¼ %sì„(를) 지ì›ë‹ˆë‹¤\n"
-#: job.c:861
-#, fuzzy, c-format
+#: job.c:855
+#, c-format
+msgid "Cleaning up temp batch file %s failed (%d)\n"
+msgstr "ìž„ì‹œ 배치 íŒŒì¼ %s 지우기가 실패했습니다(%d)\n"
+
+#: job.c:961
+#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
-msgstr "üÀο¡¼­ ÀÚ½ÄÇÁ·Î¼¼½º 0x%08lx PID %ld %sÀ»(¸¦) Áö¿ó´Ï´Ù.\n"
+msgstr "하위 프로세스 %p PID %s%sì„(를) ì²´ì¸ì—ì„œ 지ì›ë‹ˆë‹¤.\n"
-# ??? µð¹ö±ë ¸Þ¼¼Áö
-#: job.c:920
-msgid "write jobserver"
-msgstr "ÀÛ¾÷¼­¹ö ¾²±â"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
+msgstr "ìž‘ì—… 서버 세마í¬ì–´ í•´ì œ: (오류 %ld: %s)"
-#: job.c:922
-#, fuzzy, c-format
+#: job.c:1024 job.c:1038
+#, c-format
msgid "Released token for child %p (%s).\n"
-msgstr "ÀÚ½ÄÇÁ·Î¼¼½º child 0x%08lx (%s) ¿¡ ÅäÅ«À» ³»¾î ÁÝ´Ï´Ù.\n"
+msgstr "하위 프로세스 %p(%s)ì— í† í°ì„ ë‚´ì–´ ì¤ë‹ˆë‹¤.\n"
-#: job.c:1453 job.c:2094
-#, fuzzy, c-format
+# ??? 디버깅 메세지
+#: 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=%d)\n"
+msgstr "process_easy()ê°€ 프로세스를 시작하는 ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤(e=%ld)\n"
-#: job.c:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
"\n"
-"½ÇÇà ½ÇÆп¡¼­ %d°³ÀÇ Àμö\n"
+"실행 실패ì—ì„œ ì¸ìˆ˜ %dê°œ\n"
-#: job.c:1525
-#, fuzzy, c-format
+#: job.c:1735
+#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
-msgstr "ÀÚ½ÄÇÁ·Î¼¼½º 0x%08lx (%s) PID %ld%sÀ»(¸¦) üÀο¡ ³Ö½À´Ï´Ù.\n"
+msgstr "하위 프로세스 %p(%s) PID %s%sì„(를) ì²´ì¸ì— 넣습니다.\n"
-#: job.c:1778
-#, fuzzy, c-format
+#: 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 "ÀÚ½Ä ÇÁ·Î¼¼½º 0x%08lx (%s)¿¡¼­ ÅäÅ«À» ¹Þ¾Ò½À´Ï´Ù.\n"
+msgstr "하위 프로세스 %p(%s)ì—ì„œ 토í°ì„ 받았습니다.\n"
-#: job.c:1787
+#: job.c:2029
msgid "read jobs pipe"
-msgstr "ÀÛ¾÷ ÆÄÀÌÇÁ Àбâ"
+msgstr "ìž‘ì—… 파ì´í”„ ì½ê¸°"
-#: job.c:1798
+#: job.c:2056
#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr ""
+msgid "%s: target '%s' does not exist"
+msgstr "%s: '%s' íƒ€ê²Ÿì´ ì—†ìŠµë‹ˆë‹¤"
-#: job.c:1802
-#, fuzzy, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "Ÿ°Ù `%s'À»(¸¦) ´Ù½Ã ¸¸µé ÇÊ¿ä°¡ ¾ø½À´Ï´Ù."
+#: job.c:2059
+#, c-format
+msgid "%s: update target '%s' due to: %s"
+msgstr "%s: '%s' 타겟 ì—…ë°ì´íŠ¸, ì´ìœ : %s"
-#: job.c:1910
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
-msgstr "ÀÌ ¿î¿µ üÁ¦¿¡¼­´Â ºÎÇÏ Á¦ÇÑÀ» °­Á¦ÇÒ ¼ö ¾ø½À´Ï´Ù"
+msgstr "ì´ ìš´ì˜ ì²´ì œì—서는 부하 ì œí•œì„ ê°•ì œí•  수 없습니다"
-#: job.c:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
-msgstr "ºÎÇÏ Á¦ÇÑÀ» °­Á¦ÇÒ ¼ö ¾ø½À´Ï´Ù: "
+msgstr "부하 ì œí•œì„ ê°•ì œí•  수 없습니다: "
-#: job.c:1985
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
-msgstr ""
+msgstr "íŒŒì¼ í•¸ë“¤ì´ ì—†ìŒ: 표준 ìž…ë ¥ì„ ë³µì‚¬í•  수 없습니다\n"
-#: job.c:1987
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
-msgstr ""
+msgstr "íŒŒì¼ í•¸ë“¤ì´ ì—†ìŒ: 표준 ì¶œë ¥ì„ ë³µì‚¬í•  수 없습니다\n"
+
+#: job.c:2278
+msgid "no more file handles: could not duplicate stderr\n"
+msgstr "íŒŒì¼ í•¸ë“¤ì´ ì—†ìŒ: 표준 오류를 복사할 수 없습니다\n"
-#: job.c:2015
+#: job.c:2293
msgid "Could not restore stdin\n"
-msgstr ""
+msgstr "표준 ìž…ë ¥ì„ ë³µêµ¬í•  수 없습니다\n"
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
-msgstr ""
+msgstr "표준 ì¶œë ¥ì„ ë³µêµ¬í•  수 없습니다\n"
-#: job.c:2127
-#, fuzzy, c-format
+#: job.c:2309
+msgid "Could not restore stderr\n"
+msgstr "표준 오류를 복구할 수 없습니다\n"
+
+#: job.c:2420
+#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr ""
-"ÀÚ½ÄÇÁ·Î¼¼½º pid %d¸¦ °ÅµÖµéÀÌ°í, ¾ÆÁ÷ pid %dÀ»(¸¦) ±â´Ù¸®°í ÀÖ½À´Ï´Ù\n"
+"하위 프로세스 PID %sì„(를) 거둬들ì´ê³ , ì•„ì§ PID %sì„(를) 기다리고 있습니다\n"
-#: job.c:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
-msgstr "%s: ¸í·ÉÀ» ãÁö ¸øÇßÀ½"
+msgstr "%s: ëª…ë ¹ì„ ì°¾ì§€ 못했ìŒ"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
-msgstr "%s: ¼Ð ÇÁ·Î±×·¥À» ãÁö ¸øÇßÀ½"
+msgstr "%s: ì…¸ í”„ë¡œê·¸ëž¨ì„ ì°¾ì§€ 못했ìŒ"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
-msgstr ""
+msgstr "spawnvpe: 환경 변수 ê³µê°„ì´ ë°”ë‹¥ë‚¬ì„ ìˆ˜ 있습니다"
-#: job.c:2461
-#, fuzzy, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
-msgstr "$SHELLÀÌ ¹Ù²î¾ú½À´Ï´Ù (°ú°Å `%s', ÇöÀç `%s')"
+#: job.c:2765
+#, c-format
+msgid "$SHELL changed (was '%s', now '%s')\n"
+msgstr "$SHELLì´ ë°”ë€Œì—ˆìŠµë‹ˆë‹¤(과거 '%s', 현재 '%s')\n"
-#: job.c:2951
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
-msgstr "Àӽà ¹èÄ¡ ÆÄÀÏ %sÀ»(¸¦) ¸¸µì´Ï´Ù\n"
+msgstr "ìž„ì‹œ 배치 íŒŒì¼ %sì„(를) 만듭니다\n"
-#: job.c:2963
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+"배치 íŒŒì¼ ë‚´ìš©:\n"
+"\t@echo off\n"
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
+"배치 íŒŒì¼ ë‚´ìš©:%s\n"
+"\t%s\n"
-# ??? µð¹ö±ë ¸Þ¼¼Áö
-#: job.c:3065
+# ??? 디버깅 메세지
+#: 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"
+msgstr "%s (%d번째 줄) ìž˜ëª»ëœ ì‰˜ 컨í…스트 (!unixy && !batch_mode_shell)\n"
-#: main.c:303
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr "-O[ë°©ì‹] (--output-sync[=ë°©ì‹]) ì˜µì…˜ì€ ì´ ë¹Œë“œì—ì„œ 사용하지 않습니다."
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr "ì „ì—­ 심볼 í…Œì´ë¸”ì„ ì—¬ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤: %s"
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr "ì½ì–´ë“¤ì¸ %s 오브ì íŠ¸ëŠ” GPL 호환ì´ë¼ê³  선언하지 않았습니다"
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr "%s ì‹¬ë³¼ì„ %sì—ì„œ ì½ì–´ë“¤ì´ëŠ”ë° ì‹¤íŒ¨: %s"
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr "ì½ì–´ë“¤ì¼ 심볼 ì´ë¦„ì´ ë¹„ì—ˆìŒ: %s"
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr "%s ì‹¬ë³¼ì„ %sì—ì„œ ì½ì–´ë“¤ìž„\n"
+
+#: load.c:244
+msgid "The 'load' operation is not supported on this platform."
+msgstr "'load' ìž‘ì—…ì€ ì´ í”Œëž«í¼ì—ì„œ 지ì›ë˜ì§€ 않습니다."
+
+#: main.c:313
msgid "Options:\n"
-msgstr "¿É¼Ç:\n"
+msgstr "옵션:\n"
-#: main.c:304
-#, fuzzy
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
-msgstr "ȣȯ¼ºÀ» À§ÇØ ¹«½ÃµÊ"
+msgstr " -b, -m 무시ë©ë‹ˆë‹¤, í˜¸í™˜ì„ ìœ„í•´ 유지.\n"
-#: main.c:306
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
-msgstr ""
+msgstr " -B, --always-make ì¡°ê±´ì— ê´€ê³„ ì—†ì´ ëª¨ë“  íƒ€ê²Ÿì„ ë§Œë“­ë‹ˆë‹¤.\n"
-#: main.c:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
+" -C <디렉터리>, --directory=<디렉터리>\n"
+" 뭔가 하기 ì „ì— <디렉터리>ë¡œ ì´ë™í•©ë‹ˆë‹¤.\n"
-#: main.c:311
-#, fuzzy
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
-msgstr "¿©·¯ °¡Áö µð¹ö±ë Á¤º¸¸¦ Ãâ·ÂÇÕ´Ï´Ù"
+msgstr " -d 여러 가지 디버깅 정보를 출력합니다.\n"
-#: main.c:313
-#, fuzzy
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
-msgstr "¿©·¯ °¡Áö Á¾·ùÀÇ µð¹ö±ë Á¤º¸¸¦ Ãâ·ÂÇÕ´Ï´Ù"
+msgstr ""
+" --debug[=플래그] 여러 가지 ì¢…ë¥˜ì˜ ë””ë²„ê¹… 정보를 출력합니다.\n"
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
+" -e, --environment-overrides\n"
+" 환경변수가 ë©”ì´í¬íŒŒì¼ ë‚´ìš©ì— ìš°ì„ í•©ë‹ˆë‹¤.\n"
-#: main.c:318
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
+" --eval=<문ìžì—´> <문ìžì—´>ì„ ë©”ì´í¬íŒŒì¼ 내용으로 í•´ì„합니다.\n"
-#: main.c:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
+" -f <파ì¼>, --file=<파ì¼>, --makefile=<파ì¼>\n"
+" <파ì¼>ì„ ë©”ì´í¬íŒŒì¼ë¡œ ì½ìŠµë‹ˆë‹¤.\n"
-#: main.c:323
-#, fuzzy
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
-msgstr "ÀÌ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ°í ³¡³À´Ï´Ù"
+msgstr " -h, --help ì´ ë©”ì‹œì§€ë¥¼ 출력하고 ë냅니다.\n"
-#: main.c:325
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
-msgstr ""
+msgstr " -i, --ignore-errors 명령ì—ì„œ ë°œìƒí•˜ëŠ” 오류를 무시합니다.\n"
-#: main.c:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
+" -I <디렉터리>, --include-dir=<디렉터리>\n"
+" í¬í•¨í•  ë©”ì´í¬íŒŒì¼ì„ <디렉터리>ì—ì„œ 찾습니다.\n"
-#: main.c:330
-#, fuzzy
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
-msgstr "µ¿½Ã¿¡ N°³ÀÇ ÀÛ¾÷À» Çã¿ëÇÕ´Ï´Ù; ÀÎÀÚ°¡ ¾øÀ¸¸é ¹«ÇÑ´ë·Î Çã¿ëÇÕ´Ï´Ù"
+msgstr ""
+" -j [N], --jobs[=N] ë™ì‹œì— Nê°œì˜ ìž‘ì—… 허용, ì¸ìž 없으면 무한대로 í—ˆ"
+"ìš©.\n"
-#: main.c:332
-#, fuzzy
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
-msgstr "¸î¸î Ÿ°ÙÀ» ¸¸µé ¼ö ¾ø´õ¶óµµ °è¼Ó ÁøÇàÇÕ´Ï´Ù"
+msgstr ""
+" -k, --keep-going ì¼ë¶€ íƒ€ê²Ÿì„ ë§Œë“¤ 수 ì—†ë”ë¼ë„ ê³„ì† ì§„í–‰í•©ë‹ˆë‹¤.\n"
-#: main.c:334
+#: 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"
+" 로드가 N 아래로 내려가야 ë™ì‹œ ìž‘ì—… 시작합니"
+"다.\n"
-#: main.c:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
+" -L, --check-symlink-times 심볼릭 ë§í¬ì™€ 실제 중 ë” ìµœê·¼ 수정 ì‹œê°ì„\n"
+" 사용합니다.\n"
-#: main.c:339
+#: 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"
+" 실제로는 아무 ëª…ë ¹ë„ ì‹¤í–‰í•˜ì§€ ì•Šê³  표시만 합니"
+"다.\n"
-#: main.c:342
+#: 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"
+" 않습니다.\n"
-#: main.c:345
-#, fuzzy
+#: 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:358
msgid " -p, --print-data-base Print make's internal database.\n"
-msgstr "makeÀÇ ³»ºÎ µ¥ÀÌŸº£À̽º¸¦ Ãâ·ÂÇÕ´Ï´Ù"
+msgstr " -p, --print-data-base makeì˜ ë‚´ë¶€ ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 출력합니다.\n"
-#: main.c:347
-#, fuzzy
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
-msgstr "¸í·ÉÀ» ½ÇÇàÇÏÁö ¾Ê½À´Ï´Ù; Á¾·á »óȲÀÌ °»½Å ¿©ºÎ¸¦ ¸»ÇØ ÁÝ´Ï´Ù"
+msgstr ""
+" -q, --question ëª…ë ¹ì„ ì‹¤í–‰í•˜ì§€ ì•ŠìŒ. 종료 ìƒíƒœë¡œ ì—…ë°ì´íŠ¸\n"
+" 여부를 알 수 있습니다.\n"
-#: main.c:349
-#, fuzzy
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
-msgstr "³»Àå ¹¬½ÃÀû ±ÔÄ¢À» »ç¿ë ºÒ°¡´ÉÇÏ°Ô ÇÕ´Ï´Ù"
+msgstr " -r, --no-builtin-rules 내장 ë¬µì‹œì  ê·œì¹™ì„ ì‚¬ìš©í•˜ì§€ 않습니다.\n"
-#: main.c:351
-#, fuzzy
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
-msgstr "³»Àå º¯¼ö¸¦ ÁöÁ¤ÇÏÁö ¸øÇÏ°Ô ÇÕ´Ï´Ù"
+msgstr " -R, --no-builtin-variables 내장 변수를 지정하지 못하게 합니다.\n"
-#: main.c:353
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
-msgstr ""
+msgstr " -s, --silent, --quiet 명령어를 출력하지 않습니다.\n"
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr ""
+" -S, --no-keep-going, --stop\n"
+" -k ì˜µì…˜ì„ ë•ë‹ˆë‹¤.\n"
-#: main.c:358
-#, fuzzy
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
-msgstr "Ÿ°ÙÀ» ´Ù½Ã ¸¸µéÁö ¾Ê°í touch¸¸ ÇÕ´Ï´Ù"
+msgstr ""
+" -t, --touch íƒ€ê²Ÿì„ ë‹¤ì‹œ 만들지 ì•Šê³  touch만 합니다.\n"
-#: main.c:360
-#, fuzzy
+#: main.c:373
+msgid " --trace Print tracing information.\n"
+msgstr " --trace ì¶”ì  ì •ë³´ë¥¼ 표시합니다.\n"
+
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
-msgstr "makeÀÇ ¹öÀü ¹øÈ£¸¦ Ãâ·ÂÇÏ°í ³¡³À´Ï´Ù"
+msgstr " -v, --version makeì˜ ë²„ì „ 번호를 출력하고 ë냅니다.\n"
-#: main.c:362
-#, fuzzy
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
-msgstr "ÇöÀç µð·ºÅ丮¸¦ Ãâ·ÂÇÕ´Ï´Ù"
+msgstr " -w, --print-directory 현재 디렉터리를 출력합니다.\n"
-#: main.c:364
-#, fuzzy
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
-msgstr "¹¬½ÃÀûÀ¸·Î ÄÑÁ® ÀÖ´õ¶óµµ -w¸¦ ²ü´Ï´Ù"
+msgstr " --no-print-directory 묵시ì ìœ¼ë¡œ 켜져 있ë”ë¼ë„ -w를 ë•ë‹ˆë‹¤.\n"
-#: main.c:366
+#: 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"
-#: main.c:369
-#, fuzzy
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
-msgstr "Á¤ÀǵÇÁö ¾ÊÀº º¯¼ö¸¦ ÂüÁ¶ÇÒ ¶§ °æ°í¸¦ ³À´Ï´Ù"
+msgstr ""
+" --warn-undefined-variables ì •ì˜ë˜ì§€ ì•Šì€ ë³€ìˆ˜ë¥¼ 참조할 ë•Œ 경고를 냅니다.\n"
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
-msgstr "ºó ¹®ÀÚ¿­Àº ÆÄÀÏ À̸§À¸·Î ºÎÀûÀýÇÕ´Ï´Ù"
+msgstr "빈 문ìžì—´ì€ íŒŒì¼ ì´ë¦„으로 부ì ì ˆí•©ë‹ˆë‹¤"
-#: main.c:650
+#: main.c:737
#, c-format
-msgid "unknown debug level specification `%s'"
-msgstr "µð¹ö±ë ´Ü°è ÁöÁ¤ `%s'ÀÌ(°¡) À߸øµÇ¾ú½À´Ï´Ù"
+msgid "unknown debug level specification '%s'"
+msgstr "디버깅 단계 지정 '%s'ì´(ê°€) 잘못ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: main.c:690
-#, fuzzy, c-format
+#: main.c:774
+#, c-format
+msgid "unknown output-sync type '%s'"
+msgstr "ì•Œ 수 없는 output-sync ë°©ì‹ '%s'"
+
+#: main.c:828
+#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
-msgstr "%s: ÀÎÅÍ·´Æ®/¿¹¿Ü°¡ ¹ß°ßµÇ¾ú½À´Ï´Ù (ÄÚ¤§ = 0x%x, ÁÖ¼Ò = 0x%x)\n"
+msgstr "%s: ì¸í„°ëŸ½íŠ¸/예외가 발견ë˜ì—ˆìŠµë‹ˆë‹¤(코드 = 0x%lx, 주소 = 0x%p)\n"
-#: main.c:697
-#, fuzzy, c-format
+#: main.c:835
+#, c-format
msgid ""
"\n"
"Unhandled exception filter called from program %s\n"
@@ -910,209 +1095,227 @@ msgid ""
"ExceptionAddress = 0x%p\n"
msgstr ""
"\n"
-"ÇÁ·Î±×·¥ %s¿¡¼­ 󸮵ÇÁö ¾ÊÀº ¿¹¿Ü°¡ ¹ß»ýÇß½À´Ï´Ù\n"
-"¿¹¿ÜÄÚµå = %x\n"
-"¿¹¿ÜÇ÷¡±× = %x\n"
-"¿¹¿ÜÁÖ¼Ò = %x\n"
+"프로그램 %sì—ì„œ 처리ë˜ì§€ ì•Šì€ ì˜ˆì™¸ê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤\n"
+"예외코드 = %lx\n"
+"예외플래그 = %lx\n"
+"예외주소 = 0x%p\n"
-#: main.c:705
-#, fuzzy, c-format
+#: main.c:843
+#, c-format
msgid "Access violation: write operation at address 0x%p\n"
-msgstr "Á¢±Ù±ÇÇÑ À§¹Ý: ÁÖ¼Ò %x¿¡ ¾²±â\n"
+msgstr "ì ‘ê·¼ 권한 위반: 주소 0x%pì— ì“°ê¸°\n"
-#: main.c:706
-#, fuzzy, c-format
+#: main.c:844
+#, c-format
msgid "Access violation: read operation at address 0x%p\n"
-msgstr "Á¢±Ù±ÇÇÑ À§¹Ý: ÁÖ¼Ò %x¿¡¼­ Àбâ\n"
+msgstr "ì ‘ê·¼ 권한 위반: 주소 0x%pì—ì„œ ì½ê¸°\n"
-#: main.c:781 main.c:792
-#, fuzzy, c-format
+#: 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"
+msgstr "find_and_set_shell() 설정 default_shell = %s\n"
-#: main.c:834
-#, fuzzy, c-format
+#: 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"
+msgstr "find_and_set_shell() 경로 íƒìƒ‰ 설정 default_shell = %s\n"
-#: main.c:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
-msgstr "%sÀÌ(°¡) 30Ãʵ¿¾È ÀϽà ÁßÁöµË´Ï´Ù..."
+msgstr "%sì´(ê°€) 30ì´ˆë™ì•ˆ ì¼ì‹œ 중지ë©ë‹ˆë‹¤..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
-msgstr "¿Ï·á sleep(30). °è¼Ó.\n"
-
-#: main.c:1501
-msgid "Makefile from standard input specified twice."
-msgstr "Ç¥ÁØÀԷ¿¡¼­ ¹Þ¾ÆµéÀÌ´Â ¸ÞÀÌÅ©ÆÄÀÏÀÌ µÎ ¹ø ÀÌ»ó ÁöÁ¤µÇ¾ú½À´Ï´Ù."
-
-#: main.c:1539 vmsjobs.c:500
-msgid "fopen (temporary file)"
-msgstr "fopen (Àӽà ÆÄÀÏ)"
-
-#: main.c:1545
-msgid "fwrite (temporary file)"
-msgstr "fwrite (Àӽà ÆÄÀÏ)"
-
-#: main.c:1703
-msgid "Parallel jobs (-j) are not supported on this platform."
-msgstr "ÀÌ Ç÷§Æû¿¡¼­´Â º´·Ä ÀÛ¾÷(-j)ÀÌ Áö¿øµÇÁö ¾Ê½À´Ï´Ù."
+msgstr "완료 sleep(30). 계ì†.\n"
-#: main.c:1704
-msgid "Resetting to single job (-j1) mode."
-msgstr "´ÜÀÏ ÀÛ¾÷ (-j1) ¸ðµå·Î µ¹¾Æ°©´Ï´Ù."
+#: main.c:1527
+#, c-format
+msgid ""
+"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
+msgstr "내부 오류: ìž‘ì—… 서버 세마í¬ì–´('%s')를 ì—´ 수 없습니다: (오류 %ld: %s)"
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "³»ºÎ ¿À·ù: ¿©·¯ °³ÀÇ -jobserver-fds ¿É¼Ç"
+#: main.c:1530
+#, c-format
+msgid "Jobserver client (semaphore %s)\n"
+msgstr "ìž‘ì—… 서버 í´ë¼ì´ì–¸íŠ¸(세마í¬ì–´ %s)\n"
-#: main.c:1727
+#: main.c:1534
#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
-msgstr "³»ºÎ ¿À·ù: À߸øµÈ -jobserver-fds ¹®ÀÚ¿­ `%s'"
+msgid "internal error: invalid --jobserver-fds string '%s'"
+msgstr "내부 오류: ìž˜ëª»ëœ --jobserver-fds 문ìžì—´ '%s'"
-#: main.c:1730
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
-msgstr ""
+msgstr "ìž‘ì—… 서버 í´ë¼ì´ì–¸íŠ¸(íŒŒì¼ ë””ìŠ¤í¬ë¦½í„° %d,%d)\n"
-#: main.c:1740
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
-msgstr "°æ°í: ÆÄ»ýµÈ ¸ÞÀÌÅ©¿¡¼­ -jNÀÌ °­Á¦µÇ¾ú½À´Ï´Ù: ÀÛ¾÷¼­¹ö ¸ðµå¸¦ ²ü´Ï´Ù."
+msgstr "경고: 파ìƒëœ ë©”ì´í¬ì—ì„œ -jNì´ ê°•ì œë˜ì—ˆìŠµë‹ˆë‹¤: 작업서버 모드를 ë•ë‹ˆë‹¤."
-# ??? µð¹ö±ë ¸Þ¼¼Áö
-#: main.c:1750
+# ??? 디버깅 메세지
+#: main.c:1567
msgid "dup jobserver"
-msgstr "dup ÀÛ¾÷¼­¹ö"
+msgstr "dup 작업서버"
-#: main.c:1753
+#: main.c:1570
msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
+"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
-"°æ°í: ÀÛ¾÷¼­¹ö¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù: -j1À» »ç¿ëÇÕ´Ï´Ù. ºÎ¸ð ¸ÞÀÌÅ© ±ÔÄ¢¿¡ `"
-"+'¸¦ Ãß°¡ÇÕ´Ï´Ù."
+"경고: 작업서버를 사용할 수 없습니다: -j1ì„ ì‚¬ìš©í•©ë‹ˆë‹¤. ìƒìœ„ ë©”ì´í¬ ê·œì¹™ì— "
+"'+'를 추가합니다."
+
+#: main.c:1742
+msgid "Makefile from standard input specified twice."
+msgstr "표준입력ì—ì„œ 받아들ì´ëŠ” ë©”ì´í¬íŒŒì¼ì´ ë‘ ë²ˆ ì´ìƒ 지정ë˜ì—ˆìŠµë‹ˆë‹¤."
+
+#: main.c:1780 vmsjobs.c:653
+msgid "fopen (temporary file)"
+msgstr "fopen(ìž„ì‹œ 파ì¼)"
+
+#: main.c:1786
+msgid "fwrite (temporary file)"
+msgstr "fwrite(ìž„ì‹œ 파ì¼)"
+
+#: main.c:1974
+msgid "Parallel jobs (-j) are not supported on this platform."
+msgstr "병렬 ìž‘ì—…(-j)ì€ ì´ í”Œëž«í¼ì—ì„œ 지ì›í•˜ì§€ 않습니다."
-#: main.c:1777
+#: main.c:1975
+msgid "Resetting to single job (-j1) mode."
+msgstr "ë‹¨ì¼ ìž‘ì—… (-j1) 모드로 ëŒì•„갑니다."
+
+#: 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 "ÀÛ¾÷ ÆÄÀÌÇÁ »ý¼º"
+msgstr "ìž‘ì—… 파ì´í”„ ìƒì„±"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
-msgstr "ÀÛ¾÷¼­¹ö ÆÄÀÌÇÁ ÃʱâÈ­"
+msgstr "작업서버 파ì´í”„ 초기화"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
-msgstr ""
+msgstr "심볼릭 ë§í¬ë¥¼ 지ì›í•˜ì§€ 않습니다: -L ì˜µì…˜ì„ ë•ë‹ˆë‹¤."
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
-msgstr "¸ÞÀÌÅ©ÆÄÀÏÀ» ¾÷µ¥ÀÌÆ®ÇÏ°í ÀÖ½À´Ï´Ù....\n"
+msgstr "ë©”ì´í¬íŒŒì¼ì„ ì—…ë°ì´íŠ¸í•˜ê³  있습니다....\n"
-#: main.c:1917
+#: main.c:2158
#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
-msgstr "¸ÞÀÌÅ©ÆÄÀÏ `%s'Àº(´Â) ¹Ýº¹ÇÒ ¼ö ÀÖ½À´Ï´Ù; ´Ù½Ã ¸¸µéÁö ¾Ê½À´Ï´Ù.\n"
+msgid "Makefile '%s' might loop; not remaking it.\n"
+msgstr "ë©”ì´í¬íŒŒì¼ '%s'ì€(는) 반복할 수 있으므로, 다시 만들지 않습니다.\n"
-#: main.c:1996
+#: main.c:2237
#, c-format
-msgid "Failed to remake makefile `%s'."
-msgstr "¸ÞÀÌÅ©ÆÄÀÏ `%s'À» ´Ù½Ã ¸¸µå´Âµ¥ ½ÇÆÐÇÔ."
+msgid "Failed to remake makefile '%s'."
+msgstr "'%s' ë©”ì´í¬íŒŒì¼ì„ 다시 ë§Œë“œëŠ”ë° ì‹¤íŒ¨."
-#: main.c:2013
+#: main.c:2257
#, c-format
-msgid "Included makefile `%s' was not found."
-msgstr "Æ÷ÇÔµÈ ¸ÞÀÌÅ©ÆÄÀÏ `%s'¸¦ ãÁö ¸øÇß½À´Ï´Ù."
+msgid "Included makefile '%s' was not found."
+msgstr "í¬í•¨ëœ ë©”ì´í¬íŒŒì¼ '%s'ì„(를) 찾지 못했습니다."
-#: main.c:2018
+#: main.c:2262
#, c-format
-msgid "Makefile `%s' was not found"
-msgstr "¸ÞÀÌÅ©ÆÄÀÏ `%s'À» ãÁö ¸øÇß½À´Ï´Ù"
+msgid "Makefile '%s' was not found"
+msgstr "ë©”ì´í¬íŒŒì¼ '%s'ì„(를) 찾지 못했습니다"
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
-msgstr "¿ø·¡ µð·ºÅ丮·Î µ¹¾Æ°¥ ¼ö ¾ø½À´Ï´Ù."
+msgstr "ì›ëž˜ 디렉터리로 ëŒì•„ê°ˆ 수 없습니다."
-#: main.c:2102
-#, fuzzy, c-format
+#: main.c:2343
+#, c-format
msgid "Re-executing[%u]:"
-msgstr "Àç½ÇÇà:"
+msgstr "재실행[%u]:"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
-msgstr "unlink (Àӽà ÆÄÀÏ): "
+msgstr "unlink (ìž„ì‹œ 파ì¼): "
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
-msgstr ""
+msgstr ".DEFAULT_GOAL ì•ˆì— íƒ€ê²Ÿì´ ì—¬ëŸ¬ ê°œ 들어 있습니다"
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
-msgstr "Ÿ°ÙÀÌ ÁöÁ¤µÇÁö ¾Ê¾Ò°í ¸ÞÀÌÅ©ÆÄÀÏÀÌ ¾ø½À´Ï´Ù"
+msgstr "íƒ€ê²Ÿì´ ì§€ì •ë˜ì§€ 않았고 ë©”ì´í¬íŒŒì¼ì´ 없습니다"
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
-msgstr "Ÿ°Ù ¾øÀ½"
+msgstr "타겟 ì—†ìŒ"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
-msgstr "ÃÖÁ¾ Ÿ°ÙÀ» °»½ÅÇÕ´Ï´Ù....\n"
+msgstr "최종 íƒ€ê²Ÿì„ ê°±ì‹ í•©ë‹ˆë‹¤....\n"
-#: main.c:2306
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
-"°æ°í: ½Ã°è°¡ À߸øµÇ¾úÀ½ÀÌ ¹ß°ßµÇ¾ú½À´Ï´Ù. ºôµå°¡ ºÒ¿ÏÀüÇÒ ¼ö ÀÖ½À´Ï´Ù."
+"경고: 시계가 잘못ë˜ì—ˆìŒì´ 발견ë˜ì—ˆìŠµë‹ˆë‹¤. 빌드가 불완전할 수 있습니다."
-#: main.c:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
-msgstr "»ç¿ë¹ý: %s [¿É¼Ç] [Ÿ°Ù] ...\n"
+msgstr "사용법: %s [옵션] [타겟] ...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
"This program built for %s\n"
msgstr ""
+"\n"
+"ì´ í”„ë¡œê·¸ëž¨ì€ %sì—ì„œ 사용하ë„ë¡ ë¹Œë“œë˜ì—ˆìŠµë‹ˆë‹¤\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
"This program built for %s (%s)\n"
msgstr ""
+"\n"
+"ì´ í”„ë¡œê·¸ëž¨ì€ %s(%s)ì—ì„œ 사용하ë„ë¡ ë¹Œë“œë˜ì—ˆìŠµë‹ˆë‹¤\n"
-#: main.c:2481
-#, fuzzy, c-format
+#: main.c:2721
+#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
-msgstr ""
-"\n"
-"¹®Á¦Á¡À» <bug-make@gnu.org>·Î ¾Ë·Á ÁֽʽÿÀ.\n"
+msgstr "문제ì ì„ <bug-make@gnu.org>ë¡œ 알려 주십시오.\n"
-#: main.c:2562
-#, fuzzy, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
-msgstr "`-%c' ¿É¼ÇÀº ¾çÀÇ ÀûºÐ Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù"
+#: main.c:2807
+#, c-format
+msgid "the '%s%s' option requires a non-empty string argument"
+msgstr "'%s%s' ì˜µì…˜ì€ ë¹„ì–´ 있지 ì•Šì€ ë¬¸ìžì—´ ì¸ìˆ˜ê°€ 필요합니다"
-#: main.c:2617
+#: main.c:2871
#, c-format
-msgid "the `-%c' option requires a positive integral argument"
-msgstr "`-%c' ¿É¼ÇÀº ¾çÀÇ ÀûºÐ Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù"
+msgid "the '-%c' option requires a positive integer argument"
+msgstr "'-%c' ì˜µì…˜ì€ 0보다 í° ì •ìˆ˜ ì¸ìˆ˜ê°€ 필요합니다"
-#: main.c:3054
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
-msgstr ""
+msgstr "%s%s 빌드\n"
-#: main.c:3056
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
-msgstr ""
+msgstr "%s%s(%s) 빌드\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1120,1015 +1323,939 @@ msgid ""
"%sThis is free software: you are free to change and redistribute it.\n"
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
+"%së¼ì´ì„ ìŠ¤ GPLv3+: GNU GPL 버전 3 ë˜ëŠ” ì´í›„ <http://gnu.org/licenses/gpl."
+"html>\n"
+"%sThis is free software: you are free to change and redistribute it.\n"
+"%sThere is NO WARRANTY, to the extent permitted by law.\n"
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
"# Make data base, printed on %s"
msgstr ""
"\n"
-"# ¸ÞÀÌÅ© µ¥ÀÌŸº£À̽º, %s¿¡ Ç¥½Ã"
+"# ë©”ì´í¬ ë°ì´í„°ë² ì´ìŠ¤, %sì— í‘œì‹œ"
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
"# Finished Make data base on %s\n"
msgstr ""
"\n"
-"# ¸ÞÀÌÅ© µ¥ÀÌŸ º£À̽º ¸¶Ä§, %s¿¡¼­\n"
+"# ë©”ì´í¬ ë°ì´í„°ë² ì´ìŠ¤ 마침, %sì—ì„œ\n"
-#: main.c:3237
-#, fuzzy, c-format
-msgid "%s: Entering an unknown directory\n"
-msgstr "¾Ë ¼ö ¾ø´Â µð·ºÅ丮"
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "알 수 없는 오류 %d"
-#: main.c:3239
-#, fuzzy, c-format
-msgid "%s: Leaving an unknown directory\n"
-msgstr "¾Ë ¼ö ¾ø´Â µð·ºÅ丮"
+#: misc.c:522
+#, c-format
+msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+msgstr "%s: ì‚¬ìš©ìž %lu (실제 %lu), 그룹 %lu (실제 %lu)\n"
-#: main.c:3242
-#, fuzzy, c-format
-msgid "%s: Entering directory `%s'\n"
-msgstr "`%s' µð·ºÅ丮\n"
+#: misc.c:543
+msgid "Initialized access"
+msgstr "접근 권한 초기화"
-#: main.c:3245
-#, fuzzy, c-format
-msgid "%s: Leaving directory `%s'\n"
-msgstr "`%s' µð·ºÅ丮\n"
+#: misc.c:622
+msgid "User access"
+msgstr "ì‚¬ìš©ìž ì ‘ê·¼"
-#: main.c:3250
-#, fuzzy, c-format
-msgid "%s[%u]: Entering an unknown directory\n"
-msgstr "¾Ë ¼ö ¾ø´Â µð·ºÅ丮"
+#: misc.c:670
+msgid "Make access"
+msgstr "ë©”ì´í¬ ì ‘ê·¼"
-#: main.c:3253
-#, fuzzy, c-format
-msgid "%s[%u]: Leaving an unknown directory\n"
-msgstr "¾Ë ¼ö ¾ø´Â µð·ºÅ丮"
+#: misc.c:704
+msgid "Child access"
+msgstr "하위 접근"
-#: main.c:3257
-#, fuzzy, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
-msgstr "`%s' µð·ºÅ丮\n"
+#: output.c:104
+#, c-format
+msgid "%s: Entering an unknown directory\n"
+msgstr "%s: ì•Œ 수 없는 디렉터리 들어ê°\n"
-#: main.c:3260
-#, fuzzy, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
-msgstr "`%s' µð·ºÅ丮\n"
+#: output.c:106
+#, c-format
+msgid "%s: Leaving an unknown directory\n"
+msgstr "%s: ì•Œ 수 없는 디렉터리 나ê°\n"
-#: misc.c:316
-msgid ". Stop.\n"
-msgstr ". ¸ØÃã.\n"
+#: output.c:109
+#, c-format
+msgid "%s: Entering directory '%s'\n"
+msgstr "%s: 디렉터리 '%s' 들어ê°\n"
-#: misc.c:337
+#: output.c:111
#, c-format
-msgid "Unknown error %d"
-msgstr "¾Ë ¼ö ¾ø´Â ¿À·ù %d"
+msgid "%s: Leaving directory '%s'\n"
+msgstr "%s: 디렉터리 '%s' 나ê°\n"
-#: misc.c:347
+#: output.c:115
#, c-format
-msgid "%s%s: %s"
-msgstr ""
+msgid "%s[%u]: Entering an unknown directory\n"
+msgstr "%s[%u]: ì•Œ 수 없는 디렉터리 들어ê°\n"
-#: misc.c:355
+#: output.c:117
#, c-format
-msgid "%s: %s"
-msgstr ""
+msgid "%s[%u]: Leaving an unknown directory\n"
+msgstr "%s[%u]: ì•Œ 수 없는 디렉터리 나ê°\n"
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "°¡»ó ¸Þ¸ð¸®°¡ °í°¥µÊ"
+#: output.c:120
+#, c-format
+msgid "%s[%u]: Entering directory '%s'\n"
+msgstr "%s[%u]: 디렉터리 '%s' 들어ê°\n"
-#: misc.c:708
-#, fuzzy, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s Á¢±Ù: »ç¿ëÀÚ %lu (½ÇÁ¦ %lu), ±×·ì %lu (½ÇÁ¦ %lu)\n"
+#: output.c:122
+#, c-format
+msgid "%s[%u]: Leaving directory '%s'\n"
+msgstr "%s[%u]: 디렉터리 '%s' 나ê°\n"
-#: misc.c:729
+#: output.c:495 output.c:497
#, fuzzy
-msgid "Initialized access"
-msgstr "ÃʱâÈ­µÊ"
-
-#: misc.c:808
-msgid "User access"
-msgstr ""
+msgid "write error: stdout"
+msgstr "쓰기 오류: %s"
-#: misc.c:856
-msgid "Make access"
-msgstr ""
-
-#: misc.c:890
-msgid "Child access"
-msgstr ""
+#: output.c:677
+msgid ". Stop.\n"
+msgstr ". 멈춤.\n"
-#: misc.c:954
-#, fuzzy, c-format
-msgid "write error: %s"
-msgstr "¿À·ù¸¦ %sÀ¸·Î(·Î) ¸®´ÙÀÌ·ºÆ®ÇÕ´Ï´Ù\n"
+#: output.c:711
+#, c-format
+msgid "%s%s: %s"
+msgstr "%s%s: %s"
-# ??? µð¹ö±ë ¸Þ¼¼Áö
-#: misc.c:956
-#, fuzzy
-msgid "write error"
-msgstr "ÀÛ¾÷¼­¹ö ¾²±â"
+#: output.c:720
+#, c-format
+msgid "%s: %s"
+msgstr "%s: %s"
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
-msgstr "¸ÞÀÌÅ©ÆÄÀÏÀ» Àаí ÀÖ½À´Ï´Ù\n"
+msgstr "ë©”ì´í¬íŒŒì¼ì„ ì½ê³  있습니다...\n"
-#: read.c:333
+#: read.c:335
#, c-format
-msgid "Reading makefile `%s'"
-msgstr "¸ÞÀÌÅ©ÆÄÀÏ `%s'¸¦ Àаí ÀÖ½À´Ï´Ù"
+msgid "Reading makefile '%s'"
+msgstr "'%s' ë©”ì´í¬íŒŒì¼ì„ ì½ê³  있습니다"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
-msgstr " (ÃÖÁ¾ Ÿ°ÙÀÌ ¾øÀ½)"
+msgstr " (최종 íƒ€ê²Ÿì´ ì—†ìŒ)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
-msgstr " (Ž»ö °æ·Î)"
+msgstr " (íƒìƒ‰ 경로)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
-msgstr " (»ó°ü ¾ÈÇÔ)"
+msgstr " (ìƒê´€ 안함)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
-msgstr " (~ È®Àå ¾øÀ½)"
+msgstr " (~ 확장 ì—†ìŒ)"
+
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr "ë©”ì´í¬íŒŒì¼ '%s'ì—ì„œ UTF-8 BOM 무시\n"
-#: read.c:759
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr "ë©”ì´í¬íŒŒì¼ 버í¼ì—ì„œ UTF-8 BOM 무시\n"
+
+#: read.c:789
msgid "invalid syntax in conditional"
-msgstr "Á¶°Ç¹®¿¡ ºÎÀûÀýÇÑ ¹®¹ýÀÌ ¾²ÀÓ"
+msgstr "ì¡°ê±´ë¬¸ì— ë¶€ì ì ˆí•œ ë¬¸ë²•ì´ ì“°ìž„"
-#: read.c:891
-#, fuzzy
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr "%s: ì½ì–´ë“¤ì´ëŠ”ë° ì‹¤íŒ¨"
+
+#: read.c:992
msgid "recipe commences before first target"
-msgstr "ù¹ø° Ÿ°Ùº¸´Ù ¾Õ¿¡¼­ ¸í·É¾î°¡ ½ÃÀ۵Ǿú½À´Ï´Ù"
+msgstr "첫번째 타겟보다 ì•žì—ì„œ 명령어가 시작ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: read.c:940
-#, fuzzy
+#: read.c:1041
msgid "missing rule before recipe"
-msgstr "¸í·É ¾Õ¿¡ ±ÔÄ¢ÀÌ ºüÁ³À½"
+msgstr "명령 ì•žì— ê·œì¹™ì´ ë¹ ì¡ŒìŒ"
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "ºÐ¸®±âÈ£ %sÀÌ(°¡) ºüÁ³À½"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
+msgstr " (8ê°œì˜ ê³µë°± ë§ê³  íƒ­ì„ ì“°ë ¤ê³  í•œ 것 아니었습니까?)"
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
-msgstr " (8°³ÀÇ °ø¹é ¸»°í ÅÇÀ» ¾²·Á°í ÇÑ °Í ¾Æ´Ï¾ú½À´Ï±î?)"
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "분리기호 %sì´(ê°€) ë¹ ì¡ŒìŒ"
-#: read.c:1163
+#: read.c:1270
msgid "missing target pattern"
-msgstr "Ÿ°Ù ÆÐÅÏÀÌ ºüÁ³À½"
+msgstr "타겟 íŒ¨í„´ì´ ë¹ ì¡ŒìŒ"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
-msgstr "´ÙÁß Å¸°Ù ÆÐÅÏ"
+msgstr "다중 타겟 패턴"
-#: read.c:1169
+#: read.c:1276
#, c-format
-msgid "target pattern contains no `%%'"
-msgstr "Ÿ°Ù ÆÐÅÏ¿¡ `%%'°¡ ¾ø½À´Ï´Ù."
+msgid "target pattern contains no '%%'"
+msgstr "타겟 íŒ¨í„´ì— '%%'ê°€ 없습니다."
-#: read.c:1293
-msgid "missing `endif'"
-msgstr "`endif'°¡ ºüÁ³À½"
+#: read.c:1398
+msgid "missing 'endif'"
+msgstr "'endif'ê°€ ë¹ ì¡ŒìŒ"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
-msgstr "ºó º¯¼ö À̸§"
+msgstr "빈 변수 ì´ë¦„"
-#: read.c:1367
-#, fuzzy
-msgid "extraneous text after `define' directive"
-msgstr "`endef' Áö½ÃÀÚ µÚ¿¡ ¿©ºÐÀÇ ±ÛÀÌ ÀÖÀ½"
+#: read.c:1471
+msgid "extraneous text after 'define' directive"
+msgstr "'define' ì§€ì‹œìž ë’¤ì— í•„ìš” 없는 í…스트 있ìŒ"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
-msgstr "`endef'°¡ ºüÁ³À½. Á¾·áµÇÁö ¾ÊÀº `define'"
+#: read.c:1496
+msgid "missing 'endef', unterminated 'define'"
+msgstr "'endef'ê°€ ë¹ ì¡ŒìŒ. 'define'ì„ ë§ˆì¹˜ì§€ 않았습니다"
-#: read.c:1420
-#, fuzzy
-msgid "extraneous text after `endef' directive"
-msgstr "`endef' Áö½ÃÀÚ µÚ¿¡ ¿©ºÐÀÇ ±ÛÀÌ ÀÖÀ½"
+#: read.c:1524
+msgid "extraneous text after 'endef' directive"
+msgstr "'endef' ì§€ì‹œìž ë’¤ì— í•„ìš” 없는 í…스트가 있ìŒ"
-#: read.c:1490
+#: read.c:1595
#, c-format
-msgid "Extraneous text after `%s' directive"
-msgstr "`%s' Áö½ÃÀÚ µÚ¿¡ ¿©ºÐÀÇ ¹®ÀåÀÌ ÀÖÀ½"
+msgid "extraneous text after '%s' directive"
+msgstr "'%s' ì§€ì‹œìž ë’¤ì— í•„ìš” 없는 í…스트가 있ìŒ"
-#: read.c:1499 read.c:1513
+#: read.c:1596
#, c-format
-msgid "extraneous `%s'"
-msgstr "¿©ºÐÀÇ `%s'"
+msgid "extraneous '%s'"
+msgstr "필요 없는 '%s'"
-#: read.c:1518
-msgid "only one `else' per conditional"
-msgstr "ÇÑ °³ÀÇ Á¶°Ç¿¡´Â ÇÑ °³ÀÇ `else'¸¸ ÀÖ¾î¾ß ÇÕ´Ï´Ù"
+#: read.c:1624
+msgid "only one 'else' per conditional"
+msgstr "í•œ ê°œì˜ ì¡°ê±´ì—는 í•œ ê°œì˜ 'else'만 있어야 합니다"
-#: read.c:1797
-#, fuzzy
+#: read.c:1899
msgid "Malformed target-specific variable definition"
-msgstr "Ÿ°Ùº° º¯¼ö Á¤ÀÇ Çü½ÄÀÌ Æ²·È½À´Ï´Ù"
+msgstr "타겟별 변수 ì •ì˜ í˜•ì‹ì´ 틀렸습니다"
-#: read.c:1855
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
-msgstr ""
+msgstr "명령어ì—ì„œ ì„ í–‰ì¡°ê±´ì„ ì •ì˜í•  수 없습니다"
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
-msgstr "¹¬½ÃÀû ÆÐÅÏ ·ê°ú °íÁ¤µÈ ÆÐÅÏ·êÀÌ ¼¯¿´½À´Ï´Ù"
+msgstr "ë¬µì‹œì  íŒ¨í„´ 룰과 ê³ ì •ëœ íŒ¨í„´ë£°ì´ ì„žì˜€ìŠµë‹ˆë‹¤"
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
-msgstr "È¥ÇÕµÈ ¹¬½ÃÀû ±ÔÄ¢°ú ÀϹÝÀû ±ÔÄ¢"
+msgstr "í˜¼í•©ëœ ë¬µì‹œì  ê·œì¹™ê³¼ ì¼ë°˜ì  규칙"
-#: read.c:1976
+#: read.c:2091
#, c-format
-msgid "target `%s' doesn't match the target pattern"
-msgstr "Ÿ°Ù `%s'Àº(´Â) Ÿ°Ù ÆÐÅÏ¿¡ ¸ÂÁö ¾Ê½À´Ï´Ù"
+msgid "target '%s' doesn't match the target pattern"
+msgstr "타겟 '%s'ì€(는) 타겟 íŒ¨í„´ì— ë§žì§€ 않습니다"
-#: read.c:1991 read.c:2036
+#: read.c:2106 read.c:2152
#, c-format
-msgid "target file `%s' has both : and :: entries"
-msgstr "Ÿ°Ù ÆÄÀÏ `%s'Àº(´Â) :¿Í :: Ç׸ñÀ» µ¿½Ã¿¡ °®°í ÀÖ½À´Ï´Ù"
+msgid "target file '%s' has both : and :: entries"
+msgstr "타겟 íŒŒì¼ '%s'ì€(는) :와 :: í•­ëª©ì„ ë™ì‹œì— ê°–ê³  있습니다"
-#: read.c:1997
+#: read.c:2112
#, c-format
-msgid "target `%s' given more than once in the same rule."
-msgstr "Ÿ°Ù `%s'ÀÌ(°¡) °°Àº ±ÔÄ¢¿¡¼­ ¿©·¯ ¹ø ÁÖ¾îÁ³½À´Ï´Ù"
+msgid "target '%s' given more than once in the same rule"
+msgstr "타겟 '%s'ì´(ê°€) ê°™ì€ ê·œì¹™ì—ì„œ 여러 번 주어졌습니다"
-#: read.c:2006
-#, fuzzy, c-format
-msgid "warning: overriding recipe for target `%s'"
-msgstr "°æ°í: Ÿ°Ù `%s'¿¡ ´ëÇÑ ¸í·É¾îº¸´Ù ´Ù¸¥ °ÍÀÌ ¿ì¼±ÇÕ´Ï´Ù"
+#: read.c:2122
+#, c-format
+msgid "warning: overriding recipe for target '%s'"
+msgstr "경고: 타겟 '%s'ì— ëŒ€í•œ 명령보다 우선합니다"
-#: read.c:2009
-#, fuzzy, c-format
-msgid "warning: ignoring old recipe for target `%s'"
-msgstr "°æ°í: Ÿ°Ù `%s'¿¡ ´ëÇÑ °ú°Å ¸í·É¾îµéÀ» ¹«½ÃÇÕ´Ï´Ù"
+#: read.c:2125
+#, c-format
+msgid "warning: ignoring old recipe for target '%s'"
+msgstr "경고: 타겟 '%s'ì— ëŒ€í•œ 과거 ëª…ë ¹ì„ ë¬´ì‹œí•©ë‹ˆë‹¤"
-#: read.c:2392
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "í˜¼í•©ëœ ë¬µì‹œì  ê·œì¹™ê³¼ ì¼ë°˜ì  규칙"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
-msgstr "°æ°í: NUL ¹®ÀÚ°¡ ¹ß°ßµÇ¾ú½À´Ï´Ù; ÁÙÀÇ ³ª¸ÓÁö´Â ¹«½ÃµË´Ï´Ù"
+msgstr "경고: NUL 문ìžê°€ 발견ë˜ì—ˆìŠµë‹ˆë‹¤; ì¤„ì˜ ë‚˜ë¨¸ì§€ëŠ” 무시ë©ë‹ˆë‹¤"
-#: remake.c:234
+#: remake.c:230
#, c-format
-msgid "Nothing to be done for `%s'."
-msgstr "`%s'¸¦ À§ÇØ ÇÒ ÀÏÀÌ ¾ø½À´Ï´Ù"
+msgid "Nothing to be done for '%s'."
+msgstr "'%s'ì„(를) 위해 í•  ì¼ì´ 없습니다."
-#: remake.c:235
+#: remake.c:231
#, c-format
-msgid "`%s' is up to date."
-msgstr "`%s'´Â ÀÌ¹Ì °»½ÅµÇ¾ú½À´Ï´Ù."
+msgid "'%s' is up to date."
+msgstr "'%s'ì€(는) ì´ë¯¸ ì—…ë°ì´íŠ¸ë˜ì—ˆìŠµë‹ˆë‹¤."
-# pruneÀÌ truncateÀÇ ÀǹÌÀΰ¡ Áö¿î´Ù´Â ÀǹÌÀΰ¡??
-#: remake.c:306
+# pruneì´ truncateì˜ ì˜ë¯¸ì¸ê°€ 지운다는 ì˜ë¯¸ì¸ê°€??
+#: remake.c:303
#, c-format
-msgid "Pruning file `%s'.\n"
-msgstr "`%s' ÆÄÀÏÀ» À߶󳻰í ÀÖ½À´Ï´Ù.\n"
+msgid "Pruning file '%s'.\n"
+msgstr "'%s' 파ì¼ì„ 잘ë¼ëƒ…니다.\n"
-#: remake.c:359
+#: remake.c:390 remake.c:393
#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%sŸ°Ù `%s'¸¦ ¸¸µé ±ÔÄ¢ÀÌ ¾øÀ½%s"
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
+msgstr "%1$s'%3$s'ì—ì„œ 필요한 '%2$s' íƒ€ê²Ÿì„ ë§Œë“¤ ê·œì¹™ì´ ì—†ìŠµë‹ˆë‹¤%4$s"
-#: remake.c:361
+#: remake.c:402 remake.c:405
#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
-msgstr "%1$s`%3$s'¿¡¼­ ÇÊ¿ä·Î Çϴ Ÿ°Ù `%2$s'¸¦ ¸¸µé ±ÔÄ¢ÀÌ ¾ø½À´Ï´Ù%4$s"
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%s타겟 '%s'ì„(를) 만들 ê·œì¹™ì´ ì—†ìŠµë‹ˆë‹¤%s"
-#: remake.c:413
+#: remake.c:426
#, c-format
-msgid "Considering target file `%s'.\n"
-msgstr "Ÿ°Ù ÆÄÀÏ `%s'À»(¸¦) °í·ÁÇÕ´Ï´Ù.\n"
+msgid "Considering target file '%s'.\n"
+msgstr "'%s' 타겟 파ì¼ì„ 고려합니다.\n"
-#: remake.c:420
+#: remake.c:433
#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
-msgstr "ÃÖ±Ù¿¡ `%s' ÆÄÀÏÀ» °»½ÅÇÏ·Á°í ½ÃµµÇÏ¿´°í ½ÇÆÐÇÏ¿´½À´Ï´Ù.\n"
+msgid "Recently tried and failed to update file '%s'.\n"
+msgstr "ìµœê·¼ì— '%s' íŒŒì¼ ì—…ë°ì´íŠ¸ë¥¼ ì‹œë„í•´ 실패했습니다.\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
-msgid "File `%s' was considered already.\n"
-msgstr "ÆÄÀÏ `%s'´Â ÀÌ¹Ì °ËÅäµÇ¾ú½À´Ï´Ù.\n"
+msgid "File '%s' was considered already.\n"
+msgstr "'%s' 파ì¼ì€ ì´ë¯¸ 검토했습니다.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
-msgid "Still updating file `%s'.\n"
-msgstr "¾ÆÁ÷ `%s' ÆÄÀÏÀ» °»½ÅÇÏ°í ÀÖ½À´Ï´Ù.\n"
+msgid "Still updating file '%s'.\n"
+msgstr "ì•„ì§ '%s' 파ì¼ì„ ì—…ë°ì´íŠ¸í•˜ê³  있습니다.\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
-msgid "Finished updating file `%s'.\n"
-msgstr "`%s' ÆÄÀÏÀÇ °»½ÅÀ» ¸¶ÃƽÀ´Ï´Ù.\n"
+msgid "Finished updating file '%s'.\n"
+msgstr "'%s' 파ì¼ì˜ ì—…ë°ì´íŠ¸ë¥¼ 마쳤습니다.\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
-msgid "File `%s' does not exist.\n"
-msgstr "`%s' ÆÄÀÏÀº Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.\n"
+msgid "File '%s' does not exist.\n"
+msgstr "'%s' 파ì¼ì´ 없습니다.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
+"*** Warning: .LOW_RESOLUTION_TIME íŒŒì¼ '%s'ì— ê³ í•´ìƒë„ 타임 스탬프가 들어 있"
+"습니다"
-#: remake.c:494 remake.c:1016
+#: remake.c:508 remake.c:1040
#, c-format
-msgid "Found an implicit rule for `%s'.\n"
-msgstr "`%s'¿¡ ´ëÇÑ ¹¬½ÃÀû ±ÔÄ¢À» ã¾Ò½À´Ï´Ù.\n"
+msgid "Found an implicit rule for '%s'.\n"
+msgstr "'%s'ì— ëŒ€í•œ ë¬µì‹œì  ê·œì¹™ì„ ì°¾ì•˜ìŠµë‹ˆë‹¤.\n"
-#: remake.c:496 remake.c:1018
+#: remake.c:510 remake.c:1042
#, c-format
-msgid "No implicit rule found for `%s'.\n"
-msgstr "`%s'¿¡ ´ëÇÑ ¹¬½ÃÀû ±ÔÄ¢À» ãÁö ¸øÇß½À´Ï´Ù.\n"
+msgid "No implicit rule found for '%s'.\n"
+msgstr "'%s'ì— ëŒ€í•œ ë¬µì‹œì  ê·œì¹™ì´ ì—†ìŠµë‹ˆë‹¤.\n"
-#: remake.c:502
-#, fuzzy, c-format
-msgid "Using default recipe for `%s'.\n"
-msgstr "`%s'¿¡ ´ëÇØ ³»Á¤µÈ ¸í·ÉÀ» »ç¿ëÇÔ.\n"
+#: remake.c:516
+#, c-format
+msgid "Using default recipe for '%s'.\n"
+msgstr "'%s'ì— ëŒ€í•´ 기본 명령 사용.\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
-msgstr "%s <- %s »óÈ£ ÀÇÁ¸¼ºÀº ¹«½ÃµË´Ï´Ù."
+msgstr "%s <- %s ìƒí˜¸ ì˜ì¡´ì„±ì€ 무시ë©ë‹ˆë‹¤."
-#: remake.c:651
+#: remake.c:675
#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
-msgstr "Ÿ°Ù ÆÄÀÏ `%s'ÀÇ ¼±ÇàÁ¶°ÇÀ» ¸¶ÃƽÀ´Ï´Ù.\n"
+msgid "Finished prerequisites of target file '%s'.\n"
+msgstr "타겟 íŒŒì¼ '%s'ì˜ ì„ í–‰ì¡°ê±´ì„ ë§ˆì³¤ìŠµë‹ˆë‹¤.\n"
-#: remake.c:657
+#: remake.c:681
#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
-msgstr "`%s'ÀÇ ¼±ÇàÁ¶°ÇÀÌ ¸¸µé¾îÁö°í ÀÖ½À´Ï´Ù.\n"
+msgid "The prerequisites of '%s' are being made.\n"
+msgstr "'%s'ì˜ ì„ í–‰ì¡°ê±´ì´ ë§Œë“¤ì–´ì§€ê³  있습니다.\n"
-#: remake.c:670
+#: remake.c:695
#, c-format
-msgid "Giving up on target file `%s'.\n"
-msgstr "Ÿ°Ù ÆÄÀÏ `%s'À»(¸¦) Æ÷±âÇÕ´Ï´Ù.\n"
+msgid "Giving up on target file '%s'.\n"
+msgstr "타겟 íŒŒì¼ '%s'ì„(를) í¬ê¸°í•©ë‹ˆë‹¤.\n"
-#: remake.c:675
+#: remake.c:700
#, c-format
-msgid "Target `%s' not remade because of errors."
-msgstr "¿À·ù·Î ÀÎÇØ Å¸°Ù `%s'¸¦ ´Ù½Ã ¸¸µéÁö ¸øÇß½À´Ï´Ù."
+msgid "Target '%s' not remade because of errors."
+msgstr "오류로 '%s' íƒ€ê²Ÿì„ ë‹¤ì‹œ 만들지 못했습니다."
-#: remake.c:727
-#, fuzzy, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
-msgstr "¼±ÇàÁ¶°Ç `%s'ÀÌ(°¡) Ÿ°Ù `%s'º¸´Ù ¸ÕÀú ¸¸µé¾îÁ³½À´Ï´Ù.\n"
+#: remake.c:752
+#, c-format
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
+msgstr "'%s' ì„ í–‰ ì¡°ê±´ì€ '%s' íƒ€ê²Ÿì— ëŒ€í•´ 순서만 ì„ í–‰ 조건입니다.\n"
-#: remake.c:732
+#: remake.c:757
#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
-msgstr "Ÿ°Ù `%2$s'ÀÇ ¼±ÇàÁ¶°Ç %1$sÀº(´Â) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.\n"
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
+msgstr "타겟 '%2$s'ì˜ ì„ í–‰ì¡°ê±´ %1$sì´(ê°€) 없습니다.\n"
-#: remake.c:737
+#: remake.c:762
#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
-msgstr "¼±ÇàÁ¶°Ç `%s'ÀÌ(°¡) Ÿ°Ù `%s'º¸´Ù ÃÖ±Ù¿¡ ¸¸µé¾îÁ³½À´Ï´Ù.\n"
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
+msgstr "'%s' ì„ í–‰ ì¡°ê±´ì´ '%s' 타겟보다 ë‚˜ì¤‘ì— ë§Œë“¤ì–´ì¡ŒìŠµë‹ˆë‹¤.\n"
-#: remake.c:740
+#: remake.c:765
#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
-msgstr "¼±ÇàÁ¶°Ç `%s'ÀÌ(°¡) Ÿ°Ù `%s'º¸´Ù ¸ÕÀú ¸¸µé¾îÁ³½À´Ï´Ù.\n"
+msgid "Prerequisite '%s' is older than target '%s'.\n"
+msgstr "'%s' ì„ í–‰ ì¡°ê±´ì´ '%s' 타겟보다 먼저 만들어졌습니다.\n"
-#: remake.c:758
+#: remake.c:783
#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
-msgstr "Ÿ°Ù `%s'ÀÌ(°¡) µÎ °³ÀÇ ÄÝ·ÐÀÌ ºÙ¿©Á³Áö¸¸ ¼±ÇàÁ¶°ÇÀÌ ¾ø½À´Ï´Ù.\n"
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
+msgstr "'%s' íƒ€ê²Ÿì€ ì½œë¡  ë‘ ê°œê°€ 붙었고 ì„ í–‰ì¡°ê±´ì´ ì—†ìŠµë‹ˆë‹¤.\n"
-#: remake.c:765
-#, fuzzy, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
-msgstr "`%s'¿¡ ´ëÇÑ ¸í·É¾î°¡ ¾ø°í ¾î¶² ¼±ÇàÁ¶°Çµµ º¯°æµÇÁö ¾Ê¾Ò½À´Ï´Ù.\n"
+#: remake.c:790
+#, c-format
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
+msgstr "'%s'ì— ëŒ€í•œ 명령어가 없고 ì–´ë–¤ ì„ í–‰ì¡°ê±´ë„ ì‹¤ì œë¡œ 바뀌지 않았습니다.\n"
-#: remake.c:770
+#: remake.c:795
#, c-format
-msgid "Making `%s' due to always-make flag.\n"
-msgstr ""
+msgid "Making '%s' due to always-make flag.\n"
+msgstr "always-make 옵션 ë•Œë¬¸ì— '%s' íƒ€ê²Ÿì„ ë§Œë“­ë‹ˆë‹¤.\n"
-#: remake.c:778
+#: remake.c:803
#, c-format
-msgid "No need to remake target `%s'"
-msgstr "Ÿ°Ù `%s'À»(¸¦) ´Ù½Ã ¸¸µé ÇÊ¿ä°¡ ¾ø½À´Ï´Ù."
+msgid "No need to remake target '%s'"
+msgstr "'%s' íƒ€ê²Ÿì„ ë‹¤ì‹œ 만들 필요가 없습니다"
-#: remake.c:780
+#: remake.c:805
#, c-format
-msgid "; using VPATH name `%s'"
-msgstr "; VPATH À̸§ `%s'À»(¸¦) »ç¿ëÇÕ´Ï´Ù"
+msgid "; using VPATH name '%s'"
+msgstr "; VPATH ì´ë¦„ '%s'ì„(를) 사용합니다"
-#: remake.c:800
+#: remake.c:825
#, c-format
-msgid "Must remake target `%s'.\n"
-msgstr "Ÿ°Ù `%s'¸¦ ´Ù½Ã ¸¸µé¾î¾ß ÇÕ´Ï´Ù.\n"
+msgid "Must remake target '%s'.\n"
+msgstr "'%s' íƒ€ê²Ÿì„ ë‹¤ì‹œ 만들어야 합니다.\n"
-#: remake.c:806
+#: remake.c:831
#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
-msgstr " VPATH À̸§ `%s'À»(¸¦) ¹«½ÃÇÕ´Ï´Ù.\n"
+msgid " Ignoring VPATH name '%s'.\n"
+msgstr " VPATH ì´ë¦„ '%s'ì„(를) 무시합니다.\n"
-#: remake.c:815
-#, fuzzy, c-format
-msgid "Recipe of `%s' is being run.\n"
-msgstr "`%s'¶ó´Â ¸í·ÉÀÌ ½ÇÇà ÁßÀÔ´Ï´Ù.\n"
+#: remake.c:840
+#, c-format
+msgid "Recipe of '%s' is being run.\n"
+msgstr "'%s'ì˜ ëª…ë ¹ì´ ì‹¤í–‰ 중입니다.\n"
-#: remake.c:822
+#: remake.c:847
#, c-format
-msgid "Failed to remake target file `%s'.\n"
-msgstr "Ÿ°Ù ÆÄÀÏ `%s'¸¦ ´Ù½Ã ¸¸µå´Â µ¥ ½ÇÆÐÇß½À´Ï´Ù.\n"
+msgid "Failed to remake target file '%s'.\n"
+msgstr "'%s' 타겟 파ì¼ì„ 다시 ë§Œë“œëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤.\n"
-#: remake.c:825
+#: remake.c:850
#, c-format
-msgid "Successfully remade target file `%s'.\n"
-msgstr "Ÿ°Ù ÆÄÀÏ `%s'¸¦ ¼º°øÀûÀ¸·Î ´Ù½Ã ¸¸µé¾ú½À´Ï´Ù.\n"
+msgid "Successfully remade target file '%s'.\n"
+msgstr "'%s' 타겟 파ì¼ì„ 성공ì ìœ¼ë¡œ 다시 만들었습니다.\n"
-#: remake.c:828
+#: remake.c:853
#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
-msgstr "Ÿ°Ù ÆÄÀÏ `%s'ÀÌ(°¡) -q ÇÏ¿¡ ´Ù½Ã ¸¸µé¾îÁ®¾ß ÇÕ´Ï´Ù.\n"
+msgid "Target file '%s' needs to be remade under -q.\n"
+msgstr "'%s' 타겟 파ì¼ì„ -q 옵션으로 다시 만들어야 합니다.\n"
-#: remake.c:1024
+#: remake.c:1048
#, c-format
-msgid "Using default commands for `%s'.\n"
-msgstr "`%s'¿¡ ´ëÇØ ³»Á¤µÈ ¸í·ÉÀ» »ç¿ëÇÔ.\n"
+msgid "Using default commands for '%s'.\n"
+msgstr "'%s'ì— ëŒ€í•´ 기본 ëª…ë ¹ì„ ì‚¬ìš©.\n"
-#: remake.c:1357
-#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time in the future"
-msgstr "*** ÆÄÀÏ `%s'°¡ ¹Ì·¡ÀÇ º¯°æ ½Ã°¢À» °¡Áö°í ÀÖ½À´Ï´Ù (%s > %s)"
+#: remake.c:1397
+#, c-format
+msgid "Warning: File '%s' has modification time in the future"
+msgstr "경고: '%s' 파ì¼ì˜ 변경 ì‹œê°ì´ 미래입니다"
-#: remake.c:1370
-#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
-msgstr "*** ÆÄÀÏ `%s'°¡ ¹Ì·¡ÀÇ º¯°æ ½Ã°¢À» °¡Áö°í ÀÖ½À´Ï´Ù (%s > %s)"
+#: remake.c:1411
+#, c-format
+msgid "Warning: File '%s' has modification time %s s in the future"
+msgstr "경고: '%s' 파ì¼ì˜ 변경 ì‹œê°(%s)ì´ ë¯¸ëž˜ìž…ë‹ˆë‹¤"
-#: remake.c:1569
+#: remake.c:1610
#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
-msgstr ".LIBPATTERNSÀÇ ¿ø¼Ò `%s'ÀÌ(°¡) ÆÐÅÏÀÌ ¾Æ´Õ´Ï´Ù"
+msgid ".LIBPATTERNS element '%s' is not a pattern"
+msgstr ".LIBPATTERNSì˜ ì›ì†Œ '%s'ì´(ê°€) íŒ¨í„´ì´ ì•„ë‹™ë‹ˆë‹¤"
-# ??? µð¹ö±ë ¸Þ¼¼Áö -- ¹ºÁö ¾Ë±â ¾î·Á¿ò
-#: remote-cstms.c:125
+# ??? 디버깅 메세지 -- 뭔지 알기 어려움
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
-msgstr "CustomsÀº exportµÇÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù: %s\n"
+msgstr "Customsì€ exportë˜ì§€ 않습니다: %s\n"
-#: rule.c:499
-#, fuzzy
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
msgstr ""
"\n"
-"# ¹¬½ÃÀû ±ÔÄ¢ ¾øÀ½."
+"# ë¬µì‹œì  ê·œì¹™"
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
msgstr ""
"\n"
-"# ¹¬½ÃÀû ±ÔÄ¢ ¾øÀ½."
+"# ë¬µì‹œì  ê·œì¹™ ì—†ìŒ."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
"# %u implicit rules, %u"
msgstr ""
"\n"
-"# %u°³ÀÇ ¹¬½ÃÀû ±ÔÄ¢, %u"
+"# ë¬µì‹œì  ê·œì¹™ %uê°œ, %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
-msgstr " Å͹̳Î."
+msgstr " 터미ë„."
-#: rule.c:534
-#, fuzzy, c-format
+#: rule.c:530
+#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
-msgstr "¹ö±×: num_pattern_rules ¿À·ù! %u != %u"
+msgstr "버그: num_pattern_rules 틀렸습니다! %u != %u"
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
-msgstr "¾Ë ¼ö ¾ø´Â ½ÅÈ£"
+msgstr "알 수 없는 신호"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
-msgstr "²÷¾îÁü"
+msgstr "ëŠì–´ì§"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
-msgstr "ÀÎÅÍ·´Æ®"
+msgstr "ì¸í„°ëŸ½íŠ¸"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
-msgstr "Á¾·á"
+msgstr "ë내기"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
-msgstr "À߸øµÈ ¸í·É"
+msgstr "ìž˜ëª»ëœ ëª…ë ¹"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
-msgstr "ÃßÀû/Áß´ÜÁ¡ Æ®·¦"
+msgstr "추ì /ì¤‘ë‹¨ì  íŠ¸ëž©"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
-msgstr "ÁߴܵÊ"
+msgstr "중단ë¨"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
-msgstr "IOT Æ®·¦"
+msgstr "IOT 트랩"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
-msgstr "EMT Æ®·¦"
+msgstr "EMT 트랩"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
-msgstr "ºÎµ¿ ¼Ò¼öÁ¡ ¿¹¿Ü"
+msgstr "ë¶€ë™ ì†Œìˆ˜ì  ì˜ˆì™¸"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
-msgstr "Á×¾úÀ½"
+msgstr "죽었ìŒ"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
-msgstr "¹ö½º ¿À·ù"
+msgstr "버스 오류"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
-msgstr "¼¼±×¸àÅ×ÀÌ¼Ç ¿À·ù"
+msgstr "세그멘테ì´ì…˜ 오류"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
-msgstr "À߸øµÈ ½Ã½ºÅÛ È£Ãâ"
+msgstr "ìž˜ëª»ëœ ì‹œìŠ¤í…œ 호출"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
-msgstr "±ú¾îÁø ÆÄÀÌÇÁ"
+msgstr "깨어진 파ì´í”„"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
-msgstr "ÀÚ¸íÁ¾ ½Ã°è"
+msgstr "ìžëª…종 시계"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
-msgstr "Á¾·áµÊ"
+msgstr "종료ë¨"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
-msgstr "»ç¿ëÀÚ Á¤ÀÇ ½ÅÈ£ 1"
+msgstr "ì‚¬ìš©ìž ì •ì˜ ì‹ í˜¸ 1"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
-msgstr "»ç¿ëÀÚ Á¤ÀÇ ½ÅÈ£ 2"
+msgstr "ì‚¬ìš©ìž ì •ì˜ ì‹ í˜¸ 2"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
-msgstr "ÀÚ½ÄÀÌ Á¾·áµÇ¾úÀ½"
+msgstr "하위 프로세스 ë남"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
-msgstr "Àü·Â Áß´Ü"
+msgstr "전력 중단"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
-msgstr "ÁßÁöµÊ"
+msgstr "중지ë¨"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
-msgstr "ÁßÁöµÊ (tty ÀÔ·Â)"
+msgstr "중지ë¨(tty ìž…ë ¥)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
-msgstr "ÁßÁöµÊ (tty Ãâ·Â)"
+msgstr "중지ë¨(tty 출력)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
-msgstr "ÁßÁöµÊ (½Ã±×³Î)"
+msgstr "중지ë¨(시그ë„)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
-msgstr "CPU ½Ã°£ Á¦ÇÑ ÃÊ°úµÊ"
+msgstr "CPU 시간 제한 초과ë¨"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
-msgstr "ÆÄÀÏ Å©±â Á¦ÇÑ ÃÊ°úµÊ"
+msgstr "íŒŒì¼ í¬ê¸° 제한 초과ë¨"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
-msgstr "°¡»ó ŸÀÌ¸Ó ½Ã°£ ÃÊ°úµÊ"
+msgstr "ê°€ìƒ íƒ€ì´ë¨¸ 시간 초과ë¨"
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
-msgstr "ÇÁ·ÎÆÄÀϸµ ŸÀÌ¸Ó ½Ã°£ ÃÊ°úµÊ"
+msgstr "프로파ì¼ë§ 타ì´ë¨¸ 시간 초과ë¨"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
-msgstr "âÀÌ ¹Ù²î¾úÀ½"
+msgstr "ì°½ì´ ë°”ë€Œì—ˆìŒ"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
-msgstr "°è¼ÓµÊ"
+msgstr "계ì†ë¨"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
-msgstr "±ä±ÞÇÑ ÀÔÃâ·Â »óȲ"
+msgstr "긴급한 입출력 ìƒí™©"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
-msgstr "ÀÔÃâ·Â °¡´É"
+msgstr "입출력 가능"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
-msgstr "ÀÚ¿ø ¼Õ½Ç"
+msgstr "ìžì› ì†ì‹¤"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
-msgstr "À§Çè ½ÅÈ£"
+msgstr "위험 신호"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
-msgstr "Á¤º¸ ¿äû"
+msgstr "정보 요청"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
-msgstr "ºÎµ¿¼Ò¼öÁ¡ ¿¬»ê º¸Á¶ÇÁ·Î¼¼¼­°¡ ¾ø½À´Ï´Ù"
+msgstr "부ë™ì†Œìˆ˜ì  ì—°ì‚° 보조프로세서가 없습니다"
-#: strcache.c:235
+#: strcache.c:236
#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s No strcache buffers\n"
msgstr ""
+"\n"
+"%s strcache ë²„í¼ ì—†ìŒ\n"
-#: strcache.c:237
+#: strcache.c:266
#, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+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"
-#: strcache.c:239
+#: strcache.c:270
#, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+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"
-#: strcache.c:241
+#: strcache.c:280
#, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
+msgstr "%s 기타 사용: ì „ì²´ = %lu B / 개수 = %lu / í‰ê·  = %lu B\n"
+
+#: strcache.c:283
+#, 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"
-#: strcache.c:244
+#: strcache.c:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
+msgstr ""
+"\n"
+"%s strcache 효율: 검색 = %lu / 히트 비율 = %lu%%\n"
+
+#: strcache.c:289
+msgid ""
+"# hash-table stats:\n"
"# "
msgstr ""
+"# í•´ì‹œ í…Œì´ë¸” 통계:\n"
+"# "
+
+#: variable.c:1599
+msgid "automatic"
+msgstr "ìžë™"
-#: variable.c:1541
+#: variable.c:1602
msgid "default"
-msgstr "±âº»°ª"
+msgstr "기본값"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
-msgstr "ȯ°æ"
+msgstr "환경"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
-msgstr "¸ÞÀÌÅ©ÆÄÀÏ"
+msgstr "ë©”ì´í¬íŒŒì¼"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
-msgstr "-e ÇÏÀÇ È¯°æ"
+msgstr "-e í•˜ì˜ í™˜ê²½"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
-msgstr "¸í·ÉÇà"
-
-#: variable.c:1556
-msgid "`override' directive"
-msgstr "`override' Áö½ÃÀÚ"
+msgstr "명령행"
-#: variable.c:1559
-msgid "automatic"
-msgstr "ÀÚµ¿"
+#: variable.c:1617
+msgid "'override' directive"
+msgstr "'override' 지시ìž"
-#: variable.c:1570
-#, fuzzy, c-format
-msgid " (from `%s', line %lu)"
-msgstr " (`%s'¿¡¼­, %lu¹ø° ÁÙ):\n"
+#: variable.c:1628
+#, c-format
+msgid " (from '%s', line %lu)"
+msgstr " ('%s'ì—ì„œ, %lu번째 줄)"
-#: variable.c:1612
-#, fuzzy
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
-msgstr "# %2$u°³ÀÇ Çؽ¬ ¹öŶ¿¡ %1$u°³ÀÇ º¯¼ö.\n"
+msgstr "# 변수 ëª¨ìŒ í•´ì‹œ í…Œì´ë¸” 통계:\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
msgstr ""
"\n"
-"# º¯¼ö\n"
+"# 변수\n"
-#: variable.c:1627
-#, fuzzy
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
"\n"
-"# ÆÐÅÏÀ» À§ÇÑ º¯¼ö °ªµé"
+"# íŒ¨í„´ì„ ìœ„í•œ 변수 ê°’"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
msgstr ""
"\n"
-"# ÆÐÅÏÀ» À§ÇÑ º¯¼ö °ªµéÀÌ ¾ø½À´Ï´Ù."
+"# íŒ¨í„´ì„ ìœ„í•œ 변수 ê°’ì´ ì—†ìŠµë‹ˆë‹¤."
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
"# %u pattern-specific variable values"
msgstr ""
"\n"
-"# %u°³ÀÇ ÆÐÅÏÀ» À§ÇÑ º¯¼ö °ªµé"
+"# 특정 íŒ¨í„´ì„ ìœ„í•œ 변수 ê°’ %uê°œ"
-#: variable.h:219
+#: variable.h:224
#, c-format
-msgid "warning: undefined variable `%.*s'"
-msgstr "°æ°í: Á¤ÀǵÇÁö ¾ÊÀº º¯¼ö `%.*s'"
+msgid "warning: undefined variable '%.*s'"
+msgstr "경고: ì •ì˜ë˜ì§€ ì•Šì€ ë³€ìˆ˜ '%.*s'"
-#: vmsfunctions.c:92
-#, fuzzy, c-format
+#: vmsfunctions.c:91
+#, c-format
msgid "sys$search() failed with %d\n"
-msgstr "sys$search°¡ %d¸¦ ¸®ÅÏÇÏ¸ç ½ÇÆÐÇß½À´Ï´Ù\n"
+msgstr "sys$search()ê°€ %dë²ˆì„ ë¦¬í„´í•˜ë©° 실패했습니다\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
-msgstr "°æ°í: ºñ¾î ÀÖ´Â ¸®´ÙÀÌ·º¼Ç\n"
+msgstr "경고: 비어 있는 리다ì´ë ‰ì…˜\n"
-#: vmsjobs.c:184
+#: vmsjobs.c:183
#, c-format
-msgid "internal error: `%s' command_state"
-msgstr "³»ºÎ ¿À·ù: `%s' command_state"
+msgid "internal error: '%s' command_state"
+msgstr "내부 오류: '%s' command_state"
-# DCL - Digital Command Language, VMS¿¡¼­¸¸ Á¸ÀçÇÏ´Â shell languageÀÇ ÀÏÁ¾
-#: vmsjobs.c:289
+# DCL - Digital Command Language, VMSì—서만 존재하는 shell languageì˜ ì¼ì¢…
+#: 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:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
-msgstr "³»Àå [%s][%s]\n"
+msgstr "내장 [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
-msgstr "³»Àå CD %s\n"
+msgstr "내장 CD %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "³»Àå RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "내장 CD %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
-msgstr "¾Ë ¼ö ¾ø´Â ³»Àå ¸í·É¾î `%s'\n"
+msgstr "알 수 없는 내장 명령어 '%s'\n"
+
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
-#: vmsjobs.c:493
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
-msgstr "¿À·ù, ºó ¸í·É¾î\n"
+msgstr "오류, 빈 명령어\n"
-#: vmsjobs.c:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
-msgstr "ÀÔ·ÂÀ» %s¿¡¼­ ¸®´ÙÀÌ·ºÆ®ÇÕ´Ï´Ù\n"
+msgstr "ìž…ë ¥ì„ %sì—ì„œ 리다ì´ë ‰íŠ¸í•©ë‹ˆë‹¤\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
-msgstr "¿À·ù¸¦ %sÀ¸·Î(·Î) ¸®´ÙÀÌ·ºÆ®ÇÕ´Ï´Ù\n"
+msgstr "오류를 %s(으)ë¡œ 리다ì´ë ‰íŠ¸í•©ë‹ˆë‹¤\n"
-#: vmsjobs.c:523
-#, fuzzy, c-format
+#: vmsjobs.c:690
+#, c-format
msgid "Append output to %s\n"
-msgstr "Ãâ·ÂÀ» %s¿¡¼­ ¸®´ÙÀÌ·ºÆ®ÇÕ´Ï´Ù\n"
+msgstr "ì¶œë ¥ì„ %sì— ë¶™ìž…ë‹ˆë‹¤\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
-msgstr "Ãâ·ÂÀ» %s¿¡¼­ ¸®´ÙÀÌ·ºÆ®ÇÕ´Ï´Ù\n"
+msgstr "ì¶œë ¥ì„ %s(으)ë¡œ ëŒë¦½ë‹ˆë‹¤\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
-msgstr ""
+msgstr "%.*sì„(를) 붙ì´ê³  지ì›ë‹ˆë‹¤\n"
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
-msgstr "´ë½Å %s¸¦ ½ÇÇàÇÔ\n"
+msgstr "대신 %sì„(를) 실행\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
-msgstr "½ÇÇà ¿À·ù, %d\n"
+msgstr "실행 오류, %d\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
msgstr ""
"\n"
-"# VPATH Ž»ö °æ·Î\n"
+"# VPATH íƒìƒ‰ 경로\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
-msgstr "# `vpath' Ž»ö °æ·Î°¡ ¾øÀ½."
+#: vpath.c:600
+msgid "# No 'vpath' search paths."
+msgstr "# 'vpath' íƒìƒ‰ 경로가 ì—†ìŒ."
-#: vpath.c:605
+#: vpath.c:602
#, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
-"# %u°³ÀÇ `vpath' Ž»ö °æ·Î.\n"
+"# 'vpath' íƒìƒ‰ 경로 %uê°œ.\n"
-#: vpath.c:608
+#: vpath.c:605
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
-"# ÀϹÝÀûÀÎ (`VPATH' º¯¼ö) Ž»ö °æ·Î°¡ ¾øÀ½."
+"# ì¼ë°˜ì ì¸ ('VPATH' 변수) íƒìƒ‰ 경로가 ì—†ìŒ."
-#: vpath.c:614
+#: vpath.c:611
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
-"# ÀϹÝÀûÀÎ (`VPATH' º¯¼ö) Ž»ö °æ·Î:\n"
+"# ì¼ë°˜ì ì¸ ('VPATH' 변수) íƒìƒ‰ 경로:\n"
"# "
-#~ msgid ""
-#~ "\n"
-#~ "# No files."
-#~ msgstr ""
-#~ "\n"
-#~ "# ÆÄÀÏ ¾øÀ½."
-
-#~ msgid ""
-#~ "\n"
-#~ "# %u files in %u hash buckets.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "# %2$u°³ÀÇ Çؽ¬ ¹öŶ¿¡ %1$u°³ÀÇ ÆÄÀÏ.\n"
-
-#~ msgid "# average %.3f files per bucket, max %u files in one bucket.\n"
-#~ msgstr "# ¹öŶ´ç %.3f°³ÀÇ ÆÄÀÏ, ÇÑ °³ÀÇ ¹öŶ¿¡ ÃÖ´ë %u°³ÀÇ ÆÄÀÏ.\n"
-
-#~ msgid "Syntax error, still inside '\"'\n"
-#~ msgstr "¹®¹ý ¿À·ù, ¾ÆÁ÷ '\"' ¾È¿¡ ÀÖ½À´Ï´Ù\n"
-
-#~ msgid "Got a SIGCHLD; %u unreaped children.\n"
-#~ msgstr ""
-#~ "SIGCHLD ½Ã±×³ÎÀ» ¹Þ¾Ò½À´Ï´Ù; %u°³ÀÇ ÀÚ½ÄÇÁ·Î¼¼½º°¡ ³¡³ªÁö ¾Ê¾Ò½À´Ï´Ù.\n"
-
-#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
-#~ msgstr "-°æ°í, CTRL-Y´Â ÆÄ»ýµÈ ÇÁ·Î¼¼½ºµéÀ» ±×´ë·Î ³²°ÜµÑ °ÍÀÔ´Ï´Ù.\n"
-
-#~ msgid "DIRECTORY"
-#~ msgstr "<µð·ºÅ丮>"
-
-#~ msgid "Change to DIRECTORY before doing anything"
-#~ msgstr "ÀÏÀ» ó¸®Çϱâ Àü¿¡ ¸ÕÀú <µð·ºÅ丮>·Î À̵¿ÇÕ´Ï´Ù"
-
-#~ msgid "FLAGS"
-#~ msgstr "<Ç÷¡±×>"
-
-#~ msgid "Suspend process to allow a debugger to attach"
-#~ msgstr "µð¹ö°Å¸¦ ºÙÀÏ ¼ö ÀÖµµ·Ï ÇÁ·Î¼¼½º¸¦ ÀϽà ÁߴܽÃŵ´Ï´Ù"
-
-#~ msgid "Environment variables override makefiles"
-#~ msgstr "ȯ°æº¯¼ö°¡ ¸ÞÀÌÅ©ÆÄÀϺ¸´Ù ¿ì¼±ÇÕ´Ï´Ù"
-
-#~ msgid "FILE"
-#~ msgstr "<ÆÄÀÏ>"
-
-#~ msgid "Read FILE as a makefile"
-#~ msgstr "<ÆÄÀÏ>À» ¸ÞÀÌÅ©ÆÄÀÏ·Î ÀнÀ´Ï´Ù"
-
-#~ msgid "Ignore errors from commands"
-#~ msgstr "¸í·É¿¡ ÀÖ´Â ¿À·ù¸¦ ¹«½ÃÇÕ´Ï´Ù"
-
-#~ msgid "Search DIRECTORY for included makefiles"
-#~ msgstr "Æ÷ÇÔ½Ãų ¸ÞÀÌÅ©ÆÄÀÏÀ» <µð·ºÅ丮>¿¡¼­ ã½À´Ï´Ù"
-
-#~ msgid "Don't start multiple jobs unless load is below N"
-#~ msgstr "ºÎÇÏ°¡ N º¸´Ù ÀÛÁö ¾ÊÀ¸¸é ´ÙÁß ÀÛ¾÷À» ½ÃÀÛÇÏÁö ¾Ê½À´Ï´Ù"
-
-#~ msgid "Don't actually run any commands; just print them"
-#~ msgstr "½ÇÁ¦·Î ¾î¶² ¸í·Éµµ ½ÇÇàÇÏÁö ¾Ê½À´Ï´Ù; ±×³É Àμ⸸ ÇÕ´Ï´Ù"
-
-#~ msgid "Consider FILE to be very old and don't remake it"
-#~ msgstr "FILEÀ» ¸Å¿ì ¿À·¡µÈ °ÍÀ¸·Î °£ÁÖÇÏ°í ´Ù½Ã ¸¸µéÁö ¾Ê½À´Ï´Ù"
-
-#~ msgid "Don't echo commands"
-#~ msgstr "¸í·ÉÀ» ¹ÝÇâÇÏÁö ¾Ê½À´Ï´Ù"
-
-#~ msgid "Turns off -k"
-#~ msgstr "-k¸¦ ²ü´Ï´Ù"
-
-#~ msgid "Consider FILE to be infinitely new"
-#~ msgstr "ÆÄÀÏÀ» ¿µ¿øÈ÷ »õ·Î¿î °ÍÀ¸·Î °£ÁÖÇÕ´Ï´Ù"
-
-#~ msgid "Do not specify -j or --jobs if sh.exe is not available."
-#~ msgstr "sh.exe¸¦ »ç¿ëÇÒ ¼ö ¾øÀ¸¸é -j ȤÀº -jobs¸¦ ÁöÁ¤ÇÏÁö ¾Ê½À´Ï´Ù"
-
-#~ msgid "Resetting make for single job mode."
-#~ msgstr "make°¡ ´ÜÀÏ ÀÛ¾÷ ¸ðµå·Î º¹±ÍÇÕ´Ï´Ù"
-
-#~ msgid ""
-#~ ", by Richard Stallman and Roland McGrath.\n"
-#~ "%sBuilt for %s\n"
-#~ "%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000\n"
-#~ "%s\tFree Software Foundation, Inc.\n"
-#~ "%sThis is free software; see the source for copying conditions.\n"
-#~ "%sThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n"
-#~ "%sPARTICULAR PURPOSE.\n"
-#~ "\n"
-#~ "%sReport bugs to <bug-make@gnu.org>.\n"
-#~ "\n"
-#~ msgstr ""
-#~ ", Richard Stallman°ú Roland McGrath.\n"
-#~ "%s%s¿¡ ´ëÇÑ ºôµå\n"
-#~ "%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000\n"
-#~ "%s\tFree Software Foundation, Inc.\n"
-#~ "%sÀÌ ÇÁ·Î±×·¥Àº ÀÚÀ¯¼ÒÇÁÆ®¿þ¾îÀÔ´Ï´Ù; º¹»çÁ¶°ÇÀº ¼Ò½º¸¦ Âü°íÇϽʽÿÀ.\n"
-#~ "%s»óÇ°¼ºÀ̳ª ƯÁ¤ ¸ñÀû¿¡ ´ëÇÑ ÀûÇÕ¼ºÀ» ºñ·ÔÇÏ¿©, ¾î¶°ÇÑ º¸Áõµµ ÇÏÁö \n"
-#~ "%s¾Ê½À´Ï´Ù.\n"
-#~ "\n"
-#~ "%s¹®Á¦Á¡Àº <bug-make@gnu.org>·Î ¾Ë·ÁÁֽʽÿÀ.\n"
-#~ "\n"
-
-#~ msgid "Entering"
-#~ msgstr "µé¾î°¨"
-
-#~ msgid "Leaving"
-#~ msgstr "³ª°¨"
-
-#~ msgid "extraneous `endef'"
-#~ msgstr "¿©ºÐÀÇ `endef'"
-
-#~ msgid "empty `override' directive"
-#~ msgstr "ºó `override' Áö½ÃÀÚ"
-
-#~ msgid "invalid `override' directive"
-#~ msgstr "À߸øµÈ `override' Áö½ÃÀÚ"
-
-#~ msgid "no file name for `%sinclude'"
-#~ msgstr "`%sinclude'¿¡ ÆÄÀÏÀ̸§ÀÌ ¾ø½À´Ï´Ù"
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "내부 오류: 여러 ê°œì˜ --sync-mutex 옵션"
-#~ msgid "target `%s' leaves prerequisite pattern empty"
-#~ msgstr "Ÿ°Ù `%s'Àº(´Â) ¼±ÇàÁ¶°Ç ÆÐÅÏÀ» ºó °ªÀ¸·Î ³»¹ö·Á µÎ°Ô µË´Ï´Ù"
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "내부 오류: 여러 ê°œì˜ -jobserver-fds 옵션"
-#~ msgid "# No variables."
-#~ msgstr "# º¯¼ö ¾øÀ½."
+#~ msgid "virtual memory exhausted"
+#~ msgstr "ê°€ìƒ ë©”ëª¨ë¦¬ê°€ ê³ ê°ˆë¨"
-#~ msgid "# average of %.1f variables per bucket, max %u in one bucket.\n"
-#~ msgstr "# ¹öŶ´ç Æò±Õ %.1f°³ÀÇ º¯¼ö, ÇÑ °³ÀÇ ¹öŶ¿¡ ÃÖ´ë %u°³.\n"
+#~ msgid "write error"
+#~ msgstr "쓰기 오류"
-#~ msgid "# average of %d.%d variables per bucket, max %u in one bucket.\n"
-#~ msgstr "# ¹öŶ´ç Æò±Õ %d.%d°³ÀÇ º¯¼ö, ÇÑ °³ÀÇ ¹öŶ¿¡ ÃÖ´ë %u°³.\n"
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "내장 RM %s\n"
diff --git a/po/lt.gmo b/po/lt.gmo
index a956d85a..5277a0ef 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index 3b337bd1..e9fa7d21 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -7,119 +7,125 @@ msgid ""
msgstr ""
"Project-Id-Version: make-3.81\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-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 <gintas@akl.lt>\n"
"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
+"Language: lt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%"
-"100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
+"%100<10 || n%100>=20) ? 1 : 2);\n"
-#: ar.c:48
-#, c-format
-msgid "attempt to use unsupported feature: `%s'"
+#: ar.c:46
+#, fuzzy, c-format
+msgid "attempt to use unsupported feature: '%s'"
msgstr "bandymas naudoti nepalaikomą funkcionalumą: „%s“"
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
msgstr ""
-#: ar.c:149
-#, c-format
-msgid "touch: Archive `%s' does not exist"
+#: ar.c:147
+#, fuzzy, c-format
+msgid "touch: Archive '%s' does not exist"
msgstr "touch: Archyvas „%s“ neegzistuoja"
-#: ar.c:152
-#, c-format
-msgid "touch: `%s' is not a valid archive"
+#: ar.c:150
+#, fuzzy, c-format
+msgid "touch: '%s' is not a valid archive"
msgstr "touch: „%s“ nėra taisyklingas archyvas"
-#: ar.c:159
-#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
-msgstr ""
+#: ar.c:157
+#, fuzzy, c-format
+msgid "touch: Member '%s' does not exist in '%s'"
+msgstr "touch: Archyvas „%s“ neegzistuoja"
-#: ar.c:166
+#: ar.c:164
#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
+msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr ""
-#: arscan.c:69
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr ""
-#: arscan.c:175
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr ""
-#: arscan.c:187
-#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
+#: 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:850
-#, c-format
-msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
+#: 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:851
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (pavadinimas gali būti sutrumpintas)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Data %s"
-#: arscan.c:854
+#: 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:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr ""
+
+#: commands.c:505
msgid "*** Break.\n"
msgstr ""
-#: commands.c:622
+#: commands.c:629
#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
+msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr ""
-#: commands.c:625
+#: commands.c:633
#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
+msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr ""
-#: commands.c:638
-#, c-format
-msgid "*** [%s] Deleting file `%s'"
+#: commands.c:647
+#, fuzzy, c-format
+msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] Trinamas failas „%s“"
-#: commands.c:640
-#, c-format
-msgid "*** Deleting file `%s'"
+#: commands.c:649
+#, fuzzy, c-format
+msgid "*** Deleting file '%s'"
msgstr "*** Trinamas failas „%s“"
-#: commands.c:676
+#: commands.c:685
#, fuzzy
msgid "# recipe to execute"
msgstr "# vykdytinos komandos"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
msgstr " (integruota)"
-#: commands.c:681
-#, c-format
-msgid " (from `%s', line %lu):\n"
+#: commands.c:690
+#, fuzzy, c-format
+msgid " (from '%s', line %lu):\n"
msgstr " (nuo „%s“, %lu eilutė):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -127,224 +133,228 @@ msgstr ""
"\n"
"# Aplankai\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
msgstr "# %s: negalėjo būti stat'intas.\n"
-#: dir.c:1012
+#: 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:1016
+#: dir.c:1009
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n"
msgstr ""
-#: dir.c:1021
+#: dir.c:1014
#, c-format
msgid "# %s (device %ld, inode %ld): could not be opened.\n"
msgstr ""
-#: dir.c:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
msgstr ""
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
msgstr ""
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
msgstr ""
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "Ne"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr " failai, "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "ne"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
msgstr " negalimybÄ—s"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
msgstr " kol kas."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
msgstr " negalimybÄ—s %lu aplankuose.\n"
-#: expand.c:127
-#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
+#: expand.c:125
+#, fuzzy, c-format
+msgid "Recursive variable '%s' references itself (eventually)"
msgstr "Rekursyvus kintamasis „%s“ nukreipia į save (anksÄiau ar vÄ—liau)"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
msgstr "neterminuota nuoroda į kintamąjį"
-#: file.c:267
+#: file.c:271
#, fuzzy, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
+msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "Komandos nurodytos failui „%s“ %s:%lu,"
-#: file.c:272
+#: file.c:276
#, fuzzy, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
+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:275
-#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
+#: 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:278
+#: file.c:283
#, fuzzy, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
+msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr "Komandos „%s“ bus ignoruojamos „%s“ komandų naudai."
-#: file.c:298
+#: file.c:303
#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
+msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr ""
-#: file.c:303
+#: file.c:309
#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
+msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr ""
-#: file.c:392
-#, c-format
-msgid "*** Deleting intermediate file `%s'"
+#: file.c:401
+#, fuzzy, c-format
+msgid "*** Deleting intermediate file '%s'"
msgstr "*** Trinamas tarpinis failas „%s“"
-#: file.c:396
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Å alinami tarpiniai failai...\n"
-#: file.c:803
+#: file.c:811
+msgid "Current time"
+msgstr "Dabartinis laikas"
+
+#: 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:804
-msgid "Current time"
-msgstr "Dabartinis laikas"
-
-#: file.c:924
+#: file.c:955
msgid "# Not a target:"
msgstr "# Ne tikslas:"
-#: file.c:929
+#: file.c:960
#, fuzzy
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Brangus failas (reikalingas .PRECIOUS)"
-#: file.c:931
+#: file.c:962
#, fuzzy
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Keistas tikslas (reikalingas .PHONY)."
-#: file.c:933
+#: file.c:964
#, fuzzy
msgid "# Command line target."
msgstr "# KomandinÄ—s eilutÄ—s tikslas"
-#: file.c:935
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Numatytoji reikšmė, MAKEFILES, arba -include/sinclude „make“ failas"
-#: file.c:937
+#: file.c:968
+#, fuzzy
+msgid "# Builtin rule"
+msgstr ""
+"\n"
+"# Nėra neišreikštinių taisyklių."
+
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Neišreikštinių taisyklių paieška atlikta."
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Neišreikštinių taisyklių paieška neatlikta."
-#: file.c:940
-#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
+#: file.c:973
+#, fuzzy, c-format
+msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# Išreikštinis/statinis šablono kamienas: „%s“\n"
-#: file.c:942
+#: file.c:975
#, fuzzy
msgid "# File is an intermediate prerequisite."
msgstr "# Failas yra tarpinÄ— sÄ…lyga"
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
msgstr "# Taip pat sukuria:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Modifikacijos laikas niekada netikrintas."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
msgstr "# Failas neegzistuoja."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
msgstr "# Failas labai senas."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Paskutinį kartą pakeista %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
msgstr "# Failas atnaujintas."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Failas nebuvo atnaujintas."
-#: file.c:968
+#: file.c:1001
#, fuzzy
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Dabar vykdomos komandos (TAI KLAIDA)."
-#: file.c:971
+#: file.c:1004
#, fuzzy
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Vykdomos priklausomybių komandos (TAI KLAIDA)."
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# SÄ—kmingai atnaujinta."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Turi būti atnaujinta (-q nustatyta)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Nepavyko atnaujinti."
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# Netaisyklinga reikšmė „update_status“ naryje!"
-
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
+#: file.c:1025
+#, fuzzy
+msgid "# Invalid value in 'command_state' member!"
msgstr "# Netaisyklinga reikšmė „command_state“ naryje!"
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -352,7 +362,7 @@ msgstr ""
"\n"
"# Failai"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -362,116 +372,170 @@ msgstr ""
"# failų maišos lentelės statistika:\n"
"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
msgstr ""
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
+#: function.c:780
+msgid "non-numeric first argument to 'word' function"
msgstr ""
-#: function.c:783
-msgid "non-numeric first argument to `wordlist' function"
+#: function.c:785
+msgid "first argument to 'word' function must be greater than 0"
msgstr ""
-#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
+#: function.c:805
+msgid "non-numeric first argument to 'wordlist' function"
msgstr ""
-#: function.c:1458
+#: function.c:807
+msgid "non-numeric second argument to 'wordlist' function"
+msgstr ""
+
+#: function.c:1499
#, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr ""
-#: function.c:1469
+#: function.c:1523
#, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr ""
-#: function.c:1474
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr ""
-#: function.c:1479
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr ""
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr ""
-#: function.c:2150
+#: function.c:2193
+#, fuzzy, c-format
+msgid "open: %s: %s"
+msgstr "%s: %s"
+
+#: function.c:2203
+#, fuzzy, c-format
+msgid "write: %s: %s"
+msgstr "rašymo klaida: %s"
+
+#: function.c:2209
#, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
+msgid "Invalid file operation: %s"
msgstr ""
-#: function.c:2162
+#: function.c:2324
#, c-format
-msgid "unimplemented on this platform: function `%s'"
+msgid "insufficient number of arguments (%d) to function '%s'"
msgstr ""
-#: function.c:2212
+#: function.c:2336
#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
+msgid "unimplemented on this platform: function '%s'"
msgstr ""
-#: getopt.c:661
+#: function.c:2399
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: parametras `%s' dviprasmis\n"
+msgid "unterminated call to function '%s': missing '%c'"
+msgstr ""
-#: getopt.c:685
+#: function.c:2591
+msgid "Empty function name"
+msgstr ""
+
+#: function.c:2593
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: argumentas „--%s“ neleidžia parametro\n"
+msgid "Invalid function name: %s"
+msgstr ""
-#: getopt.c:690
+#: function.c:2595
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: argumentas „%c%s“ neleidžia parametro\n"
+msgid "Function name too long: %s"
+msgstr ""
-#: getopt.c:707 getopt.c:880
+#: function.c:2598
#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: parametrui „%s“ reikia argumento\n"
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr ""
-#: getopt.c:736
+#: function.c:2601
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "Invalid maximum argument count (%d) for function %s"
+msgstr ""
+
+#: getopt.c:659
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: parametras `%s' dviprasmis\n"
+
+#: getopt.c:683
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: argumentas „--%s“ neleidžia parametro\n"
+
+#: getopt.c:688
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: argumentas „%c%s“ neleidžia parametro\n"
+
+#: getopt.c:705 getopt.c:878
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s: parametrui „%s“ reikia argumento\n"
+
+#: getopt.c:734
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: neatpažintas argumentas „--%s“\n"
-#: getopt.c:740
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:738
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: neatpažintas argumentas „%c%s“\n"
-#: getopt.c:766
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: neleistinas parametras -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: netaisyklingas argumentas -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: parametrui reikia argumento -- %c\n"
-#: getopt.c:846
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:844
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: parametras „-W %s“ dviprasmis\n"
-#: getopt.c:864
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:862
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: parametras „-W %s“ neleidžia argumento\n"
+#: guile.c:58
+#, c-format
+msgid "guile: Expanding '%s'\n"
+msgstr ""
+
+#: guile.c:74
+#, c-format
+msgid "guile: Evaluating '%s'\n"
+msgstr ""
+
#: hash.c:49
#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
@@ -492,398 +556,489 @@ msgstr ""
msgid "Collisions=%ld/%ld=%.0f%%"
msgstr ""
-#: implicit.c:40
-#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
-msgstr ""
+#: implicit.c:38
+#, fuzzy, c-format
+msgid "Looking for an implicit rule for '%s'.\n"
+msgstr "Rasta neišreikštinė taisyklė tikslui „%s“.\n"
-#: implicit.c:56
-#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
-msgstr ""
+#: implicit.c:54
+#, fuzzy, c-format
+msgid "Looking for archive-member implicit rule for '%s'.\n"
+msgstr "Rasta neišreikštinė taisyklė tikslui „%s“.\n"
-#: implicit.c:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
msgstr ""
-#: implicit.c:491
+#: implicit.c:486
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
+msgid "Stem too long: '%.*s'.\n"
msgstr ""
-#: implicit.c:674
+#: implicit.c:491
#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
+msgid "Trying pattern rule with stem '%.*s'.\n"
msgstr ""
-#: implicit.c:675
+#: implicit.c:697
#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
msgstr ""
-#: implicit.c:688
+#: implicit.c:698
#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
msgstr ""
-#: implicit.c:689
+#: implicit.c:711
#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
+msgid "Trying rule prerequisite '%s'.\n"
msgstr ""
-#: implicit.c:728
+#: implicit.c:712
#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
+msgid "Trying implicit prerequisite '%s'.\n"
msgstr ""
-#: implicit.c:742
+#: implicit.c:751
#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
msgstr ""
-#: job.c:335
+#: implicit.c:765
+#, fuzzy, c-format
+msgid "Looking for a rule with intermediate file '%s'.\n"
+msgstr "Å alinami tarpiniai failai...\n"
+
+#: job.c:361
msgid "Cannot create a temporary file\n"
msgstr ""
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
+#: job.c:483
+msgid " (core dumped)"
msgstr ""
-#: job.c:450
-#, c-format
-msgid "*** [%s] Error 0x%x"
+#: job.c:488
+msgid " (ignored)"
msgstr ""
-#: job.c:454
+#: job.c:492 job.c:2046
+#, fuzzy
+msgid "<builtin>"
+msgstr " (integruota)"
+
+#: job.c:503
#, c-format
-msgid "[%s] Error %d (ignored)"
+msgid "%s: recipe for target '%s' failed"
msgstr ""
-#: job.c:455
+#: job.c:516 job.c:524
#, c-format
-msgid "*** [%s] Error %d"
+msgid "%s[%s] Error %d%s"
msgstr ""
-#: job.c:460
-msgid " (core dumped)"
+#: job.c:519
+#, c-format
+msgid "%s[%s] Error 0x%x%s"
msgstr ""
-#: job.c:549
+#: 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:579
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr ""
-#: job.c:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr ""
-#: job.c:758
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr ""
-#: job.c:759
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr ""
-#: job.c:763
+#: job.c:849
#, fuzzy, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "%s: nepavyko atverti laikinojo failo: %s"
-#: job.c:861
+#: 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:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr ""
-#: job.c:920
-#, fuzzy
-msgid "write jobserver"
-msgstr "rašymo klaida: %s"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
+msgstr ""
-#: job.c:922
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr ""
-#: job.c:1453 job.c:2094
+#: 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:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
-#: job.c:1525
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr ""
-#: job.c:1778
+#: 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:1787
+#: job.c:2029
msgid "read jobs pipe"
msgstr ""
-#: job.c:1798
-#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr ""
+#: job.c:2056
+#, fuzzy, c-format
+msgid "%s: target '%s' does not exist"
+msgstr "touch: Archyvas „%s“ neegzistuoja"
-#: job.c:1802
+#: job.c:2059
#, fuzzy, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "Nereikia atnaujinti taikinio „%s“"
+msgid "%s: update target '%s' due to: %s"
+msgstr "%sNėra taisyklės pasiekti tikslui „%s“, kurio reikia „%s“%s"
-#: job.c:1910
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr ""
-#: job.c:1912
+#: job.c:2173
#, fuzzy
msgid "cannot enforce load limit: "
msgstr "%s: nepayko pakeisti limito: %s"
-#: job.c:1985
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr ""
-#: job.c:1987
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""
-#: job.c:2015
+#: job.c:2278
+msgid "no more file handles: could not duplicate stderr\n"
+msgstr ""
+
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr ""
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr ""
-#: job.c:2127
+#: job.c:2309
+msgid "Could not restore stderr\n"
+msgstr ""
+
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr ""
-#: job.c:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Komanda nerasta"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Kevalo programa nerasta"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr ""
-#: job.c:2461
-#, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
+#: job.c:2765
+#, fuzzy, c-format
+msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "$SHELL pakeistas (buvo „%s“, dabar „%s“)\n"
-#: job.c:2951
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr ""
-#: job.c:2963
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-#: job.c:3065
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
-#: main.c:303
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr ""
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr ""
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr ""
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr ""
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr ""
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr ""
+
+#: load.c:244
+msgid "The 'load' operation is not supported on this platform."
+msgstr ""
+
+#: main.c:313
msgid "Options:\n"
msgstr ""
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr ""
-#: main.c:306
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
-#: main.c:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
-#: main.c:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr ""
-#: main.c:313
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
-#: main.c:318
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
-#: main.c:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
-#: main.c:323
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr ""
-#: main.c:325
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr ""
-#: main.c:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
-#: main.c:330
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
msgstr ""
-#: main.c:332
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
-#: main.c:334
+#: 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:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
-#: main.c:339
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
"them.\n"
msgstr ""
-#: main.c:342
+#: 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:345
+#: main.c:355
+msgid ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
+msgstr ""
+
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr ""
-#: main.c:347
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-#: main.c:349
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr ""
-#: main.c:351
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
-#: main.c:353
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr ""
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr ""
-#: main.c:358
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
-#: main.c:360
+#: main.c:373
+msgid " --trace Print tracing information.\n"
+msgstr ""
+
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr ""
-#: main.c:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr ""
-#: main.c:364
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr ""
-#: main.c:366
+#: 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:369
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr ""
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "negalimas tuÅ¡Äias failo pavadinimas"
-#: main.c:650
-#, c-format
-msgid "unknown debug level specification `%s'"
+#: main.c:737
+#, fuzzy, c-format
+msgid "unknown debug level specification '%s'"
msgstr "nežinomas debug lygio specifikacija „%s“"
-#: main.c:690
+#: main.c:774
+#, c-format
+msgid "unknown output-sync type '%s'"
+msgstr ""
+
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr ""
-#: main.c:697
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -893,158 +1048,175 @@ msgid ""
"ExceptionAddress = 0x%p\n"
msgstr ""
-#: main.c:705
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr ""
-#: main.c:706
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr ""
-#: main.c:781 main.c:792
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr ""
-#: main.c:834
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr ""
-#: main.c:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr ""
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr ""
-#: main.c:1501
-msgid "Makefile from standard input specified twice."
+#: main.c:1527
+#, c-format
+msgid ""
+"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
-#: main.c:1539 vmsjobs.c:500
-msgid "fopen (temporary file)"
+#: main.c:1530
+#, c-format
+msgid "Jobserver client (semaphore %s)\n"
msgstr ""
-#: main.c:1545
-msgid "fwrite (temporary file)"
+#: main.c:1534
+#, c-format
+msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr ""
-#: main.c:1703
-msgid "Parallel jobs (-j) are not supported on this platform."
+#: main.c:1537
+#, c-format
+msgid "Jobserver client (fds %d,%d)\n"
msgstr ""
-#: main.c:1704
-msgid "Resetting to single job (-j1) mode."
+#: main.c:1551
+msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr ""
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
+#: main.c:1567
+msgid "dup jobserver"
msgstr ""
-#: main.c:1727
-#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
+#: main.c:1570
+msgid ""
+"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
-#: main.c:1730
-#, c-format
-msgid "Jobserver client (fds %d,%d)\n"
+#: main.c:1742
+msgid "Makefile from standard input specified twice."
msgstr ""
-#: main.c:1740
-msgid "warning: -jN forced in submake: disabling jobserver mode."
+#: main.c:1780 vmsjobs.c:653
+msgid "fopen (temporary file)"
msgstr ""
-#: main.c:1750
-msgid "dup jobserver"
+#: main.c:1786
+msgid "fwrite (temporary file)"
msgstr ""
-#: main.c:1753
-msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
+#: main.c:1974
+msgid "Parallel jobs (-j) are not supported on this platform."
+msgstr ""
+
+#: main.c:1975
+msgid "Resetting to single job (-j1) mode."
msgstr ""
-#: main.c:1777
+#: 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:1792
+#: main.c:2028
msgid "init jobserver pipe"
msgstr ""
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr ""
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Atnaujinami „make“ failai....\n"
-#: main.c:1917
+#: main.c:2158
#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
+msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr ""
-#: main.c:1996
-#, c-format
-msgid "Failed to remake makefile `%s'."
-msgstr ""
+#: main.c:2237
+#, fuzzy, c-format
+msgid "Failed to remake makefile '%s'."
+msgstr "Nereikia atnaujinti taikinio „%s“"
-#: main.c:2013
-#, c-format
-msgid "Included makefile `%s' was not found."
-msgstr ""
+#: main.c:2257
+#, fuzzy, c-format
+msgid "Included makefile '%s' was not found."
+msgstr "„Make“ failas „%s“ nerastas"
-#: main.c:2018
+#: main.c:2262
#, fuzzy, c-format
-msgid "Makefile `%s' was not found"
+msgid "Makefile '%s' was not found"
msgstr "„Make“ failas „%s“ nerastas"
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Nepavyko grįžti į pirminį aplanką."
-#: main.c:2102
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr ""
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr ""
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ""
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Nenurodyta tikslų ir nerasta „make“ failų"
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
msgstr "Nėra tikslų"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Atnaujinami tikslai...\n"
-#: main.c:2306
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
-#: main.c:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Naudojimas: %s [argumentai] [tikslas] ...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1053,7 +1225,7 @@ msgstr ""
"\n"
"Å i programa sukompiliuota %s sistemai\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1062,36 +1234,36 @@ msgstr ""
"\n"
"Å i programa sukompiliuota %s (%s) sistemai\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "Praneškite apie klaidas adresu <bug-make@gnu.org>\n"
-#: main.c:2562
+#: main.c:2807
#, fuzzy, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
+msgid "the '%s%s' option requires a non-empty string argument"
msgstr "parametrui „-%c“ reikia netuÅ¡Äio argumento"
-#: main.c:2617
+#: main.c:2871
#, fuzzy, c-format
-msgid "the `-%c' option requires a positive integral argument"
+msgid "the '-%c' option requires a positive integer argument"
msgstr "parametrui „-%c“ reikia teigiamo sveiko argumento"
-#: main.c:3054
+#: main.c:3269
#, fuzzy, c-format
msgid "%sBuilt for %s\n"
msgstr ""
"\n"
"%sÅ i programa sukompiliuota %s sistemai\n"
-#: main.c:3056
+#: main.c:3271
#, fuzzy, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr ""
"\n"
"%sÅ i programa sukompiliuota %s (%s) sistemai\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1100,461 +1272,475 @@ msgid ""
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
"# Make data base, printed on %s"
msgstr ""
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
"# Finished Make data base on %s\n"
msgstr ""
-#: main.c:3237
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "Nežinoma klaida %d"
+
+#: misc.c:522
+#, c-format
+msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+msgstr "%s: user %lu (real %lu), group %lu (real %lu)\n"
+
+#: misc.c:543
+msgid "Initialized access"
+msgstr ""
+
+#: misc.c:622
+msgid "User access"
+msgstr ""
+
+#: misc.c:670
+msgid "Make access"
+msgstr ""
+
+#: misc.c:704
+msgid "Child access"
+msgstr ""
+
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: Įeinama į nežinomą aplanką\n"
-#: main.c:3239
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: Išeinama iš nežinomo aplanko\n"
-#: main.c:3242
-#, c-format
-msgid "%s: Entering directory `%s'\n"
+#: output.c:109
+#, fuzzy, c-format
+msgid "%s: Entering directory '%s'\n"
msgstr "%s: Įeinama į aplanką „%s“\n"
-#: main.c:3245
-#, c-format
-msgid "%s: Leaving directory `%s'\n"
+#: output.c:111
+#, fuzzy, c-format
+msgid "%s: Leaving directory '%s'\n"
msgstr "%s: Išeinama iš aplanko „%s“\n"
-#: main.c:3250
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: Įeinama į nežinomą aplanką\n"
-#: main.c:3253
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Išeinama iš nežinomo aplanko\n"
-#: main.c:3257
-#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
+#: output.c:120
+#, fuzzy, c-format
+msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: Įeinama į aplanką „%s“\n"
-#: main.c:3260
-#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
+#: output.c:122
+#, fuzzy, c-format
+msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: Išeinama iš aplanko „%s“\n"
-#: misc.c:316
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
+msgstr "rašymo klaida: %s"
+
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Pabaiga.\n"
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "Nežinoma klaida %d"
-
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "baigÄ—si virtuali atmintis"
-
-#: misc.c:708
-#, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: user %lu (real %lu), group %lu (real %lu)\n"
-
-#: misc.c:729
-msgid "Initialized access"
-msgstr ""
-
-#: misc.c:808
-msgid "User access"
-msgstr ""
-
-#: misc.c:856
-msgid "Make access"
-msgstr ""
-
-#: misc.c:890
-msgid "Child access"
-msgstr ""
-
-#: misc.c:954
-#, c-format
-msgid "write error: %s"
-msgstr "rašymo klaida: %s"
-
-#: misc.c:956
-msgid "write error"
-msgstr "rašymo klaida"
-
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
msgstr "Skaitomi „make“ failai...\n"
-#: read.c:333
-#, c-format
-msgid "Reading makefile `%s'"
+#: read.c:335
+#, fuzzy, c-format
+msgid "Reading makefile '%s'"
msgstr "Skaitomas „make“ failas „%s“"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (nÄ—ra numatytojo tikslo)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (paieškos kelias)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (nesvarbu)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (nėra ~ išplėtimo)"
-#: read.c:759
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr ""
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr ""
+
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "netaisyklinga sÄ…lygos sintaksÄ—"
-#: read.c:891
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr ""
+
+#: read.c:992
#, fuzzy
msgid "recipe commences before first target"
msgstr "komandos prasideda prieš pirmąjį tikslą"
-#: read.c:940
+#: read.c:1041
#, fuzzy
msgid "missing rule before recipe"
msgstr "trūksta taisyklės prieš komandas"
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "trūksta skirtuko%s"
-
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (ar norėjote padėti TAB simbolį vietoje 8 tarpų?)"
-#: read.c:1163
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "trūksta skirtuko%s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "trūksta tikslo šablono"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
msgstr "keli tikslo Å¡ablonai"
-#: read.c:1169
-#, c-format
-msgid "target pattern contains no `%%'"
+#: read.c:1276
+#, fuzzy, c-format
+msgid "target pattern contains no '%%'"
msgstr "tikslo šablone nėra „%%“"
-#: read.c:1293
-msgid "missing `endif'"
+#: read.c:1398
+#, fuzzy
+msgid "missing 'endif'"
msgstr "trūksta „endif“"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "tuÅ¡Äias kintamojo pavadinimas"
-#: read.c:1367
+#: read.c:1471
#, fuzzy
-msgid "extraneous text after `define' directive"
+msgid "extraneous text after 'define' directive"
msgstr "Perteklinis tekstas po „endef“ direktyvos"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
+#: read.c:1496
+#, fuzzy
+msgid "missing 'endef', unterminated 'define'"
msgstr "trūksta „endef“, nebaigtas „define“"
-#: read.c:1420
+#: read.c:1524
#, fuzzy
-msgid "extraneous text after `endef' directive"
+msgid "extraneous text after 'endef' directive"
msgstr "Perteklinis tekstas po „endef“ direktyvos"
-#: read.c:1490
-#, c-format
-msgid "Extraneous text after `%s' directive"
+#: read.c:1595
+#, fuzzy, c-format
+msgid "extraneous text after '%s' directive"
msgstr "Perteklinis tekstas po „%s“ direktyvos"
-#: read.c:1499 read.c:1513
-#, c-format
-msgid "extraneous `%s'"
+#: read.c:1596
+#, fuzzy, c-format
+msgid "extraneous '%s'"
msgstr "perteklinis „%s“"
-#: read.c:1518
-msgid "only one `else' per conditional"
+#: read.c:1624
+msgid "only one 'else' per conditional"
msgstr ""
-#: read.c:1797
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr ""
-#: read.c:1855
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr ""
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr ""
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr ""
-#: read.c:1976
+#: read.c:2091
#, c-format
-msgid "target `%s' doesn't match the target pattern"
+msgid "target '%s' doesn't match the target pattern"
msgstr ""
-#: read.c:1991 read.c:2036
+#: read.c:2106 read.c:2152
#, c-format
-msgid "target file `%s' has both : and :: entries"
+msgid "target file '%s' has both : and :: entries"
msgstr ""
-#: read.c:1997
+#: read.c:2112
#, c-format
-msgid "target `%s' given more than once in the same rule."
+msgid "target '%s' given more than once in the same rule"
msgstr ""
-#: read.c:2006
+#: read.c:2122
#, c-format
-msgid "warning: overriding recipe for target `%s'"
+msgid "warning: overriding recipe for target '%s'"
msgstr ""
-#: read.c:2009
+#: read.c:2125
#, c-format
-msgid "warning: ignoring old recipe for target `%s'"
+msgid "warning: ignoring old recipe for target '%s'"
+msgstr ""
+
+#: read.c:2229
+msgid "*** mixed implicit and normal rules: deprecated syntax"
msgstr ""
-#: read.c:2392
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr ""
-#: remake.c:234
-#, c-format
-msgid "Nothing to be done for `%s'."
+#: remake.c:230
+#, fuzzy, c-format
+msgid "Nothing to be done for '%s'."
msgstr "Nėra ką daryti su „%s“."
-#: remake.c:235
-#, c-format
-msgid "`%s' is up to date."
+#: remake.c:231
+#, fuzzy, c-format
+msgid "'%s' is up to date."
msgstr "„%s“ atnaujinti nereikia."
-#: remake.c:306
-#, c-format
-msgid "Pruning file `%s'.\n"
-msgstr ""
-
-#: remake.c:359
-#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%sNėra taisyklės pasiekti tikslui „%s“%s"
+#: remake.c:303
+#, fuzzy, c-format
+msgid "Pruning file '%s'.\n"
+msgstr "Vis dar atnaujinamas failas „%s“.\n"
-#: remake.c:361
-#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
+#: remake.c:390 remake.c:393
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr "%sNėra taisyklės pasiekti tikslui „%s“, kurio reikia „%s“%s"
-#: remake.c:413
-#, c-format
-msgid "Considering target file `%s'.\n"
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sNėra taisyklės pasiekti tikslui „%s“%s"
+
+#: remake.c:426
+#, fuzzy, c-format
+msgid "Considering target file '%s'.\n"
msgstr "Svarstomas tikslo failas „%s“.\n"
-#: remake.c:420
-#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
+#: remake.c:433
+#, fuzzy, c-format
+msgid "Recently tried and failed to update file '%s'.\n"
msgstr "Neseniai bandyta ir nepavyko atnaujinti failo „%s“.\n"
-#: remake.c:432
-#, c-format
-msgid "File `%s' was considered already.\n"
+#: remake.c:445
+#, fuzzy, c-format
+msgid "File '%s' was considered already.\n"
msgstr "Failas „%s“ jau apsvarstytas.\n"
-#: remake.c:442
-#, c-format
-msgid "Still updating file `%s'.\n"
+#: remake.c:455
+#, fuzzy, c-format
+msgid "Still updating file '%s'.\n"
msgstr "Vis dar atnaujinamas failas „%s“.\n"
-#: remake.c:445
-#, c-format
-msgid "Finished updating file `%s'.\n"
+#: remake.c:458
+#, fuzzy, c-format
+msgid "Finished updating file '%s'.\n"
msgstr "Baigtas atnaujinti failas „%s“.\n"
-#: remake.c:474
-#, c-format
-msgid "File `%s' does not exist.\n"
+#: remake.c:487
+#, fuzzy, c-format
+msgid "File '%s' does not exist.\n"
msgstr "Failas „%s“ neegzistuoja.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-#: remake.c:494 remake.c:1016
-#, c-format
-msgid "Found an implicit rule for `%s'.\n"
+#: remake.c:508 remake.c:1040
+#, fuzzy, c-format
+msgid "Found an implicit rule for '%s'.\n"
msgstr "Rasta neišreikštinė taisyklė tikslui „%s“.\n"
-#: remake.c:496 remake.c:1018
-#, c-format
-msgid "No implicit rule found for `%s'.\n"
-msgstr "Nerasta neišreikštinių taisyklių tikslui „%s“.\n"
-
-#: remake.c:502
+#: remake.c:510 remake.c:1042
#, fuzzy, c-format
-msgid "Using default recipe for `%s'.\n"
-msgstr "Nėra ką daryti su „%s“."
+msgid "No implicit rule found for '%s'.\n"
+msgstr "Nerasta neišreikštinių taisyklių tikslui „%s“.\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:516
#, c-format
-msgid "Circular %s <- %s dependency dropped."
+msgid "Using default recipe for '%s'.\n"
msgstr ""
-#: remake.c:651
+#: remake.c:550 remake.c:1089
#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
+msgid "Circular %s <- %s dependency dropped."
msgstr ""
-#: remake.c:657
-#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
-msgstr ""
+#: remake.c:675
+#, fuzzy, c-format
+msgid "Finished prerequisites of target file '%s'.\n"
+msgstr "Svarstomas tikslo failas „%s“.\n"
-#: remake.c:670
+#: remake.c:681
#, c-format
-msgid "Giving up on target file `%s'.\n"
+msgid "The prerequisites of '%s' are being made.\n"
msgstr ""
-#: remake.c:675
-#, c-format
-msgid "Target `%s' not remade because of errors."
+#: remake.c:695
+#, fuzzy, c-format
+msgid "Giving up on target file '%s'.\n"
+msgstr "Svarstomas tikslo failas „%s“.\n"
+
+#: remake.c:700
+#, fuzzy, c-format
+msgid "Target '%s' not remade because of errors."
msgstr "Tikslas „%s“ neatnaujintas dėl klaidų."
-#: remake.c:727
+#: remake.c:752
#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr ""
-#: remake.c:732
-#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
-msgstr ""
+#: remake.c:757
+#, fuzzy, c-format
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
+msgstr "Failas „%s“ neegzistuoja.\n"
-#: remake.c:737
+#: remake.c:762
#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr ""
-#: remake.c:740
+#: remake.c:765
#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
+msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr ""
-#: remake.c:758
+#: remake.c:783
#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr ""
-#: remake.c:765
+#: remake.c:790
#, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr ""
-#: remake.c:770
+#: remake.c:795
#, c-format
-msgid "Making `%s' due to always-make flag.\n"
+msgid "Making '%s' due to always-make flag.\n"
msgstr ""
-#: remake.c:778
-#, c-format
-msgid "No need to remake target `%s'"
+#: remake.c:803
+#, fuzzy, c-format
+msgid "No need to remake target '%s'"
msgstr "Nereikia atnaujinti taikinio „%s“"
-#: remake.c:780
+#: remake.c:805
#, c-format
-msgid "; using VPATH name `%s'"
+msgid "; using VPATH name '%s'"
msgstr ""
-#: remake.c:800
-#, c-format
-msgid "Must remake target `%s'.\n"
+#: remake.c:825
+#, fuzzy, c-format
+msgid "Must remake target '%s'.\n"
msgstr "Būtina atnaujinti taikinį „%s“.\n"
-#: remake.c:806
+#: remake.c:831
#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
+msgid " Ignoring VPATH name '%s'.\n"
msgstr ""
-#: remake.c:815
+#: remake.c:840
#, fuzzy, c-format
-msgid "Recipe of `%s' is being run.\n"
+msgid "Recipe of '%s' is being run.\n"
msgstr "Vykdomos „%s“ komandos.\n"
-#: remake.c:822
-#, c-format
-msgid "Failed to remake target file `%s'.\n"
-msgstr ""
+#: remake.c:847
+#, fuzzy, c-format
+msgid "Failed to remake target file '%s'.\n"
+msgstr "Nereikia atnaujinti taikinio „%s“"
-#: remake.c:825
-#, c-format
-msgid "Successfully remade target file `%s'.\n"
-msgstr ""
+#: remake.c:850
+#, fuzzy, c-format
+msgid "Successfully remade target file '%s'.\n"
+msgstr "Būtina atnaujinti taikinį „%s“.\n"
-#: remake.c:828
+#: remake.c:853
#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
+msgid "Target file '%s' needs to be remade under -q.\n"
msgstr ""
-#: remake.c:1024
-#, c-format
-msgid "Using default commands for `%s'.\n"
-msgstr ""
+#: remake.c:1048
+#, fuzzy, c-format
+msgid "Using default commands for '%s'.\n"
+msgstr "paskutinÄ— komanda: %s\n"
-#: remake.c:1357
+#: remake.c:1397
#, c-format
-msgid "Warning: File `%s' has modification time in the future"
+msgid "Warning: File '%s' has modification time in the future"
msgstr ""
-#: remake.c:1370
+#: remake.c:1411
#, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
+msgid "Warning: File '%s' has modification time %s s in the future"
msgstr ""
-#: remake.c:1569
+#: remake.c:1610
#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
+msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr ""
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
msgstr ""
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1562,7 +1748,7 @@ msgstr ""
"\n"
"# Neišreikštinės taisyklės"
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1570,7 +1756,7 @@ msgstr ""
"\n"
"# Nėra neišreikštinių taisyklių."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1579,393 +1765,422 @@ msgstr ""
"\n"
"# %u neišreikštinių taisyklių, %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
msgstr ""
-#: rule.c:534
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr ""
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
msgstr "nežinomas signalas"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
msgstr ""
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
msgstr "Pertraukimas"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
msgstr "IÅ¡eita"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
msgstr "Neleistina instrukcija"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
msgstr ""
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr ""
-#: signame.c:114
+#: signame.c:112
#, fuzzy
msgid "IOT trap"
msgstr "EMT gaudyklÄ—"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
msgstr "EMT gaudyklÄ—"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
msgstr "Slankaus kablelio klaida"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
msgstr "Nutraukta"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
msgstr "MagistralÄ—s klaida"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
msgstr "Segmentacijos klaida"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
msgstr "Blogas sisteminis kvietimas"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
msgstr ""
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr "Žadintuvas"
-#: signame.c:141
+#: signame.c:139
#, fuzzy
msgid "Terminated"
msgstr "apribota"
-#: signame.c:144
+#: signame.c:142
#, fuzzy
msgid "User defined signal 1"
msgstr "%s: nutrauktas signalo %d"
-#: signame.c:147
+#: signame.c:145
#, fuzzy
msgid "User defined signal 2"
msgstr "%s: nutrauktas signalo %d"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
#, fuzzy
msgid "Child exited"
msgstr "Failas jau egzistuoja"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
msgstr "Elektros maitinimo sutrikimas"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr "Sustabdyta"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
msgstr "Sustabdyta (tty įvedimas)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
msgstr "Sustabdyta (tty išvedimas)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
msgstr "Sustabdyta (signalas)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
msgstr "Viršytas CPU laiko limitas"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
msgstr "Viršytas failo dydžio limitas"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
msgstr ""
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
msgstr ""
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
msgstr "Langas pakeistas"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
msgstr "Pratęsta"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
msgstr ""
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
msgstr "Galimas įvedimas/išvedimas"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr "IÅ¡teklius prarastas"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
msgstr "Pavojaus signalas"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
msgstr "Informacijos užklausa"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
msgstr "Slankaus kablelio koprocesorius neprieinamas"
-#: strcache.c:235
+#: strcache.c:236
+#, c-format
+msgid ""
+"\n"
+"%s No strcache buffers\n"
+msgstr ""
+
+#: strcache.c:266
#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
msgstr ""
-#: strcache.c:237
+#: strcache.c:270
#, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
-#: strcache.c:239
+#: strcache.c:280
#, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
msgstr ""
-#: strcache.c:241
+#: strcache.c:283
#, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid ""
+"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
msgstr ""
-#: strcache.c:244
-#, fuzzy
+#: strcache.c:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
+msgstr ""
+
+#: strcache.c:289
+#, fuzzy
+msgid ""
+"# hash-table stats:\n"
"# "
msgstr ""
"\n"
"# failų maišos lentelės statistika:\n"
"# "
-#: variable.c:1541
+#: variable.c:1599
+msgid "automatic"
+msgstr ""
+
+#: variable.c:1602
msgid "default"
msgstr ""
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
msgstr ""
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
msgstr ""
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
msgstr ""
-#: variable.c:1553
+#: variable.c:1614
#, fuzzy
msgid "command line"
msgstr "%s: komanda nerasta"
-#: variable.c:1556
-msgid "`override' directive"
-msgstr ""
-
-#: variable.c:1559
-msgid "automatic"
-msgstr ""
+#: variable.c:1617
+#, fuzzy
+msgid "'override' directive"
+msgstr "tuÅ¡Äia „override“ direktyva"
-#: variable.c:1570
-#, c-format
-msgid " (from `%s', line %lu)"
-msgstr ""
+#: variable.c:1628
+#, fuzzy, c-format
+msgid " (from '%s', line %lu)"
+msgstr " (nuo „%s“, %lu eilutė):\n"
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr ""
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
msgstr ""
-#: variable.c:1627
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
msgstr ""
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
"# %u pattern-specific variable values"
msgstr ""
-#: variable.h:219
+#: variable.h:224
#, fuzzy, c-format
-msgid "warning: undefined variable `%.*s'"
+msgid "warning: undefined variable '%.*s'"
msgstr "%s: neatpažintas argumentas „%c%s“\n"
-#: vmsfunctions.c:92
+#: vmsfunctions.c:91
#, c-format
msgid "sys$search() failed with %d\n"
msgstr ""
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr ""
-#: vmsjobs.c:184
+#: vmsjobs.c:183
#, c-format
-msgid "internal error: `%s' command_state"
+msgid "internal error: '%s' command_state"
msgstr ""
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr ""
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr ""
-#: vmsjobs.c:450
+#: vmsjobs.c:501
#, c-format
-msgid "BUILTIN RM %s\n"
+msgid "BUILTIN ECHO %s->%s\n"
msgstr ""
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, fuzzy, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "paskutinÄ— komanda: %s\n"
-#: vmsjobs.c:493
+#: 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:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr ""
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, fuzzy, c-format
msgid "Redirected error to %s\n"
msgstr "skaitymo klaida: %d: %s"
-#: vmsjobs.c:523
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr ""
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr ""
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr ""
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr ""
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr ""
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
msgstr ""
-#: vpath.c:603
-msgid "# No `vpath' search paths."
-msgstr ""
+#: vpath.c:600
+#, fuzzy
+msgid "# No 'vpath' search paths."
+msgstr " (paieškos kelias)"
-#: vpath.c:605
+#: vpath.c:602
#, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
-#: vpath.c:608
+#: vpath.c:605
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
-#: vpath.c:614
+#: vpath.c:611
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
+#~ msgid "# Invalid value in `update_status' member!"
+#~ msgstr "# Netaisyklinga reikšmė „update_status“ naryje!"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "baigÄ—si virtuali atmintis"
+
+#~ msgid "write error"
+#~ msgstr "rašymo klaida"
+
#~ msgid "extraneous `endef'"
#~ msgstr "perteklinis „endef“"
-#~ msgid "empty `override' directive"
-#~ msgstr "tuÅ¡Äia „override“ direktyva"
-
#, fuzzy
#~ msgid "invalid `override' directive"
#~ msgstr "netaisyklinga „override“ direktyva"
diff --git a/po/make.pot b/po/make.pot
index 175984eb..0faab64a 100644
--- a/po/make.pot
+++ b/po/make.pot
@@ -6,454 +6,514 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: GNU make 4.1\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ar.c:48
+#: ar.c:46
#, c-format
-msgid "attempt to use unsupported feature: `%s'"
+msgid "attempt to use unsupported feature: '%s'"
msgstr ""
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
msgstr ""
-#: ar.c:149
+#: ar.c:147
#, c-format
-msgid "touch: Archive `%s' does not exist"
+msgid "touch: Archive '%s' does not exist"
msgstr ""
-#: ar.c:152
+#: ar.c:150
#, c-format
-msgid "touch: `%s' is not a valid archive"
+msgid "touch: '%s' is not a valid archive"
msgstr ""
-#: ar.c:159
+#: ar.c:157
#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
+msgid "touch: Member '%s' does not exist in '%s'"
msgstr ""
-#: ar.c:166
+#: ar.c:164
#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
+msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr ""
-#: arscan.c:69
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr ""
-#: arscan.c:175
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr ""
-#: arscan.c:187
+#: arscan.c:255
#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
+msgid "unable to open library '%s' to lookup member status %d"
msgstr ""
-#: arscan.c:850
+#: arscan.c:944
#, c-format
-msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
+msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr ""
-#: arscan.c:851
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr ""
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr ""
-#: arscan.c:854
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
msgstr ""
-#: commands.c:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr ""
+
+#: commands.c:505
msgid "*** Break.\n"
msgstr ""
-#: commands.c:622
+#: commands.c:629
#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
+msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr ""
-#: commands.c:625
+#: commands.c:633
#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
+msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr ""
-#: commands.c:638
+#: commands.c:647
#, c-format
-msgid "*** [%s] Deleting file `%s'"
+msgid "*** [%s] Deleting file '%s'"
msgstr ""
-#: commands.c:640
+#: commands.c:649
#, c-format
-msgid "*** Deleting file `%s'"
+msgid "*** Deleting file '%s'"
msgstr ""
-#: commands.c:676
+#: commands.c:685
msgid "# recipe to execute"
msgstr ""
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
msgstr ""
-#: commands.c:681
+#: commands.c:690
#, c-format
-msgid " (from `%s', line %lu):\n"
+msgid " (from '%s', line %lu):\n"
msgstr ""
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
msgstr ""
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
msgstr ""
-#: dir.c:1012
+#: dir.c:1005
#, c-format
msgid "# %s (key %s, mtime %d): could not be opened.\n"
msgstr ""
-#: dir.c:1016
+#: dir.c:1009
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n"
msgstr ""
-#: dir.c:1021
+#: dir.c:1014
#, c-format
msgid "# %s (device %ld, inode %ld): could not be opened.\n"
msgstr ""
-#: dir.c:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
msgstr ""
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
msgstr ""
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
msgstr ""
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr ""
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr ""
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr ""
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
msgstr ""
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
msgstr ""
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
msgstr ""
-#: expand.c:127
+#: expand.c:125
#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
+msgid "Recursive variable '%s' references itself (eventually)"
msgstr ""
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
msgstr ""
-#: file.c:267
+#: file.c:271
#, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
+msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr ""
-#: file.c:272
+#: file.c:276
#, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
+msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr ""
-#: file.c:275
+#: file.c:280
#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
+msgid "but '%s' is now considered the same file as '%s'."
msgstr ""
-#: file.c:278
+#: file.c:283
#, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
+msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr ""
-#: file.c:298
+#: file.c:303
#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
+msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr ""
-#: file.c:303
+#: file.c:309
#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
+msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr ""
-#: file.c:392
+#: file.c:401
#, c-format
-msgid "*** Deleting intermediate file `%s'"
+msgid "*** Deleting intermediate file '%s'"
msgstr ""
-#: file.c:396
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr ""
-#: file.c:803
-#, c-format
-msgid "%s: Timestamp out of range; substituting %s"
+#: file.c:811
+msgid "Current time"
msgstr ""
-#: file.c:804
-msgid "Current time"
+#: file.c:815
+#, c-format
+msgid "%s: Timestamp out of range; substituting %s"
msgstr ""
-#: file.c:924
+#: file.c:955
msgid "# Not a target:"
msgstr ""
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr ""
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr ""
-#: file.c:933
+#: file.c:964
msgid "# Command line target."
msgstr ""
-#: file.c:935
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr ""
-#: file.c:937
+#: file.c:968
+msgid "# Builtin rule"
+msgstr ""
+
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr ""
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr ""
-#: file.c:940
+#: file.c:973
#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
+msgid "# Implicit/static pattern stem: '%s'\n"
msgstr ""
-#: file.c:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr ""
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
msgstr ""
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
msgstr ""
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
msgstr ""
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
msgstr ""
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr ""
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
msgstr ""
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
msgstr ""
-#: file.c:968
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr ""
-#: file.c:971
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr ""
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
msgstr ""
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr ""
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
msgstr ""
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
+#: file.c:1025
+msgid "# Invalid value in 'command_state' member!"
msgstr ""
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
-msgstr ""
-
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
msgstr ""
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr ""
+
+#: function.c:780
+msgid "non-numeric first argument to 'word' function"
msgstr ""
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
+#: function.c:785
+msgid "first argument to 'word' function must be greater than 0"
msgstr ""
-#: function.c:783
-msgid "non-numeric first argument to `wordlist' function"
+#: function.c:805
+msgid "non-numeric first argument to 'wordlist' function"
msgstr ""
-#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
+#: function.c:807
+msgid "non-numeric second argument to 'wordlist' function"
msgstr ""
-#: function.c:1458
+#: function.c:1499
#, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr ""
-#: function.c:1469
+#: function.c:1523
#, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr ""
-#: function.c:1474
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr ""
-#: function.c:1479
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr ""
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr ""
-#: function.c:2150
+#: function.c:2193
#, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
+msgid "open: %s: %s"
msgstr ""
-#: function.c:2162
+#: function.c:2203
#, c-format
-msgid "unimplemented on this platform: function `%s'"
+msgid "write: %s: %s"
msgstr ""
-#: function.c:2212
+#: function.c:2209
#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
+msgid "Invalid file operation: %s"
msgstr ""
-#: getopt.c:661
+#: function.c:2324
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+msgid "insufficient number of arguments (%d) to function '%s'"
msgstr ""
-#: getopt.c:685
+#: function.c:2336
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "unimplemented on this platform: function '%s'"
msgstr ""
-#: getopt.c:690
+#: function.c:2399
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "unterminated call to function '%s': missing '%c'"
msgstr ""
-#: getopt.c:707 getopt.c:880
+#: function.c:2591
+msgid "Empty function name"
+msgstr ""
+
+#: function.c:2593
+#, c-format
+msgid "Invalid function name: %s"
+msgstr ""
+
+#: function.c:2595
+#, c-format
+msgid "Function name too long: %s"
+msgstr ""
+
+#: function.c:2598
+#, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr ""
+
+#: function.c:2601
+#, c-format
+msgid "Invalid maximum argument count (%d) for function %s"
+msgstr ""
+
+#: getopt.c:659
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr ""
+
+#: getopt.c:683
#, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr ""
-#: getopt.c:736
+#: getopt.c:688
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr ""
-#: getopt.c:740
+#: getopt.c:705 getopt.c:878
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: option '%s' requires an argument\n"
msgstr ""
-#: getopt.c:766
+#: getopt.c:734
+#, c-format
+msgid "%s: unrecognized option '--%s'\n"
+msgstr ""
+
+#: getopt.c:738
+#, c-format
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr ""
+
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr ""
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr ""
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr ""
-#: getopt.c:846
+#: getopt.c:844
+#, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr ""
+
+#: getopt.c:862
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr ""
-#: getopt.c:864
+#: guile.c:58
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "guile: Expanding '%s'\n"
+msgstr ""
+
+#: guile.c:74
+#, c-format
+msgid "guile: Evaluating '%s'\n"
msgstr ""
#: hash.c:49
@@ -476,396 +536,486 @@ msgstr ""
msgid "Collisions=%ld/%ld=%.0f%%"
msgstr ""
-#: implicit.c:40
+#: implicit.c:38
#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
+msgid "Looking for an implicit rule for '%s'.\n"
msgstr ""
-#: implicit.c:56
+#: implicit.c:54
#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
+msgid "Looking for archive-member implicit rule for '%s'.\n"
msgstr ""
-#: implicit.c:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
msgstr ""
+#: implicit.c:486
+#, c-format
+msgid "Stem too long: '%.*s'.\n"
+msgstr ""
+
#: implicit.c:491
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
+msgid "Trying pattern rule with stem '%.*s'.\n"
msgstr ""
-#: implicit.c:674
+#: implicit.c:697
#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
msgstr ""
-#: implicit.c:675
+#: implicit.c:698
#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
msgstr ""
-#: implicit.c:688
+#: implicit.c:711
#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
+msgid "Trying rule prerequisite '%s'.\n"
msgstr ""
-#: implicit.c:689
+#: implicit.c:712
#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
+msgid "Trying implicit prerequisite '%s'.\n"
msgstr ""
-#: implicit.c:728
+#: implicit.c:751
#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
msgstr ""
-#: implicit.c:742
+#: implicit.c:765
#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
+msgid "Looking for a rule with intermediate file '%s'.\n"
msgstr ""
-#: job.c:335
+#: job.c:361
msgid "Cannot create a temporary file\n"
msgstr ""
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
+#: job.c:483
+msgid " (core dumped)"
msgstr ""
-#: job.c:450
+#: job.c:488
+msgid " (ignored)"
+msgstr ""
+
+#: job.c:492 job.c:2046
+msgid "<builtin>"
+msgstr ""
+
+#: job.c:503
#, c-format
-msgid "*** [%s] Error 0x%x"
+msgid "%s: recipe for target '%s' failed"
msgstr ""
-#: job.c:454
+#: job.c:516 job.c:524
#, c-format
-msgid "[%s] Error %d (ignored)"
+msgid "%s[%s] Error %d%s"
msgstr ""
-#: job.c:455
+#: job.c:519
#, c-format
-msgid "*** [%s] Error %d"
+msgid "%s[%s] Error 0x%x%s"
msgstr ""
-#: job.c:460
-msgid " (core dumped)"
+#: job.c:529
+#, c-format
+msgid "%s[%s] %s%s%s"
msgstr ""
-#: job.c:549
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr ""
-#: job.c:579
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr ""
-#: job.c:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr ""
-#: job.c:758
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr ""
-#: job.c:759
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr ""
-#: job.c:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr ""
-#: job.c:861
+#: job.c:855
+#, c-format
+msgid "Cleaning up temp batch file %s failed (%d)\n"
+msgstr ""
+
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr ""
-#: job.c:920
-msgid "write jobserver"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: job.c:922
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
msgstr ""
-#: job.c:1453 job.c:2094
+#: 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:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
-#: job.c:1525
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
msgstr ""
-#: job.c:1778
+#: 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:1787
+#: job.c:2029
msgid "read jobs pipe"
msgstr ""
-#: job.c:1798
+#: job.c:2056
#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
+msgid "%s: target '%s' does not exist"
msgstr ""
-#: job.c:1802
+#: job.c:2059
#, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
+msgid "%s: update target '%s' due to: %s"
msgstr ""
-#: job.c:1910
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr ""
-#: job.c:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr ""
-#: job.c:1985
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr ""
-#: job.c:1987
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""
-#: job.c:2015
+#: job.c:2278
+msgid "no more file handles: could not duplicate stderr\n"
+msgstr ""
+
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr ""
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr ""
-#: job.c:2127
+#: job.c:2309
+msgid "Could not restore stderr\n"
+msgstr ""
+
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr ""
-#: job.c:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr ""
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr ""
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr ""
-#: job.c:2461
+#: job.c:2765
#, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
+msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr ""
-#: job.c:2951
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr ""
-#: job.c:2963
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-#: job.c:3065
+#: job.c:3503
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr ""
-#: main.c:303
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr ""
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr ""
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr ""
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr ""
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr ""
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr ""
+
+#: load.c:244
+msgid "The 'load' operation is not supported on this platform."
+msgstr ""
+
+#: main.c:313
msgid "Options:\n"
msgstr ""
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr ""
-#: main.c:306
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
-#: main.c:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
-#: main.c:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr ""
-#: main.c:313
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
-#: main.c:318
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
-#: main.c:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
-#: main.c:323
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr ""
-#: main.c:325
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr ""
-#: main.c:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
-#: main.c:330
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
msgstr ""
-#: main.c:332
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
-#: main.c:334
+#: 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:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
-#: main.c:339
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
"them.\n"
msgstr ""
-#: main.c:342
+#: 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:345
+#: main.c:355
+msgid ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
+msgstr ""
+
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr ""
-#: main.c:347
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-#: main.c:349
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr ""
-#: main.c:351
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
-#: main.c:353
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr ""
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr ""
-#: main.c:358
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
-#: main.c:360
+#: main.c:373
+msgid " --trace Print tracing information.\n"
+msgstr ""
+
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr ""
-#: main.c:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr ""
-#: main.c:364
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr ""
-#: main.c:366
+#: 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:369
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr ""
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
msgstr ""
-#: main.c:650
+#: main.c:737
+#, c-format
+msgid "unknown debug level specification '%s'"
+msgstr ""
+
+#: main.c:774
#, c-format
-msgid "unknown debug level specification `%s'"
+msgid "unknown output-sync type '%s'"
msgstr ""
-#: main.c:690
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr ""
-#: main.c:697
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -875,197 +1025,214 @@ msgid ""
"ExceptionAddress = 0x%p\n"
msgstr ""
-#: main.c:705
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr ""
-#: main.c:706
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr ""
-#: main.c:781 main.c:792
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
msgstr ""
-#: main.c:834
+#: main.c:988
#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
msgstr ""
-#: main.c:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr ""
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr ""
-#: main.c:1501
-msgid "Makefile from standard input specified twice."
+#: main.c:1527
+#, c-format
+msgid ""
+"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
-#: main.c:1539 vmsjobs.c:500
-msgid "fopen (temporary file)"
+#: main.c:1530
+#, c-format
+msgid "Jobserver client (semaphore %s)\n"
msgstr ""
-#: main.c:1545
-msgid "fwrite (temporary file)"
+#: main.c:1534
+#, c-format
+msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr ""
-#: main.c:1703
-msgid "Parallel jobs (-j) are not supported on this platform."
+#: main.c:1537
+#, c-format
+msgid "Jobserver client (fds %d,%d)\n"
msgstr ""
-#: main.c:1704
-msgid "Resetting to single job (-j1) mode."
+#: main.c:1551
+msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr ""
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
+#: main.c:1567
+msgid "dup jobserver"
msgstr ""
-#: main.c:1727
-#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
+#: main.c:1570
+msgid ""
+"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
-#: main.c:1730
-#, c-format
-msgid "Jobserver client (fds %d,%d)\n"
+#: main.c:1742
+msgid "Makefile from standard input specified twice."
msgstr ""
-#: main.c:1740
-msgid "warning: -jN forced in submake: disabling jobserver mode."
+#: main.c:1780 vmsjobs.c:653
+msgid "fopen (temporary file)"
msgstr ""
-#: main.c:1750
-msgid "dup jobserver"
+#: main.c:1786
+msgid "fwrite (temporary file)"
msgstr ""
-#: main.c:1753
-msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
+#: main.c:1974
+msgid "Parallel jobs (-j) are not supported on this platform."
msgstr ""
-#: main.c:1777
+#: main.c:1975
+msgid "Resetting to single job (-j1) mode."
+msgstr ""
+
+#: 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:1792
+#: main.c:2028
msgid "init jobserver pipe"
msgstr ""
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr ""
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr ""
-#: main.c:1917
+#: main.c:2158
#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
+msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr ""
-#: main.c:1996
+#: main.c:2237
#, c-format
-msgid "Failed to remake makefile `%s'."
+msgid "Failed to remake makefile '%s'."
msgstr ""
-#: main.c:2013
+#: main.c:2257
#, c-format
-msgid "Included makefile `%s' was not found."
+msgid "Included makefile '%s' was not found."
msgstr ""
-#: main.c:2018
+#: main.c:2262
#, c-format
-msgid "Makefile `%s' was not found"
+msgid "Makefile '%s' was not found"
msgstr ""
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr ""
-#: main.c:2102
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr ""
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr ""
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ""
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr ""
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
msgstr ""
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr ""
-#: main.c:2306
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
-#: main.c:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr ""
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
"This program built for %s\n"
msgstr ""
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
"This program built for %s (%s)\n"
msgstr ""
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr ""
-#: main.c:2562
+#: main.c:2807
#, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
+msgid "the '%s%s' option requires a non-empty string argument"
msgstr ""
-#: main.c:2617
+#: main.c:2871
#, c-format
-msgid "the `-%c' option requires a positive integral argument"
+msgid "the '-%c' option requires a positive integer argument"
msgstr ""
-#: main.c:3054
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
msgstr ""
-#: main.c:3056
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr ""
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1074,842 +1241,872 @@ msgid ""
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
"# Make data base, printed on %s"
msgstr ""
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
"# Finished Make data base on %s\n"
msgstr ""
-#: main.c:3237
+#: misc.c:201
#, c-format
-msgid "%s: Entering an unknown directory\n"
+msgid "Unknown error %d"
msgstr ""
-#: main.c:3239
+#: misc.c:522
#, c-format
-msgid "%s: Leaving an unknown directory\n"
+msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
msgstr ""
-#: main.c:3242
-#, c-format
-msgid "%s: Entering directory `%s'\n"
+#: misc.c:543
+msgid "Initialized access"
msgstr ""
-#: main.c:3245
-#, c-format
-msgid "%s: Leaving directory `%s'\n"
+#: misc.c:622
+msgid "User access"
msgstr ""
-#: main.c:3250
-#, c-format
-msgid "%s[%u]: Entering an unknown directory\n"
+#: misc.c:670
+msgid "Make access"
msgstr ""
-#: main.c:3253
-#, c-format
-msgid "%s[%u]: Leaving an unknown directory\n"
+#: misc.c:704
+msgid "Child access"
msgstr ""
-#: main.c:3257
+#: output.c:104
#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
+msgid "%s: Entering an unknown directory\n"
msgstr ""
-#: main.c:3260
+#: output.c:106
#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
-msgstr ""
-
-#: misc.c:316
-msgid ". Stop.\n"
+msgid "%s: Leaving an unknown directory\n"
msgstr ""
-#: misc.c:337
+#: output.c:109
#, c-format
-msgid "Unknown error %d"
+msgid "%s: Entering directory '%s'\n"
msgstr ""
-#: misc.c:347
+#: output.c:111
#, c-format
-msgid "%s%s: %s"
+msgid "%s: Leaving directory '%s'\n"
msgstr ""
-#: misc.c:355
+#: output.c:115
#, c-format
-msgid "%s: %s"
-msgstr ""
-
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
+msgid "%s[%u]: Entering an unknown directory\n"
msgstr ""
-#: misc.c:708
+#: output.c:117
#, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+msgid "%s[%u]: Leaving an unknown directory\n"
msgstr ""
-#: misc.c:729
-msgid "Initialized access"
+#: output.c:120
+#, c-format
+msgid "%s[%u]: Entering directory '%s'\n"
msgstr ""
-#: misc.c:808
-msgid "User access"
+#: output.c:122
+#, c-format
+msgid "%s[%u]: Leaving directory '%s'\n"
msgstr ""
-#: misc.c:856
-msgid "Make access"
+#: output.c:495 output.c:497
+msgid "write error: stdout"
msgstr ""
-#: misc.c:890
-msgid "Child access"
+#: output.c:677
+msgid ". Stop.\n"
msgstr ""
-#: misc.c:954
+#: output.c:711
#, c-format
-msgid "write error: %s"
+msgid "%s%s: %s"
msgstr ""
-#: misc.c:956
-msgid "write error"
+#: output.c:720
+#, c-format
+msgid "%s: %s"
msgstr ""
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
msgstr ""
-#: read.c:333
+#: read.c:335
#, c-format
-msgid "Reading makefile `%s'"
+msgid "Reading makefile '%s'"
msgstr ""
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr ""
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr ""
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr ""
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr ""
-#: read.c:759
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr ""
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr ""
+
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr ""
-#: read.c:891
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr ""
+
+#: read.c:992
msgid "recipe commences before first target"
msgstr ""
-#: read.c:940
+#: read.c:1041
msgid "missing rule before recipe"
msgstr ""
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
+#: read.c:1131
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr ""
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1133
+msgid "missing separator"
msgstr ""
-#: read.c:1163
+#: read.c:1270
msgid "missing target pattern"
msgstr ""
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
msgstr ""
-#: read.c:1169
+#: read.c:1276
#, c-format
-msgid "target pattern contains no `%%'"
+msgid "target pattern contains no '%%'"
msgstr ""
-#: read.c:1293
-msgid "missing `endif'"
+#: read.c:1398
+msgid "missing 'endif'"
msgstr ""
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr ""
-#: read.c:1367
-msgid "extraneous text after `define' directive"
+#: read.c:1471
+msgid "extraneous text after 'define' directive"
msgstr ""
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
+#: read.c:1496
+msgid "missing 'endef', unterminated 'define'"
msgstr ""
-#: read.c:1420
-msgid "extraneous text after `endef' directive"
+#: read.c:1524
+msgid "extraneous text after 'endef' directive"
msgstr ""
-#: read.c:1490
+#: read.c:1595
#, c-format
-msgid "Extraneous text after `%s' directive"
+msgid "extraneous text after '%s' directive"
msgstr ""
-#: read.c:1499 read.c:1513
+#: read.c:1596
#, c-format
-msgid "extraneous `%s'"
+msgid "extraneous '%s'"
msgstr ""
-#: read.c:1518
-msgid "only one `else' per conditional"
+#: read.c:1624
+msgid "only one 'else' per conditional"
msgstr ""
-#: read.c:1797
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr ""
-#: read.c:1855
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr ""
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr ""
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr ""
-#: read.c:1976
+#: read.c:2091
#, c-format
-msgid "target `%s' doesn't match the target pattern"
+msgid "target '%s' doesn't match the target pattern"
msgstr ""
-#: read.c:1991 read.c:2036
+#: read.c:2106 read.c:2152
#, c-format
-msgid "target file `%s' has both : and :: entries"
+msgid "target file '%s' has both : and :: entries"
msgstr ""
-#: read.c:1997
+#: read.c:2112
#, c-format
-msgid "target `%s' given more than once in the same rule."
+msgid "target '%s' given more than once in the same rule"
msgstr ""
-#: read.c:2006
+#: read.c:2122
#, c-format
-msgid "warning: overriding recipe for target `%s'"
+msgid "warning: overriding recipe for target '%s'"
msgstr ""
-#: read.c:2009
+#: read.c:2125
#, c-format
-msgid "warning: ignoring old recipe for target `%s'"
+msgid "warning: ignoring old recipe for target '%s'"
+msgstr ""
+
+#: read.c:2229
+msgid "*** mixed implicit and normal rules: deprecated syntax"
msgstr ""
-#: read.c:2392
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr ""
-#: remake.c:234
+#: remake.c:230
#, c-format
-msgid "Nothing to be done for `%s'."
+msgid "Nothing to be done for '%s'."
msgstr ""
-#: remake.c:235
+#: remake.c:231
#, c-format
-msgid "`%s' is up to date."
+msgid "'%s' is up to date."
msgstr ""
-#: remake.c:306
+#: remake.c:303
#, c-format
-msgid "Pruning file `%s'.\n"
+msgid "Pruning file '%s'.\n"
msgstr ""
-#: remake.c:359
+#: remake.c:390 remake.c:393
#, c-format
-msgid "%sNo rule to make target `%s'%s"
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr ""
-#: remake.c:361
+#: remake.c:402 remake.c:405
#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
+msgid "%sNo rule to make target '%s'%s"
msgstr ""
-#: remake.c:413
+#: remake.c:426
#, c-format
-msgid "Considering target file `%s'.\n"
+msgid "Considering target file '%s'.\n"
msgstr ""
-#: remake.c:420
+#: remake.c:433
#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
+msgid "Recently tried and failed to update file '%s'.\n"
msgstr ""
-#: remake.c:432
+#: remake.c:445
#, c-format
-msgid "File `%s' was considered already.\n"
+msgid "File '%s' was considered already.\n"
msgstr ""
-#: remake.c:442
+#: remake.c:455
#, c-format
-msgid "Still updating file `%s'.\n"
+msgid "Still updating file '%s'.\n"
msgstr ""
-#: remake.c:445
+#: remake.c:458
#, c-format
-msgid "Finished updating file `%s'.\n"
+msgid "Finished updating file '%s'.\n"
msgstr ""
-#: remake.c:474
+#: remake.c:487
#, c-format
-msgid "File `%s' does not exist.\n"
+msgid "File '%s' does not exist.\n"
msgstr ""
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-#: remake.c:494 remake.c:1016
+#: remake.c:508 remake.c:1040
#, c-format
-msgid "Found an implicit rule for `%s'.\n"
+msgid "Found an implicit rule for '%s'.\n"
msgstr ""
-#: remake.c:496 remake.c:1018
+#: remake.c:510 remake.c:1042
#, c-format
-msgid "No implicit rule found for `%s'.\n"
+msgid "No implicit rule found for '%s'.\n"
msgstr ""
-#: remake.c:502
+#: remake.c:516
#, c-format
-msgid "Using default recipe for `%s'.\n"
+msgid "Using default recipe for '%s'.\n"
msgstr ""
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr ""
-#: remake.c:651
+#: remake.c:675
#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
+msgid "Finished prerequisites of target file '%s'.\n"
msgstr ""
-#: remake.c:657
+#: remake.c:681
#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
+msgid "The prerequisites of '%s' are being made.\n"
msgstr ""
-#: remake.c:670
+#: remake.c:695
#, c-format
-msgid "Giving up on target file `%s'.\n"
+msgid "Giving up on target file '%s'.\n"
msgstr ""
-#: remake.c:675
+#: remake.c:700
#, c-format
-msgid "Target `%s' not remade because of errors."
+msgid "Target '%s' not remade because of errors."
msgstr ""
-#: remake.c:727
+#: remake.c:752
#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr ""
-#: remake.c:732
+#: remake.c:757
#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr ""
-#: remake.c:737
+#: remake.c:762
#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr ""
-#: remake.c:740
+#: remake.c:765
#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
+msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr ""
-#: remake.c:758
+#: remake.c:783
#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr ""
-#: remake.c:765
+#: remake.c:790
#, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr ""
-#: remake.c:770
+#: remake.c:795
#, c-format
-msgid "Making `%s' due to always-make flag.\n"
+msgid "Making '%s' due to always-make flag.\n"
msgstr ""
-#: remake.c:778
+#: remake.c:803
#, c-format
-msgid "No need to remake target `%s'"
+msgid "No need to remake target '%s'"
msgstr ""
-#: remake.c:780
+#: remake.c:805
#, c-format
-msgid "; using VPATH name `%s'"
+msgid "; using VPATH name '%s'"
msgstr ""
-#: remake.c:800
+#: remake.c:825
#, c-format
-msgid "Must remake target `%s'.\n"
+msgid "Must remake target '%s'.\n"
msgstr ""
-#: remake.c:806
+#: remake.c:831
#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
+msgid " Ignoring VPATH name '%s'.\n"
msgstr ""
-#: remake.c:815
+#: remake.c:840
#, c-format
-msgid "Recipe of `%s' is being run.\n"
+msgid "Recipe of '%s' is being run.\n"
msgstr ""
-#: remake.c:822
+#: remake.c:847
#, c-format
-msgid "Failed to remake target file `%s'.\n"
+msgid "Failed to remake target file '%s'.\n"
msgstr ""
-#: remake.c:825
+#: remake.c:850
#, c-format
-msgid "Successfully remade target file `%s'.\n"
+msgid "Successfully remade target file '%s'.\n"
msgstr ""
-#: remake.c:828
+#: remake.c:853
#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
+msgid "Target file '%s' needs to be remade under -q.\n"
msgstr ""
-#: remake.c:1024
+#: remake.c:1048
#, c-format
-msgid "Using default commands for `%s'.\n"
+msgid "Using default commands for '%s'.\n"
msgstr ""
-#: remake.c:1357
+#: remake.c:1397
#, c-format
-msgid "Warning: File `%s' has modification time in the future"
+msgid "Warning: File '%s' has modification time in the future"
msgstr ""
-#: remake.c:1370
+#: remake.c:1411
#, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
+msgid "Warning: File '%s' has modification time %s s in the future"
msgstr ""
-#: remake.c:1569
+#: remake.c:1610
#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
+msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr ""
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
msgstr ""
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
msgstr ""
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
msgstr ""
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
"# %u implicit rules, %u"
msgstr ""
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
msgstr ""
-#: rule.c:534
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr ""
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
msgstr ""
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
msgstr ""
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
msgstr ""
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
msgstr ""
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
msgstr ""
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
msgstr ""
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr ""
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
msgstr ""
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
msgstr ""
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
msgstr ""
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
msgstr ""
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
msgstr ""
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
msgstr ""
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
msgstr ""
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
msgstr ""
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr ""
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
msgstr ""
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
msgstr ""
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
msgstr ""
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
msgstr ""
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
msgstr ""
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr ""
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
msgstr ""
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
msgstr ""
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
msgstr ""
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
msgstr ""
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
msgstr ""
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
msgstr ""
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
msgstr ""
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
msgstr ""
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
msgstr ""
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
msgstr ""
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
msgstr ""
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr ""
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr ""
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr ""
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
msgstr ""
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
msgstr ""
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
msgstr ""
-#: strcache.c:235
+#: strcache.c:236
#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s No strcache buffers\n"
msgstr ""
-#: strcache.c:237
+#: strcache.c:266
#, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+msgid ""
+"\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
msgstr ""
-#: strcache.c:239
+#: strcache.c:270
#, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
-#: strcache.c:241
+#: strcache.c:280
#, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
msgstr ""
-#: strcache.c:244
+#: 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:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
+msgstr ""
+
+#: strcache.c:289
+msgid ""
+"# hash-table stats:\n"
"# "
msgstr ""
-#: variable.c:1541
+#: variable.c:1599
+msgid "automatic"
+msgstr ""
+
+#: variable.c:1602
msgid "default"
msgstr ""
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
msgstr ""
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
msgstr ""
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
msgstr ""
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
msgstr ""
-#: variable.c:1556
-msgid "`override' directive"
+#: variable.c:1617
+msgid "'override' directive"
msgstr ""
-#: variable.c:1559
-msgid "automatic"
-msgstr ""
-
-#: variable.c:1570
+#: variable.c:1628
#, c-format
-msgid " (from `%s', line %lu)"
+msgid " (from '%s', line %lu)"
msgstr ""
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr ""
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
msgstr ""
-#: variable.c:1627
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
msgstr ""
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
"# %u pattern-specific variable values"
msgstr ""
-#: variable.h:219
+#: variable.h:224
#, c-format
-msgid "warning: undefined variable `%.*s'"
+msgid "warning: undefined variable '%.*s'"
msgstr ""
-#: vmsfunctions.c:92
+#: vmsfunctions.c:91
#, c-format
msgid "sys$search() failed with %d\n"
msgstr ""
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr ""
-#: vmsjobs.c:184
+#: vmsjobs.c:183
#, c-format
-msgid "internal error: `%s' command_state"
+msgid "internal error: '%s' command_state"
msgstr ""
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr ""
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr ""
-#: vmsjobs.c:450
+#: vmsjobs.c:501
#, c-format
-msgid "BUILTIN RM %s\n"
+msgid "BUILTIN ECHO %s->%s\n"
msgstr ""
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr ""
-#: vmsjobs.c:493
+#: 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:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr ""
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr ""
-#: vmsjobs.c:523
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr ""
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr ""
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr ""
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr ""
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr ""
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
msgstr ""
-#: vpath.c:603
-msgid "# No `vpath' search paths."
+#: vpath.c:600
+msgid "# No 'vpath' search paths."
msgstr ""
-#: vpath.c:605
+#: vpath.c:602
#, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
-#: vpath.c:608
+#: vpath.c:605
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
-#: vpath.c:614
+#: vpath.c:611
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
diff --git a/po/nl.gmo b/po/nl.gmo
index 1f151840..74e63816 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 5235d0c5..56bcb1c5 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,125 +1,133 @@
-# Dutch translations for make.
-# Copyright (C) 2010 Free Software Foundation, Inc.
+# Dutch translations for GNU make.
+# Copyright (C) 2013 Free Software Foundation, Inc.
# This file is distributed under the same license as the make package.
#
+# « A quoi bon cette forfanterie? »
+#
# Taco Witte <tcwitte@cs.uu.nl>, 2004.
-# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2006, 2007, 2010.
+# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2006, 2007, 2010, 2013.
msgid ""
msgstr ""
-"Project-Id-Version: make-3.81.91\n"
+"Project-Id-Version: make-4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-0400\n"
-"PO-Revision-Date: 2010-07-24 11:28+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 <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
+"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 1.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ar.c:48
+#: ar.c:46
#, c-format
-msgid "attempt to use unsupported feature: `%s'"
+msgid "attempt to use unsupported feature: '%s'"
msgstr "poging tot gebruik van niet-ondersteunde functie: '%s'"
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
msgstr "het 'touchen' van een archiefonderdeel is niet mogelijk op VMS"
-#: ar.c:149
+#: ar.c:147
#, c-format
-msgid "touch: Archive `%s' does not exist"
-msgstr "touch: Archief '%s' bestaat niet"
+msgid "touch: Archive '%s' does not exist"
+msgstr "touch: archief '%s' bestaat niet"
-#: ar.c:152
+#: ar.c:150
#, c-format
-msgid "touch: `%s' is not a valid archive"
+msgid "touch: '%s' is not a valid archive"
msgstr "touch: '%s' is geen geldig archief"
-#: ar.c:159
+#: ar.c:157
#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
-msgstr "touch: Onderdeel '%s' bestaat niet in '%s'"
+msgid "touch: Member '%s' does not exist in '%s'"
+msgstr "touch: onderdeel '%s' bestaat niet in '%s'"
-#: ar.c:166
+#: ar.c:164
#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
-msgstr "touch: ar_member_touch van '%s' is mislukt"
+msgid "touch: Bad return code from ar_member_touch on '%s'"
+msgstr "touch: ar_member_touch() van '%s' is mislukt"
-#: arscan.c:69
+#: 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:175
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "lbr$ini_control() is mislukt, afsluitwaarde = %d"
-#: arscan.c:187
-#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
+#: arscan.c:255
+#, fuzzy, c-format
+msgid "unable to open library '%s' to lookup member status %d"
msgstr "kan bibliotheek '%s' niet openen om onderdeel '%s' op te zoeken"
-#: arscan.c:850
+#: arscan.c:944
#, c-format
-msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
+msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Onderdeel '%s'%s: %ld bytes bij %ld (%ld).\n"
-#: arscan.c:851
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (naam kan afgekapt zijn)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Datum %s"
-#: arscan.c:854
+#: 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:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr "Recept bevat te veel regels (%ud)"
+
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Afgebroken.\n"
-#: commands.c:622
+#: commands.c:629
#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
-msgstr "*** [%s] Archiefonderdeel '%s' kan verkeerd zijn; niet verwijderd"
+msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
+msgstr "*** [%s] Archiefonderdeel '%s' kan onecht zijn; niet verwijderd"
-#: commands.c:625
+#: commands.c:633
#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
-msgstr "*** Archiefonderdeel '%s' kan verkeerd zijn; niet verwijderd"
+msgid "*** Archive member '%s' may be bogus; not deleted"
+msgstr "*** Archiefonderdeel '%s' kan onecht zijn; niet verwijderd"
-#: commands.c:638
+#: commands.c:647
#, c-format
-msgid "*** [%s] Deleting file `%s'"
+msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] Verwijderen van bestand '%s'"
-#: commands.c:640
+#: commands.c:649
#, c-format
-msgid "*** Deleting file `%s'"
+msgid "*** Deleting file '%s'"
msgstr "*** Verwijderen van bestand '%s'"
-#: commands.c:676
+#: commands.c:685
msgid "# recipe to execute"
msgstr "# uit te voeren recept"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
msgstr " (ingebouwd):"
-#: commands.c:681
+#: commands.c:690
#, c-format
-msgid " (from `%s', line %lu):\n"
-msgstr " (van '%s', regel %lu):\n"
+msgid " (from '%s', line %lu):\n"
+msgstr " (uit '%s', regel %lu):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -127,218 +135,219 @@ msgstr ""
"\n"
"# Mappen\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
msgstr "# kan status van %s niet opvragen.\n"
-#: dir.c:1012
+#: 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:1016
+#: 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:1021
+#: 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:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
msgstr "# %s (sleutel %s, wijzigingstijd %d): "
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
msgstr "# %s (apparaat %d, inode [%d,%d,%d]): "
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
msgstr "# %s (apparaat %ld, inode %ld): "
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "Geen"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr " bestanden, "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "geen"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
msgstr " onmogelijkheden"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
msgstr " tot nu toe."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
msgstr " onmogelijkheden in %lu mappen.\n"
-#: expand.c:127
+#: expand.c:125
#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
-msgstr "Recursieve variabele '%s' verwijst naar zichzelf, uiteindelijk"
+msgid "Recursive variable '%s' references itself (eventually)"
+msgstr "Recursieve variabele '%s' verwijst naar zichzelf (uiteindelijk)"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
msgstr "onafgemaakte verwijzing naar variabele"
-#: file.c:267
+#: file.c:271
#, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
+msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "Recept voor bestand '%s' is opgegeven in %s:%lu,"
-#: file.c:272
+#: file.c:276
#, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
+msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr "Recept voor bestand '%s' werd gevonden via impliciet zoeken,"
-#: file.c:275
+#: file.c:280
#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
+msgid "but '%s' is now considered the same file as '%s'."
msgstr "maar '%s' wordt nu als hetzelfde bestand beschouwd als '%s'."
-#: file.c:278
+#: file.c:283
#, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
+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:298
+#: file.c:303
#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
+msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr "kan enkeldubbelpunts '%s' niet hernoemen tot dubbeldubbelpunts '%s'"
-#: file.c:303
+#: file.c:309
#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
+msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr "kan dubbeldubbelpunts '%s' niet hernoemen tot enkeldubbelpunts '%s'"
-#: file.c:392
+#: file.c:401
#, c-format
-msgid "*** Deleting intermediate file `%s'"
+msgid "*** Deleting intermediate file '%s'"
msgstr "*** Verwijderen van tussentijds bestand '%s'"
-#: file.c:396
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Verwijderen van tussentijdse bestanden...\n"
-#: file.c:803
+#: file.c:811
+msgid "Current time"
+msgstr "Huidige tijd"
+
+#: 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:804
-msgid "Current time"
-msgstr "Huidige tijd"
-
-#: file.c:924
+#: file.c:955
msgid "# Not a target:"
msgstr "# Is geen doel:"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Waardevol bestand (vereiste van .PRECIOUS)."
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Nepdoel (vereiste van .PHONY)."
-#: file.c:933
+#: file.c:964
msgid "# Command line target."
msgstr "# Doel afkomstig van opdrachtregel."
-#: file.c:935
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
-msgstr "# Een standaard, of MAKEFILES, of -include/sinclude makefile."
+msgstr ""
+"# Een standaard Makefile, of eentje via MAKEFILES of '-include/sinclude'."
-#: file.c:937
+#: file.c:968
+msgid "# Builtin rule"
+msgstr "# Ingebouwde regel"
+
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Impliciete regel-zoekopdracht is uitgevoerd."
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Impliciete regel-zoekopdracht is niet uitgevoerd."
-#: file.c:940
+#: file.c:973
#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
+msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# Impliciete/statische patroonstam: '%s'\n"
-#: file.c:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Bestand is een tussentijds vereiste."
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
msgstr "# Maakt ook:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Wijzigingstijd is nooit gecontroleerd."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
msgstr "# Bestand bestaat niet."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
msgstr "# Bestand is erg oud."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Laatst gewijzigd %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
msgstr "# Bestand is bijgewerkt."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Bestand is niet bijgewerkt."
-#: file.c:968
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Nog lopend recept (DIT IS EEN PROGRAMMAFOUT)."
-#: file.c:971
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Nog lopende receptafhankelijkheden (DIT IS EEN PROGRAMMAFOUT)."
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
-msgstr "# Succesvol bijgewerkt."
+msgstr "# Met succes bijgewerkt."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
-msgstr "# Moet worden bijgewerkt (-q is ingesteld)."
+msgstr "# Moet worden bijgewerkt ('-q' is ingesteld)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Bijwerken is mislukt."
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# Ongeldige waarde in 'update_status'-onderdeel!"
-
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
+#: file.c:1025
+msgid "# Invalid value in 'command_state' member!"
msgstr "# Ongeldige waarde in 'command_state'-onderdeel!"
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -346,7 +355,7 @@ msgstr ""
"\n"
"# Bestanden"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -356,116 +365,171 @@ msgstr ""
"# hashtabel-statistieken van bestanden:\n"
"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr "%s: Veld '%s' is niet gecached: %s"
+
+#: function.c:780
+msgid "non-numeric first argument to 'word' function"
msgstr "niet-numeriek eerste argument van 'word'-functie"
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
+#: 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:783
-msgid "non-numeric first argument to `wordlist' function"
+#: function.c:805
+msgid "non-numeric first argument to 'wordlist' function"
msgstr "niet-numeriek eerste argument van 'wordlist'-functie"
-#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
+#: function.c:807
+msgid "non-numeric second argument to 'wordlist' function"
msgstr "niet-numeriek tweede argument van 'wordlist'-functie"
-#: function.c:1458
+#: function.c:1499
#, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "windows32_openpipe(): DuplicateHandle(In) is mislukt (e=%ld)\n"
-#: function.c:1469
+#: function.c:1523
#, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "windows32_openpipe(): DuplicateHandle(Err) is mislukt (e=%ld)\n"
-#: function.c:1474
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() is mislukt (e=%ld)\n"
-#: function.c:1479
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe(): process_init_fd() is mislukt\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Opschonen van tijdelijk batch-bestand %s\n"
-#: function.c:2150
+#: function.c:2193
+#, c-format
+msgid "open: %s: %s"
+msgstr "open(): %s: %s"
+
+#: function.c:2203
#, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
+msgid "write: %s: %s"
+msgstr "write(): %s: %s"
+
+#: function.c:2209
+#, c-format
+msgid "Invalid file operation: %s"
+msgstr "Ongeldige bestandsbewerking: %s"
+
+#: function.c:2324
+#, c-format
+msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "onvoldoende aantal argumenten (%d) voor functie '%s'"
-#: function.c:2162
+#: function.c:2336
#, c-format
-msgid "unimplemented on this platform: function `%s'"
+msgid "unimplemented on this platform: function '%s'"
msgstr "niet-geïmplementeerd op dit platform: functie '%s'"
-#: function.c:2212
+#: function.c:2399
#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
+msgid "unterminated call to function '%s': missing '%c'"
msgstr "onafgemaakte aanroep van functie '%s': '%c' ontbreekt"
-#: getopt.c:661
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "Lege functienaam\n"
+
+#: function.c:2593
+#, fuzzy, c-format
+msgid "Invalid function name: %s"
+msgstr "Ongeldige functienaam: %s\n"
+
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
+msgstr "Functienaam is te lang: %s\n"
+
+#: 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
-msgid "%s: option `%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: optie '%s' is niet eenduidig\n"
-#: getopt.c:685
+#: getopt.c:683
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: optie '--%s' staat geen argument toe\n"
-#: getopt.c:690
+#: getopt.c:688
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: optie '%c%s' staat geen argument toe\n"
-#: getopt.c:707 getopt.c:880
+#: getopt.c:705 getopt.c:878
#, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s: optie '%s' vereist een argument\n"
-#: getopt.c:736
+#: getopt.c:734
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: onbekende optie '--%s'\n"
-#: getopt.c:740
+#: getopt.c:738
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: onbekende optie '%c%s'\n"
-#: getopt.c:766
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: ongeldige optie -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: ongeldige optie -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: optie vereist een argument -- %c\n"
-#: getopt.c:846
+#: getopt.c:844
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: optie '-W %s' is niet eenduidig\n"
-#: getopt.c:864
+#: getopt.c:862
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: optie '-W %s' staat geen argument toe\n"
+#: guile.c:58
+#, c-format
+msgid "guile: Expanding '%s'\n"
+msgstr "guile: Expanderen van '%s'\n"
+
+#: guile.c:74
+#, c-format
+msgid "guile: Evaluating '%s'\n"
+msgstr "guile: Evalueren van '%s'\n"
+
#: hash.c:49
#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
@@ -488,131 +552,154 @@ msgstr "Herhash=%d, "
msgid "Collisions=%ld/%ld=%.0f%%"
msgstr "Botsingen=%ld/%ld=%.0f%%"
-#: implicit.c:40
+#: implicit.c:38
#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
+msgid "Looking for an implicit rule for '%s'.\n"
msgstr "Zoeken naar impliciete regel voor '%s'.\n"
-#: implicit.c:56
+#: implicit.c:54
#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
+msgid "Looking for archive-member implicit rule for '%s'.\n"
msgstr "Zoeken naar archiefonderdeel-impliciete regel voor '%s'.\n"
-#: implicit.c:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
msgstr "Impliciete regelrecursie wordt ontweken.\n"
+#: implicit.c:486
+#, c-format
+msgid "Stem too long: '%.*s'.\n"
+msgstr "Stam is te lang: '%.*s'.\n"
+
#: implicit.c:491
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
+msgid "Trying pattern rule with stem '%.*s'.\n"
msgstr "Patroonregel wordt geprobeerd met stam '%.*s'.\n"
-#: implicit.c:674
+#: implicit.c:697
#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
msgstr "Onmogelijke regelvereiste '%s' wordt verworpen.\n"
-#: implicit.c:675
+#: implicit.c:698
#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
msgstr "Onmogelijke impliciete vereiste '%s' wordt verworpen.\n"
-#: implicit.c:688
+#: implicit.c:711
#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
+msgid "Trying rule prerequisite '%s'.\n"
msgstr "Proberen van regelvereiste '%s'.\n"
-#: implicit.c:689
+#: implicit.c:712
#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
+msgid "Trying implicit prerequisite '%s'.\n"
msgstr "Proberen van impliciete vereiste '%s'.\n"
-#: implicit.c:728
+#: implicit.c:751
#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
msgstr "Vereiste '%s' gevonden als VPATH '%s'.\n"
-#: implicit.c:742
+#: implicit.c:765
#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
+msgid "Looking for a rule with intermediate file '%s'.\n"
msgstr "Zoeken naar een regel met tussentijds bestand '%s'.\n"
-#: job.c:335
+#: job.c:361
msgid "Cannot create a temporary file\n"
msgstr "Kan geen tijdelijk bestand aanmaken\n"
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] Fout 0x%x (genegeerd)"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (geheugendump gemaakt)"
+
+#: job.c:488
+msgid " (ignored)"
+msgstr " (genegeerd)"
-#: job.c:450
+#: job.c:492 job.c:2046
+msgid "<builtin>"
+msgstr "<ingebouwd>"
+
+#: job.c:503
#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] Fout 0x%x"
+msgid "%s: recipe for target '%s' failed"
+msgstr "%s: recept voor doel '%s' is mislukt"
-#: job.c:454
+#: job.c:516 job.c:524
#, c-format
-msgid "[%s] Error %d (ignored)"
-msgstr "[%s] Fout %d (genegeerd)"
+msgid "%s[%s] Error %d%s"
+msgstr "%s[%s] Fout %d%s"
-#: job.c:455
+#: job.c:519
#, c-format
-msgid "*** [%s] Error %d"
-msgstr "*** [%s] Fout %d"
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Fout 0x%x%s"
-#: job.c:460
-msgid " (core dumped)"
-msgstr " (geheugendump gemaakt)"
+#: job.c:529
+#, c-format
+msgid "%s[%s] %s%s%s"
+msgstr "%s[%s] %s%s%s"
-#: job.c:549
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Wachten op onvoltooide taken..."
-#: job.c:579
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
-msgstr "Levend kind %p (%s) PID %s %s\n"
+msgstr "Levend dochterproces %p (%s) PID %s %s\n"
-#: job.c:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (ginds)"
-#: job.c:758
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
-msgstr "Beëindigen van verliezend kind %p PID %s %s\n"
+msgstr "Beëindigen van verliezend dochterproces %p PID %s %s\n"
-#: job.c:759
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
-msgstr "Beëindigen van winnend kind %p PID %s %s\n"
+msgstr "Beëindigen van winnend dochterproces %p PID %s %s\n"
-#: job.c:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Opschonen van tijdelijk batch-bestand %s\n"
-#: job.c:861
+#: 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:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
-msgstr "Verwijderen van kind %p PID %s%s uit de ketting.\n"
+msgstr "Verwijderen van dochterproces %p PID %s%s uit de ketting.\n"
-#: job.c:920
-msgid "write jobserver"
-msgstr "schrijven naar taakserver"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
+msgstr "vrijgeven van taakserver-semafoor: (Fout %ld: %s)"
-#: job.c:922
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
-msgstr "Token vrijgegeven voor kind %p (%s).\n"
+msgstr "Token vrijgegeven voor dochterproces %p (%s).\n"
-#: job.c:1453 job.c:2094
+#: 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:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -621,88 +708,112 @@ msgstr ""
"\n"
"%d argumenten geteld bij mislukte start\n"
-#: job.c:1525
+#: job.c:1735
#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
-msgstr "Opname van kind %p (%s) PID %s%s in de ketting.\n"
+msgstr "Opname van dochterproces %p (%s) PID %s%s in de ketting.\n"
+
+#: 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:1778
+#: job.c:2019
#, c-format
msgid "Obtained token for child %p (%s).\n"
-msgstr "Token verkregen voor kind %p (%s).\n"
+msgstr "Token verkregen voor dochterproces %p (%s).\n"
-#: job.c:1787
+#: job.c:2029
msgid "read jobs pipe"
msgstr "lezen van taken-pijp"
-#: job.c:1798
+#: job.c:2056
#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr "Recept uit %s:%lu wordt aangeroepen om doel '%s' bij te werken.\n"
+msgid "%s: target '%s' does not exist"
+msgstr "%s: doel '%s' bestaat niet"
-#: job.c:1802
+#: job.c:2059
#, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "Ingebouwd recept wordt aangeroepen om doel '%s' bij te werken.\n"
+msgid "%s: update target '%s' due to: %s"
+msgstr "%s: bijwerken van doel '%s' vanwege: %s"
-#: job.c:1910
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr "kan belastingsgrenzen niet afdwingen op dit besturingssysteem"
-#: job.c:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "kan belastingsgrens niet afdwingen: "
-#: job.c:1985
+#: 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:1987
+#: 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:2015
+#: 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:2293
msgid "Could not restore stdin\n"
msgstr "Kan standaardinvoer niet herstellen\n"
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Kan standaarduitvoer niet herstellen\n"
-#: job.c:2127
+#: job.c:2309
+msgid "Could not restore stderr\n"
+msgstr "Kan standaardfoutuitvoer niet herstellen\n"
+
+#: job.c:2420
#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
-msgstr "'make' heeft kind met PID %s verwerkt, maar wacht nog op PID %s\n"
+msgstr ""
+"'make' heeft dochterproces met PID %s verwerkt, maar wacht nog op PID %s\n"
-#: job.c:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Opdracht niet gevonden"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Shell-programma niet gevonden"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: mogelijk geen omgevingsruimte meer beschikbaar"
-#: job.c:2461
+#: job.c:2765
#, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
+msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "$SHELL is gewijzigd (was '%s', is nu '%s')\n"
-#: job.c:2951
+#: 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:2963
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+"Inhoud van batch-bestand:\n"
+"\t@echo off\n"
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
@@ -711,60 +822,93 @@ msgstr ""
"Inhoud van batch-bestand:%s\n"
"\t%s\n"
-#: job.c:3065
+#: 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"
-#: main.c:303
-msgid "Options:\n"
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
msgstr ""
-" \n"
-"Opties:\n"
+"Optie '-O[TYPE]' (--output-sync[=TYPE]) is niet meegecompileerd in dit "
+"programma."
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr "Openen van globale symbolentabel is mislukt: %s"
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr "Geladen object %s is niet gedeclareerd als GPL-compatibel"
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr "Laden van symbool %s uit %s is mislukt: %s"
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr "Lege symboolnaam om te laden: %s"
-#: main.c:304
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr "Laden van symbool %s uit %s\n"
+
+#: 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:313
+msgid "Options:\n"
+msgstr "Opties:\n"
+
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr ""
" -b, -m (genegeerd, maar herkend wegens "
"compatibiliteit)\n"
-#: main.c:306
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr " -B, --always-make onvoorwaardelijk alle doelen maken\n"
-#: main.c:308
+#: 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:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr ""
" -d veel informatie weergeven voor het debuggen\n"
-#: main.c:313
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=VLAGGEN] verschillende soorten debuginformatie "
"weergeven\n"
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
" -e, --environment-overrides omgevingsvariabelen gaan boven Makefiles\n"
-#: main.c:318
+#: 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:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -773,23 +917,23 @@ msgstr ""
" het gegeven bestand als Makefile gebruiken\n"
"\n"
-#: main.c:323
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help deze hulptekst tonen en stoppen\n"
-#: main.c:325
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr " -i, --ignore-errors alle fouten in recepten negeren\n"
-#: main.c:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
-" -I MAP, --include-dir=MAP deze map doorzoeken naar ingevoegde "
+" -I MAP, --include-dir=MAP deze map doorzoeken naar ingesloten "
"Makefiles\n"
-#: main.c:330
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -797,14 +941,14 @@ msgstr ""
" -j [N], --jobs[=N] het uitvoeren van N taken tegelijk toestaan;\n"
" zonder N is het aantal onbeperkt\n"
-#: main.c:332
+#: 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:334
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -814,17 +958,16 @@ msgstr ""
" alleen extra taken starten als de\n"
" systeembelasting lager is dan N\n"
-#: main.c:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
-" -L, --check-symlink-times van een symbolische koppeling en zijn doel "
-"de\n"
-" laatste wijzigingstijd gebruiken\n"
+" -L, --check-symlink-times van een symbolische koppeling en zijn doel\n"
+" de laatste wijzigingstijd gebruiken\n"
"\n"
-#: main.c:339
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
@@ -833,7 +976,7 @@ msgstr ""
" -n, --just-print, --dry-run, --recon\n"
" recepten niet uitvoeren, alleen weergeven\n"
-#: main.c:342
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -843,12 +986,21 @@ msgstr ""
" BESTAND als oud beschouwen, niet opnieuw "
"maken\n"
-#: main.c:345
+#: 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"
+" uitvoer van parallelle taken synchroniseren "
+"op TYPE\n"
+
+#: 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:347
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
@@ -856,43 +1008,47 @@ msgstr ""
" -q, --question geen recepten uitvoeren; de afsluitwaarde\n"
" geeft aan of alles bijgewerkt is\n"
-#: main.c:349
+#: 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:351
+#: 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:353
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet recepten niet weergeven\n"
-#: main.c:355
+#: 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:358
+#: 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:360
+#: main.c:373
+msgid " --trace Print tracing information.\n"
+msgstr " --trace tracing-informatie weergeven\n"
+
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
-msgstr " -v, --version versienummer tonen en stoppen\n"
+msgstr " -v, --version programmaversie tonen en stoppen\n"
-#: main.c:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory de huidige map weergeven\n"
-#: main.c:364
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -900,7 +1056,7 @@ msgstr ""
" --no-print-directory optie '-w' uitzetten, ook als deze impliciet\n"
" was aangezet\n"
-#: main.c:366
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -908,7 +1064,7 @@ msgstr ""
" -W BESTAND, --what-if=BESTAND, --new-file=BESTAND, --assume-new=BESTAND\n"
" BESTAND als oneindig nieuw beschouwen\n"
-#: main.c:369
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -916,21 +1072,26 @@ msgstr ""
" --warn-undefined-variables waarschuwen als naar een ongedefinieerde\n"
" variabele wordt verwezen\n"
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "lege tekenreeks is ongeldig als bestandsnaam"
-#: main.c:650
+#: main.c:737
#, c-format
-msgid "unknown debug level specification `%s'"
+msgid "unknown debug level specification '%s'"
msgstr "onbekende aanduiding '%s' voor debug-niveau"
-#: main.c:690
+#: main.c:774
+#, c-format
+msgid "unknown output-sync type '%s'"
+msgstr "onbekend uitvoersynchronisatie-type: '%s'"
+
+#: 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:697
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -945,211 +1106,229 @@ msgstr ""
"ExceptionFlags = %lx\n"
"ExceptionAddress = 0x%p\n"
-#: main.c:705
+#: 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:706
+#: 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:781 main.c:792
+#: 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:834
+#: 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:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s slaapt gedurende 30 seconden..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "klaar met 30 seconden slapen. Make gaat verder.\n"
-#: main.c:1501
-msgid "Makefile from standard input specified twice."
-msgstr "Makefile op standaardinvoer is dubbel opgegeven."
-
-#: main.c:1539 vmsjobs.c:500
-msgid "fopen (temporary file)"
-msgstr "fopen (tijdelijk bestand)"
-
-#: main.c:1545
-msgid "fwrite (temporary file)"
-msgstr "fwrite (tijdelijk bestand)"
-
-#: main.c:1703
-msgid "Parallel jobs (-j) are not supported on this platform."
-msgstr "Parallele taken (-j) worden op dit platform niet ondersteund."
-
-#: main.c:1704
-msgid "Resetting to single job (-j1) mode."
-msgstr "Opnieuw instellen op enkele-taakmodus (-j1)."
+#: main.c:1527
+#, 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)"
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "*interne fout*: meerdere opties '--jobserver-fds'"
+#: main.c:1530
+#, c-format
+msgid "Jobserver client (semaphore %s)\n"
+msgstr "Taakservercliënt (semafoor %s)\n"
-#: main.c:1727
+#: main.c:1534
#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
+msgid "internal error: invalid --jobserver-fds string '%s'"
msgstr "*interne fout*: ongeldige tekenreeks '%s' voor '--jobserver-fds'"
-#: main.c:1730
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
msgstr "Taakservercliënt (bestandsdescriptor %d,%d)\n"
-#: main.c:1740
+#: 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:1750
+#: main.c:1567
msgid "dup jobserver"
msgstr "dubbele taakserver"
-#: main.c:1753
+#: main.c:1570
msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
+"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:1777
+#: main.c:1742
+msgid "Makefile from standard input specified twice."
+msgstr "Makefile op standaardinvoer is dubbel opgegeven."
+
+#: main.c:1780 vmsjobs.c:653
+msgid "fopen (temporary file)"
+msgstr "fopen (tijdelijk bestand)"
+
+#: main.c:1786
+msgid "fwrite (temporary file)"
+msgstr "fwrite (tijdelijk bestand)"
+
+#: 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:1975
+msgid "Resetting to single job (-j1) mode."
+msgstr "Opnieuw instellen op enkele-taakmodus (-j1)."
+
+#: 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 "maken van taken-pijp"
+msgstr "aanmaken van taken-pijp"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "initialiseren van taakserver-pijp"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr ""
"Symbolische koppelingen worden niet ondersteund: '-L' wordt uitgeschakeld."
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
-msgstr "Bijwerken van makefiles...\n"
+msgstr "Bijwerken van Makefiles...\n"
-#: main.c:1917
+#: main.c:2158
#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
+msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr "Makefile '%s' bevat mogelijk een lus; wordt niet opnieuw gemaakt.\n"
-#: main.c:1996
+#: main.c:2237
#, c-format
-msgid "Failed to remake makefile `%s'."
-msgstr "Opnieuw maken van makefile '%s' is mislukt."
+msgid "Failed to remake makefile '%s'."
+msgstr "Opnieuw maken van Makefile '%s' is mislukt."
-#: main.c:2013
+#: main.c:2257
#, c-format
-msgid "Included makefile `%s' was not found."
-msgstr "Ingesloten makefile '%s' is niet gevonden."
+msgid "Included makefile '%s' was not found."
+msgstr "Ingesloten Makefile '%s' is niet gevonden."
-#: main.c:2018
+#: main.c:2262
#, c-format
-msgid "Makefile `%s' was not found"
+msgid "Makefile '%s' was not found"
msgstr "Makefile '%s' is niet gevonden."
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Kan niet terugkeren naar oorspronkelijke map."
-#: main.c:2102
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Opnieuw uitvoeren[%u]:"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "verwijderen (van tijdelijk bestand): "
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL bevat meer dan één doel"
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
-msgstr "Geen doelen opgegeven en geen makefile gevonden"
+msgstr "Geen doelen opgegeven en geen Makefile gevonden"
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
msgstr "Geen doelen"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Bijwerken van doelen...\n"
-#: main.c:2306
+#: 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:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Gebruik: %s [OPTIES] [DOEL]...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
"This program built for %s\n"
msgstr ""
"\n"
-"Dit programma is gemaakt voor %s.\n"
+"Dit programma is gecompileerd voor %s.\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
"This program built for %s (%s)\n"
msgstr ""
"\n"
-"Dit programma is gemaakt voor %s (%s).\n"
+"Dit programma is gecompileerd voor %s (%s).\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr ""
"Rapporteer programmafouten aan <bug-make@gnu.org>,\n"
"meld gebreken in de vertaling aan <vertaling@vrijschrift.org>.\n"
-#: main.c:2562
+#: main.c:2807
#, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
+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:2617
+#: main.c:2871
#, c-format
-msgid "the `-%c' option requires a positive integral argument"
-msgstr "de optie '-%c' vereist een positief, geheel argument"
+msgid "the '-%c' option requires a positive integer argument"
+msgstr "de optie '-%c' vereist een positief geheel getal als argument"
-#: main.c:3054
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
-msgstr "%sDit programma is gemaakt voor %s.\n"
+msgstr "%sDit programma is gecompileerd voor %s.\n"
-#: main.c:3056
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
-msgstr "%sDit programma is gemaakt voor %s (%s).\n"
+msgstr "%sDit programma is gecompileerd voor %s (%s).\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1163,7 +1342,7 @@ msgstr ""
"verspreiden.\n"
"%sEr is GEEN GARANTIE, voor zover de wet dit toestaat.\n"
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1172,7 +1351,7 @@ msgstr ""
"\n"
"# Make-gegevensbank, weergegeven op %s"
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1181,447 +1360,460 @@ msgstr ""
"\n"
"# Make-gegevensbank voltooid op %s\n"
-#: main.c:3237
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "Onbekende fout %d"
+
+#: misc.c:522
+#, c-format
+msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+msgstr "%s: gebruiker %lu (echt %lu), groep %lu (echt %lu)\n"
+
+#: misc.c:543
+msgid "Initialized access"
+msgstr "Toegang geïnitialiseerd"
+
+#: misc.c:622
+msgid "User access"
+msgstr "Gebruikerstoegang"
+
+#: misc.c:670
+msgid "Make access"
+msgstr "Make-toegang"
+
+#: misc.c:704
+msgid "Child access"
+msgstr "Dochterprocestoegang"
+
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: Een onbekende map wordt binnengegaan\n"
-#: main.c:3239
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: Een onbekende map wordt verlaten\n"
-#: main.c:3242
+#: output.c:109
#, c-format
-msgid "%s: Entering directory `%s'\n"
+msgid "%s: Entering directory '%s'\n"
msgstr "%s: Map '%s' wordt binnengegaan\n"
-#: main.c:3245
+#: output.c:111
#, c-format
-msgid "%s: Leaving directory `%s'\n"
+msgid "%s: Leaving directory '%s'\n"
msgstr "%s: Map '%s' wordt verlaten\n"
-#: main.c:3250
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: Een onbekende map wordt binnengegaan\n"
-#: main.c:3253
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Een onbekende map wordt verlaten\n"
-#: main.c:3257
+#: output.c:120
#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
+msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: Map '%s' wordt binnengegaan\n"
-#: main.c:3260
+#: output.c:122
#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
+msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: Map '%s' wordt verlaten\n"
-#: misc.c:316
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
+msgstr "schrijffout: %s"
+
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Gestopt.\n"
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "Onbekende fout %d"
-
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "onvoldoende geheugen beschikbaar"
-
-#: misc.c:708
-#, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: gebruiker %lu (echt %lu), groep %lu (echt %lu)\n"
-
-#: misc.c:729
-msgid "Initialized access"
-msgstr "Toegang geïnitialiseerd"
-
-#: misc.c:808
-msgid "User access"
-msgstr "Gebruikerstoegang"
-
-#: misc.c:856
-msgid "Make access"
-msgstr "Make-toegang"
-
-#: misc.c:890
-msgid "Child access"
-msgstr "Kindtoegang"
-
-#: misc.c:954
-#, c-format
-msgid "write error: %s"
-msgstr "schrijffout: %s"
-
-#: misc.c:956
-msgid "write error"
-msgstr "schrijffout"
-
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
-msgstr "Lezen van makefiles...\n"
+msgstr "Lezen van Makefiles...\n"
-#: read.c:333
+#: read.c:335
#, c-format
-msgid "Reading makefile `%s'"
-msgstr "Lezen van makefile '%s'"
+msgid "Reading makefile '%s'"
+msgstr "Lezen van Makefile '%s'"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (geen standaarddoel)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (zoekpad)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (maakt niet uit)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (geen expansie van ~)"
-#: read.c:759
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr "UTF-8 BOM in Makefile '%s' wordt overgeslagen\n"
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr "UTF-8 BOM in Makefile-buffer wordt overgeslagen\n"
+
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "ongeldige syntaxis in voorwaardelijk deel"
-#: read.c:891
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr "%s: laden is mislukt"
+
+#: read.c:992
msgid "recipe commences before first target"
msgstr "recept begint voor eerste doel"
-#: read.c:940
+#: read.c:1041
msgid "missing rule before recipe"
-msgstr "ontbrekende regel voor recept"
-
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "ontbrekend scheidingsteken%s"
+msgstr "ontbrekende regel vóór recept"
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (bedoelde u TAB in plaats van 8 spaties?)"
-#: read.c:1163
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "ontbrekend scheidingsteken%s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "ontbrekend doelpatroon"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
msgstr "meerdere doelpatronen"
-#: read.c:1169
+#: read.c:1276
#, c-format
-msgid "target pattern contains no `%%'"
+msgid "target pattern contains no '%%'"
msgstr "doelpatroon bevat geen '%%'"
-#: read.c:1293
-msgid "missing `endif'"
+#: read.c:1398
+msgid "missing 'endif'"
msgstr "ontbrekende 'endif'"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "lege naam van variabele"
-#: read.c:1367
-msgid "extraneous text after `define' directive"
+#: read.c:1471
+msgid "extraneous text after 'define' directive"
msgstr "extra tekst na 'define'-opdracht"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
+#: read.c:1496
+msgid "missing 'endef', unterminated 'define'"
msgstr "ontbrekende 'endef', onafgemaakte 'define'"
-#: read.c:1420
-msgid "extraneous text after `endef' directive"
+#: read.c:1524
+msgid "extraneous text after 'endef' directive"
msgstr "extra tekst na 'endef'-opdracht"
-#: read.c:1490
+#: read.c:1595
#, c-format
-msgid "Extraneous text after `%s' directive"
+msgid "extraneous text after '%s' directive"
msgstr "extra tekst na '%s'-opdracht"
-#: read.c:1499 read.c:1513
+#: read.c:1596
#, c-format
-msgid "extraneous `%s'"
+msgid "extraneous '%s'"
msgstr "extra '%s'"
-#: read.c:1518
-msgid "only one `else' per conditional"
+#: read.c:1624
+msgid "only one 'else' per conditional"
msgstr "slechts één 'else' per voorwaardelijk deel"
-#: read.c:1797
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Onjuiste doelspecifieke variabele-definitie"
-#: read.c:1855
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr "vereisten kunnen niet in recepten gedefinieerd worden"
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "gemengde impliciete en statische patroonregels"
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "gemengde impliciete en normale regels"
-#: read.c:1976
+#: read.c:2091
#, c-format
-msgid "target `%s' doesn't match the target pattern"
+msgid "target '%s' doesn't match the target pattern"
msgstr "doel '%s' komt niet overeen met doelpatroon"
-#: read.c:1991 read.c:2036
+#: read.c:2106 read.c:2152
#, c-format
-msgid "target file `%s' has both : and :: entries"
+msgid "target file '%s' has both : and :: entries"
msgstr "doelbestand '%s' heeft zowel ':'- als '::'-items"
-#: read.c:1997
+#: read.c:2112
#, c-format
-msgid "target `%s' given more than once in the same rule."
-msgstr "doel '%s' is meerdere keren gegeven in dezelfde regel."
+msgid "target '%s' given more than once in the same rule"
+msgstr "doel '%s' is meerdere keren gegeven in dezelfde regel"
-#: read.c:2006
+#: read.c:2122
#, c-format
-msgid "warning: overriding recipe for target `%s'"
+msgid "warning: overriding recipe for target '%s'"
msgstr "Waarschuwing: er wordt voorbijgegaan aan recept voor doel '%s'"
-#: read.c:2009
+#: read.c:2125
#, c-format
-msgid "warning: ignoring old recipe for target `%s'"
+msgid "warning: ignoring old recipe for target '%s'"
msgstr "Waarschuwing: oud recept voor doel '%s' wordt genegeerd"
-#: read.c:2392
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "gemengde impliciete en normale regels"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "Waarschuwing: NUL-teken gezien; de rest van de regel wordt genegeerd"
-#: remake.c:234
+#: remake.c:230
#, c-format
-msgid "Nothing to be done for `%s'."
+msgid "Nothing to be done for '%s'."
msgstr "Er hoeft niets gedaan te worden voor '%s'."
-#: remake.c:235
+#: remake.c:231
#, c-format
-msgid "`%s' is up to date."
-msgstr "'%s' is bijgewerkt."
+msgid "'%s' is up to date."
+msgstr "'%s' is up-to-date."
-#: remake.c:306
+#: remake.c:303
#, c-format
-msgid "Pruning file `%s'.\n"
-msgstr "Bijknippen van bestand '%s'.\n"
+msgid "Pruning file '%s'.\n"
+msgstr "Snoeien van bestand '%s'.\n"
-#: remake.c:359
+#: remake.c:390 remake.c:393
#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%sEr is geen regel om doel '%s' te maken%s"
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
+msgstr "%sEr is geen regel om doel '%s' te maken, nodig voor '%s'%s"
-#: remake.c:361
+#: remake.c:402 remake.c:405
#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
-msgstr "%sEr is geen regel om doel '%s' te maken, nodig voor '%s'%s"
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sEr is geen regel om doel '%s' te maken%s"
-#: remake.c:413
+#: remake.c:426
#, c-format
-msgid "Considering target file `%s'.\n"
+msgid "Considering target file '%s'.\n"
msgstr "Doelbestand '%s' wordt overwogen.\n"
-#: remake.c:420
+#: remake.c:433
#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
+msgid "Recently tried and failed to update file '%s'.\n"
msgstr "Bijwerken van bestand '%s' is recent geprobeerd en mislukt.\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
-msgid "File `%s' was considered already.\n"
+msgid "File '%s' was considered already.\n"
msgstr "Bestand '%s' was al overwogen.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
-msgid "Still updating file `%s'.\n"
+msgid "Still updating file '%s'.\n"
msgstr "Bestand '%s' wordt nog bijgewerkt.\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
-msgid "Finished updating file `%s'.\n"
+msgid "Finished updating file '%s'.\n"
msgstr "Bijwerken van bestand '%s' is voltooid.\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
-msgid "File `%s' does not exist.\n"
+msgid "File '%s' does not exist.\n"
msgstr "Bestand '%s' bestaat niet.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
"*** Waarschuwing: .LOW_RESOLUTION_TIME-bestand '%s' heeft een hoge-resolutie "
"tijdsstempel"
-#: remake.c:494 remake.c:1016
+#: remake.c:508 remake.c:1040
#, c-format
-msgid "Found an implicit rule for `%s'.\n"
+msgid "Found an implicit rule for '%s'.\n"
msgstr "Impliciete regel voor '%s' gevonden.\n"
-#: remake.c:496 remake.c:1018
+#: remake.c:510 remake.c:1042
#, c-format
-msgid "No implicit rule found for `%s'.\n"
+msgid "No implicit rule found for '%s'.\n"
msgstr "Geen impliciete regel voor '%s' gevonden.\n"
-#: remake.c:502
+#: remake.c:516
#, c-format
-msgid "Using default recipe for `%s'.\n"
+msgid "Using default recipe for '%s'.\n"
msgstr "Standaardrecept wordt gebruikt voor '%s'.\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Circulaire afhankelijkheid %s <- %s is verworpen."
-#: remake.c:651
+#: remake.c:675
#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
+msgid "Finished prerequisites of target file '%s'.\n"
msgstr "Vereisten van doelbestand '%s' zijn voltooid.\n"
-#: remake.c:657
+#: remake.c:681
#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
+msgid "The prerequisites of '%s' are being made.\n"
msgstr "De vereisten van '%s' worden nu gemaakt.\n"
-#: remake.c:670
+#: remake.c:695
#, c-format
-msgid "Giving up on target file `%s'.\n"
+msgid "Giving up on target file '%s'.\n"
msgstr "Pogingen voor doelbestand '%s' worden gestaakt.\n"
-#: remake.c:675
+#: remake.c:700
#, c-format
-msgid "Target `%s' not remade because of errors."
+msgid "Target '%s' not remade because of errors."
msgstr "Doel '%s' is niet opnieuw gemaakt vanwege fouten."
-#: remake.c:727
+#: remake.c:752
#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr "Vereiste '%s' is alleen-ordenen voor doel '%s'.\n"
-#: remake.c:732
+#: remake.c:757
#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "Vereiste '%s' van doel '%s' bestaat niet.\n"
-#: remake.c:737
+#: remake.c:762
#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "Vereiste '%s' is nieuwer dan doel '%s'.\n"
-#: remake.c:740
+#: remake.c:765
#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
+msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "Vereiste '%s' is ouder dan doel '%s'.\n"
-#: remake.c:758
+#: remake.c:783
#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr "Doel '%s' is dubbeldubbelpunts en heeft geen vereisten.\n"
-#: remake.c:765
+#: remake.c:790
#, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
-msgstr "Er is geen recept voor '%s' en geen van de vereisten zijn veranderd.\n"
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
+msgstr "Er is geen recept voor '%s', en geen van de vereisten is veranderd.\n"
-#: remake.c:770
+#: remake.c:795
#, c-format
-msgid "Making `%s' due to always-make flag.\n"
+msgid "Making '%s' due to always-make flag.\n"
msgstr "Maken van '%s' vanwege 'always-make'-vlag.\n"
-#: remake.c:778
+#: remake.c:803
#, c-format
-msgid "No need to remake target `%s'"
+msgid "No need to remake target '%s'"
msgstr "Doel '%s' hoeft niet opnieuw gemaakt te worden"
-#: remake.c:780
+#: remake.c:805
#, c-format
-msgid "; using VPATH name `%s'"
+msgid "; using VPATH name '%s'"
msgstr "; VPATH-naam '%s' wordt gebruikt"
-#: remake.c:800
+#: remake.c:825
#, c-format
-msgid "Must remake target `%s'.\n"
-msgstr "'%s' moet opnieuw gemaakt worden.\n"
+msgid "Must remake target '%s'.\n"
+msgstr "Doel '%s' moet opnieuw gemaakt worden.\n"
-#: remake.c:806
+#: remake.c:831
#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
+msgid " Ignoring VPATH name '%s'.\n"
msgstr " VPATH-naam '%s' wordt genegeerd.\n"
-#: remake.c:815
+#: remake.c:840
#, c-format
-msgid "Recipe of `%s' is being run.\n"
+msgid "Recipe of '%s' is being run.\n"
msgstr "Recept van '%s' wordt nu uitgevoerd.\n"
-#: remake.c:822
+#: remake.c:847
#, c-format
-msgid "Failed to remake target file `%s'.\n"
+msgid "Failed to remake target file '%s'.\n"
msgstr "Opnieuw maken van doelbestand '%s' is mislukt.\n"
-#: remake.c:825
+#: remake.c:850
#, c-format
-msgid "Successfully remade target file `%s'.\n"
-msgstr "Doelbestand '%s' is succesvol opnieuw gemaakt.\n"
+msgid "Successfully remade target file '%s'.\n"
+msgstr "Doelbestand '%s' is met succes opnieuw gemaakt.\n"
-#: remake.c:828
+#: remake.c:853
#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
-msgstr "Doelbestand '%s' moet opnieuw worden gemaakt onder -q.\n"
+msgid "Target file '%s' needs to be remade under -q.\n"
+msgstr "Doelbestand '%s' moet opnieuw worden gemaakt onder '-q'.\n"
-#: remake.c:1024
+#: remake.c:1048
#, c-format
-msgid "Using default commands for `%s'.\n"
+msgid "Using default commands for '%s'.\n"
msgstr "Standaardopdrachten worden gebruikt voor '%s'.\n"
-#: remake.c:1357
+#: remake.c:1397
#, c-format
-msgid "Warning: File `%s' has modification time in the future"
+msgid "Warning: File '%s' has modification time in the future"
msgstr "Waarschuwing: bestand '%s' heeft een wijzigingstijd in de toekomst"
-#: remake.c:1370
+#: remake.c:1411
#, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
+msgid "Warning: File '%s' has modification time %s s in the future"
msgstr ""
"Waarschuwing: bestand '%s' heeft een wijzigingstijd %s seconden in de "
"toekomst"
-#: remake.c:1569
+#: remake.c:1610
#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
+msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr ".LIBPATTERNS-element '%s' is geen patroon"
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
msgstr "Customs kan niet exporteren: %s\n"
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1629,7 +1821,7 @@ msgstr ""
"\n"
"# Impliciete regels"
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1637,7 +1829,7 @@ msgstr ""
"\n"
"# Geen impliciete regels."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1646,246 +1838,271 @@ msgstr ""
"\n"
"# %u impliciete regels, %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
msgstr " terminal."
-#: rule.c:534
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
-msgstr "PROGRAMMAFOUT: num_pattern_rules is verkeerd! %u != %u"
+msgstr "PROGRAMMAFOUT: num_pattern_rules() is verkeerd! %u != %u"
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
msgstr "onbekend signaal"
-#: signame.c:94
+# Vroeger ging dit over het afsluiten van een modemverbinding,
+# tegenwoordig over het afsluiten van een pseudoterminal.
+#: signame.c:92
msgid "Hangup"
msgstr "Opgehangen"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
msgstr "Onderbroken"
-#: signame.c:100
+# Verleden tijd, "Afgesloten", net als de andere actiesignaalnamen.
+#: signame.c:98
msgid "Quit"
msgstr "Afgesloten"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
-msgstr "Onjuiste bewerking"
+msgstr "Ongeldige instructie"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
msgstr "Traceer/breekpunt-instructie"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr "Afgebroken"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
msgstr "IOT-instructie"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
msgstr "EMT-instructie"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
msgstr "Drijvendekomma-berekeningsfout"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
msgstr "Geëlimineerd"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
msgstr "Busfout"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
msgstr "Segmentatiefout"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
msgstr "Onjuiste systeemaanroep"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
msgstr "Gebroken pijp"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr "Wekker"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
msgstr "Beëindigd"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
msgstr "Gebruikergedefinieerd signaal 1"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
msgstr "Gebruikergedefinieerd signaal 2"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
-msgstr "Dochter is afgesloten"
+msgstr "Dochterproces is afgesloten"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
msgstr "Stroomstoring"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr "Gepauzeerd"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
msgstr "Gepauzeerd (terminalinvoer)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
msgstr "Gepauzeerd (terminaluitvoer)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
msgstr "Gepauzeerd (signaal)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
msgstr "Limiet op processortijd is overschreden"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
msgstr "Limiet op bestandsgrootte is overschreden"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
-msgstr "Virtuele tijdopnemer is verlopen"
+msgstr "Virtuele timer is afgelopen"
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
-msgstr "Tijdopnemer voor analyse is verlopen"
+msgstr "Timer voor profilering is afgelopen"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
msgstr "Venster is veranderd"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
msgstr "Doorgegaan"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
msgstr "Urgente in-/uitvoertoestand"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
msgstr "In-/uitvoer is mogelijk"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr "Hulpbron verloren"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
msgstr "Gevaarsignaal"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
msgstr "Verzoek om informatie"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
msgstr "Drijvendekomma-coprocessor is niet beschikbaar"
-#: strcache.c:235
+#: strcache.c:236
#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s No strcache buffers\n"
msgstr ""
"\n"
-"%s Aantal tekenreeksen in strcache: %d / lookups = %lu / treffers = %lu\n"
+"%s Geen 'strcache'-buffers\n"
-#: strcache.c:237
+#: strcache.c:266
#, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
-msgstr "%s Aantal strcache-buffers: %d (* %d bytes/buffer = %d bytes)\n"
+msgid ""
+"\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
+msgstr ""
+"\n"
+"%s 'strcache'-buffers: %lu (%lu) / strings = %lu / opslag = %lu B / "
+"gemiddeld = %lu B\n"
+
+#: strcache.c:270
+#, c-format
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
+msgstr ""
+"%s huidig buffer: grootte = %hu B / gebruikt = %hu B / aantal = %hu / "
+"gemiddeld = %hu B\n"
-#: strcache.c:239
+#: strcache.c:280
#, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
msgstr ""
-"%s Gebruikte strcache: totaal = %d (%d) / max = %d / min = %d / gemiddeld = %"
-"d\n"
+"%s andere gebruikte: totaal = %lu B / aantal = %lu / gemiddeld = %lu B\n"
-#: strcache.c:241
+#: strcache.c:283
#, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid ""
+"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
msgstr ""
-"%s Vrije strcache: totaal = %d (%d) / max = %d / min = %d / gemiddeld = %d\n"
+"%s andere vrij: totaal = %lu B / max = %lu B / min = %lu B / gemiddeld = %hu "
+"B\n"
-#: strcache.c:244
+#: strcache.c:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
-"# "
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
msgstr ""
"\n"
-"# strcache-hashtabel-statistieken:\n"
+"%s 'strcache'-prestatie: lookups = %lu / treffersverhouding = %lu%%\n"
+
+#: strcache.c:289
+msgid ""
+"# hash-table stats:\n"
"# "
+msgstr ""
+"# hashtabel-statistieken van bestanden:\n"
+"# "
+
+#: variable.c:1599
+msgid "automatic"
+msgstr "automatisch"
-#: variable.c:1541
+#: variable.c:1602
msgid "default"
msgstr "standaard"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
msgstr "omgeving"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
-msgstr "makefile"
+msgstr "Makefile"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
msgstr "omgeving onder -e"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
msgstr "opdrachtregel"
-#: variable.c:1556
-msgid "`override' directive"
+#: variable.c:1617
+msgid "'override' directive"
msgstr "'override'-opdracht"
-#: variable.c:1559
-msgid "automatic"
-msgstr "automatisch"
-
-#: variable.c:1570
+#: variable.c:1628
#, c-format
-msgid " (from `%s', line %lu)"
-msgstr " (van '%s', regel %lu)"
+msgid " (from '%s', line %lu)"
+msgstr " (uit '%s', regel %lu)"
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# Statistieken van hashtabel van variabelenverzameling:\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -1893,7 +2110,7 @@ msgstr ""
"\n"
"# Variabelen\n"
-#: variable.c:1627
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -1901,7 +2118,7 @@ msgstr ""
"\n"
"# Patroonspecifieke variabelewaarden"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -1909,7 +2126,7 @@ msgstr ""
"\n"
"# Geen patroonspecifieke variabelewaarden"
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -1918,94 +2135,99 @@ msgstr ""
"\n"
"# %u patroonspecifieke variabelewaarden"
-#: variable.h:219
+#: variable.h:224
#, c-format
-msgid "warning: undefined variable `%.*s'"
+msgid "warning: undefined variable '%.*s'"
msgstr "Waarschuwing: ongedefinieerde variabele '%.*s'"
-#: vmsfunctions.c:92
+#: vmsfunctions.c:91
#, c-format
msgid "sys$search() failed with %d\n"
msgstr "sys$search() is mislukt met afsluitwaarde %d\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Waarschuwing: lege omleiding\n"
-#: vmsjobs.c:184
+#: vmsjobs.c:183
#, c-format
-msgid "internal error: `%s' command_state"
+msgid "internal error: '%s' command_state"
msgstr "*interne fout*: '%s' command_state"
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
"-waarschuwing: mogelijk dient u CTRL-Y-afhandeling opnieuw aan te zetten "
"vanuit DCL.\n"
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "INGEBOUWD [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "INGEBOUWDE CD %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "INGEBOUWDE RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "INGEBOUWDE CD %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Onbekende ingebouwde opdracht '%s'\n"
-#: vmsjobs.c:493
+#: 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:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Invoer wordt omgeleid van %s\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Foutuitvoer wordt omgeleid naar %s\n"
-#: vmsjobs.c:523
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr "Uitvoer wordt toegevoegd aan %s\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Uitvoer wordt omgeleid naar %s\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr "Toevoegen van %.*s en opschoning\n"
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "In plaats daarvan wordt %s uitgevoerd\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Fout bij proces-start, %d\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
@@ -2013,37 +2235,79 @@ msgstr ""
"\n"
"# VPATH-zoekpaden\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
+#: vpath.c:600
+msgid "# No 'vpath' search paths."
msgstr "# Geen 'vpath'-zoekpaden."
-#: vpath.c:605
+#: vpath.c:602
#, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
"# %u 'vpath'-zoekpaden.\n"
-#: vpath.c:608
+#: vpath.c:605
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
"# Geen algemeen zoekpad ('VPATH'-variabele)."
-#: vpath.c:614
+#: vpath.c:611
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
"# Algemeen zoekpad ('VPATH'-variabele):\n"
"# "
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "*interne fout*: meerdere opties '--sync-mutex'"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "*interne fout*: meerdere opties '--jobserver-fds'"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "onvoldoende geheugen beschikbaar"
+
+#~ msgid "write error"
+#~ msgstr "schrijffout"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "INGEBOUWDE RM %s\n"
+
+#~ msgid "# Invalid value in 'update_status' member!"
+#~ msgstr "# Ongeldige waarde in 'update_status'-onderdeel!"
+
+#~ msgid "unknown trace mode '%s'"
+#~ msgstr "onbekende trace-modus '%s'"
+
+#~ msgid "*** [%s] Error 0x%x (ignored)"
+#~ msgstr "*** [%s] Fout 0x%x (genegeerd)"
+
+#~ msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
+#~ msgstr "Recept uit %s:%lu wordt aangeroepen om doel '%s' bij te werken.\n"
+
+#~ msgid "Invoking builtin recipe to update target `%s'.\n"
+#~ msgstr "Ingebouwd recept wordt aangeroepen om doel '%s' bij te werken.\n"
+
+#~ msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+#~ msgstr "%s Aantal strcache-buffers: %d (* %d bytes/buffer = %d bytes)\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "# strcache hash-table stats:\n"
+#~ "# "
+#~ msgstr ""
+#~ "\n"
+#~ "# strcache-hashtabel-statistieken:\n"
+#~ "# "
+
#~ msgid "process_easy() failed failed to launch process (e=%ld)\n"
#~ msgstr "process_easy() kan geen proces starten (e=%ld)\n"
diff --git a/po/pl.gmo b/po/pl.gmo
index a054031c..f7eb848f 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index e81ac112..5476e850 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -1,124 +1,130 @@
# Polish translation for GNU make.
-# Copyright (C) 1996, 2002, 2005, 2006, 2010 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 <kravietz@ceti.pl>, 1996.
-# Jakub Bogusz <qboosh@pld-linux.org>, 2002-2010.
+# Paweł Krawczyk <kravietz@ceti.pl>, 1996.
+# Jakub Bogusz <qboosh@pld-linux.org>, 2002-2013.
#
msgid ""
msgstr ""
-"Project-Id-Version: make 3.81.91\n"
+"Project-Id-Version: make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-0400\n"
-"PO-Revision-Date: 2010-07-25 22:15+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 <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
+"Language: pl\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ar.c:48
+#: ar.c:46
#, c-format
-msgid "attempt to use unsupported feature: `%s'"
-msgstr "próba u¿ycia nieistniej±cej funkcji: `%s'"
+msgid "attempt to use unsupported feature: '%s'"
+msgstr "próba użycia nieistniejącej funkcji: '%s'"
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
-msgstr "element biblioteki `touch' jest niedostêpny pod VMS"
+msgstr "element biblioteki `touch' jest niedostępny pod VMS"
-#: ar.c:149
+#: ar.c:147
#, c-format
-msgid "touch: Archive `%s' does not exist"
-msgstr "touch: Archiwum `%s' nie istnieje"
+msgid "touch: Archive '%s' does not exist"
+msgstr "touch: Archiwum '%s' nie istnieje"
-#: ar.c:152
+#: ar.c:150
#, c-format
-msgid "touch: `%s' is not a valid archive"
-msgstr "touch: `%s' nie jest poprawnym archiwum"
+msgid "touch: '%s' is not a valid archive"
+msgstr "touch: '%s' nie jest poprawnym archiwum"
-#: ar.c:159
+#: ar.c:157
#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
-msgstr "touch: Brak elementu `%s' w `%s'"
+msgid "touch: Member '%s' does not exist in '%s'"
+msgstr "touch: Brak elementu '%s' w '%s'"
-#: ar.c:166
+#: ar.c:164
#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
-msgstr "touch: B³êdny kod powrotu z ar_member_touch w `%s'"
+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:69
+#: 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 = "
+"Uzyskanie informacji o module przez lnr$set_module() nie udało się, status = "
"%d"
-#: arscan.c:175
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
-msgstr "lbr$ini_control() nie powiod³o siê, status = %d"
+msgstr "lbr$ini_control() nie powiodło się, status = %d"
-#: arscan.c:187
-#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
-msgstr "b³±d otwarcia biblioteki `%s' podczas szukania elementu `%s'"
+#: 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 elementu '%s'"
-#: arscan.c:850
+#: 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"
+msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
+msgstr "Element '%s'%s: %ld bajtów pod %ld (%ld).\n"
-#: arscan.c:851
+#: arscan.c:945
msgid " (name might be truncated)"
-msgstr " (nazwa mo¿e zostaæ okrojona)"
+msgstr " (nazwa może zostać okrojona)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Data %s"
-#: arscan.c:854
+#: 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:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr "Polecenia mają za dużo linii (%ud)"
+
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Przerwano.\n"
-#: commands.c:622
+#: 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"
+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:625
+#: 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"
+msgid "*** Archive member '%s' may be bogus; not deleted"
+msgstr "*** Element archiwum '%s' może być fałszywy; nie usunięty"
-#: commands.c:638
+#: commands.c:647
#, c-format
-msgid "*** [%s] Deleting file `%s'"
-msgstr "*** [%s] Kasujê plik `%s'"
+msgid "*** [%s] Deleting file '%s'"
+msgstr "*** [%s] KasujÄ™ plik '%s'"
-#: commands.c:640
+#: commands.c:649
#, c-format
-msgid "*** Deleting file `%s'"
-msgstr "*** Kasujê plik `%s'"
+msgid "*** Deleting file '%s'"
+msgstr "*** KasujÄ™ plik '%s'"
-#: commands.c:676
+#: commands.c:685
msgid "# recipe to execute"
msgstr "# polecenia do wykonania"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
msgstr " (wbudowane):"
-#: commands.c:681
+#: commands.c:690
#, c-format
-msgid " (from `%s', line %lu):\n"
-msgstr " (z `%s', linia %lu):\n"
+msgid " (from '%s', line %lu):\n"
+msgstr " (z '%s', linia %lu):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -126,221 +132,221 @@ msgstr ""
"\n"
"# Katalogi\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
-msgstr "# %s: stat() zwraca b³±d.\n"
+msgstr "# %s: stat() zwraca błąd.\n"
-#: dir.c:1012
+#: 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"
+msgstr "# %s (klucz %s, czas modyfikacji %d): otwarcie było niemożliwe.\n"
-#: dir.c:1016
+#: 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"
+msgstr "# %s (urządzenie %d, i-węzeł [%d,%d,%d]): otwarcie było niemożliwe.\n"
-#: dir.c:1021
+#: 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"
+msgstr "# %s (urządzenie %ld, i-węzeł %ld): otwarcie było niemożliwe.\n"
-#: dir.c:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
msgstr "# %s (klucz %s, czas modyfikacji %d): "
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
-msgstr "# %s (urz±dzenie %d, i-wêze³ [%d,%d,%d]): "
+msgstr "# %s (urządzenie %d, i-węzeł [%d,%d,%d]): "
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
-msgstr "# %s (urz±dzenie %ld, i-wêze³ %ld): "
+msgstr "# %s (urządzenie %ld, i-węzeł %ld): "
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "Nie"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr " pliki, "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "nie"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
-msgstr " niemo¿liwo¶ci"
+msgstr " niemożliwości"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
-msgstr " jak dot±d."
+msgstr " jak dotÄ…d."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
-msgstr " niemo¿liwo¶ci w %lu katalogach.\n"
+msgstr " niemożliwości w %lu katalogach.\n"
-#: expand.c:127
+#: expand.c:125
#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
-msgstr "Rekurencyjna zmienna `%s' wskazuje na sam± siebie"
+msgid "Recursive variable '%s' references itself (eventually)"
+msgstr "Rekurencyjna zmienna '%s' wskazuje na samÄ… siebie"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
-msgstr "niezakoñczone odwo³anie do zmiennej"
+msgstr "niezakończone odwołanie do zmiennej"
-#: file.c:267
+#: file.c:271
#, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
-msgstr "Polecenia dla pliku `%s' podano w %s:%lu,"
+msgid "Recipe was specified for file '%s' at %s:%lu,"
+msgstr "Polecenia dla pliku '%s' podano w %s:%lu,"
-#: file.c:272
+#: file.c:276
#, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
+msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr ""
-"Polecenia dla pliku `%s' zosta³y wyznaczone na podstawie regu³ standardowych,"
+"Polecenia dla pliku '%s' zostały wyznaczone na podstawie reguł standardowych,"
-#: file.c:275
+#: 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'."
+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:278
+#: file.c:283
#, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
-msgstr "Polecenia dla `%s' zosta³y zignorowane na rzecz poleceñ dla `%s'."
+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:298
+#: file.c:303
#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
+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"
+"nie można przemianować '%s' z pojedynczym dwukropkiem na '%s' z podwójnym"
-#: file.c:303
+#: file.c:309
#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
+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"
+"nie można przemianować '%s' z podwójnym dwukropkiem na '%s' z pojedynczym"
-#: file.c:392
+#: file.c:401
#, c-format
-msgid "*** Deleting intermediate file `%s'"
-msgstr "*** Kasowanie pliku po¶redniego `%s'"
+msgid "*** Deleting intermediate file '%s'"
+msgstr "*** Kasowanie pliku pośredniego '%s'"
-#: file.c:396
+#: file.c:405
msgid "Removing intermediate files...\n"
-msgstr "Kasowanie plików po¶rednich...\n"
-
-#: file.c:803
-#, c-format
-msgid "%s: Timestamp out of range; substituting %s"
-msgstr "%s: Oznaczenie czasu spoza zakresu; zast±piono %s"
+msgstr "Kasowanie plików pośrednich...\n"
-#: file.c:804
+#: file.c:811
msgid "Current time"
msgstr "Aktualny czas"
-#: file.c:924
+#: file.c:815
+#, c-format
+msgid "%s: Timestamp out of range; substituting %s"
+msgstr "%s: Oznaczenie czasu spoza zakresu; zastÄ…piono %s"
+
+#: file.c:955
msgid "# Not a target:"
msgstr "# To nie jest obiekt:"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
-msgstr "# Cenny plik (zale¿no¶æ .PRECIOUS)."
+msgstr "# Cenny plik (zależność .PRECIOUS)."
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
-msgstr "# Obiekt niejawny (zale¿no¶æ .PHONY)."
+msgstr "# Obiekt niejawny (zależność .PHONY)."
-#: file.c:933
+#: file.c:964
msgid "# Command line target."
-msgstr "# Obiekt podany w linii poleceñ."
+msgstr "# Obiekt podany w linii poleceń."
-#: file.c:935
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
-msgstr "# Makefile domy¶lny, wymieniony w MAKEFILES lub -include/sinclude."
+msgstr "# Makefile domyślny, wymieniony w MAKEFILES lub -include/sinclude."
-#: file.c:937
+#: file.c:968
+msgid "# Builtin rule"
+msgstr "# Reguła wbudowana"
+
+#: file.c:970
msgid "# Implicit rule search has been done."
-msgstr "# Szukanie regu³ domy¶lnych zosta³o wykonane."
+msgstr "# Szukanie reguł domyślnych zostało wykonane."
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
-msgstr "# Szukanie regu³ domy¶lnych nie zosta³o wykonane."
+msgstr "# Szukanie reguł domyślnych nie zostało wykonane."
-#: file.c:940
+#: file.c:973
#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
-msgstr "# Ga³±¼ wzorców domy¶lnych/statycznych: `%s'\n"
+msgid "# Implicit/static pattern stem: '%s'\n"
+msgstr "# Gałąź wzorców domyślnych/statycznych: '%s'\n"
-#: file.c:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
-msgstr "# Plik jest zale¿no¶ci± przej¶ciow±."
+msgstr "# Plik jest zależnością przejściową."
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
-msgstr "# Robi równie¿:"
+msgstr "# Robi również:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
-msgstr "# Czas modyfikacji nie by³ sprawdzany."
+msgstr "# Czas modyfikacji nie był sprawdzany."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
msgstr "# Plik nie istnieje."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
msgstr "# Plik jest bardzo stary."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Ostatnio modyfikowany %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
-msgstr "# Plik zosta³ uaktualniony."
+msgstr "# Plik został uaktualniony."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
-msgstr "# Plik nie zosta³ uaktualniony."
+msgstr "# Plik nie został uaktualniony."
-#: file.c:968
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
-msgstr "# Aktualnie uruchamiane polecenia (TO JEST B£¡D)."
+msgstr "# Aktualnie uruchamiane polecenia (TO JEST BÅÄ„D)."
-#: file.c:971
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
-msgstr "# Aktualnie uruchamiane polecenia zale¿no¶ci (TO JEST B£¡D)."
+msgstr "# Aktualnie uruchamiane polecenia zależnoÅ›ci (TO JEST BÅÄ„D)."
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
-msgstr "# Uaktualnienie powiod³o siê."
+msgstr "# Uaktualnienie powiodło się."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
-msgstr "# Powinien byæ uaktualniony (-q jest w³±czone)."
+msgstr "# Powinien być uaktualniony (-q jest włączone)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
-msgstr "# Uaktualnianie nie powiod³o siê."
-
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# B³êdna warto¶æ w elemencie `update_status'!"
+msgstr "# Uaktualnianie nie powiodło się."
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
-msgstr "# B³êdna warto¶æ w elemencie `command_state'!"
+#: file.c:1025
+msgid "# Invalid value in 'command_state' member!"
+msgstr "# Błędna wartość w elemencie 'command_state'!"
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -348,136 +354,191 @@ msgstr ""
"\n"
"# Pliki"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
"\n"
-"# statystyki tablic haszuj±cych plików:\n"
+"# statystyki tablic haszujących plików:\n"
"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
-msgstr "pierwszy argument funkcji `word' nie jest numeryczny"
-
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
-msgstr "pierwszy argument funkcji `word' musi byæ wiêkszy od 0"
+#: 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:783
-msgid "non-numeric first argument to `wordlist' function"
-msgstr "pierwszy argument funkcji `wordlist' nie jest numeryczny"
+#: function.c:780
+msgid "non-numeric first argument to 'word' function"
+msgstr "pierwszy argument funkcji 'word' nie jest liczbowy"
#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
-msgstr "drugi argument funkcji `wordlist' nie jest numeryczny"
+msgid "first argument to 'word' function must be greater than 0"
+msgstr "pierwszy argument funkcji 'word' musi być większy od 0"
+
+#: function.c:805
+msgid "non-numeric first argument to 'wordlist' function"
+msgstr "pierwszy argument funkcji 'wordlist' nie jest liczbowy"
-#: function.c:1458
+#: function.c:807
+msgid "non-numeric second argument to 'wordlist' function"
+msgstr "drugi argument funkcji 'wordlist' nie jest liczbowy"
+
+#: 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"
+msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
+msgstr "windows32_openpipe: DuplicateHandle(In) nie powiodło się (e=%ld)\n"
-#: function.c:1469
+#: function.c:1523
#, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr "windows32_open_pipe(): DuplicateHandle(Err) nie powiod³o siê (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
+msgstr "windows32_openpipe: DuplicateHandle(Err) nie powiodło się (e=%ld)\n"
-#: function.c:1474
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
-msgstr "CreatePipe() nie powiod³o siê (e=%ld)\n"
+msgstr "CreatePipe() nie powiodło się (e=%ld)\n"
-#: function.c:1479
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
-msgstr "windows32_openpipe(): process_init_fd() nie powiod³o siê\n"
+msgstr "windows32_openpipe(): process_init_fd() nie powiodło się\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
-msgstr "Czyszczê tymczasowy plik wsadowy %s\n"
+msgstr "CzyszczÄ™ tymczasowy plik wsadowy %s\n"
+
+#: function.c:2193
+#, c-format
+msgid "open: %s: %s"
+msgstr "otwarcie: %s: %s"
-#: function.c:2150
+#: function.c:2203
#, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
-msgstr "niewystarczaj±ca liczba argumentów (%d) dla funkcji `%s'"
+msgid "write: %s: %s"
+msgstr "zapis: %s: %s"
-#: function.c:2162
+#: function.c:2209
#, c-format
-msgid "unimplemented on this platform: function `%s'"
-msgstr "funkcja `%s' nie jest zaimplementowana na tej platformie"
+msgid "Invalid file operation: %s"
+msgstr "Błędna operacja na pliku: %s"
-#: function.c:2212
+#: function.c:2324
#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
-msgstr "nie dokoñczone wywo³anie funkcji `%s': brak `%c'"
+msgid "insufficient number of arguments (%d) to function '%s'"
+msgstr "niewystarczająca liczba argumentów (%d) dla funkcji '%s'"
-#: getopt.c:661
+#: function.c:2336
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: opcja `%s' jest niejednoznaczna\n"
+msgid "unimplemented on this platform: function '%s'"
+msgstr "funkcja '%s' nie jest zaimplementowana na tej platformie"
-#: getopt.c:685
+#: function.c:2399
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: opcja `--%s' nie przyjmuje argumentów\n"
+msgid "unterminated call to function '%s': missing '%c'"
+msgstr "nie dokończone wywołanie funkcji '%s': brak '%c'"
+
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "Pusta nazwa funkcji\n"
+
+#: function.c:2593
+#, fuzzy, c-format
+msgid "Invalid function name: %s"
+msgstr "Błędna nazwa funkcji: %s\n"
+
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
+msgstr "Zbyt długa nazwa funkcji: %s\n"
+
+#: 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:690
+#: getopt.c:659
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: opcja `%c%s' nie przyjmuje argumentów\n"
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: opcja '%s' jest niejednoznaczna\n"
-#: getopt.c:707 getopt.c:880
+#: getopt.c:683
#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: opcja `%s' wymaga argumentu\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: opcja '--%s' nie przyjmuje argumentów\n"
-#: getopt.c:736
+#: getopt.c:688
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: nierozpoznana opcja `--%s'\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: opcja '%c%s' nie może mieć argumentów\n"
-#: getopt.c:740
+#: getopt.c:705 getopt.c:878
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: nierozpoznan opcja `%c%s'\n"
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s: opcja '%s' musi mieć argument\n"
-#: getopt.c:766
+#: getopt.c:734
+#, c-format
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: nieznana opcja '--%s'\n"
+
+#: getopt.c:738
+#, c-format
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: nieznana opcja '%c%s'\n"
+
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: niedozwolona opcja -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
-msgstr "%s: b³êdna opcja -- %c\n"
+msgstr "%s: błędna opcja -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: opcja wymaga argumentu -- %c\n"
+msgstr "%s: opcja musi mieć argument -- %c\n"
-#: getopt.c:846
+#: getopt.c:844
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: opcja `-W %s' jest niejednoznaczna\n"
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: opcja '-W %s' jest niejednoznaczna\n"
-#: getopt.c:864
+#: getopt.c:862
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: opcja `-W %s' nie przyjmuje argumentów\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s: opcja '-W %s' nie może mieć argumentów\n"
+
+#: guile.c:58
+#, c-format
+msgid "guile: Expanding '%s'\n"
+msgstr "guile: Rozwijanie '%s'\n"
+
+#: guile.c:74
+#, c-format
+msgid "guile: Evaluating '%s'\n"
+msgstr "guile: Wyliczanie '%s'\n"
#: hash.c:49
#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
msgstr ""
-"nie mo¿na przydzieliæ %lu bajtów na tablicê haszuj±c±: pamiêæ wyczerpana"
+"nie można przydzielić %lu bajtów na tablicę haszującą: pamięć wyczerpana"
#: hash.c:280
#, c-format
msgid "Load=%ld/%ld=%.0f%%, "
-msgstr "Wype³nienie=%ld/%ld=%.0f%%, "
+msgstr "Wypełnienie=%ld/%ld=%.0f%%, "
#: hash.c:282
#, c-format
@@ -489,280 +550,358 @@ msgstr "Przehaszowania=%d, "
msgid "Collisions=%ld/%ld=%.0f%%"
msgstr "Kolizje=%ld/%ld=%.0f%%"
-#: implicit.c:40
+#: implicit.c:38
#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
-msgstr "Szukanie standardowej regu³y dla `%s'.\n"
+msgid "Looking for an implicit rule for '%s'.\n"
+msgstr "Szukanie standardowej reguły dla '%s'.\n"
-#: implicit.c:56
+#: implicit.c:54
#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
-msgstr "Szukanie standardowej regu³y typu archive-member dla `%s'.\n"
+msgid "Looking for archive-member implicit rule for '%s'.\n"
+msgstr "Szukanie standardowej reguły typu archive-member dla '%s'.\n"
-#: implicit.c:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
-msgstr "Pomijanie rekurencyjnego wywo³ania regu³y standardowej.\n"
+msgstr "Pomijanie rekurencyjnego wywołania reguły standardowej.\n"
+
+#: implicit.c:486
+#, c-format
+msgid "Stem too long: '%.*s'.\n"
+msgstr "Gałąź zbyt długa: '%.*s'.\n"
#: implicit.c:491
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
-msgstr "Próbowanie regu³y wzorcowej z ga³êzi± `%.*s'.\n"
+msgid "Trying pattern rule with stem '%.*s'.\n"
+msgstr "Próbowanie reguły wzorcowej z gałęzią '%.*s'.\n"
-#: implicit.c:674
+#: implicit.c:697
#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
-msgstr "Odrzucenie niemo¿liwej zale¿no¶ci regu³y `%s'.\n"
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
+msgstr "Odrzucenie niemożliwej zależności reguły '%s'.\n"
-#: implicit.c:675
+#: implicit.c:698
#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
-msgstr "Odrzucenie niemo¿liwej zale¿no¶ci domy¶lnej `%s'.\n"
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
+msgstr "Odrzucenie niemożliwej zależności domyślnej '%s'.\n"
-#: implicit.c:688
+#: implicit.c:711
#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
-msgstr "Próbowanie zale¿no¶ci regu³y `%s'.\n"
+msgid "Trying rule prerequisite '%s'.\n"
+msgstr "Próbowanie zależności reguły '%s'.\n"
-#: implicit.c:689
+#: implicit.c:712
#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
-msgstr "Próbowanie zale¿no¶ci domy¶lnej `%s'.\n"
+msgid "Trying implicit prerequisite '%s'.\n"
+msgstr "Próbowanie zależności domyślnej '%s'.\n"
-#: implicit.c:728
+#: implicit.c:751
#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
-msgstr "Znaleziono zale¿no¶æ `%s' jako VPATH `%s'\n"
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
+msgstr "Znaleziono zależność '%s' jako VPATH '%s'\n"
-#: implicit.c:742
+#: implicit.c:765
#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
-msgstr "Szukanie regu³y zawieraj±cej plik przej¶ciowy `%s'.\n"
+msgid "Looking for a rule with intermediate file '%s'.\n"
+msgstr "Szukanie reguły zawierającej plik przejściowy '%s'.\n"
-#: job.c:335
+#: job.c:361
msgid "Cannot create a temporary file\n"
-msgstr "Nie mo¿na utworzyæ pliku tymczasowego\n"
+msgstr "Nie można utworzyć pliku tymczasowego\n"
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] B³±d 0x%x (zignorowany)"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (zrzut pamięci)"
+
+#: job.c:488
+msgid " (ignored)"
+msgstr " (zignorowano)"
+
+#: job.c:492 job.c:2046
+msgid "<builtin>"
+msgstr "<wbudowane>"
-#: job.c:450
+#: job.c:503
#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] B³±d 0x%x"
+msgid "%s: recipe for target '%s' failed"
+msgstr "%s: polecenia dla obiektu '%s' nie powiodły się"
-#: job.c:454
+#: job.c:516 job.c:524
#, c-format
-msgid "[%s] Error %d (ignored)"
-msgstr "[%s] B³±d %d (zignorowany)"
+msgid "%s[%s] Error %d%s"
+msgstr "%s[%s] BÅ‚Ä…d %d%s"
-#: job.c:455
+#: job.c:519
#, c-format
-msgid "*** [%s] Error %d"
-msgstr "*** [%s] B³±d %d"
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] BÅ‚Ä…d 0x%x%s"
-#: job.c:460
-msgid " (core dumped)"
-msgstr " (zrzut pamiêci)"
+#: job.c:529
+#, c-format
+msgid "%s[%s] %s%s%s"
+msgstr "%s[%s]: %s%s%s"
-#: job.c:549
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
-msgstr "*** Oczekiwanie na niezakoñczone zadania...."
+msgstr "*** Oczekiwanie na niezakończone zadania...."
-#: job.c:579
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
-msgstr "¯yj±cy potomek %p (%s) PID %s %s\n"
+msgstr "Żyjący potomek %p (%s) PID %s %s\n"
-#: job.c:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (zdalne)"
-#: job.c:758
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
-msgstr "Zbieranie przegrywaj±cego potomka %p PID %s %s\n"
+msgstr "Zbieranie przegrywajÄ…cego potomka %p PID %s %s\n"
-#: job.c:759
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
-msgstr "Zbieranie wygrywaj±cego potomka %p PID %s %s\n"
+msgstr "Zbieranie wygrywajÄ…cego potomka %p PID %s %s\n"
-#: job.c:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Czyszczenie tymczasowego pliku wsadowego %s\n"
-#: job.c:861
+#: 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: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:920
-msgid "write jobserver"
-msgstr "pisz±cy serwer zadañ"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
+msgstr "zwalnianie semafora serwera zadań: (Błąd %ld: %s)"
-#: job.c:922
+#: 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:1453 job.c:2094
+#: 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"
+msgstr "process_easy() nie mógł uruchomić procesu (e=%ld)\n"
-#: job.c:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
"\n"
-"Naliczono %d parametrów nieudanego uruchomienia\n"
+"Naliczono %d parametrów nieudanego uruchomienia\n"
-#: job.c:1525
+#: 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:1778
+#: 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:1787
+#: job.c:2029
msgid "read jobs pipe"
-msgstr "strumieñ czytaj±cy zadania"
+msgstr "strumień czytający zadania"
-#: job.c:1798
+#: job.c:2056
#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr "Wykonywanie poleceñ z %s:%lu dla uaktualnienia obiektu `%s'.\n"
+msgid "%s: target '%s' does not exist"
+msgstr "%s: obiekt '%s' nie istnieje"
-#: job.c:1802
+#: job.c:2059
#, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "Wykonywanie wbudowanych poleceñ dla uaktualnienia obiektu `%s'.\n"
+msgid "%s: update target '%s' due to: %s"
+msgstr "%s: uaktualnianie obiektu '%s' z powodu: %s"
-#: job.c:1910
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
-msgstr "niemo¿liwe wymuszenie limitów obci±¿enia w tym systemie"
+msgstr "niemożliwe wymuszenie limitów obciążenia w tym systemie"
-#: job.c:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
-msgstr "niemo¿liwe wymuszenie limitu obci±¿enia: "
+msgstr "niemożliwe wymuszenie limitu obciążenia: "
-#: job.c:1985
+#: 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"
+msgstr "nie ma więcej uchwytów plików: nie można powielić stdin\n"
-#: job.c:1987
+#: 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"
+msgstr "nie ma więcej uchwytów plików: nie można powielić stdout\n"
+
+#: 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:2015
+#: job.c:2293
msgid "Could not restore stdin\n"
-msgstr "Nie mo¿na odtworzyæ stdin\n"
+msgstr "Nie można odtworzyć stdin\n"
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
-msgstr "Nie mo¿na odtworzyæ stdout\n"
+msgstr "Nie można odtworzyć stdout\n"
-#: job.c:2127
+#: job.c:2309
+msgid "Could not restore stderr\n"
+msgstr "Nie można odtworzyć stderr\n"
+
+#: 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"
+msgstr "make usunÄ…Å‚ potomka pid %s, nadal czeka na pid %s\n"
-#: job.c:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Polecenie nie znalezione"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
-msgstr "%s: Nie znaleziono programu pow³oki"
+msgstr "%s: Nie znaleziono programu powłoki"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
-msgstr "spawnvpe: mog³o zabrakn±æ miejsca na ¶rodowisko"
+msgstr "spawnvpe: mogło zabraknąć miejsca na środowisko"
-#: job.c:2461
+#: job.c:2765
#, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
-msgstr "$SHELL siê zmieni³ (by³ `%s', jest `%s')\n"
+msgid "$SHELL changed (was '%s', now '%s')\n"
+msgstr "$SHELL się zmienił (był '%s', jest '%s')\n"
-#: job.c:2951
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Tworzenie tymczasowego pliku wsadowego %s\n"
-#: job.c:2963
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+"Zawartość pliku wsadowego:\n"
+"\t@echo off\n"
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-"Zawarto¶æ pliku wsadowego:%s\n"
+"Zawartość pliku wsadowego:%s\n"
"\t%s\n"
-#: job.c:3065
+#: 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"
+msgstr "%s (linia %d) Zły kontekst powłoki (!unixy && !batch_mode_shell)\n"
-#: main.c:303
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr ""
+"-O[TYP] (--output-sync[=TYP]) nie zostało skonfigurowane przy tym budowaniu."
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr "Nie udało się otworzyć tablicy symboli globalnych: %s"
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr "Wczytany obiekt %s nie jest zadeklarowany jako kompatybilny z GPL"
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr "Nie udało się wczytać symbolu %s z %s: %s"
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr "Pusta nazwa symbolu do wczytania: %s"
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr "Wczytywanie symbolu %s z %s\n"
+
+#: 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:313
msgid "Options:\n"
msgstr "Opcje:\n"
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
-msgstr " -b, -m Ignorowane dla kompatybilno¶ci.\n"
+msgstr " -b, -m Ignorowane dla kompatybilności.\n"
-#: main.c:306
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
-" -B, --always-make Bezwarunkowe utworzenie wszystkich obiektów.\n"
+" -B, --always-make Bezwarunkowe utworzenie wszystkich obiektów.\n"
-#: main.c:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
" -C KATALOG, --directory=KATALOG\n"
-" Przej¶cie do KATALOGu przed robieniem\n"
+" Przejście do KATALOGu przed robieniem\n"
" czegokolwiek.\n"
-#: main.c:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr ""
-" -d Wy¶wietla du¿o informacji diagnostycznych.\n"
+" -d Wyświetla dużo informacji diagnostycznych.\n"
-#: main.c:313
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
-" --debug[=FLAGI] Wy¶wietla ró¿ne rodzaje informacji\n"
+" --debug[=FLAGI] Wyświetla różne rodzaje informacji\n"
" diagnostycznych.\n"
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
" -e, --environment-overrides\n"
-" Zmienne ¶rodowiska przykrywaj± makefile.\n"
+" Zmienne środowiska przykrywają makefile.\n"
-#: main.c:318
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
-" --eval=£AÑCUCH Wyznacza £AÑCUCH jako instrukcjê pliku "
+" --eval=ÅAŃCUCH Wyznacza ÅAŃCUCH jako instrukcjÄ™ pliku "
"makefile.\n"
-#: main.c:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -770,67 +909,67 @@ msgstr ""
" -f PLIK, --file=PLIK, --makefile=PLIK\n"
" Czyta PLIK jako makefile.\n"
-#: main.c:323
+#: 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"
+" -h, --help Wyświetla ten komunikat i kończy działanie.\n"
-#: main.c:325
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
-msgstr " -i, --ignore-errors Ignoruje b³êdy poleceñ.\n"
+msgstr " -i, --ignore-errors Ignoruje błędy poleceń.\n"
-#: main.c:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
" -I KATALOG, --include-dir=KATALOG\n"
-" Szuka do³±czanych makefile w KATALOGu.\n"
+" Szuka dołączanych makefile w KATALOGu.\n"
-#: main.c:330
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
msgstr ""
-" -j [N], --jobs[=N] Dopuszcza N zadañ naraz; brak N oznacza brak\n"
-" ograniczeñ.\n"
+" -j [N], --jobs[=N] Dopuszcza N zadań naraz; brak N oznacza brak\n"
+" ograniczeń.\n"
-#: main.c:332
+#: 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"
+" -k, --keep-going Kontynuuj jeśli nie da się zrobić jakichś\n"
+" obiektów.\n"
-#: main.c:334
+#: 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"
-" Nie uruchamiaj wielu zadañ je¶li load nie "
+" Nie uruchamiaj wielu zadań jeśli load nie "
"jest\n"
-" poni¿ej N.\n"
+" poniżej N.\n"
-#: main.c:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
-" -L, --check-symlink-times U¿ywanie ostatniego mtime miêdzy dowi±zaniem a "
+" -L, --check-symlink-times Używanie ostatniego mtime między dowiązaniem a "
"celem.\n"
-#: main.c:339
+#: 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"
-" Nie wykonuje poleceñ; jedynie je wy¶wietla.\n"
+" Nie wykonuje poleceń; jedynie je wyświetla.\n"
-#: main.c:342
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -841,93 +980,111 @@ msgstr ""
"go\n"
" ponownie.\n"
-#: main.c:345
+#: main.c:355
+msgid ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
+msgstr ""
+" -O[SPOSÓB], --output-sync[=SPOSÓB]\n"
+" Sposób synchronizacji wyjścia zadań "
+"równoległych.\n"
+
+#: 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"
+msgstr " -p, --print-data-base Wyświetla wewnętrzną bazę danych make.\n"
-#: main.c:347
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-" -q, --question Nie uruchamia ¿adnych poleceñ; status powrotu\n"
-" wskazuje aktualno¶æ.\n"
+" -q, --question Nie uruchamia żadnych poleceń; status powrotu\n"
+" wskazuje aktualność.\n"
-#: main.c:349
+#: 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"
+msgstr " -r, --no-builtin-rules Wyłącza wbudowane reguły standardowe.\n"
-#: main.c:351
+#: 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"
+" -R, --no-builtin-variables Wyłącza ustawianie wbudowanych zmiennych.\n"
-#: main.c:353
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
-msgstr " -s, --silent, --quiet Nie wypisuje poleceñ.\n"
+msgstr " -s, --silent, --quiet Nie wypisuje poleceń.\n"
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr ""
" -S, --no-keep-going, --stop\n"
-" Wy³±cza -k.\n"
+" Wyłącza -k.\n"
-#: main.c:358
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
-msgstr " -t, --touch Uaktualnia obiekty zamiast je robiæ.\n"
+msgstr " -t, --touch Uaktualnia obiekty zamiast je robić.\n"
-#: main.c:360
+#: main.c:373
+msgid " --trace Print tracing information.\n"
+msgstr " --trace Wypisywanie informacji ze śledzenia.\n"
+
+#: 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"
+" -v, --version Wyświetla wersję make i kończy działanie.\n"
-#: main.c:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
-msgstr " -w, --print-directory Wy¶wietla aktualny katalog.\n"
+msgstr " -w, --print-directory Wyświetla aktualny katalog.\n"
-#: main.c:364
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr ""
-" --no-print-directory Wy³±cza -w, nawet je¶li by³o ono w³±czone\n"
-" domy¶lnie.\n"
+" --no-print-directory Wyłącza -w, nawet jeśli było ono włączone\n"
+" domyślnie.\n"
-#: main.c:366
+#: 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 PLIK, --what-if=PLIK, --new-file=PLIK, --assume-new=PLIK\n"
-" Uznaje PLIK za nieskoñczenie nowy.\n"
+" Uznaje PLIK za nieskończenie nowy.\n"
-#: main.c:369
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr ""
-" --warn-undefined-variables Ostrzega przy odwo³aniach do "
+" --warn-undefined-variables Ostrzega przy odwołaniach do "
"niezdefiniowanych\n"
" zmiennych.\n"
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
-msgstr "pusty ³añcuch nie mo¿e byæ nazw± pliku"
+msgstr "pusty łańcuch nie może być nazwą pliku"
-#: main.c:650
+#: main.c:737
#, c-format
-msgid "unknown debug level specification `%s'"
-msgstr "nieznany poziom diagnostyki `%s'"
+msgid "unknown debug level specification '%s'"
+msgstr "nieznany poziom diagnostyki '%s'"
-#: main.c:690
+#: main.c:774
+#, c-format
+msgid "unknown output-sync type '%s'"
+msgstr "nieznany sposób synchronizacji wyjścia '%s'"
+
+#: 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"
+msgstr "%s: złapano przerwanie/wyjątek (kod = 0x%lx, adres = 0x%p)\n"
-#: main.c:697
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -937,208 +1094,227 @@ msgid ""
"ExceptionAddress = 0x%p\n"
msgstr ""
"\n"
-"Nieobs³ugiwany filtr wyj±tku wywo³any z programu %s\n"
+"Nieobsługiwany filtr wyjątku wywołany z programu %s\n"
"ExceptionCode = %lx\n"
"ExceptionFlags = %lx\n"
"ExceptionAddress = 0x%p\n"
-#: main.c:705
+#: 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"
+msgstr "Naruszenie praw dostępu: zapis pod adresem 0x%p\n"
-#: main.c:706
+#: 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"
+msgstr "Naruszenie praw dostępu: odczyt spod adresu 0x%p\n"
-#: main.c:781 main.c:792
+#: 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:834
+#: 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"
+msgstr "find_and_set_shell() ustawia ścieżkę wyszukiwania default_shell = %s\n"
-#: main.c:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s jest zawieszony na 30 sekund..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
-msgstr "zakoñczono sleep(30). Kontynuacja.\n"
+msgstr "zakończono sleep(30). Kontynuacja.\n"
-#: main.c:1501
+#: main.c:1527
+#, 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)"
+
+#: 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: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."
+msgstr "Makefile ze standardowego wejścia podano dwukrotnie."
-#: main.c:1539 vmsjobs.c:500
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (plik tymczasowy)"
-#: main.c:1545
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (plik tymczasowy)"
-#: main.c:1703
+#: 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"
+msgstr "Równoległe zadania (-j) nie są obsługiwane na tej platformie"
-#: main.c:1704
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
-msgstr "Prze³±czanie w tryb jednozadaniowy (-j1)."
+msgstr "Przełączanie w tryb jednozadaniowy (-j1)."
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "b³±d wewnêtrzny: wiele opcji --jobserver-fds"
-
-#: main.c:1727
+#: main.c:1994
#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
-msgstr "b³±d wewnêtrzny: b³êdny ³añcuch --jobserver-fds `%s'"
+msgid "Jobserver slots limited to %d\n"
+msgstr "Pojemność serwera zadań ograniczona do %d\n"
-#: main.c:1730
+#: main.c:2002
#, c-format
-msgid "Jobserver client (fds %d,%d)\n"
-msgstr "Klient serwera zadañ (fds %d,%d)\n"
-
-#: main.c:1740
-msgid "warning: -jN forced in submake: disabling jobserver mode."
-msgstr "uwaga: -jN wymuszone w podzadaniu: wy³±czanie trybu serwera zadañ."
-
-#: main.c:1750
-msgid "dup jobserver"
-msgstr "duplikacja serwera zadañ"
-
-#: main.c:1753
-msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
-msgstr ""
-"uwaga: serwer zadañ niedostêpny: u¿ywanie -j1. Nale¿y dodaæ `+' do "
-"nadrzêdnej regu³y make."
+msgid "creating jobserver semaphore: (Error %ld: %s)"
+msgstr "tworzenie semafora serwera zadań: (Błąd %ld: %s)"
-#: main.c:1777
+#: main.c:2008
msgid "creating jobs pipe"
-msgstr "tworzenie potoku zadañ"
+msgstr "tworzenie potoku zadań"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
-msgstr "inicjowanie potoku serwera zadañ"
+msgstr "inicjowanie potoku serwera zadań"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
-msgstr "Dowi±zania symboliczne nie s± obs³ugiwane: wy³±czono -L."
+msgstr "Dowiązania symboliczne nie są obsługiwane: wyłączono -L."
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
-msgstr "Uaktualnianie plików makefile....\n"
+msgstr "Uaktualnianie plików makefile....\n"
-#: main.c:1917
+#: main.c:2158
#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
-msgstr "Makefile `%s' mo¿e siê zapêtliæ; nie przetwarzam go.\n"
+msgid "Makefile '%s' might loop; not remaking it.\n"
+msgstr "Plik makefile '%s' może się zapętlić; bez ponownego przetwarzania.\n"
-#: main.c:1996
+#: main.c:2237
#, c-format
-msgid "Failed to remake makefile `%s'."
-msgstr "Nie uda³o siê zrobiæ makefile `%s'."
+msgid "Failed to remake makefile '%s'."
+msgstr "Nie udało się ponownie przetworzyć pliku makefile '%s'."
-#: main.c:2013
+#: main.c:2257
#, c-format
-msgid "Included makefile `%s' was not found."
-msgstr "Nie znaleziono w³±czanych makefile `%s'."
+msgid "Included makefile '%s' was not found."
+msgstr "Nie znaleziono włączanego pliku makefile '%s'."
-#: main.c:2018
+#: main.c:2262
#, c-format
-msgid "Makefile `%s' was not found"
-msgstr "Nie znaleziono makefile `%s'"
+msgid "Makefile '%s' was not found"
+msgstr "Nie znaleziono pliku makefile '%s'"
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
-msgstr "Niemo¿liwy powrót do katalogu startowego."
+msgstr "Niemożliwy powrót do katalogu startowego."
-#: main.c:2102
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Ponowne uruchamianie[%u]:"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (plik tymczasowy): "
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
-msgstr ".DEFAULT_GOAL zawiera wiêcej ni¿ jeden cel"
+msgstr ".DEFAULT_GOAL zawiera więcej niż jeden cel"
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
-msgstr "Nie podano obiektów i nie znaleziono makefile"
+msgstr "Nie podano obiektów i nie znaleziono makefile"
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
-msgstr "Brak obiektów"
+msgstr "Brak obiektów"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
-msgstr "Uaktualnianie obiektów docelowych....\n"
+msgstr "Uaktualnianie obiektów docelowych....\n"
-#: main.c:2306
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
-msgstr "uwaga: Wykryto przestawienie zegara. Budowanie mo¿e byæ niekompletne."
+msgstr "uwaga: Wykryto przestawienie zegara. Budowanie może być niekompletne."
-#: main.c:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
-msgstr "Sk³adnia: %s [opcje] [obiekt] ...\n"
+msgstr "Składnia: %s [opcje] [obiekt] ...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
"This program built for %s\n"
msgstr ""
"\n"
-"Ten program zosta³ zbudowany dla %s\n"
+"Ten program został zbudowany dla %s\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
"This program built for %s (%s)\n"
msgstr ""
"\n"
-"Ten program zosta³ zbudowany dla %s (%s)\n"
+"Ten program został zbudowany dla %s (%s)\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
-msgstr "B³êdy proszê zg³aszaæ na adres <bug-make@gnu.org>\n"
+msgstr "Błędy proszę zgłaszać na adres <bug-make@gnu.org>\n"
-#: main.c:2562
+#: 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"
+msgid "the '%s%s' option requires a non-empty string argument"
+msgstr "opcja '%s%s' wymaga niepustego łańcucha jako argumentu"
-#: main.c:2617
+#: main.c:2871
#, c-format
-msgid "the `-%c' option requires a positive integral argument"
-msgstr "opcja `-%c' wymaga argumentu ca³kowitego dodatniego"
+msgid "the '-%c' option requires a positive integer argument"
+msgstr "opcja '-%c' wymaga argumentu będącego liczbą całkowitą dodatnią"
-#: main.c:3054
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
-msgstr "%sTen program zosta³ zbudowany dla systemu %s\n"
+msgstr "%sTen program został zbudowany dla systemu %s\n"
-#: main.c:3056
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
-msgstr "%sTen program zosta³ zbudowany dla systemu %s (%s)\n"
+msgstr "%sTen program został zbudowany dla systemu %s (%s)\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1148,730 +1324,764 @@ msgid ""
msgstr ""
"%sLicencja GPLv3+: GNU GPL wersja 3 lub nowsza <http://gnu.org/licenses/gpl."
"html>\n"
-"%sTo oprogramowanie jest wolnodostêpne: mo¿na je swobodnie zmieniaæ i "
-"rozpowszechniaæ.\n"
-"%sNie ma ¯ADNEJ GWARANCJI w zakresie dopuszczalnym przez prawo.\n"
+"%sTo oprogramowanie jest wolnodostępne: można je swobodnie zmieniać i "
+"rozpowszechniać.\n"
+"%sNie ma ŻADNEJ GWARANCJI w zakresie dopuszczalnym przez prawo.\n"
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
"# Make data base, printed on %s"
msgstr ""
"\n"
-"# Baza danych Make, wy¶wietlana na %s"
+"# Baza danych Make, wyświetlana na %s"
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
"# Finished Make data base on %s\n"
msgstr ""
"\n"
-"# Zakoñczono tworzenie bazy danych Make na %s\n"
+"# Zakończono tworzenie bazy danych Make na %s\n"
+
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "Nieznany błąd %d"
-#: main.c:3237
+#: misc.c:522
+#, c-format
+msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+msgstr "%s: użytkownik %lu (rzeczywisty %lu), grupa %lu (rzeczywista %lu)\n"
+
+#: misc.c:543
+msgid "Initialized access"
+msgstr "Zainicjalizowany dostęp"
+
+#: misc.c:622
+msgid "User access"
+msgstr "Dostęp użytkownika"
+
+#: misc.c:670
+msgid "Make access"
+msgstr "Dostęp make"
+
+#: misc.c:704
+msgid "Child access"
+msgstr "Dostęp potomka"
+
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
-msgstr "%s: Wej¶cie do nieznanego katalogu\n"
+msgstr "%s: Wejście do nieznanego katalogu\n"
-#: main.c:3239
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: Opuszczenie nieznanego katalogu\n"
-#: main.c:3242
+#: output.c:109
#, c-format
-msgid "%s: Entering directory `%s'\n"
-msgstr "%s: Wej¶cie do katalogu `%s'\n"
+msgid "%s: Entering directory '%s'\n"
+msgstr "%s: Wejście do katalogu '%s'\n"
-#: main.c:3245
+#: output.c:111
#, c-format
-msgid "%s: Leaving directory `%s'\n"
-msgstr "%s: Opuszczenie katalogu `%s'\n"
+msgid "%s: Leaving directory '%s'\n"
+msgstr "%s: Opuszczenie katalogu '%s'\n"
-#: main.c:3250
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
-msgstr "%s[%u]: Wej¶cie do nieznanego katalogu\n"
+msgstr "%s[%u]: Wejście do nieznanego katalogu\n"
-#: main.c:3253
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Opuszczenie nieznanego katalogu\n"
-#: main.c:3257
+#: output.c:120
#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
-msgstr "%s[%u]: Wej¶cie do katalogu `%s'\n"
+msgid "%s[%u]: Entering directory '%s'\n"
+msgstr "%s[%u]: Wejście do katalogu '%s'\n"
-#: main.c:3260
+#: output.c:122
#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
-msgstr "%s[%u]: Opuszczenie katalogu `%s'\n"
+msgid "%s[%u]: Leaving directory '%s'\n"
+msgstr "%s[%u]: Opuszczenie katalogu '%s'\n"
+
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
+msgstr "błąd zapisu: %s"
-#: misc.c:316
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Stop.\n"
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "Nieznany b³±d %d"
-
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "brak pamiêci wirtualnej"
-
-#: misc.c:708
-#, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: u¿ytkownik %lu (rzeczywisty %lu), grupa %lu (rzeczywista %lu)\n"
-
-#: misc.c:729
-msgid "Initialized access"
-msgstr "Zainicjalizowany dostêp"
-
-#: misc.c:808
-msgid "User access"
-msgstr "Dostêp u¿ytkownika"
-
-#: misc.c:856
-msgid "Make access"
-msgstr "Dostêp make"
-
-#: misc.c:890
-msgid "Child access"
-msgstr "Dostêp potomka"
-
-#: misc.c:954
-#, c-format
-msgid "write error: %s"
-msgstr "b³±d zapisu: %s"
-
-#: misc.c:956
-msgid "write error"
-msgstr "b³±d zapisu"
-
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
msgstr "Czytanie makefile...\n"
-#: read.c:333
+#: read.c:335
#, c-format
-msgid "Reading makefile `%s'"
-msgstr "Czytanie makefile `%s'"
+msgid "Reading makefile '%s'"
+msgstr "Czytanie pliku makefile '%s'"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
-msgstr " (brak celu domy¶lnego)"
+msgstr " (brak celu domyślnego)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
-msgstr " (przeszukiwana ¶cie¿ka)"
+msgstr " (przeszukiwana ścieżka)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
-msgstr " (niewa¿ne)"
+msgstr " (nieważne)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (brak rozszerzenia ~)"
-#: read.c:759
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr "Pominięto BOM UTF-8 w pliku makefile '%s'\n"
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr "Pominięto BOM UTF-8 w buforze pliku makefile\n"
+
+#: read.c:789
msgid "invalid syntax in conditional"
-msgstr "b³êdna sk³adnia wyra¿enia warunkowego"
+msgstr "błędna składnia wyrażenia warunkowego"
+
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr "%s: nie udało się załadować"
-#: read.c:891
+#: read.c:992
msgid "recipe commences before first target"
-msgstr "polecenia zaczynaj± siê przed pierwszym obiektem"
+msgstr "polecenia zaczynajÄ… siÄ™ przed pierwszym obiektem"
-#: read.c:940
+#: read.c:1041
msgid "missing rule before recipe"
-msgstr "brakuje regu³y przed poleceniami"
+msgstr "brakuje reguły przed poleceniami"
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "brakuj±cy separator%s"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
+msgstr " (czyżby miał być TAB zamiast 8 spacji?)"
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
-msgstr " (czy¿by mia³ byæ TAB zamiast 8 spacji?)"
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "brakujÄ…cy separator%s"
-#: read.c:1163
+#: read.c:1270
msgid "missing target pattern"
-msgstr "brakuj±cy wzorzec obiektu"
+msgstr "brakujÄ…cy wzorzec obiektu"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
msgstr "wielokrotne wzorce obiektu"
-#: read.c:1169
+#: read.c:1276
#, c-format
-msgid "target pattern contains no `%%'"
-msgstr "wzorzec obiektu nie zawiera `%%'"
+msgid "target pattern contains no '%%'"
+msgstr "wzorzec obiektu nie zawiera '%%'"
-#: read.c:1293
-msgid "missing `endif'"
-msgstr "brakuj±cy `endif'"
+#: read.c:1398
+msgid "missing 'endif'"
+msgstr "brakujÄ…cy 'endif'"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "pusta nazwa zmiennej"
-#: read.c:1367
-msgid "extraneous text after `define' directive"
-msgstr "nadmiarowy tekst po dyrektywie `define'"
+#: read.c:1471
+msgid "extraneous text after 'define' directive"
+msgstr "nadmiarowy tekst po dyrektywie 'define'"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
-msgstr "brakuj±cy `endef', niezakoñczone `define'"
+#: read.c:1496
+msgid "missing 'endef', unterminated 'define'"
+msgstr "brakujący 'endef', niezakończone 'define'"
-#: read.c:1420
-msgid "extraneous text after `endef' directive"
-msgstr "nadmiarowy tekst po dyrektywie `endef'"
+#: read.c:1524
+msgid "extraneous text after 'endef' directive"
+msgstr "nadmiarowy tekst po dyrektywie 'endef'"
-#: read.c:1490
+#: read.c:1595
#, c-format
-msgid "Extraneous text after `%s' directive"
-msgstr "Niezwi±zany tekst po dyrektywie `%s'"
+msgid "extraneous text after '%s' directive"
+msgstr "niezwiÄ…zany tekst po dyrektywie '%s'"
-#: read.c:1499 read.c:1513
+#: read.c:1596
#, c-format
-msgid "extraneous `%s'"
-msgstr "niezwi±zany `%s'"
+msgid "extraneous '%s'"
+msgstr "nadmiarowy '%s'"
-#: read.c:1518
-msgid "only one `else' per conditional"
-msgstr "tylko jedno `else' w wyra¿eniu warunkowym"
+#: read.c:1624
+msgid "only one 'else' per conditional"
+msgstr "tylko jedno 'else' w wyrażeniu warunkowym"
-#: read.c:1797
+#: read.c:1899
msgid "Malformed target-specific variable definition"
-msgstr "¬le sformu³owana definicja zmiennej dla celu"
+msgstr "Źle sformułowana definicja zmiennej dla celu"
-#: read.c:1855
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
-msgstr "wymagania nie mog± byæ definiowane w opisach poleceñ"
+msgstr "wymagania nie mogą być definiowane w opisach poleceń"
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
-msgstr "pomieszane standardowe i statyczne regu³y wzorców"
+msgstr "pomieszane standardowe i statyczne reguły wzorców"
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
-msgstr "pomieszane standardowe i normalne regu³y"
+msgstr "pomieszane standardowe i normalne reguły"
-#: read.c:1976
+#: read.c:2091
#, c-format
-msgid "target `%s' doesn't match the target pattern"
-msgstr "obiekt `%s' nie pasuje do wzorca obiektu"
+msgid "target '%s' doesn't match the target pattern"
+msgstr "obiekt '%s' nie pasuje do wzorca obiektu"
-#: read.c:1991 read.c:2036
+#: read.c:2106 read.c:2152
#, c-format
-msgid "target file `%s' has both : and :: entries"
-msgstr "plik obiektowy `%s' ma pozycje i : i ::"
+msgid "target file '%s' has both : and :: entries"
+msgstr "plik obiektu '%s' ma pozycje i : i ::"
-#: read.c:1997
+#: read.c:2112
#, c-format
-msgid "target `%s' given more than once in the same rule."
-msgstr "obiekt `%s' wyspecyfikowany wielokrotnie w tej samej regule"
+msgid "target '%s' given more than once in the same rule"
+msgstr "obiekt '%s' podany wielokrotnie w tej samej regule"
-#: read.c:2006
+#: read.c:2122
#, c-format
-msgid "warning: overriding recipe for target `%s'"
-msgstr "uwaga: polecenia zakrywaj±ce dla obiektu `%s'"
+msgid "warning: overriding recipe for target '%s'"
+msgstr "uwaga: polecenia zakrywajÄ…ce dla obiektu '%s'"
-#: read.c:2009
+#: read.c:2125
#, c-format
-msgid "warning: ignoring old recipe for target `%s'"
-msgstr "uwaga: ignorujê stare polecenia dla obiektu `%s'"
+msgid "warning: ignoring old recipe for target '%s'"
+msgstr "uwaga: ignorujÄ™ stare polecenia dla obiektu '%s'"
+
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "pomieszane standardowe i normalne reguły"
-#: read.c:2392
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
-msgstr "uwaga: napotka³em na znak NUL; reszta linii zignorowana"
+msgstr "uwaga: napotkałem na znak NUL; reszta linii zignorowana"
-#: remake.c:234
+#: remake.c:230
#, c-format
-msgid "Nothing to be done for `%s'."
-msgstr "Nie ma nic do zrobienia w `%s'."
+msgid "Nothing to be done for '%s'."
+msgstr "Nie ma nic do zrobienia w '%s'."
-#: remake.c:235
+#: remake.c:231
#, c-format
-msgid "`%s' is up to date."
-msgstr "`%s' jest aktualne."
+msgid "'%s' is up to date."
+msgstr "'%s' jest aktualne."
-#: remake.c:306
+#: remake.c:303
#, c-format
-msgid "Pruning file `%s'.\n"
-msgstr "Czyszczenie pliku `%s'.\n"
+msgid "Pruning file '%s'.\n"
+msgstr "Czyszczenie pliku '%s'.\n"
-#: remake.c:359
+#: remake.c:390 remake.c:393
#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%sBrak regu³ do wykonania obiektu `%s'%s"
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
+msgstr "%sBrak reguł do zrobienia obiektu '%s', wymaganego przez '%s'%s"
-#: remake.c:361
+#: remake.c:402 remake.c:405
#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
-msgstr "%sBrak regu³ do zrobienia obiektu `%s', wymaganego przez `%s'%s"
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sBrak reguł do wykonania obiektu '%s'%s"
-#: remake.c:413
+#: remake.c:426
#, c-format
-msgid "Considering target file `%s'.\n"
-msgstr "Przetwarzanie pliku obiektowego `%s'.\n"
+msgid "Considering target file '%s'.\n"
+msgstr "Przetwarzanie pliku obiektowego '%s'.\n"
-#: remake.c:420
+#: remake.c:433
#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
-msgstr "Ju¿ bez powodzenia próbowa³em uaktualniæ plik `%s'.\n"
+msgid "Recently tried and failed to update file '%s'.\n"
+msgstr "Już bez powodzenia próbowałem uaktualnić plik '%s'.\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
-msgid "File `%s' was considered already.\n"
-msgstr "Plik `%s' by³ ju¿ przetwarzany.\n"
+msgid "File '%s' was considered already.\n"
+msgstr "Plik '%s' był już przetwarzany.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
-msgid "Still updating file `%s'.\n"
-msgstr "Wci±¿ uaktualniam plik `%s'.\n"
+msgid "Still updating file '%s'.\n"
+msgstr "Wciąż uaktualniam plik '%s'.\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
-msgid "Finished updating file `%s'.\n"
-msgstr "Skoñczy³em uaktualniaæ plik `%s'.\n"
+msgid "Finished updating file '%s'.\n"
+msgstr "Skończyłem uaktualniać plik '%s'.\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
-msgid "File `%s' does not exist.\n"
-msgstr "Plik `%s' nie istnieje.\n"
+msgid "File '%s' does not exist.\n"
+msgstr "Plik '%s' nie istnieje.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-"*** Uwaga: plik .LOW_RESOLUTION_TIME `%s' ma du¿± rozdzielczo¶æ znacznika "
+"*** Uwaga: plik .LOW_RESOLUTION_TIME '%s' ma dużą rozdzielczość znacznika "
"czasu"
-#: remake.c:494 remake.c:1016
+#: remake.c:508 remake.c:1040
#, c-format
-msgid "Found an implicit rule for `%s'.\n"
-msgstr "Znaleziono standardow± regu³ê dla `%s'.\n"
+msgid "Found an implicit rule for '%s'.\n"
+msgstr "Znaleziono standardową regułę dla '%s'.\n"
-#: remake.c:496 remake.c:1018
+#: remake.c:510 remake.c:1042
#, c-format
-msgid "No implicit rule found for `%s'.\n"
-msgstr "Brak standardowych regu³ dla `%s'.\n"
+msgid "No implicit rule found for '%s'.\n"
+msgstr "Brak standardowych reguł dla '%s'.\n"
-#: remake.c:502
+#: remake.c:516
#, c-format
-msgid "Using default recipe for `%s'.\n"
-msgstr "Stosowanie standardowych poleceñ dla `%s'.\n"
+msgid "Using default recipe for '%s'.\n"
+msgstr "Stosowanie standardowych poleceń dla '%s'.\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
-msgstr "Okrê¿na dyrektywa %s <- %s porzucona."
+msgstr "Okrężna dyrektywa %s <- %s porzucona."
-#: remake.c:651
+#: remake.c:675
#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
-msgstr "Zakoñczono zale¿no¶ci pliku obiektu `%s'.\n"
+msgid "Finished prerequisites of target file '%s'.\n"
+msgstr "Zakończono zależności pliku obiektu '%s'.\n"
-#: remake.c:657
+#: remake.c:681
#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
-msgstr "Zale¿no¶ci `%s' s± wykonywane.\n"
+msgid "The prerequisites of '%s' are being made.\n"
+msgstr "Zależności '%s' są wykonywane.\n"
-#: remake.c:670
+#: remake.c:695
#, c-format
-msgid "Giving up on target file `%s'.\n"
-msgstr "Zaniechany plik obiektowy `%s'.\n"
+msgid "Giving up on target file '%s'.\n"
+msgstr "Zaniechany plik obiektowy '%s'.\n"
-#: remake.c:675
+#: remake.c:700
#, c-format
-msgid "Target `%s' not remade because of errors."
-msgstr "Obiekt `%s' nie zosta³ wykonany z powodu b³êdów."
+msgid "Target '%s' not remade because of errors."
+msgstr "Obiekt '%s' nie został ponownie wykonany z powodu błędów."
-#: remake.c:727
+#: remake.c:752
#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
-msgstr "Zale¿no¶æ `%s' dotyczy tylko kolejno¶ci dla obiektu `%s'.\n"
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
+msgstr "Zależność '%s' dotyczy tylko kolejności dla obiektu '%s'.\n"
-#: remake.c:732
+#: remake.c:757
#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
-msgstr "Zale¿no¶æ `%s' obiektu `%s' nie istnieje.\n"
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
+msgstr "Zależność '%s' obiektu '%s' nie istnieje.\n"
-#: remake.c:737
+#: remake.c:762
#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
-msgstr "Zale¿no¶æ `%s' jest nowsza od obiektu `%s'.\n"
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
+msgstr "Zależność '%s' jest nowsza od obiektu '%s'.\n"
-#: remake.c:740
+#: remake.c:765
#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
-msgstr "Zale¿no¶æ `%s' jest starsza od obiektu `%s'.\n"
+msgid "Prerequisite '%s' is older than target '%s'.\n"
+msgstr "Zależność '%s' jest starsza od obiektu '%s'.\n"
-#: remake.c:758
+#: remake.c:783
#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
-msgstr "Obiekt `%s' jest typu double-colon i nie ma ¿adnych zale¿no¶ci.\n"
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
+msgstr ""
+"Obiekt '%s' jest z podwójnym dwukropkiem i nie ma żadnych zależności.\n"
-#: remake.c:765
+#: remake.c:790
#, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
-msgstr "Brak poleceñ dla `%s' i brak zmienionych zale¿no¶ci.\n"
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
+msgstr "Brak poleceń dla '%s' i brak zmienionych zależności.\n"
-#: remake.c:770
+#: remake.c:795
#, c-format
-msgid "Making `%s' due to always-make flag.\n"
-msgstr "Tworzenie `%s' z powodu flagi always-make.\n"
+msgid "Making '%s' due to always-make flag.\n"
+msgstr "Tworzenie '%s' z powodu flagi always-make.\n"
-#: remake.c:778
+#: remake.c:803
#, c-format
-msgid "No need to remake target `%s'"
-msgstr "Nie ma potrzeby przerabiaæ obiektu `%s'"
+msgid "No need to remake target '%s'"
+msgstr "Nie ma potrzeby ponownego robienia obiektu '%s'"
-#: remake.c:780
+#: remake.c:805
#, c-format
-msgid "; using VPATH name `%s'"
-msgstr "; u¿yto nazwy VPATH `%s'"
+msgid "; using VPATH name '%s'"
+msgstr "; użyto nazwy VPATH '%s'"
-#: remake.c:800
+#: remake.c:825
#, c-format
-msgid "Must remake target `%s'.\n"
-msgstr "Konieczne przerobienie obiektu `%s'.\n"
+msgid "Must remake target '%s'.\n"
+msgstr "Konieczne ponowne wykonanie obiektu '%s'.\n"
-#: remake.c:806
+#: remake.c:831
#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
-msgstr " Zignorowano nazwê VPATH `%s'.\n"
+msgid " Ignoring VPATH name '%s'.\n"
+msgstr " Zignorowano nazwÄ™ VPATH '%s'.\n"
-#: remake.c:815
+#: remake.c:840
#, c-format
-msgid "Recipe of `%s' is being run.\n"
-msgstr "Uruchomiono polecenia dla `%s'.\n"
+msgid "Recipe of '%s' is being run.\n"
+msgstr "Uruchomiono polecenia dla '%s'.\n"
-#: remake.c:822
+#: remake.c:847
#, c-format
-msgid "Failed to remake target file `%s'.\n"
-msgstr "Przerabianie pliku obiektowego `%s' nie powiod³o siê.\n"
+msgid "Failed to remake target file '%s'.\n"
+msgstr "Ponowne tworzenie pliku obiektu '%s' nie powiodło się.\n"
-#: remake.c:825
+#: remake.c:850
#, c-format
-msgid "Successfully remade target file `%s'.\n"
-msgstr "Przerabianie pliku obiektowego `%s' powiod³o siê.\n"
+msgid "Successfully remade target file '%s'.\n"
+msgstr "Ponowne tworzenie pliku obiektu '%s' powiodło się.\n"
-#: remake.c:828
+#: remake.c:853
#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
-msgstr "Plik obiektowy `%s' powinien byæ przerobiony z opcj± -q.\n"
+msgid "Target file '%s' needs to be remade under -q.\n"
+msgstr "Plik obiektu '%s' powinien być ponownie tworzony z opcją -q.\n"
-#: remake.c:1024
+#: remake.c:1048
#, c-format
-msgid "Using default commands for `%s'.\n"
-msgstr "Stosowanie standardowych poleceñ dla `%s'.\n"
+msgid "Using default commands for '%s'.\n"
+msgstr "Stosowanie standardowych poleceń dla '%s'.\n"
-#: remake.c:1357
+#: remake.c:1397
#, c-format
-msgid "Warning: File `%s' has modification time in the future"
-msgstr "Uwaga: Plik `%s' ma czas modyfikacji z przysz³o¶ci"
+msgid "Warning: File '%s' has modification time in the future"
+msgstr "Uwaga: Plik '%s' ma czas modyfikacji z przyszłości"
-#: remake.c:1370
+#: remake.c:1411
#, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
-msgstr "Uwaga: Plik `%s' ma czas modyfikacji %s s w przysz³o¶ci"
+msgid "Warning: File '%s' has modification time %s s in the future"
+msgstr "Uwaga: Plik '%s' ma czas modyfikacji %s s w przyszłości"
-#: remake.c:1569
+#: remake.c:1610
#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
-msgstr "element .LIBPATTERNS `%s' nie jest wzorcem"
+msgid ".LIBPATTERNS element '%s' is not a pattern"
+msgstr "Element .LIBPATTERNS '%s' nie jest wzorcem"
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
msgstr "Zasady nie eksportowane: %s\n"
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
msgstr ""
"\n"
-"# Regu³y stadardowe"
+"# Reguły stadardowe"
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
msgstr ""
"\n"
-"# Brak standardowych regu³."
+"# Brak standardowych reguł."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
"# %u implicit rules, %u"
msgstr ""
"\n"
-"# %u standardowych regu³, %u"
+"# %u standardowych reguł, %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
msgstr " terminal."
-#: rule.c:534
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
-msgstr "B£¡D: z³e num_pattern_rules! %u != %u"
+msgstr "BÅÄ„D: zÅ‚e num_pattern_rules! %u != %u"
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
-msgstr "nieznany sygna³"
+msgstr "nieznany sygnał"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
-msgstr "Roz³±czenie"
+msgstr "Rozłączenie"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
msgstr "Przerwanie"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
-msgstr "Wyj¶cie"
+msgstr "Wyjście"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
-msgstr "B³êdna instrukcja"
+msgstr "Błędna instrukcja"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
-msgstr "Pu³apka ¶ledzenia"
+msgstr "Pułapka śledzenia"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr "Przerwany"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
-msgstr "Pu³apka IOT"
+msgstr "Pułapka IOT"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
-msgstr "Pu³apka EMT"
+msgstr "Pułapka EMT"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
-msgstr "Wyj±tek zmiennoprzecinkowy"
+msgstr "WyjÄ…tek zmiennoprzecinkowy"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
msgstr "Zabity"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
-msgstr "B³±d szyny"
+msgstr "BÅ‚Ä…d szyny"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
-msgstr "Naruszenie ochrony pamiêci"
+msgstr "Naruszenie ochrony pamięci"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
-msgstr "B³êdne wywo³anie systemowe"
+msgstr "Błędne wywołanie systemowe"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
msgstr "Przerwany potok"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr "Budzik"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
-msgstr "Zakoñczony"
+msgstr "Zakończony"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
-msgstr "Sygna³ u¿ytkownika 1"
+msgstr "Sygnał użytkownika 1"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
-msgstr "Sygna³ u¿ytkownika 2"
+msgstr "Sygnał użytkownika 2"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
-msgstr "Potomek powróci³"
+msgstr "Potomek powrócił"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
msgstr "Przerwa w zasilaniu"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr "Zatrzymany"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
-msgstr "Zatrzymany (wej¶cie z tty)"
+msgstr "Zatrzymany (wejście z tty)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
-msgstr "Zatrzymany (wyj¶cie na tty)"
+msgstr "Zatrzymany (wyjście na tty)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
-msgstr "Zatrzymany (sygna³)"
+msgstr "Zatrzymany (sygnał)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
msgstr "Przekroczony czas CPU"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
-msgstr "Przekroczony limit wielko¶ci pliku"
+msgstr "Przekroczony limit wielkości pliku"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
msgstr "Wyczerpany stoper wirtualny"
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
-msgstr "Wyczerpany stoper profiluj±cy"
+msgstr "Wyczerpany stoper profilujÄ…cy"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
msgstr "Zmienione okno"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
msgstr "Kontynuowany"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
-msgstr "Nag³a sytuacja I/O"
+msgstr "Nagła sytuacja I/O"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
-msgstr "I/O mo¿liwe"
+msgstr "I/O możliwe"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr "Zaginione zasoby"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
-msgstr "Sygna³ niebezpieczeñstwa"
+msgstr "Sygnał niebezpieczeństwa"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
-msgstr "¯±danie informacji"
+msgstr "Żądanie informacji"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
-msgstr "Koprocesor obliczeñ zmiennoprzecinkowych niedostêpny"
+msgstr "Koprocesor obliczeń zmiennoprzecinkowych niedostępny"
-#: strcache.c:235
+#: strcache.c:236
#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s No strcache buffers\n"
msgstr ""
"\n"
-"%s liczba ³añcuchów w strcache: %d / wyszukiwañ = %lu / trafieñ = %lu\n"
+"%s Brak buforów strcache\n"
-#: strcache.c:237
+#: strcache.c:266
#, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
-msgstr "%s liczba buforów strcache: %d (* %d B/bufor = %d B)\n"
+msgid ""
+"\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
+msgstr ""
+"\n"
+"%s bufory strcache: %lu (%lu) / łańcuchów = %lu / miejsce = %lu B / śr = %lu "
+"B\n"
-#: strcache.c:239
+#: strcache.c:270
#, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
-"%s rozmiar strcache: ca³kowity = %d (%d) / maks = %d / min = %d / ¶r = %d\n"
+"%s bieżący buf: rozmiar = %hu B / użyty = %hu B / liczba = %hu / śr = %hu B\n"
+
+#: strcache.c:280
+#, c-format
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
+msgstr "%s pozostałe użyte: razem = %lu B / liczba = %lu / śr = %lu B\n"
-#: strcache.c:241
+#: strcache.c:283
#, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid ""
+"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
msgstr ""
-"%s wolne strcache: ca³kowite = %d (%d) / maks = %d / min = %d / ¶r = %d\n"
+"%s pozostałe wolne: razem = %lu B / maks = %lu B / min = %lu B / śr = %hu B\n"
-#: strcache.c:244
+#: strcache.c:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
-"# "
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
msgstr ""
"\n"
-"# statystyki tablic haszuj±cych strcache:\n"
+"%s wydajność strcache: wyszukiwań = %lu / wsp. trafień = %lu%%\n"
+
+#: strcache.c:289
+msgid ""
+"# hash-table stats:\n"
+"# "
+msgstr ""
+"# statystyki tablic haszujÄ…cych:\n"
"# "
-#: variable.c:1541
+#: variable.c:1599
+msgid "automatic"
+msgstr "automatyczna"
+
+#: variable.c:1602
msgid "default"
-msgstr "domy¶lna"
+msgstr "domyślna"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
-msgstr "¶rodowiskowa"
+msgstr "środowiskowa"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
-msgstr "¶rodowisko pod -e"
+msgstr "środowisko pod -e"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
-msgstr "z linii poleceñ"
+msgstr "z linii poleceń"
-#: variable.c:1556
-msgid "`override' directive"
-msgstr "dyrektywa `override'"
+#: variable.c:1617
+msgid "'override' directive"
+msgstr "dyrektywa 'override'"
-#: variable.c:1559
-msgid "automatic"
-msgstr "automatyczna"
-
-#: variable.c:1570
+#: variable.c:1628
#, c-format
-msgid " (from `%s', line %lu)"
-msgstr " (z `%s', linia %lu)"
+msgid " (from '%s', line %lu)"
+msgstr " (z '%s', linia %lu)"
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
-msgstr "# statystyki tablic haszuj±cych ustawionych zmiennych:\n"
+msgstr "# statystyki tablic haszujÄ…cych ustawionych zmiennych:\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -1879,151 +2089,171 @@ msgstr ""
"\n"
"# Zmienne\n"
-#: variable.c:1627
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
"\n"
-"# Warto¶ci zmiennych dla wzorca"
+"# Wartości zmiennych dla wzorca"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
msgstr ""
"\n"
-"# Brak warto¶ci zmiennych dla wzorca."
+"# Brak wartości zmiennych dla wzorca."
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
"# %u pattern-specific variable values"
msgstr ""
"\n"
-"# %u warto¶ci zmiennych dla wzorca"
+"# %u wartości zmiennych dla wzorca"
-#: variable.h:219
+#: variable.h:224
#, c-format
-msgid "warning: undefined variable `%.*s'"
-msgstr "uwaga: niezdefiniowana zmienna `%.*s'"
+msgid "warning: undefined variable '%.*s'"
+msgstr "uwaga: niezdefiniowana zmienna '%.*s'"
-#: vmsfunctions.c:92
+#: vmsfunctions.c:91
#, c-format
msgid "sys$search() failed with %d\n"
-msgstr "sys$search() nie powiod³o siê - %d\n"
+msgstr "sys$search() nie powiodło się - %d\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Uwaga: Puste przekierowanie\n"
-#: vmsjobs.c:184
+#: vmsjobs.c:183
#, c-format
-msgid "internal error: `%s' command_state"
-msgstr "b³±d wewnêtrzny: `%s' command_state"
+msgid "internal error: '%s' command_state"
+msgstr "błąd wewnętrzny: command_state '%s'"
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
-msgstr "-uwaga, bêdzie trzeba ponownie umo¿liwiæ obs³ugê CTRL-Y z DCL.\n"
+msgstr "-uwaga, będzie trzeba ponownie umożliwić obsługę CTRL-Y z DCL.\n"
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "WBUDOWANE [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "WBUDOWANE CD %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "WBUDOWANE RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "WBUDOWANE CD %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Nieznane polecenie wbudowane '%s'\n"
-#: vmsjobs.c:493
+#: 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"
+msgstr "BÅ‚Ä…d, puste polecenie\n"
-#: vmsjobs.c:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
-msgstr "Przekierowane wej¶cie z %s\n"
+msgstr "Przekierowane wejście z %s\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
-msgstr "Przekierowane wyj¶cie diagnostyczne do %s\n"
+msgstr "Przekierowane wyjście diagnostyczne do %s\n"
-#: vmsjobs.c:523
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
-msgstr "Do³±czanie wyj¶cia do %s\n"
+msgstr "Dołączanie wyjścia do %s\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
-msgstr "Przekierowane wyj¶cie do %s\n"
+msgstr "Przekierowane wyjście do %s\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
-msgstr "Do³±czanie %.*s i czyszczenie\n"
+msgstr "Dołączanie %.*s i czyszczenie\n"
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "Zamiast tego wykonywanie %s\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
-msgstr "B³±d podczas uruchamiania, %d\n"
+msgstr "BÅ‚Ä…d podczas uruchamiania, %d\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
msgstr ""
"\n"
-"# ¦cie¿ki przeszukiwania VPATH\n"
+"# Ścieżki przeszukiwania VPATH\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
-msgstr "# Brak ¶cie¿ek przeszukiwania `vpath'"
+#: vpath.c:600
+msgid "# No 'vpath' search paths."
+msgstr "# Brak ścieżek przeszukiwania 'vpath'"
-#: vpath.c:605
+#: vpath.c:602
#, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
-"# %u ¶cie¿ek przeszukiwania `vpath'.\n"
+"# %u ścieżek przeszukiwania 'vpath'.\n"
-#: vpath.c:608
+#: vpath.c:605
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
-"# Brak ogólnej (zmienna `VPATH') ¶cie¿ki przeszukiwania."
+"# Brak ogólnej (zmienna 'VPATH') ścieżki przeszukiwania."
-#: vpath.c:614
+#: vpath.c:611
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
-"# Ogólna (zmienna `VPATH') ¶cie¿ka przeszukiwania:\n"
+"# Ogólna (zmienna 'VPATH') ścieżka przeszukiwania:\n"
"# "
+
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "błąd wewnętrzny: wiele opcji --sync-mutex"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "błąd wewnętrzny: wiele opcji --jobserver-fds"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "brak pamięci wirtualnej"
+
+#~ msgid "write error"
+#~ msgstr "błąd zapisu"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "WBUDOWANE RM %s\n"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index 28ced111..8dc66efb 100644
--- a/po/pt_BR.gmo
+++ b/po/pt_BR.gmo
Binary files differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
index e734c062..9013dec1 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -1,128 +1,135 @@
-# translation of make-3.80.po to portugues
# Mensagem do GNU make em Português (Brasil)
-# Copyright (C) 2000, 2008 Free Software Foundation, Inc.
-#
-# Caso você encontre alguma mensagem que não está bem traduzida, por
-# favor me informe dando sua sugestão.
+# Copyright (C) 2000 Free Software Foundation, Inc.
#
+# This file is distributed under the same license as the make package.
# Fábio Henrique F. Silva <fabiohfs@mail.com>, 2000.
-# Fábio Henrique F. Silva <fabiohfs@netscape.net>, 2008.
+# Fábio Henrique F. Silva <fabiohfs@netscape.net>, 2008, 2009, 2010, 2011, 2012, 2013.
+#
msgid ""
msgstr ""
-"Project-Id-Version: make-3.80\n"
+"Project-Id-Version: GNU make 3.82\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-0400\n"
-"PO-Revision-Date: 2008-01-22 00:45-0200\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 <fabiohfs@netscape.net>\n"
-"Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
+"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
+"net>\n"
+"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 1.5.4\n"
+"X-Poedit-SourceCharset: iso-8859-1\n"
-#: ar.c:48
-#, c-format
-msgid "attempt to use unsupported feature: `%s'"
+# Caso você encontre alguma mensagem que não está bem traduzida, por
+# favor me informe dando sua sugestão.
+#: ar.c:46
+#, fuzzy, c-format
+msgid "attempt to use unsupported feature: '%s'"
msgstr "característica não suportada: `%s'"
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
msgstr "o touch não está disponível no VMS"
-#: ar.c:149
-#, c-format
-msgid "touch: Archive `%s' does not exist"
+#: ar.c:147
+#, fuzzy, c-format
+msgid "touch: Archive '%s' does not exist"
msgstr "touch: Arquivo `%s' não existe"
-#: ar.c:152
-#, c-format
-msgid "touch: `%s' is not a valid archive"
+#: ar.c:150
+#, fuzzy, c-format
+msgid "touch: '%s' is not a valid archive"
msgstr "touch: `%s' não é um arquivo válido"
-#: ar.c:159
-#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
+#: ar.c:157
+#, fuzzy, c-format
+msgid "touch: Member '%s' does not exist in '%s'"
msgstr "touch: O membro `%s' não existe em `%s'"
-#: ar.c:166
-#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
+#: ar.c:164
+#, fuzzy, c-format
+msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "touch: O ar_member_touch retornou um código de erro inválido em `%s'"
-#: arscan.c:69
-#, fuzzy, c-format
+#: arscan.c:124
+#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
-msgstr "o lbr$set_module falhou ao obter informações do módulo, estado = %d"
+msgstr "o lbr$set_module() falhou ao obter informações do módulo, estado = %d"
-#: arscan.c:175
-#, fuzzy, c-format
+#: arscan.c:230
+#, c-format
msgid "lbr$ini_control() failed with status = %d"
-msgstr "lbr$ini_control falhou com estado = %d"
+msgstr "lbr$ini_control() falhou com estado = %d"
-#: arscan.c:187
-#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
+#: arscan.c:255
+#, fuzzy, c-format
+msgid "unable to open library '%s' to lookup member status %d"
msgstr "erro na abertura da biblioteca `%s' para localizar o membro `%s'"
-#: arscan.c:850
-#, c-format
-msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
+#: arscan.c:944
+#, fuzzy, c-format
+msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Membro `%s'%s: %ld bytes de %ld (%ld).\n"
-#: arscan.c:851
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (o nome pode estar truncado)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Data %s"
-#: arscan.c:854
+#: 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:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr ""
+
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Quebra.\n"
-#: commands.c:622
-#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
-msgstr "*** [%s] O arquivo membro `%s' pode ser falso. Não foi apagado"
+#: commands.c:629
+#, fuzzy, c-format
+msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
+msgstr "** [%s] O arquivo membro `%s' pode ser falso. Não foi apagado."
-#: commands.c:625
-#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
-msgstr "*** O arquivo membro `%s' pode ser falso. Não foi apagado"
+#: commands.c:633
+#, fuzzy, c-format
+msgid "*** Archive member '%s' may be bogus; not deleted"
+msgstr "** O arquivo membro `%s' pode ser falso. Não foi apagado."
-#: commands.c:638
-#, c-format
-msgid "*** [%s] Deleting file `%s'"
-msgstr "** [%s] Apagando o arquivo `%s'"
+#: commands.c:647
+#, fuzzy, c-format
+msgid "*** [%s] Deleting file '%s'"
+msgstr "** [%s] Apagando arquivo `%s'"
-#: commands.c:640
-#, c-format
-msgid "*** Deleting file `%s'"
-msgstr "** Apagando o arquivo `%s'"
+#: commands.c:649
+#, fuzzy, c-format
+msgid "*** Deleting file '%s'"
+msgstr "** Apagando arquivo `%s'"
-#: commands.c:676
-#, fuzzy
+#: commands.c:685
msgid "# recipe to execute"
-msgstr "# comandos para executar"
+msgstr "# comandos a executar"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
msgstr " (embutido):"
-#: commands.c:681
-#, c-format
-msgid " (from `%s', line %lu):\n"
+#: commands.c:690
+#, fuzzy, c-format
+msgid " (from '%s', line %lu):\n"
msgstr " (de `%s', linha %lu):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -130,222 +137,223 @@ msgstr ""
"\n"
"# Diretórios\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
msgstr "# %s: não pôde ser estabelecido.\n"
-#: dir.c:1012
+#: dir.c:1005
#, c-format
msgid "# %s (key %s, mtime %d): could not be opened.\n"
msgstr "# %s (chave %s, mtime %d): não pôde ser aberto.\n"
-#: dir.c:1016
+#: dir.c:1009
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n"
msgstr "# %s (dispositivo %d, inode [%d,%d,%d]): não pôde ser aberto.\n"
-#: dir.c:1021
+#: dir.c:1014
#, c-format
msgid "# %s (device %ld, inode %ld): could not be opened.\n"
msgstr "# %s (dispositivo %ld, inode %ld): não pôde ser aberto.\n"
-#: dir.c:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
msgstr "# %s (chave %s, mtime %d): "
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
msgstr "# %s (dispositivo %d, inode [%d,%d,%d]): "
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
msgstr "# %s (dispositivo %ld, inode %ld): "
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "Não"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr " arquivos, "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "não"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
msgstr " impossibilidades"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
msgstr " até agora."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
msgstr " impossibilidades em %lu diretórios.\n"
-#: expand.c:127
-#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
+#: expand.c:125
+#, fuzzy, c-format
+msgid "Recursive variable '%s' references itself (eventually)"
msgstr "Variável recursiva `%s' faz referência a ela mesma (eventualmente)"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
-msgstr "referência a uma variável não finalizada"
+msgstr "referência a variável não finalizada"
-#: file.c:267
+#: file.c:271
#, fuzzy, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
-msgstr "Comandos especificados para o arquivo `%s' em %s:%lu,"
+msgid "Recipe was specified for file '%s' at %s:%lu,"
+msgstr "Os comandos especificados para o arquivo `%s' em %s:%lu,"
-#: file.c:272
+#: file.c:276
#, fuzzy, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
-msgstr "Comandos para o arquivo `%s' encontrados por regra implícita,"
+msgid "Recipe for file '%s' was found by implicit rule search,"
+msgstr ""
+"Os comandos para o arquivo `%s' foram encontrados por uma regra implícita,"
-#: file.c:275
-#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
+#: file.c:280
+#, fuzzy, c-format
+msgid "but '%s' is now considered the same file as '%s'."
msgstr "mas `%s' é considerado o mesmo arquivo que `%s'."
-#: file.c:278
+#: file.c:283
#, fuzzy, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
-msgstr "Comandos para `%s' serão ignorados em favor daqueles para `%s'."
+msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
+msgstr "Os comandos para `%s' serão ignorados em favor daqueles para `%s'."
-#: file.c:298
-#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
+#: file.c:303
+#, fuzzy, c-format
+msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr "não pôde renomear de dois-pontos `%s' para dois-pontos duplos `%s'"
-#: file.c:303
-#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
-msgstr "não pôde renomear de dois-pontos duplos `%s' para dois-pontos `%s'"
+#: file.c:309
+#, fuzzy, c-format
+msgid "can't rename double-colon '%s' to single-colon '%s'"
+msgstr "não pôde renomer de dois-pontos duplos `%s' para dois-pontos `%s'"
-#: file.c:392
-#, c-format
-msgid "*** Deleting intermediate file `%s'"
-msgstr "** Apagando o arquivo intermediário `%s'"
+#: file.c:401
+#, fuzzy, c-format
+msgid "*** Deleting intermediate file '%s'"
+msgstr "** Apagando arquivo intermediário `%s'"
-#: file.c:396
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Apagando arquivo intermediário...\n"
-#: file.c:803
+#: file.c:811
+msgid "Current time"
+msgstr "Hora atual"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: Data/Hora fora de faixa; substituindo %s"
-#: file.c:804
-msgid "Current time"
-msgstr "Hora atual"
-
-#: file.c:924
+#: file.c:955
msgid "# Not a target:"
msgstr "# Não é um alvo:"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
-msgstr "# Arquivo importante (pre-requisito de .PRECIOUS)."
+msgstr "# Arquivo importante (prerequisito de .PRECIOUS)."
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
-msgstr "# Alvo Falso (pre-requisito de .PHONY)."
+msgstr "# Alvo Falso (prerequisito de .PHONY)."
-#: file.c:933
-#, fuzzy
+#: file.c:964
msgid "# Command line target."
msgstr "# Linha de Comando do Alvo."
-#: file.c:935
-#, fuzzy
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
-msgstr "# Um Padrão ou arquivo MAKEFILES."
+msgstr "# Um Padrão, arquivo MAKEFILES ou -include/sinclude makefile."
-#: file.c:937
+#: file.c:968
+#, fuzzy
+msgid "# Builtin rule"
+msgstr ""
+"\n"
+"# Faltam as regras implícitas."
+
+#: file.c:970
msgid "# Implicit rule search has been done."
-msgstr "# A pesquisa por regra implícita foi concluida."
+msgstr "# Pesquisa por regra implícita concluida."
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
-msgstr "# A pesquisa por regra implícita não foi concluida."
+msgstr "# Pesquisa por regra implícita não concluida."
-#: file.c:940
-#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
+#: file.c:973
+#, fuzzy, c-format
+msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# Derivação padrão implícita/estática: `%s'\n"
-#: file.c:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# O arquivo é um pré-requisito intermediário."
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
msgstr "# Também faz:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# O Período da modificação nunca foi verificado."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
msgstr "# O Arquivo não existe."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
msgstr "# O Arquivo está desatualizado."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Última modificação %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
msgstr "# O Arquivo foi atualizado."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
msgstr "# O Arquivo não foi atualizado."
-#: file.c:968
-#, fuzzy
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Comandos em execução (ISTO É UMA FALHA)."
-#: file.c:971
-#, fuzzy
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# Comandos de dependências em execução (ISTO É UMA FALHA)."
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Atualizado com sucesso."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Precisa ser atualizado (-q está definido)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Problemas com a atualização."
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# Valor inválido no membro `update_status' !"
-
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
+#: file.c:1025
+#, fuzzy
+msgid "# Invalid value in 'command_state' member!"
msgstr "# Valor inválido no membro `command_state' !"
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -353,7 +361,7 @@ msgstr ""
"\n"
"# Arquivos"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -363,121 +371,178 @@ msgstr ""
"# tabela hash de arquivos:\n"
"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr ""
+
+#: function.c:780
+#, fuzzy
+msgid "non-numeric first argument to 'word' function"
msgstr "primeiro argumento não numérico para a função `word'"
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
+#: function.c:785
+#, fuzzy
+msgid "first argument to 'word' function must be greater than 0"
msgstr "o primeiro argumento para a função `word' deve ser maior que 0"
-#: function.c:783
-msgid "non-numeric first argument to `wordlist' function"
+#: function.c:805
+#, fuzzy
+msgid "non-numeric first argument to 'wordlist' function"
msgstr "primeiro argumento não numérico para a função `wordlist'"
-#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
+#: function.c:807
+#, fuzzy
+msgid "non-numeric second argument to 'wordlist' function"
msgstr "segundo argumento não numérico para a função `wordlist'"
-#: function.c:1458
+#: function.c:1499
#, fuzzy, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
-msgstr "create_child_process: DuplicateHandle(In) falhou (e=%d)\n"
+msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
+msgstr "windows32_openpipe(): DuplicateHandle(In) falhou (e=%ld)\n"
-#: function.c:1469
+#: function.c:1523
#, fuzzy, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr "create_child_process: DuplicateHandle(Err) falhou (e=%d)\n"
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
+msgstr "windows32_open_pipe(): DuplicateHandle(Err) falhou (e=%ld)\n"
-#: function.c:1474
-#, fuzzy, c-format
+#: function.c:1530
+#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
-msgstr "CreatePipe() falhou (e=%d)\n"
+msgstr "CreatePipe() falhou (e=%ld)\n"
-#: function.c:1479
-#, fuzzy
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
-msgstr "windows32_openpipe (): process_init_fd() falhou\n"
+msgstr "windows32_openpipe(): process_init_fd() falhou\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Apagando o arquivo de lote temporário %s\n"
-#: function.c:2150
+#: function.c:2193
#, fuzzy, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
-msgstr "O número de argumentos é insuficiente (%d) para a função `%s'"
+msgid "open: %s: %s"
+msgstr "%s: %s"
-#: function.c:2162
+#: function.c:2203
#, fuzzy, c-format
-msgid "unimplemented on this platform: function `%s'"
-msgstr "A função `%s' não foi implementada nesta plataforma"
+msgid "write: %s: %s"
+msgstr "Erro de gravação: %s"
-#: function.c:2212
+#: function.c:2209
#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
+msgid "Invalid file operation: %s"
+msgstr ""
+
+#: function.c:2324
+#, fuzzy, c-format
+msgid "insufficient number of arguments (%d) to function '%s'"
+msgstr "O número de argumentos é insuficiente (%d) para a função `%s' "
+
+#: function.c:2336
+#, fuzzy, c-format
+msgid "unimplemented on this platform: function '%s'"
+msgstr "A função `%s' não foi implementada nesta plataforma "
+
+#: function.c:2399
+#, fuzzy, c-format
+msgid "unterminated call to function '%s': missing '%c'"
msgstr "Chamada não terminada para a função `%s': faltando `%c'"
-#: getopt.c:661
+#: function.c:2591
+msgid "Empty function name"
+msgstr ""
+
+#: function.c:2593
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: a opção `%s' é ambigua\n"
+msgid "Invalid function name: %s"
+msgstr ""
-#: getopt.c:685
+#: function.c:2595
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "Function name too long: %s"
+msgstr ""
+
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr "O número de argumentos é insuficiente (%d) para a função `%s' "
+
+#: function.c:2601
+#, fuzzy, c-format
+msgid "Invalid maximum argument count (%d) for function %s"
+msgstr "O número de argumentos é insuficiente (%d) para a função `%s' "
+
+#: getopt.c:659
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: a opção `%s' é ambigua\n"
+
+#: getopt.c:683
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: a opção `--%s' não permite um argumento\n"
-#: getopt.c:690
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+#: getopt.c:688
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: a opção `%c%s' não permite um argumento\n"
-#: getopt.c:707 getopt.c:880
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
+#: getopt.c:705 getopt.c:878
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s: a opção `%s' requer um argumento\n"
-#: getopt.c:736
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+#: getopt.c:734
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: a opção é desconhecida `--%s'\n"
-#: getopt.c:740
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:738
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: a opção é desconhecida `%c%s'\n"
-#: getopt.c:766
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: a opção é ilegal -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: a opção é inválida -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: a opção requer um argumento -- %c\n"
-#: getopt.c:846
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:844
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: a opção `-W %s' é ambigua\n"
-#: getopt.c:864
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:862
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: a opção `-W %s' não permite um argumento\n"
+#: guile.c:58
+#, c-format
+msgid "guile: Expanding '%s'\n"
+msgstr ""
+
+#: guile.c:74
+#, c-format
+msgid "guile: Evaluating '%s'\n"
+msgstr ""
+
#: hash.c:49
-#, fuzzy, c-format
+#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
-msgstr "não foi possível alocar %ld bytes para a tabela hash: memória cheia"
+msgstr "não foi possível alocar %lu bytes para a tabela hash: memória cheia"
#: hash.c:280
#, c-format
@@ -494,132 +559,156 @@ msgstr "Rehash=%d, "
msgid "Collisions=%ld/%ld=%.0f%%"
msgstr "Colisões=%ld/%ld=%.0f%%"
-#: implicit.c:40
-#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
+#: implicit.c:38
+#, fuzzy, c-format
+msgid "Looking for an implicit rule for '%s'.\n"
msgstr "Procurando por uma regra implícita para `%s'.\n"
-#: implicit.c:56
-#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
+#: implicit.c:54
+#, fuzzy, c-format
+msgid "Looking for archive-member implicit rule for '%s'.\n"
msgstr "Procurando por uma regra implícita de arquivo-membro para `%s'.\n"
-#: implicit.c:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
msgstr "Evitando recursão em regra implícita.\n"
-#: implicit.c:491
+#: implicit.c:486
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
+msgid "Stem too long: '%.*s'.\n"
+msgstr ""
+
+#: implicit.c:491
+#, fuzzy, c-format
+msgid "Trying pattern rule with stem '%.*s'.\n"
msgstr "Tentando padrão para regra com `%.*s'.\n"
-#: implicit.c:674
-#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
-msgstr "Rejeitando o pré-requisito para regra `%s'.\n"
+#: implicit.c:697
+#, fuzzy, c-format
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
+msgstr "Rejeitando pré-requisito para regra `%s'.\n"
-#: implicit.c:675
-#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
-msgstr "Rejeitando os pré-requisitos implícitos `%s'.\n"
+#: implicit.c:698
+#, fuzzy, c-format
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
+msgstr "Rejeitando pré-requisitos implícitos `%s'.\n"
-#: implicit.c:688
-#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
-msgstr "Tentando o pré-requisito para a regra `%s'.\n"
+#: implicit.c:711
+#, fuzzy, c-format
+msgid "Trying rule prerequisite '%s'.\n"
+msgstr "Tentanto pré-requisito para a regra `%s'.\n"
-#: implicit.c:689
-#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
-msgstr "Tentando o pré-requisito implícito `%s'.\n"
+#: implicit.c:712
+#, fuzzy, c-format
+msgid "Trying implicit prerequisite '%s'.\n"
+msgstr "Tentando pré-requisito implícito `%s'.\n"
-#: implicit.c:728
-#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
-msgstr "O pré-requisito `%s' foi encontrado como VPATH `%s'\n"
+#: implicit.c:751
+#, fuzzy, c-format
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
+msgstr "Pré-requisito `%s' encontrado como VPATH `%s'\n"
-#: implicit.c:742
-#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
+#: implicit.c:765
+#, fuzzy, c-format
+msgid "Looking for a rule with intermediate file '%s'.\n"
msgstr "Procurando uma regra com o arquivo intermediário `%s'.\n"
-#: job.c:335
-#, fuzzy
+#: job.c:361
msgid "Cannot create a temporary file\n"
-msgstr "fwrite (arquivo temporário)"
-
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] Erro 0x%x (ignorado)"
+msgstr "Não foi possível criar um arquivos temporário\n"
-#: job.c:450
-#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] Erro 0x%x"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (arquivo core criado)"
-#: job.c:454
-#, c-format
-msgid "[%s] Error %d (ignored)"
+#: job.c:488
+#, fuzzy
+msgid " (ignored)"
msgstr "[%s] Erro %d (ignorado)"
-#: job.c:455
-#, c-format
-msgid "*** [%s] Error %d"
+#: job.c:492 job.c:2046
+#, fuzzy
+msgid "<builtin>"
+msgstr " (embutido):"
+
+#: job.c:503
+#, fuzzy, c-format
+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:460
-msgid " (core dumped)"
-msgstr " (arquivo core criado)"
+#: job.c:519
+#, fuzzy, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "*** [%s] Erro 0x%x"
-#: job.c:549
+#: 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 os outros processos terminem...."
+msgstr "** Esperando que outros processos terminem."
-#: job.c:579
-#, fuzzy, c-format
+#: job.c:651
+#, c-format
msgid "Live child %p (%s) PID %s %s\n"
-msgstr "Filho ativo 0x%08lx (%s) PID %ld %s\n"
+msgstr "Filho ativo %p (%s) PID %s %s\n"
-#: job.c:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (remoto)"
-#: job.c:758
-#, fuzzy, c-format
+#: job.c:841
+#, c-format
msgid "Reaping losing child %p PID %s %s\n"
-msgstr "Descarregando processo filho 0x%08lx PID %ld %s\n"
+msgstr "Descarregando processo filho %p PID %s %s\n"
-#: job.c:759
-#, fuzzy, c-format
+#: job.c:842
+#, c-format
msgid "Reaping winning child %p PID %s %s\n"
-msgstr "Descarregando processo filho 0x%08lx PID %ld %s\n"
+msgstr "Descarregando processo filho %p PID %s %s\n"
-#: job.c:763
+#: 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:861
+#: 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:961
+#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
-msgstr "Removendo o processo filho 0x%08lx PID %ld%s da cadeia.\n"
+msgstr "Removendo o processo filho %p PID %s%s da cadeia.\n"
-#: job.c:920
-msgid "write jobserver"
-msgstr "gravar jobserver"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
+msgstr ""
-#: job.c:922
-#, fuzzy, c-format
+#: job.c:1024 job.c:1038
+#, c-format
msgid "Released token for child %p (%s).\n"
-msgstr "Liberado sinalizador para o processo filho 0x%08lx (%s).\n"
+msgstr "Liberado sinalizador para o processo filho %p (%s).\n"
-#: job.c:1453 job.c:2094
-#, fuzzy, c-format
+#: 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=%d)\n"
+msgstr "process_easy() falhou ao executar o processo (e=%ld)\n"
-#: job.c:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -628,182 +717,243 @@ msgstr ""
"\n"
"Contados %d args na falha de execução\n"
-#: job.c:1525
-#, fuzzy, c-format
+#: job.c:1735
+#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
-msgstr "Colocando o processo filho 0x%08lx (%s) PID %ld%s na cadeia.\n"
+msgstr "Colocando o processo filho %p (%s) PID %s%s na cadeia.\n"
-#: job.c:1778
-#, fuzzy, c-format
+#: 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 0x%08lx (%s).\n"
+msgstr "Obtido o sinalizador para o processo filho %p (%s).\n"
-#: job.c:1787
+#: job.c:2029
msgid "read jobs pipe"
msgstr "tarefas canalizadas lidas"
-#: job.c:1798
-#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr ""
+#: job.c:2056
+#, fuzzy, c-format
+msgid "%s: target '%s' does not exist"
+msgstr "touch: Arquivo `%s' não existe"
-#: job.c:1802
+#: job.c:2059
#, fuzzy, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "Não é necessário reprocessar o alvo `%s'"
+msgid "%s: update target '%s' due to: %s"
+msgstr "%sSem regra para processar o alvo `%s', necessário por `%s'%s"
-#: job.c:1910
+#: 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:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "não pôde forçar a carga limite:"
-#: job.c:1985
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
-msgstr ""
+msgstr "sem manipuladores de arquivos: não é possível duplicar stdin\n"
-#: job.c:1987
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
-msgstr ""
+msgstr "sem manipuladores de arquivos: não é possível duplicar stdout\n"
+
+#: 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:2015
+#: job.c:2293
msgid "Could not restore stdin\n"
-msgstr ""
+msgstr "Não é possível restaurar stdin\n"
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
-msgstr ""
+msgstr "Não é possível restaurar stdout\n"
-#: job.c:2127
-#, fuzzy, c-format
+#: job.c:2309
+#, fuzzy
+msgid "Could not restore stderr\n"
+msgstr "Não é possível restaurar stdin\n"
+
+#: job.c:2420
+#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
-msgstr "processo filho descarregado: pid %d, aguardando pelo pid %d\n"
+msgstr "processo filho descarregado: pid %s, aguardando pelo pid %s\n"
-#: job.c:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Comando não encontrado"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Interpretador de comandos não encontrado"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
-msgstr ""
+msgstr "spawnvpe: o espaço de ambiente pode estar cheio"
-#: job.c:2461
+#: job.c:2765
#, fuzzy, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
-msgstr "$SHELL alterado (era `%s' e agora é `%s')"
+msgid "$SHELL changed (was '%s', now '%s')\n"
+msgstr "$SHELL alterado (era `%s' e agora é `%s')\n"
-#: job.c:2951
+#: 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:2963
+#: job.c:3206
+#, fuzzy
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+"Conteúdo do arquivo de lote:%s\n"
+"\t%s\n"
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
+"Conteúdo do arquivo de lote:%s\n"
+"\t%s\n"
-#: job.c:3065
+#: 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"
-#: main.c:303
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr ""
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr ""
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr ""
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr ""
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr ""
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr ""
+
+#: 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:313
msgid "Options:\n"
msgstr "Opções:\n"
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m Ignorado para compatibilidade.\n"
-#: main.c:306
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr ""
" -B, --always-make Processa todos os alvos incondicionalmente.\n"
-#: main.c:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
-"-C DIRETÓRIO, --directory= DIRETÓRIO\n"
-" muda para o DIRETÓRIO antes de fazer algo.\n"
+" -C DIRETÓRIO, --directory=DIRETÓRIO\n"
+" Muda para o DIRETÓRIO antes de fazer algo.\n"
-#: main.c:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr " -d Imprime muita informação de depuração.\n"
-#: main.c:313
+#: 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 "
+" --debug[=OPÇÕES] Imprime vários tipos de informações de "
"depuração.\n"
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
-" -e,--envrionment-overrides\n"
-" As variáveis de ambiente sobrescrevem os "
-"arquivos make.\n"
+" -e, --environment-overrides\n"
+" Assume os valores das variáveis de ambiente.\n"
-#: main.c:318
+#: 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:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
-" -f ARQUIVO, --file=ARQUIVO --makefile=ARQUIVO\n"
-" Lê o ARQUIVO com um arquivo make.\n"
+" -f ARQUIVO, --file=ARQUIVO, --makefile=ARQUIVO\n"
+" Lê o ARQUIVO como se fosse um arquivo make.\n"
-#: main.c:323
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Imprime esta mensagem e sai.\n"
-#: main.c:325
-#, fuzzy
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr " -i, --ignore-errors Ignora os erros dos comandos.\n"
-#: main.c:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
-".. -l DIRETÓRIO, --include-dir= DIRETÓRIO\n"
-" Procura no DIRETÓRIO por arquivos make.\n"
+" -I DIRETÓRIO, --include-dir=DIRETÓRIO\n"
+" Pesquisa o DIRETÒRIO por arquivos make a "
+"incluir.\n"
-#: main.c:330
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
msgstr ""
-" -j [N], --jobs[=N] Permite N tarefas de uma vez ou várias sem o "
-"argumento.\n"
+" -j [N], --jobs[=N] Permite N tarefas de uma vez; tarefas infinitas "
+"sem argumentos.\n"
-#: main.c:332
+#: 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:334
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -813,14 +963,15 @@ msgstr ""
" Não inicia múltiplas tarefas a menos que a "
"carga seja menor que N.\n"
-#: main.c:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
+"-L, --check-symlink-times Usa o tempo mais antigo entre o vínculo simbólico "
+"e o alvo.\n"
-#: main.c:339
-#, fuzzy
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
@@ -830,87 +981,95 @@ msgstr ""
" Não executa quaisquer comandos; apenas imprime-"
"os.\n"
-#: main.c:342
+#: 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 ARQUIVO, --old-file= ARQUIVO, --assume-old ARQUIVO\n"
-" Considera o ARQUIVO muito velho e não o "
-"refaz.\n"
+" -o ARQUIVO, --old-file=ARQUIVO, --assume-old=ARQUIVO\n"
+" Considera o ARQUIVO como muito antigo e não "
+"reprocessá-o.\n"
-#: main.c:345
+#: main.c:355
+msgid ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
+msgstr ""
+
+#: 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:347
-#, fuzzy
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-" -q, --question Executa sem comandos, o código de saída "
-"informa se está atualizado.\n"
+" -q, --question Não executa os comandos; O código de saida "
+"indica se está atualizado.\n"
-#: main.c:349
+#: 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 embutidas.\n"
+msgstr " -r, --no-builtin-rules Desabilita as regras implícitas.\n"
-#: main.c:351
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
-" -R, --no-builtin-variables Desabilita as configurações das variávies "
+" -R, --no-builtin-variables Desabilita a configuração das variáveis "
"embutidas.\n"
-#: main.c:353
-#, fuzzy
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Não ecoa os comandos.\n"
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr ""
" -S, --no-keep-going, --stop\n"
-" Desativa a opção -k.\n"
+" Desativa a opção -k.\n"
-#: main.c:358
+#: 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:360
+#: main.c:373
+#, fuzzy
+msgid " --trace Print tracing information.\n"
+msgstr " -d Imprime muita informação de depuração.\n"
+
+#: 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:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Imprime o diretório atual.\n"
-#: main.c:364
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr ""
-" --no-print-directory Desativa a opção -w, mesmo que tenha sido "
-"ativada implicitamente.\n"
+" --no-print-directory Desativa a opção -w, mesmo que ela esteja "
+"implicitamente ativada.\n"
-#: main.c:366
+#: 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 ARQUIVO, --what-if= ARQUIVO, --new-file=ARQUIVO, --assume-new=ARQUIVO\n"
-" Considera o ARQUIVO muito novo.\n"
+" -W ARQUIVO, --what-if=ARQUIVO, --new-file=ARQUIVO, --assume-new=ARQUIVO\n"
+" Considera o ARQUIVO infinitamente novo.\n"
-#: main.c:369
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -918,22 +1077,27 @@ msgstr ""
" --warn-undefined-variables Avisa quando um variável não definida for "
"referenciada.\n"
-#: main.c:564
+#: 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:650
-#, c-format
-msgid "unknown debug level specification `%s'"
+#: main.c:737
+#, fuzzy, c-format
+msgid "unknown debug level specification '%s'"
msgstr "nível de depuração desconhecido: `%s'"
-#: main.c:690
-#, fuzzy, c-format
+#: main.c:774
+#, c-format
+msgid "unknown output-sync type '%s'"
+msgstr ""
+
+#: 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%x, endereço = 0x%x)\n"
+msgstr "%s: Interrupção/Exceção capturada (código = 0x%lx, endereço = 0x%p)\n"
-#: main.c:697
-#, fuzzy, c-format
+#: main.c:835
+#, c-format
msgid ""
"\n"
"Unhandled exception filter called from program %s\n"
@@ -943,162 +1107,180 @@ msgid ""
msgstr ""
"\n"
"Não pôde tratar o filtro de exceção chamado por %s\n"
-"CódigoExceção = %x\n"
-"SinalExceção = %x\n"
-"EndereçoExceção = %x\n"
+"CódigoExceção = %lx\n"
+"SinalExceção = %lx\n"
+"EndereçoExceção = 0x%p\n"
-#: main.c:705
-#, fuzzy, c-format
+#: 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 %x\n"
+msgstr "Violação de acesso: operação de escrita no endereço 0x%p\n"
-#: main.c:706
-#, fuzzy, c-format
+#: 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 %x\n"
+msgstr "Violação de acesso: operação de leitura no endereço 0x%p\n"
-#: main.c:781 main.c:792
-#, fuzzy, c-format
+#: 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"
+msgstr "find_and_set_shell() definiu o default_shell = %s\n"
-#: main.c:834
-#, fuzzy, c-format
+#: 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"
+msgstr "find_and_set_shell(), caminho de pesquisa do default_shell = %s\n"
-#: main.c:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s está suspenso por 30 segundos..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "sleep(30) concluido. Continuando.\n"
-#: main.c:1501
+#: main.c:1527
+#, c-format
+msgid ""
+"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: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: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:1539 vmsjobs.c:500
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (arquivo temporário)"
-#: main.c:1545
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (arquivo temporário)"
-#: main.c:1703
+#: 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:1704
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "Reiniciando no modo de tarefa única (-j1)."
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "erro interno: múltiplas opções --jobserver-fds"
-
-#: main.c:1727
-#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
-msgstr "erro interno: valor `%s' inválido para --jobserver-fds"
+#: main.c:1994
+#, fuzzy, c-format
+msgid "Jobserver slots limited to %d\n"
+msgstr "Cliente Jobserver (fds %d,%d)\n"
-#: main.c:1730
+#: main.c:2002
#, c-format
-msgid "Jobserver client (fds %d,%d)\n"
+msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: main.c:1740
-msgid "warning: -jN forced in submake: disabling jobserver mode."
-msgstr "aviso: -jN forçado no submake: desabilitando o modo jobserver."
-
-#: main.c:1750
-msgid "dup jobserver"
-msgstr "dup jobserver"
-
-#: main.c:1753
-msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
-msgstr "aviso: jobserver indisponível: usando -j1. Inclua `+' na regra pai."
-
-#: main.c:1777
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "criando canalização de tarefas"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "inicializando a canalização do jobserver"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
-msgstr ""
+msgstr "Vínculos simbólicos não são suportados: desabilite -L."
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Atualizando os arquivos makefiles ...\n"
-#: main.c:1917
-#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
+#: 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:1996
-#, c-format
-msgid "Failed to remake makefile `%s'."
+#: main.c:2237
+#, fuzzy, c-format
+msgid "Failed to remake makefile '%s'."
msgstr "Problemas ao reprocessar o arquivo `%s'."
-#: main.c:2013
-#, c-format
-msgid "Included makefile `%s' was not found."
-msgstr "O arquivo `%s' incluído não foi encontrado."
+#: main.c:2257
+#, fuzzy, c-format
+msgid "Included makefile '%s' was not found."
+msgstr "Arquivo `%s' incluido não foi encontrado."
-#: main.c:2018
-#, c-format
-msgid "Makefile `%s' was not found"
-msgstr "O arquivo `%s' não foi encontrado"
+#: main.c:2262
+#, fuzzy, c-format
+msgid "Makefile '%s' was not found"
+msgstr "O arquivo `%s' não foi encontrado."
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Não foi possível voltar ao diretório original."
-#: main.c:2102
-#, fuzzy, c-format
+#: main.c:2343
+#, c-format
msgid "Re-executing[%u]:"
-msgstr "Re-executando:"
+msgstr "Re-executando[%u]:"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "desvinculado (arquivos temporário): "
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
-msgstr ""
+msgstr ". DEFAULT_GOAL contém mais do que um alvo"
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Nenhum alvo indicado e nenhum arquivo make encontrado"
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
msgstr "Sem alvo"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Atualizando os objetivos finais...\n"
-#: main.c:2306
+#: 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:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Uso: %s [opções] [alvo] ...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1107,7 +1289,7 @@ msgstr ""
"\n"
"Este programa foi compilado para %s\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1116,36 +1298,32 @@ msgstr ""
"\n"
"Este programa foi compilado para %s (%s)\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "Informe os problemas para <bug-make@gnu.org>.\n"
-#: main.c:2562
+#: main.c:2807
#, fuzzy, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
-msgstr "a opção `-%c' requer um argumento inteiro positivo"
+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:2617
-#, c-format
-msgid "the `-%c' option requires a positive integral argument"
+#: 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:3054
-#, fuzzy, c-format
+#: main.c:3269
+#, c-format
msgid "%sBuilt for %s\n"
-msgstr ""
-"\n"
-"Este programa foi compilado para %s\n"
+msgstr "%sCompilado para %s\n"
-#: main.c:3056
-#, fuzzy, c-format
+#: main.c:3271
+#, c-format
msgid "%sBuilt for %s (%s)\n"
-msgstr ""
-"\n"
-"Este programa foi compilado para %s (%s)\n"
+msgstr "%sCompilado para %s (%s)\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1153,8 +1331,13 @@ msgid ""
"%sThis is free software: you are free to change and redistribute it.\n"
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
+"%sLicença GPLv3+: GNU GPL versão 3 ou posterior <http://gnu.org/licenses/gpl."
+"html>\n"
+"%sIsto é um aplicativo livre: você pode alterá-lo e redistribui-lo "
+"livremente.\n"
+"%sNÃO HÁ GARANTIAS, exceto o que for permitido por lei.\n"
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1163,7 +1346,7 @@ msgstr ""
"\n"
"# Banco de dados do Make, impresso em %s"
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1172,451 +1355,463 @@ msgstr ""
"\n"
"# Banco de dados do Make finalizado em %s\n"
-#: main.c:3237
-#, fuzzy, c-format
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "Erro desconhecido %d"
+
+#: misc.c:522
+#, c-format
+msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+msgstr "%s: usuário %lu (real %lu), grupo %lu (real %lu)\n"
+
+#: misc.c:543
+msgid "Initialized access"
+msgstr "Acesso inicializado"
+
+#: misc.c:622
+msgid "User access"
+msgstr "Acesso do usuário"
+
+#: misc.c:670
+msgid "Make access"
+msgstr "Acesso do make"
+
+#: misc.c:704
+msgid "Child access"
+msgstr "Acesso filho"
+
+#: output.c:104
+#, c-format
msgid "%s: Entering an unknown directory\n"
-msgstr "%s: Entrando em um diretório desconhecido"
+msgstr "%s: Entrando em um diretório desconhecido\n"
-#: main.c:3239
-#, fuzzy, c-format
+#: output.c:106
+#, c-format
msgid "%s: Leaving an unknown directory\n"
-msgstr "%s: Saindo de um diretório desconhecido"
+msgstr "%s: Saindo de um diretório desconhecido\n"
-#: main.c:3242
-#, c-format
-msgid "%s: Entering directory `%s'\n"
+#: output.c:109
+#, fuzzy, c-format
+msgid "%s: Entering directory '%s'\n"
msgstr "%s: Entrando no diretório `%s'\n"
-#: main.c:3245
-#, c-format
-msgid "%s: Leaving directory `%s'\n"
+#: output.c:111
+#, fuzzy, c-format
+msgid "%s: Leaving directory '%s'\n"
msgstr "%s: Saindo do diretório `%s'\n"
-#: main.c:3250
-#, fuzzy, c-format
+#: output.c:115
+#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
-msgstr "%s[%u]: Entrando em um diretório desconhecido"
+msgstr "%s[%u]: Entrando em um diretório desconhecido\n"
-#: main.c:3253
-#, fuzzy, c-format
+#: output.c:117
+#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
-msgstr "%s[%u]: Saindo de um diretório desconhecido"
+msgstr "%s[%u]: Saindo de um diretório desconhecido\n"
-#: main.c:3257
-#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
+#: output.c:120
+#, fuzzy, c-format
+msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: Entrando no diretório `%s'\n"
-#: main.c:3260
-#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
+#: output.c:122
+#, fuzzy, c-format
+msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: Saindo do diretório `%s'\n"
-#: misc.c:316
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
+msgstr "Erro de gravação: %s"
+
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Pare.\n"
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "Erro desconhecido %d"
-
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "A memória virtual encheu"
-
-#: misc.c:708
-#, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: usuário %lu (real %lu), grupo %lu (real %lu)\n"
-
-#: misc.c:729
-msgid "Initialized access"
-msgstr "Acesso inicializado"
-
-#: misc.c:808
-msgid "User access"
-msgstr "Acesso do usuário"
-
-#: misc.c:856
-msgid "Make access"
-msgstr "Acesso do make"
-
-#: misc.c:890
-msgid "Child access"
-msgstr "Acesso filho"
-
-#: misc.c:954
-#, fuzzy, c-format
-msgid "write error: %s"
-msgstr "Erro redirecionado para %s\n"
-
-#: misc.c:956
-#, fuzzy
-msgid "write error"
-msgstr "gravar jobserver"
-
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
msgstr "Lendo arquivos makefile ...\n"
-#: read.c:333
-#, c-format
-msgid "Reading makefile `%s'"
+#: read.c:335
+#, fuzzy, c-format
+msgid "Reading makefile '%s'"
msgstr "Lendo arquivos makefile `%s'"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (não há objetivo padrão)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (caminho de pesquisa)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (sem importância)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (sem expansão ~)"
-#: read.c:759
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr ""
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr ""
+
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "síntaxe inválida na condicional"
-#: read.c:891
-#, fuzzy
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr ""
+
+#: read.c:992
msgid "recipe commences before first target"
msgstr "comandos começam antes do primeiro alvo"
-#: read.c:940
-#, fuzzy
+#: read.c:1041
msgid "missing rule before recipe"
-msgstr "falta regra antes dos comandos"
+msgstr "falta uma regra antes dos comandos"
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "faltando o separador%s"
-
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (você pensou em TAB ao invés de 8 espaços?)"
-#: read.c:1163
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "faltando o separador%s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "faltando o padrão dos alvos"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
msgstr "múltiplos padrões para o alvo"
-#: read.c:1169
-#, c-format
-msgid "target pattern contains no `%%'"
+#: read.c:1276
+#, fuzzy, c-format
+msgid "target pattern contains no '%%'"
msgstr "padrão para o alvo não contém `%%'"
-#: read.c:1293
-msgid "missing `endif'"
+#: read.c:1398
+#, fuzzy
+msgid "missing 'endif'"
msgstr "faltando `endif'"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "nome de variável vazio"
-#: read.c:1367
+#: read.c:1471
#, fuzzy
-msgid "extraneous text after `define' directive"
-msgstr "Texto estranho depois da diretiva `endef'"
+msgid "extraneous text after 'define' directive"
+msgstr "Texto estranho depois da diretiva `define'"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
+#: read.c:1496
+#, fuzzy
+msgid "missing 'endef', unterminated 'define'"
msgstr "faltando `endef', `define' não terminado"
-#: read.c:1420
+#: read.c:1524
#, fuzzy
-msgid "extraneous text after `endef' directive"
-msgstr "Texto estranho depois da diretiva `endef'"
+msgid "extraneous text after 'endef' directive"
+msgstr "Texto estranho depois da diretiva `endef"
-#: read.c:1490
-#, c-format
-msgid "Extraneous text after `%s' directive"
+#: read.c:1595
+#, fuzzy, c-format
+msgid "extraneous text after '%s' directive"
msgstr "Texto estranho depois da diretiva `%s'"
-#: read.c:1499 read.c:1513
-#, c-format
-msgid "extraneous `%s'"
+#: read.c:1596
+#, fuzzy, c-format
+msgid "extraneous '%s'"
msgstr "`%s' estranho"
-#: read.c:1518
-msgid "only one `else' per conditional"
+#: read.c:1624
+#, fuzzy
+msgid "only one 'else' per conditional"
msgstr "use apenas um `else' por condicional"
-#: read.c:1797
-#, fuzzy
+#: read.c:1899
msgid "Malformed target-specific variable definition"
-msgstr "Definição de variável por alvo mau formada"
+msgstr "Definição de variável para o alvo mau formada"
-#: read.c:1855
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
-msgstr ""
+msgstr "os pré-requisitos não podem ser definidos no comando"
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "As regras implícitas e de padrão estático misturadas"
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "As regras implícitas e normais misturadas"
-#: read.c:1976
-#, c-format
-msgid "target `%s' doesn't match the target pattern"
+#: read.c:2091
+#, fuzzy, c-format
+msgid "target '%s' doesn't match the target pattern"
msgstr "O alvo `%s' não coincide com o padrão"
-#: read.c:1991 read.c:2036
-#, c-format
-msgid "target file `%s' has both : and :: entries"
+#: read.c:2106 read.c:2152
+#, fuzzy, c-format
+msgid "target file '%s' has both : and :: entries"
msgstr "O arquivo alvo `%s' tem entradas : e ::"
-#: read.c:1997
-#, c-format
-msgid "target `%s' given more than once in the same rule."
+#: read.c:2112
+#, fuzzy, c-format
+msgid "target '%s' given more than once in the same rule"
msgstr "O alvo `%s' foi informado mais do que um vez na mesma regra."
-#: read.c:2006
+#: read.c:2122
#, fuzzy, c-format
-msgid "warning: overriding recipe for target `%s'"
-msgstr "aviso: impondo comandos para o alvo `%s'"
+msgid "warning: overriding recipe for target '%s'"
+msgstr "aviso: sobreescrevendo os comandos para o alvo `%s'"
-#: read.c:2009
+#: read.c:2125
#, fuzzy, c-format
-msgid "warning: ignoring old recipe for target `%s'"
+msgid "warning: ignoring old recipe for target '%s'"
msgstr "aviso: ignorando comandos antigos para o alvo `%s'"
-#: read.c:2392
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "As regras implícitas e normais misturadas"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
-msgstr "aviso: caractere NUL detectado; o resto da linha foi ignorado"
+msgstr "aviso: caracter NUL detetado; o resto da linha foi ignorado"
-#: remake.c:234
-#, c-format
-msgid "Nothing to be done for `%s'."
+#: remake.c:230
+#, fuzzy, c-format
+msgid "Nothing to be done for '%s'."
msgstr "Nada a ser feito para `%s'."
-#: remake.c:235
-#, c-format
-msgid "`%s' is up to date."
+#: remake.c:231
+#, fuzzy, c-format
+msgid "'%s' is up to date."
msgstr "`%s' está atualizado."
-#: remake.c:306
-#, c-format
-msgid "Pruning file `%s'.\n"
+#: remake.c:303
+#, fuzzy, c-format
+msgid "Pruning file '%s'.\n"
msgstr "Atualizando o arquivo `%s'.\n"
-#: remake.c:359
-#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%s Sem regra para processar o alvo `%s'%s"
+#: remake.c:390 remake.c:393
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
+msgstr "%sSem regra para processar o alvo `%s', necessário por `%s'%s"
-#: remake.c:361
-#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
-msgstr "%s Sem regra para processar o alvo `%s', necessário por `%s'%s"
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sSem regra para processar o alvo `%s'%s"
-#: remake.c:413
-#, c-format
-msgid "Considering target file `%s'.\n"
+#: remake.c:426
+#, fuzzy, c-format
+msgid "Considering target file '%s'.\n"
msgstr "Considerando o arquivo alvo `%s'.\n"
-#: remake.c:420
-#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
+#: remake.c:433
+#, fuzzy, c-format
+msgid "Recently tried and failed to update file '%s'.\n"
msgstr "Tentativa de atualizar o arquivo `%s' falhou.\n"
-#: remake.c:432
-#, c-format
-msgid "File `%s' was considered already.\n"
+#: remake.c:445
+#, fuzzy, c-format
+msgid "File '%s' was considered already.\n"
msgstr "O arquivo `%s' já foi considerado.\n"
-#: remake.c:442
-#, c-format
-msgid "Still updating file `%s'.\n"
+#: remake.c:455
+#, fuzzy, c-format
+msgid "Still updating file '%s'.\n"
msgstr "Ainda está atualizando o arquivo `%s'.\n"
-#: remake.c:445
-#, c-format
-msgid "Finished updating file `%s'.\n"
-msgstr "Atualização do arquivo `%s' concluída.\n"
+#: remake.c:458
+#, fuzzy, c-format
+msgid "Finished updating file '%s'.\n"
+msgstr "Atualização do arquivo `%s' concluida.\n"
-#: remake.c:474
-#, c-format
-msgid "File `%s' does not exist.\n"
+#: remake.c:487
+#, fuzzy, c-format
+msgid "File '%s' does not exist.\n"
msgstr "O arquivo `%s' não existe.\n"
-#: remake.c:481
-#, c-format
+#: remake.c:495
+#, fuzzy, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
"*** Aviso: arquivo .LOW_RESOLUTION_TIME `%s' tem uma etiqueta de tempo de "
"alta resolução"
-#: remake.c:494 remake.c:1016
-#, c-format
-msgid "Found an implicit rule for `%s'.\n"
+#: remake.c:508 remake.c:1040
+#, fuzzy, c-format
+msgid "Found an implicit rule for '%s'.\n"
msgstr "Regra implícita encontrada para `%s'.\n"
-#: remake.c:496 remake.c:1018
-#, c-format
-msgid "No implicit rule found for `%s'.\n"
+#: remake.c:510 remake.c:1042
+#, fuzzy, c-format
+msgid "No implicit rule found for '%s'.\n"
msgstr "Nenhuma regra implícita encontrada para `%s'.\n"
-#: remake.c:502
+#: remake.c:516
#, fuzzy, c-format
-msgid "Using default recipe for `%s'.\n"
+msgid "Using default recipe for '%s'.\n"
msgstr "Usando os comandos padrões para `%s'.\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Dependência circular %s <- %s abandonada."
-#: remake.c:651
-#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
-msgstr "Pré-requisitos do alvo `%s' concluído.\n"
+#: remake.c:675
+#, fuzzy, c-format
+msgid "Finished prerequisites of target file '%s'.\n"
+msgstr "Pré-requisitos do alvo `%s' concluido.\n"
-#: remake.c:657
-#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
+#: remake.c:681
+#, fuzzy, c-format
+msgid "The prerequisites of '%s' are being made.\n"
msgstr "Pré-requisitos do `%s' estão sendo criados.\n"
-#: remake.c:670
-#, c-format
-msgid "Giving up on target file `%s'.\n"
+#: remake.c:695
+#, fuzzy, c-format
+msgid "Giving up on target file '%s'.\n"
msgstr "Desistindo do arquivo `%s'.\n"
-#: remake.c:675
-#, c-format
-msgid "Target `%s' not remade because of errors."
+#: remake.c:700
+#, fuzzy, c-format
+msgid "Target '%s' not remade because of errors."
msgstr "O alvo `%s' não foi reprocessado por causa de erros."
-#: remake.c:727
-#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
+#: remake.c:752
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr "Pré-requisito `%s' está ordenado para o alvo `%s'.\n"
-#: remake.c:732
-#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
+#: remake.c:757
+#, fuzzy, c-format
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "Pré-requisitos `%s' do alvo `%s' não existem.\n"
-#: remake.c:737
-#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
+#: remake.c:762
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "Pré-requisito `%s' é mais novo do que o alvo `%s'.\n"
-#: remake.c:740
-#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
+#: remake.c:765
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "Pré-requisito `%s' é mais antigo do que o alvo `%s'.\n"
-#: remake.c:758
-#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
+#: remake.c:783
+#, fuzzy, c-format
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr "O alvo `%s' é dois-pontos duplos e não tem pré-requisitos.\n"
-#: remake.c:765
+#: remake.c:790
#, fuzzy, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr "Nenhum comando para `%s' e nenhum pré-requisito foi alterado.\n"
-#: remake.c:770
-#, c-format
-msgid "Making `%s' due to always-make flag.\n"
+#: remake.c:795
+#, fuzzy, c-format
+msgid "Making '%s' due to always-make flag.\n"
msgstr "Processando `%s' devido a opção always-make.\n"
-#: remake.c:778
-#, c-format
-msgid "No need to remake target `%s'"
+#: remake.c:803
+#, fuzzy, c-format
+msgid "No need to remake target '%s'"
msgstr "Não é necessário reprocessar o alvo `%s'"
-#: remake.c:780
-#, c-format
-msgid "; using VPATH name `%s'"
+#: remake.c:805
+#, fuzzy, c-format
+msgid "; using VPATH name '%s'"
msgstr "; usando o nome VPATH `%s'"
-#: remake.c:800
-#, c-format
-msgid "Must remake target `%s'.\n"
+#: remake.c:825
+#, fuzzy, c-format
+msgid "Must remake target '%s'.\n"
msgstr "O alvo `%s' deve ser reprocessado.\n"
-#: remake.c:806
-#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
+#: remake.c:831
+#, fuzzy, c-format
+msgid " Ignoring VPATH name '%s'.\n"
msgstr " Ignorando o nome VPATH `%s'.\n"
-#: remake.c:815
+#: remake.c:840
#, fuzzy, c-format
-msgid "Recipe of `%s' is being run.\n"
+msgid "Recipe of '%s' is being run.\n"
msgstr "Os comandos de `%s' estão rodando.\n"
-#: remake.c:822
-#, c-format
-msgid "Failed to remake target file `%s'.\n"
+#: remake.c:847
+#, fuzzy, c-format
+msgid "Failed to remake target file '%s'.\n"
msgstr "Falha ao reprocessar o alvo `%s'.\n"
-#: remake.c:825
-#, c-format
-msgid "Successfully remade target file `%s'.\n"
+#: remake.c:850
+#, fuzzy, c-format
+msgid "Successfully remade target file '%s'.\n"
msgstr "Alvo `%s' reprocessado com sucesso.\n"
-#: remake.c:828
-#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
+#: remake.c:853
+#, fuzzy, c-format
+msgid "Target file '%s' needs to be remade under -q.\n"
msgstr "O alvo `%s' precisa ser reprocessado sob -q.\n"
-#: remake.c:1024
-#, c-format
-msgid "Using default commands for `%s'.\n"
+#: remake.c:1048
+#, fuzzy, c-format
+msgid "Using default commands for '%s'.\n"
msgstr "Usando os comandos padrões para `%s'.\n"
-#: remake.c:1357
-#, c-format
-msgid "Warning: File `%s' has modification time in the future"
+#: remake.c:1397
+#, fuzzy, c-format
+msgid "Warning: File '%s' has modification time in the future"
msgstr "** Aviso: O arquivo `%s' está com a hora adiantada"
-#: remake.c:1370
+#: remake.c:1411
#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
-msgstr "** Aviso: O arquivo `%s' está com a hora %.2g adiantada"
+msgid "Warning: File '%s' has modification time %s s in the future"
+msgstr "** Aviso: O arquivo `%s' está com a hora %s s adiantada"
-#: remake.c:1569
-#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
+#: remake.c:1610
+#, fuzzy, c-format
+msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr "O elemento .LIBPATTERNS `%s' não é um padrão"
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
msgstr "Customizações não exportadas: %s\n"
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1624,7 +1819,7 @@ msgstr ""
"\n"
"# Regras implícitas."
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1632,7 +1827,7 @@ msgstr ""
"\n"
"# Faltam as regras implícitas."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1641,242 +1836,261 @@ msgstr ""
"\n"
"# %u regras implícitas, %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
msgstr " terminal."
-#: rule.c:534
-#, fuzzy, c-format
+#: rule.c:530
+#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
-msgstr "ERRO: num_pattern_rules errada! %u != %u"
+msgstr "ERRO: num_pattern_rules errada! %u != %u"
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
msgstr "sinal desconhecido"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
msgstr "Desconectar"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
msgstr "Interrupção"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
msgstr "Sair"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
msgstr "Instrução ilegal"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
msgstr "Aviso Trace/breakpoint"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr "Abortado"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
msgstr "Aviso IOT"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
msgstr "Aviso EMT"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
msgstr "Exceção de ponto flutuante"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
msgstr "Finalizado"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
msgstr "Erro de barramento"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
msgstr "Falha de segmentação"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
msgstr "Chamada de sistema inválida"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
msgstr "Canalização interrompida"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr "Despertador"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
msgstr "Terminado"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
msgstr "Sinal 1 definido pelo usuário"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
msgstr "Sinal 2 definido pelo usuário"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
msgstr "O Filho saiu"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
msgstr "Falha na Energia Elétrica"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr "Parado"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
msgstr "Parado (entrada tty)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
-msgstr "Parado (saída tty)"
+msgstr "Parado (saida tty)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
msgstr "Parado (sinal)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
msgstr "Tempo de CPU excedido"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
msgstr "Tamanho do arquivo excedido"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
msgstr "Temporizador virtual expirou"
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
msgstr "Temporizador de perfil expirou"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
msgstr "Janela alterada"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
msgstr "Continuação"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
msgstr "Condição de E/S urgente"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
msgstr "Possível E/S"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr "Recurso perdido"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
msgstr "Sinal perigoso"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
msgstr "Solicitação de informação"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
msgstr "Co-processador aritmético indisponível"
-#: strcache.c:235
+#: strcache.c:236
#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s No strcache buffers\n"
msgstr ""
-#: strcache.c:237
-#, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
-msgstr ""
+#: strcache.c:266
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
+msgstr "%s strcache usado: total = %d (%d) / max = %d / min = %d / med = %d\n"
-#: strcache.c:239
+#: strcache.c:270
#, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
-#: strcache.c:241
-#, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+#: strcache.c:280
+#, fuzzy, c-format
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
+msgstr "%s strcache usado: total = %d (%d) / max = %d / min = %d / med = %d\n"
+
+#: 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 strcache livres: total = %d (%d) / max = %d / min = %d / med = %d\n"
+
+#: strcache.c:287
+#, fuzzy, c-format
+msgid ""
+"\n"
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
msgstr ""
+"\n"
+"%s # de cadeias em strcache: %d / pesquisados = %lu / encontrados = %lu\n"
-#: strcache.c:244
+#: strcache.c:289
#, fuzzy
msgid ""
-"\n"
-"# strcache hash-table stats:\n"
+"# hash-table stats:\n"
"# "
msgstr ""
"\n"
"# tabela hash de arquivos:\n"
"# "
-#: variable.c:1541
+#: variable.c:1599
+msgid "automatic"
+msgstr "automático"
+
+#: variable.c:1602
msgid "default"
msgstr "padrão"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
msgstr "ambiente"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
msgstr "ambiente sob -e"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
msgstr "linha de comando"
-#: variable.c:1556
-msgid "`override' directive"
+#: variable.c:1617
+#, fuzzy
+msgid "'override' directive"
msgstr "diretiva `override'"
-#: variable.c:1559
-msgid "automatic"
-msgstr "automático"
-
-#: variable.c:1570
-#, c-format
-msgid " (from `%s', line %lu)"
+#: variable.c:1628
+#, fuzzy, c-format
+msgid " (from '%s', line %lu)"
msgstr " (de `%s', linha %lu)"
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# tabela hash do conjunto de variávies:\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -1884,8 +2098,7 @@ msgstr ""
"\n"
"# Variáveis\n"
-#: variable.c:1627
-#, fuzzy
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -1893,7 +2106,7 @@ msgstr ""
"\n"
"# Valores da variável de padrões específicos"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -1901,7 +2114,7 @@ msgstr ""
"\n"
"# Faltam valores para variável de padrões específicos"
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -1910,92 +2123,97 @@ msgstr ""
"\n"
"# %u valores para variável de padrões específicos"
-#: variable.h:219
-#, c-format
-msgid "warning: undefined variable `%.*s'"
-msgstr ""
-
-#: vmsfunctions.c:92
+#: variable.h:224
#, fuzzy, c-format
+msgid "warning: undefined variable '%.*s'"
+msgstr "aviso: variável indefinida `%.*s'"
+
+#: vmsfunctions.c:91
+#, c-format
msgid "sys$search() failed with %d\n"
-msgstr "sys$search falhou com %d\n"
+msgstr "sys$search() falhou com %d\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Aviso: Redireção vazia\n"
-#: vmsjobs.c:184
-#, c-format
-msgid "internal error: `%s' command_state"
+#: vmsjobs.c:183
+#, fuzzy, c-format
+msgid "internal error: '%s' command_state"
msgstr "erro interno: `%s' command_state"
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr "-warning, pode ser preciso reativar o CTRL-Y no DCL.\n"
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "EMBUTIDO [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "CD EMBUTIDO %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "RM EMBUTIDO %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "CD EMBUTIDO %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
-msgstr "Comandos embutidos desconhecidos `%s'.\n"
+msgstr "Comando embutido desconhecido `%s'.\n"
-#: vmsjobs.c:493
+#: 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 "Erro, comando vazio\n"
-#: vmsjobs.c:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Entrada de %s redirecionada\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Erro redirecionado para %s\n"
-#: vmsjobs.c:523
-#, fuzzy, c-format
+#: vmsjobs.c:690
+#, c-format
msgid "Append output to %s\n"
-msgstr "Saída redirecionada para %s\n"
+msgstr "Saida redirecionada para %s\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
-msgstr "Saída redirecionada para %s\n"
+msgstr "Saida redirecionada para %s\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
-msgstr ""
+msgstr "Acrescentado %.*s e limpo\n"
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "Executando %s ao invés de\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Erro de execução, %d\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
@@ -2003,51 +2221,78 @@ msgstr ""
"\n"
"# Caminho VPATH\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
+#: vpath.c:600
+#, fuzzy
+msgid "# No 'vpath' search paths."
msgstr "# Sem caminho `vpath'."
-#: vpath.c:605
-#, c-format
+#: vpath.c:602
+#, fuzzy, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
"# %u caminhos `vpath'.\n"
-#: vpath.c:608
+#: vpath.c:605
+#, fuzzy
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
"# Sem caminho genérico (variável `VPATH')."
-#: vpath.c:614
+#: vpath.c:611
+#, fuzzy
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
"# Caminho genérico (variável `VPATH'):\n"
"# "
-#~ msgid "Syntax error, still inside '\"'\n"
-#~ msgstr "Erro de sintaxe dentro de '\"'\n"
+#~ msgid "# Invalid value in `update_status' member!"
+#~ msgstr "# Valor inválido no membro `update_status' !"
-#~ msgid "Got a SIGCHLD; %u unreaped children.\n"
-#~ msgstr "Recebido um SIGSHLD; %u processos filhos descarregados.\n"
+#~ msgid "*** [%s] Error 0x%x (ignored)"
+#~ msgstr "*** [%s] Erro 0x%x (ignorado)"
-#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
-#~ msgstr "-warning, CTRL-Y sairá do(s) subprocesso(s).\n"
+#~ msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
+#~ msgstr "Chamando os comandos de %s:%lu para atualizar o alvo `%s'.\n"
-#~ msgid "Do not specify -j or --jobs if sh.exe is not available."
-#~ msgstr "Não especifique -j ou --jobs se o sh.exe não estiver disponível."
+#~ msgid "Invoking builtin recipe to update target `%s'.\n"
+#~ msgstr "Chamando comandos internos para atualizar o alvo `%s'.\n"
-#~ msgid "Resetting make for single job mode."
-#~ msgstr "Reiniciando o make para o modo de trabalho único."
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "erro interno: múltiplas opções --jobserver-fds"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "A memória virtual encheu"
+
+#~ msgid "write error"
+#~ msgstr "erro de gravação"
+
+#~ msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+#~ msgstr "%s # de buffers strcache: %d (* %d B/buffer = %d B)\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "# strcache hash-table stats:\n"
+#~ "# "
+#~ msgstr ""
+#~ "\n"
+#~ "# tabela hash de arquivos:\n"
+#~ "#"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "RM EMBUTIDO %s\n"
+
+#~ msgid "process_easy() failed failed to launch process (e=%ld)\n"
+#~ msgstr "process_easy() falhou ao executar o processo (e=%ld)\n"
#~ msgid ""
#~ "%sThis is free software; see the source for copying conditions.\n"
@@ -2059,7 +2304,7 @@ msgstr ""
#~ "%sFUNÇÃO EM PARTICULAR.\n"
#~ msgid "extraneous `endef'"
-#~ msgstr "`endef' estranho"
+#~ msgstr "`endef' extranho"
#~ msgid "empty `override' directive"
#~ msgstr "diretiva `override' vazia"
@@ -2067,8 +2312,30 @@ msgstr ""
#~ msgid "invalid `override' directive"
#~ msgstr "diretiva `override' inválida"
+#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
+#~ msgstr "-warning, CTRL-Y sairá do(s) subprocesso(s).\n"
+
+#~ msgid "Syntax error, still inside '\"'\n"
+#~ msgstr "Erro de sintaxe dentro de '\"'\n"
+
+#~ msgid "Got a SIGCHLD; %u unreaped children.\n"
+#~ msgstr "Recebido um SIGSHLD; %u processos filhos descarregados.\n"
+
+#~ msgid "Do not specify -j or --jobs if sh.exe is not available."
+#~ msgstr "Não especifique -j ou --jobs se o sh.exe não estiver disponível."
+
+#~ msgid "Resetting make for single job mode."
+#~ msgstr "Reiniciando o make para o modo de trabalho único."
+
#~ msgid "no file name for `%sinclude'"
#~ msgstr "sem nome de arquivo para `%sinclude'"
#~ msgid "target `%s' leaves prerequisite pattern empty"
-#~ msgstr "O alvo `%s' deixou o pré-requisito padrão vazio"
+#~ msgstr "O alvo `%s' deixou pre-requisito padrão vazio"
+
+#~ msgid ""
+#~ "\n"
+#~ "# No files."
+#~ msgstr ""
+#~ "\n"
+#~ "# Nenhum arquivo."
diff --git a/po/ru.gmo b/po/ru.gmo
index d868841f..19546133 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index 10c18bf4..624c68ec 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -1,129 +1,136 @@
-# Translation of make messages to Russian
+# Translation of make messages to Russian.
# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2009 Free Software Foundation, Inc.
# This file is distributed under the same license as the make package.
-# Alexey Mahotkin <alexm@hsys.msk.ru> 2001
#
# Oleg S. Tihonov <tihonov@ffke-campus.mipt.ru>, 1998.
+# Alexey Mahotkin <alexm@hsys.msk.ru>, 2001.
# Denis Perchine <dyp@perchine.com>, 2001, 2002.
-# Yuri Kozlov <yuray@komyakino.ru>, 2009, 2010.
# Pavel Maryanov <acid_jack@ukr.net>, 2009.
+# Yuri Kozlov <yuray@komyakino.ru>, 2009, 2010, 2013.
msgid ""
msgstr ""
-"Project-Id-Version: make 3.81.91\n"
+"Project-Id-Version: make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-0400\n"
-"PO-Revision-Date: 2010-07-21 21:46+0400\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 <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
+"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 1.0\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"
-#: ar.c:48
+#: ar.c:46
#, c-format
-msgid "attempt to use unsupported feature: `%s'"
-msgstr "попытка иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ð³Ð¾ ÑредÑтва: `%s'"
+msgid "attempt to use unsupported feature: '%s'"
+msgstr "попытка иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ð³Ð¾ ÑредÑтва: «%s»"
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
msgstr "обновление времени Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ‡Ð»ÐµÐ½Ð° архива невозможно в ÑиÑтеме VMS"
-#: ar.c:149
+#: ar.c:147
#, c-format
-msgid "touch: Archive `%s' does not exist"
-msgstr "обновление времени изменениÑ: Ðрхив `%s' не ÑущеÑтвует"
+msgid "touch: Archive '%s' does not exist"
+msgstr "обновление времени изменениÑ: Ðрхив «%s» не ÑущеÑтвует"
-#: ar.c:152
+#: ar.c:150
#, c-format
-msgid "touch: `%s' is not a valid archive"
-msgstr "обновление времени изменениÑ: Ðеверный архив: `%s'"
+msgid "touch: '%s' is not a valid archive"
+msgstr "обновление времени изменениÑ: Ðеверный архив: «%s»"
-#: ar.c:159
+#: ar.c:157
#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
-msgstr "обновление времени изменениÑ: Элемент `%s' не ÑодержитÑÑ Ð² `%s'"
+msgid "touch: Member '%s' does not exist in '%s'"
+msgstr "обновление времени изменениÑ: Элемент «%s» не ÑодержитÑÑ Ð² «%s»"
-#: ar.c:166
+#: ar.c:164
#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
+msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr ""
"обновление времени изменениÑ: Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ ar_member_touch вернула\n"
-"ошибочное значение Ð´Ð»Ñ `%s'"
+"ошибочное значение Ð´Ð»Ñ Â«%s»"
-#: arscan.c:69
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr "lbr$set_module() не Ñмогла извлечь информацию о модуле, ÑÑ‚Ð°Ñ‚ÑƒÑ = %d"
-#: arscan.c:175
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "lbr$init_control() вернула код ошибки %d"
-#: arscan.c:187
-#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
-msgstr "Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ `%s' Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка Ñлемента `%s'"
+#: arscan.c:255
+#, fuzzy, c-format
+msgid "unable to open library '%s' to lookup member status %d"
+msgstr "Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ «%s» Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка Ñлемента «%s»"
-#: arscan.c:850
+#: arscan.c:944
#, c-format
-msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
-msgstr "Элемент `%s'%s: %ld байт по адреÑу %ld (%ld).\n"
+msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
+msgstr "Элемент «%s»%s: %ld байт по адреÑу %ld (%ld).\n"
-#: arscan.c:851
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (Ð¸Ð¼Ñ Ð¼Ð¾Ð¶ÐµÑ‚ быть уÑечено)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Дата %s"
-#: arscan.c:854
+#: 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:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr "Ð’ ÑпоÑобе Ñлишком много Ñтрок (%ud)"
+
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** ОÑтанов.\n"
-#: commands.c:622
+#: commands.c:629
#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
-msgstr "*** [%s] Элемент архива `%s', кажетÑÑ, недейÑтвителен; не удалён"
+msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
+msgstr "*** [%s] Элемент архива «%s», кажетÑÑ, недейÑтвителен; не удалён"
-#: commands.c:625
+#: commands.c:633
#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
-msgstr "*** Элемент архива `%s', кажетÑÑ, недейÑтвителен; не удалён"
+msgid "*** Archive member '%s' may be bogus; not deleted"
+msgstr "*** Элемент архива «%s», кажетÑÑ, недейÑтвителен; не удалён"
-#: commands.c:638
+#: commands.c:647
#, c-format
-msgid "*** [%s] Deleting file `%s'"
-msgstr "*** [%s] УдалÑетÑÑ Ñ„Ð°Ð¹Ð» `%s'"
+msgid "*** [%s] Deleting file '%s'"
+msgstr "*** [%s] УдалÑетÑÑ Ñ„Ð°Ð¹Ð» «%s»"
-#: commands.c:640
+#: commands.c:649
#, c-format
-msgid "*** Deleting file `%s'"
-msgstr "*** УдалÑетÑÑ Ñ„Ð°Ð¹Ð» `%s'"
+msgid "*** Deleting file '%s'"
+msgstr "*** УдалÑетÑÑ Ñ„Ð°Ð¹Ð» «%s»"
-#: commands.c:676
+#: commands.c:685
msgid "# recipe to execute"
msgstr "# ÑпоÑоб, который Ñледует применить"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
msgstr " (вÑтроенные):"
-#: commands.c:681
+#: commands.c:690
#, c-format
-msgid " (from `%s', line %lu):\n"
-msgstr " (из `%s', Ñтрока %lu):\n"
+msgid " (from '%s', line %lu):\n"
+msgstr " (из «%s», Ñтрока %lu):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -131,222 +138,222 @@ msgstr ""
"\n"
"# Каталоги\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
msgstr "# %s: невозможно получить ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð¾Ð¼ stat.\n"
-#: dir.c:1012
+#: dir.c:1005
#, c-format
msgid "# %s (key %s, mtime %d): could not be opened.\n"
msgstr "# %s (ключ %s, Ð²Ñ€ÐµÐ¼Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ %d): невозможно открыть.\n"
-#: dir.c:1016
+#: 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:1021
+#: dir.c:1014
#, c-format
msgid "# %s (device %ld, inode %ld): could not be opened.\n"
msgstr "# %s (уÑтройÑтво %ld, inode %ld): невозможно открыть.\n"
-#: dir.c:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
msgstr "# %s (ключ %s, Ð²Ñ€ÐµÐ¼Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ %d): "
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
msgstr "# %s (уÑтройÑтво %d, inode [%d,%d,%d]): "
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
msgstr "# %s (уÑтройÑтво %ld, inode %ld): "
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "Ðет"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr " файлов,"
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "нет"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
msgstr " недоÑтижимых целей"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
msgstr " на текущий момент."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
msgstr " недоÑтижимых целей в %lu каталогах.\n"
-#: expand.c:127
+#: expand.c:125
#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
-msgstr "РекурÑÐ¸Ð²Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ `%s' ÑÑылаетÑÑ Ñама на ÑÐµÐ±Ñ (в результате)"
+msgid "Recursive variable '%s' references itself (eventually)"
+msgstr "РекурÑÐ¸Ð²Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Â«%s» ÑÑылаетÑÑ Ñама на ÑÐµÐ±Ñ (в результате)"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
msgstr "Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÑ‘Ð½Ð½Ð°Ñ ÑÑылка на переменную"
-#: file.c:267
+#: file.c:271
#, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
-msgstr "СпоÑоб Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° `%s' был задан в %s:%lu,"
+msgid "Recipe was specified for file '%s' at %s:%lu,"
+msgstr "СпоÑоб Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° «%s» был задан в %s:%lu,"
-#: file.c:272
+#: file.c:276
#, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
-msgstr "СпоÑоб Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° `%s' был найден из неÑвного правила,"
+msgid "Recipe for file '%s' was found by implicit rule search,"
+msgstr "СпоÑоб Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° «%s» был найден из неÑвного правила,"
-#: file.c:275
+#: file.c:280
#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
-msgstr "но `%s' и `%s' теперь ÑчитаютÑÑ Ð¾Ð´Ð½Ð¸Ð¼ и тем же файлом. "
+msgid "but '%s' is now considered the same file as '%s'."
+msgstr "но «%s» и «%s» теперь ÑчитаютÑÑ Ð¾Ð´Ð½Ð¸Ð¼ и тем же файлом."
-#: file.c:278
+#: file.c:283
#, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
+msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr ""
-"СпоÑоб Ð´Ð»Ñ `%s' игнорируетÑÑ, вмеÑто него будет иÑпользован ÑпоÑоб Ð´Ð»Ñ `%s'."
+"СпоÑоб Ð´Ð»Ñ Â«%s» игнорируетÑÑ, вмеÑто него будет иÑпользован ÑпоÑоб Ð´Ð»Ñ Â«%s»."
-#: file.c:298
+#: file.c:303
#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
+msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr ""
-"невозможно переименовать `%s' Ñ Ð¾Ð´Ð½Ð¸Ð¼ двоеточием в `%s' Ñ Ð´Ð²ÑƒÐ¼Ñ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸Ñми"
+"невозможно переименовать «%s» Ñ Ð¾Ð´Ð½Ð¸Ð¼ двоеточием в «%s» Ñ Ð´Ð²ÑƒÐ¼Ñ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸Ñми"
-#: file.c:303
+#: file.c:309
#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
+msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr ""
-"невозможно переименовать `%s' Ñ Ð´Ð²ÑƒÐ¼Ñ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸Ñми в `%s' Ñ Ð¾Ð´Ð½Ð¸Ð¼ двоеточием"
+"невозможно переименовать «%s» Ñ Ð´Ð²ÑƒÐ¼Ñ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸Ñми в «%s» Ñ Ð¾Ð´Ð½Ð¸Ð¼ двоеточием"
-#: file.c:392
+#: file.c:401
#, c-format
-msgid "*** Deleting intermediate file `%s'"
-msgstr "*** Удаление промежуточного файла `%s'"
+msgid "*** Deleting intermediate file '%s'"
+msgstr "*** Удаление промежуточного файла «%s»"
-#: file.c:396
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Удаление промежуточных файлов...\n"
-#: file.c:803
+#: file.c:811
+msgid "Current time"
+msgstr "Текущее времÑ"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%s: Временной штамп выходит за пределы диапазона; подÑтавлÑем %s"
-#: file.c:804
-msgid "Current time"
-msgstr "Текущее времÑ"
-
-#: file.c:924
+#: file.c:955
msgid "# Not a target:"
msgstr "# Ðе ÑвлÑетÑÑ Ñ†ÐµÐ»ÑŒÑŽ:"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Ценный файл (завиÑимоÑÑ‚ÑŒ .PRECIOUS)."
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# ПÑевдоцель (завиÑимоÑÑ‚ÑŒ от .PHONY)."
-#: file.c:933
+#: file.c:964
msgid "# Command line target."
msgstr "# Цель, Ð²Ñ‹Ð·Ñ‹Ð²Ð°ÐµÐ¼Ð°Ñ Ð¸Ð· командной Ñтроки."
-#: file.c:935
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# По умолчанию, MAKEFILES, или -include/sinclude makefile."
-#: file.c:937
+#: file.c:968
+msgid "# Builtin rule"
+msgstr "# Ð’Ñтроенное правило"
+
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# ПроизводилÑÑ Ð¿Ð¾Ð¸Ñк неÑвных правил."
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# ПоиÑк неÑвных правил не производилÑÑ."
-#: file.c:940
+#: file.c:973
#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
-msgstr "# ОÑнова неÑвного или ÑтатичеÑкого образца: `%s'\n"
+msgid "# Implicit/static pattern stem: '%s'\n"
+msgstr "# ОÑнова неÑвного или ÑтатичеÑкого образца: «%s»\n"
-#: file.c:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# Файл — Ð¿Ñ€Ð¾Ð¼ÐµÐ¶ÑƒÑ‚Ð¾Ñ‡Ð½Ð°Ñ Ð·Ð°Ð²Ð¸ÑимоÑÑ‚ÑŒ."
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
msgstr "# Собирает также:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Ð’Ñ€ÐµÐ¼Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ð¸ разу не проверÑлоÑÑŒ."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
msgstr "# Файл не ÑущеÑтвует."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
msgstr "# Файл очень Ñтарый."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Ð’Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледнего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
msgstr "# Файл был обновлён."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Файл не был обновлён."
-#: file.c:968
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# Ð’ данный момент уже применÑетÑÑ Ð½ÐµÐºÐ¸Ð¹ ÑпоÑоб (ЭТО ОШИБКÐ)."
-#: file.c:971
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr ""
"# Ð’ данный момент уже применÑетÑÑ Ð½ÐµÐºÐ¸Ð¹ ÑпоÑоб по завиÑимоÑÑ‚Ñм (ЭТО ОШИБКÐ)."
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# УÑпешно обновлено."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Должно быть обновлено (задан ключ -q)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Попытка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±ÐµÐ·ÑƒÑпешна."
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# Ðеверное значение члена `update_status'!"
-
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
-msgstr "# Ðеверное значение члена `command_state'!"
+#: file.c:1025
+msgid "# Invalid value in 'command_state' member!"
+msgstr "# Ðеверное значение члена «command_state»!"
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -354,7 +361,7 @@ msgstr ""
"\n"
"# Файлы"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -364,119 +371,172 @@ msgstr ""
"# ÑоÑтоÑние файлов хеш-таблицы:\n"
"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
-msgstr "нечиÑловой первый аргумент функции `word'"
-
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
-msgstr "первый аргумент функции `word' должен быть больше нулÑ"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr "%s: Поле «%s» не кешировано: %s"
-#: function.c:783
-msgid "non-numeric first argument to `wordlist' function"
-msgstr "нечиÑловой первый аргумент функции `wordlist'"
+#: function.c:780
+msgid "non-numeric first argument to 'word' function"
+msgstr "нечиÑловой первый аргумент функции «word»"
#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
-msgstr "нечиÑловой второй аргумент функции `wordlist'"
+msgid "first argument to 'word' function must be greater than 0"
+msgstr "первый аргумент функции «word» должен быть больше нулÑ"
+
+#: function.c:805
+msgid "non-numeric first argument to 'wordlist' function"
+msgstr "нечиÑловой первый аргумент функции «wordlist»"
-#: function.c:1458
+#: function.c:807
+msgid "non-numeric second argument to 'wordlist' function"
+msgstr "нечиÑловой второй аргумент функции «wordlist»"
+
+#: function.c:1499
#, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
-msgstr "windows32_openpipe(): DuplicateHandle(In) вернула код ошибки (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
+msgstr "windows32_openpipe: DuplicateHandle(In) вернула код ошибки (e=%ld)\n"
-#: function.c:1469
+#: function.c:1523
#, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr ""
-"windows32_open_pipe(): DuplicateHandle(Err) вернула код ошибки (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
+msgstr "windows32_openpipe: DuplicateHandle(Err) вернула код ошибки (e=%ld)\n"
-#: function.c:1474
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() вернула код ошибки (e=%ld)\n"
-#: function.c:1479
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe(): process_init_fd() завершилаÑÑŒ неудачно\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Очищаю временный пакетный файл %s\n"
-#: function.c:2150
+#: function.c:2193
+#, c-format
+msgid "open: %s: %s"
+msgstr "открытие: %s: %s"
+
+#: function.c:2203
#, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
-msgstr "недоÑтаточно аргументов (вÑего %d) функции `%s'"
+msgid "write: %s: %s"
+msgstr "запиÑÑŒ: %s: %s"
-#: function.c:2162
+#: function.c:2209
#, c-format
-msgid "unimplemented on this platform: function `%s'"
-msgstr "не реализовано на Ñтой платформе: Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ `%s'"
+msgid "Invalid file operation: %s"
+msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð¼: %s"
-#: function.c:2212
+#: function.c:2324
#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
-msgstr "незавершённый вызов функции `%s': пропущено `%c'"
+msgid "insufficient number of arguments (%d) to function '%s'"
+msgstr "недоÑтаточно аргументов (вÑего %d) функции «%s»"
+
+#: function.c:2336
+#, c-format
+msgid "unimplemented on this platform: function '%s'"
+msgstr "не реализовано на Ñтой платформе: Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Â«%s»"
+
+#: function.c:2399
+#, c-format
+msgid "unterminated call to function '%s': missing '%c'"
+msgstr "незавершённый вызов функции «%s»: пропущено «%c»"
+
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "ПуÑтое Ð¸Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸\n"
+
+#: function.c:2593
+#, fuzzy, c-format
+msgid "Invalid function name: %s"
+msgstr "Ðекорректное Ð¸Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸: %s\n"
+
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
+msgstr "Слишком длинное Ð¸Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸: %s\n"
+
+#: 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
-#
-#: getopt.c:661
+#: getopt.c:659
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: ключ `%s' не однозначен\n"
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: ключ «%s» не однозначен\n"
-#: getopt.c:685
+#: getopt.c:683
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: ключ `--%s' не имеет аргумента\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: ключ «--%s» должен иÑпользоватьÑÑ Ð±ÐµÐ· аргумента\n"
-#: getopt.c:690
+#: getopt.c:688
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: ключ `%c%s' не имеет аргумента\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: ключ «%c%s» должен иÑпользоватьÑÑ Ð±ÐµÐ· аргумента\n"
-#: getopt.c:707 getopt.c:880
+#: getopt.c:705 getopt.c:878
#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: ключ `%s' требует аргумент\n"
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s: ключу «%s» требуетÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚\n"
-#: getopt.c:736
+#: getopt.c:734
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: неизвеÑтный ключ `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: неизвеÑтный ключ «--%s»\n"
-#: getopt.c:740
+#: getopt.c:738
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: неизвеÑтный ключ `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: неизвеÑтный ключ «%c%s»\n"
-#: getopt.c:766
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: недопуÑтимый ключ -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: неверный ключ -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: ключ требует аргумент -- %c\n"
-#: getopt.c:846
+#: getopt.c:844
+#, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: ключ «-W %s» неоднозначен\n"
+
+#: getopt.c:862
+#, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s: ключ «-W %s» должен иÑпользоватьÑÑ Ð±ÐµÐ· аргумента\n"
+
+#: guile.c:58
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: ключ `-W %s' неоднозначен\n"
+msgid "guile: Expanding '%s'\n"
+msgstr "guile: раÑширÑетÑÑ Â«%s»\n"
-#: getopt.c:864
+#: guile.c:74
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: ключ `-W %s' не имеет аргумента\n"
+msgid "guile: Evaluating '%s'\n"
+msgstr "guile: вычиÑлÑетÑÑ Â«%s»\n"
#: hash.c:49
#, c-format
@@ -498,131 +558,154 @@ msgstr "Переформулировано=%d, "
msgid "Collisions=%ld/%ld=%.0f%%"
msgstr "Противоречий=%ld/%ld=%.0f%%"
-#: implicit.c:40
+#: implicit.c:38
#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
-msgstr "ПоиÑк неÑвного правила Ð´Ð»Ñ `%s'.\n"
+msgid "Looking for an implicit rule for '%s'.\n"
+msgstr "ПоиÑк неÑвного правила Ð´Ð»Ñ Â«%s».\n"
-#: implicit.c:56
+#: implicit.c:54
#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
-msgstr "ПоиÑк неÑвного правила Ð´Ð»Ñ Ñлемента архива `%s'.\n"
+msgid "Looking for archive-member implicit rule for '%s'.\n"
+msgstr "ПоиÑк неÑвного правила Ð´Ð»Ñ Ñлемента архива «%s».\n"
-#: implicit.c:317
+#: 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"
+
#: implicit.c:491
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
-msgstr "Попытка Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° Ñ Ð¾Ð±Ñ€Ð°Ð·Ñ†Ð¾Ð¼, оÑнова `%.*s'.\n"
+msgid "Trying pattern rule with stem '%.*s'.\n"
+msgstr "Попытка Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° Ñ Ð¾Ð±Ñ€Ð°Ð·Ñ†Ð¾Ð¼ «%.*s».\n"
-#: implicit.c:674
+#: implicit.c:697
#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
-msgstr "Отвержение невозможной завиÑимоÑти правила `%s'.\n"
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
+msgstr "Отвержение невозможной завиÑимоÑти правила «%s».\n"
-#: implicit.c:675
+#: implicit.c:698
#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
-msgstr "Отвержение невозможной неÑвной завиÑимоÑти `%s'.\n"
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
+msgstr "Отвержение невозможной неÑвной завиÑимоÑти «%s».\n"
-#: implicit.c:688
+#: implicit.c:711
#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
-msgstr "Попытка Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° завиÑимоÑти `%s'.\n"
+msgid "Trying rule prerequisite '%s'.\n"
+msgstr "Попытка Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° завиÑимоÑти «%s».\n"
-#: implicit.c:689
+#: implicit.c:712
#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
-msgstr "Попытка Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½ÐµÑвной завиÑимоÑти `%s'.\n"
+msgid "Trying implicit prerequisite '%s'.\n"
+msgstr "Попытка Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½ÐµÑвной завиÑимоÑти «%s».\n"
-#: implicit.c:728
+#: implicit.c:751
#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
-msgstr "Обнаружена завиÑимоÑÑ‚ÑŒ `%s' в виде VPATH `%s'\n"
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
+msgstr "Обнаружена завиÑимоÑÑ‚ÑŒ «%s» в виде VPATH «%s»\n"
-#: implicit.c:742
+#: implicit.c:765
#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
-msgstr "ПоиÑк правила Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ¶ÑƒÑ‚Ð¾Ñ‡Ð½Ñ‹Ð¼ файлом `%s'.\n"
+msgid "Looking for a rule with intermediate file '%s'.\n"
+msgstr "ПоиÑк правила Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ¶ÑƒÑ‚Ð¾Ñ‡Ð½Ñ‹Ð¼ файлом «%s».\n"
-#: job.c:335
+#: job.c:361
msgid "Cannot create a temporary file\n"
msgstr "Ðе удалоÑÑŒ Ñоздать временный файл\n"
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] Ошибка 0x%x (игнорирована)"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (Ñделан дамп памÑти)"
+
+#: job.c:488
+msgid " (ignored)"
+msgstr " (игнорирование)"
-#: job.c:450
+#: job.c:492 job.c:2046
+msgid "<builtin>"
+msgstr "<вÑтроенное>"
+
+#: job.c:503
#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] Ошибка 0x%x"
+msgid "%s: recipe for target '%s' failed"
+msgstr "%s: ошибка Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð° Ð´Ð»Ñ Ñ†ÐµÐ»Ð¸ «%s»"
-#: job.c:454
+#: job.c:516 job.c:524
#, c-format
-msgid "[%s] Error %d (ignored)"
-msgstr "[%s] Ошибка %d (игнорирована)"
+msgid "%s[%s] Error %d%s"
+msgstr "%s[%s] Ошибка %d%s"
-#: job.c:455
+#: job.c:519
#, c-format
-msgid "*** [%s] Error %d"
-msgstr "*** [%s] Ошибка %d"
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Ошибка 0x%x%s"
-#: job.c:460
-msgid " (core dumped)"
-msgstr " (Ñделан дамп памÑти)"
+#: job.c:529
+#, c-format
+msgid "%s[%s] %s%s%s"
+msgstr "%s[%s] %s%s%s"
-#: job.c:549
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
-msgstr "*** Ожидание Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ð¹..."
+msgstr "*** Ожидание Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ð¹â€¦"
-#: job.c:579
+#: job.c:651
#, c-format
msgid "Live child %p (%s) PID %s %s\n"
msgstr "Ðезавершённый потомок %p (%s) PID %s %s\n"
-#: job.c:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (удалённый)"
-#: job.c:758
+#: job.c:841
#, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "ПодбираетÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾ завершившийÑÑ Ð¿Ð¾Ñ‚Ð¾Ð¼Ð¾Ðº %p PID %s %s\n"
-#: job.c:759
+#: job.c:842
#, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "ПодбираетÑÑ ÑƒÐ´Ð°Ñ‡Ð½Ð¾ завершившийÑÑ Ð¿Ð¾Ñ‚Ð¾Ð¼Ð¾Ðº %p PID %s %s\n"
-#: job.c:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Подчищаю временный пакетный файл %s\n"
-#: job.c:861
+#: job.c:855
+#, c-format
+msgid "Cleaning up temp batch file %s failed (%d)\n"
+msgstr "ОчиÑтка временного пакетного файла %s завершилаÑÑŒ Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹ (%d)\n"
+
+#: job.c:961
#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
msgstr "УдалÑетÑÑ Ð¿Ð¾Ñ‚Ð¾Ð¼Ð¾Ðº %p PID %s%s из цепочки.\n"
-#: job.c:920
-msgid "write jobserver"
-msgstr "пишу в Ñервер задач"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
+msgstr "оÑвобождение Ñемафора Ñервера заданий: (ошибка %ld: %s)"
-#: job.c:922
+#: job.c:1024 job.c:1038
#, c-format
msgid "Released token for child %p (%s).\n"
-msgstr "ОÑвобождаетÑÑ Ñ‚Ð¾ÐºÐµÐ½ Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ð¼ÐºÐ° %p (%s).\n"
+msgstr "ОÑвобождён токен Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ð¼ÐºÐ° %p (%s).\n"
+
+#: job.c:1036
+msgid "write jobserver"
+msgstr "запиÑÑŒ Ñервера заданий"
-#: job.c:1453 job.c:2094
+#: 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:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -631,84 +714,105 @@ msgstr ""
"\n"
"При неудачном запуÑке ÑоÑчитано %d аргументов\n"
-#: job.c:1525
+#: 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:1778
+#: 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:1787
+#: job.c:2029
msgid "read jobs pipe"
-msgstr "читаю задачи из потока"
+msgstr "чтение потока заданий"
-#: job.c:1798
+#: job.c:2056
#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr "ПрименÑетÑÑ ÑпоÑоб из %s:%lu Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ†ÐµÐ»Ð¸ `%s'.\n"
+msgid "%s: target '%s' does not exist"
+msgstr "%s: цель «%s» не ÑущеÑтвует"
-#: job.c:1802
+#: job.c:2059
#, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "ВыполнÑетÑÑ Ð²Ñтроенный ÑпоÑоб Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ†ÐµÐ»Ð¸ `%s'.\n"
+msgid "%s: update target '%s' due to: %s"
+msgstr "%s: обновление цели «%s» из-за: %s"
-#: job.c:1910
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr "Ñта Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ ÑиÑтема не позволÑет уÑтанавливать пределы загрузки"
-#: job.c:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "невозможно уÑтановить пределы загрузки: "
-#: job.c:1985
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr "закончилиÑÑŒ файловые деÑкрипторы: не удалоÑÑŒ Ñделать копию stdin\n"
-#: job.c:1987
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr "закончилиÑÑŒ файловые деÑкрипторы: не удалоÑÑŒ Ñделать копию stdout\n"
-#: job.c:2015
+#: job.c:2278
+msgid "no more file handles: could not duplicate stderr\n"
+msgstr "закончилиÑÑŒ файловые деÑкрипторы: не удалоÑÑŒ Ñделать копию stderr\n"
+
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "Ðе удалоÑÑŒ воÑÑтановить stdin\n"
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Ðе удалоÑÑŒ воÑÑтановить stdout\n"
-#: job.c:2127
+#: job.c:2309
+msgid "Could not restore stderr\n"
+msgstr "Ðе удалоÑÑŒ воÑÑтановить stderr\n"
+
+#: 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:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Команда не найдена"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Командный процеÑÑор не найден"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: вероÑтно, закончилоÑÑŒ меÑто под окружение"
-#: job.c:2461
+#: job.c:2765
#, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
-msgstr "ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $SHELL изменилаÑÑŒ (было '%s', теперь '%s')\n"
+msgid "$SHELL changed (was '%s', now '%s')\n"
+msgstr "ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $SHELL изменилаÑÑŒ (было «%s», теперь «%s»)\n"
-#: job.c:2951
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "СоздаётÑÑ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ð¹ пакетный файл %s\n"
-#: job.c:2963
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+"Содержимое файла пакетных заданий:\n"
+"\t@echo off\n"
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
@@ -717,26 +821,59 @@ msgstr ""
"Содержимое файла пакетных заданий:%s\n"
"\t%s\n"
-#: job.c:3065
+#: 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"
-#: main.c:303
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr "-O[ТИП] (--output-sync[=ТИП]) не наÑтроен в данной Ñборке."
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr "Ðе удалоÑÑŒ открыть глобальную таблицу Ñимволов: %s"
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr "Загруженный объект %s не объÑвлено как ÑовмеÑтимый Ñ GPL"
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr "Ðе удалоÑÑŒ загрузить Ñимвол %s из %s: %s"
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr "ПуÑтое Ð¸Ð¼Ñ Ñимвола Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸: %s"
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr "ЗагружаетÑÑ Ñимвол %s из %s\n"
+
+#: load.c:244
+msgid "The 'load' operation is not supported on this platform."
+msgstr "ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Â«load» не поддерживаетÑÑ Ð½Ð° Ñтой платформе."
+
+#: main.c:313
msgid "Options:\n"
msgstr "Ключи:\n"
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m ИгнорируетÑÑ Ð´Ð»Ñ ÑовмеÑтимоÑти.\n"
-#: main.c:306
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr " -B, --always-make Без уÑловий отрабатывать вÑе цели.\n"
-#: main.c:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
@@ -744,18 +881,18 @@ msgstr ""
" -C КÐТÐЛОГ, --directory=КÐТÐЛОГ\n"
" Перейти в КÐТÐЛОГ перед выполнением дейÑтвий.\n"
-#: main.c:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr " -d Выводить маÑÑу отладочных Ñообщений.\n"
-#: main.c:313
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=ФЛÐГИ] Выводить различные типы отладочной "
"информации.\n"
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -764,13 +901,13 @@ msgstr ""
" Переменные Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð·Ð°Ð¼ÐµÐ½ÑÑŽÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ "
"makefile.\n"
-#: main.c:318
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
" --eval=СТРОКРВычиÑлить СТРОКУ как предложение makefile.\n"
-#: main.c:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -778,15 +915,15 @@ msgstr ""
" -f ФÐЙЛ, --file=ФÐЙЛ, --makefile=ФÐЙЛ\n"
" ИÑпользовать ФÐЙЛ в качеÑтве makefile.\n"
-#: main.c:323
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Показать Ñту Ñправку и выйти.\n"
-#: main.c:325
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr " -i, --ignore-errors Игнорировать ошибки ÑпоÑобов.\n"
-#: main.c:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -794,7 +931,7 @@ msgstr ""
" -I КÐТÐЛОГ, --include-dir=КÐТÐЛОГ\n"
" ИÑкать включаемые make-файлы в КÐТÐЛОГЕ.\n"
-#: main.c:330
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -803,14 +940,14 @@ msgstr ""
" еÑли N не указано, чиÑло заданий "
"неограничено.\n"
-#: main.c:332
+#: 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:334
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -819,7 +956,7 @@ msgstr ""
" -l [N], --load-average[=N], --max-load[=N] Ðе запуÑкать\n"
" неÑколько заданий, еÑли загрузка больше N.\n"
-#: main.c:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -827,7 +964,7 @@ msgstr ""
" -L, --check-symlink-times ИÑпользовать поÑледнее mtime при выборе между\n"
" ÑимволичеÑкими ÑÑылками и целью.\n"
-#: main.c:339
+#: main.c:349
msgid ""
" -n, --just-print, --dry-run, --recon\n"
" Don't actually run any recipe; just print "
@@ -837,7 +974,7 @@ msgstr ""
" Ðе применÑÑ‚ÑŒ ÑпоÑоб на Ñамом деле; проÑто\n"
" напечатать его.\n"
-#: main.c:342
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -847,12 +984,21 @@ msgstr ""
" Считать ФÐЙЛ очень Ñтарым и не переделывать "
"его.\n"
-#: main.c:345
+#: main.c:355
+msgid ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
+msgstr ""
+" -O[ТИП], --output-sync[=ТИП]\n"
+" Синхронизировать вывод параллельных\n"
+" заданий Ñ Ñ‚Ð¸Ð¿Ð¾Ð¼ ТИП.\n"
+
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr ""
" -p, --print-data-base Ðапечатать внутреннюю базу данных make.\n"
-#: main.c:347
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
@@ -861,23 +1007,23 @@ msgstr ""
" код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚, вÑÑ‘ ли уже "
"Ñделано.\n"
-#: main.c:349
+#: 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:351
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr ""
" -R, --no-builtin-variables Выключить уÑтановку вÑтроенных\n"
" значений переменных.\n"
-#: main.c:353
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet Ðе показывать Ñами ÑпоÑобы.\n"
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -885,22 +1031,26 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" Отменить ключ -k.\n"
-#: main.c:358
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
" -t, --touch УÑтановить Ð²Ñ€ÐµÐ¼Ñ Ð´Ð¾Ñтупа целей в текущее,\n"
" а не переÑобирать их.\n"
-#: main.c:360
+#: main.c:373
+msgid " --trace Print tracing information.\n"
+msgstr " --trace Выводить траÑÑировочную информацию.\n"
+
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr " -v, --version Показать информацию о верÑии и выйти.\n"
-#: main.c:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Ðапечатать текущий каталог.\n"
-#: main.c:364
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -908,7 +1058,7 @@ msgstr ""
" --no-print-directory Отменить ключ -w, даже еÑли он был Ñвно "
"указан.\n"
-#: main.c:366
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -916,7 +1066,7 @@ msgstr ""
" -W ФÐЙЛ, --what-if=ФÐЙЛ, --new-file=ФÐЙЛ, --assume-new=ФÐЙЛ\n"
" Считать ФÐЙЛ вÑегда новым.\n"
-#: main.c:369
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -924,21 +1074,26 @@ msgstr ""
" --warn-undefined-variables Выдавать предупреждение при ÑÑылке\n"
" на неопределённую переменную.\n"
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "пуÑÑ‚Ð°Ñ Ñтрока недопуÑтима в качеÑтве имени файла"
-#: main.c:650
+#: main.c:737
+#, c-format
+msgid "unknown debug level specification '%s'"
+msgstr "задан неизвеÑтный уровень отладки «%s»"
+
+#: main.c:774
#, c-format
-msgid "unknown debug level specification `%s'"
-msgstr "неизвеÑтный ÑпоÑоб Ð·Ð°Ð´Ð°Ð½Ð¸Ñ ÑƒÑ€Ð¾Ð²Ð½Ñ Ð¾Ñ‚Ð»Ð°Ð´ÐºÐ¸ `%s'"
+msgid "unknown output-sync type '%s'"
+msgstr "неизвеÑтный тип output-sync «%s»"
-#: main.c:690
+#: 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:697
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -953,162 +1108,181 @@ msgstr ""
"Флаги иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ = %lx\n"
"ÐÐ´Ñ€ÐµÑ Ð¸ÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ = 0x%p\n"
-#: main.c:705
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "Ðарушение доÑтупа: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи по адреÑу 0x%p\n"
-#: main.c:706
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "Ðарушение доÑтупа: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð°Ð´Ñ€ÐµÑа 0x%p\n"
-#: main.c:781 main.c:792
+#: 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:834
+#: 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:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s приоÑтанавливаетÑÑ Ð½Ð° 30 Ñекунд..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "sleep(30) завершён. Продолжаем.\n"
-#: main.c:1501
+#: 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 "Клиент Ñервера заданий (fds %d,%d)\n"
+
+#: main.c:1551
+msgid "warning: -jN forced in submake: disabling jobserver mode."
+msgstr ""
+"предупреждение: в Ñуб-Makefile принудительно задан -jN; режим Ñервера "
+"заданий запрещён"
+
+#: 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:1539 vmsjobs.c:500
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (временный файл)"
-#: main.c:1545
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (временный файл)"
-#: main.c:1703
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
-msgstr "Параллельные задачи (-j) не поддерживаютÑÑ Ð½Ð° Ñтой платформе."
+msgstr "Параллельные Ð·Ð°Ð´Ð°Ð½Ð¸Ñ (-j) не поддерживаютÑÑ Ð½Ð° Ñтой платформе."
-#: main.c:1704
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
-msgstr "ВозвращаетÑÑ Ñ€ÐµÐ¶Ð¸Ð¼ одиночной задачи (-j1)."
+msgstr "ВозвращаетÑÑ Ñ€ÐµÐ¶Ð¸Ð¼ одиночного Ð·Ð°Ð´Ð°Ð½Ð¸Ñ (-j1)."
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: неÑколько ключей --jobserver-fds"
-
-#: main.c:1727
+#: main.c:1994
#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
-msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ñтрока --jobserver-fds: `%s'"
+msgid "Jobserver slots limited to %d\n"
+msgstr "КоличеÑтво Ñлотов Ñервера заданий ограничено %d\n"
-#: main.c:1730
+#: main.c:2002
#, c-format
-msgid "Jobserver client (fds %d,%d)\n"
-msgstr "Клиент Ñервера заданий (fds %d,%d)\n"
-
-#: main.c:1740
-msgid "warning: -jN forced in submake: disabling jobserver mode."
-msgstr ""
-"предупреждение: в Ñуб-Makefile принудительно задан -jN; режим Ñервера задач "
-"запрещён"
+msgid "creating jobserver semaphore: (Error %ld: %s)"
+msgstr "Ñоздание Ñемафора Ñервера заданий: (ошибка %ld: %s)"
-#: main.c:1750
-msgid "dup jobserver"
-msgstr "Ñоздаю копию Ñервера задач"
-
-#: main.c:1753
-msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
-msgstr ""
-"предупреждение: Ñервер задач недоÑтупен: иÑпользуетÑÑ -j1.\n"
-"Добавьте `+' к правилу в родительÑком make."
-
-#: main.c:1777
+#: main.c:2008
msgid "creating jobs pipe"
-msgstr "Ñоздаю канал задач"
+msgstr "ÑоздаётÑÑ ÐºÐ°Ð½Ð°Ð» заданий"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
-msgstr "Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ Ð½Ð°Ñтройка Ñервера задач"
+msgstr "Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ Ð½Ð°Ñтройка Ñервера заданий"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "СимволичеÑкие ÑÑылки не поддерживаютÑÑ: отменÑетÑÑ ÐºÐ»ÑŽÑ‡ -L."
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Обновление make-файлов....\n"
-#: main.c:1917
+#: main.c:2158
#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
-msgstr "Make-файл `%s', возможно, зациклен, он не будет переÑобиратьÑÑ.\n"
+msgid "Makefile '%s' might loop; not remaking it.\n"
+msgstr "Make-файл «%s», возможно, зациклен, он не будет переÑобиратьÑÑ.\n"
-#: main.c:1996
+#: main.c:2237
#, c-format
-msgid "Failed to remake makefile `%s'."
-msgstr "Попытка переÑобрать make-файл `%s' завершилаÑÑŒ неудачно."
+msgid "Failed to remake makefile '%s'."
+msgstr "Попытка переÑобрать make-файл «%s» завершилаÑÑŒ неудачно."
-#: main.c:2013
+#: main.c:2257
#, c-format
-msgid "Included makefile `%s' was not found."
-msgstr "Включаемый make-файл `%s' не найден."
+msgid "Included makefile '%s' was not found."
+msgstr "Включаемый make-файл «%s» не найден."
-#: main.c:2018
+#: main.c:2262
#, c-format
-msgid "Makefile `%s' was not found"
-msgstr "Make-файл `%s' не найден"
+msgid "Makefile '%s' was not found"
+msgstr "Make-файл «%s» не найден"
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Ðевозможно перейти в первоначальный каталог."
-#: main.c:2102
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Повторное выполнение[%u]:"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (временный файл)"
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL Ñодержит более одной цели"
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Ðе заданы цели и не найден make-файл"
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
msgstr "Ðет целей"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Обновление целей результата...\n"
-#: main.c:2306
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr "предупреждение: Ðеправильный ход чаÑов. Сборка может быть неполной."
-#: main.c:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "ИÑпользование: %s [КЛЮЧ]... [ЦЕЛЬ]...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1117,7 +1291,7 @@ msgstr ""
"\n"
"Эта программа Ñобрана Ð´Ð»Ñ %s\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1126,32 +1300,32 @@ msgstr ""
"\n"
"Эта программа Ñобрана Ð´Ð»Ñ %s (%s)\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "Сообщайте об ошибках по адреÑу <bug-make@gnu.org>\n"
-#: main.c:2562
+#: main.c:2807
#, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
-msgstr "длÑ ключа `%s%s' нужно указать аргументом непуÑтую Ñтроку"
+msgid "the '%s%s' option requires a non-empty string argument"
+msgstr "длÑ ключа «%s%s» нужно указать аргументом непуÑтую Ñтроку"
-#: main.c:2617
+#: main.c:2871
#, c-format
-msgid "the `-%c' option requires a positive integral argument"
-msgstr "ключ `-%c' должен иÑпользоватьÑÑ Ñ Ñ†ÐµÐ»Ñ‹Ð¼ положительным аргументом"
+msgid "the '-%c' option requires a positive integer argument"
+msgstr "ключ «-%c» должен иÑпользоватьÑÑ Ñ Ñ†ÐµÐ»Ñ‹Ð¼ положительным аргументом"
-#: main.c:3054
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
msgstr "%sЭта программа Ñобрана Ð´Ð»Ñ %s\n"
-#: main.c:3056
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr "%sЭта программа Ñобрана Ð´Ð»Ñ %s (%s)\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1164,7 +1338,7 @@ msgstr ""
"%sЭто Ñвободное программное обеÑпечение: вы можете Ñвободно изменÑÑ‚ÑŒ его и\n"
"%sраÑпроÑтранÑÑ‚ÑŒ. ÐЕТ ÐИКÐКИХ ГÐРÐÐТИЙ вне пределов, допуÑтимых законом.\n"
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1173,7 +1347,7 @@ msgstr ""
"\n"
"# База данных Make, напечатана %s"
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1182,447 +1356,460 @@ msgstr ""
"\n"
"# Печать базы данных Make завершена %s\n"
-#: main.c:3237
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %d"
+
+#: misc.c:522
+#, c-format
+msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+msgstr ""
+"%s: пользователь %lu (дейÑтвительный %lu),\n"
+"группа %lu (дейÑÑ‚Ð²Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ %lu)\n"
+
+#: misc.c:543
+msgid "Initialized access"
+msgstr "ДоÑтуп инициализации"
+
+#: misc.c:622
+msgid "User access"
+msgstr "ДоÑтуп пользователÑ"
+
+#: misc.c:670
+msgid "Make access"
+msgstr "ДоÑтуп make"
+
+#: misc.c:704
+msgid "Child access"
+msgstr "ДоÑтуп потомка"
+
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: Вход в неизвеÑтный каталог\n"
-#: main.c:3239
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: Выход из неизвеÑтного каталога\n"
-#: main.c:3242
+#: output.c:109
#, c-format
-msgid "%s: Entering directory `%s'\n"
-msgstr "%s: Вход в каталог `%s'\n"
+msgid "%s: Entering directory '%s'\n"
+msgstr "%s: вход в каталог «%s»\n"
-#: main.c:3245
+#: output.c:111
#, c-format
-msgid "%s: Leaving directory `%s'\n"
-msgstr "%s: Выход из каталога `%s'\n"
+msgid "%s: Leaving directory '%s'\n"
+msgstr "%s: выход из каталога «%s»\n"
-#: main.c:3250
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
-msgstr "%s[%u]: Вход в неизвеÑтный каталог\n"
+msgstr "%s[%u]: вход в неизвеÑтный каталог\n"
-#: main.c:3253
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
-msgstr "%s[%u]: Выход из неизвеÑтного каталога\n"
+msgstr "%s[%u]: выход из неизвеÑтного каталога\n"
-#: main.c:3257
+#: output.c:120
#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
-msgstr "%s[%u]: Вход в каталог `%s'\n"
+msgid "%s[%u]: Entering directory '%s'\n"
+msgstr "%s[%u]: вход в каталог «%s»\n"
-#: main.c:3260
+#: output.c:122
#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
-msgstr "%s[%u]: Выход из каталога `%s'\n"
+msgid "%s[%u]: Leaving directory '%s'\n"
+msgstr "%s[%u]: выход из каталога «%s»\n"
-#: misc.c:316
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
+msgstr "ошибка запиÑи: %s"
+
+#: output.c:677
msgid ". Stop.\n"
msgstr ". ОÑтанов.\n"
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %d"
-
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "закончилаÑÑŒ Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð°Ð¼ÑÑ‚ÑŒ"
-
-#: misc.c:708
-#, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr ""
-"%s: пользователь %lu (дейÑтвительный %lu),\n"
-"группа %lu (дейÑÑ‚Ð²Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ %lu)\n"
-
-#: misc.c:729
-msgid "Initialized access"
-msgstr "ДоÑтуп инициализации"
-
-#: misc.c:808
-msgid "User access"
-msgstr "ДоÑтуп пользователÑ"
-
-#: misc.c:856
-msgid "Make access"
-msgstr "ДоÑтуп make"
-
-#: misc.c:890
-msgid "Child access"
-msgstr "ДоÑтуп потомка"
-
-#: misc.c:954
-#, c-format
-msgid "write error: %s"
-msgstr "ошибка запиÑи: %s"
-
-#: misc.c:956
-msgid "write error"
-msgstr "ошибка запиÑи"
-
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
msgstr "Чтение make-файлов...\n"
-#: read.c:333
+#: read.c:335
#, c-format
-msgid "Reading makefile `%s'"
-msgstr "Чтение make-файла `%s'"
+msgid "Reading makefile '%s'"
+msgstr "Чтение make-файла «%s»"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (нет цели по умолчанию)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (путь поиÑка)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (игнорировать ошибки)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (не раÑкрывать Ñимвол `~') "
-#: read.c:759
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr "ПропуÑк UTF-8 BOM в make-файле «%s»\n"
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr "ПропуÑк UTF-8 BOM в буфере make-файла\n"
+
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "неверный ÑинтакÑÐ¸Ñ Ð² уÑловном выражении"
-#: read.c:891
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr "%s: не удалоÑÑŒ загрузить"
+
+#: read.c:992
msgid "recipe commences before first target"
msgstr "обнаружен ÑпоÑоб до первого Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ†ÐµÐ»Ð¸"
-#: read.c:940
+#: read.c:1041
msgid "missing rule before recipe"
msgstr "перед ÑпоÑобом отÑутÑтвует правило"
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "пропущен разделитель%s"
-
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr "(не имели ли вы в виду TAB вмеÑто воÑьми пробелов?)"
-#: read.c:1163
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "пропущен разделитель%s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "пропущен образец цели"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
msgstr "неÑколько образцов цели"
-#: read.c:1169
+#: read.c:1276
#, c-format
-msgid "target pattern contains no `%%'"
-msgstr "образец цели не Ñодержит `%%'"
+msgid "target pattern contains no '%%'"
+msgstr "образец цели не Ñодержит «%%»"
-#: read.c:1293
-msgid "missing `endif'"
-msgstr "пропущена `endif'"
+#: read.c:1398
+msgid "missing 'endif'"
+msgstr "отÑутÑтвует «endif»"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "пуÑтое Ð¸Ð¼Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹"
-#: read.c:1367
-msgid "extraneous text after `define' directive"
-msgstr "излишний текÑÑ‚ поÑле директивы `define'"
+#: read.c:1471
+msgid "extraneous text after 'define' directive"
+msgstr "излишний текÑÑ‚ поÑле директивы «define»"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
-msgstr "пропущена `endif', Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÑ‘Ð½Ð½Ð°Ñ `define'"
+#: read.c:1496
+msgid "missing 'endef', unterminated 'define'"
+msgstr "отÑутÑтвует «endif», Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÑ‘Ð½Ð½Ð°Ñ Â«define»"
-#: read.c:1420
-msgid "extraneous text after `endef' directive"
-msgstr "излишний текÑÑ‚ поÑле директивы `endef'"
+#: read.c:1524
+msgid "extraneous text after 'endef' directive"
+msgstr "излишний текÑÑ‚ поÑле директивы «endef»"
-#: read.c:1490
+#: read.c:1595
#, c-format
-msgid "Extraneous text after `%s' directive"
-msgstr "Излишний текÑÑ‚ поÑле директивы `%s'"
+msgid "extraneous text after '%s' directive"
+msgstr "Излишний текÑÑ‚ поÑле директивы «%s»"
-#: read.c:1499 read.c:1513
+#: read.c:1596
#, c-format
-msgid "extraneous `%s'"
-msgstr "излишнÑÑ `%s'"
+msgid "extraneous '%s'"
+msgstr "излишнÑÑ Â«%s»"
-#: read.c:1518
-msgid "only one `else' per conditional"
-msgstr "в уÑловном выражении возможна только одна `else'"
+#: read.c:1624
+msgid "only one 'else' per conditional"
+msgstr "в уÑловном выражении возможна только одна «else»"
-#: read.c:1797
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Ðеправильный формат Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ цели"
-#: read.c:1855
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
msgstr "в ÑпоÑобах не могут задаватьÑÑ Ð·Ð°Ð²Ð¸ÑимоÑти"
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "Ñмешаны неÑвные правила и правила Ñо ÑтатичеÑкими образцами"
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "Ñмешаны неÑвные и обычные правила"
-#: read.c:1976
+#: read.c:2091
#, c-format
-msgid "target `%s' doesn't match the target pattern"
-msgstr "цель `%s' не ÑоответÑтвует образцу целей"
+msgid "target '%s' doesn't match the target pattern"
+msgstr "цель «%s» не ÑоответÑтвует образцу целей"
-#: read.c:1991 read.c:2036
+#: read.c:2106 read.c:2152
#, c-format
-msgid "target file `%s' has both : and :: entries"
-msgstr "целевой файл `%s' имеет Ð²Ñ…Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¸ Ñ `:', и Ñ `::' "
+msgid "target file '%s' has both : and :: entries"
+msgstr "целевой файл «%s» имеет Ð²Ñ…Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¸ Ñ :, и Ñ ::"
-#: read.c:1997
+#: read.c:2112
#, c-format
-msgid "target `%s' given more than once in the same rule."
-msgstr "цель `%s' указана неÑколько раз в одном правиле"
+msgid "target '%s' given more than once in the same rule"
+msgstr "цель «%s» указана неÑколько раз в одном правиле"
-#: read.c:2006
+#: read.c:2122
#, c-format
-msgid "warning: overriding recipe for target `%s'"
-msgstr "предупреждение: переопределение ÑпоÑоба Ð´Ð»Ñ Ñ†ÐµÐ»Ð¸ `%s'"
+msgid "warning: overriding recipe for target '%s'"
+msgstr "предупреждение: переопределение ÑпоÑоба Ð´Ð»Ñ Ñ†ÐµÐ»Ð¸ «%s»"
-#: read.c:2009
+#: read.c:2125
#, c-format
-msgid "warning: ignoring old recipe for target `%s'"
-msgstr "предупреждение: Ñтарый ÑпоÑоб Ð´Ð»Ñ Ñ†ÐµÐ»Ð¸ `%s' игнорируютÑÑ"
+msgid "warning: ignoring old recipe for target '%s'"
+msgstr "предупреждение: Ñтарый ÑпоÑоб Ð´Ð»Ñ Ñ†ÐµÐ»Ð¸ «%s» игнорируютÑÑ"
+
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "Ñмешаны неÑвные и обычные правила"
-#: read.c:2392
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "предупреждение: вÑтречен Ñимвол NUL; игнорируетÑÑ Ð´Ð¾ конца Ñтроки"
-#: remake.c:234
+#: remake.c:230
#, c-format
-msgid "Nothing to be done for `%s'."
-msgstr "Цель `%s' не требует Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´."
+msgid "Nothing to be done for '%s'."
+msgstr "Цель «%s» не требует Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´."
-#: remake.c:235
+#: remake.c:231
#, c-format
-msgid "`%s' is up to date."
-msgstr "`%s' не требует обновлениÑ."
+msgid "'%s' is up to date."
+msgstr "«%s» не требует обновлениÑ."
-#: remake.c:306
+#: remake.c:303
#, c-format
-msgid "Pruning file `%s'.\n"
-msgstr "ОбрезаетÑÑ Ñ„Ð°Ð¹Ð» `%s'.\n"
+msgid "Pruning file '%s'.\n"
+msgstr "ОбрезаетÑÑ Ñ„Ð°Ð¹Ð» «%s».\n"
-#: remake.c:359
+#: remake.c:390 remake.c:393
#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%sÐет правила Ð´Ð»Ñ Ñборки цели `%s'%s"
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
+msgstr "%sÐет правила Ð´Ð»Ñ Ñборки цели «%s», требуемой Ð´Ð»Ñ Â«%s»%s"
-#: remake.c:361
+#: remake.c:402 remake.c:405
#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
-msgstr "%sÐет правила Ð´Ð»Ñ Ñборки цели `%s', требуемой Ð´Ð»Ñ `%s'%s"
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sÐет правила Ð´Ð»Ñ Ñборки цели «%s»%s"
-#: remake.c:413
+#: remake.c:426
#, c-format
-msgid "Considering target file `%s'.\n"
-msgstr "Обработка целевого файла `%s'.\n"
+msgid "Considering target file '%s'.\n"
+msgstr "Обработка целевого файла «%s».\n"
-#: remake.c:420
+#: remake.c:433
#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
-msgstr "ÐŸÑ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° обновить файл `%s' завершилаÑÑŒ неудачно.\n"
+msgid "Recently tried and failed to update file '%s'.\n"
+msgstr "ÐŸÑ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° обновить файл «%s» завершилаÑÑŒ неудачно.\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
-msgid "File `%s' was considered already.\n"
-msgstr "Файл `%s' уже был обработан.\n"
+msgid "File '%s' was considered already.\n"
+msgstr "Файл «%s» уже был обработан.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
-msgid "Still updating file `%s'.\n"
-msgstr "Файл `%s' обновлÑетÑÑ Ð² данный момент.\n"
+msgid "Still updating file '%s'.\n"
+msgstr "Файл «%s» обновлÑетÑÑ Ð² данный момент.\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
-msgid "Finished updating file `%s'.\n"
-msgstr "Обновление файла `%s' завершено.\n"
+msgid "Finished updating file '%s'.\n"
+msgstr "Обновление файла «%s» завершено.\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
-msgid "File `%s' does not exist.\n"
-msgstr "Файл `%s' не ÑущеÑтвует.\n"
+msgid "File '%s' does not exist.\n"
+msgstr "Файл «%s» не ÑущеÑтвует.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-"*** Предупреждение: у файла `%s' параметр .LOW_RESOLUTION_TIME Ñодержит "
-"метку времени Ñ Ð²Ñ‹Ñокой точноÑтью"
+"*** Предупреждение: у файла «%s» параметр LOW_RESOLUTION_TIME Ñодержит метку "
+"времени Ñ Ð²Ñ‹Ñокой точноÑтью"
-#: remake.c:494 remake.c:1016
+#: remake.c:508 remake.c:1040
#, c-format
-msgid "Found an implicit rule for `%s'.\n"
-msgstr "Ðайдено неÑвное правило Ð´Ð»Ñ `%s'.\n"
+msgid "Found an implicit rule for '%s'.\n"
+msgstr "Ðайдено неÑвное правило Ð´Ð»Ñ Â«%s».\n"
-#: remake.c:496 remake.c:1018
+#: remake.c:510 remake.c:1042
#, c-format
-msgid "No implicit rule found for `%s'.\n"
-msgstr "Ðе найдено неÑвного правила Ð´Ð»Ñ `%s'.\n"
+msgid "No implicit rule found for '%s'.\n"
+msgstr "Ðе найдено неÑвного правила Ð´Ð»Ñ Â«%s».\n"
-#: remake.c:502
+#: remake.c:516
#, c-format
-msgid "Using default recipe for `%s'.\n"
-msgstr "ИÑпользование ÑпоÑоба по умолчанию Ð´Ð»Ñ `%s'.\n"
+msgid "Using default recipe for '%s'.\n"
+msgstr "ИÑпользование ÑпоÑоба по умолчанию Ð´Ð»Ñ Â«%s».\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "ЦикличеÑÐºÐ°Ñ Ð·Ð°Ð²Ð¸ÑимоÑÑ‚ÑŒ %s <- %s пропущена."
-#: remake.c:651
+#: remake.c:675
#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
-msgstr "Обновление целей, от которых завиÑит целевой файл `%s', завершено.\n"
+msgid "Finished prerequisites of target file '%s'.\n"
+msgstr "Обновление целей, от которых завиÑит целевой файл «%s», завершено.\n"
-#: remake.c:657
+#: remake.c:681
#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
-msgstr "Цели, от которых завиÑит `%s', в наÑтоÑщий момент ÑобираютÑÑ.\n"
+msgid "The prerequisites of '%s' are being made.\n"
+msgstr "Цели, от которых завиÑит «%s», в наÑтоÑщий момент ÑобираютÑÑ.\n"
-#: remake.c:670
+#: remake.c:695
#, c-format
-msgid "Giving up on target file `%s'.\n"
-msgstr "Ðварийный оÑтанов на целевом файле `%s'.\n"
+msgid "Giving up on target file '%s'.\n"
+msgstr "Ðварийный оÑтанов на целевом файле «%s».\n"
-#: remake.c:675
+#: remake.c:700
#, c-format
-msgid "Target `%s' not remade because of errors."
-msgstr "Цель `%s' не была переÑобрана из-за ошибок."
+msgid "Target '%s' not remade because of errors."
+msgstr "Цель «%s» не была переÑобрана из-за ошибок."
-#: remake.c:727
+#: remake.c:752
#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
-msgstr "ЗавиÑимоÑÑ‚ÑŒ `%s' только Ð´Ð»Ñ Ñ†ÐµÐ»Ð¸ `%s'.\n"
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
+msgstr "ЗавиÑимоÑÑ‚ÑŒ «%s» Ð´Ð»Ñ Ñ†ÐµÐ»Ð¸ «%s» завиÑит от порÑдка.\n"
-#: remake.c:732
+#: remake.c:757
#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
-msgstr "ЗавиÑимоÑÑ‚ÑŒ `%s' цели `%s' не ÑущеÑтвует.\n"
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
+msgstr "ЗавиÑимоÑÑ‚ÑŒ «%s» цели «%s» не ÑущеÑтвует.\n"
-#: remake.c:737
+#: remake.c:762
#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
-msgstr "ЗавиÑимоÑÑ‚ÑŒ `%s' новее, чем цель `%s'.\n"
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
+msgstr "ЗавиÑимоÑÑ‚ÑŒ «%s» новее, чем цель «%s».\n"
-#: remake.c:740
+#: remake.c:765
#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
-msgstr "ЗавиÑимоÑÑ‚ÑŒ `%s' Ñтарее, чем цель `%s'.\n"
+msgid "Prerequisite '%s' is older than target '%s'.\n"
+msgstr "ЗавиÑимоÑÑ‚ÑŒ «%s» Ñтарее, чем цель «%s».\n"
-#: remake.c:758
+#: remake.c:783
#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
-msgstr "Цель `%s' объÑвлена Ñ Ð´Ð²ÑƒÐ¼Ñ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸Ñми и не имеет завиÑимоÑтей.\n"
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
+msgstr "Цель «%s» объÑвлена Ñ Ð´Ð²ÑƒÐ¼Ñ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸Ñми и не имеет завиÑимоÑтей.\n"
-#: remake.c:765
+#: remake.c:790
#, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
-msgstr "СпоÑоб Ð´Ð»Ñ `%s' не задан, и начальные уÑÐ»Ð¾Ð²Ð¸Ñ Ð½Ðµ изменены.\n"
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
+msgstr "СпоÑоб Ð´Ð»Ñ Â«%s» не задан, и начальные уÑÐ»Ð¾Ð²Ð¸Ñ Ð½Ðµ изменены.\n"
-#: remake.c:770
+#: remake.c:795
#, c-format
-msgid "Making `%s' due to always-make flag.\n"
-msgstr "ПереÑборка `%s' из-за уÑтановленного ключа always-make.\n"
+msgid "Making '%s' due to always-make flag.\n"
+msgstr "ПереÑборка «%s» из-за уÑтановленного флага always-make.\n"
-#: remake.c:778
+#: remake.c:803
#, c-format
-msgid "No need to remake target `%s'"
-msgstr "Ðет необходимоÑти переÑобирать цель `%s'."
+msgid "No need to remake target '%s'"
+msgstr "Ðет необходимоÑти переÑобирать цель «%s»"
-#: remake.c:780
+#: remake.c:805
#, c-format
-msgid "; using VPATH name `%s'"
-msgstr "; иÑпользуетÑÑ VPATH-Ð¸Ð¼Ñ `%s'"
+msgid "; using VPATH name '%s'"
+msgstr "; иÑпользуетÑÑ VPATH-Ð¸Ð¼Ñ Â«%s»"
-#: remake.c:800
+#: remake.c:825
#, c-format
-msgid "Must remake target `%s'.\n"
-msgstr "Ðеобходимо переÑобрать цель `%s'.\n"
+msgid "Must remake target '%s'.\n"
+msgstr "Ðеобходимо переÑобрать цель «%s».\n"
-#: remake.c:806
+#: remake.c:831
#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
-msgstr " ИгнорируетÑÑ VPATH-Ð¸Ð¼Ñ `%s'.\n"
+msgid " Ignoring VPATH name '%s'.\n"
+msgstr " ИгнорируетÑÑ VPATH-Ð¸Ð¼Ñ Â«%s».\n"
-#: remake.c:815
+#: remake.c:840
#, c-format
-msgid "Recipe of `%s' is being run.\n"
-msgstr "Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÑетÑÑ ÑпоÑоб `%s'.\n"
+msgid "Recipe of '%s' is being run.\n"
+msgstr "Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÑетÑÑ ÑпоÑоб «%s».\n"
-#: remake.c:822
+#: remake.c:847
#, c-format
-msgid "Failed to remake target file `%s'.\n"
-msgstr "Ðе удалоÑÑŒ переÑоздать файл цели `%s'.\n"
+msgid "Failed to remake target file '%s'.\n"
+msgstr "Ðе удалоÑÑŒ переÑоздать файл цели «%s».\n"
-#: remake.c:825
+#: remake.c:850
#, c-format
-msgid "Successfully remade target file `%s'.\n"
-msgstr "Целевой файл `%s' уÑпешно переÑоздан.\n"
+msgid "Successfully remade target file '%s'.\n"
+msgstr "Целевой файл «%s» уÑпешно переÑоздан.\n"
-#: remake.c:828
+#: remake.c:853
#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
-msgstr "Целевой файл `%s' требует переÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ -q.\n"
+msgid "Target file '%s' needs to be remade under -q.\n"
+msgstr "Целевой файл «%s» требует переÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ -q.\n"
-#: remake.c:1024
+#: remake.c:1048
#, c-format
-msgid "Using default commands for `%s'.\n"
-msgstr "ИÑпользование команд по умолчанию Ð´Ð»Ñ `%s'.\n"
+msgid "Using default commands for '%s'.\n"
+msgstr "ИÑпользование команд по умолчанию Ð´Ð»Ñ Â«%s».\n"
-#: remake.c:1357
+#: remake.c:1397
#, c-format
-msgid "Warning: File `%s' has modification time in the future"
-msgstr "Предупреждение: Ð’Ñ€ÐµÐ¼Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° `%s' находитÑÑ Ð² будущем"
+msgid "Warning: File '%s' has modification time in the future"
+msgstr "Предупреждение: Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° «%s» находитÑÑ Ð² будущем"
-#: remake.c:1370
+#: remake.c:1411
#, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
-msgstr "Предупреждение: Ð’Ñ€ÐµÐ¼Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° `%s' находитÑÑ Ð² будущем (%s)"
+msgid "Warning: File '%s' has modification time %s s in the future"
+msgstr "Предупреждение: Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° «%s» находитÑÑ Ð² будущем (%s)"
-#: remake.c:1569
+#: remake.c:1610
#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
-msgstr "Элемент .LIBPATTERNS `%s' не ÑвлÑетÑÑ Ð¾Ð±Ñ€Ð°Ð·Ñ†Ð¾Ð¼"
+msgid ".LIBPATTERNS element '%s' is not a pattern"
+msgstr "Элемент .LIBPATTERNS «%s» не ÑвлÑетÑÑ Ð¾Ð±Ñ€Ð°Ð·Ñ†Ð¾Ð¼"
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
msgstr "Ðе ÑкÑпортируемые наÑтройки: %s\n"
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1630,7 +1817,7 @@ msgstr ""
"\n"
"# ÐеÑвные правила"
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1638,7 +1825,7 @@ msgstr ""
"\n"
"# ÐеÑвных правил нет."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1647,245 +1834,268 @@ msgstr ""
"\n"
"# ÐеÑвных правил: %u, терминальных: %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
msgstr " терминал."
-#: rule.c:534
+#: rule.c:530
#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "ОШИБКÐ: неверное значение num_pattern_rules! %u != %u"
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
msgstr "неизвеÑтный Ñигнал"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
msgstr "Обрыв терминальной линии"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
msgstr "Прерывание"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
msgstr "Ðварийное прерывание"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
msgstr "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¸Ð½ÑтрукциÑ"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
msgstr "Прерывание на контрольной точке"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr "Прервано"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
msgstr "Ошибка IOT"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
msgstr "Ошибка ÑмулÑции"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
msgstr "Ошибка операции Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
msgstr "Уничтожение"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
msgstr "Ðеверное обращение к памÑти"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
msgstr "Ðарушение прав доÑтупа к памÑти"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
msgstr "Ðеправильный ÑиÑтемный вызов"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
msgstr "Обрыв канала"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr "Сигнал по таймеру"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
msgstr "Завершение"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
msgstr "ОпределÑемый пользователем Ñигнал 1"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
msgstr "ОпределÑемый пользователем Ñигнал 2"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
msgstr "Потомок завершил работу"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
msgstr "Отказ питаниÑ"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr "ОÑтанов"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
msgstr "ОÑтанов (ввод Ñ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð»Ð°) "
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
msgstr "ОÑтанов (вывод на терминал)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
msgstr "ОÑтанов (Ñигнал)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
msgstr "Превышен предел процеÑÑорного времени"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
msgstr "Превышен предел размера файла"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
msgstr "Виртуальное Ð²Ñ€ÐµÐ¼Ñ Ð¸Ñтекло"
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ñтекло"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
msgstr "Окно изменено"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
msgstr "Возобновление"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
msgstr "УÑÐ»Ð¾Ð²Ð¸Ñ ÑкÑтренного ввода/вывода"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
msgstr "Возможен ввод/вывод"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr "РеÑÑƒÑ€Ñ Ð¿Ð¾Ñ‚ÐµÑ€Ñн"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
msgstr "Сигнал опаÑноÑти"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
msgstr "СопроцеÑÑор Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой недоÑтупен"
-#: strcache.c:235
+#: strcache.c:236
#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s No strcache buffers\n"
msgstr ""
"\n"
-"%s # Ñтрок в strcache: %d / lookups = %lu / hits = %lu\n"
+"%s без буферов strcache\n"
-#: strcache.c:237
+#: strcache.c:266
#, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
-msgstr "%s # буферов strcache: %d (* %d B/buffer = %d B)\n"
+msgid ""
+"\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
+msgstr ""
+"\n"
+"%s буферы strcache: %lu (%lu) / Ñтрок = %lu / хранилище = %lu Б / Ñред = %lu "
+"Б\n"
+
+#: strcache.c:270
+#, c-format
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
+msgstr ""
+"%s текущий buf: размер = %hu Б / иÑпользуетÑÑ = %hu Б / кол-во = %hu / Ñред "
+"= %hu Б\n"
-#: strcache.c:239
+#: strcache.c:280
#, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
msgstr ""
-"%s размер strcache: вÑего = %d (%d) / Ð¼Ð°ÐºÑ = %d / мин = %d / Ñред = %d\n"
+"%s Ð´Ð»Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ иÑпользуетÑÑ: вÑего = %lu Б / кол-во = %lu / Ñред = %lu Б\n"
-#: strcache.c:241
+#: strcache.c:283
#, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid ""
+"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
msgstr ""
-"%s Ñвободно в strcache: вÑего = %d (%d) / Ð¼Ð°ÐºÑ = %d / мин = %d / Ñред = %d\n"
+"%s Ð´Ð»Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ Ñвободно: вÑего = %lu Б / макÑ. = %lu Б / мин. = %lu Б / "
+"Ñред. = %hu Б\n"
-#: strcache.c:244
+#: strcache.c:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
-"# "
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
msgstr ""
"\n"
-"# ÑоÑтоÑние хеш-таблицы strcache:\n"
+"%s производительноÑÑ‚ÑŒ strcache: поиÑков = %lu / найдено = %lu%%\n"
+
+#: strcache.c:289
+msgid ""
+"# hash-table stats:\n"
+"# "
+msgstr ""
+"# ÑоÑтоÑние хеш-таблицы:\n"
"# "
-#: variable.c:1541
+#: variable.c:1599
+msgid "automatic"
+msgstr "автоматичеÑкаÑ"
+
+#: variable.c:1602
msgid "default"
msgstr "по умолчанию"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
msgstr "определена в Ñреде"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
-msgstr "Make-файл"
+msgstr "make-файл"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
-msgstr "задан ключ -e"
+msgstr "окружение Ñ -e"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
msgstr "определена в командной Ñтроке"
-#: variable.c:1556
-msgid "`override' directive"
-msgstr "Директива `override'"
-
-#: variable.c:1559
-msgid "automatic"
-msgstr "автоматичеÑкаÑ"
+#: variable.c:1617
+msgid "'override' directive"
+msgstr "Директива «override»"
-#: variable.c:1570
+#: variable.c:1628
#, c-format
-msgid " (from `%s', line %lu)"
-msgstr " (из `%s', Ñтрока %lu)"
+msgid " (from '%s', line %lu)"
+msgstr " (из «%s», Ñтрока %lu)"
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# ÑоÑтоÑние переменных в хеш-таблице:\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -1893,7 +2103,7 @@ msgstr ""
"\n"
"# Переменные\n"
-#: variable.c:1627
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -1901,7 +2111,7 @@ msgstr ""
"\n"
"# Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ… оÑобенные Ð´Ð»Ñ Ð¼Ð°Ñки"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -1909,7 +2119,7 @@ msgstr ""
"\n"
"# Ðет значений переменных оÑобенных Ð´Ð»Ñ Ð¼Ð°Ñки."
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -1918,94 +2128,99 @@ msgstr ""
"\n"
"# %u значений переменных оÑобенных Ð´Ð»Ñ Ð¼Ð°Ñки"
-#: variable.h:219
+#: variable.h:224
#, c-format
-msgid "warning: undefined variable `%.*s'"
-msgstr "предупреждение: Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ `%.*s'"
+msgid "warning: undefined variable '%.*s'"
+msgstr "предупреждение: Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Â«%.*s»"
-#: vmsfunctions.c:92
+#: vmsfunctions.c:91
#, c-format
msgid "sys$search() failed with %d\n"
msgstr "sys$search() вернула код ошибки %d\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Предупреждение: ПуÑтое перенаправление\n"
-#: vmsjobs.c:184
+#: vmsjobs.c:183
#, c-format
-msgid "internal error: `%s' command_state"
-msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: `%s' command_state"
+msgid "internal error: '%s' command_state"
+msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: «%s» command_state"
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
"-предупреждение, возможно вам потребуетÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ разрешить\n"
"обработку CTRL-Y из DCL.\n"
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "ВСТРОЕÐÐЫЙ [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "ВСТРОЕÐÐЫЙ CD %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "ВСТРОЕÐÐЫЙ RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "ВСТРОЕÐÐЫЙ CD %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð²ÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° '%s'\n"
-#: vmsjobs.c:493
+#: 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:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Стандартный ввод перенаправлен из %s\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Поток ошибок перенаправлен в %s\n"
-#: vmsjobs.c:523
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
msgstr "Стандартный вывод добавлен в %s\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Стандартный вывод перенаправлен в %s\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr "Добавить %.*s и очиÑтить\n"
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "ВмеÑто заданного выполнÑетÑÑ %s\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Ошибка Ð¿Ð¾Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑа, %d\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
@@ -2013,37 +2228,79 @@ msgstr ""
"\n"
"# Пути поиÑка VPATH\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
-msgstr "# Ðе определён путь поиÑка `vpath'."
+#: vpath.c:600
+msgid "# No 'vpath' search paths."
+msgstr "# Ðе определён путь поиÑка «vpath»."
-#: vpath.c:605
+#: vpath.c:602
#, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
-"# %u путей поиÑка по `vpath'\n"
+"# %u путей поиÑка по «vpath»\n"
-#: vpath.c:608
+#: vpath.c:605
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
-"# Ðе определён общий (Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ `VPATH') путь поиÑка."
+"# Ðе определён общий (Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Â«VPATH») путь поиÑка."
-#: vpath.c:614
+#: vpath.c:611
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
-"# Общий (Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ `VPATH') путь поиÑка:\n"
+"# Общий (Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Â«VPATH») путь поиÑка:\n"
"# "
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: неÑколько ключей --sync-mutex"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: неÑколько ключей --jobserver-fds"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "закончилаÑÑŒ Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð°Ð¼ÑÑ‚ÑŒ"
+
+#~ msgid "write error"
+#~ msgstr "ошибка запиÑи"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "ВСТРОЕÐÐЫЙ RM %s\n"
+
+#~ msgid "# Invalid value in 'update_status' member!"
+#~ msgstr "# Ðеверное значение члена «update_status»!"
+
+#~ msgid "unknown trace mode '%s'"
+#~ msgstr "неизвеÑтный режим траÑÑировки «%s»"
+
+#~ msgid "*** [%s] Error 0x%x (ignored)"
+#~ msgstr "*** [%s] Ошибка 0x%x (игнорирована)"
+
+#~ msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
+#~ msgstr "ПрименÑетÑÑ ÑпоÑоб из %s:%lu Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ†ÐµÐ»Ð¸ `%s'.\n"
+
+#~ msgid "Invoking builtin recipe to update target `%s'.\n"
+#~ msgstr "ВыполнÑетÑÑ Ð²Ñтроенный ÑпоÑоб Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ†ÐµÐ»Ð¸ `%s'.\n"
+
+#~ msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+#~ msgstr "%s # буферов strcache: %d (* %d B/buffer = %d B)\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "# strcache hash-table stats:\n"
+#~ "# "
+#~ msgstr ""
+#~ "\n"
+#~ "# ÑоÑтоÑние хеш-таблицы strcache:\n"
+#~ "# "
+
#~ msgid "process_easy() failed failed to launch process (e=%ld)\n"
#~ msgstr "process_easy() не Ñмогла запуÑтить процеÑÑ (e=%ld)\n"
diff --git a/po/sv.gmo b/po/sv.gmo
index ec5fbf5b..4f9b3056 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index d183e013..4545ab32 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,123 +1,131 @@
# Swedish messages translation of make
-# Copyright (C) 2002 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 <tg@df.lth.se>, 1996-2002.
# Christer Andersson <klamm@comhem.se>, 2007.
+# Göran Uddeborg <goeran@uddeborg.se>, 2011, 2013.
#
+# $Id: make.po,v 1.14 2013-10-09 21:33:42+02 göran Exp $
msgid ""
msgstr ""
-"Project-Id-Version: make 3.81\n"
+"Project-Id-Version: make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-0400\n"
-"PO-Revision-Date: 2007-12-19 11:50+0100\n"
-"Last-Translator: Christer Andersson <klamm@comhem.se>\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 <goeran@uddeborg.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
+"Language: sv\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ar.c:48
+#: ar.c:46
#, c-format
-msgid "attempt to use unsupported feature: `%s'"
-msgstr "försök att använda en funktion som inte stöds: \"%s\""
+msgid "attempt to use unsupported feature: '%s'"
+msgstr "försök att använda en funktion som inte stöds: â€%sâ€"
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
-msgstr "nydatering av arkivmedlem är inte tillgängligt i VMS"
+msgstr "att nudda en arkivmedlem är inte tillgängligt i VMS"
-#: ar.c:149
+#: ar.c:147
#, c-format
-msgid "touch: Archive `%s' does not exist"
-msgstr "nydatera: Arkivet \"%s\" finns inte"
+msgid "touch: Archive '%s' does not exist"
+msgstr "nudda: Arkivet â€%s†finns inte"
-#: ar.c:152
+#: ar.c:150
#, c-format
-msgid "touch: `%s' is not a valid archive"
-msgstr "nydatera: \"%s\" är inte något giltigt arkiv"
+msgid "touch: '%s' is not a valid archive"
+msgstr "nudda: â€%s†är inte nÃ¥got giltigt arkiv"
-#: ar.c:159
+#: ar.c:157
#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
-msgstr "nydatera: medlemmen \"%s\" finns inte i \"%s\""
+msgid "touch: Member '%s' does not exist in '%s'"
+msgstr "nudda: medlemmen â€%s†finns inte i â€%sâ€"
-#: ar.c:166
+#: ar.c:164
#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
-msgstr "nydatera: Felaktig returkod från ar_member_touch på \"%s\""
+msgid "touch: Bad return code from ar_member_touch on '%s'"
+msgstr "nudda: Felaktig returkod frÃ¥n ar_member_touch pÃ¥ â€%sâ€"
-#: arscan.c:69
-#, fuzzy, c-format
+#: 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"
+"lbr$set_module() misslyckades med att extrahera modulinformation, status = %d"
-#: arscan.c:175
-#, fuzzy, c-format
+#: arscan.c:230
+#, c-format
msgid "lbr$ini_control() failed with status = %d"
-msgstr "lbr$ini_control misslyckades och gav status = %d"
+msgstr "lbr$ini_control() misslyckades och gav status = %d"
-#: arscan.c:187
-#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
-msgstr "kan inte öppna biblioteket \"%s\" för att slå upp medlemmen \"%s\""
+#: 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 medlemmen â€%sâ€"
-#: arscan.c:850
+#: 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"
+msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
+msgstr "Medlem â€%sâ€%s: %ld byte vid %ld (%ld).\n"
-#: arscan.c:851
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (namnet kan vara avkortat)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Datum %s"
-#: arscan.c:854
+#: 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:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr "Receptet har för många rader (%ud)"
+
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Avbrott.\n"
-#: commands.c:622
+#: commands.c:629
#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
-msgstr "*** [%s] Arkivmedlemmen \"%s\" kan vara felaktig; ej borttagen"
+msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
+msgstr "*** [%s] Arkivmedlemmen â€%s†kan vara felaktig; ej borttagen"
-#: commands.c:625
+#: commands.c:633
#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
-msgstr "*** Arkivmedlemmen \"%s\" kan vara felaktig; ej borttagen"
+msgid "*** Archive member '%s' may be bogus; not deleted"
+msgstr "*** Arkivmedlemmen â€%s†kan vara felaktig; ej borttagen"
-#: commands.c:638
+#: commands.c:647
#, c-format
-msgid "*** [%s] Deleting file `%s'"
-msgstr "*** [%s] Tar bort filen \"%s\""
+msgid "*** [%s] Deleting file '%s'"
+msgstr "*** [%s] Tar bort filen â€%sâ€"
-#: commands.c:640
+#: commands.c:649
#, c-format
-msgid "*** Deleting file `%s'"
-msgstr "*** Tar bort filen \"%s\""
+msgid "*** Deleting file '%s'"
+msgstr "*** Tar bort filen â€%sâ€"
-#: commands.c:676
-#, fuzzy
+#: commands.c:685
msgid "# recipe to execute"
-msgstr "# kommandon att utföra"
+msgstr "# recept att utföra"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
msgstr " (inbyggd):"
-#: commands.c:681
+#: commands.c:690
#, c-format
-msgid " (from `%s', line %lu):\n"
-msgstr " (från \"%s\", rad %lu):\n"
+msgid " (from '%s', line %lu):\n"
+msgstr " (frÃ¥n â€%sâ€, rad %lu):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -125,225 +133,221 @@ msgstr ""
"\n"
"# Kataloger\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
msgstr "# %s: kunde inte ta status.\n"
-#: dir.c:1012
+#: 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"
+msgstr "# %s (nyckel %s, mtid %d): kunde inte öppnas.\n"
-#: dir.c:1016
+#: 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"
+msgstr "# %s (enhet %d, inod [%d,%d,%d]): kunde inte öppnas.\n"
-#: dir.c:1021
+#: 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"
+msgstr "# %s (enhet %ld, inod %ld): kunde inte öppnas.\n"
-#: dir.c:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
msgstr "# %s (nyckel %s, mtid %d): "
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
msgstr "# %s (enhet %d, inod [%d,%d,%d]): "
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
msgstr "# %s (enhet %ld, inod %ld): "
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "Inga"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr " filer, "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "inga"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
-msgstr " omöjligheter"
+msgstr " omöjligheter"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
msgstr " hittills."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
-msgstr " omöjligheter i %lu kataloger.\n"
+msgstr " omöjligheter i %lu kataloger.\n"
-#: expand.c:127
+#: expand.c:125
#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
-msgstr "Den rekursiva variabeln \"%s\" hänvisar till sig själv (så småningom)"
+msgid "Recursive variable '%s' references itself (eventually)"
+msgstr "Den rekursiva variabeln â€%s†hänvisar till sig själv (sÃ¥ smÃ¥ningom)"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
msgstr "oavslutad variabelreferens"
-#: file.c:267
-#, fuzzy, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
-msgstr "Kommandon angavs för filen \"%s\" på %s:%lu,"
+#: 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:272
-#, fuzzy, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
-msgstr "Kommandon för filen \"%s\" hittades genom sökning med implicit regel,"
+#: 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:275
+#: 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\"."
+msgid "but '%s' is now considered the same file as '%s'."
+msgstr "men â€%s†anses nu vara samma fil som â€%sâ€."
-#: file.c:278
-#, fuzzy, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
+#: 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 kommandon för \"%s\" till förmån för dem som gäller "
-"\"%s\"."
+"Kommer att bortse frÃ¥n recept för â€%s†till förmÃ¥n för det som gäller â€%sâ€."
-#: file.c:298
+#: 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\""
+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:303
+#: 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\""
+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:392
+#: file.c:401
#, c-format
-msgid "*** Deleting intermediate file `%s'"
-msgstr "*** Tar bort övergångsfilen \"%s\""
+msgid "*** Deleting intermediate file '%s'"
+msgstr "*** Tar bort mellanfilen â€%sâ€"
-#: file.c:396
+#: file.c:405
msgid "Removing intermediate files...\n"
-msgstr "Tar bort övergångsfiler...\n"
-
-#: file.c:803
-#, c-format
-msgid "%s: Timestamp out of range; substituting %s"
-msgstr "%s: Tidsvärde utanför gränser; ersätter med %s"
+msgstr "Tar bort mellanfiler …\n"
-#: file.c:804
+#: file.c:811
msgid "Current time"
msgstr "Nuvarande tid"
-#: file.c:924
+#: 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:955
msgid "# Not a target:"
-msgstr "# Inte ett mål:"
+msgstr "# Inte ett mål:"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
-msgstr "# Värdefull fil (nödvändig för .PRECIOUS)."
+msgstr "# Värdefull fil (nödvändig för .PRECIOUS)."
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
-msgstr "# Låtsasmål (nödvändig för .PHONY)."
+msgstr "# Låtsasmål (nödvändig för .PHONY)."
-#: file.c:933
-#, fuzzy
+#: file.c:964
msgid "# Command line target."
-msgstr "# Kommandoradsmål."
+msgstr "# Kommandoradsmål."
-#: file.c:935
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr ""
"# En standardmakefil, eller enligt MAKEFILES, eller en -include/sinclude-"
"makefil."
-#: file.c:937
+#: file.c:968
+msgid "# Builtin rule"
+msgstr "# Inbyggd regel"
+
+#: file.c:970
msgid "# Implicit rule search has been done."
-msgstr "# Implicit regelsökning har genomförts."
+msgstr "# Implicit regelsökning har genomförts."
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
-msgstr "# Implicit regelsökning har inte genomförts."
+msgstr "# Implicit regelsökning har inte genomförts."
-#: file.c:940
+#: file.c:973
#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
-msgstr "# Implicit/statisk mönsterstam: \"%s\"\n"
+msgid "# Implicit/static pattern stem: '%s'\n"
+msgstr "# Implicit/statisk mönsterstam: â€%sâ€\n"
-#: file.c:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
-msgstr "# Filen är ett övergående beroende."
+msgstr "# Filen är ett övergående beroende."
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
-msgstr "# Skapar också:"
+msgstr "# Skapar också:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
-msgstr "# Ändringstiden har inte kontrollerats."
+msgstr "# Ändringstiden har inte kontrollerats."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
msgstr "# Filen finns inte."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
-msgstr "# Filen är mycket gammal."
+msgstr "# Filen är mycket gammal."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
-msgstr "# Senast ändrad %s\n"
+msgstr "# Senast ändrad %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
msgstr "# Filen har uppdaterats."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Filen har inte uppdaterats."
-#: file.c:968
-#, fuzzy
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
-msgstr "# Kommandokörning pågår (DETTA ÄR ETT FEL)."
+msgstr "# Recept körs just nu (DETTA ÄR ETT FEL)."
-#: file.c:971
-#, fuzzy
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
-msgstr "# Beroendekommandon körs (DETTA ÄR ETT FEL)."
+msgstr "# Beroenderecept körs (DETTA ÄR ETT FEL)."
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Uppdateringen lyckades."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
-msgstr "# Behöver uppdateras (-q har angivits)."
+msgstr "# Behöver uppdateras (-q har angivits)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Uppdateringen misslyckades."
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# Ogiltigt värde i medlem av \"update_status\"!"
+#: file.c:1025
+msgid "# Invalid value in 'command_state' member!"
+msgstr "# Ogiltigt värde i medlemmen â€command_stateâ€!"
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
-msgstr "# Ogiltigt värde i medlem av \"command_state\"!"
-
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -351,131 +355,185 @@ msgstr ""
"\n"
"# Filer"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
"\n"
-"# statistik för filhashtabell:\n"
+"# statistik för filhashtabell:\n"
"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
-msgstr "icke-numeriskt första argument till funktionen \"word\""
-
-#: function.c:763
-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"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr "%s: Fältet â€%s†cachas inte: %s"
-#: function.c:783
-msgid "non-numeric first argument to `wordlist' function"
-msgstr "icke-numeriskt första argument till funktionen \"wordlist\""
+#: function.c:780
+msgid "non-numeric first argument to 'word' function"
+msgstr "icke-numeriskt första argument till funktionen â€wordâ€"
#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
-msgstr "icke-numeriskt andra argument till funktionen \"wordlist\""
+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:1458
-#, fuzzy, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
-msgstr "create_child_process: DuplicateHandle(In) misslyckades (e=%ld)\n"
+#: function.c:805
+msgid "non-numeric first argument to 'wordlist' function"
+msgstr "icke-numeriskt första argument till funktionen â€wordlistâ€"
-#: function.c:1469
-#, fuzzy, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr "create_child_process: DuplicateHandle(Fel) misslyckades (e=%ld)\n"
+#: function.c:807
+msgid "non-numeric second argument to 'wordlist' function"
+msgstr "icke-numeriskt andra argument till funktionen â€wordlistâ€"
+
+#: 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:1474
+#: 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:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() misslyckades (e=%ld)\n"
-#: function.c:1479
-#, fuzzy
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
-msgstr "windows32_openpipe (): process_init_fd() misslyckades\n"
+msgstr "windows32_openpipe(): process_init_fd() misslyckades\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
-msgstr "Städar bort tillfällig omgångsfil %s\n"
+msgstr "Städar bort tillfällig satsfil %s\n"
+
+#: function.c:2193
+#, c-format
+msgid "open: %s: %s"
+msgstr "öppna: %s: %s"
+
+#: function.c:2203
+#, c-format
+msgid "write: %s: %s"
+msgstr "skriv: %s: %s"
+
+#: function.c:2209
+#, c-format
+msgid "Invalid file operation: %s"
+msgstr "Felaktig filåtgärd: %s"
-#: function.c:2150
+#: function.c:2324
#, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
-msgstr "otillräckligt antal argument (%d) till funktionen \"%s\""
+msgid "insufficient number of arguments (%d) to function '%s'"
+msgstr "otillräckligt antal argument (%d) till funktionen â€%sâ€"
-#: function.c:2162
+#: function.c:2336
#, c-format
-msgid "unimplemented on this platform: function `%s'"
-msgstr "ej implementerat på denna plattform: funktionen \"%s\""
+msgid "unimplemented on this platform: function '%s'"
+msgstr "ej implementerat pÃ¥ denna plattform: funktionen â€%sâ€"
-#: function.c:2212
+#: function.c:2399
#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
-msgstr "oavslutat funktionsanrop \"%s\": \"%c\" saknas"
+msgid "unterminated call to function '%s': missing '%c'"
+msgstr "oavslutat funktionsanrop â€%sâ€: â€%c†saknas"
+
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "Tomt funktionsnamn\n"
+
+#: function.c:2593
+#, fuzzy, c-format
+msgid "Invalid function name: %s"
+msgstr "Felaktigt funktionsnamn: %s\n"
+
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
+msgstr "Funktionsnamnet är för långt: %s\n"
+
+#: 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:661
+#: getopt.c:659
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: flaggan \"%s\" är tvetydig\n"
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: flaggan â€%s†är tvetydig\n"
-#: getopt.c:685
+#: getopt.c:683
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: flaggan \"--%s\" tar inget argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: flaggan â€--%s†tar inget argument\n"
-#: getopt.c:690
+#: getopt.c:688
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: flaggan \"%c%s\" tar inget argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: flaggan â€%c%s†tar inget argument\n"
-#: getopt.c:707 getopt.c:880
+#: getopt.c:705 getopt.c:878
#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: flaggan \"%s\" kräver ett argument\n"
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s: flaggan â€%s†kräver ett argument\n"
-#: getopt.c:736
+#: getopt.c:734
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: okänd flagga \"--%s\"\n"
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: okänd flagga â€--%sâ€\n"
-#: getopt.c:740
+#: getopt.c:738
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: okänd flagga \"%c%s\"\n"
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: okänd flagga â€%c%sâ€\n"
-#: getopt.c:766
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
-msgstr "%s: otillåten flagga -- %c\n"
+msgstr "%s: otillåten flagga -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: ogiltig flagga -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: flaggan kräver ett argument -- %c\n"
+msgstr "%s: flaggan kräver ett argument -- %c\n"
+
+#: getopt.c:844
+#, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: flaggan â€-W %s†är tvetydig\n"
-#: getopt.c:846
+#: getopt.c:862
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: flaggan \"-W %s\" är tvetydig\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s: flaggan â€-W %s†tar inget argument\n"
-#: getopt.c:864
+#: guile.c:58
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: flaggan \"-W %s\" tar inget argument\n"
+msgid "guile: Expanding '%s'\n"
+msgstr "guile: Expanderar â€%sâ€\n"
+
+#: guile.c:74
+#, c-format
+msgid "guile: Evaluating '%s'\n"
+msgstr "guile: Evaluerar â€%sâ€\n"
#: hash.c:49
-#, fuzzy, c-format
+#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
-msgstr "kan inte allokera %ld byte för hashtabell: minnet slut"
+msgstr "kan inte allokera %lu byte för hashtabell: minnet slut"
#: hash.c:280
#, c-format
@@ -492,411 +550,499 @@ msgstr "Omhash=%d, "
msgid "Collisions=%ld/%ld=%.0f%%"
msgstr "Kollisioner=%ld/%ld=%.0f%%"
-#: implicit.c:40
+#: implicit.c:38
#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
-msgstr "Letar efter en implicit regel för \"%s\".\n"
+msgid "Looking for an implicit rule for '%s'.\n"
+msgstr "Letar efter en implicit regel för â€%sâ€.\n"
-#: implicit.c:56
+#: implicit.c:54
#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
-msgstr "Letar efter en implicit regel för arkivmedlemmen \"%s\".\n"
+msgid "Looking for archive-member implicit rule for '%s'.\n"
+msgstr "Letar efter en implicit regel för arkivmedlemmen â€%sâ€.\n"
-#: implicit.c:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
msgstr "Undviker rekursion orsakad av implicit regel.\n"
+#: implicit.c:486
+#, c-format
+msgid "Stem too long: '%.*s'.\n"
+msgstr "Stammen är för lÃ¥ng: â€%.*sâ€.\n"
+
#: implicit.c:491
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
-msgstr "Prövar mönsterregel med stammen \"%.*s\".\n"
+msgid "Trying pattern rule with stem '%.*s'.\n"
+msgstr "Prövar mönsterregel med stammen â€%.*sâ€.\n"
-#: implicit.c:674
+#: implicit.c:697
#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
-msgstr "Avvisar det omöjliga regelbaserade beroendet \"%s\".\n"
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
+msgstr "Avvisar den omöjliga regelförutsättningen â€%sâ€.\n"
-#: implicit.c:675
+#: implicit.c:698
#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
-msgstr "Avvisar det omöjliga implicita beroendet \"%s\".\n"
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
+msgstr "Avvisar den omöjliga implicita förutsättningen â€%sâ€.\n"
-#: implicit.c:688
+#: implicit.c:711
#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
-msgstr "Prövar det regelbaserade beroendet \"%s\".\n"
+msgid "Trying rule prerequisite '%s'.\n"
+msgstr "Prövar det regelförutsättningen â€%sâ€.\n"
-#: implicit.c:689
+#: implicit.c:712
#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
-msgstr "Prövar det implicita beroendet \"%s\".\n"
+msgid "Trying implicit prerequisite '%s'.\n"
+msgstr "Prövar den implicita förutsättningen â€%sâ€.\n"
-#: implicit.c:728
+#: implicit.c:751
#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
-msgstr "Hittade den nödvändiga \"%s\" som VPATH \"%s\"\n"
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
+msgstr "Hittade förutsättningen â€%s†som VPATH â€%sâ€\n"
-#: implicit.c:742
+#: implicit.c:765
#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
-msgstr "Letar efter en regel med övergångsfilen \"%s\".\n"
+msgid "Looking for a rule with intermediate file '%s'.\n"
+msgstr "Letar efter en regel med mellanfilen â€%sâ€.\n"
-#: job.c:335
+#: job.c:361
msgid "Cannot create a temporary file\n"
-msgstr "Kan inte skapa en temporärfil\n"
+msgstr "Kan inte skapa en temporärfil\n"
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] Fel 0x%x (ignoreras)"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (minnesdump)"
-#: job.c:450
+#: job.c:488
+msgid " (ignored)"
+msgstr " (ignoreras)"
+
+#: job.c:492 job.c:2046
+msgid "<builtin>"
+msgstr "<inbyggd>"
+
+#: job.c:503
#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] Fel 0x%x"
+msgid "%s: recipe for target '%s' failed"
+msgstr "%s: receptet för mÃ¥let â€%s†misslyckades"
-#: job.c:454
+#: job.c:516 job.c:524
#, c-format
-msgid "[%s] Error %d (ignored)"
-msgstr "[%s] Fel %d (ignoreras)"
+msgid "%s[%s] Error %d%s"
+msgstr "%s[%s] Fel %d%s"
-#: job.c:455
+#: job.c:519
#, c-format
-msgid "*** [%s] Error %d"
-msgstr "*** [%s] Fel %d"
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Fel 0x%x%s"
-#: job.c:460
-msgid " (core dumped)"
-msgstr " (minnesdump)"
+#: job.c:529
+#, c-format
+msgid "%s[%s] %s%s%s"
+msgstr "%s[%s]: %s%s%s"
-#: job.c:549
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
-msgstr "*** Inväntar oavslutade jobb..."
+msgstr "*** Inväntar oavslutade jobb..."
-#: job.c:579
-#, fuzzy, c-format
+#: job.c:651
+#, c-format
msgid "Live child %p (%s) PID %s %s\n"
-msgstr "Levande barnprocess 0x%08lx (%s) PID %ld %s\n"
+msgstr "Levande barnprocess %p (%s) PID %s %s\n"
-#: job.c:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
-msgstr " (fjärr)"
+msgstr " (fjärr)"
-#: job.c:758
-#, fuzzy, c-format
+#: job.c:841
+#, c-format
msgid "Reaping losing child %p PID %s %s\n"
-msgstr "Inhöstar misslyckad barnprocess: 0x%08lx PID %ld %s\n"
+msgstr "Inhöstar misslyckad barnprocess: %p PID %s %s\n"
-#: job.c:759
-#, fuzzy, c-format
+#: job.c:842
+#, c-format
msgid "Reaping winning child %p PID %s %s\n"
-msgstr "Inhöstar lyckad barnprocess: 0x%08lx PID %ld %s\n"
+msgstr "Inhöstar lyckad barnprocess: %p PID %s %s\n"
-#: job.c:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
-msgstr "Städar bort tillfällig omgångsfil %s\n"
+msgstr "Städar bort tillfällig satsfil %s\n"
-#: job.c:861
-#, fuzzy, c-format
+#: 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:961
+#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
-msgstr "Tar bort barnprocessen 0x%08lx PID %ld%s från kedjan.\n"
+msgstr "Tar bort barnprocessen %p PID %s%s från kedjan.\n"
-#: job.c:920
-msgid "write jobserver"
-msgstr "skriver till jobbserver"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
+msgstr "släpp jobbserversemafor: (Fel %ld: %s)"
-#: job.c:922
-#, fuzzy, c-format
+#: job.c:1024 job.c:1038
+#, c-format
msgid "Released token for child %p (%s).\n"
-msgstr "Frigjorde symbol för barnprocessen 0x%08lx (%s).\n"
+msgstr "Frigjorde symbol för barnprocessen %p (%s).\n"
+
+#: job.c:1036
+msgid "write jobserver"
+msgstr "skriver till jobbserver"
-#: job.c:1453 job.c:2094
+#: 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:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
"\n"
-"Räknade till %d argument vid misslyckad start\n"
+"Räknade till %d argument vid misslyckad start\n"
-#: job.c:1525
-#, fuzzy, c-format
+#: job.c:1735
+#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
-msgstr "För upp barnprocessen 0x%08lx (%s) PID %ld%s på kedjan.\n"
+msgstr "För upp barnprocessen %p (%s) PID %s%s på kedjan.\n"
-#: job.c:1778
-#, fuzzy, c-format
+#: 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 0x%08lx (%s).\n"
+msgstr "Erhöll symbol för barnprocessen %p (%s).\n"
-#: job.c:1787
+#: job.c:2029
msgid "read jobs pipe"
-msgstr "läser från jobbledning"
+msgstr "läser från jobbledning"
-#: job.c:1798
+#: job.c:2056
#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr ""
+msgid "%s: target '%s' does not exist"
+msgstr "%s: mÃ¥let â€%s†finns inte"
-#: job.c:1802
-#, fuzzy, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "Målet \"%s\" behöver inte återskapas"
+#: 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:1910
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
-msgstr "kan inte upprätthålla lastbegränsningar i detta operativsystem"
+msgstr "kan inte upprätthålla lastbegränsningar i detta operativsystem"
-#: job.c:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
-msgstr "kan inte upprätthålla lastbegränsning: "
+msgstr "kan inte upprätthålla lastbegränsning: "
-#: job.c:1985
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
-msgstr "inga fler filhandtag: kunde inte duplicera stdin\n"
+msgstr "inga fler filhandtag: kunde inte duplicera standard in\n"
-#: job.c:1987
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
-msgstr "inga fler filhandtag: kunde inte duplicera stdout\n"
+msgstr "inga fler filhandtag: kunde inte duplicera standard ut\n"
+
+#: 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:2015
+#: job.c:2293
msgid "Could not restore stdin\n"
-msgstr "Kunde inte återställa stdin\n"
+msgstr "Kunde inte återställa standard in\n"
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
-msgstr "Kunde inte återställa stdout\n"
+msgstr "Kunde inte återställa standard ut\n"
-#: job.c:2127
-#, fuzzy, c-format
+#: job.c:2309
+msgid "Could not restore stderr\n"
+msgstr "Kunde inte återställa standard fel\n"
+
+#: job.c:2420
+#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
-msgstr "make inhöstade barnprocessen pid %ld, inväntar pid %ld\n"
+msgstr "make inhöstade barn-pid %s, inväntar fortfarande pid %s\n"
-#: job.c:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Kommandot hittades inte"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Skalprogrammet hittades inte"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
-msgstr "spawnvpe: miljöutrymmet kanske är slut"
+msgstr "spawnvpe: miljöutrymmet kanske är slut"
-#: job.c:2461
+#: job.c:2765
#, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
-msgstr "$SHELL ändrades (var \"%s\", är nu \"%s\")\n"
+msgid "$SHELL changed (was '%s', now '%s')\n"
+msgstr "$SHELL ändrades (var â€%sâ€, är nu â€%sâ€)\n"
-#: job.c:2951
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
-msgstr "Skapar tillfällig omgångsfil %s\n"
+msgstr "Skapar tillfällig satsfil %s\n"
-#: job.c:2963
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+"Satsfilinnehåll:\n"
+"\t@echo off\n"
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
+"Satsfilinnehåll:%s\n"
+"\t%s\n"
-#: job.c:3065
+#: 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"
-#: main.c:303
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr "-O[TYP] (--output-sync[=TYP]) är inte konfigurerat för detta bygge."
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr "Misslyckades att öppna den globala symboltabellen: %s"
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr "Laddat objekt %s är inte deklarerat att vara GPL-kompatibelt"
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr "Misslyckades att ladda symbolen %s från %s: %s"
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr "Tomt symbolnamn för laddning: %s"
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr "Laddar symbol %s från %s\n"
+
+#: load.c:244
+msgid "The 'load' operation is not supported on this platform."
+msgstr "Operationen â€load†stödjs inte pÃ¥ denna plattform."
+
+#: main.c:313
msgid "Options:\n"
msgstr "Flaggor:\n"
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
-msgstr " -b, -m Ignoreras av kompatibilitetsskäl.\n"
+msgstr " -b, -m Ignoreras av kompatibilitetsskäl.\n"
-#: main.c:306
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
-msgstr " -B, --always-make Bygg ovillkorligen alla mål.\n"
+msgstr " -B, --always-make Bygg ovillkorligen alla mål.\n"
-#: main.c:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
" -C KATALOG, --directory=KATALOG\n"
-" Byt katalog till KATALOG innan något görs.\n"
+" Byt katalog till KATALOG innan något görs.\n"
-#: main.c:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr ""
-" -d Skriv ut massor av felsökningsinformation.\n"
+" -d Skriv ut massor av felsökningsinformation.\n"
-#: main.c:313
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
" --debug[=FLAGGOR] Skriv ut olika sorters "
-"felsökningsinformation.\n"
+"felsökningsinformation.\n"
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
" -e, --environment-overrides\n"
-" Miljövariabler åsidosätter makefiler.\n"
+" Miljövariabler åsidosätter makefiler.\n"
-#: main.c:318
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
-msgstr ""
+msgstr " --eval=STRÄNG Evaluera STRÄNG som en makefile-sats.\n"
-#: main.c:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
" -f FIL, --file=FIL, --makefile=FIL\n"
-" Använd FIL som makefil.\n"
+" Använd FIL som makefil.\n"
-#: main.c:323
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Skriv ut detta meddelande och avsluta.\n"
-#: main.c:325
-#, fuzzy
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
-msgstr " -i, --ignore-errors Ignorera kommandofel.\n"
+msgstr " -i, --ignore-errors Ignorera fel från recept.\n"
-#: main.c:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
" -I KATALOG, --include-dir=KATALOG\n"
-" Genomsök KATALOG efter inkluderade makefiler.\n"
+" Genomsök KATALOG efter inkluderade makefiler.\n"
-#: main.c:330
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
msgstr ""
-" -j [N], --jobs[=N] Tillåt N samtidiga jobb; oändligt många om "
+" -j [N], --jobs[=N] Tillåt N samtidiga jobb; oändligt många om "
"inget antal anges.\n"
-#: main.c:332
+#: 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"
+" -k, --keep-going Fortsätt även om vissa mål inte kan skapas.\n"
-#: main.c:334
+#: 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"
-" Påbörja fler jobb endast om lasten understiger "
+" Påbörja fler jobb endast om lasten understiger "
"N.\n"
-#: main.c:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
-" -L, --check-symlink-times Använd den senaste av mtiderna för symboliska "
-"länkar eller mål.\n"
+" -L, --check-symlink-times Använd den senaste av mtiderna för symboliska "
+"länkar eller mål.\n"
-#: main.c:339
-#, fuzzy
+#: 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"
-" Kör inte kommandona, skriv bara ut dem.\n"
+" Kör inte något recept, skriv bara ut dem.\n"
-#: main.c:342
+#: 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 FIL, --old-file=FIL, --assume-old=FIL\n"
-" Betrakta FIL som mycket gammal och återskapa "
+" Betrakta FIL som mycket gammal och återskapa "
"den inte.\n"
-#: main.c:345
+#: main.c:355
+msgid ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
+msgstr ""
+" -O[TYP], --output-sync[=TYP]\n"
+" Synkronisera utmatningen av parallella jobb\n"
+" enligt TYP.\n"
+
+#: 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:347
-#, fuzzy
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-" -q, --question Kör inga kommandon; slutstatus visar "
-"färskheten.\n"
+" -q, --question Kör inga recept; slutstatus visar om det är "
+"aktuellt.\n"
-#: main.c:349
+#: 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:351
+#: 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"
+"variabelinställningarna.\n"
-#: main.c:353
-#, fuzzy
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
-msgstr " -s, --silent, --quiet Återge inte kommandon.\n"
+msgstr " -s, --silent, --quiet Ã…terge inte recept.\n"
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr ""
" -S, --no-keep-going, --stop\n"
-" Stäng av -k.\n"
+" Stäng av -k.\n"
-#: main.c:358
+#: 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"
+" -t, --touch Nydatera mål i stället för att återskapa dem.\n"
-#: main.c:360
+#: main.c:373
+msgid " --trace Print tracing information.\n"
+msgstr " --trace Skriv spårningsinformation.\n"
+
+#: 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:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Skriv ut aktuell katalog.\n"
-#: main.c:364
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr ""
-" --no-print-directory Stäng av -w, även om det är implicit "
-"påslaget.\n"
+" --no-print-directory Stäng av -w, även om det är implicit "
+"påslaget.\n"
-#: main.c:366
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -904,30 +1050,35 @@ msgstr ""
" -W FIL, --what-if=FIL, --new-file=FIL, --assume-new=FIL\n"
" Betrakta FIL som hur ny som helst.\n"
-#: main.c:369
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr ""
-" --warn-undefined-variables Varna vid användning av en odefinierad "
+" --warn-undefined-variables Varna vid användning av en odefinierad "
"variabel.\n"
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
-msgstr "en tom sträng är ett ogiltigt filnamn"
+msgstr "en tom sträng är ett ogiltigt filnamn"
-#: main.c:650
+#: main.c:737
#, c-format
-msgid "unknown debug level specification `%s'"
-msgstr "okänd felsökningsnivå \"%s\" angiven"
+msgid "unknown debug level specification '%s'"
+msgstr "okänd felsökningsnivÃ¥ â€%s†angiven"
-#: main.c:690
-#, fuzzy, c-format
+#: main.c:774
+#, c-format
+msgid "unknown output-sync type '%s'"
+msgstr "okänd typ av utmatningssynkronisering â€%sâ€"
+
+#: 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%lx)\n"
+msgstr "%s: Avbrott/Undantag fångat (kod = 0x%lx, adress = 0x%p)\n"
-#: main.c:697
-#, fuzzy, c-format
+#: main.c:835
+#, c-format
msgid ""
"\n"
"Unhandled exception filter called from program %s\n"
@@ -936,215 +1087,228 @@ msgid ""
"ExceptionAddress = 0x%p\n"
msgstr ""
"\n"
-"Ett ohanterat undantagsfilter anropades från programmet %s\n"
+"Ett ohanterat undantagsfilter anropades från programmet %s\n"
"Undantagskod = %lx\n"
"Undantagsflaggor = %lx\n"
-"Undantagsadress = %lx\n"
+"Undantagsadress = 0x%p\n"
-#: main.c:705
-#, fuzzy, c-format
+#: main.c:843
+#, c-format
msgid "Access violation: write operation at address 0x%p\n"
-msgstr "Åtkomstförseelse: skrivinstruktion på adressen %lx\n"
+msgstr "Åtkomstförseelse: skrivinstruktion på adressen 0x%p\n"
-#: main.c:706
-#, fuzzy, c-format
+#: main.c:844
+#, c-format
msgid "Access violation: read operation at address 0x%p\n"
-msgstr "Åtkomstförseelse: läsinstruktion på adressen %lx\n"
+msgstr "Åtkomstförseelse: läsinstruktion på adressen 0x%p\n"
-#: main.c:781 main.c:792
-#, fuzzy, c-format
+#: 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"
+msgstr "find_and_set_shell() ger default_shell = %s\n"
-#: main.c:834
-#, fuzzy, c-format
+#: main.c:988
+#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
-msgstr "find_and_set_shell-sökvägen gav default_shell = %s\n"
+msgstr "sökvägen för find_and_set_shell() gav default_shell = %s\n"
-#: main.c:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s suspenderas i 30 sekunder..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
-msgstr "färdig med sleep(30). Fortsätter.\n"
-
-#: main.c:1501
-msgid "Makefile from standard input specified twice."
-msgstr "Makefil från standard in angavs dubbelt."
-
-#: main.c:1539 vmsjobs.c:500
-msgid "fopen (temporary file)"
-msgstr "fopen (temporärfil)"
-
-#: main.c:1545
-msgid "fwrite (temporary file)"
-msgstr "fwrite (temporärfil)"
-
-#: main.c:1703
-msgid "Parallel jobs (-j) are not supported on this platform."
-msgstr "Parallella jobb (-j) stöds inte på denna plattform."
+msgstr "färdig med sleep(30). Fortsätter.\n"
-#: main.c:1704
-msgid "Resetting to single job (-j1) mode."
-msgstr "Återställer till enkeljobbsläge (-j1)."
+#: 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:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "internt fel: flera \"--jobserver-fds\"-flaggor"
+#: main.c:1530
+#, c-format
+msgid "Jobserver client (semaphore %s)\n"
+msgstr "Jobbserverklient (semafor %s)\n"
-#: main.c:1727
+#: main.c:1534
#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
-msgstr "internt fel: ogiltig \"--jobserver-fds\"-sträng \"%s\""
+msgid "internal error: invalid --jobserver-fds string '%s'"
+msgstr "internt fel: ogiltig sträng â€--jobserver-fds†â€%sâ€"
-#: main.c:1730
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
-msgstr ""
+msgstr "Jobbserverklient (fb %d,%d)\n"
-#: main.c:1740
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
-msgstr "varning: -jN framtvingat i del-make: inaktiverar jobbserverläge."
+msgstr "varning: -jN framtvingat i del-make: inaktiverar jobbserverläge."
-#: main.c:1750
+#: main.c:1567
msgid "dup jobserver"
msgstr "duplicerar jobbserver"
-#: main.c:1753
+#: main.c:1570
msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
+"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."
+"varning: jobbserver otillgänglig: använder -j1. Lägg till â€+†i "
+"föräldraregeln."
+
+#: main.c:1742
+msgid "Makefile from standard input specified twice."
+msgstr "Makefil från standard in angavs dubbelt."
+
+#: main.c:1780 vmsjobs.c:653
+msgid "fopen (temporary file)"
+msgstr "fopen (temporärfil)"
+
+#: main.c:1786
+msgid "fwrite (temporary file)"
+msgstr "fwrite (temporärfil)"
+
+#: 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:1975
+msgid "Resetting to single job (-j1) mode."
+msgstr "Återställer till enkeljobbsläge (-j1)."
+
+#: 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:1777
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "skapar jobbledning"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
-msgstr "iordningställer ledning till jobbserver"
+msgstr "iordningställer ledning till jobbserver"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
-msgstr "Symboliska länkar stöds inte: inaktiverar -L."
+msgstr "Symboliska länkar stöds inte: inaktiverar -L."
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "Uppdaterar makefiler...\n"
-#: main.c:1917
+#: main.c:2158
#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
-msgstr "Makefilen \"%s\" torde loopa; återskapas inte.\n"
+msgid "Makefile '%s' might loop; not remaking it.\n"
+msgstr "Makefilen â€%s†kan loopa; Ã¥terskapas inte.\n"
-#: main.c:1996
+#: main.c:2237
#, c-format
-msgid "Failed to remake makefile `%s'."
-msgstr "Misslyckades med att återskapa makefilen \"%s\"."
+msgid "Failed to remake makefile '%s'."
+msgstr "Misslyckades med att Ã¥terskapa makefilen â€%sâ€."
-#: main.c:2013
+#: main.c:2257
#, c-format
-msgid "Included makefile `%s' was not found."
-msgstr "Den inkluderade makefilen \"%s\" hittades inte."
+msgid "Included makefile '%s' was not found."
+msgstr "Den inkluderade makefilen â€%s†fanns inte."
-#: main.c:2018
+#: main.c:2262
#, c-format
-msgid "Makefile `%s' was not found"
-msgstr "Makefilen \"%s\" hittades inte"
+msgid "Makefile '%s' was not found"
+msgstr "Makefilen â€%s†fanns inte"
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
-msgstr "Kunde inte återgå till ursprungskatalogen."
+msgstr "Kunde inte återgå till ursprungskatalogen."
-#: main.c:2102
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
-msgstr "Utför på nytt[%u]:"
+msgstr "Utför på nytt[%u]:"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
-msgstr "avlänka (temporärfil): "
+msgstr "avlänka (temporärfil): "
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
-msgstr ".DEFAULT_GOAL innehåller fler än ett mål"
+msgstr ".DEFAULT_GOAL innehåller fler än ett mål"
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
-msgstr "Inga mål angavs och ingen makefil hittades"
+msgstr "Inga mål angavs och ingen makefil hittades"
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
-msgstr "Inga mål"
+msgstr "Inga mål"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
-msgstr "Uppdaterar slutmål...\n"
+msgstr "Uppdaterar slutmål...\n"
-#: main.c:2306
+#: 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."
+"varning: Klockförskjutning upptäckt. Bygget kan ha blivit ofullständigt."
-#: main.c:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
-msgstr "Användning: %s [flaggor] [mål] ...\n"
+msgstr "Användning: %s [flaggor] [mål] ...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
"This program built for %s\n"
msgstr ""
"\n"
-"Detta program byggdes för %s\n"
+"Detta program byggdes för %s\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
"This program built for %s (%s)\n"
msgstr ""
"\n"
-"Detta program byggdes för %s (%s)\n"
+"Detta program byggdes för %s (%s)\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr ""
-"Anmäl fel till <bug-make@gnu.org>.\n"
-"Skicka synpunkter på översättningen till <sv@li.org>.\n"
+"Anmäl fel till <bug-make@gnu.org>.\n"
+"Skicka synpunkter på översättningen till <sv@li.org>.\n"
-#: main.c:2562
-#, fuzzy, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
-msgstr "flaggan \"-%c\" kräver ett strängargument som inte är tomt"
+#: 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:2617
+#: main.c:2871
#, c-format
-msgid "the `-%c' option requires a positive integral argument"
-msgstr "flaggan \"-%c\" kräver ett positivt heltal som argument"
+msgid "the '-%c' option requires a positive integer argument"
+msgstr "flaggan â€-%c†kräver ett positivt heltal som argument"
-#: main.c:3054
-#, fuzzy, c-format
+#: main.c:3269
+#, c-format
msgid "%sBuilt for %s\n"
-msgstr ""
-"\n"
-"%sDetta program byggdes för %s\n"
+msgstr "%sByggt för %s\n"
-#: main.c:3056
-#, fuzzy, c-format
+#: main.c:3271
+#, c-format
msgid "%sBuilt for %s (%s)\n"
-msgstr ""
-"\n"
-"%sDetta program byggdes för %s (%s)\n"
+msgstr "%sByggt för %s (%s)\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1152,8 +1316,12 @@ msgid ""
"%sThis is free software: you are free to change and redistribute it.\n"
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
+"%sLicens GPLv3+: GNU GPL version 3 eller senare <http://gnu.org/licenses/gpl."
+"html>\n"
+"%sDetta är fri programvara. du får lov att ändra och vidaredistribuera den.\n"
+"%sDet finns INGEN GARANTI, så långt lagen tillåter.\n"
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1162,460 +1330,466 @@ msgstr ""
"\n"
"# Make-databas, utskriven %s"
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
"# Finished Make data base on %s\n"
msgstr ""
"\n"
-"# Färdigställde Make-databas %s\n"
+"# Färdigställde Make-databas %s\n"
+
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "Okänt fel %d"
+
+#: misc.c:522
+#, c-format
+msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+msgstr "%s: användare %lu (verklig %lu), grupp %lu (verklig %lu)\n"
-#: main.c:3237
+#: misc.c:543
+msgid "Initialized access"
+msgstr "Ã…tkomst inledd"
+
+#: misc.c:622
+msgid "User access"
+msgstr "Användaråtkomst"
+
+#: misc.c:670
+msgid "Make access"
+msgstr "Make-Ã¥tkomst"
+
+#: misc.c:704
+msgid "Child access"
+msgstr "Barnåtkomst"
+
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
-msgstr "%s: Går till en okänd katalog\n"
+msgstr "%s: Går till en okänd katalog\n"
-#: main.c:3239
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
-msgstr "%s: Lämnar en okänd katalog\n"
+msgstr "%s: Lämnar en okänd katalog\n"
-#: main.c:3242
+#: output.c:109
#, c-format
-msgid "%s: Entering directory `%s'\n"
-msgstr "%s: Går till katalogen \"%s\"\n"
+msgid "%s: Entering directory '%s'\n"
+msgstr "%s: GÃ¥r till katalogen â€%sâ€\n"
-#: main.c:3245
+#: output.c:111
#, c-format
-msgid "%s: Leaving directory `%s'\n"
-msgstr "%s: Lämnar katalogen \"%s\"\n"
+msgid "%s: Leaving directory '%s'\n"
+msgstr "%s: Lämnar katalogen â€%sâ€\n"
-#: main.c:3250
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
-msgstr "%s[%u]: Går till en okänd katalog\n"
+msgstr "%s[%u]: Går till en okänd katalog\n"
-#: main.c:3253
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
-msgstr "%s[%u]: Lämnar en okänd katalog\n"
+msgstr "%s[%u]: Lämnar en okänd katalog\n"
-#: main.c:3257
+#: output.c:120
#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
-msgstr "%s[%u]: Går till katalogen \"%s\"\n"
+msgid "%s[%u]: Entering directory '%s'\n"
+msgstr "%s[%u]: GÃ¥r till katalogen â€%sâ€\n"
-#: main.c:3260
+#: output.c:122
#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
-msgstr "%s[%u]: Lämnar katalogen \"%s\"\n"
+msgid "%s[%u]: Leaving directory '%s'\n"
+msgstr "%s[%u]: Lämnar katalogen â€%sâ€\n"
+
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
+msgstr "skrivfel: %s"
-#: misc.c:316
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Stannar.\n"
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "Okänt fel %d"
-
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "virtuellt minne uttömt"
-
-#: misc.c:708
-#, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: användare %lu (verklig %lu), grupp %lu (verklig %lu)\n"
-
-#: misc.c:729
-msgid "Initialized access"
-msgstr "Åtkomst inledd"
-
-#: misc.c:808
-msgid "User access"
-msgstr "Användaråtkomst"
-
-#: misc.c:856
-msgid "Make access"
-msgstr "Make-åtkomst"
-
-#: misc.c:890
-msgid "Child access"
-msgstr "Barnåtkomst"
-
-#: misc.c:954
-#, c-format
-msgid "write error: %s"
-msgstr "skrivfel: %s"
-
-#: misc.c:956
-msgid "write error"
-msgstr "skrivfel"
-
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
-msgstr "Läser makefiler...\n"
+msgstr "Läser makefiler...\n"
-#: read.c:333
+#: read.c:335
#, c-format
-msgid "Reading makefile `%s'"
-msgstr "Läser makefil \"%s\""
+msgid "Reading makefile '%s'"
+msgstr "Läser makefilen â€%sâ€"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
-msgstr " (inget standardmål)"
+msgstr " (inget standardmål)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
-msgstr " (sökväg)"
+msgstr " (sökväg)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (oviktigt)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (ingen ~-expansion)"
-#: read.c:759
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr "Hoppar över UTF-8-BOM i makefilen â€%sâ€\n"
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr "Hoppar över UTF-8-BOM i makefile-buffert\n"
+
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "ogiltig syntax i villkorssats"
-#: read.c:891
-#, fuzzy
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr "%s: misslyckades att ladda"
+
+#: read.c:992
msgid "recipe commences before first target"
-msgstr "kommandon inleds före första målet"
+msgstr "recept inleds före första målet"
-#: read.c:940
-#, fuzzy
+#: read.c:1041
msgid "missing rule before recipe"
-msgstr "regel saknas före kommandon"
+msgstr "regel saknas före recept"
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "separator saknas%s"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
+msgstr " (var avsikten TAB i stället för 8 mellanslag?)"
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
-msgstr " (var avsikten TAB i stället för 8 mellanslag?)"
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "separator saknas%s"
-#: read.c:1163
+#: read.c:1270
msgid "missing target pattern"
-msgstr "målmönster saknas"
+msgstr "målmönster saknas"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
-msgstr "flera målmönster"
+msgstr "flera målmönster"
-#: read.c:1169
+#: read.c:1276
#, c-format
-msgid "target pattern contains no `%%'"
-msgstr "målmönstret innehåller inget \"%%\""
+msgid "target pattern contains no '%%'"
+msgstr "mÃ¥lmönstret innehÃ¥ller inget â€%%â€"
-#: read.c:1293
-msgid "missing `endif'"
-msgstr "\"endif\" saknas"
+#: read.c:1398
+msgid "missing 'endif'"
+msgstr "â€endif†saknas"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "tomt variabelnamn"
-#: read.c:1367
-#, fuzzy
-msgid "extraneous text after `define' directive"
-msgstr "Överflödig text efter direktivet \"endef\""
+#: read.c:1471
+msgid "extraneous text after 'define' directive"
+msgstr "överflödig text efter direktivet â€defineâ€"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
-msgstr "\"endef\" saknas, oavslutat \"define\""
+#: read.c:1496
+msgid "missing 'endef', unterminated 'define'"
+msgstr "â€endef†saknas, oavslutad â€defineâ€"
-#: read.c:1420
-#, fuzzy
-msgid "extraneous text after `endef' directive"
-msgstr "Överflödig text efter direktivet \"endef\""
+#: read.c:1524
+msgid "extraneous text after 'endef' directive"
+msgstr "överflödig text efter direktivet â€endefâ€"
-#: read.c:1490
+#: read.c:1595
#, c-format
-msgid "Extraneous text after `%s' directive"
-msgstr "Överflödig text efter direktivet \"%s\""
+msgid "extraneous text after '%s' directive"
+msgstr "överflödig text efter direktivet â€%sâ€"
-#: read.c:1499 read.c:1513
+#: read.c:1596
#, c-format
-msgid "extraneous `%s'"
-msgstr "överflödigt \"%s\""
+msgid "extraneous '%s'"
+msgstr "överflödigt â€%sâ€"
-#: read.c:1518
-msgid "only one `else' per conditional"
-msgstr "endast ett \"else\" per villkor"
+#: read.c:1624
+msgid "only one 'else' per conditional"
+msgstr "endast ett â€else†per villkor"
-#: read.c:1797
+#: read.c:1899
msgid "Malformed target-specific variable definition"
-msgstr "Felformad målberoende variabeldefinition"
+msgstr "Felformad målberoende variabeldefinition"
-#: read.c:1855
-#, fuzzy
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
-msgstr "beroenden kan inte definieras i kommandoskript"
+msgstr "beroenden kan inte definieras i recept"
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
-msgstr "blandade implicita regler och statiska mönsterregler"
+msgstr "blandade implicita regler och statiska mönsterregler"
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "blandade implicita regler och normala regler"
-#: read.c:1976
+#: read.c:2091
#, c-format
-msgid "target `%s' doesn't match the target pattern"
-msgstr "målet \"%s\" motsvarar inte målmönstret"
+msgid "target '%s' doesn't match the target pattern"
+msgstr "mÃ¥let â€%s†motsvarar inte mÃ¥lmönstret"
-#: read.c:1991 read.c:2036
+#: read.c:2106 read.c:2152
#, c-format
-msgid "target file `%s' has both : and :: entries"
-msgstr "målfilen \"%s\" har både poster med : och ::"
+msgid "target file '%s' has both : and :: entries"
+msgstr "mÃ¥lfilen â€%s†har bÃ¥de poster med : och ::"
-#: read.c:1997
+#: read.c:2112
#, c-format
-msgid "target `%s' given more than once in the same rule."
-msgstr "målet \"%s\" anges flera gånger i samma regel."
+msgid "target '%s' given more than once in the same rule"
+msgstr "mÃ¥let â€%s†anges flera gÃ¥nger i samma regel"
-#: read.c:2006
-#, fuzzy, c-format
-msgid "warning: overriding recipe for target `%s'"
-msgstr "varning: åsidosätter kommandon för målet \"%s\""
+#: read.c:2122
+#, c-format
+msgid "warning: overriding recipe for target '%s'"
+msgstr "varning: Ã¥sidosätter recept för mÃ¥let â€%sâ€"
-#: read.c:2009
-#, fuzzy, c-format
-msgid "warning: ignoring old recipe for target `%s'"
-msgstr "varning: bortser från gamla kommandon för målet \"%s\""
+#: read.c:2125
+#, c-format
+msgid "warning: ignoring old recipe for target '%s'"
+msgstr "varning: ignorerar gammalt recept för mÃ¥let â€%sâ€"
-#: read.c:2392
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "blandade implicita regler och normala regler"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
-msgstr "varning: NUL-tecken upptäckt, bortser från resten av raden"
+msgstr "varning: NUL-tecken upptäckt, bortser från resten av raden"
-#: remake.c:234
+#: remake.c:230
#, c-format
-msgid "Nothing to be done for `%s'."
-msgstr "Inget behöver göras för \"%s\"."
+msgid "Nothing to be done for '%s'."
+msgstr "Inget behöver göras för â€%sâ€."
-#: remake.c:235
+#: remake.c:231
#, c-format
-msgid "`%s' is up to date."
-msgstr "\"%s\" är färsk."
+msgid "'%s' is up to date."
+msgstr "â€%s†är aktuell."
-#: remake.c:306
+#: remake.c:303
#, c-format
-msgid "Pruning file `%s'.\n"
-msgstr "Beskär filen \"%s\".\n"
+msgid "Pruning file '%s'.\n"
+msgstr "Beskär filen â€%sâ€.\n"
-#: remake.c:359
+#: remake.c:390 remake.c:393
#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%sIngen regel för att skapa målet \"%s\"%s"
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
+msgstr "%sIngen regel för att skapa mÃ¥let â€%sâ€, som behövs av â€%sâ€%s"
-#: remake.c:361
+#: remake.c:402 remake.c:405
#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
-msgstr "%sIngen regel för att skapa målet \"%s\", som behövs till \"%s\"%s"
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sIngen regel för att skapa mÃ¥let â€%sâ€%s"
-#: remake.c:413
+#: remake.c:426
#, c-format
-msgid "Considering target file `%s'.\n"
-msgstr "Överväger målfilen \"%s\".\n"
+msgid "Considering target file '%s'.\n"
+msgstr "Överväger mÃ¥lfilen â€%sâ€.\n"
-#: remake.c:420
+#: remake.c:433
#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
-msgstr "Misslyckades nyligen med att uppdatera filen \"%s\".\n"
+msgid "Recently tried and failed to update file '%s'.\n"
+msgstr "Misslyckades nyligen med att uppdatera filen â€%sâ€.\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
-msgid "File `%s' was considered already.\n"
-msgstr "Filen \"%s\" har redan övervägts.\n"
+msgid "File '%s' was considered already.\n"
+msgstr "Filen â€%s†har redan övervägts.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
-msgid "Still updating file `%s'.\n"
-msgstr "Uppdaterar fortfarande filen \"%s\".\n"
+msgid "Still updating file '%s'.\n"
+msgstr "Uppdaterar fortfarande filen â€%sâ€.\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
-msgid "Finished updating file `%s'.\n"
-msgstr "Slutförde uppdaterandet av filen \"%s\".\n"
+msgid "Finished updating file '%s'.\n"
+msgstr "Slutförde uppdaterandet av filen â€%sâ€.\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
-msgid "File `%s' does not exist.\n"
-msgstr "Filen \"%s\" finns inte.\n"
+msgid "File '%s' does not exist.\n"
+msgstr "Filen â€%s†finns inte.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-"*** Varning: .LOW_RESOLUTION_TIME-filen \"%s\" har en högupplöst tidsstämpel"
+"*** Varning: .LOW_RESOLUTION_TIME-filen â€%s†har en högupplöst tidsstämpel"
-#: remake.c:494 remake.c:1016
+#: remake.c:508 remake.c:1040
#, c-format
-msgid "Found an implicit rule for `%s'.\n"
-msgstr "Hittade en implicit regel för \"%s\".\n"
+msgid "Found an implicit rule for '%s'.\n"
+msgstr "Hittade en implicit regel för â€%sâ€.\n"
-#: remake.c:496 remake.c:1018
+#: remake.c:510 remake.c:1042
#, c-format
-msgid "No implicit rule found for `%s'.\n"
-msgstr "Hittade ingen implicit regel för \"%s\".\n"
+msgid "No implicit rule found for '%s'.\n"
+msgstr "Hittade ingen implicit regel för â€%sâ€.\n"
-#: remake.c:502
-#, fuzzy, c-format
-msgid "Using default recipe for `%s'.\n"
-msgstr "Använder standardkommandon för \"%s\".\n"
+#: remake.c:516
+#, c-format
+msgid "Using default recipe for '%s'.\n"
+msgstr "Använder standardrecept för â€%sâ€.\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
-msgstr "Det cirkulära beroendet %s <- %s släpptes."
+msgstr "Det cirkulära beroendet %s <- %s släpptes."
-#: remake.c:651
+#: remake.c:675
#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
-msgstr "Färdigställde de nödvändiga förutsättningarna för målfilen \"%s\".\n"
+msgid "Finished prerequisites of target file '%s'.\n"
+msgstr "Avslutade förutsättningarna för mÃ¥lfilen â€%sâ€.\n"
-#: remake.c:657
+#: remake.c:681
#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
-msgstr "De nödvändiga förutsättningarna för \"%s\" håller på att skapas.\n"
+msgid "The prerequisites of '%s' are being made.\n"
+msgstr "Förutsättningarna för â€%s†skapas.\n"
-#: remake.c:670
+#: remake.c:695
#, c-format
-msgid "Giving up on target file `%s'.\n"
-msgstr "Ger upp med målfilen \"%s\".\n"
+msgid "Giving up on target file '%s'.\n"
+msgstr "Ger upp med mÃ¥lfilen â€%sâ€.\n"
-#: remake.c:675
+#: remake.c:700
#, c-format
-msgid "Target `%s' not remade because of errors."
-msgstr "Målet \"%s\" återskapades inte på grund av fel."
+msgid "Target '%s' not remade because of errors."
+msgstr "MÃ¥let â€%s†återskapades inte pÃ¥ grund av fel."
-#: remake.c:727
+#: remake.c:752
#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
-msgstr ""
-"Den nödvändiga förutsättningen \"%s\" för målet \"%s\" är endast-ordning.\n"
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
+msgstr "Förutsättningen â€%s†för mÃ¥let â€%s†är endast ordning.\n"
-#: remake.c:732
+#: remake.c:757
#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
-msgstr "Den nödvändiga förutsättningen \"%s\" för målet \"%s\" finns inte.\n"
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
+msgstr "Förutsättningen â€%s†för mÃ¥let â€%s†finns inte.\n"
-#: remake.c:737
+#: remake.c:762
#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
-msgstr "Den nödvändiga förutsättningen \"%s\" är nyare än målet \"%s\".\n"
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
+msgstr "Förutsättningen â€%s†är nyare än mÃ¥let â€%sâ€.\n"
-#: remake.c:740
+#: remake.c:765
#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
-msgstr "Den nödvändiga förutsättningen \"%s\" är äldre än målet \"%s\".\n"
+msgid "Prerequisite '%s' is older than target '%s'.\n"
+msgstr "Förutsättningen â€%s†är äldre än mÃ¥let â€%sâ€.\n"
-#: remake.c:758
+#: remake.c:783
#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
-msgstr "Målet \"%s\" är dubbelkolon och har inga beroenden.\n"
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
+msgstr "MÃ¥let â€%s†är dubbelkolon och har inga förutsättningar.\n"
-#: remake.c:765
-#, fuzzy, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
-msgstr ""
-"Inga kommandon eller nödvändiga förutsättningar för \"%s\" har förändrats.\n"
+#: remake.c:790
+#, c-format
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
+msgstr "Inget recept för â€%s†och inga förutsättningar har förändrats.\n"
-#: remake.c:770
+#: remake.c:795
#, c-format
-msgid "Making `%s' due to always-make flag.\n"
-msgstr "Skapar \"%s\" på grund av flaggan always-make.\n"
+msgid "Making '%s' due to always-make flag.\n"
+msgstr "Skapar â€%s†pÃ¥ grund av flaggan always-make.\n"
-#: remake.c:778
+#: remake.c:803
#, c-format
-msgid "No need to remake target `%s'"
-msgstr "Målet \"%s\" behöver inte återskapas"
+msgid "No need to remake target '%s'"
+msgstr "Inget behov att Ã¥terskapa mÃ¥let â€%sâ€"
-#: remake.c:780
+#: remake.c:805
#, c-format
-msgid "; using VPATH name `%s'"
-msgstr "; använder VPATH-namnet \"%s\""
+msgid "; using VPATH name '%s'"
+msgstr "; använder VPATH-namnet â€%sâ€"
-#: remake.c:800
+#: remake.c:825
#, c-format
-msgid "Must remake target `%s'.\n"
-msgstr "Måste återskapa målet \"%s\".\n"
+msgid "Must remake target '%s'.\n"
+msgstr "MÃ¥ste Ã¥terskapa mÃ¥let â€%sâ€.\n"
-#: remake.c:806
+#: remake.c:831
#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
-msgstr " Bortser från VPATH-namnet \"%s\".\n"
+msgid " Ignoring VPATH name '%s'.\n"
+msgstr " Bortser frÃ¥n VPATH-namnet â€%sâ€.\n"
-#: remake.c:815
-#, fuzzy, c-format
-msgid "Recipe of `%s' is being run.\n"
-msgstr "Kommandon för \"%s\" körs.\n"
+#: remake.c:840
+#, c-format
+msgid "Recipe of '%s' is being run.\n"
+msgstr "Receptet för â€%s†körs.\n"
-#: remake.c:822
+#: remake.c:847
#, c-format
-msgid "Failed to remake target file `%s'.\n"
-msgstr "Misslyckades med att återskapa målfilen \"%s\".\n"
+msgid "Failed to remake target file '%s'.\n"
+msgstr "Misslyckades med att Ã¥terskapa mÃ¥lfilen â€%sâ€.\n"
-#: remake.c:825
+#: remake.c:850
#, c-format
-msgid "Successfully remade target file `%s'.\n"
-msgstr "Målfilen \"%s\" återskapades.\n"
+msgid "Successfully remade target file '%s'.\n"
+msgstr "Ã…terskapade mÃ¥lfilen â€%sâ€.\n"
-#: remake.c:828
+#: remake.c:853
#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
-msgstr "Målfilen \"%s\" behöver återskapas med -q.\n"
+msgid "Target file '%s' needs to be remade under -q.\n"
+msgstr "MÃ¥lfilen â€%s†behöver Ã¥terskapas med -q.\n"
-#: remake.c:1024
+#: remake.c:1048
#, c-format
-msgid "Using default commands for `%s'.\n"
-msgstr "Använder standardkommandon för \"%s\".\n"
+msgid "Using default commands for '%s'.\n"
+msgstr "Använder standardkommandon för â€%sâ€.\n"
-#: remake.c:1357
+#: remake.c:1397
#, c-format
-msgid "Warning: File `%s' has modification time in the future"
-msgstr "Varning: Filen \"%s\" har ett ändringsdatum i framtiden."
+msgid "Warning: File '%s' has modification time in the future"
+msgstr "Varning: Filen â€%s†har ett ändringstid i framtiden"
-#: remake.c:1370
-#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
-msgstr "Varning: Filen \"%s\" har en ändringstid %.2g sekunder i framtiden"
+#: remake.c:1411
+#, c-format
+msgid "Warning: File '%s' has modification time %s s in the future"
+msgstr "Varning: Filen â€%s†har en ändringstid %s s i framtiden"
-#: remake.c:1569
+#: remake.c:1610
#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
-msgstr ".LIBPATTERNS-elementet \"%s\" är inte något mönster"
+msgid ".LIBPATTERNS element '%s' is not a pattern"
+msgstr ".LIBPATTERNS-elementet â€%s†är inte ett mönster"
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
msgstr "Customs kommer inte att exportera %s\n"
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1623,7 +1797,7 @@ msgstr ""
"\n"
"# Implicita regler"
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1631,7 +1805,7 @@ msgstr ""
"\n"
"# Inga implicita regler."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1640,244 +1814,266 @@ msgstr ""
"\n"
"# %u implicita regler, %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
msgstr " slutregler."
-#: rule.c:534
-#, fuzzy, c-format
+#: rule.c:530
+#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
-msgstr "FEL: num_pattern_rules felaktigt! %u != %u"
+msgstr "FEL: num_pattern_rules är felaktigt! %u != %u"
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
-msgstr "okänd signal"
+msgstr "okänd signal"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
msgstr "Avringd"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
msgstr "Avbrott"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
msgstr "Avslutad"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
-msgstr "Otillåten instruktion"
+msgstr "Otillåten instruktion"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
-msgstr "Spårningsfälla"
+msgstr "Spårningsfälla"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr "Avbruten"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
-msgstr "IO-fälla"
+msgstr "IO-fälla"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
-msgstr "Emulatorfälla"
+msgstr "Emulatorfälla"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
msgstr "Flyttalsundantag"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
-msgstr "Dödad"
+msgstr "Dödad"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
msgstr "Bussfel"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
msgstr "Segmenteringsfel"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
msgstr "Felaktigt systemanrop"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
msgstr "Ledningsbrott"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr "Alarmklocka"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
msgstr "Avslutad"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
-msgstr "Användarsignal 1"
+msgstr "Användarsignal 1"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
-msgstr "Användarsignal 2"
+msgstr "Användarsignal 2"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
msgstr "Barn avslutades"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
-msgstr "Strömavbrott"
+msgstr "Strömavbrott"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr "Stoppades"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
-msgstr "Stoppades (tty-läsning)"
+msgstr "Stoppades (tty-läsning)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
msgstr "Stoppades (tty-utskrift)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
msgstr "Stoppades (signal)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
-msgstr "CPU-tidsgräns överskreds"
+msgstr "CPU-tidsgräns överskreds"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
-msgstr "Filstorleksgräns överskreds"
+msgstr "Filstorleksgräns överskreds"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
-msgstr "Virtuellt tidur löpte ut"
+msgstr "Virtuellt tidur löpte ut"
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
-msgstr "Profileringstidur löpte ut"
+msgstr "Profileringstidur löpte ut"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
-msgstr "Fönster ändrat"
+msgstr "Fönster ändrat"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
msgstr "Fortsatte"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
-msgstr "Brådskande I/O-läge"
+msgstr "Brådskande I/O-läge"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
-msgstr "I/O-tillfälle"
+msgstr "I/O-tillfälle"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr "Miste resurs"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
msgstr "Farosignal"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
-msgstr "Informationsbegäran"
+msgstr "Informationsbegäran"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
-msgstr "Flyttalsprocessor inte tillgänglig"
+msgstr "Flyttalsprocessor inte tillgänglig"
-#: strcache.c:235
-#, fuzzy, c-format
+#: strcache.c:236
+#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s No strcache buffers\n"
msgstr ""
"\n"
-"%s antal strängar i strcache: %d\n"
+"%s Inga strcache-buffertar\n"
-#: strcache.c:237
-#, fuzzy, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
-msgstr "%s antal strcache-buffertar: %d\n"
+#: strcache.c:266
+#, c-format
+msgid ""
+"\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
+msgstr ""
+"\n"
+"%s strcache-buffertar: totalt = %lu (%lu) / strängar = %lu / lagring = %lu "
+"B / snitt = %lu B\n"
-#: strcache.c:239
-#, fuzzy, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
-msgstr "%s strcache storlek: total = %d / max = %d / min = %d / snitt = %d\n"
+#: strcache.c:270
+#, c-format
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
+msgstr ""
+"%s aktuell buf: storlek = %hu B / använt = %hu B / antal = %hu / snitt = %hu "
+"B\n"
-#: strcache.c:241
-#, fuzzy, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
-msgstr "%s strcache ledigt: total = %d / max = %d / min = %d / snitt = %d\n"
+#: strcache.c:280
+#, c-format
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
+msgstr "%s annat använt: totalt = %lu B / antal = %lu / snitt = %lu B\n"
-#: strcache.c:244
-#, fuzzy
+#: strcache.c:283
+#, c-format
+msgid ""
+"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
+msgstr ""
+"%s annat ledigt: totalt = %lu B / max = %lu B / min = %lu B / snitt = %hu B\n"
+
+#: strcache.c:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
-"# "
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
msgstr ""
"\n"
-"# statistik för filhashtabell:\n"
+"%s strcache-prestanda: uppslagningar = %lu / träffsäkerhet = %lu %%\n"
+
+#: strcache.c:289
+msgid ""
+"# hash-table stats:\n"
+"# "
+msgstr ""
+"# statistik för hashtabell:\n"
"# "
-#: variable.c:1541
+#: variable.c:1599
+msgid "automatic"
+msgstr "automatisk"
+
+#: variable.c:1602
msgid "default"
msgstr "normal"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
-msgstr "miljö"
+msgstr "miljö"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
msgstr "makefil"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
-msgstr "miljö enligt -e"
+msgstr "miljö enligt -e"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
msgstr "kommandorad"
-#: variable.c:1556
-msgid "`override' directive"
-msgstr "\"override\"-direktiv"
-
-#: variable.c:1559
-msgid "automatic"
-msgstr "automatisk"
+#: variable.c:1617
+msgid "'override' directive"
+msgstr "â€overrideâ€-direktiv"
-#: variable.c:1570
+#: variable.c:1628
#, c-format
-msgid " (from `%s', line %lu)"
-msgstr " (från \"%s\", rad %lu)"
+msgid " (from '%s', line %lu)"
+msgstr " (frÃ¥n â€%sâ€, rad %lu)"
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
-msgstr "# statistik för variabelmängd-hashtabell:\n"
+msgstr "# statistik för variabelmängd-hashtabell:\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -1885,272 +2081,171 @@ msgstr ""
"\n"
"# Variabler\n"
-#: variable.c:1627
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
"\n"
-"# Mönsterspecifika variabelvärden"
+"# Mönsterspecifika variabelvärden"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
msgstr ""
"\n"
-"# Inga mönsterspecifika variabelvärden."
+"# Inga mönsterspecifika variabelvärden."
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
"# %u pattern-specific variable values"
msgstr ""
"\n"
-"# %u mönsterspecifika variabelvärden"
+"# %u mönsterspecifika variabelvärden"
-#: variable.h:219
+#: variable.h:224
#, c-format
-msgid "warning: undefined variable `%.*s'"
-msgstr "varning: odefinierad variabel \"%.*s\""
+msgid "warning: undefined variable '%.*s'"
+msgstr "varning: odefinierad variabel â€%.*sâ€"
-#: vmsfunctions.c:92
-#, fuzzy, c-format
+#: vmsfunctions.c:91
+#, c-format
msgid "sys$search() failed with %d\n"
-msgstr "sys$search misslyckades och gav %d\n"
+msgstr "sys$search() misslyckades med %d\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Varning: Tom omdirigering\n"
-#: vmsjobs.c:184
+#: vmsjobs.c:183
#, c-format
-msgid "internal error: `%s' command_state"
-msgstr "internt fel: \"%s\" command_state"
+msgid "internal error: '%s' command_state"
+msgstr "internt fel: â€%s†command_state"
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
-msgstr "-varning, CTRL-Y-hantering kanske behöver återställas från DCL.\n"
+msgstr "-varning, CTRL-Y-hantering kanske behöver återställas från DCL.\n"
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "INBYGGT [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "INBYGGT CD %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "INBYGGT RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "INBYGGT CD %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
-msgstr "Okänt inbyggt kommando \"%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:493
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
msgstr "Fel, tomt kommando\n"
-#: vmsjobs.c:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "Inkanal omdirigerad till %s\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "Felkanal omdirigerad till %s\n"
-#: vmsjobs.c:523
-#, fuzzy, c-format
+#: vmsjobs.c:690
+#, c-format
msgid "Append output to %s\n"
-msgstr "Utkanal omdirigerad till %s\n"
+msgstr "Lägg till utdata till %s\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "Utkanal omdirigerad till %s\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
-msgstr ""
+msgstr "Lägg till %.*s och rensa upp\n"
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
-msgstr "Utför %s i stället\n"
+msgstr "Utför %s i stället\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "Fel vid avknoppning, %d\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
msgstr ""
"\n"
-"# VPATH-sökvägar\n"
+"# VPATH-sökvägar\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
-msgstr "# Inga \"vpath\"-sökvägar."
+#: vpath.c:600
+msgid "# No 'vpath' search paths."
+msgstr "# Inga â€vpathâ€-sökvägar."
-#: vpath.c:605
+#: vpath.c:602
#, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
-"# %u \"vpath\"-sökvägar.\n"
+"# %u â€vpathâ€-sökvägar.\n"
-#: vpath.c:608
+#: vpath.c:605
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
-"# Ingen allmän sökväg (enligt \"VPATH\"-variabeln)."
+"# Ingen allmän sökväg (enligt â€VPATHâ€-variabeln)."
-#: vpath.c:614
+#: vpath.c:611
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
-"# Allmän sökväg (enligt \"VPATH\"-variabeln):\n"
+"# Allmän sökväg (enligt â€VPATHâ€-variabeln):\n"
"# "
-#~ msgid "process_easy() failed failed to launch process (e=%ld)\n"
-#~ msgstr "process_easy() misslyckades med processtart (e=%ld)\n"
-
-#~ 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"
-#~ "%sPARTICULAR PURPOSE.\n"
-#~ msgstr ""
-#~ "%sDetta är fri programvara; se källkoden för kopieringsvillkor.\n"
-#~ "%sINGA garantier lämnas, inte ens vid KÖP eller FÖR NÅGOT SPECIFIKT\n"
-#~ "%sÄNDAMÅL.\n"
-
-#~ msgid "extraneous `endef'"
-#~ msgstr "överflödigt \"endef\""
-
-#~ msgid "empty `override' directive"
-#~ msgstr "tomt \"override\"-direktiv"
-
-#~ msgid "invalid `override' directive"
-#~ msgstr "ogiltigt \"override\"-direktiv"
-
-#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
-#~ msgstr "-varning, CTRL-Y lämnar efter sig underprocess(er).\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "# No files."
-#~ msgstr ""
-#~ "\n"
-#~ "# Inga filer."
-
-#~ msgid ""
-#~ "\n"
-#~ "# %u files in %u hash buckets.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "# %u filer i %u hashbehållare.\n"
-
-#~ msgid "# average %.3f files per bucket, max %u files in one bucket.\n"
-#~ msgstr ""
-#~ "# i genomsnitt %.3f filer per behållare, högst %u filer i samma "
-#~ "behållare.\n"
-
-#~ msgid "Syntax error, still inside '\"'\n"
-#~ msgstr "Syntaxfel, är fortfarande innanför '\"'\n"
-
-#~ msgid "Got a SIGCHLD; %u unreaped children.\n"
-#~ msgstr "Erhöll SIGCHLD; %u kvarvarande barnprocesser.\n"
-
-#~ msgid "DIRECTORY"
-#~ msgstr "KATALOG"
-
-#~ msgid "Change to DIRECTORY before doing anything"
-#~ msgstr "Byt till KATALOG först"
-
-#~ msgid "FLAGS"
-#~ msgstr "FLAGGOR"
-
-#~ msgid "Suspend process to allow a debugger to attach"
-#~ msgstr "Suspendera processen för att möjliggöra anslutning av felsökare"
-
-#~ msgid "Environment variables override makefiles"
-#~ msgstr "Miljövariabler åsidosätter makefiler"
-
-#~ msgid "FILE"
-#~ msgstr "FIL"
-
-#~ msgid "Read FILE as a makefile"
-#~ msgstr "Använd FIL som makefil"
-
-#~ msgid "Search DIRECTORY for included makefiles"
-#~ msgstr "Genomsök KATALOG efter inkluderade makefiler"
-
-#~ msgid "Don't start multiple jobs unless load is below N"
-#~ msgstr "Påbörja flera jobb endast om lasten understiger N"
-
-#~ msgid "Don't actually run any commands; just print them"
-#~ msgstr "Kör inte kommandona, skriv bara ut dem"
-
-#~ msgid "Consider FILE to be very old and don't remake it"
-#~ msgstr "Betrakta FIL som mycket gammal och återskapa den inte"
-
-#~ msgid "Don't echo commands"
-#~ msgstr "Återge inte kommandon"
-
-#~ msgid "Turns off -k"
-#~ msgstr "Stänger av -k"
-
-#~ msgid "Consider FILE to be infinitely new"
-#~ msgstr "Betrakta FIL som hur ny som helst"
-
-#~ msgid "Do not specify -j or --jobs if sh.exe is not available."
-#~ msgstr "Ange inte -j eller --jobs om sh.exe inte finns tillgänglig."
-
-#~ msgid "Resetting make for single job mode."
-#~ msgstr "Återställer make för enkeljobbsläge."
-
-#~ msgid "Entering"
-#~ msgstr "Går till"
-
-#~ msgid "Leaving"
-#~ msgstr "Lämnar"
-
-#~ msgid "no file name for `%sinclude'"
-#~ msgstr "inget filnamn till \"%sinclude\""
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "internt fel: flera flaggor â€--sync-mutexâ€"
-#~ msgid "target `%s' leaves prerequisite pattern empty"
-#~ msgstr "målet \"%s\" har ett tomt beroendemönster"
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "internt fel: flera \"--jobserver-fds\"-flaggor"
-#~ msgid "# No variables."
-#~ msgstr "# Inga variabler."
+#~ msgid "virtual memory exhausted"
+#~ msgstr "virtuellt minne uttömt"
-#~ msgid "# average of %.1f variables per bucket, max %u in one bucket.\n"
-#~ msgstr ""
-#~ "# i genomsnitt %1.f variabler per behållare, högst %u i samma behållare.\n"
+#~ msgid "write error"
+#~ msgstr "skrivfel"
-#~ msgid "# average of %d.%d variables per bucket, max %u in one bucket.\n"
-#~ msgstr ""
-#~ "# i genomsnitt %d.%d variabler per behållare, högst %u i samma "
-#~ "behållare.\n"
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "INBYGGT RM %s\n"
diff --git a/po/tr.gmo b/po/tr.gmo
index 002a950b..6a3ede86 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 441e10c0..79aa8076 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,118 +6,124 @@ msgid ""
msgstr ""
"Project-Id-Version: make 3.81\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-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 <nilgun@buguner.name.tr>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
+"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.9.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ar.c:48
-#, c-format
-msgid "attempt to use unsupported feature: `%s'"
+#: ar.c:46
+#, fuzzy, c-format
+msgid "attempt to use unsupported feature: '%s'"
msgstr "desteklenmeyen özelliği kullanmaya çalışıyor: `%s'"
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
msgstr "VMS'de işe yaramayan arşiv üyesine dokunup geçiyor"
-#: ar.c:149
-#, c-format
-msgid "touch: Archive `%s' does not exist"
+#: ar.c:147
+#, fuzzy, c-format
+msgid "touch: Archive '%s' does not exist"
msgstr "Dokunulup geçildi: Arşiv `%s' yok"
-#: ar.c:152
-#, c-format
-msgid "touch: `%s' is not a valid archive"
+#: ar.c:150
+#, fuzzy, c-format
+msgid "touch: '%s' is not a valid archive"
msgstr "Dokunulup geçildi: `%s' geçerli bir arşiv değil"
-#: ar.c:159
-#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
+#: ar.c:157
+#, fuzzy, c-format
+msgid "touch: Member '%s' does not exist in '%s'"
msgstr "Dokunulup geçildi: Üye `%s', `%s' içinde yok"
-#: ar.c:166
-#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
+#: ar.c:164
+#, fuzzy, c-format
+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:69
+#: 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:175
+#: 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:187
-#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
+#: 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:850
-#, c-format
-msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
+#: 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:851
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr "(isim kırpılmış olmalı)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Tarih %s"
-#: arscan.c:854
+#: 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:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr ""
+
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** Bırakıldı.\n"
-#: commands.c:622
-#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
+#: 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:625
-#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
+#: 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:638
-#, c-format
-msgid "*** [%s] Deleting file `%s'"
+#: commands.c:647
+#, fuzzy, c-format
+msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] `%s' dosyası siliniyor"
-#: commands.c:640
-#, c-format
-msgid "*** Deleting file `%s'"
+#: commands.c:649
+#, fuzzy, c-format
+msgid "*** Deleting file '%s'"
msgstr "*** `%s' dosyası siliniyor"
-#: commands.c:676
+#: commands.c:685
#, fuzzy
msgid "# recipe to execute"
msgstr "# çalıştırma komutları"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
msgstr " (paket içinde):"
-#: commands.c:681
-#, c-format
-msgid " (from `%s', line %lu):\n"
+#: commands.c:690
+#, fuzzy, c-format
+msgid " (from '%s', line %lu):\n"
msgstr " (`%s'den, satır %lu):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -125,224 +131,228 @@ msgstr ""
"\n"
"# Dizin\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
msgstr "# %s: durumlanamadı.\n"
-#: dir.c:1012
+#: 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:1016
+#: 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:1021
+#: 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:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
msgstr "# %s (anahtar (key) %s, deÄŸiÅŸiklik tarihi (mtime) %d):"
-#: dir.c:1052
+#: 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:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
msgstr "# %s (aygıt %ld, i-düğüm %ld):"
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "Hayır"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr " dosyaları,"
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "hayır"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
msgstr "olanaksızlıklar"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
msgstr " çok uzak."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
msgstr " %lu dizinde olanaksızlıklar.\n"
-#: expand.c:127
-#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
+#: expand.c:125
+#, fuzzy, c-format
+msgid "Recursive variable '%s' references itself (eventually)"
msgstr "Çevrimsel değişken `%s' tekrar kendine bağıntılı (sonuçta)"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
msgstr "sonlandırılmamış değişken bağıntısı"
-#: file.c:267
+#: file.c:271
#, fuzzy, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
+msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "`%s' dosyası için komutlar %s:%lu de belirtildi,"
-#: file.c:272
+#: file.c:276
#, fuzzy, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
+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:275
-#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
+#: 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:278
+#: file.c:283
#, fuzzy, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
+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:298
-#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
+#: 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:303
-#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
+#: 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:392
-#, c-format
-msgid "*** Deleting intermediate file `%s'"
+#: file.c:401
+#, fuzzy, c-format
+msgid "*** Deleting intermediate file '%s'"
msgstr "*** Aracı dosya `%s' siliniyor"
-#: file.c:396
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "Aracı dosyalar siliniyor...\n"
-#: file.c:803
+#: file.c:811
+msgid "Current time"
+msgstr "Åžu an"
+
+#: 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:804
-msgid "Current time"
-msgstr "Åžu an"
-
-#: file.c:924
+#: file.c:955
msgid "# Not a target:"
msgstr "# Bir hedef deÄŸil:"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# Kıymetli dosya (.PRECIOUS önceden gerekliliği)."
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# Sahte hedef (.PHONY önceden gerekliliği)."
-#: file.c:933
+#: file.c:964
#, fuzzy
msgid "# Command line target."
msgstr "# Komut-satırı hedefi."
-#: file.c:935
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# Bir öntanımlı,MAKEFILES veya -include/sinclude makefile."
-#: file.c:937
+#: file.c:968
+#, fuzzy
+msgid "# Builtin rule"
+msgstr ""
+"\n"
+"# Örtük kural yok."
+
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# Örtük kural araştırması yapılmıştı."
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# Örtük kural araştırması yapılmamıştı."
-#: file.c:940
-#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
+#: 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:942
+#: 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:946
+#: file.c:979
msgid "# Also makes:"
msgstr "# OluÅŸtursa da:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# Değişiklik zamanı hiç kontrol edilmedi."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
msgstr "# Dosya yok."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
msgstr "# Dosya çok eski."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# Son deÄŸiÅŸiklik tarihi %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
msgstr "# Dosya güncelleştirilmişti."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
msgstr "# Dosya güncelleştirilmemişti."
-#: file.c:968
+#: 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:971
+#: 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:980
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# Tamamen güncellendi."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# Güncellenmiş olması gerekir (-q verildi)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# Güncellenmiş olamadı."
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# `update_status' üyesinde geçersiz değer!"
-
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
+#: file.c:1025
+#, fuzzy
+msgid "# Invalid value in 'command_state' member!"
msgstr "# `command_state' üyesinde geçersiz değer!"
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -350,7 +360,7 @@ msgstr ""
"\n"
"# Dosyalar"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -360,117 +370,175 @@ msgstr ""
"# dosyaların hash tablosu durumları:\n"
"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr ""
+
+#: function.c:780
+#, fuzzy
+msgid "non-numeric first argument to 'word' function"
msgstr "`word' işlevinde sayısal olmayan ilk argüman"
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
+#: 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:783
-msgid "non-numeric first argument to `wordlist' function"
+#: function.c:805
+#, fuzzy
+msgid "non-numeric first argument to 'wordlist' function"
msgstr "`wordlist' işlevinde sayısal olmayan ilk argüman"
-#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
+#: function.c:807
+#, fuzzy
+msgid "non-numeric second argument to 'wordlist' function"
msgstr "`wordlist' işlevinde sayısal olmayan ikinci argüman"
-#: function.c:1458
+#: function.c:1499
#, fuzzy, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "create_child_process: DuplicateHandle(In) başarısız (e=%ld)\n"
-#: function.c:1469
+#: function.c:1523
#, fuzzy, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "create_child_process: DuplicateHandle(Err) başarısız (e=%ld)\n"
-#: function.c:1474
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() başarısız (e=%ld)\n"
-#: function.c:1479
+#: 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:1728
+#: 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:2150
+#: function.c:2193
+#, fuzzy, c-format
+msgid "open: %s: %s"
+msgstr "%s: %s"
+
+#: function.c:2203
+#, fuzzy, c-format
+msgid "write: %s: %s"
+msgstr "yazma hatası: %s"
+
+#: function.c:2209
#, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
+msgid "Invalid file operation: %s"
+msgstr ""
+
+#: 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:2162
-#, c-format
-msgid "unimplemented on this platform: function `%s'"
+#: function.c:2336
+#, fuzzy, c-format
+msgid "unimplemented on this platform: function '%s'"
msgstr "bu platformda gerçekleştirilmemiş: işlev `%s'"
-#: function.c:2212
-#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
+#: 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"
-#: getopt.c:661
+#: function.c:2591
+msgid "Empty function name"
+msgstr ""
+
+#: function.c:2593
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: `%s' seçeneği belirsiz\n"
+msgid "Invalid function name: %s"
+msgstr ""
-#: getopt.c:685
+#: function.c:2595
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "Function name too long: %s"
+msgstr ""
+
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr "argüman sayısı (%d) `%s' işlevinde yetersiz"
+
+#: function.c:2601
+#, fuzzy, c-format
+msgid "Invalid maximum argument count (%d) for function %s"
+msgstr "argüman sayısı (%d) `%s' işlevinde yetersiz"
+
+#: getopt.c:659
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: `%s' seçeneği belirsiz\n"
+
+#: getopt.c:683
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: `--%s' seçeneği argümansız kullanılır\n"
-#: getopt.c:690
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+#: getopt.c:688
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: seçenek `%c%s' argümansız kullanılır\n"
-#: getopt.c:707 getopt.c:880
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
+#: getopt.c:705 getopt.c:878
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s: `%s' seçeneği bir argümanla kullanılır\n"
-#: getopt.c:736
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+#: getopt.c:734
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: `--%s' seçeneği bilinmiyor\n"
-#: getopt.c:740
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:738
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: `%c%s' seçeneği bilinmiyor\n"
-#: getopt.c:766
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: kuraldışı seçenek -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: geçersiz seçenek -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: seçenek bir argümanla kullanılır -- %c\n"
-#: getopt.c:846
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:844
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: `-W %s' seçeneği belirsiz\n"
-#: getopt.c:864
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:862
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: `-W %s' seçeneği argümansız kullanılır\n"
+#: guile.c:58
+#, c-format
+msgid "guile: Expanding '%s'\n"
+msgstr ""
+
+#: guile.c:74
+#, c-format
+msgid "guile: Evaluating '%s'\n"
+msgstr ""
+
#: hash.c:49
#, fuzzy, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
@@ -491,131 +559,156 @@ msgstr "Rehash=%d, "
msgid "Collisions=%ld/%ld=%.0f%%"
msgstr "Çakışmalar=%ld/%ld=%.0f%%"
-#: implicit.c:40
-#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
+#: implicit.c:38
+#, fuzzy, c-format
+msgid "Looking for an implicit rule for '%s'.\n"
msgstr "`%s' için bir örtük kural arıyor.\n"
-#: implicit.c:56
-#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
+#: implicit.c:54
+#, fuzzy, c-format
+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:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
msgstr "Örtük kural çevrimi görmezden geliniyor.\n"
-#: implicit.c:491
+#: implicit.c:486
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
+msgid "Stem too long: '%.*s'.\n"
+msgstr ""
+
+#: implicit.c:491
+#, fuzzy, c-format
+msgid "Trying pattern rule with stem '%.*s'.\n"
msgstr "`%.*s' köküyle kalıp kuralı deneniyor.\n"
-#: implicit.c:674
-#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
+#: implicit.c:697
+#, fuzzy, c-format
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
msgstr "Kural önceden gerekliliği `%s' olanaksız olduğundan reddediliyor.\n"
-#: implicit.c:675
-#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
+#: implicit.c:698
+#, fuzzy, c-format
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
msgstr "Örtük önceden gereklilik `%s' olanaksız olduğundan reddediliyor.\n"
-#: implicit.c:688
-#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
+#: implicit.c:711
+#, fuzzy, c-format
+msgid "Trying rule prerequisite '%s'.\n"
msgstr "Kural önceden gerekliliği `%s' deneniyor.\n"
-#: implicit.c:689
-#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
+#: implicit.c:712
+#, fuzzy, c-format
+msgid "Trying implicit prerequisite '%s'.\n"
msgstr "Örtük önceden gereklilik `%s' deneniyor.\n"
-#: implicit.c:728
-#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
+#: implicit.c:751
+#, fuzzy, c-format
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
msgstr "Önceden gereklilik `%s' VPATH `%s' olarak bulundu.\n"
-#: implicit.c:742
-#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
+#: implicit.c:765
+#, fuzzy, c-format
+msgid "Looking for a rule with intermediate file '%s'.\n"
msgstr "Aracı dosya `%s' ile bir kural arıyor.\n"
-#: job.c:335
+#: job.c:361
msgid "Cannot create a temporary file\n"
msgstr "Bir geçici dosya oluşturulamıyor\n"
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] Hata 0x%x (yoksayıldı)"
-
-#: job.c:450
-#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] Hata 0x%x"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (bellek kopyası - core dosyası - diske yazıldı)"
-#: job.c:454
-#, c-format
-msgid "[%s] Error %d (ignored)"
+#: job.c:488
+#, fuzzy
+msgid " (ignored)"
msgstr "[%s] Hata %d (yoksayıldı)"
-#: job.c:455
+#: job.c:492 job.c:2046
+#, fuzzy
+msgid "<builtin>"
+msgstr " (paket içinde):"
+
+#: job.c:503
#, c-format
-msgid "*** [%s] Error %d"
+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] Hata %d"
-#: job.c:460
-msgid " (core dumped)"
-msgstr " (bellek kopyası - core dosyası - diske yazıldı)"
+#: job.c:519
+#, fuzzy, c-format
+msgid "%s[%s] Error 0x%x%s"
+msgstr "*** [%s] Hata 0x%x"
-#: job.c:549
+#: 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:579
+#: 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:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (karşıdan)"
-#: job.c:758
+#: 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:759
+#: 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:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Geçici komut-listesi dosyası %s temizleniyor\n"
-#: job.c:861
+#: 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: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:920
-msgid "write jobserver"
-msgstr "iş-sunucusu yazıyor"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
+msgstr ""
-#: job.c:922
+#: 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:1453 job.c:2094
+#: 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:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -624,137 +717,194 @@ msgstr ""
"\n"
"Sayılan %d argüman ile başarısız oldu\n"
-#: job.c:1525
+#: 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:1778
+#: 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:1787
+#: job.c:2029
msgid "read jobs pipe"
msgstr "görev listesi okunuyor"
-#: job.c:1798
-#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr ""
+#: job.c:2056
+#, fuzzy, c-format
+msgid "%s: target '%s' does not exist"
+msgstr "Dokunulup geçildi: Arşiv `%s' yok"
-#: job.c:1802
+#: job.c:2059
#, fuzzy, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "Hedef `%s' nin yeniden derlenmesine gerek yok"
+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:1910
+#: 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:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "ulaşılamayan yük sınırı: "
-#: job.c:1985
+#: 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:1987
+#: 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:2015
+#: 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:2293
msgid "Could not restore stdin\n"
msgstr "Standart girdi eski haline getirilemedi\n"
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "Standart çıktı eski haline getirilemedi\n"
-#: job.c:2127
+#: job.c:2309
+#, fuzzy
+msgid "Could not restore stderr\n"
+msgstr "Standart girdi eski haline getirilemedi\n"
+
+#: 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:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s: Komut bulunamadı"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Kabuk uygulaması bulunamadı"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: ortam alanı tükenmiş olabilir"
-#: job.c:2461
-#, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
+#: 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:2951
+#: 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:2963
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-#: job.c:3065
+#: 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"
-#: main.c:303
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr ""
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr ""
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr ""
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr ""
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr ""
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr ""
+
+#: load.c:244
+#, fuzzy
+msgid "The 'load' operation is not supported on this platform."
+msgstr "Bu platformda paralel iÅŸler (-j) desteklenmiyor."
+
+#: main.c:313
msgid "Options:\n"
msgstr "Seçenekler:\n"
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m Uyumluluk için yoksayıldı.\n"
-#: main.c:306
+#: 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:308
+#: 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:311
+#: 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:313
+#: 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:315
+#: 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:318
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
-#: main.c:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -762,16 +912,16 @@ msgstr ""
" -f DOSYA, --file=DOSYA, --makefile=DOSYA\n"
" DOSYAyı bir makefile olarak okur.\n"
-#: main.c:323
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help Bu iletiyi basar ve çıkar.\n"
-#: main.c:325
+#: 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:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -779,7 +929,7 @@ msgstr ""
" -I DÄ°ZÄ°N, --include-dir=DÄ°ZÄ°N\n"
" Eklenecek makefile'ları DİZİNde arar.\n"
-#: main.c:330
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
@@ -787,13 +937,13 @@ msgstr ""
" -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:332
+#: 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:334
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -803,7 +953,7 @@ msgstr ""
" Yük N'den az olmadıkça çoklu işler "
"başlatılmaz.\n"
-#: main.c:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
@@ -811,7 +961,7 @@ msgstr ""
" -L, --check-symlink-times sembolik bağlarla hedef arasında en son mtime\n"
" kullanılır\n"
-#: main.c:339
+#: main.c:349
#, fuzzy
msgid ""
" -n, --just-print, --dry-run, --recon\n"
@@ -821,7 +971,7 @@ msgstr ""
" -n, --just-print, --dry-run, --recon\n"
" Gerçekte komutlar çalıştırılmaz, gösterilir.\n"
-#: main.c:342
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -831,11 +981,17 @@ msgstr ""
" DOSYAnın çok eski olduğu varsayılır ve\n"
" yeniden işlem yapılmaz.\n"
-#: main.c:345
+#: main.c:355
+msgid ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
+msgstr ""
+
+#: 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:347
+#: main.c:360
#, fuzzy
msgid ""
" -q, --question Run no recipe; exit status says if up to "
@@ -843,44 +999,49 @@ msgid ""
msgstr ""
" -q, --question Komut çalıştırmaz; güncelse çıkışta belirtir\n"
-#: main.c:349
+#: 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:351
+#: 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:353
+#: 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:355
+#: 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:358
+#: 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:360
+#: main.c:373
+#, fuzzy
+msgid " --trace Print tracing information.\n"
+msgstr " -b, -m Bir sürü hata ayıklama bilgisi basar.\n"
+
+#: 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:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory Kullanılan dizini basar.\n"
-#: main.c:364
+#: main.c:379
msgid ""
" --no-print-directory Turn off -w, even if it was turned on "
"implicitly.\n"
@@ -888,7 +1049,7 @@ msgstr ""
" --no-print-directory Dolaylı olarak açılmış olsa bile -w 'yi "
"kapatır\n"
-#: main.c:366
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -896,7 +1057,7 @@ msgstr ""
" -W DOSYA, --what-if=DOSYA, --new-file=DOSYA, --assume-new=DOSYA\n"
" DOSYA sonsuz yeni varsayılır.\n"
-#: main.c:369
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
@@ -904,21 +1065,26 @@ msgstr ""
" --warn-undefined-variables Atanmamış bir değişkene bağıntı yapıldığında\n"
" uyarır.\n"
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "dosyaismi olarak boş dizge geçersiz"
-#: main.c:650
-#, c-format
-msgid "unknown debug level specification `%s'"
+#: main.c:737
+#, fuzzy, c-format
+msgid "unknown debug level specification '%s'"
msgstr "Hata ayıklama düzeyi özelliği `%s' bilinmiyor"
-#: main.c:690
+#: main.c:774
+#, c-format
+msgid "unknown output-sync type '%s'"
+msgstr ""
+
+#: 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:697
+#: main.c:835
#, fuzzy, c-format
msgid ""
"\n"
@@ -933,161 +1099,179 @@ msgstr ""
"OlağandışılıkBayrakları = %lx\n"
"OlağandışılıkAdresi = %lx\n"
-#: main.c:705
+#: 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:706
+#: 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:781 main.c:792
+#: 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:834
+#: 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:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s 30 saniyeliğine askıya alınıyor..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "sleep(30) bitti. Devam ediliyor.\n"
-#: main.c:1501
+#: 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."
+msgstr ""
+"uyarı: iş sunucusu kullanımdışı: -j1 kullanılıyor. Üst make kuralına `+' "
+"ekle."
+
+#: main.c:1742
msgid "Makefile from standard input specified twice."
msgstr "Makefile standart girdiden iki kez belirtildi."
-#: main.c:1539 vmsjobs.c:500
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (geçici dosya)"
-#: main.c:1545
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (geçici dosya)"
-#: main.c:1703
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "Bu platformda paralel iÅŸler (-j) desteklenmiyor."
-#: main.c:1704
+#: 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:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "içsel hata: çok sayıda --jobserver-fds seçeneği"
-
-#: main.c:1727
+#: main.c:1994
#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
-msgstr "içsel hata: --jobserver-fds dizgesi `%s' geçersiz"
-
-#: main.c:1730
-#, c-format
-msgid "Jobserver client (fds %d,%d)\n"
+msgid "Jobserver slots limited to %d\n"
msgstr ""
-#: main.c:1740
-msgid "warning: -jN forced in submake: disabling jobserver mode."
-msgstr "uyarı: alt derlemede -jN zorlandı: iş sunucusu kipi kapatılıyor."
-
-#: main.c:1750
-msgid "dup jobserver"
-msgstr "çift iş sunucusu"
-
-#: main.c:1753
-msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
+#: main.c:2002
+#, c-format
+msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr ""
-"uyarı: iş sunucusu kullanımdışı: -j1 kullanılıyor. Üst make kuralına `+' "
-"ekle."
-#: main.c:1777
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "işleri yaratıyor"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "işleri hazırlıyor"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "Sembolik baÄŸlar desteklenmiyor: -L iptal ediliyor"
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "makefile'ları güncelliyor...\n"
-#: main.c:1917
-#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
+#: 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:1996
-#, c-format
-msgid "Failed to remake makefile `%s'."
+#: main.c:2237
+#, fuzzy, c-format
+msgid "Failed to remake makefile '%s'."
msgstr "`%s' make dosyası yeniden derlenemiyor."
-#: main.c:2013
-#, c-format
-msgid "Included makefile `%s' was not found."
+#: main.c:2257
+#, fuzzy, c-format
+msgid "Included makefile '%s' was not found."
msgstr "İçerilen make dosyası `%s' bulunamadı."
-#: main.c:2018
-#, c-format
-msgid "Makefile `%s' was not found"
+#: main.c:2262
+#, fuzzy, c-format
+msgid "Makefile '%s' was not found"
msgstr "`%s' make dosyası bulunamadı"
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "Geriye, özgün dizine geçilemiyor."
-#: main.c:2102
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "Yeniden çalıştırılıyor[%u]:"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "unlink (geçici dosya): "
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL bir hedeften fazlasını içeriyor"
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "Hedefler belirtilmediğinden make dosyası yok"
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
msgstr "Hedef yok"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "Amaçlanan hedefler güncelleniyor...\n"
-#: main.c:2306
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr "uyarı: Clock skew saptandı. Derleme tamamlanamayabilir."
-#: main.c:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Kullanım: %s [seçenekler] [hedef] ...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1096,7 +1280,7 @@ msgstr ""
"\n"
"Bu program %s için kurgulanmış\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1105,38 +1289,38 @@ msgstr ""
"\n"
"Bu program %s için kurgulanmış (%s)\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr ""
"Yazılım hatalarını <bug-make@gnu.org> adresine,\n"
"çeviri hatalarını <gnu-tr@belgeler.org> adresine bildiriniz.\n"
-#: main.c:2562
+#: main.c:2807
#, fuzzy, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
+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:2617
-#, c-format
-msgid "the `-%c' option requires a positive integral argument"
+#: 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:3054
+#: main.c:3269
#, fuzzy, c-format
msgid "%sBuilt for %s\n"
msgstr ""
"\n"
"%sBu program %s için derlenmiş\n"
-#: main.c:3056
+#: main.c:3271
#, fuzzy, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr ""
"\n"
"%sBu program %s için derlenmiş (%s)\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1145,7 +1329,7 @@ msgid ""
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1154,7 +1338,7 @@ msgstr ""
"\n"
"# Make veri tabanı, %s üzerine basıldı"
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1163,452 +1347,468 @@ msgstr ""
"\n"
"# %s üzerindeki Make veri tabanı tamamlandı\n"
-#: main.c:3237
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "Bilinmeyen hata %d"
+
+#: misc.c:522
+#, c-format
+msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+msgstr "%s: kullanıcı %lu (gerçekte %lu), grup %lu (gerçekte %lu)\n"
+
+#: misc.c:543
+msgid "Initialized access"
+msgstr "Ä°lklendirilmiÅŸ eriÅŸim"
+
+#: misc.c:622
+msgid "User access"
+msgstr "Kullanıcı erişimi"
+
+#: misc.c:670
+msgid "Make access"
+msgstr "Make eriÅŸimi"
+
+#: misc.c:704
+msgid "Child access"
+msgstr "Asta eriÅŸim"
+
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: bilinmeyen bir dizine giriliyor\n"
-#: main.c:3239
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: bilinmeyen dizinden çıkılıyor\n"
-#: main.c:3242
-#, c-format
-msgid "%s: Entering directory `%s'\n"
+#: output.c:109
+#, fuzzy, c-format
+msgid "%s: Entering directory '%s'\n"
msgstr "%s: `%s' dizine giriliyor\n"
-#: main.c:3245
-#, c-format
-msgid "%s: Leaving directory `%s'\n"
+#: output.c:111
+#, fuzzy, c-format
+msgid "%s: Leaving directory '%s'\n"
msgstr "%s: `%s' dizininden çıkılıyor\n"
-#: main.c:3250
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: Bilinmeyen bir dizine giriliyor\n"
-#: main.c:3253
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: Bilinmeyen dizinden çıkılıyor\n"
-#: main.c:3257
-#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
+#: output.c:120
+#, fuzzy, c-format
+msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]:`%s' dizinine giriliyor\n"
-#: main.c:3260
-#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
+#: output.c:122
+#, fuzzy, c-format
+msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: `%s' dizininden çıkılıyor\n"
-#: misc.c:316
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
+msgstr "yazma hatası: %s"
+
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Durdu.\n"
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "Bilinmeyen hata %d"
-
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "sanal bellek tükendi"
-
-#: misc.c:708
-#, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: kullanıcı %lu (gerçekte %lu), grup %lu (gerçekte %lu)\n"
-
-#: misc.c:729
-msgid "Initialized access"
-msgstr "Ä°lklendirilmiÅŸ eriÅŸim"
-
-#: misc.c:808
-msgid "User access"
-msgstr "Kullanıcı erişimi"
-
-#: misc.c:856
-msgid "Make access"
-msgstr "Make eriÅŸimi"
-
-#: misc.c:890
-msgid "Child access"
-msgstr "Asta eriÅŸim"
-
-#: misc.c:954
-#, c-format
-msgid "write error: %s"
-msgstr "yazma hatası: %s"
-
-#: misc.c:956
-msgid "write error"
-msgstr "yazma hatası"
-
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
msgstr "Makefile'lar okunuyor...\n"
-#: read.c:333
-#, c-format
-msgid "Reading makefile `%s'"
+#: read.c:335
+#, fuzzy, c-format
+msgid "Reading makefile '%s'"
msgstr "`%s' make dosyası okunuyor"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (öntanımlı amaç yok)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (arama yolu)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (umurunda deÄŸil)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr "( ~ uzantısı yok)"
-#: read.c:759
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr ""
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr ""
+
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "şartlı ifade de yazılış hatası"
-#: read.c:891
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr ""
+
+#: read.c:992
#, fuzzy
msgid "recipe commences before first target"
msgstr "komutlar ilk hedeften önce başlıyor"
-#: read.c:940
+#: read.c:1041
#, fuzzy
msgid "missing rule before recipe"
msgstr "komutlardan önceki kural kayıp"
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "kayıp ayraç%s"
-
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr "(8 boşluğu TAB'mı zannettiniz?)"
-#: read.c:1163
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "kayıp ayraç%s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "hedef kalıp kayıp"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
msgstr "çok sayıda hedef kalıp"
-#: read.c:1169
-#, c-format
-msgid "target pattern contains no `%%'"
+#: read.c:1276
+#, fuzzy, c-format
+msgid "target pattern contains no '%%'"
msgstr "hedef kalıp `%%' içermiyor"
-#: read.c:1293
-msgid "missing `endif'"
+#: read.c:1398
+#, fuzzy
+msgid "missing 'endif'"
msgstr "`endif' kayıp"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "boÅŸ deÄŸiÅŸken ismi"
-#: read.c:1367
+#: read.c:1471
#, fuzzy
-msgid "extraneous text after `define' directive"
+msgid "extraneous text after 'define' directive"
msgstr "`endef' yönergesinden sonraki metin yersiz"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
+#: read.c:1496
+#, fuzzy
+msgid "missing 'endef', unterminated 'define'"
msgstr "`endef' kayıp, `define' sonlandırılmamış"
-#: read.c:1420
+#: read.c:1524
#, fuzzy
-msgid "extraneous text after `endef' directive"
+msgid "extraneous text after 'endef' directive"
msgstr "`endef' yönergesinden sonraki metin yersiz"
-#: read.c:1490
-#, c-format
-msgid "Extraneous text after `%s' directive"
+#: read.c:1595
+#, fuzzy, c-format
+msgid "extraneous text after '%s' directive"
msgstr "`%s' yönergesinden sonraki metin yersiz"
-#: read.c:1499 read.c:1513
-#, c-format
-msgid "extraneous `%s'"
+#: read.c:1596
+#, fuzzy, c-format
+msgid "extraneous '%s'"
msgstr "`%s' yersiz"
-#: read.c:1518
-msgid "only one `else' per conditional"
+#: read.c:1624
+#, fuzzy
+msgid "only one 'else' per conditional"
msgstr "her şartlı ifade de sadece bir `else'"
-#: read.c:1797
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "Hedefe özgü değişken tanımı bozuk"
-#: read.c:1855
+#: read.c:1957
#, fuzzy
msgid "prerequisites cannot be defined in recipes"
msgstr "öngereksinimler komut betiklerinde tanımlanamaz"
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "örtük ve durağan kalıp kuralları karışmış"
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "örtük ve normal kurallar karışmış"
-#: read.c:1976
-#, c-format
-msgid "target `%s' doesn't match the target pattern"
+#: read.c:2091
+#, fuzzy, c-format
+msgid "target '%s' doesn't match the target pattern"
msgstr "hedef `%s' hedef kalıpla eşleşmiyor"
-#: read.c:1991 read.c:2036
-#, c-format
-msgid "target file `%s' has both : and :: entries"
+#: read.c:2106 read.c:2152
+#, fuzzy, c-format
+msgid "target file '%s' has both : and :: entries"
msgstr "hedef dosya `%s'hem : hem de :: girdilerine sahip"
-#: read.c:1997
-#, c-format
-msgid "target `%s' given more than once in the same rule."
+#: read.c:2112
+#, fuzzy, c-format
+msgid "target '%s' given more than once in the same rule"
msgstr "hedef `%s' aynı kuralda birden fazla belirtilmiş."
-#: read.c:2006
+#: read.c:2122
#, fuzzy, c-format
-msgid "warning: overriding recipe for target `%s'"
+msgid "warning: overriding recipe for target '%s'"
msgstr "uyarı: hedef `%s' için komutlar geçersiz kılınıyor"
-#: read.c:2009
+#: read.c:2125
#, fuzzy, c-format
-msgid "warning: ignoring old recipe for target `%s'"
+msgid "warning: ignoring old recipe for target '%s'"
msgstr "uyarı: hedef `%s' için eski komutlar yoksayılıyor"
-#: read.c:2392
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "örtük ve normal kurallar karışmış"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "uyarı: NUL karakteri görüldü; satırın geri kalanı yoksayılıyor"
-#: remake.c:234
-#, c-format
-msgid "Nothing to be done for `%s'."
+#: remake.c:230
+#, fuzzy, c-format
+msgid "Nothing to be done for '%s'."
msgstr "`%s' için hiçbir şey yapılmadı."
-#: remake.c:235
-#, c-format
-msgid "`%s' is up to date."
+#: remake.c:231
+#, fuzzy, c-format
+msgid "'%s' is up to date."
msgstr "`%s' güncel"
-#: remake.c:306
-#, c-format
-msgid "Pruning file `%s'.\n"
+#: remake.c:303
+#, fuzzy, c-format
+msgid "Pruning file '%s'.\n"
msgstr "Budanmış dosya `%s'.\n"
-#: remake.c:359
-#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%sHedef `%s' i derlemek için hiçbir kural yok%s"
-
-#: remake.c:361
-#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
+#: remake.c:390 remake.c:393
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr ""
"%sHedef `%s' i derlemek için hiçbir kural yok, `%s' tarafından gereksinim "
"duyuluyor%s"
-#: remake.c:413
-#, c-format
-msgid "Considering target file `%s'.\n"
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sHedef `%s' i derlemek için hiçbir kural yok%s"
+
+#: remake.c:426
+#, fuzzy, c-format
+msgid "Considering target file '%s'.\n"
msgstr "hedef dosya `%s' hesaba katılıyor.\n"
-#: remake.c:420
-#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
+#: remake.c:433
+#, fuzzy, c-format
+msgid "Recently tried and failed to update file '%s'.\n"
msgstr "En son `%s'dosyasının güncellenmesi denendi ve başarısız oldu.\n"
-#: remake.c:432
-#, c-format
-msgid "File `%s' was considered already.\n"
+#: remake.c:445
+#, fuzzy, c-format
+msgid "File '%s' was considered already.\n"
msgstr "`%s' dosyası zaten hesaba katıldı.\n"
-#: remake.c:442
-#, c-format
-msgid "Still updating file `%s'.\n"
+#: remake.c:455
+#, fuzzy, c-format
+msgid "Still updating file '%s'.\n"
msgstr "`%s' dosyası hala güncelleniyor.\n"
-#: remake.c:445
-#, c-format
-msgid "Finished updating file `%s'.\n"
+#: remake.c:458
+#, fuzzy, c-format
+msgid "Finished updating file '%s'.\n"
msgstr "`%s' dosyasının güncellenmesi tamamlandı.\n"
-#: remake.c:474
-#, c-format
-msgid "File `%s' does not exist.\n"
+#: remake.c:487
+#, fuzzy, c-format
+msgid "File '%s' does not exist.\n"
msgstr "`%s' dosyası yok.\n"
-#: remake.c:481
-#, c-format
+#: remake.c:495
+#, fuzzy, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
"*** Uyarı: .LOW_RESOLUTION_TIME dosyası `%s' yüksek çözünürlüklü bir zaman "
"damgası içeriyor"
-#: remake.c:494 remake.c:1016
-#, c-format
-msgid "Found an implicit rule for `%s'.\n"
+#: remake.c:508 remake.c:1040
+#, fuzzy, c-format
+msgid "Found an implicit rule for '%s'.\n"
msgstr "`%s' için bir örtük kural bulundu.\n"
-#: remake.c:496 remake.c:1018
-#, c-format
-msgid "No implicit rule found for `%s'.\n"
+#: remake.c:510 remake.c:1042
+#, fuzzy, c-format
+msgid "No implicit rule found for '%s'.\n"
msgstr "`%s' için bir örtük kural yok.\n"
-#: remake.c:502
+#: remake.c:516
#, fuzzy, c-format
-msgid "Using default recipe for `%s'.\n"
+msgid "Using default recipe for '%s'.\n"
msgstr "`%s' için öntanımlı komutlar kullanılıyor.\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Çevrimsel %s <- %s bağımlılığı iptal edildi."
-#: remake.c:651
-#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
+#: remake.c:675
+#, fuzzy, c-format
+msgid "Finished prerequisites of target file '%s'.\n"
msgstr "`%s' hedef dosyasının önceden gereklilikleri tamamlandı.\n"
-#: remake.c:657
-#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
+#: remake.c:681
+#, fuzzy, c-format
+msgid "The prerequisites of '%s' are being made.\n"
msgstr "`%s' için önceden gereklilikler derlenmeye devam ediyor.\n"
-#: remake.c:670
-#, c-format
-msgid "Giving up on target file `%s'.\n"
+#: remake.c:695
+#, fuzzy, c-format
+msgid "Giving up on target file '%s'.\n"
msgstr "`%s' hedef dosyasında umut kesiliyor.\n"
-#: remake.c:675
-#, c-format
-msgid "Target `%s' not remade because of errors."
+#: remake.c:700
+#, fuzzy, c-format
+msgid "Target '%s' not remade because of errors."
msgstr "Hedef `%s' hatalardan dolayı yeniden derlenemez."
-#: remake.c:727
-#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
+#: remake.c:752
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr "Önceden gerekli `%s' hedef `%s' için şart.\n"
-#: remake.c:732
-#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
+#: remake.c:757
+#, fuzzy, c-format
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "Hedef `%s' in önceden gereklisi `%s' mevcut değil.\n"
-#: remake.c:737
-#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
+#: remake.c:762
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "Önceden gerekli `%s' hedef `%s' den daha yeni.\n"
-#: remake.c:740
-#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
+#: remake.c:765
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "Önceden gerekli `%s' hedef `%s' den daha eski.\n"
-#: remake.c:758
-#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
+#: remake.c:783
+#, fuzzy, c-format
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr "Hedef `%s' çift-sütunlu ve önceden gereklilikler gerektirmiyor.\n"
-#: remake.c:765
+#: remake.c:790
#, fuzzy, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr "`%s' için komutlar ve önceden gerekliliklerde bir değişiklik yok.\n"
-#: remake.c:770
-#, c-format
-msgid "Making `%s' due to always-make flag.\n"
+#: remake.c:795
+#, fuzzy, c-format
+msgid "Making '%s' due to always-make flag.\n"
msgstr "Daima derle seçeneğinden dolayı `%s' derleniyor.\n"
-#: remake.c:778
-#, c-format
-msgid "No need to remake target `%s'"
+#: remake.c:803
+#, fuzzy, c-format
+msgid "No need to remake target '%s'"
msgstr "Hedef `%s' nin yeniden derlenmesine gerek yok"
-#: remake.c:780
-#, c-format
-msgid "; using VPATH name `%s'"
+#: remake.c:805
+#, fuzzy, c-format
+msgid "; using VPATH name '%s'"
msgstr "; VPATH ismi `%s' kullanılıyor"
-#: remake.c:800
-#, c-format
-msgid "Must remake target `%s'.\n"
+#: remake.c:825
+#, fuzzy, c-format
+msgid "Must remake target '%s'.\n"
msgstr "Hedef `%s' yeniden derlenmeli.\n"
-#: remake.c:806
-#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
+#: remake.c:831
+#, fuzzy, c-format
+msgid " Ignoring VPATH name '%s'.\n"
msgstr " VPATH ismi `%s' yoksayılıyor.\n"
-#: remake.c:815
+#: remake.c:840
#, fuzzy, c-format
-msgid "Recipe of `%s' is being run.\n"
+msgid "Recipe of '%s' is being run.\n"
msgstr "`%s' nin komutları çalışmaya devam ediyor.\n"
-#: remake.c:822
-#, c-format
-msgid "Failed to remake target file `%s'.\n"
+#: remake.c:847
+#, fuzzy, c-format
+msgid "Failed to remake target file '%s'.\n"
msgstr "Hedef dosya `%s' yeniden derlenirken hata oluÅŸtu.\n"
-#: remake.c:825
-#, c-format
-msgid "Successfully remade target file `%s'.\n"
+#: remake.c:850
+#, fuzzy, c-format
+msgid "Successfully remade target file '%s'.\n"
msgstr "Hedef dosya `%s' yeniden derlenmesi başarıyla tamamlandı.\n"
-#: remake.c:828
-#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
+#: remake.c:853
+#, fuzzy, c-format
+msgid "Target file '%s' needs to be remade under -q.\n"
msgstr "`%s' hedef dosyasının -q ile yeniden derlenmesi gerekir.\n"
-#: remake.c:1024
-#, c-format
-msgid "Using default commands for `%s'.\n"
+#: remake.c:1048
+#, fuzzy, c-format
+msgid "Using default commands for '%s'.\n"
msgstr "`%s' için öntanımlı komutlar kullanılıyor.\n"
-#: remake.c:1357
-#, c-format
-msgid "Warning: File `%s' has modification time in the future"
+#: remake.c:1397
+#, fuzzy, c-format
+msgid "Warning: File '%s' has modification time in the future"
msgstr "Uyarı: `%s' dosyası gelecekteki bir değişiklik tarihini içeriyor"
-#: remake.c:1370
+#: remake.c:1411
#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
+msgid "Warning: File '%s' has modification time %s s in the future"
msgstr "Uyarı: `%s' dosyasının değişiklik tarihi %.2g s kadar gelecekte"
-#: remake.c:1569
-#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
+#: remake.c:1610
+#, fuzzy, c-format
+msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr ".LIBPATTERNS elemanı `%s' bir kalıp değil"
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
msgstr "Özelleştirilmiş olanlar dışarı aktarılmayacak: %s\n"
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1616,7 +1816,7 @@ msgstr ""
"\n"
"# Örtük Kurallar"
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1624,7 +1824,7 @@ msgstr ""
"\n"
"# Örtük kural yok."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1633,244 +1833,259 @@ msgstr ""
"\n"
"# %u örtük kural, %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
msgstr " terminal."
-#: rule.c:534
+#: rule.c:530
#, fuzzy, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "YAZILIM HATASI: num_pattern_rules yanlış! %u != %u"
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
msgstr "bilinmeyen sinyal"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
msgstr "Tıkanma"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
msgstr "Kesme"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
msgstr "Çık"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
msgstr "Yönergeler uygun değil"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
msgstr "İzleme/kesmenoktası yakalayıcı"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr "Ä°ptal edildi"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
msgstr "IOT tuzağı"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
msgstr "EMT tuzağı"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
msgstr "Gerçek sayı olağandışı durumu"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
msgstr "Süreç durduruldu"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
msgstr "Veri yolu hatası"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
msgstr "Parçalama arızası"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
msgstr "Sistem çağrısı hatalı"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
msgstr "Veri alınamıyor"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr "Alarm saati"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
msgstr "Sonlandırıldı"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
msgstr "Kullanıcı tanımlı sinyal 1"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
msgstr "Kullanıcı tanımlı sinyal 2"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
msgstr "Ast bıraktı"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
msgstr "Güç kesilmesi"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr "Durduruldu"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
msgstr "Durduruldu (konsol girdisi)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
msgstr "Durduruldu (konsol çıktısı)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
msgstr "Durduruldu (sinyal)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
msgstr "CPU zaman sınırı aşıldı"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
msgstr "Dosya uzunluğu sınırı aşıldı"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
msgstr "Sanal süreölçer kullanım süresi doldu"
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
msgstr "Tanıtım süreölçer kullanım süresi doldu"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
msgstr "Pencere boyutları değiştirildi"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
msgstr "Devam ediliyor"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
msgstr "Acil G/Ç koşulu"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
msgstr "G/Ç mümkün"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr "Kaynak kaybı"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
msgstr "Tehlike sinyali"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
msgstr "Bilgi isteÄŸi"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
msgstr "Aritmetik işlemci kullanılabilir değil"
-#: strcache.c:235
+#: strcache.c:236
#, fuzzy, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
-msgstr ""
-"\n"
-"%s dizge belleğindeki dizgelerin sayısı: %d\n"
+"%s No strcache buffers\n"
+msgstr "%s dizge belleği tamponlarının sayısı: %d\n"
-#: strcache.c:237
+#: strcache.c:266
#, fuzzy, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
-msgstr "%s dizge belleği tamponlarının sayısı: %d\n"
+msgid ""
+"\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
+msgstr "%s dizge belleÄŸi boÅŸ: toplam = %d / max = %d / min = %d / ort = %d\n"
-#: strcache.c:239
+#: strcache.c:270
+#, c-format
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
+msgstr ""
+
+#: strcache.c:280
#, fuzzy, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
msgstr "%s dizge belleÄŸi boyu: toplam = %d / max = %d / min = %d / ort = %d\n"
-#: strcache.c:241
+#: strcache.c:283
#, fuzzy, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid ""
+"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
msgstr "%s dizge belleÄŸi boÅŸ: toplam = %d / max = %d / min = %d / ort = %d\n"
-#: strcache.c:244
-#, fuzzy
+#: strcache.c:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
+msgstr ""
+
+#: strcache.c:289
+#, fuzzy
+msgid ""
+"# hash-table stats:\n"
"# "
msgstr ""
"\n"
"# dosyaların hash tablosu durumları:\n"
"# "
-#: variable.c:1541
+#: variable.c:1599
+msgid "automatic"
+msgstr "otomatik"
+
+#: variable.c:1602
msgid "default"
msgstr "öntanımlı"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
msgstr "çevre"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
msgstr "derleme dosyası"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
msgstr "çevre -e altında"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
msgstr "komut satırı"
-#: variable.c:1556
-msgid "`override' directive"
+#: variable.c:1617
+#, fuzzy
+msgid "'override' directive"
msgstr "`override' yönergesi"
-#: variable.c:1559
-msgid "automatic"
-msgstr "otomatik"
-
-#: variable.c:1570
-#, c-format
-msgid " (from `%s', line %lu)"
+#: variable.c:1628
+#, fuzzy, c-format
+msgid " (from '%s', line %lu)"
msgstr " (`%s'den, satır %lu)"
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# değişken kümesi hash tablosunun durumu:\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -1878,7 +2093,7 @@ msgstr ""
"\n"
"# DeÄŸiÅŸkenler\n"
-#: variable.c:1627
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -1886,7 +2101,7 @@ msgstr ""
"\n"
"# Kalıba özgü Değişken Değerleri"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -1894,7 +2109,7 @@ msgstr ""
"\n"
"# Örneğe duyarlı değişken değeri yok."
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -1903,94 +2118,99 @@ msgstr ""
"\n"
"# %u örneğe duyarlı değişken değeri"
-#: variable.h:219
-#, c-format
-msgid "warning: undefined variable `%.*s'"
+#: variable.h:224
+#, fuzzy, c-format
+msgid "warning: undefined variable '%.*s'"
msgstr "uyarı: `%.*s' değişkeni atanmamış"
-#: vmsfunctions.c:92
+#: vmsfunctions.c:91
#, fuzzy, c-format
msgid "sys$search() failed with %d\n"
msgstr "sys$search %d ile başarısız\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Uyarı: Boş yönlendirme\n"
-#: vmsjobs.c:184
-#, c-format
-msgid "internal error: `%s' command_state"
+#: vmsjobs.c:183
+#, fuzzy, c-format
+msgid "internal error: '%s' command_state"
msgstr "içsel hata: `%s' command_state"
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
"-uyarı, DCL den yönetimi almak için CTRL-Y'yi yeniden "
"etkinleÅŸtirebilirsiniz.\n"
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "OLUŞUMİÇİ [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "OLUŞUMİÇİ CD %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "OLUŞUMİÇİ RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "OLUŞUMİÇİ CD %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Oluşumiçi komut '%s' bilinmiyor\n"
-#: vmsjobs.c:493
+#: 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 "Hata, boÅŸ komut\n"
-#: vmsjobs.c:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "%s den yönlendirilmiş girdi\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "%s e yönlendirilmiş hata\n"
-#: vmsjobs.c:523
+#: vmsjobs.c:690
#, fuzzy, c-format
msgid "Append output to %s\n"
msgstr "%s e yönlendirilmiş çıktı\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "%s e yönlendirilmiş çıktı\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr ""
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "%s yerine çalıştırılıyor\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "doğum hatası, %d\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
@@ -1998,40 +2218,52 @@ msgstr ""
"\n"
"# VPATH Arama yolu\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
+#: vpath.c:600
+#, fuzzy
+msgid "# No 'vpath' search paths."
msgstr "# `vpath' arama yolları yok"
-#: vpath.c:605
-#, c-format
+#: vpath.c:602
+#, fuzzy, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
"# %u `vpath' arama yolu.\n"
-#: vpath.c:608
+#: vpath.c:605
+#, fuzzy
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
"# Genel arama yolu (`VPATH' çevre değişkeni) yok."
-#: vpath.c:614
+#: vpath.c:611
+#, fuzzy
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
"# Genel (`VPATH' çevre değişkeni) arama yolu:\n"
"# "
+#~ 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 "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 ""
#~ "%sThis is free software; see the source for copying conditions.\n"
#~ "%sThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n"
@@ -2043,6 +2275,12 @@ msgstr ""
#~ "KULLANIMINIZA\n"
#~ "%sUYGUNLUĞU için bile garanti verilmez.\n"
+#~ msgid "virtual memory exhausted"
+#~ msgstr "sanal bellek tükendi"
+
+#~ msgid "write error"
+#~ msgstr "yazma hatası"
+
#~ msgid "extraneous `endef'"
#~ msgstr "yersiz `endef'"
@@ -2052,9 +2290,19 @@ msgstr ""
#~ msgid "invalid `override' directive"
#~ msgstr "`override' yönergesi geçersiz"
+#~ msgid ""
+#~ "\n"
+#~ "%s # of strings in strcache: %d\n"
+#~ msgstr ""
+#~ "\n"
+#~ "%s dizge belleğindeki dizgelerin sayısı: %d\n"
+
#~ 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 RM %s\n"
+#~ msgstr "OLUŞUMİÇİ RM %s\n"
+
#~ msgid "Syntax error, still inside '\"'\n"
#~ msgstr "Dosyada hala yazılış hatası var: '\"'\n"
diff --git a/po/uk.gmo b/po/uk.gmo
index e24a0887..bfdbf8b4 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index ebf1fd60..4eefbe03 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -1,894 +1,1094 @@
-# ðÅÒÅËÌÁÄ make ÎÁ ÕËÒÁ§ÎÓØËÕ.
+# Переклад make українÑькою.
# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
-# Volodymyr M. Lisivka <lvm@mystery.lviv.net>, 2001-2002.
+# This file is distributed under the same license as the make package.
#
+# Volodymyr M. Lisivka <lvm@mystery.lviv.net>, 2001-2012.
+# Yuri Chornoivan <yurchor@ukr.net>, 2012, 2013.
msgid ""
msgstr ""
-"Project-Id-Version: make 3.80\n"
+"Project-Id-Version: make 4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-0400\n"
-"PO-Revision-Date: 2002-12-05 20:07+0200\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 <lvm@mystery.lviv.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
+"Language: uk\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=koi8-u\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Lokalize 1.5\n"
-#: ar.c:48
+#: ar.c:46
#, c-format
-msgid "attempt to use unsupported feature: `%s'"
-msgstr "ÓÐÒÏÂÁ ×ÖÉÔÉ ÍÏÖÌÉצÓÔØ, ÑËÁ ΊЦÄÔÒÉÍÕ¤ÔØÓÑ: \"%s\""
+msgid "attempt to use unsupported feature: '%s'"
+msgstr "Ñпроба вжити можливіÑÑ‚ÑŒ, Ñка не підтримуєтьÑÑ: \"%s\""
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
-msgstr "ÏÎÏ×ÌÅÎÎÑ ÞÁÓÕ ÚͦÎÉ ÞÌÅÎÁ ÁÒȦ×Õ ÎÅÍÏÖÌÉ×Ï Õ ÓÉÓÔÅͦ VMS"
+msgstr "Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу зміни члена архіву неможливо у ÑиÑтемі VMS"
-#: ar.c:149
+#: ar.c:147
#, c-format
-msgid "touch: Archive `%s' does not exist"
-msgstr "ÏÎÏ×ÌÅÎÎÑ ÞÁÓÕ ÚͦÎÉ: áÒÈ¦× \"%s\" ÎÅ ¦ÓÎÕ¤"
+msgid "touch: Archive '%s' does not exist"
+msgstr "Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу зміни: Ðрхів \"%s\" не Ñ–Ñнує"
-#: ar.c:152
+#: ar.c:150
#, c-format
-msgid "touch: `%s' is not a valid archive"
-msgstr "ÏÎÏ×ÌÅÎÎÑ ÞÁÓÕ ÚͦÎÉ: îÅצÒÎÉÊ ÁÒȦ×: \"%s\""
+msgid "touch: '%s' is not a valid archive"
+msgstr "Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу зміни: Ðевірний архів: \"%s\""
-#: ar.c:159
+#: ar.c:157
#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
-msgstr "ÏÎÏ×ÌÅÎÎÑ ÞÁÓÕ ÚͦÎÉ: þÌÅÎ \"%s\" ΊͦÓÔÉÔØÓÑ Õ \"%s\""
+msgid "touch: Member '%s' does not exist in '%s'"
+msgstr "Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу зміни: Член \"%s\" не міÑтитьÑÑ Ñƒ \"%s\""
-#: ar.c:166
+#: ar.c:164
#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
+msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr ""
-"ÏÎÏ×ÌÅÎÎÑ ÞÁÓÕ ÚͦÎÉ: æÕÎËÃ¦Ñ ar_member_touch ÐÏ×ÅÒÎÕÌÁ\n"
-"ÐÏÇÁÎÉÊ ËÏÄ ×¦ÄÐÏצĦ ÄÌÑ \"%s\""
+"Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу зміни: Ð¤ÑƒÐ½ÐºÑ†Ñ–Ñ ar_member_touch повернула\n"
+"поганий код відповіді Ð´Ð»Ñ \"%s\""
-#: arscan.c:69
+#: arscan.c:124
#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
-msgstr ""
+msgstr "lbr$set_module() не вдалоÑÑ Ð²Ð¸Ð´Ð¾Ð±ÑƒÑ‚Ð¸ дані модулÑ, Ñтан = %d"
-#: arscan.c:175
+#: arscan.c:230
#, c-format
msgid "lbr$ini_control() failed with status = %d"
-msgstr ""
+msgstr "Помилка lbr$ini_control() з повідомленнÑм Ñтану = %d"
-#: arscan.c:187
+#: arscan.c:255
#, fuzzy, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
-msgstr "ðÏÍÉÌËÁ צÄËÒÉ×ÁÎÎÑ Â¦Â̦ÏÔÅËÉ %s ÄÌÑ ÐÏÛÕËÕ ÞÌÅÎÁ %s; %d\n"
+msgid "unable to open library '%s' to lookup member status %d"
+msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ бібліотеку «%s» Ð´Ð»Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ елемента «%s»"
-#: arscan.c:850
+#: arscan.c:944
#, c-format
-msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
-msgstr ""
+msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
+msgstr "Елемент «%s»%s: %ld байтів з %ld (%ld).\n"
-#: arscan.c:851
+#: arscan.c:945
msgid " (name might be truncated)"
-msgstr " (¦Í'Ñ ÍÏÖÅ ÂÕÔÉ ÕÓ¦ÞÅÎÅ)"
+msgstr " (ім'Ñ Ð¼Ð¾Ð¶Ðµ бути обрізано)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
-msgstr " äÁÔÁ %s"
+msgstr " Дата %s"
-#: arscan.c:854
+#: arscan.c:948
#, c-format
msgid " uid = %d, gid = %d, mode = 0%o.\n"
-msgstr ""
+msgstr " uid = %d, gid = %d, режим = 0%o.\n"
-#: commands.c:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr "У рецепті забагато Ñ€Ñдків (%ud)"
+
+#: commands.c:505
msgid "*** Break.\n"
-msgstr ""
+msgstr "*** Зупинка.\n"
-#: commands.c:622
+#: commands.c:629
#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
-msgstr ""
+msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
+msgstr "*** [%s] Елемент архіву, «%s», можливо є фіктивним; не вилучено"
-#: commands.c:625
+#: commands.c:633
#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
-msgstr ""
+msgid "*** Archive member '%s' may be bogus; not deleted"
+msgstr "*** Елемент архіву, «%s», можливо є фіктивним; не вилучено"
-#: commands.c:638
+#: commands.c:647
#, c-format
-msgid "*** [%s] Deleting file `%s'"
-msgstr "*** [%s] ÷ÉÄÁÌÅÎÎÑ ÆÁÊÌÕ \"%s\""
+msgid "*** [%s] Deleting file '%s'"
+msgstr "*** [%s] Вилучаємо файл \"%s\""
-#: commands.c:640
+#: commands.c:649
#, c-format
-msgid "*** Deleting file `%s'"
-msgstr "*** ÷ÉÄÁÌÅÎÎÑ ÆÁÊÌÕ \"%s\""
+msgid "*** Deleting file '%s'"
+msgstr "*** Вилучаємо файл \"%s\""
-#: commands.c:676
-#, fuzzy
+#: commands.c:685
msgid "# recipe to execute"
-msgstr "# ËÏÍÁÎÄÉ ÄÏ ×ÉËÏÎÁÎÎÑ"
+msgstr "# ÑпоÑіб, Ñкий Ñлід заÑтоÑувати"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
-msgstr " (×ÂÕÄÏ×ÁÎÅ):"
+msgstr " (вбудоване):"
-#: commands.c:681
+#: commands.c:690
#, c-format
-msgid " (from `%s', line %lu):\n"
-msgstr " (Ú \"%s\", ÒÑÄÏË %lu):\n"
+msgid " (from '%s', line %lu):\n"
+msgstr " (з \"%s\", Ñ€Ñдок %lu):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
msgstr ""
"\n"
-"# ëÁÔÁÌÏÇÉ\n"
+"# Каталоги\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
-msgstr "# %s: ÎÅÍÏÖÌÉ×Ï ÏÔÒÉÍÁÔÉ ¦ÎÆÏÒÍÁæÀ (stat).\n"
+msgstr "# %s: неможливо отримати інформацію (stat).\n"
-#: dir.c:1012
-#, fuzzy, c-format
+#: dir.c:1005
+#, c-format
msgid "# %s (key %s, mtime %d): could not be opened.\n"
-msgstr "# %s (ÐÒÉÓÔÒ¦Ê %d, ¦×ÕÚÏÌ %d): ÎÅÍÏÖÌÉ×Ï ×¦ÄËÒÉÔÉ.\n"
+msgstr "# %s (ключ %s, Ñ‡Ð°Ñ Ð·Ð¼Ñ–Ð½Ð¸ %d): не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸.\n"
-#: dir.c:1016
+#: 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"
+msgstr "# %s (приÑтрій %d, івузол [%d,%d,%d]): неможливо відкрити.\n"
-#: dir.c:1021
-#, fuzzy, c-format
+#: dir.c:1014
+#, c-format
msgid "# %s (device %ld, inode %ld): could not be opened.\n"
-msgstr "# %s (ÐÒÉÓÔÒ¦Ê %d, ¦×ÕÚÏÌ %d): ÎÅÍÏÖÌÉ×Ï ×¦ÄËÒÉÔÉ.\n"
+msgstr "# %s (приÑтрій %ld, івузол %ld): не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸.\n"
-#: dir.c:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
-msgstr "# %s (ËÌÀÞ %s, ÞÁÓ ÍÏÄÉƦËÁæ§ %d): "
+msgstr "# %s (ключ %s, Ñ‡Ð°Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ— %d): "
-#: dir.c:1052
-#, fuzzy, c-format
+#: dir.c:1045
+#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
-msgstr "# %s (ÐÒÉÓÔÒ¦Ê %d, ¦×ÕÚÏÌ [%d,%d,%d]): ÎÅÍÏÖÌÉ×Ï ×¦ÄËÒÉÔÉ.\n"
+msgstr "# %s (приÑтрій %d, івузол [%d,%d,%d]): "
-#: dir.c:1057
-#, fuzzy, c-format
+#: dir.c:1050
+#, c-format
msgid "# %s (device %ld, inode %ld): "
-msgstr "# %s (ÐÒÉÓÔÒ¦Ê %d, ¦×ÕÚÏÌ %d): ÎÅÍÏÖÌÉ×Ï ×¦ÄËÒÉÔÉ.\n"
+msgstr "# %s (приÑтрій %ld, івузол %ld): "
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
-msgstr "î¦"
+msgstr "ÐÑ–"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
-msgstr " ÆÁÊ̦×, "
+msgstr " файлів, "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
-msgstr "Φ"
+msgstr "ні"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
-msgstr " ÎÅÄÏÓÑÖÎÉÈ Ã¦ÌÅÊ"
+msgstr " недоÑÑжних цілей"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
-msgstr " ÎÁ ÐÏÔÏÞÎÉÊ ÍÏÍÅÎÔ."
+msgstr " на поточний момент."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
-msgstr " ÎÅÄÏÓÑÖÎÉÈ Ã¦ÌÅÊ Õ %lu ËÁÔÁÌÏÇÁÈ.\n"
+msgstr " недоÑÑжних цілей у %lu каталогах.\n"
-#: expand.c:127
+#: expand.c:125
#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
-msgstr "òÅËÕÒÓÉ×ÎÁ ÚͦÎÎÁ \"%s\" ÐÏÓÉÌÁ¤ÔØÓÑ ÓÁÍÁ ÎÁ ÓÅÂÅ (Õ ÒÅÚÕÌØÔÁÔ¦)"
+msgid "Recursive variable '%s' references itself (eventually)"
+msgstr "РекурÑивна змінна \"%s\" поÑилаєтьÑÑ Ñама на Ñебе (у результаті)"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
-msgstr "ÎÅÚÁ×ÅÒÛÅÎÁ ÐÏÓÉÌÁÎÎÑ ÎÁ ÚͦÎÎÕ"
+msgstr "незавершена поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° змінну"
-#: file.c:267
-#, fuzzy, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
-msgstr "ëÏÍÁÎÄÉ ÄÌÑ ÆÁÊÌÕ \"%s\" ÂÕÌÉ ÚÁÄÁΦ %s:%u,"
+#: file.c:271
+#, c-format
+msgid "Recipe was specified for file '%s' at %s:%lu,"
+msgstr "СпоÑіб Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° «%s» було задано %s:%lu,"
-#: file.c:272
-#, fuzzy, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
-msgstr "ëÏÍÁÎÄÉ ÄÌÑ ÆÁÊÌÕ \"%s\" ÂÕÌÉ ÚÎÁÊÄÅΦ Ú ÎÅÑ×ÎÏÇÏ ÐÒÁ×ÉÌÁ,"
+#: file.c:276
+#, c-format
+msgid "Recipe for file '%s' was found by implicit rule search,"
+msgstr ""
+"СпоÑіб Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° «%s» було знайдено за допомогою пошуку неÑвних правил,"
-#: file.c:275
+#: file.c:280
#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
-msgstr "ÁÌÅ \"%s\" ¦ \"%s\" ÔÅÐÅÒ ××ÁÖÁÀÔØÓÑ ÏÄÎÉÍ ¦ ÔÉÍ ÖÅ Ö ÆÁÊÌÏÍ. "
+msgid "but '%s' is now considered the same file as '%s'."
+msgstr "але \"%s\" Ñ– \"%s\" тепер вважаютьÑÑ Ð¾Ð´Ð½Ð¸Ð¼ Ñ– тим же ж файлом. "
-#: file.c:278
-#, fuzzy, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
-msgstr "ëÏÍÁÎÄÉ ÄÌÑ \"%s\" ¦ÇÎÏÒÏ×ÁΦ, ÂÕÄÕÔØ ×ÉËÏÒÉÓÔÁΦ ËÏÍÁÎÄÉ ÄÌÑ \"%s\"."
+#: file.c:283
+#, c-format
+msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
+msgstr "СпоÑіб Ð´Ð»Ñ Â«%s» буде проігноровано на кориÑÑ‚ÑŒ ÑпоÑобу Ð´Ð»Ñ Â«%s»."
-#: file.c:298
+#: file.c:303
#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
+msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr ""
-"ÎÅÍÏÖÌÉ×Ï ÐÅÒÅÊÍÅÎÕ×ÁÔÉ \"%s\" Ú ÏÄΦ¤À Ä×ÏËÒÁÐËÏÀ Õ \"%s\" Ú Ä×ÏÍÁ "
-"Ä×ÏËÒÁÐËÁÍÉ"
+"неможливо перейменувати \"%s\" з однією двокрапкою у \"%s\" з двома "
+"двокрапками"
-#: file.c:303
+#: file.c:309
#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
+msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr ""
-"ÎÅÍÏÖÌÉ×Ï ÐÅÒÅÊÍÅÎÕ×ÁÔÉ \"%s\" Ú Ä×ÏÍÁ Ä×ÏËÒÁÐËÁÍÉ Õ \"%s\" Ú ÏÄΦ¤À "
-"Ä×ÏËÒÁÐËÏÀ"
+"неможливо перейменувати \"%s\" з двома двокрапками у \"%s\" з однією "
+"двокрапкою"
-#: file.c:392
+#: file.c:401
#, c-format
-msgid "*** Deleting intermediate file `%s'"
-msgstr "*** ÷ÉÄÁÌÅÎÎÑ ÐÒÏͦÖÎÏÇÏ ÆÁÊÌÕ \"%s\""
+msgid "*** Deleting intermediate file '%s'"
+msgstr "*** Вилучаємо проміжний файл «%s»"
-#: file.c:396
+#: file.c:405
msgid "Removing intermediate files...\n"
-msgstr "÷ÉÄÁÌÑÀ ÐÒÏͦÖΦ ÆÁÊÌÉ...\n"
+msgstr "ВидалÑÑŽ проміжні файли...\n"
-#: file.c:803
+#: file.c:811
+msgid "Current time"
+msgstr "Поточний чаÑ"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
-msgstr ""
+msgstr "%s: чаÑова позначка поза допуÑтимим діапазоном; замінюємо на %s"
-#: file.c:804
-msgid "Current time"
-msgstr ""
-
-#: file.c:924
+#: file.c:955
msgid "# Not a target:"
-msgstr "# îÅ ¤ ÍÅÔÏÀ:"
+msgstr "# Ðе Ñ” метою:"
-#: file.c:929
-#, fuzzy
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
-msgstr "# ëÏÛÔÏ×ÎÉÊ ÆÁÊÌ (ÚÁÌÅÖΦÓÔØ .PRECIOUS)."
+msgstr "# ВартіÑний файл (залежніÑÑ‚ÑŒ .PRECIOUS)."
-#: file.c:931
-#, fuzzy
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
-msgstr "# ðÓÅ×ÄÏæÌØ (ÚÁÌÅÖΦÓÔØ ×¦Ä .PHONY)."
+msgstr "# ПÑевдоціль (залежніÑÑ‚ÑŒ .PHONY)."
-#: file.c:933
-#, fuzzy
+#: file.c:964
msgid "# Command line target."
-msgstr "# ã¦ÌØ ËÏÍÁÎÄÎÏÇÏ ÒÑÄËÁ."
+msgstr "# Мета, що викликаєтьÑÑ Ð· командного Ñ€Ñдка."
-#: file.c:935
-#, fuzzy
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
-msgstr "# Makefile ÚÁ ÚÁÍÏ×ÞÕ×ÁÎÎÑÍ ÁÂÏ Ú MAKEFILES."
+msgstr "# Типово, MAKEFILES, або -include/sinclude makefile."
-#: file.c:937
-#, fuzzy
+#: file.c:968
+msgid "# Builtin rule"
+msgstr "# Вбудоване правило"
+
+#: file.c:970
msgid "# Implicit rule search has been done."
-msgstr "# ðÏÛÕË ÎÅÑ×ÎÉÈ ÐÒÁ×ÉÌ%s ÚÁ×ÅÒÛÉ×ÓÑ.\n"
+msgstr "# Пошук неÑвних правил виконано."
-#: file.c:938
-#, fuzzy
+#: file.c:971
msgid "# Implicit rule search has not been done."
-msgstr "# ðÏÛÕË ÎÅÑ×ÎÉÈ ÐÒÁ×ÉÌ%s ÚÁ×ÅÒÛÉ×ÓÑ.\n"
+msgstr "# Пошук неÑвних правил не було виконано."
-#: file.c:940
+#: file.c:973
#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
-msgstr "# ïÓÎÏ×Á ÎÅÑ×ÎÏÇÏ ÁÂÏ ÓÔÁÔÉÞÎÏÇÏ ÛÁÂÌÏÎÕ: \"%s\"\n"
+msgid "# Implicit/static pattern stem: '%s'\n"
+msgstr "# ОÑнова неÑвного або Ñтатичного шаблону: \"%s\"\n"
-#: file.c:942
-#, fuzzy
+#: file.c:975
msgid "# File is an intermediate prerequisite."
-msgstr "# æÁÊÌ -- ÐÒÏͦÖÎÁ ÚÁÌÅÖΦÓÔØ."
+msgstr "# Файл Ñ” проміжною залежніÑÑ‚ÑŽ."
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
-msgstr "# úÂÉÒÁ¤ ÔÁËÏÖ:"
+msgstr "# Збирає також:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
-msgstr "# þÁÓ ÚͦÎÉ Î¦ËÏÌÉ ÎÅ ÐÅÒÅצÒÑ×ÓÑ."
+msgstr "# Ð§Ð°Ñ Ð·Ð¼Ñ–Ð½Ð¸ ніколи не перевірÑвÑÑ."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
-msgstr "# æÁÊÌ ÎÅ ¦ÓÎÕ¤."
+msgstr "# Файл не Ñ–Ñнує."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
-msgstr "# æÁÊÌ ÄÕÖÅ ÓÔÁÒÉÊ."
+msgstr "# Файл дуже Ñтарий."
-#: file.c:961
-#, fuzzy, c-format
+#: file.c:994
+#, c-format
msgid "# Last modified %s\n"
-msgstr "# þÁÓ ÏÓÔÁÎÎØϧ ÚͦÎÉ %.24s (%ld)\n"
+msgstr "# ВоÑтаннє оновлено %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
-msgstr "# æÁÊÌ ÂÕ× ÏÎÏ×ÌÅÎÉÊ."
+msgstr "# Файл був оновлений."
-#: file.c:964
-#, fuzzy
+#: file.c:997
msgid "# File has not been updated."
-msgstr "# æÁÊÌ%s ÏÎÏ×ÌÅÎÏ.\n"
+msgstr "# Файл не було оновлено."
-#: file.c:968
-#, fuzzy
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
-msgstr "# úÁÐÕÝÅΦ ÚÁÒÁÚ ËÏÍÁÎÄÉ (ãå ðïíéìëá)."
+msgstr "# ВиконуєтьÑÑ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ° (ЦЕ ПОМИЛКÐ)"
-#: file.c:971
-#, fuzzy
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
-msgstr "# úÁÐÕÝÅΦ ÚÁÒÁÚ ËÏÍÁÎÄÉ ÄÅÑËϧ ÚÁÌÅÖÎÏÓÔ¦ (ãå ðïíéìëá)."
+msgstr "# Ці залежноÑÑ‚Ñ– вже оброблÑÑŽÑ‚ÑŒÑÑ (ЦЕ ПОМИЛКÐ)."
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
-msgstr "# õÓЦÛÎÏ ÏÎÏ×ÌÅÎÏ."
+msgstr "# УÑпішно оновлено."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
-msgstr "# ðÏ×ÉÎÎÏ ÂÕÔÉ ÏÎÏ×ÌÅÎÏ (×ÓÔÁÎÏ×ÌÅÎÉÊ ËÌÀÞ -q)."
+msgstr "# Повинно бути оновлено (вÑтановлений ключ -q)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
-msgstr "# óÐÒÏÂÁ ÏÎÏ×ÌÅÎÎÑ ÂÅÚÕÓЦÛÎÁ."
+msgstr "# Спроба Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð±ÐµÐ·ÑƒÑпішна."
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# îÅצÒÎÅ ÚÎÁÞÅÎÎÑ ÞÌÅÎÁ \"update_status\"!"
+#: file.c:1025
+msgid "# Invalid value in 'command_state' member!"
+msgstr "# Ðекоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‡Ð»ÐµÐ½Ð° \"command_state\"!"
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
-msgstr "# îÅצÒÎÅ ÚÎÁÞÅÎÎÑ ÞÌÅÎÁ \"command_state\"!"
-
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
msgstr ""
"\n"
-"# æÁÊÌÉ"
+"# Файли"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
+"\n"
+"# ÑтатиÑтика щодо таблиці хешів файлів:\n"
+"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
-msgstr "ÎÅ ÞÉÓÌÏ×ÉÊ ÐÅÒÛÉÊ ÁÒÇÕÍÅÎÔ ÄÌÑ ÆÕÎËæ§ \"word\""
-
-#: function.c:763
-#, fuzzy
-msgid "first argument to `word' function must be greater than 0"
-msgstr "ÎÅ ÞÉÓÌÏ×ÉÊ ÐÅÒÛÉÊ ÁÒÇÕÍÅÎÔ ÄÌÑ ÆÕÎËæ§ \"word\""
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr "%s: поле «%s» не кешовано: %s"
-#: function.c:783
-msgid "non-numeric first argument to `wordlist' function"
-msgstr "ÎÅ ÞÉÓÌÏ×ÉÊ ÐÅÒÛÉÊ ÁÒÇÕÍÅÎÔ ÄÌÑ ÆÕÎËæ§ \"wordlist\""
+#: function.c:780
+msgid "non-numeric first argument to 'word' function"
+msgstr "не чиÑловий перший аргумент Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— \"word\""
#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
-msgstr "ÎÅ ÞÉÓÌÏ×ÉÊ ÄÒÕÇÉÊ ÁÒÇÕÍÅÎÔ ÄÌÑ ÆÕÎËæ§ \"wordlist\""
+msgid "first argument to 'word' function must be greater than 0"
+msgstr "першим аргументом функції «word» має бути чиÑло, більше за 0"
+
+#: function.c:805
+msgid "non-numeric first argument to 'wordlist' function"
+msgstr "не чиÑловий перший аргумент Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— \"wordlist\""
-#: function.c:1458
+#: function.c:807
+msgid "non-numeric second argument to 'wordlist' function"
+msgstr "не чиÑловий другий аргумент Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— \"wordlist\""
+
+#: function.c:1499
#, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
-msgstr ""
+msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
+msgstr "windows32_openpipe: помилка DuplicateHandle(In) (e=%ld)\n"
-#: function.c:1469
+#: function.c:1523
#, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr ""
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
+msgstr "windows32_openpipe: помилка DuplicateHandle(Err) (e=%ld)\n"
-#: function.c:1474
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
-msgstr ""
+msgstr "Помилка CreatePipe() (e=%ld)\n"
-#: function.c:1479
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
-msgstr ""
+msgstr "windows32_openpipe(): помилка process_init_fd()\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
-msgstr ""
+msgstr "Спорожнюємо тимчаÑовий пакетний файл %s\n"
+
+#: function.c:2193
+#, c-format
+msgid "open: %s: %s"
+msgstr "open: %s: %s"
+
+#: function.c:2203
+#, c-format
+msgid "write: %s: %s"
+msgstr "write: %s: %s"
+
+#: function.c:2209
+#, c-format
+msgid "Invalid file operation: %s"
+msgstr "Ðекоректна Ð´Ñ–Ñ Ð½Ð°Ð´ файлом: %s"
+
+#: function.c:2324
+#, c-format
+msgid "insufficient number of arguments (%d) to function '%s'"
+msgstr "недоÑÑ‚Ð°Ñ‚Ð½Ñ ÐºÑ–Ð»ÑŒÐºÑ–ÑÑ‚ÑŒ аргументів (%d) функції «%s»"
+
+#: function.c:2336
+#, c-format
+msgid "unimplemented on this platform: function '%s'"
+msgstr "не реалізовано на цій платформі: Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Â«%s»"
-#: function.c:2150
+#: function.c:2399
+#, c-format
+msgid "unterminated call to function '%s': missing '%c'"
+msgstr "незавершений виклик функції \"%s\"; пропущено \"%c\""
+
+#: function.c:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "ÐŸÐ¾Ñ€Ð¾Ð¶Ð½Ñ Ð½Ð°Ð·Ð²Ð° функції\n"
+
+#: function.c:2593
#, fuzzy, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
-msgstr "ÎÅ ÞÉÓÌÏ×ÉÊ ÐÅÒÛÉÊ ÁÒÇÕÍÅÎÔ ÄÌÑ ÆÕÎËæ§ \"word\""
+msgid "Invalid function name: %s"
+msgstr "Ðекоректна назва функції: %s\n"
-#: function.c:2162
+#: function.c:2595
#, fuzzy, c-format
-msgid "unimplemented on this platform: function `%s'"
-msgstr "îÅ ÒÅÁ̦ÚÏ×ÁÎÏ ÎÁ Ã¦Ê ÐÌÁÔÆÏÒͦ: ÆÕÎËÃ¦Ñ \"%s\""
+msgid "Function name too long: %s"
+msgstr "Ðазва функції Ñ” задовгою: %s\n"
-#: function.c:2212
-#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
-msgstr "ÎÅÚÁ×ÅÒÛÅÎÉÊ ×ÉËÌÉË ÆÕÎËæ§ \"%s\"; ÐÒÏÐÕÝÅÎÏ \"%c\""
+#: 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:661
+#: getopt.c:659
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: ÐÁÒÁÍÅÔÒ \"%s\" - ÎÅÏÄÎÏÚÎÁÞÎÉÊ\n"
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: параметр «%s» не є однозначним\n"
-#: getopt.c:685
+#: getopt.c:683
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: ÐÁÒÁÍÅÔÒ \"--%s\" ÎÅ ÍÏÖÅ ÍÁÔÉ ÁÒÇÕÍÅÎÔ¦×\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² до параметра «--%s» не передбачено\n"
-#: getopt.c:690
+#: getopt.c:688
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: ÐÁÒÁÍÅÔÒ \"%c%s\" ÎÅ ÍÏÖÅ ÍÁÔÉ ÁÒÇÕÍÅÎÔ¦×\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² до параметра «%c%s» не передбачено\n"
-#: getopt.c:707 getopt.c:880
+#: getopt.c:705 getopt.c:878
#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: ÐÁÒÁÍÅÔÒÕ \"%s\" ÎÅÏÂȦÄÎÉÊ ÁÒÇÕÍÅÎÔ\n"
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s: до параметра «%s» Ñлід додати аргумент\n"
-#: getopt.c:736
+#: getopt.c:734
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: ÎÅ ÒÏÚЦÚÎÁÎÉÊ ÐÁÒÁÍÅÔÒ \"--%s\"\n"
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: невідомий параметр «--%s»\n"
-#: getopt.c:740
+#: getopt.c:738
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: ÎÅ ÒÏÚЦÚÎÁÎÉÊ ÐÁÒÁÍÅÔÒ \"%c%s\"\n"
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: невідомий параметр «%c%s»\n"
-#: getopt.c:766
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
-msgstr "%s: ÎÅצÒÎÉÊ ÐÁÒÁÍÅÔÒ -- %c\n"
+msgstr "%s: невірний параметр -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
-msgstr "%s: ÎÅצÒÎÉÊ ÐÁÒÁÍÅÔÒ -- %c\n"
+msgstr "%s: невірний параметр -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: ÐÁÒÁÍÅÔÒÕ ÎÅÏÂȦÄÎÉÊ ÁÒÇÕÍÅÎÔ -- %c\n"
+msgstr "%s: параметру необхідний аргумент -- %c\n"
-#: getopt.c:846
+#: getopt.c:844
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: ÐÁÒÁÍÅÔÒ \"-W %s\" ÎÅÏÄÎÏÚÎÁÞÎÉÊ\n"
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: параметр «-W %s» не є однозначним\n"
-#: getopt.c:864
+#: getopt.c:862
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: ÐÁÒÁÍÅÔÒ \"-W %s\" ÎÅ ÍÏÖÅ ÍÁÔÉ ÁÒÇÕÍÅÎÔ¦×\n"
+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"
+
+#: guile.c:74
+#, c-format
+msgid "guile: Evaluating '%s'\n"
+msgstr "guile: обчиÑлюємо «%s»\n"
#: hash.c:49
#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
-msgstr ""
+msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити %lu байтів Ð´Ð»Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– хешів: вичерпано пам’ÑÑ‚ÑŒ"
#: hash.c:280
#, c-format
msgid "Load=%ld/%ld=%.0f%%, "
-msgstr ""
+msgstr "ЗавантаженнÑ=%ld/%ld=%.0f%%, "
#: hash.c:282
#, c-format
msgid "Rehash=%d, "
-msgstr ""
+msgstr "Повторне хешуваннÑ=%d, "
#: hash.c:283
#, c-format
msgid "Collisions=%ld/%ld=%.0f%%"
-msgstr ""
+msgstr "Збіги=%ld/%ld=%.0f%%"
-#: implicit.c:40
+#: implicit.c:38
#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
-msgstr "ðÏÛÕË ÎÅÑ×ÎÏÇÏ ÐÒÁ×ÉÌÁ ÄÌÑ \"%s\".\n"
+msgid "Looking for an implicit rule for '%s'.\n"
+msgstr "Пошук неÑвного правила Ð´Ð»Ñ \"%s\".\n"
-#: implicit.c:56
+#: implicit.c:54
#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
-msgstr "ðÏÛÕË ÎÅÑ×ÎÏÇÏ ÐÒÁ×ÉÌÁ ÄÌÑ ÞÌÅÎÁ ÁÒȦ×Õ \"%s\".\n"
+msgid "Looking for archive-member implicit rule for '%s'.\n"
+msgstr "Пошук неÑвного правила Ð´Ð»Ñ Ñ‡Ð»ÐµÐ½Ð° архіву \"%s\".\n"
-#: implicit.c:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
-msgstr "úÁÐϦÇÁÎÎÑ ÒÅËÕÒÓÉ×ÎÏÇÏ ×ÉËÌÉËÕ ÎÅÑ×ÎÏÇÏ ÐÒÁ×ÉÌÁ.\n"
+msgstr "Ð—Ð°Ð¿Ð¾Ð±Ñ–Ð³Ð°Ð½Ð½Ñ Ñ€ÐµÐºÑƒÑ€Ñивного виклику неÑвного правила.\n"
+
+#: implicit.c:486
+#, c-format
+msgid "Stem too long: '%.*s'.\n"
+msgstr "Занадто довгий шаблон: «%.*s».\n"
#: implicit.c:491
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
-msgstr "óÐÒÏÂÁ ÚÁÓÔÏÓÕ×ÁÎÎÑ ÐÒÁ×ÉÌÁ Ú¦ ÚÒÁÚËÏÍ, ÏÓÎÏ×Á \"%.*s\".\n"
+msgid "Trying pattern rule with stem '%.*s'.\n"
+msgstr "Спроба заÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° зі зразком, оÑнова \"%.*s\".\n"
-#: implicit.c:674
-#, fuzzy, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
-msgstr "÷¦ÄËÉÄÁÎÎÑ ÎÅÍÏÖÌÉ×ϧ %s ÚÁÌÅÖÎÏÓÔ¦ \"%s\".\n"
+#: implicit.c:697
+#, c-format
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
+msgstr "Ð’Ñ–Ð´ÐºÐ¸Ð´Ð°Ð½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ñ— залежноÑÑ‚Ñ– правила «%s».\n"
-#: implicit.c:675
-#, fuzzy, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
-msgstr "÷¦ÄËÉÄÁÎÎÑ ÎÅÍÏÖÌÉ×ϧ %s ÚÁÌÅÖÎÏÓÔ¦ \"%s\".\n"
+#: implicit.c:698
+#, c-format
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
+msgstr "Ð’Ñ–Ð´ÐºÐ¸Ð´Ð°Ð½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ñ— неÑвної залежноÑÑ‚Ñ– «%s».\n"
-#: implicit.c:688
+#: implicit.c:711
#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
-msgstr "ðÒÏÂÕÀ ÚÁÌÅÖΦÓÔØ ÐÒÁ×ÉÌÏ \"%s\".\n"
+msgid "Trying rule prerequisite '%s'.\n"
+msgstr "Пробую залежніÑÑ‚ÑŒ правило \"%s\".\n"
-#: implicit.c:689
+#: implicit.c:712
#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
-msgstr "ðÒÏÂÕÀ ÎÅÑ×Φ ÚÁÌÅÖÎÏÓÔ¦ \"%s\".\n"
+msgid "Trying implicit prerequisite '%s'.\n"
+msgstr "Пробую неÑвні залежноÑÑ‚Ñ– \"%s\".\n"
-#: implicit.c:728
+#: implicit.c:751
#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
-msgstr ""
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
+msgstr "ВиÑвлено залежніÑÑ‚ÑŒ «%s» у форматі VPATH «%s»\n"
-#: implicit.c:742
+#: implicit.c:765
#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
-msgstr "ðÏÛÕË ÐÒÁ×ÉÌÁ Ú ÐÒÏͦÖÎÉÍ ÆÁÊÌÏÍ \"%s\".\n"
+msgid "Looking for a rule with intermediate file '%s'.\n"
+msgstr "Пошук правила з проміжним файлом \"%s\".\n"
-#: job.c:335
-#, fuzzy
+#: job.c:361
msgid "Cannot create a temporary file\n"
-msgstr "fwrite (ÔÉÍÞÁÓÏ×ÉÊ ÆÁÊÌ)"
+msgstr "Ðе вдалоÑÑ Ñтворити тимчаÑовий файл\n"
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "[%s] ðÏÍÉÌËÁ 0x%x (ÐÒϦÇÎÏÒÏ×ÁÎÁ)"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (зроблений дамп пам'ÑÑ‚Ñ–)"
+
+#: job.c:488
+msgid " (ignored)"
+msgstr " (ігноруєтьÑÑ)"
-#: job.c:450
+#: job.c:492 job.c:2046
+msgid "<builtin>"
+msgstr "<вбудований>"
+
+#: job.c:503
#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] ðÏÍÉÌËÁ 0x%x"
+msgid "%s: recipe for target '%s' failed"
+msgstr "%s: Ñпроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð° Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¸ «%s» зазнала невдачі"
-#: job.c:454
+#: job.c:516 job.c:524
#, c-format
-msgid "[%s] Error %d (ignored)"
-msgstr "[%s] ðÏÍÉÌËÁ %d (¦ÇÎÏÒÏ×ÁÎÁ)"
+msgid "%s[%s] Error %d%s"
+msgstr "%s[%s] Помилка %d%s"
-#: job.c:455
+#: job.c:519
#, c-format
-msgid "*** [%s] Error %d"
-msgstr "*** [%s] ðÏÍÉÌËÁ %d"
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Помилка 0x%x%s"
-#: job.c:460
-msgid " (core dumped)"
-msgstr " (ÚÒÏÂÌÅÎÉÊ ÄÁÍÐ ÐÁÍ'ÑÔ¦)"
+#: job.c:529
+#, c-format
+msgid "%s[%s] %s%s%s"
+msgstr "%s[%s] %s%s%s"
-#: job.c:549
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
-msgstr "*** ïÞ¦ËÕ×ÁÎÎÑ ÚÁ×ÅÒÛÅÎÎÑ ÚÁ×ÄÁÎØ..."
+msgstr "*** ÐžÑ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð·Ð°Ð²Ð´Ð°Ð½ÑŒ..."
-#: job.c:579
-#, fuzzy, c-format
+#: job.c:651
+#, c-format
msgid "Live child %p (%s) PID %s %s\n"
-msgstr "îÅÚÁ×ÅÒÛÅÎÉÊ ÎÁÝÁÄÏË 0x%08lx (%s) PID %ld %s\n"
+msgstr "Ðезавершений дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ %p (%s) PID %s %s\n"
-#: job.c:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
-msgstr " (צÄÄÁÌÅÎÉÊ)"
+msgstr " (віддалений)"
-#: job.c:758
-#, fuzzy, c-format
+#: job.c:841
+#, c-format
msgid "Reaping losing child %p PID %s %s\n"
-msgstr "ïÂÒÏÂËÁ ÒÅÚÕÌØÔÁÔ¦× %s ÐÒÁæ ÎÁÝÁÄËÁ 0x%08lx PID %d%s\n"
+msgstr "Підбираємо невдалий дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð· PID %p %s %s\n"
-#: job.c:759
-#, fuzzy, c-format
+#: job.c:842
+#, c-format
msgid "Reaping winning child %p PID %s %s\n"
-msgstr "ïÂÒÏÂËÁ ÒÅÚÕÌØÔÁÔ¦× %s ÐÒÁæ ÎÁÝÁÄËÁ 0x%08lx PID %d%s\n"
+msgstr "Підбираємо вдалий дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð· PID %p %s %s\n"
-#: job.c:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
-msgstr "úÎÉÝÅÎÎÑ ÔÉÍÞÁÓÏ×ÏÇÏ ËÏÍÁÎÄÎÏÇÏ ÆÁÊÌÕ %s\n"
+msgstr "Ð—Ð½Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¼Ñ‡Ð°Ñового командного файла %s\n"
-#: job.c:861
-#, fuzzy, c-format
+#: job.c:855
+#, c-format
+msgid "Cleaning up temp batch file %s failed (%d)\n"
+msgstr ""
+"Спроба Ð²Ð¸Ñ‚Ð¸ÐºÐ°Ð½Ð½Ñ Ñ‚Ð¸Ð¼Ñ‡Ð°Ñового файла пакетної обробки %s зазнала невдачі (%d)\n"
+
+#: job.c:961
+#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
-msgstr "÷ÉÄÁÌÅÎÎÑ ÎÁÝÁÄËÁ 0x%08lx PID %d%s Ú ÌÁÎÃÀÖËÁ ÁËÔÉ×ÎÉÈ ÎÁÝÁÄ˦×.\n"
+msgstr "Вилучаємо PID дочірнього процеÑу %p %s%s з ланцюжка.\n"
-#: job.c:920
-msgid "write jobserver"
-msgstr ""
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
+msgstr "ÑпуÑкаємо Ñемафор Ñервера завдань: (Помилка %ld: %s)"
-#: job.c:922
-#, fuzzy, c-format
+#: job.c:1024 job.c:1038
+#, c-format
msgid "Released token for child %p (%s).\n"
-msgstr "ïÂÒÏÂËÁ ÒÅÚÕÌØÔÁÔ¦× %s ÐÒÁæ ÎÁÝÁÄËÁ 0x%08lx PID %d%s\n"
+msgstr "Звільнено Ñимвол Ð´Ð»Ñ Ð´Ð¾Ñ‡Ñ–Ñ€Ð½ÑŒÐ¾Ð³Ð¾ процеÑу %p (%s).\n"
-#: job.c:1453 job.c:2094
+#: 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 ""
+msgstr "process_easy() не вдалоÑÑ Ð·Ð°Ð¿ÑƒÑтити Ð¿Ñ€Ð¾Ñ†ÐµÑ (e=%ld)\n"
-#: job.c:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
+"\n"
+"Під Ñ‡Ð°Ñ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾Ð³Ð¾ запуÑку кількіÑÑ‚ÑŒ аргументів дорівнювала %d\n"
-#: job.c:1525
-#, fuzzy, c-format
+#: job.c:1735
+#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
-msgstr "÷ÓÔÁ×ÌÑÀ ÎÁÝÁÄËÁ 0x%08lx PID %d%s Õ ÌÁÎÃÀÖÏË ÁËÔÉ×ÎÉÈ ÎÁÝÁÄ˦×.\n"
+msgstr "Додаємо дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð· PID %p (%s) %s%s до ланцюжка.\n"
-#: job.c:1778
-#, fuzzy, c-format
+#: 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 "ïÂÒÏÂËÁ ÒÅÚÕÌØÔÁÔ¦× %s ÐÒÁæ ÎÁÝÁÄËÁ 0x%08lx PID %d%s\n"
+msgstr "Отримано Ñимвол Ð´Ð»Ñ Ð´Ð¾Ñ‡Ñ–Ñ€Ð½ÑŒÐ¾Ð³Ð¾ процеÑу %p (%s).\n"
-#: job.c:1787
+#: job.c:2029
msgid "read jobs pipe"
-msgstr ""
+msgstr "читаємо запиÑи з потоку завдань"
-#: job.c:1798
+#: job.c:2056
#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr ""
+msgid "%s: target '%s' does not exist"
+msgstr "%s: мети «%s» не Ñ–Ñнує"
-#: job.c:1802
-#, fuzzy, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "îÅÍÁ ÎÅÏÂȦÄÎÏÓÔ¦ ÐÅÒÅÚÂÉÒÁÔÉ Ã¦ÌØ \"%s\".\n"
+#: job.c:2059
+#, c-format
+msgid "%s: update target '%s' due to: %s"
+msgstr "%s: Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¼ÐµÑ‚Ð¸ «%s» з такої причини: %s"
-#: job.c:1910
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr ""
-"ÃÑ ÏÐÅÒÁæÊÎÁ ÓÉÓÔÅÍÁ ÎÅ ÄÏÚ×ÏÌѤ ×ÓÔÁÎÏ×ÌÀ×ÁÔÉ ÏÂÍÅÖÅÎÎÑ ÎÁ ÚÁ×ÁÎÔÁÖÅÎÎÑ"
+"Ñ†Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ð¹Ð½Ð° ÑиÑтема не дозволÑÑ” вÑтановлювати Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° завантаженнÑ"
-#: job.c:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
-msgstr "ÎÅÍÏÖÌÉ×Ï ×ÓÔÁÎÏ×ÉÔÉ ÏÂÍÅÖÅÎÎÑ ÎÁ ÚÁ×ÁÎÔÁÖÅÎÎÑ: "
+msgstr "неможливо вÑтановити Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° завантаженнÑ: "
-#: job.c:1985
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
-msgstr ""
+msgstr "не виÑтачає файлових деÑкрипторів: не вдалоÑÑ Ð·Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ñ‚Ð¸ stdin\n"
-#: job.c:1987
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
-msgstr ""
+msgstr "не виÑтачає файлових деÑкрипторів: не вдалоÑÑ Ð·Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ñ‚Ð¸ stdout\n"
+
+#: job.c:2278
+msgid "no more file handles: could not duplicate stderr\n"
+msgstr "не виÑтачає файлових деÑкрипторів: не вдалоÑÑ Ð·Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ñ‚Ð¸ stderr\n"
-#: job.c:2015
+#: job.c:2293
msgid "Could not restore stdin\n"
-msgstr ""
+msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ stdin\n"
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
-msgstr ""
+msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ stdout\n"
-#: job.c:2127
+#: job.c:2309
+msgid "Could not restore stderr\n"
+msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ stderr\n"
+
+#: 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:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
-msgstr "%s: ëÏÍÁÎÄÁ ÎÅ ÚÎÁÊÄÅÎÁ"
+msgstr "%s: Команда не знайдена"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
-msgstr "%s: ëÏÍÁÎÄÎÉÊ ÐÒÏÃÅÓÏÒ ÎÅ ÚÎÁÊÄÅÎÉÊ"
+msgstr "%s: Командний процеÑор не знайдений"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
-msgstr ""
+msgstr "spawnvpe: ймовірно, завершилоÑÑ Ð¼Ñ–Ñце у Ñередовищі"
-#: job.c:2461
-#, fuzzy, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
-msgstr "$SHELL ÚͦÎÅÎÏ (ÂÕÌÏ \"%s\", ÔÅÐÅÒ \"%s\")"
+#: job.c:2765
+#, c-format
+msgid "$SHELL changed (was '%s', now '%s')\n"
+msgstr "$SHELL змінено (було «%s», тепер «%s»)\n"
-#: job.c:2951
-#, fuzzy, c-format
+#: job.c:3198 job.c:3383
+#, c-format
msgid "Creating temporary batch file %s\n"
-msgstr "fopen (ÔÉÍÞÁÓÏ×ÉÊ ÆÁÊÌ)"
+msgstr "Створюємо тимчаÑовий пакетний файл %s\n"
+
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+"ВміÑÑ‚ файла пакетної обробки:\n"
+"\t@echo off\n"
-#: job.c:2963
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
+"ВміÑÑ‚ пакетного файла:%s\n"
+"\t%s\n"
-#: job.c:3065
+#: 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"
+msgstr ""
+"%s (Ñ€Ñдок %d) Поганий контекÑÑ‚ оболонки (!unixy && !batch_mode_shell)\n"
+
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr ""
+"-O[ТИП] (--output-sync[=ТИП]) Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ ÑеанÑу Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð½Ðµ налаштовано."
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ таблицю загальних Ñимволів: %s"
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr "Завантажений об’єкт %s не оголошено Ñк ÑуміÑний з GPL"
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ Ñимвол %s з %s: %s"
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr "ÐŸÐ¾Ñ€Ð¾Ð¶Ð½Ñ Ð½Ð°Ð·Ð²Ð° Ñимволу Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ: %s"
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr "Завантажуємо Ñимвол %s з %s\n"
+
+#: load.c:244
+msgid "The 'load' operation is not supported on this platform."
+msgstr "Ðа цій платформі Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð´Ñ–Ñ— «load» не передбачено."
-#: main.c:303
+#: main.c:313
msgid "Options:\n"
-msgstr "ëÌÀÞ¦:\n"
+msgstr "Ключі:\n"
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
-msgstr ""
+msgstr " -b, -m ІгноруєтьÑÑ, Ð´Ð»Ñ ÑуміÑноÑÑ‚Ñ–.\n"
-#: main.c:306
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
-msgstr ""
+msgstr " -B, --always-make безумовно оброблÑти вÑÑ– запиÑи мети.\n"
-#: main.c:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
+" -C КÐТÐЛОГ, --directory=КÐТÐЛОГ\n"
+" Перейти до каталогу до Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð±ÑƒÐ´ÑŒ-Ñких "
+"дій.\n"
-#: main.c:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
-msgstr ""
+msgstr " -d ВивеÑти діагноÑтичні повідомленнÑ.\n"
-#: main.c:313
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
+" --debug[=ПРÐПОРЦІ] ВивеÑти діагноÑтичні Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¸Ñ… "
+"типів.\n"
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
+" -e, --environment-overrides\n"
+" Змінні Ñередовища мають вищий пріоритет за "
+"змінні makefile.\n"
-#: main.c:318
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
-msgstr ""
+msgstr " --eval=РЯДОК Обробити РЯДОК Ñк інÑтрукцію makefile.\n"
-#: main.c:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
+" -f ФÐЙЛ, --file=ФÐЙЛ, --makefile=ФÐЙЛ\n"
+" ВикориÑтати ФÐЙЛ Ñк makefile.\n"
-#: main.c:323
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
-msgstr ""
+msgstr " -h, --help ВивеÑти це Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ– вийти.\n"
-#: main.c:325
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr ""
+" -i, --ignore-errors Ігнорувати помилки від ÑпоÑобів збираннÑ.\n"
-#: main.c:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
+" -I КÐТÐЛОГ, --include-dir=КÐТÐЛОГ\n"
+" Виконати пошук включених makefile у каталозі.\n"
-#: main.c:330
+#: 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:332
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr ""
+" -k, --keep-going Продовжувати роботу, Ñкщо Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ ÑкоїÑÑŒ мети "
+"неможливе.\n"
-#: main.c:334
+#: 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"
+" Ðе запуÑкати декількох завдань, Ñкщо "
+"Ð½Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” N.\n"
-#: main.c:337
+#: 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:339
+#: 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"
+" Ðе заÑтоÑовувати ÑпоÑобів збираннÑ, проÑто "
+"вивеÑти назви ÑпоÑобів.\n"
-#: main.c:342
+#: 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"
-#: main.c:345
-msgid " -p, --print-data-base Print make's internal database.\n"
+#: 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:347
-#, fuzzy
+#: main.c:358
+msgid " -p, --print-data-base Print make's internal database.\n"
+msgstr " -p, --print-data-base ВивеÑти внутрішню базу даних make.\n"
+
+#: main.c:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
-msgstr "îÅ ×ÉËÏÎÕ×ÁÔÉ ËÏÍÁÎÄÉ, ËÏÄ ÚÁ×ÅÒÛÅÎÎÑ ÐÏËÁÖÅ ÞÉ ÏÎÏ×ÌÅÎÏ"
+msgstr ""
+" -q, --question не заÑтоÑовувати жодних "
+"ÑпоÑобів; код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¿Ð¾ÐºÐ°Ð·ÑƒÑ”, чи вÑе вже "
+"зроблено.\n"
-#: main.c:349
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
-msgstr ""
+msgstr " -r, --no-builtin-rules Вимкнути вбудовані неÑвні правила.\n"
-#: main.c:351
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
-msgstr ""
+msgstr " -R, --no-builtin-variables Вимкнути вбудовані параметри змінних.\n"
-#: main.c:353
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
-msgstr ""
+msgstr " -s, --silent, --quiet Ðе виводити ÑпоÑоби збираннÑ.\n"
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr ""
+" -S, --no-keep-going, --stop\n"
+" Вимкнути -k.\n"
-#: main.c:358
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr ""
+" -t, --touch Змінювати Ñ‡Ð°Ñ Ð´Ð¾Ñтупу до мети заміÑÑ‚ÑŒ Ñ—Ñ— "
+"повторного збираннÑ.\n"
-#: main.c:360
+#: main.c:373
+msgid " --trace Print tracing information.\n"
+msgstr " --trace ВивеÑти дані щодо траÑуваннÑ.\n"
+
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
-msgstr ""
+msgstr " -v, --version ВивеÑти дані щодо верÑÑ–Ñ— make Ñ– вийти.\n"
-#: main.c:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
-msgstr ""
+msgstr " -w, --print-directory Виводити дані щодо поточного каталогу.\n"
-#: main.c:364
+#: 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:366
+#: 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"
-#: main.c:369
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr ""
+" --warn-undefined-variables Попереджати про поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° невизначену "
+"змінну.\n"
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
-msgstr "ÐÏÒÏÖÎ¦Ê ÒÑÄÏË ÎÅÐÒÉÐÕÓÔÉÍÉÊ Õ ÑËÏÓÔ¦ ¦ÍÅΦ ÆÁÊÌÕ"
+msgstr "порожній Ñ€Ñдок не може бути назвою файла"
-#: main.c:650
+#: main.c:737
#, c-format
-msgid "unknown debug level specification `%s'"
-msgstr ""
+msgid "unknown debug level specification '%s'"
+msgstr "невідома ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ñ€Ñ–Ð²Ð½Ñ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñтики, «%s»"
+
+#: main.c:774
+#, c-format
+msgid "unknown output-sync type '%s'"
+msgstr "невідомий тип Ñинхронізації виведених даних, «%s»"
-#: main.c:690
+#: main.c:828
#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
-msgstr ""
+msgstr "%s: ÑталоÑÑ Ð¿ÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ (код = 0x%lx, адреÑа = 0x%p)\n"
-#: main.c:697
+#: main.c:835
#, c-format
msgid ""
"\n"
@@ -897,199 +1097,233 @@ msgid ""
"ExceptionFlags = %lx\n"
"ExceptionAddress = 0x%p\n"
msgstr ""
+"\n"
+"З програми %s викликано фільтр непридатних до обробки виключень\n"
+"Код Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ = %lx\n"
+"Прапорці Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ = %lx\n"
+"ÐдреÑа Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ = 0x%p\n"
-#: main.c:705
+#: main.c:843
#, c-format
msgid "Access violation: write operation at address 0x%p\n"
-msgstr ""
+msgstr "ÐŸÐ¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð» доÑтупу: Ð´Ñ–Ñ Ð· запиÑу за адреÑою 0x%p\n"
-#: main.c:706
+#: main.c:844
#, c-format
msgid "Access violation: read operation at address 0x%p\n"
-msgstr ""
+msgstr "ÐŸÐ¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð» доÑтупу: Ð´Ñ–Ñ Ð· Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð·Ð° адреÑою 0x%p\n"
-#: main.c:781 main.c:792
+#: main.c:920 main.c:935
#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
-msgstr ""
+msgstr "find_and_set_shell() вÑтановлює default_shell = %s\n"
-#: main.c:834
+#: 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:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
-msgstr ""
+msgstr "%s призупинÑєтьÑÑ Ð½Ð° 30 Ñекунд..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
-msgstr ""
+msgstr "виконано sleep(30). Продовжуємо.\n"
-#: main.c:1501
-msgid "Makefile from standard input specified twice."
-msgstr ""
-
-#: main.c:1539 vmsjobs.c:500
-msgid "fopen (temporary file)"
-msgstr "fopen (ÔÉÍÞÁÓÏ×ÉÊ ÆÁÊÌ)"
-
-#: main.c:1545
-msgid "fwrite (temporary file)"
-msgstr "fwrite (ÔÉÍÞÁÓÏ×ÉÊ ÆÁÊÌ)"
-
-#: main.c:1703
-msgid "Parallel jobs (-j) are not supported on this platform."
-msgstr ""
-
-#: main.c:1704
-msgid "Resetting to single job (-j1) mode."
+#: main.c:1527
+#, c-format
+msgid ""
+"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
+"Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ Ñемафор Ñервера завдань «%s»: "
+"(помилка %ld: %s)"
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr ""
+#: main.c:1530
+#, c-format
+msgid "Jobserver client (semaphore %s)\n"
+msgstr "Клієнт Ñервера завдань (Ñемафор %s)\n"
-#: main.c:1727
+#: main.c:1534
#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
-msgstr ""
+msgid "internal error: invalid --jobserver-fds string '%s'"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: некоректний Ñ€Ñдок --jobserver-fds, «%s»"
-#: main.c:1730
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
-msgstr ""
+msgstr "Клієнт Ñервера завдань (fd %d,%d)\n"
-#: main.c:1740
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr ""
+"попередженнÑ: у вкладеному файлів Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ -jN: вимикаємо режим "
+"Ñервера завдань."
-#: main.c:1750
+#: main.c:1567
msgid "dup jobserver"
-msgstr ""
+msgstr "дублюємо Ñервер завдань"
-#: main.c:1753
+#: main.c:1570
msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
+"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:1780 vmsjobs.c:653
+msgid "fopen (temporary file)"
+msgstr "fopen (тимчаÑовий файл)"
+
+#: main.c:1786
+msgid "fwrite (temporary file)"
+msgstr "fwrite (тимчаÑовий файл)"
+
+#: main.c:1974
+msgid "Parallel jobs (-j) are not supported on this platform."
+msgstr "Ðа цій платформі паралельної обробки завдань (-j) не передбачено."
+
+#: main.c:1975
+msgid "Resetting to single job (-j1) mode."
+msgstr "ПовертаємоÑÑ Ð´Ð¾ режиму єдиного Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ (-j1)."
+
+#: main.c:1994
+#, c-format
+msgid "Jobserver slots limited to %d\n"
+msgstr "Слоти Ñервера завдань обмежено значеннÑм %d\n"
-#: main.c:1777
+#: main.c:2002
+#, c-format
+msgid "creating jobserver semaphore: (Error %ld: %s)"
+msgstr "Ñтворюємо Ñемафор Ñервера завдань: (помилка %ld: %s)"
+
+#: main.c:2008
msgid "creating jobs pipe"
-msgstr ""
+msgstr "Ñтворюємо канал завдань"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
-msgstr ""
+msgstr "ініціалізуємо канал Ñервера завдань"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
-msgstr ""
+msgstr "Підтримки Ñимволічних поÑилань не передбачено: вимикаємо -L."
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
-msgstr "ïÎÏ×ÌÅÎÎÑ make-ÆÁÊ̦×...\n"
+msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ make-файлів...\n"
-#: main.c:1917
+#: main.c:2158
#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
-msgstr "Make-ÆÁÊÌ \"%s\", ÍÏÖÌÉ×Ï, ÚÁÃÉËÌÅÎÉÊ, צΠÎÅ ÐÅÒÅÚÂÉÒÁÔÉÍÅÔØÓÑ.\n"
+msgid "Makefile '%s' might loop; not remaking it.\n"
+msgstr "Make-файл \"%s\", можливо, зациклений, він не перезбиратиметьÑÑ.\n"
-#: main.c:1996
+#: main.c:2237
#, c-format
-msgid "Failed to remake makefile `%s'."
-msgstr "óÐÒÏÂÁ ÐÅÒÅÚ¦ÂÒÁÔÉ make-ÆÁÊÌ \"%s\" ÂÅÚÕÓЦÛÎÁ."
+msgid "Failed to remake makefile '%s'."
+msgstr "Спроба перезібрати make-файл \"%s\" безуÑпішна."
-#: main.c:2013
+#: main.c:2257
#, c-format
-msgid "Included makefile `%s' was not found."
-msgstr "Make-ÆÁÊÌ \"%s\", ÑËÉÊ ×ËÌÀÞÁ¤ÔØÓÑ, ÎÅ ÂÕÌÏ ÚÎÁÊÄÅÎÏ."
+msgid "Included makefile '%s' was not found."
+msgstr "Make-файл \"%s\", Ñкий включаєтьÑÑ, не було знайдено."
-#: main.c:2018
+#: main.c:2262
#, c-format
-msgid "Makefile `%s' was not found"
-msgstr "Make-ÆÁÊÌ \"%s\" ÎÅ ÂÕÌÏ ÚÎÁÊÄÅÎÏ"
+msgid "Makefile '%s' was not found"
+msgstr "Make-файл \"%s\" не було знайдено"
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
-msgstr "îÅÍÏÖÌÉ×Ï ÐÅÒÅÊÔÉ Õ ÐÅÒצÓÎÉÊ ËÁÔÁÌÏÇ."
+msgstr "Ðеможливо перейти у первіÑний каталог."
-#: main.c:2102
-#, fuzzy, c-format
+#: main.c:2343
+#, c-format
msgid "Re-executing[%u]:"
-msgstr "ðÏ×ÔÏÒÎÅ ×ÉËÏÎÁÎÎÑ:"
+msgstr "Повторне виконаннÑ[%u]:"
-#: main.c:2215
-#, fuzzy
+#: main.c:2453
msgid "unlink (temporary file): "
-msgstr "fopen (ÔÉÍÞÁÓÏ×ÉÊ ÆÁÊÌ)"
+msgstr "unlink (тимчаÑовий файл): "
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
-msgstr ""
+msgstr ".DEFAULT_GOAL міÑтить декілька запиÑів мети"
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
-msgstr "îÅ ÚÁÄÁΦ æ̦ ¦ ÎÅ ÚÎÁÊÄÅÎÉÊ make-ÆÁÊÌ"
+msgstr "Ðе задані цілі Ñ– не знайдений make-файл"
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
-msgstr "îÅÍÁ æÌÅÊ"
+msgstr "Ðема цілей"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
-msgstr "ïÎÏ×ÌÅÎÎÑ Ã¦ÌÅÊ ÍÅÔÉ...\n"
+msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ†Ñ–Ð»ÐµÐ¹ мети...\n"
-#: main.c:2306
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
+"попередженнÑ: виÑвлено Ð²Ñ–Ð´Ñ…Ð¸Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾ÐºÐ°Ð·Ñ–Ð² годинника. Ð—Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ðµ бути "
+"неповним."
-#: main.c:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
-msgstr "÷ÉËÏÒÉÓÔÁÎÎÑ: %s [ëìàþ¶]... [ã¶ìø]...\n"
+msgstr "ВикориÑтаннÑ: %s [КЛЮЧІ]... [ЦІЛЬ]...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
"This program built for %s\n"
msgstr ""
+"\n"
+"Цю програму зібрано Ð´Ð»Ñ %s\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
"This program built for %s (%s)\n"
msgstr ""
+"\n"
+"Цю програму зібрано Ð´Ð»Ñ %s (%s)\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
-msgstr "ðÏצÄÏÍÌÀÊÔÅ ÐÒÏ ÐÏÍÉÌËÉ ÄÏ <bug-make@gnu.org>\n"
+msgstr "Повідомлюйте про помилки до <bug-make@gnu.org>\n"
-#: main.c:2562
-#, fuzzy, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
-msgstr "ËÌÀÞ \"-%c\" ÐÏ×ÉÎÅÎ ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉÓÑ Ú Ã¦ÌÉÍ ÐÏÚÉÔÉ×ÎÉÍ ÁÒÇÕÍÅÎÔÏÍ"
+#: main.c:2807
+#, c-format
+msgid "the '%s%s' option requires a non-empty string argument"
+msgstr "разом з «%s%s» мало бути вказано непорожній Ñ€Ñдковий аргумент"
-#: main.c:2617
+#: main.c:2871
#, c-format
-msgid "the `-%c' option requires a positive integral argument"
-msgstr "ËÌÀÞ \"-%c\" ÐÏ×ÉÎÅÎ ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉÓÑ Ú Ã¦ÌÉÍ ÐÏÚÉÔÉ×ÎÉÍ ÁÒÇÕÍÅÎÔÏÍ"
+msgid "the '-%c' option requires a positive integer argument"
+msgstr "ключ \"-%c\" повинен викориÑтовуватиÑÑ Ð· цілим додатним аргументом"
-#: main.c:3054
+#: main.c:3269
#, c-format
msgid "%sBuilt for %s\n"
-msgstr ""
+msgstr "%sЗібрано Ð´Ð»Ñ %s\n"
-#: main.c:3056
+#: main.c:3271
#, c-format
msgid "%sBuilt for %s (%s)\n"
-msgstr ""
+msgstr "%sЗібрано Ð´Ð»Ñ %s (%s)\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1097,1067 +1331,946 @@ msgid ""
"%sThis is free software: you are free to change and redistribute it.\n"
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
+"%sУмови Ð»Ñ–Ñ†ÐµÐ½Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ»Ð°Ð´ÐµÐ½Ð¾ у GPLv3+: GNU GPL верÑÑ–Ñ— 3 або новішій, "
+"<http://gnu.org/licenses/gpl.html>\n"
+"%sЦе вільне програмне забезпеченнÑ: ви можете вільно змінювати Ñ– поширювати "
+"його.\n"
+"%sВам не надаєтьÑÑ Ð–ÐžÐ”ÐИХ ГÐРÐÐТІЙ, окрім гарантій передбачених "
+"законодавÑтвом.\n"
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
"# Make data base, printed on %s"
msgstr ""
"\n"
-"# âÁÚÁ ÄÁÎÉÈ Make, ÎÁÄÒÕËÏ×ÁÎÁ %s"
+"# База даних Make, надрукована %s"
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
"# Finished Make data base on %s\n"
msgstr ""
"\n"
-"# äÒÕË ÂÁÚÉ ÄÁÎÉÈ Make ÚÁ×ÅÒÛÅÎÏ %s\n"
+"# Друк бази даних Make завершено %s\n"
-#: main.c:3237
-#, fuzzy, c-format
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "Ðевідома помилка %d"
+
+#: 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:543
+msgid "Initialized access"
+msgstr "Ініціалізований доÑтуп"
+
+#: misc.c:622
+msgid "User access"
+msgstr "ДоÑтуп кориÑтувача"
+
+#: misc.c:670
+msgid "Make access"
+msgstr "ДоÑтуп make"
+
+#: misc.c:704
+msgid "Child access"
+msgstr "ДоÑтуп дочірнього процеÑу"
+
+#: output.c:104
+#, c-format
msgid "%s: Entering an unknown directory\n"
-msgstr "%s: ÷ÈÏÖÕ Õ ÎÅצÄÏÍÉÊ ËÁÔÁÌÏÇ"
+msgstr "%s: входимо до невідомого каталогу\n"
-#: main.c:3239
-#, fuzzy, c-format
+#: output.c:106
+#, c-format
msgid "%s: Leaving an unknown directory\n"
-msgstr "%s: úÁÌÉÛÁÀ ÎÅצÄÏÍÉÊ ËÁÔÁÌÏÇ"
+msgstr "%s: виходимо з невідомого каталогу\n"
-#: main.c:3242
+#: output.c:109
#, c-format
-msgid "%s: Entering directory `%s'\n"
-msgstr "%s: ÷ÈÏÖÕ Õ ËÁÔÁÌÏÇ \"%s\"\n"
+msgid "%s: Entering directory '%s'\n"
+msgstr "%s: входимо до каталогу «%s»\n"
-#: main.c:3245
+#: output.c:111
#, c-format
-msgid "%s: Leaving directory `%s'\n"
-msgstr "%s: úÁÌÉÛÁÀ ËÁÔÁÌÏÇ \"%s\"\n"
+msgid "%s: Leaving directory '%s'\n"
+msgstr "%s: Залишаю каталог \"%s\"\n"
-#: main.c:3250
-#, fuzzy, c-format
+#: output.c:115
+#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
-msgstr "%s[%u]: ÷ÈÏÖÕ Õ ÎÅצÄÏÍÉÊ ËÁÔÁÌÏÇ "
+msgstr "%s[%u]: входимо до невідомого каталогу\n"
-#: main.c:3253
-#, fuzzy, c-format
+#: output.c:117
+#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
-msgstr "%s[%u]: úÁÌÉÛÁÀ ÎÅצÄÏÍÉÊ ËÁÔÁÌÏÇ"
+msgstr "%s[%u]: залишаємо невідомий каталог\n"
-#: main.c:3257
+#: output.c:120
#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
-msgstr "%s[%u]: ÷ÈÏÖÕ Õ ËÁÔÁÌÏÇ \"%s\"\n"
+msgid "%s[%u]: Entering directory '%s'\n"
+msgstr "%s[%u]: входимо до каталогу «%s»\n"
-#: main.c:3260
+#: output.c:122
#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
-msgstr "%s[%u]: úÁÌÉÛÁÀ ËÁÔÁÌÏÇ \"%s\"\n"
+msgid "%s[%u]: Leaving directory '%s'\n"
+msgstr "%s[%u]: Залишаю каталог \"%s\"\n"
-#: misc.c:316
-msgid ". Stop.\n"
-msgstr ". úÕÐÉÎËÁ.\n"
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
+msgstr "помилка запиÑу: %s"
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "îÅצÄÏÍÁ ÐÏÍÉÌËÁ %d"
+#: output.c:677
+msgid ". Stop.\n"
+msgstr ". Зупинка.\n"
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "צÒÔÕÁÌØÎÁ ÐÁÍ'ÑÔØ ×ÉÞÅÒÐÁÎÁ"
-
-#: misc.c:708
-#, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr ""
-
-#: misc.c:729
-msgid "Initialized access"
-msgstr ""
-
-#: misc.c:808
-msgid "User access"
-msgstr "äÏÓÔÕÐ ËÏÒÉÓÔÕ×ÁÞÁ"
-
-#: misc.c:856
-msgid "Make access"
-msgstr ""
-
-#: misc.c:890
-msgid "Child access"
-msgstr ""
-
-#: misc.c:954
-#, fuzzy, c-format
-msgid "write error: %s"
-msgstr "ËÁÔÁÌÏÇ \"%s\"\n"
-
-#: misc.c:956
-#, fuzzy
-msgid "write error"
-msgstr "ðÏÍÉÌËÁ ÎÁ ÛÉΦ"
-
-#: read.c:179
-#, fuzzy
+#: read.c:180
msgid "Reading makefiles...\n"
-msgstr "þÉÔÁÎÎÑ make-ÆÁÊ̦×..."
+msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ make-файлів...\n"
-#: read.c:333
+#: read.c:335
#, c-format
-msgid "Reading makefile `%s'"
-msgstr "þÉÔÁÎÎÑ make-ÆÁÊÌÕ \"%s\""
+msgid "Reading makefile '%s'"
+msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ make-файла \"%s\""
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
-msgstr " (ÎÅÍÁ¤ ÍÅÔÉ ÚÁ ÚÁÍÏ×ÞÕ×ÁÎÎÑÍ)"
+msgstr " (немає типової мети)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
-msgstr " (ÛÌÑÈ ÐÏÛÕËÕ)"
+msgstr " (шлÑÑ… пошуку)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
-msgstr " (ÎÅ Ú×ÁÖÁÔÉ)"
+msgstr " (не зважати)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
-msgstr " (ÎÅ ÒÏÚÛÉÒÀ×ÁÔÉ ~)"
+msgstr " (не розширювати ~)"
+
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr "ПропуÑкаємо мітку UTF-8 у файлі makefile «%s»\n"
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr "ПропуÑкаємо мітку UTF-8 у буфері файла makefile\n"
-#: read.c:759
+#: read.c:789
msgid "invalid syntax in conditional"
-msgstr "ÎÅצÒÎÉÊ ÓÉÎÔÁËÓÉÓ Õ ÕÍÏ×ÎÏÍÕ ×ÉÒÁÖÅÎΦ"
+msgstr "невірний ÑинтакÑÐ¸Ñ Ñƒ умовному вираженні"
-#: read.c:891
-#, fuzzy
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr "%s: не вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸"
+
+#: read.c:992
msgid "recipe commences before first target"
-msgstr "ËÏÍÁÎÄÉ ÚÕÓÔÒ¦ÎÕÔ¦ ÄÏ ÐÅÒÛÏÇÏ ×ÉÚÎÁÞÅÎÎÑ Ã¦Ì¦"
+msgstr "Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÑпоÑобу Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ñ€Ð¾Ð·Ð¿Ð¾Ñ‡Ð¸Ð½Ð°Ñ”Ñ‚ÑŒÑÑ Ð´Ð¾ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÑˆÐ¾Ñ— мети"
-#: read.c:940
-#, fuzzy
+#: read.c:1041
msgid "missing rule before recipe"
-msgstr "ÐÅÒÅÄ ËÏÍÁÎÄÁÍÉ ÐÒÏÐÕÝÅÎÅ ÐÒÁ×ÉÌÏ"
+msgstr "пропущено правило до ÑпоÑобу"
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "ÐÒÏÐÕÝÅÎÉÊ ÒÏÚĦÌÀ×ÁÞ%s"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
+msgstr " (ви хотіли ввеÑти TAB заміÑÑ‚ÑŒ 8 пробілів?)"
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
-msgstr ""
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "пропущений розділювач%s"
-#: read.c:1163
+#: read.c:1270
msgid "missing target pattern"
-msgstr "ÐÒÏÐÕÝÅÎÉÊ ÛÁÂÌÏΠæ̦"
+msgstr "пропущений шаблон цілі"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
-msgstr "ÎÅ ÏÄÉÎ ÛÁÂÌÏΠæ̦"
+msgstr "не один шаблон цілі"
-#: read.c:1169
+#: read.c:1276
#, c-format
-msgid "target pattern contains no `%%'"
-msgstr "ÛÁÂÌÏΠæ̦ ΊͦÓÔÉÔØ \"%%\""
+msgid "target pattern contains no '%%'"
+msgstr "шаблон цілі не міÑтить \"%%\""
-#: read.c:1293
-msgid "missing `endif'"
-msgstr "ÐÒÏÐÕÝÅÎÁ \"endif\""
+#: read.c:1398
+msgid "missing 'endif'"
+msgstr "пропущена \"endif\""
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
-msgstr "ÐÏÒÏÖΤ ¦Í'Ñ ÚͦÎÎϧ"
+msgstr "порожнє ім'Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ—"
-#: read.c:1367
-#, fuzzy
-msgid "extraneous text after `define' directive"
-msgstr "úÁÊ×ÉÊ ÔÅËÓÔ Ð¦ÓÌÑ ÄÉÒÅËÔÉ×É \"endef\""
+#: read.c:1471
+msgid "extraneous text after 'define' directive"
+msgstr "зайвий текÑÑ‚ піÑÐ»Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð¸ «define»"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
-msgstr "ÐÒÏÐÕÝÅÎÁ \"endif\", ÎÅÚÁ×ÅÒÛÅÎÁ \"define\""
+#: read.c:1496
+msgid "missing 'endef', unterminated 'define'"
+msgstr "пропущена \"endif\", незавершена \"define\""
-#: read.c:1420
-#, fuzzy
-msgid "extraneous text after `endef' directive"
-msgstr "úÁÊ×ÉÊ ÔÅËÓÔ Ð¦ÓÌÑ ÄÉÒÅËÔÉ×É \"endef\""
+#: read.c:1524
+msgid "extraneous text after 'endef' directive"
+msgstr "зайвий текÑÑ‚ піÑÐ»Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð¸ «endef»"
-#: read.c:1490
+#: read.c:1595
#, c-format
-msgid "Extraneous text after `%s' directive"
-msgstr "úÁÊ×ÉÊ ÔÅËÓÔ Ð¦ÓÌÑ ÄÉÒÅËÔÉ×É \"%s\""
+msgid "extraneous text after '%s' directive"
+msgstr "зайвий текÑÑ‚ піÑÐ»Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð¸ \"%s\""
-#: read.c:1499 read.c:1513
+#: read.c:1596
#, c-format
-msgid "extraneous `%s'"
-msgstr "ÚÁÊ×Á \"%s\""
+msgid "extraneous '%s'"
+msgstr "зайва \"%s\""
-#: read.c:1518
-msgid "only one `else' per conditional"
-msgstr "× ÕÍÏ×ÎÏÍÕ ×ÉÒÁÚ¦ ÍÏÖÌÉ×Á ÌÉÛÅ ÏÄÎÁ ÄÉÒÅËÔÉ×Á `else'"
+#: read.c:1624
+msgid "only one 'else' per conditional"
+msgstr "в умовному виразі можлива лише одна директива `else'"
-#: read.c:1797
+#: read.c:1899
msgid "Malformed target-specific variable definition"
-msgstr ""
+msgstr "Помилкове Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñпецифічного Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¸ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ—"
-#: read.c:1855
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
-msgstr ""
+msgstr "у ÑпоÑобах Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð½Ðµ можна вказувати залежноÑтей"
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
-msgstr "ÚͦÛÁΦ ÎÅÑ×Φ ÐÒÁ×ÉÌÁ ¦ ÐÒÁ×ÉÌÁ Ú¦ ÓÔÁÔÉÞÎÉÍÉ ÚÒÁÚËÁÍÉ"
+msgstr "змішані неÑвні правила Ñ– правила зі Ñтатичними зразками"
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
-msgstr "ÚͦÛÁΦ ÎÅÑ×Φ ¦ Ú×ÉÞÁÊΦ ÐÒÁ×ÉÌÁ"
+msgstr "змішані неÑвні Ñ– звичайні правила"
-#: read.c:1976
+#: read.c:2091
#, c-format
-msgid "target `%s' doesn't match the target pattern"
-msgstr "æÌØ \"%s\" ΊצÄÐÏצÄÁ¤ ÚÒÁÚËÕ Ã¦ÌÅÊ"
+msgid "target '%s' doesn't match the target pattern"
+msgstr "ціль \"%s\" не відповідає зразку цілей"
-#: read.c:1991 read.c:2036
+#: read.c:2106 read.c:2152
#, c-format
-msgid "target file `%s' has both : and :: entries"
-msgstr "æÌØÏ×ÉÊ ÆÁÊÌ \"%s\" ÍÁ¤ ×ÈÏÄÖÅÎÎÑ ¦ Ú \":\", ¦ Ú \"::\" "
+msgid "target file '%s' has both : and :: entries"
+msgstr "цільовий файл \"%s\" має Ð²Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ñ– з \":\", Ñ– з \"::\" "
-#: read.c:1997
+#: read.c:2112
#, c-format
-msgid "target `%s' given more than once in the same rule."
-msgstr "æÌØ \"%s\" ÚÁÚÎÁÞÅÎÁ ÄÅ˦ÌØËÁ ÒÁÚ × ÏÄÎÏÍÕ ÐÒÁ×É̦"
+msgid "target '%s' given more than once in the same rule"
+msgstr "ціль \"%s\" зазначено декілька разів у одному правилі"
-#: read.c:2006
-#, fuzzy, c-format
-msgid "warning: overriding recipe for target `%s'"
-msgstr "ÐÏÐÅÒÅÄÖÅÎÎÑ: ÐÅÒÅËÒÉÔÔÑ ËÏÍÁÎÄ ÄÌÑ Ã¦Ì¦ \"%s\""
+#: read.c:2122
+#, c-format
+msgid "warning: overriding recipe for target '%s'"
+msgstr "попередженнÑ: замінюємо ÑпоÑіб Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¸ «%s»"
-#: read.c:2009
-#, fuzzy, c-format
-msgid "warning: ignoring old recipe for target `%s'"
-msgstr "ÐÏÐÅÒÅÄÖÅÎÎÑ: ¦ÇÎÏÒÕ×ÁÎÎÑ ÓÔÁÒÉÈ ËÏÍÁÎÄ ÄÌÑ Ã¦Ì¦ \"%s\""
+#: read.c:2125
+#, c-format
+msgid "warning: ignoring old recipe for target '%s'"
+msgstr "попередженнÑ: ігноруємо заÑтарілий ÑпоÑіб Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¸ «%s»"
-#: read.c:2392
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "змішані неÑвні Ñ– звичайні правила"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
-msgstr "ÐÏÐÅÒÅÄÖÅÎÎÑ: ÚÕÓÔÒ¦ÎÕÔÉÊ ÓÉÍ×ÏÌ NUL; ¦ÇÎÏÒÕ¤ÔØÓÑ ÄÏ Ë¦ÎÃÑ ÒÑÄËÉ"
+msgstr "попередженнÑ: зуÑтрінутий Ñимвол NUL; ігноруєтьÑÑ Ð´Ð¾ ÐºÑ–Ð½Ñ†Ñ Ñ€Ñдки"
-#: remake.c:234
+#: remake.c:230
#, c-format
-msgid "Nothing to be done for `%s'."
-msgstr "ã¦ÌØ \"%s\" ÎÅ ×ÉÍÁÇÁ¤ ×ÉËÏÎÁÎÎÑ ËÏÍÁÎÄ."
+msgid "Nothing to be done for '%s'."
+msgstr "Ціль \"%s\" не вимагає Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´."
-#: remake.c:235
+#: remake.c:231
#, c-format
-msgid "`%s' is up to date."
-msgstr "\"%s\" ÎÅ ×ÉÍÁÇÁ¤ ÏÎÏ×ÌÅÎÎÑ."
+msgid "'%s' is up to date."
+msgstr "\"%s\" не вимагає оновленнÑ."
-#: remake.c:306
-#, fuzzy, c-format
-msgid "Pruning file `%s'.\n"
-msgstr "÷ÓÅ ÝÅ ÏÎÏ×ÌÀ¤ÔØÓÑ ÆÁÊÌ \"%s\".\n"
+#: remake.c:303
+#, c-format
+msgid "Pruning file '%s'.\n"
+msgstr "Обрізаємо файл «%s».\n"
-#: remake.c:359
+#: remake.c:390 remake.c:393
#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%sîÅÍÁ ÐÒÁ×ÉÌÁ ÄÌÑ ÓÔ×ÏÒÅÎÎÑ Ã¦Ì¦ \"%s\"%s"
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
+msgstr "%sÐема правила Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ†Ñ–Ð»Ñ– \"%s\", необхідної Ð´Ð»Ñ \"%s\"%s"
-#: remake.c:361
+#: remake.c:402 remake.c:405
#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
-msgstr "%sîÅÍÁ ÐÒÁ×ÉÌÁ ÄÌÑ ÓÔ×ÏÒÅÎÎÑ Ã¦Ì¦ \"%s\", ÎÅÏÂȦÄÎϧ ÄÌÑ \"%s\"%s"
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sÐема правила Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ†Ñ–Ð»Ñ– \"%s\"%s"
-#: remake.c:413
+#: remake.c:426
#, c-format
-msgid "Considering target file `%s'.\n"
-msgstr "ïÂÒÏÂËÁ æÌØÏ×ÏÇÏ ÆÁÊÌÕ \"%s\".\n"
+msgid "Considering target file '%s'.\n"
+msgstr "Обробка цільового файла \"%s\".\n"
-#: remake.c:420
+#: remake.c:433
#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
-msgstr "ðÏÐÅÒÅÄÎÑ ÓÐÒÏÂÁ ÏÎÏ×ÉÔÉ ÆÁÊÌ \"%s\" ÚÁ×ÅÒÛÉÌÁÓÑ ÂÅÚÕÓЦÛÎÏ.\n"
+msgid "Recently tried and failed to update file '%s'.\n"
+msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ Ñпроба оновити файл \"%s\" завершилаÑÑ Ð±ÐµÐ·ÑƒÑпішно.\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
-msgid "File `%s' was considered already.\n"
-msgstr "æÁÊÌ \"%s\" ×ÖÅ ÂÕÌÏ ÏÂÒÏÂÌÅÎÏ.\n"
+msgid "File '%s' was considered already.\n"
+msgstr "Файл \"%s\" вже було оброблено.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
-msgid "Still updating file `%s'.\n"
-msgstr "÷ÓÅ ÝÅ ÏÎÏ×ÌÀ¤ÔØÓÑ ÆÁÊÌ \"%s\".\n"
+msgid "Still updating file '%s'.\n"
+msgstr "Ð’Ñе ще оновлюєтьÑÑ Ñ„Ð°Ð¹Ð» \"%s\".\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
-msgid "Finished updating file `%s'.\n"
-msgstr "ïÎÏ×ÌÅÎÎÑ ÆÁÊÌÕ \"%s\" ÚÁ×ÅÒÛÅÎÏ.\n"
+msgid "Finished updating file '%s'.\n"
+msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° \"%s\" завершено.\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
-msgid "File `%s' does not exist.\n"
-msgstr "æÁÊÌ \"%s\" ÎÅ ¦ÓÎÕ¤.\n"
+msgid "File '%s' does not exist.\n"
+msgstr "Ðе виÑвлено файла з назвою «%s».\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
+"*** ПопередженнÑ: файл .LOW_RESOLUTION_TIME «%s» має чаÑову позначку виÑокої "
+"точноÑÑ‚Ñ–"
-#: remake.c:494 remake.c:1016
+#: remake.c:508 remake.c:1040
#, c-format
-msgid "Found an implicit rule for `%s'.\n"
-msgstr "úÎÁÊÄÅÎÏ ÎÅÑ×ÎÅ ÐÒÁ×ÉÌÏ ÄÌÑ \"%s\".\n"
+msgid "Found an implicit rule for '%s'.\n"
+msgstr "Знайдено неÑвне правило Ð´Ð»Ñ \"%s\".\n"
-#: remake.c:496 remake.c:1018
+#: remake.c:510 remake.c:1042
#, c-format
-msgid "No implicit rule found for `%s'.\n"
-msgstr "îÅ ÚÎÁÊÄÅÎÏ ÎÅÑ×ÎÉÈ ÐÒÁ×ÉÌ ÄÌÑ \"%s\".\n"
+msgid "No implicit rule found for '%s'.\n"
+msgstr "Ðе знайдено неÑвних правил Ð´Ð»Ñ \"%s\".\n"
-#: remake.c:502
-#, fuzzy, c-format
-msgid "Using default recipe for `%s'.\n"
-msgstr "÷ÉËÏÒÉÓÔÁÎÎÑ ËÏÍÁÎÄ ÐÏ ÚÁÍÏ×ÞÕ×ÁÎÎÀ ÄÌÑ \"%s\".\n"
+#: remake.c:516
+#, c-format
+msgid "Using default recipe for '%s'.\n"
+msgstr "ВикориÑтовуємо типовий ÑпоÑіб Ð´Ð»Ñ Â«%s».\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
-msgstr "ãÉË̦ÞÎÁ ÚÁÌÅÖΦÓÔØ %s <- %s ÐÒÏÐÕÝÅÎÁ."
+msgstr "Циклічна залежніÑÑ‚ÑŒ %s <- %s пропущена."
-#: remake.c:651
-#, fuzzy, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
-msgstr "ïÎÏ×ÌÅÎÎÑ Ã¦ÌÅÊ, ×¦Ä ÑËÉÈ ÚÁÌÅÖÉÔØ Ã¦ÌØÏ×ÉÊ ÆÁÊÌ \"%s\", ÄÏ×ÅÒÛÅÎÏ.\n"
+#: remake.c:675
+#, c-format
+msgid "Finished prerequisites of target file '%s'.\n"
+msgstr "Завершено обробку попередніх залежноÑтей файла мети «%s».\n"
-#: remake.c:657
+#: remake.c:681
#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
-msgstr "ã¦Ì¦, ×¦Ä ÑËÉÈ ÚÁÌÅÖÉÔØ \"%s\", ÚÂÉÒÁÀÔØÓÑ.\n"
+msgid "The prerequisites of '%s' are being made.\n"
+msgstr "Цілі, від Ñких залежить \"%s\", збираютьÑÑ.\n"
-#: remake.c:670
+#: remake.c:695
#, c-format
-msgid "Giving up on target file `%s'.\n"
-msgstr "á×ÁÒ¦ÊÎÉÊ ÚÕÐÉÎËÁ ÎÁ æÌØÏ×ÏÍÕ ÆÁÊ̦ \"%s\".\n"
+msgid "Giving up on target file '%s'.\n"
+msgstr "Ðварійний зупинка на цільовому файлі \"%s\".\n"
-#: remake.c:675
+#: remake.c:700
#, c-format
-msgid "Target `%s' not remade because of errors."
-msgstr "ã¦ÌØ \"%s\" ÎÅ ÂÕÌÁ ÐÅÒÅÚ¦ÂÒÁÎÁ ÞÅÒÅÚ ÐÏÍÉÌËÉ."
+msgid "Target '%s' not remade because of errors."
+msgstr "Ціль \"%s\" не була перезібрана через помилки."
-#: remake.c:727
+#: remake.c:752
#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
-msgstr ""
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
+msgstr "ЗалежніÑÑ‚ÑŒ «%s» визначено Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¸ «%s» лише порÑдком збираннÑ.\n"
-#: remake.c:732
-#, fuzzy, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
-msgstr "æÁÊÌ \"%s\" ÎÅ ¦ÓÎÕ¤.\n"
+#: remake.c:757
+#, c-format
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
+msgstr "ЗалежноÑÑ‚Ñ– «%s» мети «%s» не Ñ–Ñнує.\n"
-#: remake.c:737
-#, fuzzy, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
-msgstr "úÁÌÅÖÎÁ æÌØ \"%s\" ÏÎÏ×ÌÑÌÁÓÑ %s Î¦Ö ÚÁÌÅÖÎÁ ×¦Ä Îŧ \"%s\".\n"
+#: remake.c:762
+#, c-format
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
+msgstr "ЗалежніÑÑ‚ÑŒ «%s» Ñ” новішою за мету «%s».\n"
-#: remake.c:740
-#, fuzzy, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
-msgstr "úÁÌÅÖÎÁ æÌØ \"%s\" ÏÎÏ×ÌÑÌÁÓÑ %s Î¦Ö ÚÁÌÅÖÎÁ ×¦Ä Îŧ \"%s\".\n"
+#: remake.c:765
+#, c-format
+msgid "Prerequisite '%s' is older than target '%s'.\n"
+msgstr "ЗалежніÑÑ‚ÑŒ «%s» Ñ” Ñтарішою за мету «%s».\n"
-#: remake.c:758
+#: remake.c:783
#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
-msgstr "ã¦ÌØ \"%s\" ÏÇÏÌÏÛÅÎÁ Ú Ä×ÏÍÁ Ä×ÏËÒÁÐËÁÍÉ ¦ ÎÅ ÍÁ¤ ÚÁÌÅÖÎÏÓÔÅÊ.\n"
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
+msgstr "Ціль \"%s\" оголошена з двома двокрапками Ñ– не має залежноÑтей.\n"
-#: remake.c:765
-#, fuzzy, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
-msgstr "ëÏÍÁÎÄÉ ÄÌÑ \"%s\" ÎÅ ÚÁÄÁΦ, ¦ ÚÁÌÅÖÎÏÓÔ¦ ÎÅ ÂÕÌÉ ÚͦÎÅΦ.\n"
+#: remake.c:790
+#, c-format
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
+msgstr "Ðемає ÑпоÑобу Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Â«%s», вÑÑ– попередні залежноÑÑ‚Ñ– не змінено.\n"
-#: remake.c:770
+#: remake.c:795
#, c-format
-msgid "Making `%s' due to always-make flag.\n"
-msgstr ""
+msgid "Making '%s' due to always-make flag.\n"
+msgstr "Збираємо «%s» через вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÐºÐ»ÑŽÑ‡Ð° always-make.\n"
-#: remake.c:778
-#, fuzzy, c-format
-msgid "No need to remake target `%s'"
-msgstr "îÅÍÁ ÎÅÏÂȦÄÎÏÓÔ¦ ÐÅÒÅÚÂÉÒÁÔÉ Ã¦ÌØ \"%s\".\n"
+#: remake.c:803
+#, c-format
+msgid "No need to remake target '%s'"
+msgstr "Потреби у повторному збиранні мети «%s» немає"
-#: remake.c:780
+#: remake.c:805
#, c-format
-msgid "; using VPATH name `%s'"
-msgstr ""
+msgid "; using VPATH name '%s'"
+msgstr "; викориÑтовуємо назву VPATH «%s»"
-#: remake.c:800
+#: remake.c:825
#, c-format
-msgid "Must remake target `%s'.\n"
-msgstr "îÅÏÂȦÄÎÏ ÐÅÒÅÚ¦ÂÒÁÔÉ Ã¦ÌØ \"%s\".\n"
+msgid "Must remake target '%s'.\n"
+msgstr "Ðеобхідно перезібрати ціль \"%s\".\n"
-#: remake.c:806
+#: remake.c:831
#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
-msgstr ""
+msgid " Ignoring VPATH name '%s'.\n"
+msgstr " Ігноруємо назву VPATH «%s».\n"
-#: remake.c:815
-#, fuzzy, c-format
-msgid "Recipe of `%s' is being run.\n"
-msgstr "ëÏÍÁÎÄÉ ÄÌÑ \"%s\" ÚÁÒÁÚ ×ÉËÏÎÕÀÔØÓÑ.\n"
+#: remake.c:840
+#, c-format
+msgid "Recipe of '%s' is being run.\n"
+msgstr "ЗаÑтоÑовуємо ÑпоÑіб «%s».\n"
-#: remake.c:822
+#: remake.c:847
#, c-format
-msgid "Failed to remake target file `%s'.\n"
-msgstr "óÐÒÏÂÁ ÐÅÒÅÚ¦ÂÒÁÔÉ Ã¦ÌØÏ×ÉÊ ÆÁÊÌ \"%s\" ÂÅÚÕÓЦÛÎÁ.\n"
+msgid "Failed to remake target file '%s'.\n"
+msgstr "Спроба перезібрати цільовий файл \"%s\" безуÑпішна.\n"
-#: remake.c:825
+#: remake.c:850
#, c-format
-msgid "Successfully remade target file `%s'.\n"
-msgstr "ã¦ÌØÏ×ÉÊ ÆÁÊÌ \"%s\" ÕÓЦÛÎÏ ÐÅÒÅÚ¦ÂÒÁÎÉÊ.\n"
+msgid "Successfully remade target file '%s'.\n"
+msgstr "Цільовий файл \"%s\" уÑпішно перезібраний.\n"
-#: remake.c:828
+#: remake.c:853
#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
-msgstr "ã¦ÌØÏ×ÉÊ ÆÁÊÌ \"%s\" ×ÉÍÁÇÁ¤ ÐÅÒÅÚ¦ÒËÉ Ú ËÌÀÞÏÍ -q.\n"
+msgid "Target file '%s' needs to be remade under -q.\n"
+msgstr "Цільовий файл \"%s\" вимагає Ð¿ÐµÑ€ÐµÐ·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð· ключем -q.\n"
-#: remake.c:1024
+#: remake.c:1048
#, c-format
-msgid "Using default commands for `%s'.\n"
-msgstr "÷ÉËÏÒÉÓÔÁÎÎÑ ËÏÍÁÎÄ ÐÏ ÚÁÍÏ×ÞÕ×ÁÎÎÀ ÄÌÑ \"%s\".\n"
+msgid "Using default commands for '%s'.\n"
+msgstr "ВикориÑÑ‚Ð°Ð½Ð½Ñ Ñ‚Ð¸Ð¿Ð¾Ð²Ð¸Ñ… команд Ð´Ð»Ñ Â«%s».\n"
-#: remake.c:1357
+#: remake.c:1397
#, c-format
-msgid "Warning: File `%s' has modification time in the future"
-msgstr "õ×ÁÇÁ: æÁÊÌ \"%s\" ÍÁ¤ ÍÁÊÂÕÔÎ¦Ê ÞÁÓ ÚͦÎÉ"
+msgid "Warning: File '%s' has modification time in the future"
+msgstr "Увага: Файл \"%s\" має майбутній Ñ‡Ð°Ñ Ð·Ð¼Ñ–Ð½Ð¸"
-#: remake.c:1370
-#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
-msgstr "õ×ÁÇÁ: æÁÊÌ \"%s\" ÍÁ¤ ÞÁÓ ÚͦÎÉ %.2g Ó × ÍÁÊÂÕÔÎØÏÍÕ"
+#: remake.c:1411
+#, c-format
+msgid "Warning: File '%s' has modification time %s s in the future"
+msgstr "Увага: Ñ‡Ð°Ñ Ð·Ð¼Ñ–Ð½Ð¸ файла «%s» перебуває на %s Ñ Ñƒ майбутньому"
-#: remake.c:1569
+#: remake.c:1610
#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
-msgstr ""
+msgid ".LIBPATTERNS element '%s' is not a pattern"
+msgstr "Елемент .LIBPATTERNS «%s» не є зразком"
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
-msgstr ""
+msgstr "ÐеекÑпортовні налаштуваннÑ: %s\n"
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
msgstr ""
+"\n"
+"# ÐеÑвні правила"
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
msgstr ""
"\n"
-"# îÅÑ×ÎÉÈ ÐÒÁ×ÉÌ ÎÅÍÁ."
+"# ÐеÑвних правил нема."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
"# %u implicit rules, %u"
msgstr ""
"\n"
-"# îÅÑ×ÎÉÈ ÐÒÁ×ÉÌ: %u, ÔÅÒͦÎÁÌØÎÉÈ: %u"
+"# ÐеÑвних правил: %u, термінальних: %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
msgstr "."
-#: rule.c:534
-#, fuzzy, c-format
+#: rule.c:530
+#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
-msgstr "ðïíéìëá: ÎÅצÒÎÅ ÚÎÁÞÅÎÎÑ num_pattern_rules! %u != %u"
+msgstr "ПОМИЛКÐ: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ num_pattern_rules Ñ” помилковим! %u != %u"
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
-msgstr "ÎÅצÄÏÍÉÊ ÓÉÇÎÁÌ"
+msgstr "невідомий Ñигнал"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
-msgstr "ïÂÒÉ×"
+msgstr "Обрив"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
-msgstr "ðÅÒÅÒÉ×ÁÎÎÑ"
+msgstr "ПерериваннÑ"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
-msgstr "÷ÉȦÄ"
+msgstr "Вихід"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
-msgstr "îÅÐÒÉÐÕÓÔÉÍÁ ¦ÎÓÔÒÕËæÑ"
+msgstr "ÐеприпуÑтима інÑтрукціÑ"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
-msgstr "ðÁÓÔËÁ ÔÒÁÓÕ×ÁÎÎÑ ÞÉ ÔÏÞËÉ ÚÕÐÉÎËÉ"
+msgstr "ПаÑтка траÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‡Ð¸ точки зупинки"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
-msgstr "ðÒÉÐÉÎÅÎÏ"
+msgstr "Припинено"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
-msgstr "ðÁÓÔËÁ IOT"
+msgstr "ПаÑтка IOT"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
-msgstr "ðÁÓÔËÁ EMT"
+msgstr "ПаÑтка EMT"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
-msgstr "ðÏÍÉÌËÁ ÏÐÅÒÁæ§ Ú ËÒÁÐËÏÀ, ÝÏ ÐÌÁ×Á¤"
+msgstr "Помилка операції з крапкою, що плаває"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
-msgstr "úÎÉÝÅÎÎÑ"
+msgstr "ЗнищеннÑ"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
-msgstr "ðÏÍÉÌËÁ ÎÁ ÛÉΦ"
+msgstr "Помилка на шині"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
-msgstr "úÂ¦Ê ÓÅÇÍÅÎÔÁæ§"
+msgstr "Збій Ñегментації"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
-msgstr "ðÏÇÁÎÉÊ ÓÉÓÔÅÍÎÉÊ ×ÉËÌÉË"
+msgstr "Поганий ÑиÑтемний виклик"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
-msgstr "ïÂÒÉ× ËÁÎÁÌÕ"
+msgstr "Обрив каналу"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
-msgstr "óÉÇÎÁÌ ÐÏ ÔÁÊÍÅÒÕ"
+msgstr "Сигнал по таймеру"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
-msgstr "úÁ×ÅÒÛÅÎÏ"
+msgstr "Завершено"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
-msgstr "ïÂÕÍÏ×ÌÅÎÉÊ ËÏÒÉÓÔÕ×ÁÞÅÍ ÓÉÇÎÁÌ 1"
+msgstr "Обумовлений кориÑтувачем Ñигнал 1"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
-msgstr "ïÂÕÍÏ×ÌÅÎÉÊ ËÏÒÉÓÔÕ×ÁÞÅÍ ÓÉÇÎÁÌ 2"
+msgstr "Обумовлений кориÑтувачем Ñигнал 2"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
-msgstr "îÁÝÁÄÏË ÚÁ×ÅÒÛÉ× ÒÏÂÏÔÕ"
+msgstr "Ðащадок завершив роботу"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
-msgstr "úÂ¦Ê ÖÉ×ÌÅÎÎÑ"
+msgstr "Збій живленнÑ"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
-msgstr "úÕÐÉÎÅÎÏ"
+msgstr "Зупинено"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
-msgstr "úÕÐÉÎÅÎÏ (××¦Ä Ú ÔÅÒͦÎÁÌÁ) "
+msgstr "Зупинено (ввід з термінала) "
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
-msgstr "úÕÐÉÎÅÎÏ (×É×¦Ä ÎÁ ÔÅÒͦÎÁÌ)"
+msgstr "Зупинено (вивід на термінал)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
-msgstr "úÕÐÉÎÅÎÏ (ÓÉÇÎÁÌ)"
+msgstr "Зупинено (Ñигнал)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
-msgstr "ðÅÒÅ×ÉÝÅÎÅ ÏÂÍÅÖÅÎÎÑ ÎÁ ÐÒÏÃÅÓÏÒÎÉÊ ÞÁÓ"
+msgstr "Перевищене Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° процеÑорний чаÑ"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
-msgstr "ðÅÒÅ×ÉÝÅÎÉÊ ÍÅÖÁ ÒÏÚͦÒÕ ÆÁÊÌÕ"
+msgstr "Перевищений межа розміру файла"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
-msgstr "÷¦ÒÔÕÁÌØÎÉÊ ÞÁÓ ÍÉÎÕ×"
+msgstr "Віртуальний Ñ‡Ð°Ñ Ð¼Ð¸Ð½ÑƒÐ²"
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
-msgstr "þÁÓ ÐÒÏƦÌÀ×ÁÎÎÑ ÍÉÎÕ×"
+msgstr "Ð§Ð°Ñ Ð¿Ñ€Ð¾Ñ„Ñ–Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ð¼Ð¸Ð½ÑƒÐ²"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
-msgstr "÷¦ËÎÏ ÚͦÎÅÎÏ"
+msgstr "Вікно змінено"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
-msgstr "ðÒÏÄÏ×ÖÅÎÏ"
+msgstr "Продовжено"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
-msgstr "õÍÏ×Á ÅËÓÔÒÅÎÏÇÏ ××ÏÄÕ/×É×ÏÄÕ"
+msgstr "Умова екÑтреного вводу/виводу"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
-msgstr "íÏÖÌÉ×ÉÊ ×צÄ/×ÉצÄ"
+msgstr "Можливий ввід/вивід"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
-msgstr "òÅÓÕÒÓ ×ÔÒÁÞÅÎÏ"
+msgstr "РеÑÑƒÑ€Ñ Ð²Ñ‚Ñ€Ð°Ñ‡ÐµÐ½Ð¾"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
-msgstr "óÉÇÎÁÌ ÎÅÂÅÚÐÅËÉ"
+msgstr "Сигнал небезпеки"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
-msgstr "úÁÐÉÔ ¦ÎÆÏÒÍÁæ§"
+msgstr "Запит інформації"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
-msgstr ""
+msgstr "Допоміжний процеÑор Ð´Ð»Ñ Ð¾Ð±Ñ‡Ð¸Ñлень з рухомою комою недоÑтупний"
-#: strcache.c:235
+#: strcache.c:236
#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s No strcache buffers\n"
msgstr ""
+"\n"
+"%s немає буферів strcache\n"
-#: strcache.c:237
+#: strcache.c:266
#, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+msgid ""
+"\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
msgstr ""
+"\n"
+"Буфери strcache %s: %lu (%lu) / Ñ€Ñдків = %lu / Ñховище = %lu Б / Ñер = %lu "
+"Б\n"
-#: strcache.c:239
+#: strcache.c:270
#, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
+"Поточний буфер %s: розмір = %hu Б / викориÑтано = %hu Б / кількіÑÑ‚ÑŒ = %hu / "
+"Ñер = %hu Б\n"
-#: strcache.c:241
+#: strcache.c:280
#, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
+msgstr "Інше викориÑтане %s: загалом = %lu B / кількіÑÑ‚ÑŒ = %lu / Ñер = %lu Б\n"
+
+#: strcache.c:283
+#, c-format
+msgid ""
+"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
msgstr ""
+"Інше вільне %s: загалом = %lu Б / Ð¼Ð°ÐºÑ = %lu Б / мін = %lu Б / Ñер = %hu Б\n"
-#: strcache.c:244
+#: strcache.c:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
+msgstr ""
+"\n"
+"Ð¨Ð²Ð¸Ð´ÐºÐ¾Ð´Ñ–Ñ strcache %s: циклів пошуку = %lu / відÑоток знайденого = %lu%%\n"
+
+#: strcache.c:289
+msgid ""
+"# hash-table stats:\n"
"# "
msgstr ""
+"# ÑтатиÑтика щодо таблиці хешів:\n"
+"# "
+
+#: variable.c:1599
+msgid "automatic"
+msgstr "автоматична"
-#: variable.c:1541
+#: variable.c:1602
msgid "default"
-msgstr "ÐÏ ÚÁÍÏ×ÞÕ×ÁÎÎÀ"
+msgstr "типовий"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
-msgstr "×ÉÚÎÁÞÅÎÁ Õ ÓÅÒÅÄÏ×Éݦ"
+msgstr "визначена у Ñередовищі"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
-msgstr "ÆÁÊÌ make"
+msgstr "файл make"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
-msgstr "ÚÁÄÁÎÉÊ ËÌÀÞ -e"
+msgstr "заданий ключ -e"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
-msgstr "×ÉÚÎÁÞÅÎÁ Õ ËÏÍÁÎÄÎÏÍÕ ÒÑÄËÕ"
+msgstr "визначена у командному Ñ€Ñдку"
-#: variable.c:1556
-msgid "`override' directive"
-msgstr "äÉÒÅËÔÉ×Á `override'"
+#: variable.c:1617
+msgid "'override' directive"
+msgstr "Директива «override»"
-#: variable.c:1559
-msgid "automatic"
-msgstr "Á×ÔÏÍÁÔÉÞÎÁ"
-
-#: variable.c:1570
+#: variable.c:1628
#, c-format
-msgid " (from `%s', line %lu)"
-msgstr " (Ú \"%s\", ÒÑÄÏË %lu)"
+msgid " (from '%s', line %lu)"
+msgstr " (з \"%s\", Ñ€Ñдок %lu)"
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
-msgstr ""
+msgstr "# Ñтан змінних у хеш-таблиці:\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
msgstr ""
"\n"
-"# úͦÎΦ\n"
+"# Змінні\n"
-#: variable.c:1627
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
+"\n"
+"# Специфічні Ð´Ð»Ñ Ð·Ñ€Ð°Ð·ÐºÐ° Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¸Ñ…"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
msgstr ""
+"\n"
+"# Ðемає Ñпецифічних Ð´Ð»Ñ Ð·Ñ€Ð°Ð·ÐºÐ° значень змінних."
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
"# %u pattern-specific variable values"
msgstr ""
+"\n"
+"# %u Ñпецифічних Ð´Ð»Ñ Ð·Ñ€Ð°Ð·ÐºÐ° значень змінних"
-#: variable.h:219
+#: variable.h:224
#, c-format
-msgid "warning: undefined variable `%.*s'"
-msgstr "ÐÏÐÅÒÅÄÖÅÎÎÑ: ÎÅ×ÉÚÎÁÞÅÎÁ ÚͦÎÎÁ \"%.*s\""
+msgid "warning: undefined variable '%.*s'"
+msgstr "попередженнÑ: невизначена змінна \"%.*s\""
-#: vmsfunctions.c:92
+#: vmsfunctions.c:91
#, c-format
msgid "sys$search() failed with %d\n"
-msgstr ""
+msgstr "sys$search() повернуто код помилки %d\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
-msgstr ""
+msgstr "ПопередженнÑ: порожнє переÑпрÑмуваннÑ\n"
-#: vmsjobs.c:184
-#, fuzzy, c-format
-msgid "internal error: `%s' command_state"
-msgstr "×ÎÕÔÒ¦ÛÎÑ ÐÏÍÉÌËÁ: \"%s\" command_state %d Õ child_handler"
+#: vmsjobs.c:183
+#, c-format
+msgid "internal error: '%s' command_state"
+msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: «%s» command_state"
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
+"-попередженнÑ, ймовірно, вам варто повторно увімкнути обробку CTRL-Y з DCL.\n"
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
-msgstr ""
+msgstr "ВБУДОВÐÐИЙ [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
-msgstr ""
+msgstr "ВБУДОВÐÐИЙ CD %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr ""
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "ВБУДОВÐÐИЙ CD %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
-msgstr "îÅצÄÏÍÁ ×ÂÕÄÏ×ÁÎÁ ËÏÍÁÎÄÁ \"%s\".\n"
+msgstr "Ðевідома вбудована команда \"%s\".\n"
-#: vmsjobs.c:493
+#: vmsjobs.c:592
#, c-format
-msgid "Error, empty command\n"
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
msgstr ""
-#: vmsjobs.c:506
+#: vmsjobs.c:643
+#, c-format
+msgid "Error, empty command\n"
+msgstr "Помилка, Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°\n"
+
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
-msgstr ""
+msgstr "ПереÑпрÑмоване Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð· %s\n"
-#: vmsjobs.c:513
-#, fuzzy, c-format
+#: vmsjobs.c:681
+#, c-format
msgid "Redirected error to %s\n"
-msgstr "ËÁÔÁÌÏÇ \"%s\"\n"
+msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку переÑпрÑмовано до %s\n"
-#: vmsjobs.c:523
+#: vmsjobs.c:690
#, c-format
msgid "Append output to %s\n"
-msgstr ""
+msgstr "ДопиÑати виведенні дані до %s\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
-msgstr ""
+msgstr "ПереÑпрÑмовуємо Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð¾ %s\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
-msgstr ""
+msgstr "ДопиÑати %.*s Ñ– Ñпорожнити\n"
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
-msgstr "úÁͦÓÔØ ÚÁÄÁÎÏÇÏ ×ÉËÏÎÕ¤ÔØÓÑ %s\n"
+msgstr "ЗаміÑÑ‚ÑŒ заданого виконуєтьÑÑ %s\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
-msgstr "ðÏÍÉÌËÁ ÐÏÒÏÄÖÅÎÎÑ ÐÒÏÃÅÓÕ, %d\n"
+msgstr "Помилка Ð¿Ð¾Ñ€Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу, %d\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
msgstr ""
"\n"
-"# ûÌÑÈÉ ÐÏÛÕËÕ VPATH\n"
+"# ШлÑхи пошуку VPATH\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
-msgstr "# îÅ ×ÉÚÎÁÞÅÎÉÊ ÛÌÑÈ ÐÏÛÕËÕ \"vpath\"."
+#: vpath.c:600
+msgid "# No 'vpath' search paths."
+msgstr "# Ðе визначено шлÑÑ… пошуку \"vpath\"."
-#: vpath.c:605
+#: vpath.c:602
#, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
-"# %u \"vpath\" ÛÌÑÈÉ ÐÏÛÕËÕ.\n"
+"# %u шлÑхи пошуку \"vpath\".\n"
-#: vpath.c:608
+#: vpath.c:605
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
-"# îÅ ×ÉÚÎÁÞÅÎÉÊ ÚÁÇÁÌØÎÉÊ (ÚͦÎÎÁ \"VPATH\") ÛÌÑÈ ÐÏÛÕËÕ."
+"# Ðе визначено загальний шлÑÑ… пошуку (змінна \"VPATH\")."
-#: vpath.c:614
+#: vpath.c:611
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
-"# úÁÇÁÌØÎÉÊ (ÚͦÎÎÁ \"VPATH\") ÛÌÑÈ ÐÏÛÕËÕ:\n"
+"# Загальний шлÑÑ… пошуку (змінна \"VPATH\"):\n"
"# "
-#~ msgid "Syntax error, still inside '\"'\n"
-#~ msgstr "óÉÎÔÁËÓÉÞÎÁ ÐÏÍÉÌËÁ, ×ÓÅ ÝÅ ×ÓÅÒÅÄÉΦ '\"'\n"
-
-#, fuzzy
-#~ msgid "Got a SIGCHLD; %u unreaped children.\n"
-#~ msgstr ""
-#~ "ïÔÒÉÍÁÎÉÊ ÓÉÇÎÁÌ SIGCHLD; ÎÁÝÁÄË¦× Ú ÎÅÏÐÒÁÃØÏ×ÁÎÉÍÉ ÒÅÚÕÌØÔÁÔÁÍÉ %d.\n"
-
-#~ msgid "extraneous `endef'"
-#~ msgstr "ÚÁÊ×ÉÊ \"endef\""
-
-#~ msgid "empty `override' directive"
-#~ msgstr "ÐÏÒÏÖÎÑ ÄÉÒÅËÔÉ×Á `override'"
-
-#, fuzzy
-#~ msgid "invalid `override' directive"
-#~ msgstr "äÉÒÅËÔÉ×Á `override'"
-
-#~ msgid "no file name for `%sinclude'"
-#~ msgstr "ÎÅ ×ËÁÚÁÎÏ ¦Í'Ñ ÆÁÊÌÕ ÄÌÑ \"%sinclude\""
-
-#, fuzzy
-#~ msgid "target `%s' leaves prerequisite pattern empty"
-#~ msgstr "æÌØ \"%s\" ΊצÄÐÏצÄÁ¤ ÚÒÁÚËÕ Ã¦ÌÅÊ"
-
-#~ msgid " impossibilities in %u directories.\n"
-#~ msgstr " ÎÅÄÏÓÑÖÎÉÈ Ã¦ÌÅÊ Õ %u ËÁÔÁÌÏÇÁÈ.\n"
-
-#~ msgid "# %u variables in %u hash buckets.\n"
-#~ msgstr "# %u ÚͦÎÎÉÈ Õ %u ÏÓÅÒÅÄËÁÈ ÈÅÛ-ÔÁÂÌÉæ.\n"
-
-#~ msgid "# No variables."
-#~ msgstr "# úͦÎÎÉÈ ÎÅÍÁ."
-
-#, fuzzy
-#~ msgid "# average %.3f files per bucket, max %u files in one bucket.\n"
-#~ msgstr ""
-#~ "# Õ ÓÅÒÅÄÎØÏÍÕ %.1f ÆÁÊÌ¦× Õ ÏÓÅÒÅÄËÕ, ÍÁËÓ. %u ÆÁÊÌ¦× Õ ÏÄÎÏÍÕ "
-#~ "ÏÓÅÒÅÄËÕ.\n"
-
-#~ msgid "# average of %.1f variables per bucket, max %u in one bucket.\n"
-#~ msgstr ""
-#~ "# Õ ÓÅÒÅÄÎØÏÍÕ %.1f ÚͦÎÎÉÈ × ÏÓÅÒÅÄËÕ, ÍÁËÓ. %u × ÏÄÎÏÍÕ ÏÓÅÒÅÄËÕ.\n"
-
-#~ msgid "# average of %d.%d variables per bucket, max %u in one bucket.\n"
-#~ msgstr ""
-#~ "# Õ ÓÅÒÅÄÎØÏÍÕ %d.%d ÚͦÎÎÉÈ × ÏÓÅÒÅÄËÕ, ÍÁËÓ. %u × ÏÄÎÏÍÕ ÏÓÅÒÅÄËÕ.\n"
-
-#, fuzzy
-#~ msgid "%s access: user %lu (real %lu), group %lu (real %lu)\n"
-#~ msgstr ""
-#~ "ðÒÁ×Á ÄÏÓÔÕÐÕ ÄÏ %s: ËÏÒÉÓÔÕ×ÁÞ %d (ĦÊÓÎÉÊ %d), ÇÒÕÐÁ %d (ĦÊÓÎÁ %d)\n"
-
-#~ msgid "*** Warning: File `%s' has modification time in the future (%s > %s)"
-#~ msgstr "*** õ×ÁÇÁ: ÆÁÊÌ \"%s\" ÍÁ¤ ÞÁÓ ÚͦÎÉ Õ ÍÁÊÂÕÔÎØÏÍÕ (%s > %s)"
-
-#~ msgid ""
-#~ ", by Richard Stallman and Roland McGrath.\n"
-#~ "%sBuilt for %s\n"
-#~ "%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000\n"
-#~ "%s\tFree Software Foundation, Inc.\n"
-#~ "%sThis is free software; see the source for copying conditions.\n"
-#~ "%sThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n"
-#~ "%sPARTICULAR PURPOSE.\n"
-#~ "\n"
-#~ "%sReport bugs to <bug-make@gnu.org>.\n"
-#~ "\n"
-#~ msgstr ""
-#~ ", Á×ÔÏÒÉ Richard Stallman ¦ Roland McGrath.\n"
-#~ "%sðÏÂÕÄÏ×ÁÎÁ ÄÌÑ %s\n"
-#~ "%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000\n"
-#~ "%s Free Software Foundation, Inc.\n"
-#~ "%sãŠצÌØÎÁ ÐÒÏÇÒÁÍÁ; ÐÏÄÒÏÂÉæ ÐÒÏ ÕÍÏ×ÁÈ ÐÏÛÉÒÅÎÎÑ ÄÉצÔØÓÑ\n"
-#~ "%sÕ ×ÉȦÄÎÏÍÕ ÔÅËÓÔ¦. íÉ îå ÎÁÄÁ¤ÍÏ ÇÁÒÁÎÔ¦Ê; ÎÁצÔØ ÇÁÒÁÎÔ¦Ê\n"
-#~ "%sëïíåòã¶êîï· ã¶îîïóô¶ ÁÂÏ ðòéäáôîïóô¶ äìñ ëïîëòåôîï· ã¶ì¶.\n"
-#~ "\n"
-#~ "%sðÏצÄÏÍÌÑÊÔÅ ÐÒÏ ÐÏÍÉÌËÉ <bug-make@gnu.org>.\n"
-
-#~ msgid "Allow N jobs at once; infinite jobs with no arg"
-#~ msgstr ""
-#~ "úÁÐÕÓËÁÔÉ ÏÄÎÏÞÁÓÎÏ ÄÏ î ÚÁ×ÄÁÎØ; ÑËÝÏ ÁÒÇÕÍÅÎÔ ÎÅ ÚÁÄÁÎÉÊ,\n"
-#~ " ÞÉÓÌÏ ÚÁ×ÄÁÎØ ÎÅÏÂÍÅÖÅÎÏ"
-
-#~ msgid "Change to DIRECTORY before doing anything"
-#~ msgstr "ðÅÒÅÊÔÉ Õ ëáôáìïç ÐÅÒÅÄ ÐÏÞÁÔËÏÍ ÐÒÁæ"
-
-#~ msgid "Consider FILE to be infinitely new"
-#~ msgstr "÷×ÁÖÁÔÉ æáêì ÎÅÏÂÍÅÖÅÎÏ ÎÏ×ÉÍ"
-
-#~ msgid "Consider FILE to be very old and don't remake it"
-#~ msgstr "÷×ÁÖÁÔÉ æáêì ÄÕÖÅ ÓÔÁÒÉÍ ¦ ÎÅ ÐÅÒÅÚÂÉÒÁÔÉ ÊÏÇÏ"
-
-#~ msgid "DIRECTORY"
-#~ msgstr "ëáôáìïç"
-
-#~ msgid "Disable the built-in implicit rules"
-#~ msgstr "îÅ ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ×ÂÕÄÏ×ÁΦ ÎÅÑ×Φ ÐÒÁ×ÉÌÁ"
-
-#, fuzzy
-#~ msgid "Disable the built-in variable settings"
-#~ msgstr "îÅ ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ×ÂÕÄÏ×ÁΦ ÎÅÑ×Φ ÐÒÁ×ÉÌÁ"
-
-#~ msgid "Don't actually run any commands; just print them"
-#~ msgstr "îÅ ×ÉËÏÎÕ×ÁÔÉ ËÏÍÁÎÄÉ, ÐÒÏÓÔÏ ÎÁÄÒÕËÕ×ÁÔÉ §È"
-
-#~ msgid "Don't echo commands"
-#~ msgstr "îÅ ×É×ÏÄÉÔÉ ËÏÍÁÎÄÉ"
-
-#~ msgid "Don't start multiple jobs unless load is below N"
-#~ msgstr ""
-#~ "îÅ ÚÁÐÕÓËÁÔÉ ÐÁÒÁÌÅÌØΦ ÚÁ×ÄÁÎÎÑ ÐÏËÉ ÚÁ×ÁÎÔÁÖÅÎÎÑ ÎÅ ÚÎÉÚÉÔØÓÑ ÄÏ N"
-
-#~ msgid "Entering"
-#~ msgstr "÷ÈÏÖÕ Õ"
-
-#~ msgid "Environment variables override makefiles"
-#~ msgstr "úͦÎΦ ÓÅÒÅÄÏ×ÉÝÁ ÐÅÒÅËÒÉ×ÁÀÔØ ÚͦÎΦ, ×ÉÚÎÁÞÅΦ Õ make-ÆÁÊ̦"
-
-#~ msgid "FILE"
-#~ msgstr "æáêì"
-
-#~ msgid "FLAGS"
-#~ msgstr "ïúîáëé"
-
-#~ msgid "Ignore errors from commands"
-#~ msgstr "¶ÇÎÏÒÕ×ÁÔÉ ÐÏÍÉÌËÉ ËÏÍÁÎÄ"
-
-#~ msgid "Ignored for compatibility"
-#~ msgstr "¶ÇÎÏÒÏ×ÁÎÏ ÄÌÑ ÓÕͦÓÎÏÓÔ¦"
-
-#~ msgid "Initialized"
-#~ msgstr "¶Î¦Ã¦Á̦ÚÏ×ÁÎÉÊ"
-
-#~ msgid "Keep going when some targets can't be made"
-#~ msgstr "ðÒÏÄÏ×ÖÕ×ÁÔÉ ÒÏÂÏÔÕ, ÎÁצÔØ ÑËÝÏ ÄÅÑ˦ æ̦ ÎÅ ÄÏÓÑÇÎÕÔ¦"
-
-#~ msgid "Leaving"
-#~ msgstr "úÁÌÉÛÁÀ"
-
-#~ msgid "Print lots of debugging information"
-#~ msgstr "÷É×ÏÄÉÔÉ ÐÏצÄÏÍÌÅÎÎÑ ÄÌÑ ×¦ÄÌÁÇÏÄÖÅÎÎÑ"
-
-#~ msgid "Print make's internal database"
-#~ msgstr "îÁÄÒÕËÕ×ÁÔÉ ×ÎÕÔÒ¦ÛÎÀ ÂÁÚÕ ÄÁÎÉÈ make"
-
-#~ msgid "Print the current directory"
-#~ msgstr "îÁÄÒÕËÕ×ÁÔÉ ÐÏÔÏÞÎÉÊ ËÁÔÁÌÏÇ"
-
-#~ msgid "Print the version number of make and exit"
-#~ msgstr "ðÏËÁÚÁÔÉ ¦ÎÆÏÒÍÁæÀ ÐÒÏ ×ÅÒÓ¦§ ¦ ×ÉÊÔÉ"
-
-#~ msgid "Print this message and exit"
-#~ msgstr "ðÏËÁÚÁÔÉ ÃÀ ÄÏצÄËÕ ¦ ×ÉÊÔÉ"
-
-#, fuzzy
-#~ msgid "Print various types of debugging information"
-#~ msgstr "÷É×ÏÄÉÔÉ ÐÏצÄÏÍÌÅÎÎÑ ÄÌÑ ×¦ÄÌÁÇÏÄÖÅÎÎÑ"
-
-#~ msgid "Read FILE as a makefile"
-#~ msgstr "ðÒÏÞÉÔÁÔÉ æáêì ÑË make-ÆÁÊÌ"
-
-#~ msgid "Search DIRECTORY for included makefiles"
-#~ msgstr "ûÕËÁÔÉ make-ÆÁÊÌÉ, Ñ˦ ÎÅÏÂȦÄÎÏ ×ËÌÀÞÉÔÉ, Õ ÃØÏÍÕ ëáôáìïú¶"
-
-#~ msgid "Suspend process to allow a debugger to attach"
-#~ msgstr "ðÒÉÚÕÐÉÎÉÔÉ ÐÒÏÃÅÓÉ ÄÌÑ ÐÒɤÄÎÁÎÎÑ ×¦ÄÌÁÇÏÄÖÕ×ÁÞÁ"
-
-#~ msgid "Touch targets instead of remaking them"
-#~ msgstr "ðÏÎÏ×ÉÔÉ ÞÁÓ ÓÔ×ÏÒÅÎÎÑ Ã¦ÌÅÊ, Á ÎÅ ÐÅÒÅÚÂÉÒÁÔÉ §È"
-
-#~ msgid "Turn off -w, even if it was turned on implicitly"
-#~ msgstr "÷¦ÄͦÎÉÔÉ ËÌÀÞ -w, ÎÁצÔØ ÑËÝÏ ÊÏÇÏ ÂÕÌÏ Ñ×ÎÏ ÚÁÚÎÁÞÅÎÏ"
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: вказано декілька параметрів --sync-mutex"
-#~ msgid "Turns off -k"
-#~ msgstr "÷¦ÄͦÎÉÔÉ ËÌÀÞ -k"
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: вказано декілька ключів --jobserver-fds"
-#~ msgid "Warn when an undefined variable is referenced"
-#~ msgstr "÷ÉÄÁ×ÁÔÉ ÐÏÐÅÒÅÄÖÅÎÎÑ ÐÒÉ ÐÏÓÉÌÁÎΦ ÎÁ ÎÅ×ÉÚÎÁÞÅÎÕ ÚͦÎÎÕ"
+#~ msgid "virtual memory exhausted"
+#~ msgstr "віртуальна пам'ÑÑ‚ÑŒ вичерпана"
-#~ msgid ""
-#~ "\n"
-#~ "# %u files in %u hash buckets.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "# %u ÆÁÊÌ¦× × %u ÏÓÅÒÅÄËÁÈ ÈÅÛ-ÔÁÂÌÉæ.\n"
+#~ msgid "write error"
+#~ msgstr "помилка запиÑу"
-#~ msgid ""
-#~ "\n"
-#~ "# No files."
-#~ msgstr ""
-#~ "\n"
-#~ "# æÁÊÌ¦× ÎÅÍÁ."
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "ВБУДОВÐÐИЙ RM %s\n"
-#~ msgid "an unknown directory"
-#~ msgstr "ÎÅצÄÏÍÉÊ ËÁÔÁÌÏÇ"
+#~ msgid "# Invalid value in 'update_status' member!"
+#~ msgstr "# Ðекоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‡Ð»ÐµÐ½Ð° \"update_status\"!"
-#~ msgid "directory `%s'\n"
-#~ msgstr "ËÁÔÁÌÏÇ \"%s\"\n"
+#~ msgid "unknown trace mode '%s'"
+#~ msgstr "невідомий режим траÑÑƒÐ²Ð°Ð½Ð½Ñ Â«%s»"
diff --git a/po/vi.gmo b/po/vi.gmo
index acfdd46b..ee98bb26 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 94b34025..6e64cf05 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -1,123 +1,136 @@
# Vietnamese translation for Make.
-# Copyright © 2006 Free Software Foundation, Inc.
-# Clytie Siddall <clytie@riverland.net.au>, 2006.
+# Copyright © 2013 Free Software Foundation, Inc.
+# This file is distributed under the same license as the make package.
+# Clytie Siddall <clytie@riverland.net.au>, 2006-2010.
+# Nguyá»…n Thái Ngá»c Duy <pclouds@gmail.com>, 2012.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012-2013.
#
msgid ""
msgstr ""
-"Project-Id-Version: make 3.81\n"
+"Project-Id-Version: make-4.0\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-0400\n"
-"PO-Revision-Date: 2006-05-04 20:26+0930\n"
-"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
-"Language-Team: Vietnamese <gnomevi-list@lists.sourceforge.net>\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 <vnwildman@gmail.com>\n"
+"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
+"Language: vi\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0\n"
-"X-Generator: LocFactoryEditor 1.6b36\n"
+"Team-Website: <http://translationproject.org/team/vi.html>\n"
+"Plural-Forms: nplurals=1; plural=0;\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:48
+#: ar.c:46
#, c-format
-msgid "attempt to use unsupported feature: `%s'"
-msgstr "đã cố sử dụng tính năng không được hỗ trợ « %s »"
+msgid "attempt to use unsupported feature: '%s'"
+msgstr "đã dùng tính năng chÆ°a được há»— trợ: “%sâ€"
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
-msgstr "bộ phạn kho touch chưa sẵn sàng trên VMS"
+msgstr "“touch†thành viên kho không có trên VMS"
-#: ar.c:149
+#: ar.c:147
#, c-format
-msgid "touch: Archive `%s' does not exist"
-msgstr "touch: kho « %s » không tồn tại"
+msgid "touch: Archive '%s' does not exist"
+msgstr "touch: Kho “%s†không tồn tại"
-#: ar.c:152
+#: ar.c:150
#, c-format
-msgid "touch: `%s' is not a valid archive"
-msgstr "touch: « %s » không phải là một kho hợp lệ"
+msgid "touch: '%s' is not a valid archive"
+msgstr "touch: “%s†không phải là kho hợp lệ"
-#: ar.c:159
+#: ar.c:157
#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
-msgstr "touch: bộ phạn « %s » không tồn tại trong « %s »"
+msgid "touch: Member '%s' does not exist in '%s'"
+msgstr "touch: Thành viên “%s†không tồn tại trong “%sâ€"
-#: ar.c:166
+#: ar.c:164
#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
-msgstr "touch: mới nhận mã trả lại sai từ « ar_member_touch » trên « %s »"
+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:69
-#, fuzzy, c-format
+#: arscan.c:124
+#, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
-msgstr "« lbr$set_module » đã không rút được thông tin mô-đun, trạng thái = %d"
+msgstr ""
+"lbr$set_module() đã không giải nén thông tin vỠmô-đun, trạng thái = %d"
-#: arscan.c:175
-#, fuzzy, c-format
+#: 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"
+msgstr "lbr$ini_control() bị lỗi với trạng thái = %d"
-#: arscan.c:187
-#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
-msgstr "không thể mở thư viên « %s » để tra tìm bộ phạn « %s »"
+#: 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 “%sâ€"
-#: arscan.c:850
+#: arscan.c:944
#, c-format
-msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
-msgstr "Bộ phạn « %s »%s: %ld byte với %ld (%ld).\n"
+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:851
+#: arscan.c:945
msgid " (name might be truncated)"
-msgstr " (có lẽ tên bị cụt)"
+msgstr " (có lẽ tên bị cắt ngắn)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " Ngày %s"
-#: arscan.c:854
+#: 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:499
+#: 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:505
msgid "*** Break.\n"
-msgstr "*** Ngắt\n"
+msgstr "*** Ngắt.\n"
-#: commands.c:622
+#: commands.c:629
#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
-msgstr "*** [%s] Có lẽ bá»™ phạn « %s » là giả; chÆ°a bị xóa bá»"
+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:625
+#: commands.c:633
#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
-msgstr "*** Có lẽ bá»™ phạn « %s » là giả; chÆ°a bị xóa bá»"
+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:638
+#: commands.c:647
#, c-format
-msgid "*** [%s] Deleting file `%s'"
-msgstr "*** [%s] Äang xóa bá» tập tin « %s »..."
+msgid "*** [%s] Deleting file '%s'"
+msgstr "*** [%s] Äang xoá tập tin “%sâ€"
-#: commands.c:640
+#: commands.c:649
#, c-format
-msgid "*** Deleting file `%s'"
-msgstr "*** Äang xóa bá» tập tin « %s »..."
+msgid "*** Deleting file '%s'"
+msgstr "*** Äang xoá tập tin “%sâ€"
-#: commands.c:676
-#, fuzzy
+#: commands.c:685
msgid "# recipe to execute"
-msgstr "# các lệnh cần thi hành"
+msgstr "# công thức cần thực hiện"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
-msgstr " (sẵn có):"
+msgstr " (dựng-sẵn):"
-#: commands.c:681
+#: commands.c:690
#, c-format
-msgid " (from `%s', line %lu):\n"
-msgstr " (từ « %s », dòng %lu):\n"
+msgid " (from '%s', line %lu):\n"
+msgstr " (từ “%sâ€, dòng %lu):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -125,228 +138,219 @@ msgstr ""
"\n"
"# Thư mục\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
-msgstr "# %s: không thể lấy các thông tin vỠnó.\n"
+msgstr "# %s: không thể lấy thống kê.\n"
-#: dir.c:1012
+#: dir.c:1005
#, c-format
msgid "# %s (key %s, mtime %d): could not be opened.\n"
-msgstr "# %s (khóa %s, giá»_m %d): không thể được mở.\n"
+msgstr "# %s (khoá %s, mtime %d): không thể mở.\n"
-#: dir.c:1016
+#: 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ể được mở.\n"
+msgstr "# %s (thiết bị %d, nút thông tin [%d,%d,%d]): không thể mở.\n"
-#: dir.c:1021
+#: 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ể được mở.\n"
+msgstr "# %s (thiết bị %ld, nút thông tin %ld): không thể mở.\n"
-#: dir.c:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
-msgstr "# %s (khóa %s, giá»_m %d): "
+msgstr "# %s (khoá %s, mtime %d): "
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
-msgstr "# %s (thiết bị %d, nút thông tin [%d,%d,%d]): "
+msgstr "# %s (thiết bị %d, inode [%d,%d,%d]): "
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
-msgstr "# %s (thiết bị %ld, nút thông tin %ld): "
+msgstr "# %s (thiết bị %ld, inode %ld): "
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "Không"
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr " tập tin, "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "không"
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
-msgstr " Ä‘iá»u không thể"
+msgstr " việc không thể làm được"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
-msgstr " cho đến đây."
+msgstr " cho đến giá»."
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
-msgstr " Ä‘iá»u không thể trong %lu thÆ° mục.\n"
+msgstr " việc không thể làm được trong %lu thư mục.\n"
-#: expand.c:127
+#: expand.c:125
#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
-msgstr "Biến đệ qui « %s » tham chiếu chính nó (cuối cùng)"
+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:276
+#: expand.c:269
msgid "unterminated variable reference"
-msgstr "tham chiếu biến chưa có kết thúc"
+msgstr "tham chiếu biến chưa chấm dứt"
-#: file.c:267
-#, fuzzy, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
-msgstr "Các lệnh được ghi rõ cho tập tin « %s » vào %s:%lu,"
-
-#: file.c:272
-#, fuzzy, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
-msgstr ""
-"Các lệnh cho tập tin « %s » đã được tìm bằng việc tìm kiếm quy tắc ngầm,"
+#: 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:275
+#: file.c:276
#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
-msgstr "nhÆ°ng « %s » hiện thá»i được xem là cùng má»™t tập tin vá»›i « %s »."
+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:278
-#, fuzzy, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
-msgstr "Các lệnh cho « %s » sẽ bị bá» qua để ủng há»™ các Ä‘iá»u cho « %s »."
+#: 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:298
+#: file.c:283
#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
+msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr ""
-"không thể thay đổi tên dấu hai chấm đơn « %s » thành dấu hai chấm đôi « %s »"
+"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:303
#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
-msgstr ""
-"không thể thay đổi tên dấu hai chấm đôi « %s » thành dấu hai chấm đơn « %s »"
+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: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:392
+#: file.c:401
#, c-format
-msgid "*** Deleting intermediate file `%s'"
-msgstr "*** Äang xóa bá» tập tin trung cấp « %s »..."
+msgid "*** Deleting intermediate file '%s'"
+msgstr "*** Äang xoá tập tin trung gian “%sâ€"
-#: file.c:396
+#: file.c:405
msgid "Removing intermediate files...\n"
-msgstr "Äang gỡ bá» các tập tin trung cấp...\n"
+msgstr "Xoá các tập tin trung gian...\n"
+
+#: file.c:811
+msgid "Current time"
+msgstr "GiỠhiện tại"
-#: file.c:803
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
-msgstr "%s: Nhãn thá»i gian ở ngoại phạm vị nên thay thế %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:804
-msgid "Current time"
-msgstr "Giá» hiện thá»i"
-
-#: file.c:924
+#: file.c:955
msgid "# Not a target:"
-msgstr "# Không phải là đĩch:"
+msgstr "# Không phải là đích:"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
-msgstr "# Tập tin qúy (Ä‘iá»u kiện tiên quyết của .PRECIOUS)."
+msgstr "# Tập tin giá trị (Ä‘iá»u kiện tiên quyết của .PRECIOUS)."
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
-msgstr "# Äích giả (Ä‘iá»u kiện tiên quyết của .PHONY)."
+msgstr "# Äích giả (Ä‘iá»u kiện tiên quyết của .PHONY)."
-#: file.c:933
-#, fuzzy
+#: file.c:964
msgid "# Command line target."
-msgstr "# Äích dòng lệnh."
+msgstr "# Äích dòng lệnh."
-#: file.c:935
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
-msgstr ""
-"# Tập tin tạo (makefile) mặc định, kiểu MAKEFILES, hay kiểu « -include/"
-"sinclude »."
+msgstr "# Mặc định, MAKEFILES, hoặc makefile kiểu -include/sinclude."
+
+#: file.c:968
+msgid "# Builtin rule"
+msgstr "# Quy tắc dựng sẵn"
-#: file.c:937
+#: file.c:970
msgid "# Implicit rule search has been done."
-msgstr "# Mới tìm kiếm kiểu quy tắc ngầm."
+msgstr "# Hoàn tất tìm quy tắc ngầm."
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
-msgstr "# Chưa tìm kiếm kiểu quy tắc ngầm."
+msgstr "# Chưa hoàn tất tìm quy tắc ngầm."
-#: file.c:940
+#: file.c:973
#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
-msgstr "# Cuống mẫu ngầm/tĩnh: « %s »\n"
+msgid "# Implicit/static pattern stem: '%s'\n"
+msgstr "# Cuống mẫu ngầm/tÄ©nh: “%sâ€\n"
-#: file.c:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
-msgstr "# Tập tin là Ä‘iá»u kiện tiên quyết trung cấp."
+msgstr "# Tập tin là má»™t Ä‘iá»u kiện tiên quyết trung gian."
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
-msgstr "# Cũng tạo :"
+msgstr "# Cũng tạo:"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
-msgstr "# Chưa bao giỠkiểm tra giỠsửa đổi."
+msgstr "# Chưa kiểm tra giỠsửa đổi."
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
-msgstr "# Tập tin không tồn tại."
+msgstr "# Tập tin không tồn tại."
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
-msgstr "# Tập tin rất cũ."
+msgstr "# Tập tin rất cũ."
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
-msgstr "# Sửa đổi cuối cùng %s\n"
+msgstr "# Lần sửa cuối cùng %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
-msgstr "# Tập tin đã được cập nhật."
+msgstr "# Tập tin đã được cập nhật."
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
-msgstr "# Tập tin chưa được cập nhật."
+msgstr "# Tập tin chưa được cập nhật."
-#: file.c:968
-#, fuzzy
+#: file.c:1001
msgid "# Recipe currently running (THIS IS A BUG)."
-msgstr "# Các lệnh Ä‘ang chạy (ÄÂY LÀ Lá»–I)."
+msgstr "# Công thức Ä‘ang chạy (ÄÂY LÀ MỘT Lá»–I)."
-#: file.c:971
-#, fuzzy
+#: file.c:1004
msgid "# Dependencies recipe running (THIS IS A BUG)."
-msgstr "# Các lệnh phụ thuá»™c Ä‘ang chạy (ÄÂY LÀ Lá»–I)."
+msgstr "# Công thức phụ thuá»™c Ä‘ang chạy (ÄÂY LÀ MỘT Lá»–I)."
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
-msgstr "# Äã được cập nhật."
+msgstr "# Cập nhật thành công."
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
-msgstr "# Cần thiết cập nhật (« -q » đã lập)."
+msgstr "# Cần được cập nhật (-q được đặt)."
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
-msgstr "# Việc cập nhật bị lỗi."
+msgstr "# Gặp lỗi khi cập nhật."
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr ""
-"# Giá trị không hợp lệ trong bộ phạn « update_status » (trạng thái cập nhật)!"
-
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
-msgstr ""
-"# Giá trị không hợp lệ trong bộ phạn « command_state » (tính trạng lệnh)!"
+#: 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:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -354,142 +358,191 @@ msgstr ""
"\n"
"# Tập tin"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""
"\n"
-"# thống kê bảng băm các tập tin:\n"
+"# thống kê bảng băm tập tin:\n"
"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
-msgstr "đối số thứ nhất không dạng số đối với hàm « word » (từ)"
-
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
-msgstr "đối số thứ nhất đối với hàm « word » (từ) phải là lớn hơn 0"
+#: 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:783
-msgid "non-numeric first argument to `wordlist' function"
-msgstr "đối số thứ nhất không dạng số đối với hàm « wordlist » (danh sách từ)"
+#: 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:785
-msgid "non-numeric second argument to `wordlist' function"
-msgstr "đối số thứ hai không dạng số đối với hàm « wordlist » (danh sách từ)"
+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:1458
-#, fuzzy, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
-msgstr ""
-"Việc « create_child_process: DuplicateHandle(In) » (tạo tiến trình con: bộ "
-"quản lý trùng) bị lỗi (e=%ld)\n"
+#: 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:1469
-#, fuzzy, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
-msgstr ""
-"Việc « create_child_process: DuplicateHandle(Err) » (tạo tiến trình con: bộ "
-"quản lý trùng(lỗi)) bị lỗi (e=%ld)\n"
+#: 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: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:1474
+#: 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:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
-msgstr "Việc « CreatePipe() » (tạo ống dẫn) bị lỗi (e=%ld)\n"
+msgstr "CreatePipe() bị lỗi (e=%ld)\n"
-#: function.c:1479
-#, fuzzy
+#: function.c:1538
msgid "windows32_openpipe(): process_init_fd() failed\n"
-msgstr ""
-"Việc « windows32_openpipe (): process_init_fd() » (mở ống dẫn windows32: tiến "
-"trình sở khởi fd) bị lỗi\n"
+msgstr "windows32_openpipe(): process_init_fd() gặp lỗi\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
-msgstr "Äang làm sạch tập tin bó tạm thá»i %s...\n"
+msgstr "Dá»n dẹp tập tin bó tạm %s\n"
+
+# Variable: do not translate/ biến: đừng dịch
+#: function.c:2193
+#, c-format
+msgid "open: %s: %s"
+msgstr "mở: %s: %s"
+
+#: function.c:2203
+#, c-format
+msgid "write: %s: %s"
+msgstr "ghi: %s: %s"
-#: function.c:2150
+#: function.c:2209
#, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
-msgstr "Không có đủ đối số (%d) tới hàm « %s »"
+msgid "Invalid file operation: %s"
+msgstr "Thao tác tập tin không hợp lệ: %s"
-#: function.c:2162
+#: function.c:2324
#, c-format
-msgid "unimplemented on this platform: function `%s'"
-msgstr "chÆ°a được thá»±c hiện trên ná»n tảng này: hàm « %s »"
+msgid "insufficient number of arguments (%d) to function '%s'"
+msgstr "không đủ số đối số (%d) cho hàm “%sâ€"
-#: function.c:2212
+#: function.c:2336
#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
-msgstr "cuá»™c gá»i chÆ°a được kết thúc cho hàm « %s »: thiếu « %c »"
+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: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:2591
+#, fuzzy
+msgid "Empty function name"
+msgstr "Tên hàm trống rỗng\n"
+
+#: function.c:2593
+#, fuzzy, c-format
+msgid "Invalid function name: %s"
+msgstr "Tên hàm không hợp lệ: %s\n"
+
+#: function.c:2595
+#, fuzzy, c-format
+msgid "Function name too long: %s"
+msgstr "Tên hàm quá dài: %s\n"
+
+#: 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:661
+#: getopt.c:659
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: tùy chá»n « %s » là mÆ¡ hồ\n"
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: tùy chá»n “%s†chÆ°a rõ ràng\n"
-#: getopt.c:685
+#: getopt.c:683
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: tùy chá»n « --%s » không cho phép đối số\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: tùy chá»n “--%s†không nhận đối số\n"
-#: getopt.c:690
+#: getopt.c:688
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: tùy chá»n « %c%s » không cho phép đối số\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: tùy chá»n “%c%s†không nhận đối số\n"
-#: getopt.c:707 getopt.c:880
+#: getopt.c:705 getopt.c:878
#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: tùy chá»n « %s » cần đến đối số\n"
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s: tùy chá»n “%s†cần má»™t đối số\n"
-#: getopt.c:736
+#: getopt.c:734
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: không nhận ra tùy chá»n « --%s »\n"
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: không nhận ra tùy chá»n “--%sâ€\n"
-#: getopt.c:740
+#: getopt.c:738
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: không nhận ra tùy chá»n « %c%s »\n"
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: không nhận ra tùy chá»n “%c%sâ€\n"
-#: getopt.c:766
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
-msgstr "%s: không cho phép tùy chá»n « -- %c »\n"
+msgstr "%s: tùy chá»n không hợp lệ -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
-msgstr "%s: tùy chá»n không hợp lệ « -- %c »\n"
+msgstr "%s: tùy chá»n không hợp lệ -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: tùy chá»n cần đến đối số « -- %c »\n"
+msgstr "%s: tùy chá»n cần má»™t đối số -- %c\n"
-#: getopt.c:846
+#: getopt.c:844
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: tùy chá»n « -W %s » là mÆ¡ hồ\n"
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: tùy chá»n “-W %s†chÆ°a rõ ràng\n"
-#: getopt.c:864
+#: getopt.c:862
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: tùy chá»n « -W %s » không cho phép đối số\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s: tùy chá»n “-W %s†không nhận má»™t đối số\n"
+
+#: guile.c:58
+#, c-format
+msgid "guile: Expanding '%s'\n"
+msgstr "guile: Äang khai triển “%sâ€\n"
+
+#: guile.c:74
+#, c-format
+msgid "guile: Evaluating '%s'\n"
+msgstr "guile: Äang định giá “%sâ€\n"
#: hash.c:49
-#, fuzzy, c-format
+#, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
-msgstr "không thể cấp phát %ld byte cho bảng băm: hết bộ nhớ hoàn toàn"
+msgstr "không thể cấp phát %lu byte cho bảng băm: hết bộ nhớ"
#: hash.c:280
#, c-format
msgid "Load=%ld/%ld=%.0f%%, "
-msgstr "Trá»ng tải=%ld/%ld=%.0f%%, "
+msgstr "Tải =%ld/%ld=%.0f%%, "
#: hash.c:282
#, c-format
@@ -499,464 +552,527 @@ msgstr "Băm lại=%d, "
#: hash.c:283
#, c-format
msgid "Collisions=%ld/%ld=%.0f%%"
-msgstr "Xung Ä‘á»™t=%ld/%ld=%.0f%%"
+msgstr "Xung Ä‘á»™t =%ld/%ld=%.0f%%"
-#: implicit.c:40
+#: implicit.c:38
#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
-msgstr "Äang tìm quy tắc nguầm cho « %s ».\n"
+msgid "Looking for an implicit rule for '%s'.\n"
+msgstr "Tìm quy tắc ngầm cho “%sâ€.\n"
-#: implicit.c:56
+#: implicit.c:54
#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
-msgstr "Äang tìm quy tắc ngầm vá» bá»™ phạn kho cho « %s ».\n"
+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:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
-msgstr "Äang tránh sá»± đệ qui quy tắc ngầm.\n"
+msgstr "Tránh quy tắc ngầm đệ quy.\n"
+
+#: implicit.c:486
+#, c-format
+msgid "Stem too long: '%.*s'.\n"
+msgstr "Stem quá dài: “%.*sâ€.\n"
#: implicit.c:491
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
-msgstr "Äang thá»­ quy tắc mẫu vá»›i cuống « %.*s ».\n"
+msgid "Trying pattern rule with stem '%.*s'.\n"
+msgstr "Thá»­ quy tắc mẫu vá»›i cuống “%.*sâ€.\n"
-#: implicit.c:674
+#: implicit.c:697
#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
-msgstr "Äang từ chối Ä‘iá»u kiện tiên quyết không thể « %s ».\n"
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
+msgstr "Từ chối Ä‘iá»u kiện tiên quyết không thể thá»a “%sâ€.\n"
-#: implicit.c:675
+#: implicit.c:698
#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
-msgstr "Äang từ chối Ä‘iá»u kiện tiên quyết ngầm không thể « %s ».\n"
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
+msgstr "Từ chối Ä‘iá»u kiện tiên quyết ngầm không thể “%sâ€.\n"
-#: implicit.c:688
+#: implicit.c:711
#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
-msgstr "Äang thá»­ Ä‘iá»u kiện tiên quyết quy tắc « %s ».\n"
+msgid "Trying rule prerequisite '%s'.\n"
+msgstr "Thá»­ Ä‘iá»u kiện tiên quyết quy tắc “%sâ€.\n"
-#: implicit.c:689
+#: implicit.c:712
#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
-msgstr "Äang thá»­ Ä‘iá»u kiện tiên quyết ngầm « %s ».\n"
+msgid "Trying implicit prerequisite '%s'.\n"
+msgstr "Thá»­ Ä‘iá»u kiện tiên quyết ngầm “%sâ€.\n"
-#: implicit.c:728
+#: implicit.c:751
#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
-msgstr "Má»›i tìm Ä‘iá»u kiện tiên quyết « %s » dạng VPATH « %s »\n"
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
+msgstr "Tìm thấy Ä‘iá»u kiện tiên quyết “%s†làm VPATH “%sâ€\n"
-#: implicit.c:742
+#: implicit.c:765
#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
-msgstr "Äang tìm quy tắc vá»›i tập tin trung cấp « %s ».\n"
+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:335
+#: job.c:361
msgid "Cannot create a temporary file\n"
-msgstr "Không thể tạo tên tập tin tạm thá»i\n"
+msgstr "Không thể tạo tập tin tạm\n"
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] Lỗi 0x%x (bị bỠqua)"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (đổ lõi)"
+
+#: job.c:488
+msgid " (ignored)"
+msgstr " (bá» qua)"
+
+#: job.c:492 job.c:2046
+msgid "<builtin>"
+msgstr "<dựng-sẵn>"
-#: job.c:450
+#: job.c:503
#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] Lá»—i 0x%x"
+msgid "%s: recipe for target '%s' failed"
+msgstr "%s: công thức cho đích “%s†gặp lỗi"
-#: job.c:454
+#: job.c:516 job.c:524
#, c-format
-msgid "[%s] Error %d (ignored)"
-msgstr "[%s] Lỗi %d (bị bỠqua)"
+msgid "%s[%s] Error %d%s"
+msgstr "%s[%s] Lá»—i %d%s"
-#: job.c:455
+#: job.c:519
#, c-format
-msgid "*** [%s] Error %d"
-msgstr "*** [%s] Lá»—i %d"
+msgid "%s[%s] Error 0x%x%s"
+msgstr "%s[%s] Lá»—i 0x%x%s"
-#: job.c:460
-msgid " (core dumped)"
-msgstr " (lõi bị đổ)"
+# 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:549
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
-msgstr "*** Äang đợi các việc chÆ°a xong..."
+msgstr "*** Äang đợi những công việc chÆ°a hoàn tất..."
-#: job.c:579
-#, fuzzy, c-format
+#: job.c:651
+#, c-format
msgid "Live child %p (%s) PID %s %s\n"
-msgstr "Äiá»u con Ä‘á»™ng 0x%08lx (%s) PID %ld %s\n"
+msgstr "Tiến trình con còn sống %p (%s) PID %s %s\n"
-#: job.c:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
-msgstr " (từ xa)"
+msgstr " (máy chủ)"
-#: job.c:758
-#, fuzzy, c-format
+#: job.c:841
+#, c-format
msgid "Reaping losing child %p PID %s %s\n"
-msgstr "Äang bắt Ä‘iá»u con thua 0x%08lx PID %ld %s\n"
+msgstr "Äang mất tiến trình con %p PID %s %s\n"
-#: job.c:759
-#, fuzzy, c-format
+#: job.c:842
+#, c-format
msgid "Reaping winning child %p PID %s %s\n"
-msgstr "Äang bắt Ä‘iá»u con thắng 0x%08lx PID %ld %s\n"
+msgstr "Äang thắng lại tiến trình con %p PID %s %s\n"
-#: job.c:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
-msgstr "Äang làm sạch tập tin bó tạm thá»i: %s\n"
+msgstr "Dá»n dẹp tập tin bó tạm %s\n"
-#: job.c:861
-#, fuzzy, c-format
+#: 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:961
+#, c-format
msgid "Removing child %p PID %s%s from chain.\n"
-msgstr "Äang gỡ bá» Ä‘iá»u con 0x%08lx PID %ld%s ra dây.\n"
+msgstr "Bá» tiến trình con %p PID %s%s khá»i xâu.\n"
-#: job.c:920
-msgid "write jobserver"
-msgstr "ghi trình phục vụ công việc"
+#: 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:922
-#, fuzzy, c-format
+#: job.c:1024 job.c:1038
+#, c-format
msgid "Released token for child %p (%s).\n"
-msgstr "Má»›i nhả hiệu bài cho Ä‘iá»u con 0x%08lx (%s).\n"
+msgstr "Äã giải phóng thẻ bài cho tiến trình con %p (%s).\n"
+
+#: job.c:1036
+msgid "write jobserver"
+msgstr "ghi lại trình phục vụ công việc"
-#: job.c:1453 job.c:2094
+#: job.c:1662 job.c:2387
#, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
-msgstr ""
-"Việc « process_easy() » (tiến trình dễ) bị lỗi khi cố khởi chạy tiến trình (e="
-"%ld)\n"
+msgstr "process_easy() gặp lỗi khi chạy tiến trình (e=%ld)\n"
-#: job.c:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
"\n"
-"Äã đếm %d đối số trong việc khởi chạy bị lá»—i\n"
+"Äếm được %d đối số trong lần khởi chạy bị lá»—i\n"
-#: job.c:1525
-#, fuzzy, c-format
+#: job.c:1735
+#, c-format
msgid "Putting child %p (%s) PID %s%s on the chain.\n"
-msgstr "Äang để Ä‘iá»u con 0x%08lx (%s) PID %ld%s trên dây.\n"
+msgstr "Äặt tiến trình con %p (%s) PID %s%s vào xâu.\n"
-#: job.c:1778
-#, fuzzy, c-format
+#: 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 hiệu bài cho Ä‘iá»u con 0x%08lx (%s).\n"
+msgstr "Äã lấy thẻ bài cho Ä‘iá»u con %p (%s).\n"
-#: job.c:1787
+#: job.c:2029
msgid "read jobs pipe"
-msgstr "Ä‘á»c ống dẫn của các cá»™ng việc"
+msgstr "Ä‘á»c ống dẫn công việc"
-#: job.c:1798
+#: job.c:2056
#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr ""
+msgid "%s: target '%s' does not exist"
+msgstr "%s: đích “%s†không tồn tại"
-#: job.c:1802
-#, fuzzy, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "Không cần tạo lại đích « %s »."
+#: 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:1910
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
-msgstr "không thể buá»™c hạn chế trá»ng tải vá»›i hệ Ä‘iá»u hành này"
+msgstr "không thể buá»™c giá»›i hạn tải trên hệ Ä‘iá»u hành này"
-#: job.c:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
-msgstr "không thể buá»™c hạn chế trá»ng tải: "
+msgstr "không thể buộc giới hạn tải: "
-#: job.c:1985
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr ""
-"không có bộ quản lý tập tin nữa: không thể nhân bản thiết bị nhập chuẩn\n"
+"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:1987
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""
-"không có bộ quản lý tập tin nữa: không thể nhân bản thiết bị xuất chuẩn\n"
+"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: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:2015
+#: job.c:2293
msgid "Could not restore stdin\n"
-msgstr "Không thể phục hồi thiết bị nhập chuẩn\n"
+msgstr "Không thể phục hồi đầu vào chuẩn\n"
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
-msgstr "Không thể phục hồi thiết bị xuất chuẩn\n"
+msgstr "Không thể phục hồi đầu ra chuẩn\n"
-#: job.c:2127
-#, fuzzy, c-format
+#: 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:2420
+#, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
-msgstr "đặt Ä‘iá»u con đã bắt là PID %ld, vẫn còn đợi PID %ld\n"
+msgstr "đặt Ä‘iá»u con đã bắt là PID %s, vẫn còn đợi PID %s\n"
-#: job.c:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
-msgstr "%s: Không tìm thấy lệnh."
+msgstr "%s: Không tìm thấy lệnh"
-#: job.c:2228
+#: 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:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
-msgstr "spawnvpe: có lẽ hết sức chứa môi trÆ°á»ng hoàn toàn"
+msgstr "spawnvpe: cạn không gian dành cho biến môi trÆ°á»ng"
-#: job.c:2461
+#: job.c:2765
#, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
-msgstr "$SHELL đã thay đổi (đã « %s », là « %s »)\n"
+msgid "$SHELL changed (was '%s', now '%s')\n"
+msgstr "$SHELL thay đổi (trÆ°á»›c là “%sâ€, giá» là “%sâ€)\n"
-#: job.c:2951
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
-msgstr "Äang tạo tập tin bó tạm thá»i: %s\n"
+msgstr "Tạo tập tin bó lệnh tạm: %s\n"
+
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+"Nội dung tập tin bó lệnh:\n"
+"\t@echo off\n"
-#: job.c:2963
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
+"Nội dung tập tin bó lệnh:%s\n"
+"\t%s\n"
-#: job.c:3065
+#: 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 hệ vỠsai (!unixy && !batch_mode_shell)\n"
+msgstr "%s (dòng %d) Ngữ cảnh shell sai (!unixy && !batch_mode_shell)\n"
+
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr "-O[KIỂU] (--output-sync[=KIỂU]) chưa được cấu hình cho lần dịch này."
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr "Gặp lỗi khi mở bảng ký hiệu toàn cục: %s"
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr "Äối tượng %s đã được tải không được công bố là tÆ°Æ¡ng thích GPL"
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr "Gặp lỗi khi tải ký hiệu %s từ %s: %s"
+
+#: load.c:149
+#, c-format
+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:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr "Äang tải ký hiệu %s từ %s\n"
-#: main.c:303
+#: 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:313
msgid "Options:\n"
msgstr "Tùy chá»n:\n"
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
-msgstr " -b, -m Bị bỠqua để tương thích.\n"
+msgstr " -b, -m BỠqua để tương thích.\n"
-#: main.c:306
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
-msgstr ""
-" -B, --always-make _Luôn luôn tạo_ má»i đích (không Ä‘iá»u kiện).\n"
+msgstr " -B, --always-make Tạo má»i đích vô Ä‘iá»u kiện.\n"
-#: main.c:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
" -C THƯ_MỤC, --directory=THƯ_MỤC\n"
-" Chuyển đổi sang thư mục này, trước hết.\n"
+" Chuyển sang THƯ MỤC này trước khi làm.\n"
-#: main.c:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
-msgstr " -d In ra rất nhiá»u thông tin _gỡ lá»—i_.\n"
+msgstr " -d In rất nhiá»u thông tin gỡ rối.\n"
-#: main.c:313
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr ""
-" --debug[=CỜ...] In ra các kiểu thông tin _gỡ lỗi_ khác nhau.\n"
+" --debug[=CỜ...] In nhiá»u loại thông tin gỡ rối khác nhau.\n"
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
msgstr ""
" -e, --environment-overrides\n"
-" Các biến _môi trÆ°á»ng có quyá»n cao hÆ¡n_\n"
-"\t\t\t\t\tcác tập tin tạo (makefile).\n"
+" Biến môi trÆ°á»ng đè tập tin makefile.\n"
-#: main.c:318
+#: 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:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
msgstr ""
-" -f TẬP_TIN, --file=TẬP_TIN, --makefile=TẬP_TIN\n"
-" Äá»c tập tin này dạng tập tin tạo (makefile).\n"
+" -f TẬP-TIN, --file=TẬP-TIN, --makefile=TẬP-TIN\n"
+" Äá»c TẬP-TIN dạng makefile.\n"
-#: main.c:323
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
-msgstr " -h, --help Hiển thị _trợ giúp_ này rồi thoát.\n"
+msgstr " -h, --help Hiển thị trợ giúp này và thoát.\n"
-#: main.c:325
-#, fuzzy
+#: main.c:335
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
-msgstr " -i, --ignore-errors _BỠqua các lỗi_ từ các lệnh.\n"
+msgstr " -i, --ignore-errors BỠqua lỗi từ công thức.\n"
-#: main.c:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
msgstr ""
" -I THƯ_MỤC, --include-dir=THƯ_MỤC\n"
-" Tìm kiếm tập tin tạo (makefile) đã _bao gồm_\n"
-"\t\t\t\t\ttrong _thư mục_ này.\n"
+" Quét THƯ-MỤC này tìm makefile con.\n"
-#: main.c:330
+#: main.c:340
msgid ""
" -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no "
"arg.\n"
msgstr ""
-" -j [N], --jobs[=N] Cho phép N (số) _công việc_ đồng thá»i;\n"
-"\t\t\t\t\t\tvô hạn khi không có đối số\n"
+" -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:332
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
-msgstr ""
-" -k, --keep-going _Cứ làm_ khi không thể tạo một số đích.\n"
+msgstr " -k, --keep-going Cứ tiếp tục khi không thể tạo đích.\n"
-#: main.c:334
+#: 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"
-" Äừng khởi chạy nhiá»u công việc, trừ trá»ng tải dÆ°á»›i N "
-"(số).\n"
+" -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:337
+#: main.c:347
msgid ""
" -L, --check-symlink-times Use the latest mtime between symlinks and "
"target.\n"
msgstr ""
-" -L, --check-symlink-times\n"
-"\t\t\tDùng giá»_m cuối cùng giữa liên kết tượng trÆ°ng và đích.\n"
-"\t(_kiểm tra giỠliên kết tượng trưng_)\n"
+" -L, --check-symlink-times Dùng mtime mới nhất giữa liên kết và đích.\n"
-#: main.c:339
-#, fuzzy
+#: 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"
-" Äừng thật chạy lệnh nào, chỉ in ra hết.\n"
-"\t(_chỉ in, chạy thực hành, sự thăm dò_)\n"
+" Không chạy công thức; chỉ in chúng ra.\n"
-#: main.c:342
+#: 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 TẬP_TIN, --old-file=TẬP_TIN, --assume-old=TẬP_TIN\n"
-" Xem tập tin này là rất cũ nên đừng tạo lại nó.\n"
-"\t(_cũ, tập tin cũ, giả sử cũ_)\n"
+" -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:345
-msgid " -p, --print-data-base Print make's internal database.\n"
+#: main.c:355
+msgid ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
msgstr ""
-" -p, --print-data-base _In ra cơ sở dữ liệu_ nội bộ của trình make.\n"
+" -O[KIỂU], --output-sync[=KIỂU]\n"
+" Äồng bá»™ hóa kết xuất công việc song song theo "
+"KIỂU.\n"
-#: main.c:347
-#, fuzzy
+#: 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:360
msgid ""
" -q, --question Run no recipe; exit status says if up to "
"date.\n"
msgstr ""
-" -q, --question\n"
-"\tÄừng chạy lệnh nào; trạng thái thoát nói nếu hiện thá»i hay không.\n"
-"\t(_câu há»i_)\n"
+" -q, --question Không chạy; mã thoát là \"đã cập nhật\".\n"
-#: main.c:349
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
-msgstr ""
-" -r, --no-builtin-rules \t\tTắt các quy tắc ngầm có sẵn.\n"
-"\t(_không có quy tắc có sẵn_)\n"
+msgstr " -r, --no-builtin-rules Tắt quy tắc ngầm dựng sẵn.\n"
-#: main.c:351
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
-msgstr ""
-" -R, --no-builtin-variables \tTắt các thiết lập biến có sẵn.\n"
-"\t(_không có biến có sẵn_)\n"
+msgstr " -R, --no-builtin-variables Tắt đặt biến dựng sẵn.\n"
-#: main.c:353
-#, fuzzy
+#: main.c:366
msgid " -s, --silent, --quiet Don't echo recipes.\n"
-msgstr ""
-" -s, --silent, --quiet Äừng vá»ng (hiển thị) lệnh.\n"
-"\t(_câm, im_)\n"
+msgstr " -s, --silent, --quiet Không in lại công thức.\n"
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
msgstr ""
-" -S, --no-keep-going, --stop\t\tTắt « -k ».\n"
-"\t(không cứ làm, dừng)\n"
+" -S, --no-keep-going, --stop\n"
+" Tắt -k.\n"
-#: main.c:358
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
-msgstr ""
-" -t, --touch Touch các đích thay vào tạo lại chúng.\n"
-"\t(_sá»_)\n"
+msgstr " -t, --touch Chạm đích thay vì tạo lại.\n"
-#: main.c:360
+#: main.c:373
+msgid " --trace Print tracing information.\n"
+msgstr " --trace Hiển thị thông tin dấu vết.\n"
+
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
-msgstr ""
-" -v, --version In ra số thứ tự _phiên bản_ của trình make, "
-"rồi thoát.\n"
+msgstr " -v, --version Hiển thị phiên bản make rồi thoát.\n"
-#: main.c:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
-msgstr " -w, --print-directory _In ra thÆ° mục_ hiện thá»i.\n"
+msgstr " -w, --print-directory Hiển thị thÆ° mục hiện thá»i.\n"
-#: main.c:364
+#: 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 », dù khi nó được bật ngầm\n"
-"\t(_không in ra thư mục_)\n"
+msgstr " --no-print-directory Tắt -w, thậm chí nếu được bật ngầm.\n"
-#: main.c:366
+#: 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 TẬP_TIN\n"
-" --what-if=TẬP_TIN\n"
-" --new-file=TẬP_TIN\n"
-" --assume-new=TẬP_TIN\n"
-" \t\t\tXem là tập tin này là mới vô hạn.\n"
-"\t(_gì nếu, tập tin mới, giả sử mới_)\n"
-
-#: main.c:369
+" -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:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr ""
-" --warn-undefined-variables\n"
-"\t\t_Cảnh báo_ khi tham chiếu một _biến chưa được định nghĩa_.\n"
+" --warn-undefined-variables Cảnh báo tham chiếu đến biến chưa xác định.\n"
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
-msgstr "chuỗi rỗng không hợp lệ dạng tên tập tin"
+msgstr "chuỗi rỗng không hợp lệ làm tên tập tin"
-#: main.c:650
+#: main.c:737
#, c-format
-msgid "unknown debug level specification `%s'"
-msgstr "không biết đặc tả cấp gỡ lỗi « %s »"
+msgid "unknown debug level specification '%s'"
+msgstr "không hiểu đặc tả cấp gỡ rối “%sâ€"
-#: main.c:690
-#, fuzzy, c-format
+#: main.c:774
+#, c-format
+msgid "unknown output-sync type '%s'"
+msgstr "không hiểu kiểu output-sync “%sâ€"
+
+#: main.c:828
+#, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
-msgstr ""
-"%s: Mới bắt Interrupt/Exception (ngắt/ngoài lệ) (mã = 0x%lx, địa chỉ = 0x%"
-"lx)\n"
+msgstr "%s: Bắt được ngắt/ngoại lệ (mã = 0x%lx, địa chỉ = 0x%p)\n"
-#: main.c:697
-#, fuzzy, c-format
+#: main.c:835
+#, c-format
msgid ""
"\n"
"Unhandled exception filter called from program %s\n"
@@ -965,228 +1081,229 @@ msgid ""
"ExceptionAddress = 0x%p\n"
msgstr ""
"\n"
-"Bá»™ lá»c ngoại lệ không đã quản lý được gá»i từ chÆ°Æ¡ng trình %s\n"
-"ExceptionCode \t\tmã ngoại lệ\t %lx\n"
-"ExceptionFlags \t\tcác cỠngoại lệ %lx\n"
-"ExceptionAddress \t\tđịa chỉ ngoại lệ %lx\n"
+"Bá»™ lá»c ngoại lệ không quản lý được gá»i từ chÆ°Æ¡ng trình %s\n"
+"ExceptionCode (mã ngoại lệ) = %lx\n"
+"ExceptionFlags (các cỠngoại lệ) = %lx\n"
+"ExceptionAddress (địa chỉ ngoại lệ) = 0x%p\n"
-#: main.c:705
-#, fuzzy, c-format
+#: 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ỉ %lx\n"
+msgstr "Vi phạm truy cập: thao tác ghi tại địa chỉ 0x%p\n"
-#: main.c:706
-#, fuzzy, c-format
+#: 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ỉ %lx\n"
+msgstr "Vi phạm truy cập: thao tác Ä‘á»c tại địa chỉ 0x%p\n"
-#: main.c:781 main.c:792
-#, fuzzy, c-format
+#: main.c:920 main.c:935
+#, c-format
msgid "find_and_set_shell() setting default_shell = %s\n"
-msgstr ""
-"« find_and_set_shell » (tìm và lập hệ vá») Ä‘ang lập « default_shell » (hệ vá» "
-"mặc định) = %s\n"
+msgstr "find_and_set_shell() đang đặt default_shell = %s\n"
-#: main.c:834
-#, fuzzy, c-format
+#: main.c:988
+#, c-format
msgid "find_and_set_shell() path search set default_shell = %s\n"
-msgstr ""
-"Việc tìm kiếm Ä‘Æ°á»ng dẫn « find_and_set_shell » (tìm và lập hệ vá») Ä‘ang lập « "
-"default_shell » (hệ vỠmặc định) = %s\n"
+msgstr "find_and_set_shell() đã quét Ä‘Æ°á»ng dẫn thì đặt default_shell = %s\n"
-#: main.c:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
-msgstr "%s đang ngưng được 30 giây..."
+msgstr "%s đang ngưng trong 30 giây..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
-msgstr "đã ngủ(30). Äang tiếp tục.\n"
+msgstr "đã ngủ(30). Tiếp tục.\n"
-#: main.c:1501
-msgid "Makefile from standard input specified twice."
-msgstr "Tập tin tạo (makefile) từ thiết bị nhập chuẩn đã được ghi rõ hai lần."
-
-#: main.c:1539 vmsjobs.c:500
-msgid "fopen (temporary file)"
-msgstr ""
-"fopen (tập tin tạm thá»i)\n"
-" (_mở tập tin_)"
-
-#: main.c:1545
-msgid "fwrite (temporary file)"
+#: main.c:1527
+#, c-format
+msgid ""
+"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"
msgstr ""
-"fwrite (tập tin tạm thá»i)\n"
-" (_ghi tập tin_)"
-
-#: main.c:1703
-msgid "Parallel jobs (-j) are not supported on this platform."
-msgstr "Công việc song song (-j) không được há»— trợ trên ná»n tảng này."
-
-#: main.c:1704
-msgid "Resetting to single job (-j1) mode."
-msgstr "Äang lập lại thành chế Ä‘á»™ công việc Ä‘Æ¡n (-j1)."
+"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:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr ""
-"lá»—i ná»™i bá»™: có nhiá»u tùy chá»n « --jobserver-fds » (trình phục vụ công việc -"
-"fds)."
+#: 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:1727
+#: 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 » (trình phục vụ công việc -fds) "
-"không hợp lệ « %s »."
+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:1730
+#: main.c:1537
#, c-format
msgid "Jobserver client (fds %d,%d)\n"
-msgstr ""
+msgstr "Ứng dụng khách jobserver (fds %d,%d)\n"
-#: main.c:1740
+#: main.c:1551
msgid "warning: -jN forced in submake: disabling jobserver mode."
-msgstr ""
-"cảnh báo : « -jN » bị buộc trong tiến trình submake: nên tắt chế độ trình "
-"phục vụ công việc (jobserver)."
+msgstr "cảnh báo: -jN bị ép buộc trong make con: tắt chế độ jobserver."
-#: main.c:1750
+#: main.c:1567
msgid "dup jobserver"
-msgstr "dup jobserver (sao lục trình phục vụ công việc)"
+msgstr "dup jobserver"
-#: main.c:1753
+#: main.c:1570
msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
+"warning: jobserver unavailable: using -j1. Add '+' to parent make rule."
msgstr ""
-"cảnh báo : trình phục vụ công việc không sẵn sàng: nên dùng « -j1 ». Hãy thêm "
-"« + » vào quy tắc make mẹ."
+"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:1777
+#: 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:1780 vmsjobs.c:653
+msgid "fopen (temporary file)"
+msgstr "fopen (tập tin tạm)"
+
+#: main.c:1786
+msgid "fwrite (temporary file)"
+msgstr "fwrite (tập tin tạm)"
+
+#: 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:1975
+msgid "Resetting to single job (-j1) mode."
+msgstr "Äặt lại thành chế Ä‘á»™ công việc Ä‘Æ¡n (-j1)."
+
+#: 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 "đang tạo ống dẫn công việc"
+msgstr "tạo ống dẫn công việc"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
-msgstr "init jobserver pipe (sở khởi ống dẫn trình phục vụ công việc)"
+msgstr "khởi tạo Ä‘Æ°á»ng ống “jobserverâ€"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
-msgstr "Không hỗ trợ liên kết tượng trưng: nên tắt « -L »."
+msgstr "Không há»— trợ liên kết má»m: tắt -L."
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
-msgstr "Äạng cập nhật các tập tin tạo (makefile)...\n"
+msgstr "Cập nhật makefile...\n"
-#: main.c:1917
+#: main.c:2158
#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
-msgstr "Tập tin tạo (makefile) « %s » có lẽ sẽ vòng lặp; sẽ không tạo lại nó.\n"
+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:1996
+#: main.c:2237
#, c-format
-msgid "Failed to remake makefile `%s'."
-msgstr "Việc tạo lại tập tin tạo (makefile) « %s » bị lỗi."
+msgid "Failed to remake makefile '%s'."
+msgstr "Gặp lá»—i khi làm lại makefile “%sâ€."
-#: main.c:2013
+#: main.c:2257
#, c-format
-msgid "Included makefile `%s' was not found."
-msgstr "Không tìm thấy tập tin tạo (makefile) đã bao gồm « %s »."
+msgid "Included makefile '%s' was not found."
+msgstr "Không tìm thấy makefile bao gồm “%sâ€."
-#: main.c:2018
+#: main.c:2262
#, c-format
-msgid "Makefile `%s' was not found"
-msgstr "Không tìm thấy tập tin tạo (makefile) « %s »."
+msgid "Makefile '%s' was not found"
+msgstr "Không tìm thấy makefile “%sâ€."
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
-msgstr "Không thể chuyển đổi vỠthư mục gốc."
+msgstr "Không thể chuyển vỠthư mục gốc."
-#: main.c:2102
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
-msgstr "Äang thá»±c hiện lại[%u]:"
+msgstr "Thực hiện lại[%u]:"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
-msgstr "unlink (bá» liên kết) (tập tin tạm thá»i): "
+msgstr "unlink (bỠliên kết tập tin tạm): "
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
-msgstr "« .DEFAULT_GOAL » (đích mặc định) chứa nhiá»u đích."
+msgstr ".DEFAULT_GOAL chứa nhiá»u đích"
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
-msgstr "Chưa ghi rõ đích nào, và không tìm thấy tập tin tạo (makefile) nào"
+msgstr "Chưa chỉ định đích, và không tìm thấy makefile"
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
msgstr "Không có đích"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
-msgstr "Äạng cập nhật các đích mục tiêu...\n"
+msgstr "Äang cập nhật đích mong muốn...\n"
-#: main.c:2306
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr ""
-"cảnh báo : mới phát hiện đối xứng lệch đồng hồ. Như thế thì bản xây dụng có "
-"lẽ không hoàn toàn."
+"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:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
-msgstr "Cách sá»­ dụng: %s [tùy_chá»n...] [đích] ...\n"
+msgstr "Cách dùng: %s [các_tùy_chá»n] [đích] ...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
"This program built for %s\n"
msgstr ""
"\n"
-"Chương trình này đã được xây dụng cho %s\n"
+"Chương trình này đã được dịch cho %s\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
"This program built for %s (%s)\n"
msgstr ""
"\n"
-"Chương trình này đã được xây dụng cho %s (%s)\n"
+"Chương trình này đã được dịch cho %s (%s)\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
-msgstr "Hãy thông báo lỗi cho <bug-make@gnu.org>.\n"
+msgstr ""
+"Hãy thông báo lỗi cho <bug-make@gnu.org>\n"
+"Hãy thông báo lỗi dịch cho <http://translationproject.org/team/vi.html>.\n"
-#: main.c:2562
-#, fuzzy, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
-msgstr "tùy chá»n « -%c » cần đến má»™t đối số dạng chuá»—i không rá»—ng"
+#: 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:2617
+#: main.c:2871
#, c-format
-msgid "the `-%c' option requires a positive integral argument"
-msgstr "tùy chá»n « -%c » cần đến má»™t đối số dạng số nguyên dÆ°Æ¡ng"
+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:3054
-#, fuzzy, c-format
+#: main.c:3269
+#, c-format
msgid "%sBuilt for %s\n"
-msgstr ""
-"\n"
-"%sChương trình này đã được xây dụng cho %s\n"
+msgstr "%sÄược dịch cho %s\n"
-#: main.c:3056
-#, fuzzy, c-format
+#: main.c:3271
+#, c-format
msgid "%sBuilt for %s (%s)\n"
-msgstr ""
-"\n"
-"%sChương trình này đã được xây dụng cho %s (%s)\n"
+msgstr "%sÄược dịch cho %s (%s)\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1194,474 +1311,484 @@ msgid ""
"%sThis is free software: you are free to change and redistribute it.\n"
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
+"%sGiấy phép GPL pb3+: Giấy phép Công cộng GNU phiên bản 3 hay sau <http://"
+"gnu.org/licenses/gpl.html>\n"
+"%sÄây là phần má»m tá»± do: bạn có quyá»n sá»­a đổi và phát hành lại nó.\n"
+"%sKHÔNG CÓ BẢO HÀNH GÃŒ CẢ, vá»›i Ä‘iá»u kiện được pháp luật cho phép.\n"
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
"# Make data base, printed on %s"
msgstr ""
"\n"
-"# Cơ sở dữ liệu Make, được in ra vào %s"
+"# Cơ sở dữ liệu Make, in lúc %s"
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
"# Finished Make data base on %s\n"
msgstr ""
"\n"
-"# Mới xong cơ sở dữ liệu Make vào %s\n"
+"# Hoàn tất cơ sở dữ liệu Make lúc %s\n"
-#: main.c:3237
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "Lỗi lạ %d"
+
+#: misc.c:522
+#, c-format
+msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
+msgstr "%s: ngÆ°á»i dùng %lu (thật %lu), nhóm %lu (thật %lu)\n"
+
+#: misc.c:543
+msgid "Initialized access"
+msgstr "Truy cập đã được khởi tạo"
+
+#: misc.c:622
+msgid "User access"
+msgstr "Truy cập ngÆ°á»i dùng"
+
+#: misc.c:670
+msgid "Make access"
+msgstr "Truy cập Make"
+
+#: misc.c:704
+msgid "Child access"
+msgstr "Truy cập con"
+
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
-msgstr "%s: Äang vào má»™t thÆ° mục lạ\n"
+msgstr "%s: Vào thư mục lạ\n"
-#: main.c:3239
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
-msgstr "%s: Äang rá»i khá»i má»™t thÆ° mục lạ\n"
+msgstr "%s: Rá»i khá»i thÆ° mục lạ\n"
-#: main.c:3242
+#: output.c:109
#, c-format
-msgid "%s: Entering directory `%s'\n"
-msgstr "%s: Äang vào thÆ° mục « %s »\n"
+msgid "%s: Entering directory '%s'\n"
+msgstr "%s: Vào thÆ° mục “%sâ€\n"
-#: main.c:3245
+#: output.c:111
#, c-format
-msgid "%s: Leaving directory `%s'\n"
-msgstr "%s: Äang rá»i khá»i thÆ° mục « %s »\n"
+msgid "%s: Leaving directory '%s'\n"
+msgstr "%s: Rá»i thÆ° mục “%sâ€\n"
-#: main.c:3250
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
-msgstr "%s[%u]: Äang vào má»™t thÆ° mục lạ\n"
+msgstr "%s[%u]: Vào thư mục lạ\n"
-#: main.c:3253
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
-msgstr "%s[%u]: Äang rá»i khá»i má»™t thÆ° mục lạ\n"
+msgstr "%s[%u]: Rá»i thÆ° mục lạ\n"
-#: main.c:3257
+#: output.c:120
#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
-msgstr "%s[%u]: Äang vào thÆ° mục « %s »\n"
+msgid "%s[%u]: Entering directory '%s'\n"
+msgstr "%s[%u]: Vào thÆ° mục “%sâ€\n"
-#: main.c:3260
+#: output.c:122
#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
-msgstr "%s[%u]: Äang rá»i khá»i thÆ° mục « %s »\n"
+msgid "%s[%u]: Leaving directory '%s'\n"
+msgstr "%s[%u]: Rá»i thÆ° mục “%sâ€\n"
+
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
+msgstr "lá»—i ghi: %s"
-#: misc.c:316
+#: output.c:677
msgid ". Stop.\n"
msgstr ". Dừng.\n"
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "Không biết lỗi: %d"
-
# Variable: don't translate / Biến: đừng dịch
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
# Variable: do not translate/ biến: đừng dịch
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "hết bộ nhớ ảo hoàn toàn"
-
-#: misc.c:708
-#, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: ngÆ°á»i dùng %lu (thật %lu), nhóm %lu (thật %lu)\n"
-
-#: misc.c:729
-msgid "Initialized access"
-msgstr "Truy cấp đã sở khởi"
-
-#: misc.c:808
-msgid "User access"
-msgstr "Truy cập ngÆ°á»i dùng"
-
-#: misc.c:856
-msgid "Make access"
-msgstr "Truy cập Make"
-
-#: misc.c:890
-msgid "Child access"
-msgstr "Truy cập Ä‘iá»u con"
-
-#: misc.c:954
-#, c-format
-msgid "write error: %s"
-msgstr "lá»—i ghi: %s"
-
-#: misc.c:956
-msgid "write error"
-msgstr "lá»—i ghi"
-
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
-msgstr "Äạng Ä‘á»c các tập tin tạo (makefile)...\n"
+msgstr "Äang Ä‘á»c makefile...\n"
-#: read.c:333
+#: read.c:335
#, c-format
-msgid "Reading makefile `%s'"
-msgstr "Äạng Ä‘á»c tập tin tạo (makefile) « %s »..."
+msgid "Reading makefile '%s'"
+msgstr "Äang Ä‘á»c makefile “%sâ€"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
-msgstr " (không có mục tiêu mặc định)"
+msgstr " (không có mục đích mặc định)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (Ä‘Æ°á»ng dẫn tìm kiếm)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
-msgstr " (cũng được)"
+msgstr " (không quan tâm)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
-msgstr " (không mở rộng ~)"
+msgstr " (không nối thêm ~)"
+
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr "Bá» qua “UTF-8 BOM†trong makefile “%sâ€\n"
-#: read.c:759
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr "BỠqua “UTF-8 BOM†trong bộ đệm makefile\n"
+
+#: read.c:789
msgid "invalid syntax in conditional"
-msgstr "gặp cú pháp không hợp lệ trong đồ Ä‘iá»u kiện"
+msgstr "cú pháp không hợp lệ trong biểu thức Ä‘iá»u kiện"
-#: read.c:891
-#, fuzzy
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr "%s: gặp lỗi khi tải"
+
+#: read.c:992
msgid "recipe commences before first target"
-msgstr "lệnh bắt đầu trước đích thứ nhất"
+msgstr "công thức bắt đầu trước đích thứ nhất"
-#: read.c:940
-#, fuzzy
+#: read.c:1041
msgid "missing rule before recipe"
-msgstr "thiếu quy tắc trước các lệnh"
+msgstr "thiếu quy tắc trước công thức"
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "thiếu bộ phân cách%s"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
+msgstr " (bạn đã định dùng TAB thay vì 8 khoảng trắng phải không?)"
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
-msgstr " (bạn có muốn dùng TAB thay vào 8 dấu cách chứ?)"
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "thiếu dấu phân cách%s"
-#: read.c:1163
+#: read.c:1270
msgid "missing target pattern"
msgstr "thiếu mẫu đích"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
msgstr "nhiá»u mẫu đích"
-#: read.c:1169
+#: read.c:1276
#, c-format
-msgid "target pattern contains no `%%'"
-msgstr "mẫu đích không chứa « %% »"
+msgid "target pattern contains no '%%'"
+msgstr "mẫu đích không chứa “%%â€"
-#: read.c:1293
-msgid "missing `endif'"
-msgstr "thiếu « endif »"
+#: read.c:1398
+msgid "missing 'endif'"
+msgstr "thiếu chỉ thị “endifâ€"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "tên biến rỗng"
-#: read.c:1367
-#, fuzzy
-msgid "extraneous text after `define' directive"
-msgstr "Gặp chuỗi chữ bắt nguồn ở ngoài sau chi thị « endef »"
+#: read.c:1471
+msgid "extraneous text after 'define' directive"
+msgstr "gặp các ký tá»± thừa đằng sau chỉ thị “defineâ€"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
-msgstr "thiếu « endef », « define » (định nghĩa) chưa kết thúc"
+#: read.c:1496
+msgid "missing 'endef', unterminated 'define'"
+msgstr "thiếu “endefâ€, chỉ thị “define†chÆ°a hoàn thiện"
-#: read.c:1420
-#, fuzzy
-msgid "extraneous text after `endef' directive"
-msgstr "Gặp chuỗi chữ bắt nguồn ở ngoài sau chi thị « endef »"
+#: read.c:1524
+msgid "extraneous text after 'endef' directive"
+msgstr "gặp các ký tá»± thừa đằng sau chỉ thị “endefâ€"
-#: read.c:1490
+#: read.c:1595
#, c-format
-msgid "Extraneous text after `%s' directive"
-msgstr "Gặp chuỗi chữ bắt nguồn ở ngoài sau chi thị « %s »"
+msgid "extraneous text after '%s' directive"
+msgstr "gặp các ký tá»± thừa đằng sau chỉ thị “%sâ€"
-#: read.c:1499 read.c:1513
+#: read.c:1596
#, c-format
-msgid "extraneous `%s'"
-msgstr "gặp « %s » bắt nguồn ở ngoài"
+msgid "extraneous '%s'"
+msgstr "gặp “%s†thừa"
-#: read.c:1518
-msgid "only one `else' per conditional"
-msgstr "chỉ cho phép má»™t « else » (nếu không thì) cho má»—i đồ Ä‘iá»u kiện thôi"
+#: read.c:1624
+msgid "only one 'else' per conditional"
+msgstr "chỉ cho phép má»™t “else†cho má»—i biểu thức Ä‘iá»u kiện"
-#: read.c:1797
+#: read.c:1899
msgid "Malformed target-specific variable definition"
-msgstr "Lá»i định nghÄ©a biến đặc trÆ°ng cho đích dạng sai"
+msgstr "Äịnh nghÄ©a biến đích riêng biệt bị há»ng"
-#: read.c:1855
-#, fuzzy
+#: read.c:1957
msgid "prerequisites cannot be defined in recipes"
-msgstr "không thể định nghÄ©a Ä‘iá»u kiện tiên quyết trong tập lệnh kiểu lệnh"
+msgstr "không thể định nghÄ©a Ä‘iá»u kiện tiên quyết cho công thức"
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
-msgstr "gặp quy tắc mẫu kiểu ngầm và tĩnh được trộn với nhau"
+msgstr "trộn lẫn quy tắc ngầm và mẫu tĩnh"
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
-msgstr "gặp quy tắc mẫu kiểu ngầm và chuẩn được trộn với nhau"
+msgstr "trá»™n quy tắc ngầm và thÆ°á»ng"
-#: read.c:1976
+#: read.c:2091
#, c-format
-msgid "target `%s' doesn't match the target pattern"
-msgstr "đích « %s » không khớp với mẫu đích"
+msgid "target '%s' doesn't match the target pattern"
+msgstr "đích “%s†không tương ứng với mẫu đích"
-#: read.c:1991 read.c:2036
+#: read.c:2106 read.c:2152
#, c-format
-msgid "target file `%s' has both : and :: entries"
-msgstr "tập tin đích « %s » có mục nhập kiểu cả « : » lẫn « :: » Ä‘á»u"
+msgid "target file '%s' has both : and :: entries"
+msgstr "tập tin đích “%s†có cả hai mục nhập : và ::"
-#: read.c:1997
+#: read.c:2112
#, c-format
-msgid "target `%s' given more than once in the same rule."
-msgstr "đích « %s » được Ä‘Æ°a ra nhiá»u lần trong cùng má»™t quy tắc"
+msgid "target '%s' given more than once in the same rule"
+msgstr "đích “%s†có nhiá»u hÆ¡n má»™t trong cùng má»™t quy tắc"
-#: read.c:2006
-#, fuzzy, c-format
-msgid "warning: overriding recipe for target `%s'"
-msgstr "cảnh báo : đang đè lên các lệnh cho đích « %s »"
+#: read.c:2122
+#, c-format
+msgid "warning: overriding recipe for target '%s'"
+msgstr "cảnh báo: đè công thức cho đích “%sâ€"
-#: read.c:2009
-#, fuzzy, c-format
-msgid "warning: ignoring old recipe for target `%s'"
-msgstr "cảnh báo : đang bỠqua các lệnh cũ cho đích « %s »"
+#: read.c:2125
+#, c-format
+msgid "warning: ignoring old recipe for target '%s'"
+msgstr "cảnh báo: bá» qua công thức cÅ© cho đích “%sâ€"
-#: read.c:2392
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "trá»™n quy tắc ngầm và thÆ°á»ng"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
-msgstr "cảnh báo : đã xem ký tự NUL (rỗng) nên bỠqua phần còn lại của dòng đó"
+msgstr "cảnh báo: thấy ký tự NUL; bỠqua phần còn lại của dòng"
-#: remake.c:234
+#: remake.c:230
#, c-format
-msgid "Nothing to be done for `%s'."
-msgstr "Không có gì cần làm cho « %s »."
+msgid "Nothing to be done for '%s'."
+msgstr "Không cần làm gì cho “%sâ€."
-#: remake.c:235
+#: remake.c:231
#, c-format
-msgid "`%s' is up to date."
-msgstr "« %s » là hiện thá»i."
+msgid "'%s' is up to date."
+msgstr "Äã cập nhật “%sâ€."
-#: remake.c:306
+#: remake.c:303
#, c-format
-msgid "Pruning file `%s'.\n"
-msgstr "Äang xén bá»›t tập tin « %s ».\n"
+msgid "Pruning file '%s'.\n"
+msgstr "Xén bá»›t tập tin “%sâ€.\n"
-#: remake.c:359
+#: remake.c:390 remake.c:393
#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%sKhông có quy tắc tới đích make « %s »%s"
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
+msgstr "%sKhông có quy tắc để tạo đích “%sâ€, cần bởi “%sâ€%s"
-#: remake.c:361
+#: remake.c:402 remake.c:405
#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
-msgstr "%sKhông có quy tắc tới đích make « %s », cần thiết bởi « %s »%s"
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%sKhông có quy tắc để tạo đích “%sâ€%s"
-#: remake.c:413
+#: remake.c:426
#, c-format
-msgid "Considering target file `%s'.\n"
-msgstr "Äang suy nghÄ© tập tin đích « %s ».\n"
+msgid "Considering target file '%s'.\n"
+msgstr "Coi tập tin đích “%sâ€.\n"
-#: remake.c:420
+#: remake.c:433
#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
-msgstr "Vừa cố cập nhật tập tin « %s » nhưng bị lỗi.\n"
+msgid "Recently tried and failed to update file '%s'.\n"
+msgstr "Vừa thá»­ và thất bại khi cập nhật “%sâ€.\n"
-#: remake.c:432
+#: remake.c:445
#, c-format
-msgid "File `%s' was considered already.\n"
-msgstr "Tập tin « %s » đã được suy nghĩ.\n"
+msgid "File '%s' was considered already.\n"
+msgstr "Coi tập tin “%s†là đã sẵn có rồi.\n"
-#: remake.c:442
+#: remake.c:455
#, c-format
-msgid "Still updating file `%s'.\n"
-msgstr "Vẫn còn đang cập nhật tập tin « %s »...\n"
+msgid "Still updating file '%s'.\n"
+msgstr "Vẫn Ä‘ang cập nhật tập tin “%sâ€.\n"
-#: remake.c:445
+#: remake.c:458
#, c-format
-msgid "Finished updating file `%s'.\n"
-msgstr "Mới cập nhật xong tập tin « %s ».\n"
+msgid "Finished updating file '%s'.\n"
+msgstr "Hoàn tất cập nhật tập tin “%sâ€.\n"
-#: remake.c:474
+#: remake.c:487
#, c-format
-msgid "File `%s' does not exist.\n"
-msgstr "Tập tin « %s » không tồn tại.\n"
+msgid "File '%s' does not exist.\n"
+msgstr "Tập tin “%s†không tồn tại.\n"
-#: remake.c:481
+#: remake.c:495
#, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr ""
-"*** Cảnh báo : tập tin « .LOW_RESOLUTION_TIME » (thá»i gian giải pháp thấp) « %"
-"s » có nhãn thá»i gian cao"
+"*** Cảnh báo: tập tin .LOW_RESOLUTION_TIME “%s†có nhãn thá»i gian Ä‘á»™ phân "
+"giải cao"
-#: remake.c:494 remake.c:1016
+#: remake.c:508 remake.c:1040
#, c-format
-msgid "Found an implicit rule for `%s'.\n"
-msgstr "Tìm thấy một quy tắc ngầm cho « %s ».\n"
+msgid "Found an implicit rule for '%s'.\n"
+msgstr "Tìm thấy quy tắc ngầm cho “%sâ€.\n"
-#: remake.c:496 remake.c:1018
+#: remake.c:510 remake.c:1042
#, c-format
-msgid "No implicit rule found for `%s'.\n"
-msgstr "Không tìm thấy quy tắc ngầm cho « %s »\n"
+msgid "No implicit rule found for '%s'.\n"
+msgstr "Không tìm thấy quy tắc ngầm cho “%sâ€.\n"
-#: remake.c:502
-#, fuzzy, c-format
-msgid "Using default recipe for `%s'.\n"
-msgstr "Äang dùng các lệnh mặc định cho « %s ».\n"
+#: remake.c:516
+#, c-format
+msgid "Using default recipe for '%s'.\n"
+msgstr "Dùng công thức mặc định cho “%sâ€.\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
-msgstr "Cách phụ thuá»™c vòng tròn « %s ↠%s » bị gỡ bá»."
+msgstr "BỠphụ thuộc vòng tròn %s <- %s."
-#: remake.c:651
+#: remake.c:675
#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
-msgstr "Má»›i xong các Ä‘iá»u kiện tiên quyết của tập tin đích « %s ».\n"
+msgid "Finished prerequisites of target file '%s'.\n"
+msgstr "Hoàn tất Ä‘iá»u kiện tiên quyết của tập tin đích “%sâ€.\n"
-#: remake.c:657
+#: remake.c:681
#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
-msgstr "Äang tạo các Ä‘iá»u kiện tiên quyết của « %s ».\n"
+msgid "The prerequisites of '%s' are being made.\n"
+msgstr "Äang tạo Ä‘iá»u kiện tiên quyết của “%sâ€.\n"
-#: remake.c:670
+#: remake.c:695
#, c-format
-msgid "Giving up on target file `%s'.\n"
-msgstr "Äang chịu thua vá» tập tin đích « %s ».\n"
+msgid "Giving up on target file '%s'.\n"
+msgstr "Chịu thua tập tin đích “%sâ€.\n"
-#: remake.c:675
+#: remake.c:700
#, c-format
-msgid "Target `%s' not remade because of errors."
-msgstr "Äích « %s » không được tạo lại vì gặp lá»—i."
+msgid "Target '%s' not remade because of errors."
+msgstr "Äích “%s†không được tạo lại do lá»—i."
-#: remake.c:727
+#: remake.c:752
#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
-msgstr ""
-"Äiá»u kiện tiên quyết « %s » là order-only (chỉ thứ tá»±) cho đích « %s ».\n"
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
+msgstr "Äiá»u kiện tiên quyết “%s†là order-only (chỉ thứ tá»±) cho đích “%sâ€.\n"
-#: remake.c:732
+#: remake.c:757
#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
-msgstr "Äiá»u kiện tiên quyết « %s » của đích « %s » không tồn tại.\n"
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
+msgstr "Äiá»u kiện tiên quyết “%s†của đích “%s†không tồn tại.\n"
-#: remake.c:737
+#: remake.c:762
#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
-msgstr "Äiá»u kiện tiên quyết « %s » là má»›i hÆ¡n đích « %s » .\n"
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
+msgstr "Äiá»u kiện tiên quyết “%s†là má»›i hÆ¡n đích “%s†.\n"
-#: remake.c:740
+#: remake.c:765
#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
-msgstr "Äiá»u kiện tiên quyết « %s » là cÅ© hÆ¡n đích « %s » .\n"
+msgid "Prerequisite '%s' is older than target '%s'.\n"
+msgstr "Äiá»u kiện tiên quyết “%s†cÅ© hÆ¡n đích “%s†.\n"
-#: remake.c:758
+#: remake.c:783
#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
-msgstr ""
-"Äích « %s » là kiểu dấu hai chấm đôi và không có Ä‘iá»u kiện tiên quyết nào.\n"
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
+msgstr "Äích “%s†là hai chấm đôi và không có Ä‘iá»u kiện tiên quyết.\n"
-#: remake.c:765
-#, fuzzy, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
+#: remake.c:790
+#, c-format
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr ""
-"Không có lệnh cho « %s », và chÆ°a thật sá»± thay đổi Ä‘iá»u kiện tiên quyết nào.\n"
+"Không có công thức cho “%s†và chÆ°a thay đổi Ä‘iá»u kiện tiên quyết nào.\n"
-#: remake.c:770
+#: remake.c:795
#, c-format
-msgid "Making `%s' due to always-make flag.\n"
-msgstr "Äang tạo « %s » vì gặp cá» always-make (luôn luôn tạo).\n"
+msgid "Making '%s' due to always-make flag.\n"
+msgstr "Tạo “%s†do cỠ“always-makeâ€.\n"
-#: remake.c:778
+#: remake.c:803
#, c-format
-msgid "No need to remake target `%s'"
-msgstr "Không cần tạo lại đích « %s »."
+msgid "No need to remake target '%s'"
+msgstr "Không cần tạo lại đích “%sâ€."
-#: remake.c:780
+#: remake.c:805
#, c-format
-msgid "; using VPATH name `%s'"
-msgstr "; Ä‘ang dùng tên VPATH (Ä‘Æ°á»ng dẫn V) « %s »"
+msgid "; using VPATH name '%s'"
+msgstr "; dùng tên VPATH “%sâ€"
-#: remake.c:800
+#: remake.c:825
#, c-format
-msgid "Must remake target `%s'.\n"
-msgstr "Phải tạo lại đích « %s ».\n"
+msgid "Must remake target '%s'.\n"
+msgstr "Phải tạo lại đích “%sâ€.\n"
-#: remake.c:806
+#: remake.c:831
#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
-msgstr " Äang bá» qua tên Ä‘Æ°á»ng dẫn VPATH « %s ».\n"
+msgid " Ignoring VPATH name '%s'.\n"
+msgstr " Bá» qua tên VPATH “%sâ€.\n"
-#: remake.c:815
-#, fuzzy, c-format
-msgid "Recipe of `%s' is being run.\n"
-msgstr "Äang chạy các lệnh của « %s ».\n"
+#: remake.c:840
+#, c-format
+msgid "Recipe of '%s' is being run.\n"
+msgstr "Äang chạy công thức của “%sâ€.\n"
-#: remake.c:822
+#: remake.c:847
#, c-format
-msgid "Failed to remake target file `%s'.\n"
-msgstr "Việc tạo lại tập tin đích « %s » bị lỗi.\n"
+msgid "Failed to remake target file '%s'.\n"
+msgstr "Gặp lá»—i khi tạo lại được tập tin đích “%sâ€.\n"
-#: remake.c:825
+#: remake.c:850
#, c-format
-msgid "Successfully remade target file `%s'.\n"
-msgstr "Mới tạo lại tập tin đích « %s ».\n"
+msgid "Successfully remade target file '%s'.\n"
+msgstr "Tạo lại thành công tập tin đích “%sâ€.\n"
-#: remake.c:828
+#: remake.c:853
#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
-msgstr "Tập tin đích « %s » cần được tạo lại dưới « -q ».\n"
+msgid "Target file '%s' needs to be remade under -q.\n"
+msgstr "Tập tin đích “%s†cần được tạo lại dÆ°á»›i tùy chá»n “-qâ€.\n"
-#: remake.c:1024
+#: remake.c:1048
#, c-format
-msgid "Using default commands for `%s'.\n"
-msgstr "Äang dùng các lệnh mặc định cho « %s ».\n"
+msgid "Using default commands for '%s'.\n"
+msgstr "Dùng lệnh mặc định cho “%sâ€.\n"
-#: remake.c:1357
+#: remake.c:1397
#, c-format
-msgid "Warning: File `%s' has modification time in the future"
-msgstr "Cảnh báo : tập tin « %s » có giỠsửa đổi trong tương lai."
+msgid "Warning: File '%s' has modification time in the future"
+msgstr "Cảnh báo: Tập tin “%s†có giỠsửa đổi ở thì tương lai."
-#: remake.c:1370
-#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
-msgstr "Cảnh báo : tập tin « %s » có giỠsửa đổi « %.2g s » trong tương lai."
+#: remake.c:1411
+#, c-format
+msgid "Warning: File '%s' has modification time %s s in the future"
+msgstr "Cảnh báo: Tập tin “%s†có giỠsửa đổi %s giây trong thì tương lai."
-#: remake.c:1569
+#: remake.c:1610
#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
-msgstr "Yếu tố « .LIBPATTERNS » (các mẫu thư viên) « %s » không phải là mẫu"
+msgid ".LIBPATTERNS element '%s' is not a pattern"
+msgstr "Phần tử .LIBPATTERNS “%s†không phải là một mẫu"
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
-msgstr "Thuế quan không xuất được: %s\n"
+msgstr "Phần tùy chỉnh không xuất được: %s\n"
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1669,7 +1796,7 @@ msgstr ""
"\n"
"# Quy tắc ngầm"
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1677,7 +1804,7 @@ msgstr ""
"\n"
"# Không có quy tắc ngầm."
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1686,248 +1813,269 @@ msgstr ""
"\n"
"# %u quy tắc ngầm, %u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
-msgstr " thiết bị cuối"
+msgstr " thiết bị cuối."
-#: rule.c:534
-#, fuzzy, c-format
+#: rule.c:530
+#, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
-msgstr "LỖI: « num_pattern_rules » (số quy tắc mẫu) không đúng! %u != %u"
+msgstr "LỖI: num_pattern_rules không đúng! %u != %u"
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
msgstr "tín hiệu lạ"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
-msgstr "Ngừng nói"
+msgstr "Treo"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
msgstr "Ngắt"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
msgstr "Thoát"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
-msgstr "Lệnh cấm"
+msgstr "Chỉ lệnh không hợp lệ"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
msgstr "Bẫy vết/điểm ngắt"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr "Bị hủy bá»"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
msgstr "Bẫy IOT"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
msgstr "Bẫy EMT"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
-msgstr "Ngoại lệ điểm phù động"
+msgstr "Ngoại lệ dấu chấm động"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
msgstr "Bị buộc kết thúc"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
-msgstr "Lỗi mạch nối"
+msgstr "Lá»—i bus"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
msgstr "Lỗi phân đoạn"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
-msgstr "Cuá»™c gá»i hệ thống sai"
+msgstr "Lệnh gá»i hệ thống sai"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
-msgstr "á»ng dẫn bị ngắt"
+msgstr "á»ng dẫn há»ng"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr "Äồng hồ báo Ä‘á»™ng"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
-msgstr "Bị kết thúc"
+msgstr "Äã chấm dứt"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
msgstr "Tín hiệu tự định nghĩa 1"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
msgstr "Tín hiệu tự định nghĩa 2"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
msgstr "Tiến trình con đã thoát"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
-msgstr "Bị cúp điện đột ngột"
+msgstr "Mất điện đột ngột"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr "Bị ngừng"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
-msgstr "Bị ngừng (kết nhập tty)"
+msgstr "Bị ngừng (đầu vào tty)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
-msgstr "Bị ngừng (kết xuất tty)"
+msgstr "Bị ngừng (đầu ra tty)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
msgstr "Bị ngừng (tín hiệu)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
-msgstr "Giá»›i hạn thá»i gian CPU (Ä‘Æ¡n vị xá»­ lý trung tâm) bị vượt quá"
+msgstr "Vượt giá»›i hạn thá»i gian CPU"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
-msgstr "Giới hạn kích cỡ tập tin bị vượt quá"
+msgstr "Vượt giới hạn kích cỡ tập tin"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
-msgstr "Bá»™ đếm thá»i gian ảo đã mãn hạn"
+msgstr "Bá»™ đếm thá»i gian ảo đã hết hạn"
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
-msgstr "Bá»™ đếm khi theo dõi cách sá»­ dụng tiá»m năng hệ thống đã mãn hạn"
+msgstr "Hết hạn đếm thá»i gian khi theo dõi cách sá»­ dụng tiá»m năng hệ thống"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
-msgstr "Cửa sổ đã thay đổi"
+msgstr "Cửa sổ bị thay đổi"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
msgstr "Äã tiếp tục"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
-msgstr "Tình trạng I/O (nhập/xuất) khẩn cấp"
+msgstr "Äiá»u kiện I/O khẩn cấp"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
-msgstr "I/O (nhập/xuất) có thể"
+msgstr "I/O có thể"
# Literal: don't translate / Nghĩa chữ: đừng dịch
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
# Literal: don't translate / Nghĩa chữ: đừng dịch
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr "Tài nguyên bị mất"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
msgstr "Tín hiệu nguy hiểm"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
msgstr "Yêu cầu thông tin"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
-msgstr "Không có sẵn sàng bộ đồng xử lý điểm phù động"
+msgstr "Không có bộ đồng xử lý số thực dấu chấm động"
-#: strcache.c:235
-#, fuzzy, c-format
+#: strcache.c:236
+#, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
+"%s No strcache buffers\n"
msgstr ""
"\n"
-"%s # chuỗi trong bộ nhớ tạm chuỗi : %d\n"
+"%s Không có bộ đệm strcache\n"
-#: strcache.c:237
-#, fuzzy, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
-msgstr "%s # bộ đệm nhớ tạm chuỗi: %d\n"
+#: strcache.c:266
+#, c-format
+msgid ""
+"\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
+msgstr ""
+"\n"
+"%s bộ đệm strcache: %lu (%lu) / chuỗi = %lu / lưu = %lu B / t.bình = "
+"%lu B\n"
-#: strcache.c:239
-#, fuzzy, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+#: strcache.c:270
+#, c-format
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
msgstr ""
-"%s cỡ bộ nhớ tạm chuỗi: tổng = %d / đa = %d / thiểu = %d / tbình = %d\n"
+"%s đệm hiện tại: kcỡ = %hu B / đã dùng = %hu B / slượng = %hu / tbình = %hu "
+"B\n"
-#: strcache.c:241
-#, fuzzy, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+#: strcache.c:280
+#, c-format
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
+msgstr "%s được dùng khác: tổng = %lu B / s.lượng = %lu / t.bình = %lu B\n"
+
+#: strcache.c:283
+#, c-format
+msgid ""
+"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
msgstr ""
-"%s rảnh bộ nhớ tạm chuỗi: tổng = %d / đa = %d / thiểu = %d / tbình = %d\n"
+"%s trống khác: tổng = %lu B / tđa = %lu B / t.thiểu = %lu B / t.bình = %hu "
+"B\n"
-#: strcache.c:244
-#, fuzzy
+#: strcache.c:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
-"# "
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
msgstr ""
"\n"
-"# thống kê bảng băm các tập tin:\n"
+"%s hiệu năng strcache: tra cứu = %lu / tỷ lệ trúng = %lu%%\n"
+
+#: strcache.c:289
+msgid ""
+"# hash-table stats:\n"
"# "
+msgstr ""
+"# thống kê bảng băm tập tin:\n"
+"# "
+
+#: variable.c:1599
+msgid "automatic"
+msgstr "tá»± Ä‘á»™ng"
-#: variable.c:1541
+#: variable.c:1602
msgid "default"
msgstr "mặc định"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
msgstr "môi trÆ°á»ng"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
-msgstr "tập tin tạo"
+msgstr "makefile"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
-msgstr "môi trÆ°á»ng dÆ°á»›i « -e »"
+msgstr "môi trÆ°á»ng vá»›i -e"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
msgstr "dòng lệnh"
-#: variable.c:1556
-msgid "`override' directive"
-msgstr "chỉ thị « override » (đè)"
-
-#: variable.c:1559
-msgid "automatic"
-msgstr "tá»± Ä‘á»™ng"
+#: variable.c:1617
+msgid "'override' directive"
+msgstr "chỉ thị “overrideâ€"
-#: variable.c:1570
+#: variable.c:1628
#, c-format
-msgid " (from `%s', line %lu)"
-msgstr " (từ « %s », dòng %lu)"
+msgid " (from '%s', line %lu)"
+msgstr " (từ “%sâ€, dòng %lu)"
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
-msgstr "# thống kê bảng băm lập biến:\n"
+msgstr "# thống kê bảng băm biến được đặt:\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -1935,118 +2083,122 @@ msgstr ""
"\n"
"# Biến\n"
-#: variable.c:1627
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
"\n"
-"# Giá trị biến đặc trưng cho mẫu"
+"# Giá trị biến đặc tả cho mẫu"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
msgstr ""
"\n"
-"# Không có giá trị biến đặc trưng cho mẫu"
+"# Không có giá trị biến đặc tả cho mẫu"
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
"# %u pattern-specific variable values"
msgstr ""
"\n"
-"# %u giá trị biến đặc trưng cho mẫu"
+"# %u giá trị biến đặc tả cho mẫu"
-#: variable.h:219
+#: variable.h:224
#, c-format
-msgid "warning: undefined variable `%.*s'"
-msgstr "cảnh báo : chưa định nghĩa biến « %.*s »"
+msgid "warning: undefined variable '%.*s'"
+msgstr "cảnh báo: biến “%.*s†chưa được định nghĩa"
-#: vmsfunctions.c:92
-#, fuzzy, c-format
+#: vmsfunctions.c:91
+#, c-format
msgid "sys$search() failed with %d\n"
-msgstr "việc « search » (tìm kiếm hệ thống) bị lỗi với %d\n"
+msgstr "sys$search() gặp lỗi với %d\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
-msgstr "Cảnh báo : việc chuyển hướng rỗng\n"
+msgstr "Cảnh báo: Chuyển hướng trống rỗng\n"
-#: vmsjobs.c:184
+#: vmsjobs.c:183
#, c-format
-msgid "internal error: `%s' command_state"
-msgstr "lỗi nội bộ : tính trạng lệnh « %s »"
+msgid "internal error: '%s' command_state"
+msgstr "lá»—i ná»™i bá»™: command_state “%sâ€"
-#: vmsjobs.c:289
+#: vmsjobs.c:290
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
-msgstr ""
-"• cảnh báo, có lẽ bạn sẽ phải bật lại khả năng quản lý bằng CTRL-Y từ DCL.\n"
+msgstr "-warning, có lẽ bạn cần phải bật lại xử lý CTRL-Y từ DCL.\n"
-#: vmsjobs.c:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "BUILTIN [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "BUILTIN RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
-msgstr "Không biết lệnh builtin (có sẵn) « %s »\n"
+msgstr "Không hiểu lệnh dá»±ng sẵn “%sâ€\n"
+
+#: vmsjobs.c:592
+#, c-format
+msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"
+msgstr ""
-#: vmsjobs.c:493
+#: vmsjobs.c:643
#, c-format
msgid "Error, empty command\n"
-msgstr "Lỗi, lệnh rỗng\n"
+msgstr "Lỗi, lệnh trống rỗng\n"
-#: vmsjobs.c:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
-msgstr "Kết nhập đã được chuyển hướng từ %s\n"
+msgstr "Äã chuyển hÆ°á»›ng đầu vào từ %s\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
-msgstr "Lỗi đã được chuyển hướng đến %s\n"
+msgstr "Äã chuyển hÆ°á»›ng lá»—i tá»›i %s\n"
-#: vmsjobs.c:523
-#, fuzzy, c-format
+#: vmsjobs.c:690
+#, c-format
msgid "Append output to %s\n"
-msgstr "Kết xuất đã được chuyển hướng đến %s\n"
+msgstr "Nối thêm đầu ra vào %s\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
-msgstr "Kết xuất đã được chuyển hướng đến %s\n"
+msgstr "Äã chuyển hÆ°á»›ng đầu ra tá»›i %s\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
-msgstr ""
+msgstr "Nối thêm %.*s và dá»n dẹp\n"
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
-msgstr "Äang thá»±c hiện %s thay thế\n"
+msgstr "Thực hiện %s để thay thế\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
-msgstr "Gặp lỗi khi tạo và thực hiện (spawn), %d\n"
+msgstr "Gặp lỗi sản sinh tiến trình, %d\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
@@ -2054,41 +2206,83 @@ msgstr ""
"\n"
"# ÄÆ°á»ng dẫn tìm kiếm VPATH\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
-msgstr "# Không có Ä‘Æ°á»ng dẫn tìm kiếm VPATH nào"
+#: vpath.c:600
+msgid "# No 'vpath' search paths."
+msgstr "# Không có Ä‘Æ°á»ng dẫn tìm kiếm “vpathâ€."
-#: vpath.c:605
+#: vpath.c:602
#, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
-"# %u ÄÆ°á»ng dẫn tìm kiếm « vpath ».\n"
+"# %u Ä‘Æ°á»ng dẫn tìm kiếm “vpathâ€.\n"
-#: vpath.c:608
+#: vpath.c:605
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
-"# Không có Ä‘Æ°á»ng dẫn tìm kiếm chung (biến « VPATH »)."
+"# Không có Ä‘Æ°á»ng dẫn tìm kiếm chung (biến “VPATHâ€)."
-#: vpath.c:614
+#: vpath.c:611
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
-"# ÄÆ°á»ng dẫn tìm kiếm chung (biến « VPATH »).\n"
+"# ÄÆ°á»ng dẫn tìm kiếm chung (biến “VPATHâ€):\n"
"# "
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "lá»—i ná»™i bá»™: có nhiá»u tùy chá»n --sync-mutex"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "lá»—i ná»™i bá»™: có nhiá»u tùy chá»n --jobserver-fds"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "hết bộ nhớ ảo"
+
+#~ msgid "write error"
+#~ msgstr "lá»—i ghi"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "BUILTIN RM %s\n"
+
+#~ msgid "# Invalid value in 'update_status' member!"
+#~ msgstr "# Gặp giá trị sai trong thành phần “update_statusâ€!"
+
+#~ msgid "unknown trace mode '%s'"
+#~ msgstr "không hiểu chế Ä‘á»™ theo vết “%sâ€"
+
+#~ msgid "*** [%s] Error 0x%x (ignored)"
+#~ msgstr "*** [%s] Lá»—i 0x%x (bá» qua)"
+
+#~ msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
+#~ msgstr "Gá»i công thức từ %s:%lu để cập nhật đích “%sâ€.\n"
+
+#~ msgid "Invoking builtin recipe to update target `%s'.\n"
+#~ msgstr "Gá»i công thức dá»±ng sẵn để cập nhật đích “%sâ€.\n"
+
+#~ msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
+#~ msgstr "%s # vùng đệm strcache: %d (* %d B/buffer = %d B)\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "# strcache hash-table stats:\n"
+#~ "# "
+#~ msgstr ""
+#~ "\n"
+#~ "# thống kê bảng băm strcache:\n"
+#~ "# "
+
#~ msgid "process_easy() failed failed to launch process (e=%ld)\n"
#~ msgstr ""
-#~ "Việc « process_easy() » (tiến trình dễ) bị lỗi khi cố khởi chạy tiến trình "
-#~ "(e=%ld)\n"
+#~ "Việc process_easy() (tiến trình dễ) bị lỗi khi cố khởi chạy tiến trình (e="
+#~ "%ld)\n"
#~ msgid ""
#~ "%sThis is free software; see the source for copying conditions.\n"
@@ -2100,19 +2294,19 @@ msgstr ""
#~ "%s\n"
#~ msgid "extraneous `endef'"
-#~ msgstr "gặp « endef » bắt nguồn ở ngoài"
+#~ msgstr "gặp “endef†bắt nguồn ở ngoài"
#~ msgid "empty `override' directive"
-#~ msgstr "chỉ thị « override » (đè) rỗng"
+#~ msgstr "chỉ thị “override†(đè) rỗng"
#~ msgid "invalid `override' directive"
-#~ msgstr "chỉ thị « override » (đè) không hợp lệ"
+#~ 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"
#~ msgid "Do not specify -j or --jobs if sh.exe is not available."
-#~ msgstr "Äừng ghi rõ « -j » hay « --jobs » nếu <sh.exe> không sẵn sàng."
+#~ msgstr "Äừng ghi rõ “-j†hay “--jobs†nếu <sh.exe> không sẵn sàng."
#~ msgid "Resetting make for single job mode."
-#~ msgstr "Äang lập lại trình make cho chế Ä‘á»™ công việc Ä‘Æ¡n."
+#~ msgstr "Äang đặt lại trình make cho chế Ä‘á»™ công việc Ä‘Æ¡n."
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index 61cffca7..54b7430f 100644
--- a/po/zh_CN.gmo
+++ b/po/zh_CN.gmo
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 657264f5..2282094f 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -2,122 +2,128 @@
# Copyright (C) 2002 Free Software Foundation, Inc.
# This file is distributed under the same license as the make package.
# Wang Li <charles@linux.net.cn>, 2002.
-# LI Daobing <lidaobing@gmail.com>, 2008.
+# LI Daobing <lidaobing@gmail.com>, 2008, 2013.
#
msgid ""
msgstr ""
-"Project-Id-Version: make 3.81\n"
+"Project-Id-Version: make 3.99.90\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
-"POT-Creation-Date: 2010-07-28 01:42-0400\n"
-"PO-Revision-Date: 2008-02-05 23:44+0800\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 <lidaobing@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
+"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ar.c:48
-#, c-format
-msgid "attempt to use unsupported feature: `%s'"
+#: ar.c:46
+#, fuzzy, c-format
+msgid "attempt to use unsupported feature: '%s'"
msgstr "试图使用ä¸æ”¯æŒçš„功能:“%sâ€"
-#: ar.c:125
+#: ar.c:123
msgid "touch archive member is not available on VMS"
msgstr "VMS 系统上ä¸æ”¯æŒ touch å½’æ¡£æˆå‘˜"
-#: ar.c:149
-#, c-format
-msgid "touch: Archive `%s' does not exist"
+#: ar.c:147
+#, fuzzy, c-format
+msgid "touch: Archive '%s' does not exist"
msgstr "touch:归档文件“%sâ€ä¸å­˜åœ¨"
-#: ar.c:152
-#, c-format
-msgid "touch: `%s' is not a valid archive"
+#: ar.c:150
+#, fuzzy, c-format
+msgid "touch: '%s' is not a valid archive"
msgstr "touch:“%sâ€ä¸æ˜¯åˆæ³•çš„归档文件"
-#: ar.c:159
-#, c-format
-msgid "touch: Member `%s' does not exist in `%s'"
+#: ar.c:157
+#, fuzzy, c-format
+msgid "touch: Member '%s' does not exist in '%s'"
msgstr "touch:在“%2$sâ€ä¸­ä¸å­˜åœ¨æˆå‘˜â€œ%1$sâ€"
-#: ar.c:166
-#, c-format
-msgid "touch: Bad return code from ar_member_touch on `%s'"
+#: ar.c:164
+#, fuzzy, c-format
+msgid "touch: Bad return code from ar_member_touch on '%s'"
msgstr "touch:æ¥è‡ªâ€œ%sâ€ä¸Šçš„ ar_member_touch 的错误返回ç "
-#: arscan.c:69
+#: arscan.c:124
#, fuzzy, c-format
msgid "lbr$set_module() failed to extract module info, status = %d"
msgstr "lbr$set_modules 获å–模å—ä¿¡æ¯å¤±è´¥ï¼Œè¿”å›žçŠ¶æ€ = %d"
-#: arscan.c:175
+#: arscan.c:230
#, fuzzy, c-format
msgid "lbr$ini_control() failed with status = %d"
msgstr "lbr$ini_control å¤±è´¥ï¼Œè¿”å›žçŠ¶æ€ = %d"
-#: arscan.c:187
-#, c-format
-msgid "unable to open library `%s' to lookup member `%s'"
+#: arscan.c:255
+#, fuzzy, c-format
+msgid "unable to open library '%s' to lookup member status %d"
msgstr "无法打开库“%sâ€ä»¥å¯»æ‰¾æˆå‘˜â€œ%sâ€"
-#: arscan.c:850
-#, c-format
-msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
+#: arscan.c:944
+#, fuzzy, c-format
+msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "æˆå‘˜â€œ%sâ€%s: %ld 字节在 %ld (%ld)。\n"
-#: arscan.c:851
+#: arscan.c:945
msgid " (name might be truncated)"
msgstr " (å称å¯èƒ½è¢«æˆªçŸ­)"
-#: arscan.c:853
+#: arscan.c:947
#, c-format
msgid " Date %s"
msgstr " 日期 %s"
-#: arscan.c:854
+#: 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:499
+#: commands.c:404
+#, c-format
+msgid "Recipe has too many lines (%ud)"
+msgstr ""
+
+#: commands.c:505
msgid "*** Break.\n"
msgstr "*** 中断。\n"
-#: commands.c:622
-#, c-format
-msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
+#: commands.c:629
+#, fuzzy, c-format
+msgid "*** [%s] Archive member '%s' may be bogus; not deleted"
msgstr "*** [%s] å½’æ¡£æˆå‘˜â€œ%sâ€å¯èƒ½æ˜¯å‡çš„;未删除"
-#: commands.c:625
-#, c-format
-msgid "*** Archive member `%s' may be bogus; not deleted"
+#: commands.c:633
+#, fuzzy, c-format
+msgid "*** Archive member '%s' may be bogus; not deleted"
msgstr "*** å½’æ¡£æˆå‘˜â€œ%sâ€å¯èƒ½æ˜¯å‡çš„;未删除"
-#: commands.c:638
-#, c-format
-msgid "*** [%s] Deleting file `%s'"
+#: commands.c:647
+#, fuzzy, c-format
+msgid "*** [%s] Deleting file '%s'"
msgstr "*** [%s] 正在删除文件“%sâ€"
-#: commands.c:640
-#, c-format
-msgid "*** Deleting file `%s'"
+#: commands.c:649
+#, fuzzy, c-format
+msgid "*** Deleting file '%s'"
msgstr "*** 正在删除文件“%sâ€"
-#: commands.c:676
+#: commands.c:685
#, fuzzy
msgid "# recipe to execute"
msgstr "# è¦æ‰§è¡Œçš„命令"
-#: commands.c:679
+#: commands.c:688
msgid " (built-in):"
msgstr " (内置):"
-#: commands.c:681
-#, c-format
-msgid " (from `%s', line %lu):\n"
+#: commands.c:690
+#, fuzzy, c-format
+msgid " (from '%s', line %lu):\n"
msgstr " (从“%sâ€ï¼Œè¡Œ %lu):\n"
-#: dir.c:996
+#: dir.c:989
msgid ""
"\n"
"# Directories\n"
@@ -125,221 +131,225 @@ msgstr ""
"\n"
"# 目录\n"
-#: dir.c:1008
+#: dir.c:1001
#, c-format
msgid "# %s: could not be stat'd.\n"
msgstr "# %s:无法对其进行 stat æ“作。\n"
-#: dir.c:1012
+#: dir.c:1005
#, c-format
msgid "# %s (key %s, mtime %d): could not be opened.\n"
msgstr "# %s (关键字 %s,修改时间 %d):无法打开。\n"
-#: dir.c:1016
+#: 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:1021
+#: dir.c:1014
#, c-format
msgid "# %s (device %ld, inode %ld): could not be opened.\n"
msgstr "# %s (设备 %ld,i-节点 %ld):无法打开。\n"
-#: dir.c:1048
+#: dir.c:1041
#, c-format
msgid "# %s (key %s, mtime %d): "
msgstr "# %s (关键字 %s,修改时间 %d):"
-#: dir.c:1052
+#: dir.c:1045
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
msgstr "# %s (设备 %d,i-节点 [%d,%d,%d]):"
-#: dir.c:1057
+#: dir.c:1050
#, c-format
msgid "# %s (device %ld, inode %ld): "
msgstr "# %s (设备 %ld,i-节点 %ld):"
-#: dir.c:1063 dir.c:1084
+#: dir.c:1056 dir.c:1077
msgid "No"
msgstr "æ— "
-#: dir.c:1066 dir.c:1087
+#: dir.c:1059 dir.c:1080
msgid " files, "
msgstr " 文件, "
-#: dir.c:1068 dir.c:1089
+#: dir.c:1061 dir.c:1082
msgid "no"
msgstr "æ— "
-#: dir.c:1071
+#: dir.c:1064
msgid " impossibilities"
msgstr " ä¸å¯èƒ½"
-#: dir.c:1075
+#: dir.c:1068
msgid " so far."
msgstr " 迄今为止。"
-#: dir.c:1092
+#: dir.c:1085
#, c-format
msgid " impossibilities in %lu directories.\n"
msgstr " ä¸å¯èƒ½åœ¨ %lu 目录中。\n"
-#: expand.c:127
-#, c-format
-msgid "Recursive variable `%s' references itself (eventually)"
+#: expand.c:125
+#, fuzzy, c-format
+msgid "Recursive variable '%s' references itself (eventually)"
msgstr "递归å˜é‡â€œ%sâ€åº”用自身 (最终)"
-#: expand.c:276
+#: expand.c:269
msgid "unterminated variable reference"
msgstr "未终止的å˜é‡å¼•ç”¨"
-#: file.c:267
+#: file.c:271
#, fuzzy, c-format
-msgid "Recipe was specified for file `%s' at %s:%lu,"
+msgid "Recipe was specified for file '%s' at %s:%lu,"
msgstr "关于文件“%sâ€çš„命令在 %s:%lu 处指定,"
-#: file.c:272
+#: file.c:276
#, fuzzy, c-format
-msgid "Recipe for file `%s' was found by implicit rule search,"
+msgid "Recipe for file '%s' was found by implicit rule search,"
msgstr "关于文件“%sâ€çš„命令通过éšå«è§„则æœç´¢è€Œæ‰¾åˆ°ï¼Œ"
-#: file.c:275
-#, c-format
-msgid "but `%s' is now considered the same file as `%s'."
+#: file.c:280
+#, fuzzy, c-format
+msgid "but '%s' is now considered the same file as '%s'."
msgstr "但“%sâ€çŽ°åœ¨è¢«çœ‹åšâ€œ%sâ€çš„åŒä¸€ä¸ªæ–‡ä»¶ã€‚"
-#: file.c:278
+#: file.c:283
#, fuzzy, c-format
-msgid "Recipe for `%s' will be ignored in favor of the one for `%s'."
+msgid "Recipe for '%s' will be ignored in favor of the one for '%s'."
msgstr "“%2$sâ€æ›´ä¼˜å…ˆï¼Œâ€œ%1$sâ€çš„命令被忽略。"
-#: file.c:298
-#, c-format
-msgid "can't rename single-colon `%s' to double-colon `%s'"
+#: file.c:303
+#, fuzzy, c-format
+msgid "can't rename single-colon '%s' to double-colon '%s'"
msgstr "无法将å•å†’å·â€œ%sâ€é‡å‘½å为åŒå†’å·â€œ%sâ€"
-#: file.c:303
-#, c-format
-msgid "can't rename double-colon `%s' to single-colon `%s'"
+#: file.c:309
+#, fuzzy, c-format
+msgid "can't rename double-colon '%s' to single-colon '%s'"
msgstr "无法将åŒå†’å·â€œ%sâ€é‡å‘½å为å•å†’å·â€œ%sâ€"
-#: file.c:392
-#, c-format
-msgid "*** Deleting intermediate file `%s'"
+#: file.c:401
+#, fuzzy, c-format
+msgid "*** Deleting intermediate file '%s'"
msgstr "*** 正在删除中间文件“%sâ€"
-#: file.c:396
+#: file.c:405
msgid "Removing intermediate files...\n"
msgstr "正在删除中间文件...\n"
-#: file.c:803
+#: file.c:811
+msgid "Current time"
+msgstr "当å‰æ—¶é—´"
+
+#: file.c:815
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr "%sï¼šæ—¶é—´æ ‡è®°è¶…å‡ºèŒƒå›´ï¼›æ­£åœ¨æ›¿æ¢ %s"
-#: file.c:804
-msgid "Current time"
-msgstr "当å‰æ—¶é—´"
-
-#: file.c:924
+#: file.c:955
msgid "# Not a target:"
msgstr "# ä¸æ˜¯ä¸€ä¸ªç›®æ ‡ï¼š"
-#: file.c:929
+#: file.c:960
msgid "# Precious file (prerequisite of .PRECIOUS)."
msgstr "# é‡è¦æ–‡ä»¶ (.PRECIOUSçš„å‰æ)。"
-#: file.c:931
+#: file.c:962
msgid "# Phony target (prerequisite of .PHONY)."
msgstr "# å‡ç›®æ ‡ (.PHONYçš„å‰æ)。"
-#: file.c:933
+#: file.c:964
#, fuzzy
msgid "# Command line target."
msgstr "# 命令行目标。"
-#: file.c:935
+#: file.c:966
msgid "# A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# 缺çœçš„ã€MAKEFILES 指定的ã€-include/sinclude 包å«çš„ makefile。"
-#: file.c:937
+#: file.c:968
+#, fuzzy
+msgid "# Builtin rule"
+msgstr ""
+"\n"
+"# 没有éšå«è§„则。"
+
+#: file.c:970
msgid "# Implicit rule search has been done."
msgstr "# 对éšå«è§„则的æœç´¢å·²å®Œæˆã€‚"
-#: file.c:938
+#: file.c:971
msgid "# Implicit rule search has not been done."
msgstr "# 对éšå«è§„则的æœç´¢å°šæœªå®Œæˆã€‚"
-#: file.c:940
-#, c-format
-msgid "# Implicit/static pattern stem: `%s'\n"
+#: file.c:973
+#, fuzzy, c-format
+msgid "# Implicit/static pattern stem: '%s'\n"
msgstr "# éšå«/é™æ€æ¨¡å¼ä¸»å¹²ï¼šâ€œ%sâ€\n"
-#: file.c:942
+#: file.c:975
msgid "# File is an intermediate prerequisite."
msgstr "# 文件是一个中间å‰æ。"
-#: file.c:946
+#: file.c:979
msgid "# Also makes:"
msgstr "# 还è¦åˆ›å»ºï¼š"
-#: file.c:952
+#: file.c:985
msgid "# Modification time never checked."
msgstr "# 从ä¸æ£€æŸ¥ä¿®æ”¹æ—¶é—´ã€‚"
-#: file.c:954
+#: file.c:987
msgid "# File does not exist."
msgstr "# 文件ä¸å­˜åœ¨ã€‚"
-#: file.c:956
+#: file.c:989
msgid "# File is very old."
msgstr "# 文件éžå¸¸é™ˆæ—§ã€‚"
-#: file.c:961
+#: file.c:994
#, c-format
msgid "# Last modified %s\n"
msgstr "# 最近更新 %s\n"
-#: file.c:964
+#: file.c:997
msgid "# File has been updated."
msgstr "# 文件已ç»è¢«æ›´æ–°ã€‚"
-#: file.c:964
+#: file.c:997
msgid "# File has not been updated."
msgstr "# 文件尚未被更新。"
-#: file.c:968
+#: file.c:1001
#, fuzzy
msgid "# Recipe currently running (THIS IS A BUG)."
msgstr "# 正在è¿è¡Œçš„命令 (这是个错误)。"
-#: file.c:971
+#: file.c:1004
#, fuzzy
msgid "# Dependencies recipe running (THIS IS A BUG)."
msgstr "# 正在è¿è¡Œçš„ä¾èµ–性命令 (这是个错误)。"
-#: file.c:980
+#: file.c:1013
msgid "# Successfully updated."
msgstr "# æ›´æ–°æˆåŠŸã€‚"
-#: file.c:984
+#: file.c:1017
msgid "# Needs to be updated (-q is set)."
msgstr "# 需è¦æ›´æ–° (用 -q 设定)。"
-#: file.c:987
+#: file.c:1020
msgid "# Failed to be updated."
msgstr "# 更新失败。"
-#: file.c:990
-msgid "# Invalid value in `update_status' member!"
-msgstr "# “update_statusâ€æˆå‘˜ä¸­æ— æ•ˆçš„值ï¼"
-
-#: file.c:997
-msgid "# Invalid value in `command_state' member!"
+#: file.c:1025
+#, fuzzy
+msgid "# Invalid value in 'command_state' member!"
msgstr "# “command_stateâ€æˆå‘˜ä¸­æ— æ•ˆçš„值ï¼"
-#: file.c:1016
+#: file.c:1044
msgid ""
"\n"
"# Files"
@@ -347,7 +357,7 @@ msgstr ""
"\n"
"# 文件"
-#: file.c:1020
+#: file.c:1048
msgid ""
"\n"
"# files hash-table stats:\n"
@@ -357,117 +367,175 @@ msgstr ""
"# 文件æ‚凑表状æ€:\n"
"# "
-#: function.c:758
-msgid "non-numeric first argument to `word' function"
+#: file.c:1058
+#, c-format
+msgid "%s: Field '%s' not cached: %s"
+msgstr ""
+
+#: function.c:780
+#, fuzzy
+msgid "non-numeric first argument to 'word' function"
msgstr "“wordâ€å‡½æ•°çš„第一个å‚æ•°ä¸æ˜¯æ•°å€¼å‚æ•°"
-#: function.c:763
-msgid "first argument to `word' function must be greater than 0"
+#: function.c:785
+#, fuzzy
+msgid "first argument to 'word' function must be greater than 0"
msgstr "“wordâ€å‡½æ•°çš„第一个å‚数必须大于 0"
-#: function.c:783
-msgid "non-numeric first argument to `wordlist' function"
+#: function.c:805
+#, fuzzy
+msgid "non-numeric first argument to 'wordlist' function"
msgstr "“wordlistâ€å‡½æ•°çš„第一个å‚æ•°ä¸æ˜¯æ•°å€¼å‚æ•°"
-#: function.c:785
-msgid "non-numeric second argument to `wordlist' function"
+#: function.c:807
+#, fuzzy
+msgid "non-numeric second argument to 'wordlist' function"
msgstr "“wordlistâ€å‡½æ•°çš„第二个å‚æ•°ä¸æ˜¯æ•°å€¼å‚æ•°"
-#: function.c:1458
+#: function.c:1499
#, fuzzy, c-format
-msgid "windows32_openpipe(): DuplicateHandle(In) failed (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "创建å­è¿›ç¨‹ï¼šå¤åˆ¶å¥æŸ„(In)失败 (e=%ld)\n"
-#: function.c:1469
+#: function.c:1523
#, fuzzy, c-format
-msgid "windows32_open_pipe(): DuplicateHandle(Err) failed (e=%ld)\n"
+msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "创建å­è¿›ç¨‹ï¼šå¤åˆ¶å¥æŸ„(Err)失败 (e=%ld)\n"
-#: function.c:1474
+#: function.c:1530
#, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() 失败 (e=%ld)\n"
-#: function.c:1479
+#: function.c:1538
#, fuzzy
msgid "windows32_openpipe(): process_init_fd() failed\n"
msgstr "windows32_openpipe ():process_init_fd() 失败\n"
-#: function.c:1728
+#: function.c:1832
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "正在清除临时批处ç†æ–‡ä»¶ %s\n"
-#: function.c:2150
+#: function.c:2193
+#, fuzzy, c-format
+msgid "open: %s: %s"
+msgstr "%s: %s"
+
+#: function.c:2203
+#, fuzzy, c-format
+msgid "write: %s: %s"
+msgstr "写错误: %s"
+
+#: function.c:2209
#, c-format
-msgid "insufficient number of arguments (%d) to function `%s'"
+msgid "Invalid file operation: %s"
+msgstr ""
+
+#: function.c:2324
+#, fuzzy, c-format
+msgid "insufficient number of arguments (%d) to function '%s'"
msgstr "函数“%2$sâ€çš„å‚æ•°æ•°é‡(%1$d)ä¸å¤Ÿ"
-#: function.c:2162
-#, c-format
-msgid "unimplemented on this platform: function `%s'"
+#: function.c:2336
+#, fuzzy, c-format
+msgid "unimplemented on this platform: function '%s'"
msgstr "在本平å°ä¸Šæœªå®žçŽ°ï¼šå‡½æ•°â€œ%sâ€"
-#: function.c:2212
-#, c-format
-msgid "unterminated call to function `%s': missing `%c'"
+#: function.c:2399
+#, fuzzy, c-format
+msgid "unterminated call to function '%s': missing '%c'"
msgstr "对函数“%sâ€çš„未终止的调用:é—æ¼â€œ%câ€"
-#: getopt.c:661
+#: function.c:2591
+msgid "Empty function name"
+msgstr ""
+
+#: function.c:2593
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s:选项“%sâ€å«ä¹‰ä¸æ¸…\n"
+msgid "Invalid function name: %s"
+msgstr ""
-#: getopt.c:685
+#: function.c:2595
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "Function name too long: %s"
+msgstr ""
+
+#: function.c:2598
+#, fuzzy, c-format
+msgid "Invalid minimum argument count (%d) for function %s"
+msgstr "函数“%2$sâ€çš„å‚æ•°æ•°é‡(%1$d)ä¸å¤Ÿ"
+
+#: function.c:2601
+#, fuzzy, c-format
+msgid "Invalid maximum argument count (%d) for function %s"
+msgstr "函数“%2$sâ€çš„å‚æ•°æ•°é‡(%1$d)ä¸å¤Ÿ"
+
+#: getopt.c:659
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s:选项“%sâ€å«ä¹‰ä¸æ¸…\n"
+
+#: getopt.c:683
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s:选项“--%sâ€ä¸éœ€è¦å‚æ•°\n"
-#: getopt.c:690
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+#: getopt.c:688
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s:选项“%c%sâ€ä¸éœ€è¦å‚æ•°\n"
-#: getopt.c:707 getopt.c:880
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
+#: getopt.c:705 getopt.c:878
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s:选项“%sâ€éœ€è¦ä¸€ä¸ªå‚æ•°\n"
-#: getopt.c:736
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+#: getopt.c:734
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s:无法识别的选项“--%sâ€\n"
-#: getopt.c:740
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:738
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s:无法识别的选项“%c%sâ€\n"
-#: getopt.c:766
+#: getopt.c:764
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s:éžæ³•é€‰é¡¹ -- %c\n"
-#: getopt.c:769
+#: getopt.c:767
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s:éžæ³•é€‰é¡¹ -- %c\n"
-#: getopt.c:799 getopt.c:929
+#: getopt.c:797 getopt.c:927
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s:选项需è¦ä¸€ä¸ªå‚æ•° -- %c\n"
-#: getopt.c:846
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:844
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s:选项“-W %sâ€å«ä¹‰ä¸æ¸…\n"
-#: getopt.c:864
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:862
+#, 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.c:74
+#, c-format
+msgid "guile: Evaluating '%s'\n"
+msgstr ""
+
#: hash.c:49
#, fuzzy, c-format
msgid "can't allocate %lu bytes for hash table: memory exhausted"
@@ -488,131 +556,156 @@ msgstr "é‡æ–°æ‚凑=%d, "
msgid "Collisions=%ld/%ld=%.0f%%"
msgstr "碰撞=%ld/%ld=%.0f%%"
-#: implicit.c:40
-#, c-format
-msgid "Looking for an implicit rule for `%s'.\n"
+#: implicit.c:38
+#, fuzzy, c-format
+msgid "Looking for an implicit rule for '%s'.\n"
msgstr "正在为“%sâ€å¯»æ‰¾éšå«è§„则。\n"
-#: implicit.c:56
-#, c-format
-msgid "Looking for archive-member implicit rule for `%s'.\n"
+#: implicit.c:54
+#, fuzzy, c-format
+msgid "Looking for archive-member implicit rule for '%s'.\n"
msgstr "正在为“%sâ€å¯»æ‰¾å½’æ¡£æˆå‘˜éšå«è§„则。\n"
-#: implicit.c:317
+#: implicit.c:310
msgid "Avoiding implicit rule recursion.\n"
msgstr "é¿å…éšå«è§„则递归。\n"
-#: implicit.c:491
+#: implicit.c:486
#, c-format
-msgid "Trying pattern rule with stem `%.*s'.\n"
+msgid "Stem too long: '%.*s'.\n"
+msgstr ""
+
+#: implicit.c:491
+#, fuzzy, c-format
+msgid "Trying pattern rule with stem '%.*s'.\n"
msgstr "以主干“%.*sâ€å°è¯•åŒ¹é…模å¼è§„则。\n"
-#: implicit.c:674
-#, c-format
-msgid "Rejecting impossible rule prerequisite `%s'.\n"
+#: implicit.c:697
+#, fuzzy, c-format
+msgid "Rejecting impossible rule prerequisite '%s'.\n"
msgstr "æ‹’ç»ä¸å¯èƒ½çš„规则å‰æ“%sâ€ã€‚\n"
-#: implicit.c:675
-#, c-format
-msgid "Rejecting impossible implicit prerequisite `%s'.\n"
+#: implicit.c:698
+#, fuzzy, c-format
+msgid "Rejecting impossible implicit prerequisite '%s'.\n"
msgstr "æ‹’ç»ä¸å¯èƒ½çš„éšå«å‰æ“%sâ€ã€‚\n"
-#: implicit.c:688
-#, c-format
-msgid "Trying rule prerequisite `%s'.\n"
+#: implicit.c:711
+#, fuzzy, c-format
+msgid "Trying rule prerequisite '%s'.\n"
msgstr "å°è¯•è§„则å‰æ“%sâ€ã€‚\n"
-#: implicit.c:689
-#, c-format
-msgid "Trying implicit prerequisite `%s'.\n"
+#: implicit.c:712
+#, fuzzy, c-format
+msgid "Trying implicit prerequisite '%s'.\n"
msgstr "å°è¯•éšå«å‰æ“%sâ€ã€‚\n"
-#: implicit.c:728
-#, c-format
-msgid "Found prerequisite `%s' as VPATH `%s'\n"
+#: implicit.c:751
+#, fuzzy, c-format
+msgid "Found prerequisite '%s' as VPATH '%s'\n"
msgstr "å‰æ“%sâ€åœ¨ VPATH “%s†中å‘现\n"
-#: implicit.c:742
-#, c-format
-msgid "Looking for a rule with intermediate file `%s'.\n"
+#: implicit.c:765
+#, fuzzy, c-format
+msgid "Looking for a rule with intermediate file '%s'.\n"
msgstr "正在寻找使用中间文件“%sâ€çš„规则。\n"
-#: job.c:335
+#: job.c:361
msgid "Cannot create a temporary file\n"
msgstr "无法创建临时文件\n"
-#: job.c:449
-#, c-format
-msgid "*** [%s] Error 0x%x (ignored)"
-msgstr "*** [%s] 错误 0x%x (忽略)"
-
-#: job.c:450
-#, c-format
-msgid "*** [%s] Error 0x%x"
-msgstr "*** [%s] 错误 0x%x"
+#: job.c:483
+msgid " (core dumped)"
+msgstr " (core dumped)"
-#: job.c:454
-#, c-format
-msgid "[%s] Error %d (ignored)"
+#: job.c:488
+#, fuzzy
+msgid " (ignored)"
msgstr "[%s] 错误 %d (忽略)"
-#: job.c:455
+#: job.c:492 job.c:2046
+#, fuzzy
+msgid "<builtin>"
+msgstr " (内置):"
+
+#: job.c:503
#, c-format
-msgid "*** [%s] Error %d"
+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:460
-msgid " (core dumped)"
-msgstr " (core dumped)"
+#: 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:549
+#: job.c:621
msgid "*** Waiting for unfinished jobs...."
msgstr "*** 正在等待未完æˆçš„任务...."
-#: job.c:579
+#: 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:581 job.c:760 job.c:862 job.c:1527
+#: job.c:653 job.c:843 job.c:962 job.c:1737
msgid " (remote)"
msgstr " (远程)"
-#: job.c:758
+#: job.c:841
#, fuzzy, c-format
msgid "Reaping losing child %p PID %s %s\n"
msgstr "正在中止失败的å­è¿›ç¨‹ 0x%08lx PID %ld %s\n"
-#: job.c:759
+#: job.c:842
#, fuzzy, c-format
msgid "Reaping winning child %p PID %s %s\n"
msgstr "正在中止获胜的å­è¿›ç¨‹ 0x%08lx PID %ld %s\n"
-#: job.c:763
+#: job.c:849
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "正在清除临时批文件 %s\n"
-#: job.c:861
+#: job.c:855
+#, fuzzy, c-format
+msgid "Cleaning up temp batch file %s failed (%d)\n"
+msgstr "正在清除临时批文件 %s\n"
+
+#: 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:920
-msgid "write jobserver"
-msgstr "写入任务æœåŠ¡å™¨"
+#: job.c:1021
+#, c-format
+msgid "release jobserver semaphore: (Error %ld: %s)"
+msgstr ""
-#: job.c:922
+#: job.c:1024 job.c:1038
#, fuzzy, c-format
msgid "Released token for child %p (%s).\n"
msgstr "为å­è¿›ç¨‹ 0x%08lx (%s) 释放令牌(token)。\n"
-#: job.c:1453 job.c:2094
+#: 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:1457 job.c:2098
+#: job.c:1666 job.c:2391
#, c-format
msgid ""
"\n"
@@ -621,125 +714,180 @@ msgstr ""
"\n"
"失败执行中共有 %d 个å‚数。\n"
-#: job.c:1525
+#: 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:1778
+#: 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:1787
+#: job.c:2029
msgid "read jobs pipe"
msgstr "读å–任务管é“"
-#: job.c:1798
-#, c-format
-msgid "Invoking recipe from %s:%lu to update target `%s'.\n"
-msgstr ""
+#: job.c:2056
+#, fuzzy, c-format
+msgid "%s: target '%s' does not exist"
+msgstr "touch:归档文件“%sâ€ä¸å­˜åœ¨"
-#: job.c:1802
+#: job.c:2059
#, fuzzy, c-format
-msgid "Invoking builtin recipe to update target `%s'.\n"
-msgstr "ä¸éœ€è¦é‡æ–°åˆ›å»ºç›®æ ‡â€œ%sâ€"
+msgid "%s: update target '%s' due to: %s"
+msgstr "%1$s没有规则å¯ä»¥åˆ›å»ºâ€œ%3$sâ€%4$s需è¦çš„目标“%2$sâ€"
-#: job.c:1910
+#: job.c:2171
msgid "cannot enforce load limits on this operating system"
msgstr "无法在本æ“作系统中实施负载é™åˆ¶"
-#: job.c:1912
+#: job.c:2173
msgid "cannot enforce load limit: "
msgstr "无法实施负载é™åˆ¶ï¼š"
-#: job.c:1985
+#: job.c:2252
msgid "no more file handles: could not duplicate stdin\n"
msgstr "没有剩余的文件å¥æŸ„: 无法å¤åˆ¶æ ‡å‡†è¾“å…¥\n"
-#: job.c:1987
+#: job.c:2264
msgid "no more file handles: could not duplicate stdout\n"
msgstr "没有剩余的文件å¥æŸ„: 无法å¤åˆ¶æ ‡å‡†è¾“出\n"
-#: job.c:2015
+#: job.c:2278
+#, fuzzy
+msgid "no more file handles: could not duplicate stderr\n"
+msgstr "没有剩余的文件å¥æŸ„: 无法å¤åˆ¶æ ‡å‡†è¾“å…¥\n"
+
+#: job.c:2293
msgid "Could not restore stdin\n"
msgstr "无法还原标准输入\n"
-#: job.c:2023
+#: job.c:2301
msgid "Could not restore stdout\n"
msgstr "无法还原标准输出\n"
-#: job.c:2127
+#: job.c:2309
+#, fuzzy
+msgid "Could not restore stderr\n"
+msgstr "无法还原标准输入\n"
+
+#: job.c:2420
#, fuzzy, c-format
msgid "make reaped child pid %s, still waiting for pid %s\n"
msgstr "make 已中止的å­è¿›ç¨‹ pid %ld,ä»åœ¨ç­‰å¾… pid %ld\n"
-#: job.c:2168
+#: job.c:2458
#, c-format
msgid "%s: Command not found"
msgstr "%s:命令未找到"
-#: job.c:2228
+#: job.c:2518
#, c-format
msgid "%s: Shell program not found"
msgstr "%s:未找到 shell 程åº"
-#: job.c:2237
+#: job.c:2527
msgid "spawnvpe: environment space might be exhausted"
msgstr "spawnvpe: 环境å˜é‡ç©ºé—´å¯èƒ½ä¼šè€—å°½"
-#: job.c:2461
-#, c-format
-msgid "$SHELL changed (was `%s', now `%s')\n"
+#: job.c:2765
+#, fuzzy, c-format
+msgid "$SHELL changed (was '%s', now '%s')\n"
msgstr "$SHELL å·²æ”¹å˜ (原为“%sâ€ï¼ŒçŽ°ä¸ºâ€œ%sâ€)\n"
-#: job.c:2951
+#: job.c:3198 job.c:3383
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "正在创建临时批文件 %s\n"
-#: job.c:2963
+#: job.c:3206
+msgid ""
+"Batch file contents:\n"
+"\t@echo off\n"
+msgstr ""
+
+#: job.c:3395
#, c-format
msgid ""
"Batch file contents:%s\n"
"\t%s\n"
msgstr ""
-#: job.c:3065
+#: 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"
-#: main.c:303
+#: job.h:43
+msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build."
+msgstr ""
+
+#: load.c:60
+#, c-format
+msgid "Failed to open global symbol table: %s"
+msgstr ""
+
+#: load.c:97
+#, c-format
+msgid "Loaded object %s is not declared to be GPL compatible"
+msgstr ""
+
+#: load.c:104
+#, c-format
+msgid "Failed to load symbol %s from %s: %s"
+msgstr ""
+
+#: load.c:149
+#, c-format
+msgid "Empty symbol name for load: %s"
+msgstr ""
+
+#: load.c:205
+#, c-format
+msgid "Loading symbol %s from %s\n"
+msgstr ""
+
+#: load.c:244
+#, fuzzy
+msgid "The 'load' operation is not supported on this platform."
+msgstr "本平å°ä¸æ”¯æŒå¹¶è¡Œä»»åŠ¡ (-j)。"
+
+#: main.c:313
msgid "Options:\n"
msgstr "选项:\n"
-#: main.c:304
+#: main.c:314
msgid " -b, -m Ignored for compatibility.\n"
msgstr " -b, -m 忽略兼容性。\n"
-#: main.c:306
+#: main.c:316
msgid " -B, --always-make Unconditionally make all targets.\n"
msgstr " -B, --always-make æ— æ¡ä»¶ make 所有目标。\n"
-#: main.c:308
+#: main.c:318
msgid ""
" -C DIRECTORY, --directory=DIRECTORY\n"
" Change to DIRECTORY before doing anything.\n"
msgstr ""
" -C DIRECTORY, --directory=DIRECTORY\n"
-" 在执行钱先切æ¢åˆ° DIRECTORY 目录。\n"
+" 在执行å‰å…ˆåˆ‡æ¢åˆ° DIRECTORY 目录。\n"
-#: main.c:311
+#: main.c:321
msgid " -d Print lots of debugging information.\n"
msgstr " -d 打å°å¤§é‡è°ƒè¯•ä¿¡æ¯ã€‚\n"
-#: main.c:313
+#: main.c:323
msgid ""
" --debug[=FLAGS] Print various types of debugging information.\n"
msgstr " --debug[=FLAGS] 打å°å„ç§è°ƒè¯•ä¿¡æ¯ã€‚\n"
-#: main.c:315
+#: main.c:325
msgid ""
" -e, --environment-overrides\n"
" Environment variables override makefiles.\n"
@@ -747,12 +895,12 @@ msgstr ""
" -e, --environment-overrides\n"
" 环境å˜é‡è¦†ç›– makefile 中的å˜é‡ã€‚\n"
-#: main.c:318
+#: main.c:328
msgid ""
" --eval=STRING Evaluate STRING as a makefile statement.\n"
msgstr ""
-#: main.c:320
+#: main.c:330
msgid ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" Read FILE as a makefile.\n"
@@ -760,16 +908,16 @@ msgstr ""
" -f FILE, --file=FILE, --makefile=FILE\n"
" 从 FILE 中读入 makefile。\n"
-#: main.c:323
+#: main.c:333
msgid " -h, --help Print this message and exit.\n"
msgstr " -h, --help 打å°è¯¥æ¶ˆæ¯å¹¶é€€å‡ºã€‚\n"
-#: main.c:325
+#: main.c:335
#, fuzzy
msgid " -i, --ignore-errors Ignore errors from recipes.\n"
msgstr " -i, --ignore-errors 忽略æ¥è‡ªå‘½ä»¤çš„错误。\n"
-#: main.c:327
+#: main.c:337
msgid ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" Search DIRECTORY for included makefiles.\n"
@@ -777,19 +925,19 @@ msgstr ""
" -I DIRECTORY, --include-dir=DIRECTORY\n"
" 在 DIRECTORY 中æœç´¢è¢«åŒ…å«çš„ makefile。\n"
-#: main.c:330
+#: 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:332
+#: main.c:342
msgid ""
" -k, --keep-going Keep going when some targets can't be made.\n"
msgstr " -k, --keep-going 当æŸäº›ç›®æ ‡æ— æ³•åˆ›å»ºæ—¶ä»ç„¶ç»§ç»­ã€‚\n"
-#: main.c:334
+#: main.c:344
msgid ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" Don't start multiple jobs unless load is below "
@@ -798,14 +946,14 @@ msgstr ""
" -l [N], --load-average[=N], --max-load[=N]\n"
" 在系统负载高于 N æ—¶ä¸å¯åŠ¨å¤šä»»åŠ¡ã€‚\n"
-#: main.c:337
+#: 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:339
+#: main.c:349
#, fuzzy
msgid ""
" -n, --just-print, --dry-run, --recon\n"
@@ -815,7 +963,7 @@ msgstr ""
" -n, --just-print, --dry-run, --recon\n"
" åªæ‰“å°å‘½ä»¤ï¼Œä¸å®žé™…执行。\n"
-#: main.c:342
+#: main.c:352
msgid ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" Consider FILE to be very old and don't remake "
@@ -824,11 +972,17 @@ msgstr ""
" -o FILE, --old-file=FILE, --assume-old=FILE\n"
" å°† FILE 当åšå¾ˆæ—§ï¼Œä¸å¿…é‡æ–°ç”Ÿæˆã€‚\n"
-#: main.c:345
+#: main.c:355
+msgid ""
+" -O[TYPE], --output-sync[=TYPE]\n"
+" Synchronize output of parallel jobs by TYPE.\n"
+msgstr ""
+
+#: main.c:358
msgid " -p, --print-data-base Print make's internal database.\n"
msgstr " -p, --print-data-base æ‰“å° make 的内部数æ®åº“。\n"
-#: main.c:347
+#: main.c:360
#, fuzzy
msgid ""
" -q, --question Run no recipe; exit status says if up to "
@@ -836,20 +990,20 @@ msgid ""
msgstr ""
" -q, --question ä¸è¿è¡Œä»»ä½•å‘½ä»¤ï¼›é€€å‡ºçŠ¶æ€è¯´æ˜Žæ˜¯å¦å·²å…¨éƒ¨æ›´æ–°ã€‚\n"
-#: main.c:349
+#: main.c:362
msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n"
msgstr " -r, --no-builtin-rules ç¦ç”¨å†…ç½®éšå«è§„则。\n"
-#: main.c:351
+#: main.c:364
msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n"
msgstr " -R, --no-builtin-variables ç¦ç”¨å†…ç½®å˜é‡è®¾ç½®ã€‚\n"
-#: main.c:353
+#: main.c:366
#, fuzzy
msgid " -s, --silent, --quiet Don't echo recipes.\n"
msgstr " -s, --silent, --quiet ä¸è¾“出命令。\n"
-#: main.c:355
+#: main.c:368
msgid ""
" -S, --no-keep-going, --stop\n"
" Turns off -k.\n"
@@ -857,26 +1011,31 @@ msgstr ""
" -S, --no-keep-going, --stop\n"
" 关闭 -k。\n"
-#: main.c:358
+#: main.c:371
msgid " -t, --touch Touch targets instead of remaking them.\n"
msgstr " -t, --touch touch 目标而ä¸æ˜¯é‡æ–°åˆ›å»ºå®ƒä»¬ã€‚\n"
-#: main.c:360
+#: main.c:373
+#, fuzzy
+msgid " --trace Print tracing information.\n"
+msgstr " --debug[=FLAGS] 打å°å„ç§è°ƒè¯•ä¿¡æ¯ã€‚\n"
+
+#: main.c:375
msgid ""
" -v, --version Print the version number of make and exit.\n"
msgstr " -v, --version æ‰“å° make 的版本å·å¹¶é€€å‡ºã€‚\n"
-#: main.c:362
+#: main.c:377
msgid " -w, --print-directory Print the current directory.\n"
msgstr " -w, --print-directory 打å°å½“å‰ç›®å½•ã€‚\n"
-#: main.c:364
+#: 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:366
+#: main.c:381
msgid ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" Consider FILE to be infinitely new.\n"
@@ -884,27 +1043,32 @@ msgstr ""
" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
" å°† FILE 当åšæœ€æ–°ã€‚\n"
-#: main.c:369
+#: main.c:384
msgid ""
" --warn-undefined-variables Warn when an undefined variable is "
"referenced.\n"
msgstr " --warn-undefined-variables 当引用未定义å˜é‡çš„时候å‘出警告。\n"
-#: main.c:564
+#: main.c:654
msgid "empty string invalid as file name"
msgstr "空字符串是无效的文件å"
-#: main.c:650
-#, c-format
-msgid "unknown debug level specification `%s'"
+#: main.c:737
+#, fuzzy, c-format
+msgid "unknown debug level specification '%s'"
msgstr "未知的调试级别“%sâ€"
-#: main.c:690
+#: main.c:774
+#, c-format
+msgid "unknown output-sync type '%s'"
+msgstr ""
+
+#: main.c:828
#, fuzzy, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n"
msgstr "%s:æ•èŽ·ä¸­æ–­/异常 (ä»£ç  = 0x%lx, åœ°å€ = 0x%lx)\n"
-#: main.c:697
+#: main.c:835
#, fuzzy, c-format
msgid ""
"\n"
@@ -919,158 +1083,176 @@ msgstr ""
"异常标志 = %lx\n"
"å¼‚å¸¸åœ°å€ = %lx\n"
-#: main.c:705
+#: main.c:843
#, fuzzy, c-format
msgid "Access violation: write operation at address 0x%p\n"
msgstr "访问冲çªï¼šåœ°å€ %lx 处的写æ“作\n"
-#: main.c:706
+#: main.c:844
#, fuzzy, c-format
msgid "Access violation: read operation at address 0x%p\n"
msgstr "访问冲çªï¼šåœ°å€ %lx处的读æ“作\n"
-#: main.c:781 main.c:792
+#: 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"
-#: main.c:834
+#: 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"
-#: main.c:1273
+#: main.c:1436
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s 正在挂起 30 秒..."
-#: main.c:1275
+#: main.c:1438
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "ç¡çœ å®Œæˆ(30)。继续。\n"
-#: main.c:1501
+#: 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 "内部错误:éžæ³• --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 "警告: å­ make 中强制 -jN: 关闭 jobserver 模å¼ã€‚"
+
+#: 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:1539 vmsjobs.c:500
+#: main.c:1780 vmsjobs.c:653
msgid "fopen (temporary file)"
msgstr "fopen (临时文件)"
-#: main.c:1545
+#: main.c:1786
msgid "fwrite (temporary file)"
msgstr "fwrite (临时文件)"
-#: main.c:1703
+#: main.c:1974
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "本平å°ä¸æ”¯æŒå¹¶è¡Œä»»åŠ¡ (-j)。"
-#: main.c:1704
+#: main.c:1975
msgid "Resetting to single job (-j1) mode."
msgstr "é‡ç½®ä¸ºå•ä»»åŠ¡æ¨¡å¼ (-j1)。"
-#: main.c:1719
-msgid "internal error: multiple --jobserver-fds options"
-msgstr "内部错误:多个 --jobserver-fds 选项"
-
-#: main.c:1727
+#: main.c:1994
#, c-format
-msgid "internal error: invalid --jobserver-fds string `%s'"
-msgstr "内部错误:éžæ³• --jobserver-fds 字符串“%sâ€"
+msgid "Jobserver slots limited to %d\n"
+msgstr ""
-#: main.c:1730
+#: main.c:2002
#, c-format
-msgid "Jobserver client (fds %d,%d)\n"
+msgid "creating jobserver semaphore: (Error %ld: %s)"
msgstr ""
-#: main.c:1740
-msgid "warning: -jN forced in submake: disabling jobserver mode."
-msgstr "警告: å­ make 中强制 -jN: 关闭 jobserver 模å¼ã€‚"
-
-#: main.c:1750
-msgid "dup jobserver"
-msgstr "å¤åˆ¶ä»»åŠ¡æœåŠ¡å™¨"
-
-#: main.c:1753
-msgid ""
-"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
-msgstr "警告: jobserver ä¸å­˜åœ¨: 使用 -j1。添加 “+†到父 make 的规则。"
-
-#: main.c:1777
+#: main.c:2008
msgid "creating jobs pipe"
msgstr "正在创建任务管é“"
-#: main.c:1792
+#: main.c:2028
msgid "init jobserver pipe"
msgstr "创始化任务æœåŠ¡å™¨ç®¡é“"
-#: main.c:1812
+#: main.c:2047
msgid "Symbolic links not supported: disabling -L."
msgstr "ä¸æ”¯æŒè½¯é“¾æŽ¥: 关闭 -L"
-#: main.c:1892
+#: main.c:2133
msgid "Updating makefiles....\n"
msgstr "正在更新 makefile....\n"
-#: main.c:1917
-#, c-format
-msgid "Makefile `%s' might loop; not remaking it.\n"
+#: main.c:2158
+#, fuzzy, c-format
+msgid "Makefile '%s' might loop; not remaking it.\n"
msgstr "Makefile “%sâ€å¯èƒ½å¾ªçŽ¯ï¼›ä¸ä¼šé‡æ–°åˆ›å»ºå®ƒã€‚\n"
-#: main.c:1996
-#, c-format
-msgid "Failed to remake makefile `%s'."
+#: main.c:2237
+#, fuzzy, c-format
+msgid "Failed to remake makefile '%s'."
msgstr "é‡æ–°åˆ›å»º makefile “%s†失败。"
-#: main.c:2013
-#, c-format
-msgid "Included makefile `%s' was not found."
+#: main.c:2257
+#, fuzzy, c-format
+msgid "Included makefile '%s' was not found."
msgstr "找ä¸åˆ°è¢«å¼•å…¥çš„ makefile “%sâ€"
-#: main.c:2018
-#, c-format
-msgid "Makefile `%s' was not found"
+#: main.c:2262
+#, fuzzy, c-format
+msgid "Makefile '%s' was not found"
msgstr "找ä¸åˆ° makefile “%sâ€"
-#: main.c:2086
+#: main.c:2330
msgid "Couldn't change back to original directory."
msgstr "无法回到原始目录。"
-#: main.c:2102
+#: main.c:2343
#, c-format
msgid "Re-executing[%u]:"
msgstr "é‡æ–°æ‰§è¡Œ[%u]:"
-#: main.c:2215
+#: main.c:2453
msgid "unlink (temporary file): "
msgstr "删除 (临时文件):"
-#: main.c:2247
+#: main.c:2486
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ".DEFAULT_GOAL 包å«å¤šä½™ä¸€ä¸ªç›®æ ‡"
-#: main.c:2270
+#: main.c:2509
msgid "No targets specified and no makefile found"
msgstr "没有指明目标并且找ä¸åˆ° makefile"
-#: main.c:2272
+#: main.c:2511
msgid "No targets"
msgstr "无目标"
-#: main.c:2277
+#: main.c:2516
msgid "Updating goal targets....\n"
msgstr "更新目标....\n"
-#: main.c:2306
+#: main.c:2541
msgid "warning: Clock skew detected. Your build may be incomplete."
msgstr "警告:检测到时钟错误。您的创建å¯èƒ½æ˜¯ä¸å®Œæ•´çš„。"
-#: main.c:2470
+#: main.c:2710
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "用法:%s [选项] [目标] ...\n"
-#: main.c:2476
+#: main.c:2716
#, c-format
msgid ""
"\n"
@@ -1079,7 +1261,7 @@ msgstr ""
"\n"
"该程åºä¸º %s 编译\n"
-#: main.c:2478
+#: main.c:2718
#, c-format
msgid ""
"\n"
@@ -1088,36 +1270,36 @@ msgstr ""
"\n"
"该程åºä¸º %s (%s) 编译\n"
-#: main.c:2481
+#: main.c:2721
#, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr "报告错误到 <bug-make@gnu.org>\n"
-#: main.c:2562
+#: main.c:2807
#, fuzzy, c-format
-msgid "the `%s%s' option requires a non-empty string argument"
+msgid "the '%s%s' option requires a non-empty string argument"
msgstr "“-%câ€é€‰é¡¹éœ€è¦éžç©ºå­—符串å‚æ•°"
-#: main.c:2617
-#, c-format
-msgid "the `-%c' option requires a positive integral argument"
+#: main.c:2871
+#, fuzzy, c-format
+msgid "the '-%c' option requires a positive integer argument"
msgstr "“-%câ€é€‰é¡¹éœ€è¦æ­£æ•´æ•°å‚æ•°"
-#: main.c:3054
+#: main.c:3269
#, fuzzy, c-format
msgid "%sBuilt for %s\n"
msgstr ""
"\n"
"%s该程åºä¸º %s 编译\n"
-#: main.c:3056
+#: main.c:3271
#, fuzzy, c-format
msgid "%sBuilt for %s (%s)\n"
msgstr ""
"\n"
"%s该程åºä¸º %s (%s) 编译\n"
-#: main.c:3066
+#: main.c:3282
#, c-format
msgid ""
"%sLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
@@ -1126,7 +1308,7 @@ msgid ""
"%sThere is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
-#: main.c:3086
+#: main.c:3303
#, c-format
msgid ""
"\n"
@@ -1135,7 +1317,7 @@ msgstr ""
"\n"
"# make æ•°æ®åŸºç¡€ï¼Œæ‰“å°åœ¨ %s"
-#: main.c:3096
+#: main.c:3313
#, c-format
msgid ""
"\n"
@@ -1144,448 +1326,464 @@ msgstr ""
"\n"
"# 在 %s ä¸Šå®Œæˆ make æ•°æ®åŸºç¡€\n"
-#: main.c:3237
+#: misc.c:201
+#, c-format
+msgid "Unknown error %d"
+msgstr "未知错误 %d"
+
+#: 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:543
+msgid "Initialized access"
+msgstr "åˆå§‹åŒ–æˆåŠŸ"
+
+#: misc.c:622
+msgid "User access"
+msgstr "用户æƒé™"
+
+#: misc.c:670
+msgid "Make access"
+msgstr "Make æƒé™"
+
+#: misc.c:704
+msgid "Child access"
+msgstr "å­è¿›ç¨‹ æƒé™"
+
+#: output.c:104
#, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "%s: 进入一个未知的目录\n"
-#: main.c:3239
+#: output.c:106
#, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "%s: 离开一个未知的目录\n"
-#: main.c:3242
-#, c-format
-msgid "%s: Entering directory `%s'\n"
+#: output.c:109
+#, fuzzy, c-format
+msgid "%s: Entering directory '%s'\n"
msgstr "%s: 进入目录“%sâ€\n"
-#: main.c:3245
-#, c-format
-msgid "%s: Leaving directory `%s'\n"
+#: output.c:111
+#, fuzzy, c-format
+msgid "%s: Leaving directory '%s'\n"
msgstr "%s: 离开目录“%sâ€\n"
-#: main.c:3250
+#: output.c:115
#, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "%s[%u]: 进入一个未知的目录\n"
-#: main.c:3253
+#: output.c:117
#, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "%s[%u]: 离开一个未知的目录\n"
-#: main.c:3257
-#, c-format
-msgid "%s[%u]: Entering directory `%s'\n"
+#: output.c:120
+#, fuzzy, c-format
+msgid "%s[%u]: Entering directory '%s'\n"
msgstr "%s[%u]: 进入目录“%sâ€\n"
-#: main.c:3260
-#, c-format
-msgid "%s[%u]: Leaving directory `%s'\n"
+#: output.c:122
+#, fuzzy, c-format
+msgid "%s[%u]: Leaving directory '%s'\n"
msgstr "%s[%u]: 离开目录“%sâ€\n"
-#: misc.c:316
+#: output.c:495 output.c:497
+#, fuzzy
+msgid "write error: stdout"
+msgstr "写错误: %s"
+
+#: output.c:677
msgid ". Stop.\n"
msgstr "。 åœæ­¢ã€‚\n"
-#: misc.c:337
-#, c-format
-msgid "Unknown error %d"
-msgstr "未知错误 %d"
-
-#: misc.c:347
+#: output.c:711
#, c-format
msgid "%s%s: %s"
msgstr "%s%s: %s"
-#: misc.c:355
+#: output.c:720
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: misc.c:376 misc.c:387 misc.c:402 misc.c:419 misc.c:438 read.c:3118
-msgid "virtual memory exhausted"
-msgstr "虚拟内存耗尽"
-
-#: misc.c:708
-#, c-format
-msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
-msgstr "%s: 用户 %lu (真实用户 %lu), 组 %lu (真实组 %lu)\n"
-
-#: misc.c:729
-msgid "Initialized access"
-msgstr "åˆå§‹åŒ–æˆåŠŸ"
-
-#: misc.c:808
-msgid "User access"
-msgstr "用户æƒé™"
-
-#: misc.c:856
-msgid "Make access"
-msgstr "Make æƒé™"
-
-#: misc.c:890
-msgid "Child access"
-msgstr "å­è¿›ç¨‹ æƒé™"
-
-#: misc.c:954
-#, c-format
-msgid "write error: %s"
-msgstr "写错误: %s"
-
-#: misc.c:956
-msgid "write error"
-msgstr "写错误"
-
-#: read.c:179
+#: read.c:180
msgid "Reading makefiles...\n"
msgstr "正在读入 makefiles...\n"
-#: read.c:333
-#, c-format
-msgid "Reading makefile `%s'"
+#: read.c:335
+#, fuzzy, c-format
+msgid "Reading makefile '%s'"
msgstr "正在读入 makefile “%sâ€"
-#: read.c:335
+#: read.c:337
#, c-format
msgid " (no default goal)"
msgstr " (没有缺çœç›®æ ‡)"
-#: read.c:337
+#: read.c:339
#, c-format
msgid " (search path)"
msgstr " (æœç´¢è·¯å¾„)"
-#: read.c:339
+#: read.c:341
#, c-format
msgid " (don't care)"
msgstr " (ä¸ç”¨ç†)"
-#: read.c:341
+#: read.c:343
#, c-format
msgid " (no ~ expansion)"
msgstr " (没有 ~ 扩展)"
-#: read.c:759
+#: read.c:656
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile '%s'\n"
+msgstr ""
+
+#: read.c:659
+#, c-format
+msgid "Skipping UTF-8 BOM in makefile buffer\n"
+msgstr ""
+
+#: read.c:789
msgid "invalid syntax in conditional"
msgstr "æ¡ä»¶ä¸­å«æœ‰æ— æ•ˆè¯­æ³•"
-#: read.c:891
+#: read.c:966
+#, c-format
+msgid "%s: failed to load"
+msgstr ""
+
+#: read.c:992
#, fuzzy
msgid "recipe commences before first target"
msgstr "命令在第一个目标å‰å¼€å§‹"
-#: read.c:940
+#: read.c:1041
#, fuzzy
msgid "missing rule before recipe"
msgstr "命令之å‰é—æ¼äº†è§„则"
-#: read.c:1027
-#, c-format
-msgid "missing separator%s"
-msgstr "é—æ¼åˆ†éš”符 %s"
-
-#: read.c:1029
-msgid " (did you mean TAB instead of 8 spaces?)"
+#: read.c:1131
+#, fuzzy
+msgid "missing separator (did you mean TAB instead of 8 spaces?)"
msgstr " (您的æ„æ€æ˜¯ç”¨ TAB 代替 8 个空格?)"
-#: read.c:1163
+#: read.c:1133
+#, fuzzy
+msgid "missing separator"
+msgstr "é—æ¼åˆ†éš”符 %s"
+
+#: read.c:1270
msgid "missing target pattern"
msgstr "无目标匹é…"
-#: read.c:1165
+#: read.c:1272
msgid "multiple target patterns"
msgstr "多个目标匹é…"
-#: read.c:1169
-#, c-format
-msgid "target pattern contains no `%%'"
+#: read.c:1276
+#, fuzzy, c-format
+msgid "target pattern contains no '%%'"
msgstr "目标模å¼ä¸å«æœ‰â€œ%%â€"
-#: read.c:1293
-msgid "missing `endif'"
+#: read.c:1398
+#, fuzzy
+msgid "missing 'endif'"
msgstr "é—æ¼â€œendifâ€"
-#: read.c:1332 read.c:1377 variable.c:1488
+#: read.c:1436 read.c:1481 variable.c:1546
msgid "empty variable name"
msgstr "空å˜é‡å"
-#: read.c:1367
+#: read.c:1471
#, fuzzy
-msgid "extraneous text after `define' directive"
+msgid "extraneous text after 'define' directive"
msgstr "“endefâ€æŒ‡ä»¤åŽå«æœ‰ä¸è¯¥å‡ºçŽ°çš„文字"
-#: read.c:1392
-msgid "missing `endef', unterminated `define'"
+#: read.c:1496
+#, fuzzy
+msgid "missing 'endef', unterminated 'define'"
msgstr "é—æ¼â€œendefâ€ï¼Œæœªç»ˆæ­¢çš„“defineâ€"
-#: read.c:1420
+#: read.c:1524
#, fuzzy
-msgid "extraneous text after `endef' directive"
+msgid "extraneous text after 'endef' directive"
msgstr "“endefâ€æŒ‡ä»¤åŽå«æœ‰ä¸è¯¥å‡ºçŽ°çš„文字"
-#: read.c:1490
-#, c-format
-msgid "Extraneous text after `%s' directive"
+#: read.c:1595
+#, fuzzy, c-format
+msgid "extraneous text after '%s' directive"
msgstr "在“%sâ€æŒ‡ä»¤ä¹‹åŽå«æœ‰ä¸è¯¥å‡ºçŽ°çš„文字"
-#: read.c:1499 read.c:1513
-#, c-format
-msgid "extraneous `%s'"
+#: read.c:1596
+#, fuzzy, c-format
+msgid "extraneous '%s'"
msgstr "ä¸è¯¥å‡ºçŽ°çš„“%sâ€"
-#: read.c:1518
-msgid "only one `else' per conditional"
+#: read.c:1624
+#, fuzzy
+msgid "only one 'else' per conditional"
msgstr "æ¯ä¸ªæ¡ä»¶åªèƒ½æœ‰ä¸€ä¸ªâ€œelseâ€"
-#: read.c:1797
+#: read.c:1899
msgid "Malformed target-specific variable definition"
msgstr "畸形的针对目标的标é‡å®šä¹‰"
-#: read.c:1855
+#: read.c:1957
#, fuzzy
msgid "prerequisites cannot be defined in recipes"
msgstr "ä¾èµ–无法在命令脚本中定义"
-#: read.c:1908
+#: read.c:2015
msgid "mixed implicit and static pattern rules"
msgstr "混和的éšå«å’Œé™æ€æ¨¡å¼è§„则"
-#: read.c:1931 read.c:2112
+#: read.c:2038
msgid "mixed implicit and normal rules"
msgstr "混和的éšå«å’Œæ™®é€šè§„则"
-#: read.c:1976
-#, c-format
-msgid "target `%s' doesn't match the target pattern"
+#: read.c:2091
+#, fuzzy, c-format
+msgid "target '%s' doesn't match the target pattern"
msgstr "目标“%sâ€ä¸åŒ¹é…目标模å¼"
-#: read.c:1991 read.c:2036
-#, c-format
-msgid "target file `%s' has both : and :: entries"
+#: read.c:2106 read.c:2152
+#, fuzzy, c-format
+msgid "target file '%s' has both : and :: entries"
msgstr "目标文件“%sâ€å«æœ‰ : å’Œ :: 两ç§æ¡ç›®"
-#: read.c:1997
-#, c-format
-msgid "target `%s' given more than once in the same rule."
+#: read.c:2112
+#, fuzzy, c-format
+msgid "target '%s' given more than once in the same rule"
msgstr "目标“%sâ€åœ¨åŒä¸€ä¸ªè§„则中给出了多次。"
-#: read.c:2006
+#: read.c:2122
#, fuzzy, c-format
-msgid "warning: overriding recipe for target `%s'"
+msgid "warning: overriding recipe for target '%s'"
msgstr "警告:覆盖关于目标“%sâ€çš„命令"
-#: read.c:2009
+#: read.c:2125
#, fuzzy, c-format
-msgid "warning: ignoring old recipe for target `%s'"
+msgid "warning: ignoring old recipe for target '%s'"
msgstr "警告:忽略关于目标“%sâ€çš„旧命令"
-#: read.c:2392
+#: read.c:2229
+#, fuzzy
+msgid "*** mixed implicit and normal rules: deprecated syntax"
+msgstr "混和的éšå«å’Œæ™®é€šè§„则"
+
+#: read.c:2539
msgid "warning: NUL character seen; rest of line ignored"
msgstr "警告:é‡åˆ°äº† NUL 字符;忽略行的剩余部分"
-#: remake.c:234
-#, c-format
-msgid "Nothing to be done for `%s'."
+#: remake.c:230
+#, fuzzy, c-format
+msgid "Nothing to be done for '%s'."
msgstr "对“%sâ€æ— éœ€åšä»»ä½•äº‹ã€‚"
-#: remake.c:235
-#, c-format
-msgid "`%s' is up to date."
+#: remake.c:231
+#, fuzzy, c-format
+msgid "'%s' is up to date."
msgstr "“%sâ€æ˜¯æœ€æ–°çš„。"
-#: remake.c:306
-#, c-format
-msgid "Pruning file `%s'.\n"
+#: remake.c:303
+#, fuzzy, c-format
+msgid "Pruning file '%s'.\n"
msgstr "正在删除文件“%sâ€ã€‚\n"
-#: remake.c:359
-#, c-format
-msgid "%sNo rule to make target `%s'%s"
-msgstr "%s没有规则å¯ä»¥åˆ›å»ºç›®æ ‡â€œ%sâ€%s"
-
-#: remake.c:361
-#, c-format
-msgid "%sNo rule to make target `%s', needed by `%s'%s"
+#: remake.c:390 remake.c:393
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s', needed by '%s'%s"
msgstr "%1$s没有规则å¯ä»¥åˆ›å»ºâ€œ%3$sâ€%4$s需è¦çš„目标“%2$sâ€"
-#: remake.c:413
-#, c-format
-msgid "Considering target file `%s'.\n"
+#: remake.c:402 remake.c:405
+#, fuzzy, c-format
+msgid "%sNo rule to make target '%s'%s"
+msgstr "%s没有规则å¯ä»¥åˆ›å»ºç›®æ ‡â€œ%sâ€%s"
+
+#: remake.c:426
+#, fuzzy, c-format
+msgid "Considering target file '%s'.\n"
msgstr "正在考虑目标文件“%sâ€ã€‚\n"
-#: remake.c:420
-#, c-format
-msgid "Recently tried and failed to update file `%s'.\n"
+#: remake.c:433
+#, fuzzy, c-format
+msgid "Recently tried and failed to update file '%s'.\n"
msgstr "最近已å°è¯•è¿‡æ›´æ–°æ–‡ä»¶â€œ%sâ€å¹¶å¤±è´¥ã€‚\n"
-#: remake.c:432
-#, c-format
-msgid "File `%s' was considered already.\n"
+#: remake.c:445
+#, fuzzy, c-format
+msgid "File '%s' was considered already.\n"
msgstr "已考虑过文件“%sâ€ã€‚\n"
-#: remake.c:442
-#, c-format
-msgid "Still updating file `%s'.\n"
+#: remake.c:455
+#, fuzzy, c-format
+msgid "Still updating file '%s'.\n"
msgstr "ä»ç„¶åœ¨æ›´æ–°æ–‡ä»¶â€œ%sâ€ã€‚\n"
-#: remake.c:445
-#, c-format
-msgid "Finished updating file `%s'.\n"
+#: remake.c:458
+#, fuzzy, c-format
+msgid "Finished updating file '%s'.\n"
msgstr "更新文件“%sâ€å®Œæˆã€‚\n"
-#: remake.c:474
-#, c-format
-msgid "File `%s' does not exist.\n"
+#: remake.c:487
+#, fuzzy, c-format
+msgid "File '%s' does not exist.\n"
msgstr "文件“%sâ€ä¸å­˜åœ¨ã€‚\n"
-#: remake.c:481
-#, c-format
+#: remake.c:495
+#, fuzzy, c-format
msgid ""
-"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
+"*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"
msgstr "*** 警告: .LOW_RESOLUTION_TIME 文件 `%s' 有一个精细的时间标志"
-#: remake.c:494 remake.c:1016
-#, c-format
-msgid "Found an implicit rule for `%s'.\n"
+#: remake.c:508 remake.c:1040
+#, fuzzy, c-format
+msgid "Found an implicit rule for '%s'.\n"
msgstr "找到一æ¡å…³äºŽâ€œ%sâ€çš„éšå«è§„则。\n"
-#: remake.c:496 remake.c:1018
-#, c-format
-msgid "No implicit rule found for `%s'.\n"
+#: remake.c:510 remake.c:1042
+#, fuzzy, c-format
+msgid "No implicit rule found for '%s'.\n"
msgstr "找ä¸åˆ°å…³äºŽâ€œ%sâ€çš„éšå«è§„则。\n"
-#: remake.c:502
+#: remake.c:516
#, fuzzy, c-format
-msgid "Using default recipe for `%s'.\n"
+msgid "Using default recipe for '%s'.\n"
msgstr "使用关于“%sâ€çš„默认命令。\n"
-#: remake.c:535 remake.c:1057
+#: remake.c:550 remake.c:1089
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "放弃循环ä¾èµ– %s <- %s 。"
-#: remake.c:651
-#, c-format
-msgid "Finished prerequisites of target file `%s'.\n"
+#: remake.c:675
+#, fuzzy, c-format
+msgid "Finished prerequisites of target file '%s'.\n"
msgstr "目标文件“%sâ€çš„å‰æ已完æˆã€‚\n"
-#: remake.c:657
-#, c-format
-msgid "The prerequisites of `%s' are being made.\n"
+#: remake.c:681
+#, fuzzy, c-format
+msgid "The prerequisites of '%s' are being made.\n"
msgstr "正在创建“%sâ€çš„å‰æ。\n"
-#: remake.c:670
-#, c-format
-msgid "Giving up on target file `%s'.\n"
+#: remake.c:695
+#, fuzzy, c-format
+msgid "Giving up on target file '%s'.\n"
msgstr "放弃目标文件“%sâ€ã€‚\n"
-#: remake.c:675
-#, c-format
-msgid "Target `%s' not remade because of errors."
+#: remake.c:700
+#, fuzzy, c-format
+msgid "Target '%s' not remade because of errors."
msgstr "由于错误目标“%sâ€å¹¶æœªé‡æ–°åˆ›å»ºã€‚"
-#: remake.c:727
-#, c-format
-msgid "Prerequisite `%s' is order-only for target `%s'.\n"
+#: remake.c:752
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is order-only for target '%s'.\n"
msgstr "“%sâ€æ˜¯ç›®æ ‡â€œ%sâ€çš„一个仅用于指定执行顺åº(order-only)çš„å‰æ。\n"
-#: remake.c:732
-#, c-format
-msgid "Prerequisite `%s' of target `%s' does not exist.\n"
+#: remake.c:757
+#, fuzzy, c-format
+msgid "Prerequisite '%s' of target '%s' does not exist.\n"
msgstr "目标“%2$sâ€çš„å‰æ“%1$sâ€ä¸å­˜åœ¨ã€‚\n"
-#: remake.c:737
-#, c-format
-msgid "Prerequisite `%s' is newer than target `%s'.\n"
+#: remake.c:762
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is newer than target '%s'.\n"
msgstr "å‰æ“%sâ€æ¯”目标“%sâ€æ–°ã€‚\n"
-#: remake.c:740
-#, c-format
-msgid "Prerequisite `%s' is older than target `%s'.\n"
+#: remake.c:765
+#, fuzzy, c-format
+msgid "Prerequisite '%s' is older than target '%s'.\n"
msgstr "å‰æ“%sâ€æ¯”目标“%sâ€æ—§ã€‚\n"
-#: remake.c:758
-#, c-format
-msgid "Target `%s' is double-colon and has no prerequisites.\n"
+#: remake.c:783
+#, fuzzy, c-format
+msgid "Target '%s' is double-colon and has no prerequisites.\n"
msgstr "目标“%sâ€æ˜¯åŒå†’å·ç›®æ ‡å¹¶ä¸”没有å‰æ。\n"
-#: remake.c:765
+#: remake.c:790
#, fuzzy, c-format
-msgid "No recipe for `%s' and no prerequisites actually changed.\n"
+msgid "No recipe for '%s' and no prerequisites actually changed.\n"
msgstr "没有关于“%sâ€çš„命令,并且实际上改å˜äº†çš„å‰æ。\n"
-#: remake.c:770
-#, c-format
-msgid "Making `%s' due to always-make flag.\n"
+#: remake.c:795
+#, fuzzy, c-format
+msgid "Making '%s' due to always-make flag.\n"
msgstr "由于 always-make 标志所以 make “%sâ€ã€‚\n"
-#: remake.c:778
-#, c-format
-msgid "No need to remake target `%s'"
+#: remake.c:803
+#, fuzzy, c-format
+msgid "No need to remake target '%s'"
msgstr "ä¸éœ€è¦é‡æ–°åˆ›å»ºç›®æ ‡â€œ%sâ€"
-#: remake.c:780
-#, c-format
-msgid "; using VPATH name `%s'"
+#: remake.c:805
+#, fuzzy, c-format
+msgid "; using VPATH name '%s'"
msgstr ";使用 VPATH å称“%sâ€"
-#: remake.c:800
-#, c-format
-msgid "Must remake target `%s'.\n"
+#: remake.c:825
+#, fuzzy, c-format
+msgid "Must remake target '%s'.\n"
msgstr "å¿…é¡»é‡æ–°åˆ›å»ºç›®æ ‡â€œ%sâ€ã€‚\n"
-#: remake.c:806
-#, c-format
-msgid " Ignoring VPATH name `%s'.\n"
+#: remake.c:831
+#, fuzzy, c-format
+msgid " Ignoring VPATH name '%s'.\n"
msgstr " 忽略 VPATH å称 `%s'。\n"
-#: remake.c:815
+#: remake.c:840
#, fuzzy, c-format
-msgid "Recipe of `%s' is being run.\n"
+msgid "Recipe of '%s' is being run.\n"
msgstr "“%sâ€çš„命令正在被执行。\n"
-#: remake.c:822
-#, c-format
-msgid "Failed to remake target file `%s'.\n"
+#: remake.c:847
+#, fuzzy, c-format
+msgid "Failed to remake target file '%s'.\n"
msgstr "é‡æ–°åˆ›å»ºç›®æ ‡æ–‡ä»¶â€œ%sâ€å¤±è´¥ã€‚\n"
-#: remake.c:825
-#, c-format
-msgid "Successfully remade target file `%s'.\n"
+#: remake.c:850
+#, fuzzy, c-format
+msgid "Successfully remade target file '%s'.\n"
msgstr "é‡æ–°åˆ›å»ºç›®æ ‡æ–‡ä»¶â€œ%sâ€æˆåŠŸã€‚\n"
-#: remake.c:828
-#, c-format
-msgid "Target file `%s' needs remade under -q.\n"
+#: remake.c:853
+#, fuzzy, c-format
+msgid "Target file '%s' needs to be remade under -q.\n"
msgstr "目标文件“%sâ€éœ€è¦ä»¥ -q 选项é‡æ–°åˆ›å»ºã€‚\n"
-#: remake.c:1024
-#, c-format
-msgid "Using default commands for `%s'.\n"
+#: remake.c:1048
+#, fuzzy, c-format
+msgid "Using default commands for '%s'.\n"
msgstr "使用关于“%sâ€çš„默认命令。\n"
-#: remake.c:1357
-#, c-format
-msgid "Warning: File `%s' has modification time in the future"
+#: remake.c:1397
+#, fuzzy, c-format
+msgid "Warning: File '%s' has modification time in the future"
msgstr "警告:文件“%sâ€çš„修改时间在未æ¥"
-#: remake.c:1370
+#: remake.c:1411
#, fuzzy, c-format
-msgid "Warning: File `%s' has modification time %s s in the future"
+msgid "Warning: File '%s' has modification time %s s in the future"
msgstr "警告:文件“%sâ€çš„修改时间在 %.2g 秒åŽ"
-#: remake.c:1569
-#, c-format
-msgid ".LIBPATTERNS element `%s' is not a pattern"
+#: remake.c:1610
+#, fuzzy, c-format
+msgid ".LIBPATTERNS element '%s' is not a pattern"
msgstr ".LIBPATTERNS 的元素“%sâ€ä¸æ˜¯ä¸€ä¸ªæ¨¡å¼"
-#: remote-cstms.c:125
+#: remote-cstms.c:122
#, c-format
msgid "Customs won't export: %s\n"
msgstr "用户ä¸å¸Œæœ›å¯¼å‡ºï¼š%s\n"
-#: rule.c:499
+#: rule.c:495
msgid ""
"\n"
"# Implicit Rules"
@@ -1593,7 +1791,7 @@ msgstr ""
"\n"
"# éšå«è§„则。"
-#: rule.c:514
+#: rule.c:510
msgid ""
"\n"
"# No implicit rules."
@@ -1601,7 +1799,7 @@ msgstr ""
"\n"
"# 没有éšå«è§„则。"
-#: rule.c:517
+#: rule.c:513
#, c-format
msgid ""
"\n"
@@ -1610,244 +1808,259 @@ msgstr ""
"\n"
"# %u æ¡éšå«è§„则,%u"
-#: rule.c:526
+#: rule.c:522
msgid " terminal."
msgstr " 终端。"
-#: rule.c:534
+#: rule.c:530
#, fuzzy, c-format
msgid "BUG: num_pattern_rules is wrong! %u != %u"
msgstr "错误:num_pattern_rules 出错ï¼%u != %u"
-#: signame.c:86
+#: signame.c:84
msgid "unknown signal"
msgstr "未知的信å·"
-#: signame.c:94
+#: signame.c:92
msgid "Hangup"
msgstr "挂起"
-#: signame.c:97
+#: signame.c:95
msgid "Interrupt"
msgstr "中断"
-#: signame.c:100
+#: signame.c:98
msgid "Quit"
msgstr "退出"
-#: signame.c:103
+#: signame.c:101
msgid "Illegal Instruction"
msgstr "éžæ³•æŒ‡ä»¤"
-#: signame.c:106
+#: signame.c:104
msgid "Trace/breakpoint trap"
msgstr "跟踪/断点陷阱"
-#: signame.c:111
+#: signame.c:109
msgid "Aborted"
msgstr "已失败"
-#: signame.c:114
+#: signame.c:112
msgid "IOT trap"
msgstr "IOT 陷阱"
-#: signame.c:117
+#: signame.c:115
msgid "EMT trap"
msgstr "EMT 陷阱"
-#: signame.c:120
+#: signame.c:118
msgid "Floating point exception"
msgstr "浮点数异常"
-#: signame.c:123
+#: signame.c:121
msgid "Killed"
msgstr "å·²æ€æ­»"
-#: signame.c:126
+#: signame.c:124
msgid "Bus error"
msgstr "总线错误"
-#: signame.c:129
+#: signame.c:127
msgid "Segmentation fault"
msgstr "段错误"
-#: signame.c:132
+#: signame.c:130
msgid "Bad system call"
msgstr "错误的系统调用"
-#: signame.c:135
+#: signame.c:133
msgid "Broken pipe"
msgstr "断开的管é“"
-#: signame.c:138
+#: signame.c:136
msgid "Alarm clock"
msgstr "闹钟"
-#: signame.c:141
+#: signame.c:139
msgid "Terminated"
msgstr "已终止"
-#: signame.c:144
+#: signame.c:142
msgid "User defined signal 1"
msgstr "ç”¨æˆ·å®šä¹‰ä¿¡å· 1"
-#: signame.c:147
+#: signame.c:145
msgid "User defined signal 2"
msgstr "ç”¨æˆ·å®šä¹‰ä¿¡å· 2"
-#: signame.c:152 signame.c:155
+#: signame.c:150 signame.c:153
msgid "Child exited"
msgstr "å­è¿›ç¨‹å·²é€€å‡º"
-#: signame.c:158
+#: signame.c:156
msgid "Power failure"
msgstr "电æºå¤±æ•ˆ"
-#: signame.c:161
+#: signame.c:159
msgid "Stopped"
msgstr "å·²åœæ­¢"
-#: signame.c:164
+#: signame.c:162
msgid "Stopped (tty input)"
msgstr "å·²åœæ­¢ (tty 输入)"
-#: signame.c:167
+#: signame.c:165
msgid "Stopped (tty output)"
msgstr "å·²åœæ­¢ (tty 输出)"
-#: signame.c:170
+#: signame.c:168
msgid "Stopped (signal)"
msgstr "å·²åœæ­¢ (ä¿¡å·)"
-#: signame.c:173
+#: signame.c:171
msgid "CPU time limit exceeded"
msgstr "CPU 时间超出é™åˆ¶"
-#: signame.c:176
+#: signame.c:174
msgid "File size limit exceeded"
msgstr "文件大å°è¶…出é™åˆ¶"
-#: signame.c:179
+#: signame.c:177
msgid "Virtual timer expired"
msgstr "虚拟时钟超时"
-#: signame.c:182
+#: signame.c:180
msgid "Profiling timer expired"
msgstr "测试时钟超市"
-#: signame.c:188
+#: signame.c:186
msgid "Window changed"
msgstr "窗å£å·²æ”¹å˜"
-#: signame.c:191
+#: signame.c:189
msgid "Continued"
msgstr "继续"
-#: signame.c:194
+#: signame.c:192
msgid "Urgent I/O condition"
msgstr "紧急 I/O æ¡ä»¶"
-#: signame.c:201 signame.c:210
+#: signame.c:199 signame.c:208
msgid "I/O possible"
msgstr "I/O å¯è¡Œ"
-#: signame.c:204
+#: signame.c:202
msgid "SIGWIND"
msgstr "SIGWIND"
-#: signame.c:207
+#: signame.c:205
msgid "SIGPHONE"
msgstr "SIGPHONE"
-#: signame.c:213
+#: signame.c:211
msgid "Resource lost"
msgstr "资æºä¸¢å¤±"
-#: signame.c:216
+#: signame.c:214
msgid "Danger signal"
msgstr "å±é™©ä¿¡å·"
-#: signame.c:219
+#: signame.c:217
msgid "Information request"
msgstr "ä¿¡æ¯è¯·æ±‚"
-#: signame.c:222
+#: signame.c:220
msgid "Floating point co-processor not available"
msgstr "浮点数å处ç†å™¨ä¸å¯ç”¨"
-#: strcache.c:235
+#: strcache.c:236
#, fuzzy, c-format
msgid ""
"\n"
-"%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"
-msgstr ""
-"\n"
-"%s strcache 中的字符串数é‡: %d\n"
+"%s No strcache buffers\n"
+msgstr "%s strcache 缓冲区数é‡: %d\n"
-#: strcache.c:237
+#: strcache.c:266
#, fuzzy, c-format
-msgid "%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"
-msgstr "%s strcache 缓冲区数é‡: %d\n"
+msgid ""
+"\n"
+"%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu "
+"B\n"
+msgstr "%s strcache 剩余: 总共 = %d / 最大 = %d / æœ€å° = %d / å¹³å‡ = %d\n"
+
+#: strcache.c:270
+#, c-format
+msgid ""
+"%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"
+msgstr ""
-#: strcache.c:239
+#: strcache.c:280
#, fuzzy, c-format
-msgid "%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n"
msgstr "%s strcache 大å°: 总共 = %d / 最大 = %d / æœ€å° = %d / å¹³å‡ = %d\n"
-#: strcache.c:241
+#: strcache.c:283
#, fuzzy, c-format
-msgid "%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"
+msgid ""
+"%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"
msgstr "%s strcache 剩余: 总共 = %d / 最大 = %d / æœ€å° = %d / å¹³å‡ = %d\n"
-#: strcache.c:244
-#, fuzzy
+#: strcache.c:287
+#, c-format
msgid ""
"\n"
-"# strcache hash-table stats:\n"
+"%s strcache performance: lookups = %lu / hit rate = %lu%%\n"
+msgstr ""
+
+#: strcache.c:289
+#, fuzzy
+msgid ""
+"# hash-table stats:\n"
"# "
msgstr ""
"\n"
"# 文件æ‚凑表状æ€:\n"
"# "
-#: variable.c:1541
+#: variable.c:1599
+msgid "automatic"
+msgstr "自动"
+
+#: variable.c:1602
msgid "default"
msgstr "默认"
-#: variable.c:1544
+#: variable.c:1605
msgid "environment"
msgstr "环境"
-#: variable.c:1547
+#: variable.c:1608
msgid "makefile"
msgstr "makefile"
-#: variable.c:1550
+#: variable.c:1611
msgid "environment under -e"
msgstr "-e 指定的环境å˜é‡"
-#: variable.c:1553
+#: variable.c:1614
msgid "command line"
msgstr "命令行"
-#: variable.c:1556
-msgid "`override' directive"
+#: variable.c:1617
+#, fuzzy
+msgid "'override' directive"
msgstr "“overrideâ€æŒ‡ä»¤"
-#: variable.c:1559
-msgid "automatic"
-msgstr "自动"
-
-#: variable.c:1570
-#, c-format
-msgid " (from `%s', line %lu)"
+#: variable.c:1628
+#, fuzzy, c-format
+msgid " (from '%s', line %lu)"
msgstr " (从“%sâ€ï¼Œè¡Œ %lu)"
-#: variable.c:1612
+#: variable.c:1691
msgid "# variable set hash-table stats:\n"
msgstr "# å˜é‡çš„æ‚凑表状æ€:\n"
-#: variable.c:1623
+#: variable.c:1702
msgid ""
"\n"
"# Variables\n"
@@ -1855,7 +2068,7 @@ msgstr ""
"\n"
"# å˜é‡\n"
-#: variable.c:1627
+#: variable.c:1706
msgid ""
"\n"
"# Pattern-specific Variable Values"
@@ -1863,7 +2076,7 @@ msgstr ""
"\n"
"# Pattern-specific å˜é‡å€¼"
-#: variable.c:1641
+#: variable.c:1720
msgid ""
"\n"
"# No pattern-specific variable values."
@@ -1871,7 +2084,7 @@ msgstr ""
"\n"
"# 没有 pattern-specific å˜é‡çš„值。"
-#: variable.c:1643
+#: variable.c:1722
#, c-format
msgid ""
"\n"
@@ -1880,92 +2093,97 @@ msgstr ""
"\n"
"# %u 个 pattern-specific å˜é‡çš„值"
-#: variable.h:219
-#, c-format
-msgid "warning: undefined variable `%.*s'"
+#: variable.h:224
+#, fuzzy, c-format
+msgid "warning: undefined variable '%.*s'"
msgstr "警告:未定义的å˜é‡â€œ%.*sâ€"
-#: vmsfunctions.c:92
+#: vmsfunctions.c:91
#, fuzzy, c-format
msgid "sys$search() failed with %d\n"
msgstr "sys$search 失败并返回 %d\n"
-#: vmsjobs.c:71
+#: vmsjobs.c:72
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "警告:空的é‡å®šå‘\n"
-#: vmsjobs.c:184
-#, c-format
-msgid "internal error: `%s' command_state"
+#: vmsjobs.c:183
+#, fuzzy, c-format
+msgid "internal error: '%s' command_state"
msgstr "内部错误:“%s†command_state"
-#: vmsjobs.c:289
+#: 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:421
+#: vmsjobs.c:455 vmsjobs.c:559
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "BUILTIN [%s][%s]\n"
-#: vmsjobs.c:432
+#: vmsjobs.c:465
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:450
-#, c-format
-msgid "BUILTIN RM %s\n"
-msgstr "BUILTIN RM %s\n"
+#: vmsjobs.c:501
+#, fuzzy, c-format
+msgid "BUILTIN ECHO %s->%s\n"
+msgstr "BUILTIN CD %s\n"
-#: vmsjobs.c:471
+#: vmsjobs.c:505
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "未知的内置命令“%sâ€\n"
-#: vmsjobs.c:493
+#: 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:506
+#: vmsjobs.c:674
#, c-format
msgid "Redirected input from %s\n"
msgstr "æ¥è‡ª %s çš„é‡å®šå‘输入\n"
-#: vmsjobs.c:513
+#: vmsjobs.c:681
#, c-format
msgid "Redirected error to %s\n"
msgstr "到 %s çš„é‡å®šå‘错误输出\n"
-#: vmsjobs.c:523
+#: vmsjobs.c:690
#, fuzzy, c-format
msgid "Append output to %s\n"
msgstr "到 %s çš„é‡å®šå‘输出\n"
-#: vmsjobs.c:529
+#: vmsjobs.c:696
#, c-format
msgid "Redirected output to %s\n"
msgstr "到 %s çš„é‡å®šå‘输出\n"
-#: vmsjobs.c:599
+#: vmsjobs.c:802
#, c-format
msgid "Append %.*s and cleanup\n"
msgstr ""
-#: vmsjobs.c:606
+#: vmsjobs.c:809
#, c-format
msgid "Executing %s instead\n"
msgstr "执行 %s 作为替代\n"
-#: vmsjobs.c:712
+#: vmsjobs.c:915
#, c-format
msgid "Error spawning, %d\n"
msgstr "错误产生,%d\n"
-#: vpath.c:586
+#: vpath.c:583
msgid ""
"\n"
"# VPATH Search Paths\n"
@@ -1973,37 +2191,67 @@ msgstr ""
"\n"
"# VPATH æœç´¢è·¯å¾„\n"
-#: vpath.c:603
-msgid "# No `vpath' search paths."
+#: vpath.c:600
+#, fuzzy
+msgid "# No 'vpath' search paths."
msgstr "# 没有“vpathâ€æœç´¢è·¯å¾„。"
-#: vpath.c:605
-#, c-format
+#: vpath.c:602
+#, fuzzy, c-format
msgid ""
"\n"
-"# %u `vpath' search paths.\n"
+"# %u 'vpath' search paths.\n"
msgstr ""
"\n"
"# %u “vpathâ€æœç´¢è·¯å¾„。\n"
-#: vpath.c:608
+#: vpath.c:605
+#, fuzzy
msgid ""
"\n"
-"# No general (`VPATH' variable) search path."
+"# No general ('VPATH' variable) search path."
msgstr ""
"\n"
"# 没有通用æœç´¢è·¯å¾„(“VPATHâ€å˜é‡)。"
-#: vpath.c:614
+#: vpath.c:611
+#, fuzzy
msgid ""
"\n"
-"# General (`VPATH' variable) search path:\n"
+"# General ('VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
"# 通用æœç´¢è·¯å¾„(“VPATHâ€å˜é‡):\n"
"# "
+#, fuzzy
+#~ msgid "# Invalid value in 'update_status' member!"
+#~ msgstr "# “update_statusâ€æˆå‘˜ä¸­æ— æ•ˆçš„值ï¼"
+
+#, fuzzy
+#~ msgid "unknown trace mode '%s'"
+#~ msgstr "未知的内置命令“%sâ€\n"
+
+#, fuzzy
+#~ msgid "internal error: multiple --sync-mutex options"
+#~ msgstr "内部错误:多个 --jobserver-fds 选项"
+
+#~ msgid "internal error: multiple --jobserver-fds options"
+#~ msgstr "内部错误:多个 --jobserver-fds 选项"
+
+#~ msgid "virtual memory exhausted"
+#~ msgstr "虚拟内存耗尽"
+
+#~ msgid "write error"
+#~ msgstr "写错误"
+
+#~ msgid "BUILTIN RM %s\n"
+#~ msgstr "BUILTIN RM %s\n"
+
+#~ msgid "*** [%s] Error 0x%x (ignored)"
+#~ msgstr "*** [%s] 错误 0x%x (忽略)"
+
#~ msgid "process_easy() failed failed to launch process (e=%ld)\n"
#~ msgstr "process_easy() å¯åŠ¨è¿›ç¨‹å¤±è´¥ (e=%ld)\n"
@@ -2025,6 +2273,13 @@ msgstr ""
#~ msgid "invalid `override' directive"
#~ msgstr "无效的“overrideâ€æŒ‡ä»¤"
+#~ msgid ""
+#~ "\n"
+#~ "%s # of strings in strcache: %d\n"
+#~ msgstr ""
+#~ "\n"
+#~ "%s strcache 中的字符串数é‡: %d\n"
+
#~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
#~ msgstr "-警告, CTRL-Y 将利刀å­è¿›ç¨‹çŽ¯å¢ƒã€‚\n"
diff --git a/prepare_w32.bat b/prepare_w32.bat
deleted file mode 100644
index e16b7843..00000000
--- a/prepare_w32.bat
+++ /dev/null
@@ -1,6 +0,0 @@
-@echo off
-@echo Windows32 CVS build preparation of config.h.W32 and NMakefile.
-if not exist config.h.W32 copy config.h.W32.template config.h.W32
-if not exist config.h copy config.h.W32 config.h
-if not exist NMakefile copy NMakefile.template NMakefile
-@echo Preparation complete. Run build_w32.bat to compile and link.
diff --git a/read.c b/read.c
index a3ad88e4..6ff4bcc3 100644
--- a/read.c
+++ b/read.c
@@ -1,7 +1,5 @@
/* Reading and parsing of makefiles for GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -16,14 +14,14 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
#include <assert.h>
#include <glob.h>
-#include "dep.h"
#include "filedef.h"
+#include "dep.h"
#include "job.h"
#include "commands.h"
#include "variable.h"
@@ -32,7 +30,10 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#include "hash.h"
-#ifndef WINDOWS32
+#ifdef WINDOWS32
+#include <windows.h>
+#include "sub_proc.h"
+#else /* !WINDOWS32 */
#ifndef _AMIGA
#ifndef VMS
#include <pwd.h>
@@ -53,7 +54,7 @@ struct ebuffer
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. */
- struct 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 */
@@ -76,22 +77,22 @@ enum make_word_type
};
-/* A `struct conditionals' contains the information describing
+/* A 'struct conditionals' contains the information describing
all the active conditionals in a makefile.
- The global variable `conditionals' contains the conditionals
+ The global variable 'conditionals' contains the conditionals
information for the current makefile. It is initialized from
- the static structure `toplevel_conditionals' and is later changed
+ the static structure 'toplevel_conditionals' and is later changed
to new structures for included makefiles. */
struct conditionals
{
- unsigned int if_cmds; /* Depth of conditional nesting. */
- unsigned int allocated; /* Elts allocated in following arrays. */
- char *ignoring; /* Are we ignoring or interpreting?
+ unsigned int if_cmds; /* Depth of conditional nesting. */
+ unsigned int allocated; /* Elts allocated in following arrays. */
+ char *ignoring; /* Are we ignoring or interpreting?
0=interpreting, 1=not yet interpreted,
2=already interpreted */
- char *seen_else; /* Have we already seen an `else'? */
+ char *seen_else; /* Have we already seen an 'else'? */
};
static struct conditionals toplevel_conditionals;
@@ -127,11 +128,11 @@ static unsigned int max_incl_len;
/* The filename and pointer to line number of the
makefile currently being read in. */
-const struct floc *reading_file = 0;
+const gmk_floc *reading_file = 0;
-/* The chain of makefiles read by read_makefile. */
+/* The chain of files read by read_all_makefiles. */
-static struct dep *read_makefiles = 0;
+static struct dep *read_files = 0;
static int eval_makefile (const char *filename, int flags);
static void eval (struct ebuffer *buffer, int flags);
@@ -141,30 +142,30 @@ static void do_undefine (char *name, enum variable_origin origin,
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 struct 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,
- const struct 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 struct 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);
-static char *find_char_unquote (char *string, int stop1, int stop2,
- int blank, int ignorevars);
+static char *find_char_unquote (char *string, int map);
+static char *unescape_char (char *string, int c);
/* Compare a word, both length and contents.
P must point to the word to be tested, and WLEN must be the length.
*/
-#define word1eq(s) (wlen == sizeof(s)-1 && strneq (s, p, sizeof(s)-1))
+#define word1eq(s) (wlen == CSTRLEN (s) && strneq (s, p, CSTRLEN (s)))
-/* Read in all the makefiles and return the chain of their names. */
+/* Read in all the makefiles and return a chain of targets to rebuild. */
struct dep *
read_all_makefiles (const char **makefiles)
@@ -203,9 +204,9 @@ read_all_makefiles (const char **makefiles)
while ((name = find_next_token ((const char **)&p, &length)) != 0)
{
- if (*p != '\0')
- *p++ = '\0';
- eval_makefile (name, RM_NO_DEFAULT_GOAL|RM_INCLUDED|RM_DONTCARE);
+ if (*p != '\0')
+ *p++ = '\0';
+ eval_makefile (name, RM_NO_DEFAULT_GOAL|RM_INCLUDED|RM_DONTCARE);
}
free (value);
@@ -216,75 +217,79 @@ read_all_makefiles (const char **makefiles)
if (makefiles != 0)
while (*makefiles != 0)
{
- struct dep *tail = read_makefiles;
- register struct dep *d;
+ struct dep *tail = read_files;
+ struct dep *d;
- if (! eval_makefile (*makefiles, 0))
- perror_with_name ("", *makefiles);
+ if (! eval_makefile (*makefiles, 0))
+ perror_with_name ("", *makefiles);
- /* Find the right element of read_makefiles. */
- d = read_makefiles;
- while (d->next != tail)
- d = d->next;
+ /* Find the first element eval_makefile() added to read_files. */
+ d = read_files;
+ while (d->next != tail)
+ d = d->next;
- /* Use the storage read_makefile allocates. */
- *makefiles = dep_name (d);
- ++num_makefiles;
- ++makefiles;
+ /* Reuse the storage allocated for the read_file. */
+ *makefiles = dep_name (d);
+ ++num_makefiles;
+ ++makefiles;
}
/* If there were no -f switches, try the default names. */
if (num_makefiles == 0)
{
- static char *default_makefiles[] =
+ static const char *default_makefiles[] =
#ifdef VMS
- /* all lower case since readdir() (the vms version) 'lowercasifies' */
- { "makefile.vms", "gnumakefile.", "makefile.", 0 };
+ /* all lower case since readdir() (the vms version) 'lowercasifies' */
+ { "makefile.vms", "gnumakefile.", "makefile.", 0 };
#else
#ifdef _AMIGA
- { "GNUmakefile", "Makefile", "SMakefile", 0 };
+ { "GNUmakefile", "Makefile", "SMakefile", 0 };
#else /* !Amiga && !VMS */
- { "GNUmakefile", "makefile", "Makefile", 0 };
+#ifdef WINDOWS32
+ { "GNUmakefile", "makefile", "Makefile", "makefile.mak", 0 };
+#else /* !Amiga && !VMS && !WINDOWS32 */
+ { "GNUmakefile", "makefile", "Makefile", 0 };
+#endif /* !Amiga && !VMS && !WINDOWS32 */
#endif /* AMIGA */
#endif /* VMS */
- register char **p = default_makefiles;
+ const char **p = default_makefiles;
while (*p != 0 && !file_exists_p (*p))
- ++p;
+ ++p;
if (*p != 0)
- {
- if (! eval_makefile (*p, 0))
- perror_with_name ("", *p);
- }
+ {
+ if (! eval_makefile (*p, 0))
+ perror_with_name ("", *p);
+ }
else
- {
- /* No default makefile was found. Add the default makefiles to the
- `read_makefiles' chain so they will be updated if possible. */
- struct dep *tail = read_makefiles;
- /* 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 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->changed = RM_DONTCARE;
- if (tail == 0)
- read_makefiles = d;
- else
- tail->next = d;
- tail = d;
- }
- if (tail != 0)
- tail->next = 0;
- }
+ {
+ /* No default makefile was found. Add the default makefiles to the
+ 'read_files' chain so they will be updated if possible. */
+ 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 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->changed = RM_DONTCARE;
+ if (tail == 0)
+ read_files = d;
+ else
+ tail->next = d;
+ tail = d;
+ }
+ if (tail != 0)
+ tail->next = 0;
+ }
}
- return read_makefiles;
+ return read_files;
}
/* Install a new conditional and return the previous one. */
@@ -306,10 +311,8 @@ static void
restore_conditionals (struct conditionals *saved)
{
/* Free any space allocated by conditional_line. */
- if (conditionals->ignoring)
- free (conditionals->ignoring);
- if (conditionals->seen_else)
- free (conditionals->seen_else);
+ free (conditionals->ignoring);
+ free (conditionals->seen_else);
/* Restore state. */
conditionals = saved;
@@ -320,66 +323,86 @@ eval_makefile (const char *filename, int flags)
{
struct dep *deps;
struct ebuffer ebuf;
- const struct floc *curfile;
+ const gmk_floc *curfile;
char *expanded = 0;
int makefile_errno;
- filename = strcache_add (filename);
- ebuf.floc.filenm = filename;
+ ebuf.floc.filenm = filename; /* Use the original file name. */
ebuf.floc.lineno = 1;
if (ISDB (DB_VERBOSE))
{
- printf (_("Reading makefile `%s'"), filename);
+ printf (_("Reading makefile '%s'"), filename);
if (flags & RM_NO_DEFAULT_GOAL)
- printf (_(" (no default goal)"));
+ printf (_(" (no default goal)"));
if (flags & RM_INCLUDED)
- printf (_(" (search path)"));
+ printf (_(" (search path)"));
if (flags & RM_DONTCARE)
- printf (_(" (don't care)"));
+ printf (_(" (don't care)"));
if (flags & RM_NO_TILDE)
- printf (_(" (no ~ expansion)"));
+ printf (_(" (no ~ expansion)"));
puts ("...");
}
/* First, get a stream to read. */
- /* Expand ~ in FILENAME unless it came from `include',
+ /* Expand ~ in FILENAME unless it came from 'include',
in which case it was already done. */
if (!(flags & RM_NO_TILDE) && filename[0] == '~')
{
expanded = tilde_expand (filename);
if (expanded != 0)
- filename = expanded;
+ filename = expanded;
}
- ebuf.fp = fopen (filename, "r");
+ ENULLLOOP (ebuf.fp, fopen (filename, "r"));
+
/* Save the error code so we print the right message later. */
makefile_errno = errno;
+ /* Check for unrecoverable errors: out of mem or FILE slots. */
+ switch (makefile_errno)
+ {
+#ifdef EMFILE
+ case EMFILE:
+#endif
+#ifdef ENFILE
+ case ENFILE:
+#endif
+ case ENOMEM:
+ {
+ const char *err = strerror (makefile_errno);
+ OS (fatal, reading_file, "%s", err);
+ }
+ }
+
/* If the makefile wasn't found and it's either a makefile from
- the `MAKEFILES' variable or an included makefile,
+ the 'MAKEFILES' variable or an included makefile,
search the included makefile search path for this makefile. */
if (ebuf.fp == 0 && (flags & RM_INCLUDED) && *filename != '/')
{
unsigned int i;
for (i = 0; include_directories[i] != 0; ++i)
- {
- const char *included = concat (3, include_directories[i],
+ {
+ const char *included = concat (3, include_directories[i],
"/", filename);
- ebuf.fp = fopen (included, "r");
- if (ebuf.fp)
- {
- filename = strcache_add (included);
- break;
- }
- }
+ ebuf.fp = fopen (included, "r");
+ if (ebuf.fp)
+ {
+ filename = included;
+ break;
+ }
+ }
}
+ /* Now we have the final name for this makefile. Enter it into
+ the cache. */
+ filename = strcache_add (filename);
+
/* Add FILENAME to the chain of read makefiles. */
deps = alloc_dep ();
- deps->next = read_makefiles;
- read_makefiles = deps;
+ deps->next = read_files;
+ read_files = deps;
deps->file = lookup_file (filename);
if (deps->file == 0)
deps->file = enter_file (filename);
@@ -388,16 +411,15 @@ eval_makefile (const char *filename, int flags)
if (flags & RM_DONTCARE)
deps->dontcare = 1;
- if (expanded)
- free (expanded);
+ free (expanded);
/* If the makefile can't be found at all, give up entirely. */
if (ebuf.fp == 0)
{
/* If we did some searching, errno has the error from the last
- attempt, rather from FILENAME itself. Restore it in case the
- caller wants to use it in a message. */
+ attempt, rather from FILENAME itself. Restore it in case the
+ caller wants to use it in a message. */
errno = makefile_errno;
return 0;
}
@@ -433,12 +455,12 @@ eval_makefile (const char *filename, int flags)
}
void
-eval_buffer (char *buffer)
+eval_buffer (char *buffer, const gmk_floc *floc)
{
struct ebuffer ebuf;
struct conditionals *saved;
struct conditionals new;
- const struct floc *curfile;
+ const gmk_floc *curfile;
/* Evaluate the buffer */
@@ -446,10 +468,15 @@ eval_buffer (char *buffer)
ebuf.buffer = ebuf.bufnext = ebuf.bufstart = buffer;
ebuf.fp = NULL;
- if (reading_file)
+ if (floc)
+ ebuf.floc = *floc;
+ else if (reading_file)
ebuf.floc = *reading_file;
else
- ebuf.floc.filenm = NULL;
+ {
+ ebuf.floc.filenm = NULL;
+ ebuf.floc.lineno = 1;
+ }
curfile = reading_file;
reading_file = &ebuf.floc;
@@ -492,9 +519,9 @@ parse_var_assignment (const char *line, struct vmodifiers *vmod)
{
int wlen;
const char *p2;
- enum variable_flavor flavor;
+ struct variable v;
- p2 = parse_variable_definition (p, &flavor);
+ p2 = parse_variable_definition (p, &v);
/* If this is a variable assignment, we're done. */
if (p2)
@@ -554,28 +581,29 @@ eval (struct ebuffer *ebuf, int set_default)
unsigned int commands_idx = 0;
unsigned int cmds_started, tgts_started;
int ignoring = 0, in_ignored_define = 0;
- int no_targets = 0; /* Set when reading a rule without targets. */
+ int no_targets = 0; /* Set when reading a rule without targets. */
struct nameseq *filenames = 0;
char *depstr = 0;
long nlines = 0;
int two_colon = 0;
+ char prefix = cmd_prefix;
const char *pattern = 0;
const char *pattern_percent;
- struct floc *fstart;
- struct floc fi;
+ gmk_floc *fstart;
+ gmk_floc fi;
-#define record_waiting_files() \
- do \
- { \
- if (filenames != 0) \
+#define record_waiting_files() \
+ do \
+ { \
+ if (filenames != 0) \
{ \
- fi.lineno = tgts_started; \
- record_files (filenames, pattern, pattern_percent, depstr, \
+ fi.lineno = tgts_started; \
+ record_files (filenames, pattern, pattern_percent, depstr, \
cmds_started, commands, commands_idx, two_colon, \
- &fi); \
- filenames = 0; \
+ prefix, &fi); \
+ filenames = 0; \
} \
- commands_idx = 0; \
+ commands_idx = 0; \
no_targets = 0; \
pattern = 0; \
} while (0)
@@ -592,9 +620,8 @@ eval (struct ebuffer *ebuf, int set_default)
when the start of the next rule (or eof) is encountered.
When you see a "continue" in the loop below, that means we are moving on
- to the next line _without_ ending any rule that we happen to be working
- with at the moment. If you see a "goto rule_complete", then the
- statement we just parsed also finishes the previous rule. */
+ to the next line. If you see record_waiting_files(), then the statement
+ we are parsing also finishes the previous rule. */
commands = xmalloc (200);
@@ -616,73 +643,75 @@ eval (struct ebuffer *ebuf, int set_default)
if (nlines < 0)
break;
- /* If this line is empty, skip it. */
line = ebuf->buffer;
+
+ /* If this is the first line, check for a UTF-8 BOM and skip it. */
+ if (ebuf->floc.lineno == 1 && line[0] == (char)0xEF
+ && line[1] == (char)0xBB && line[2] == (char)0xBF)
+ {
+ line += 3;
+ if (ISDB(DB_BASIC))
+ {
+ if (ebuf->floc.filenm)
+ printf (_("Skipping UTF-8 BOM in makefile '%s'\n"),
+ ebuf->floc.filenm);
+ else
+ printf (_("Skipping UTF-8 BOM in makefile buffer\n"));
+ }
+ }
+
+ /* If this line is empty, skip it. */
if (line[0] == '\0')
continue;
linelen = strlen (line);
/* Check for a shell command line first.
- If it is not one, we can stop treating tab specially. */
+ If it is not one, we can stop treating cmd_prefix specially. */
if (line[0] == cmd_prefix)
- {
- if (no_targets)
- /* Ignore the commands in a rule with no targets. */
- continue;
-
- /* If there is no preceding rule line, don't treat this line
- as a command, even though it begins with a recipe prefix.
- SunOS 4 make appears to behave this way. */
-
- if (filenames != 0)
- {
- if (ignoring)
- /* Yep, this is a shell command, and we don't care. */
- continue;
-
- /* Append this command line to the line being accumulated.
- Strip command prefix chars that appear after newlines. */
- if (commands_idx == 0)
- cmds_started = ebuf->floc.lineno;
-
- if (linelen + commands_idx > commands_len)
- {
- commands_len = (linelen + commands_idx) * 2;
- commands = xrealloc (commands, commands_len);
- }
- p = &commands[commands_idx];
- p2 = line + 1;
- while (--linelen)
+ {
+ if (no_targets)
+ /* Ignore the commands in a rule with no targets. */
+ continue;
+
+ /* If there is no preceding rule line, don't treat this line
+ as a command, even though it begins with a recipe prefix.
+ SunOS 4 make appears to behave this way. */
+
+ if (filenames != 0)
+ {
+ if (ignoring)
+ /* Yep, this is a shell command, and we don't care. */
+ continue;
+
+ if (commands_idx == 0)
+ cmds_started = ebuf->floc.lineno;
+
+ /* Append this command line to the line being accumulated.
+ Skip the initial command prefix character. */
+ if (linelen + commands_idx > commands_len)
{
- ++commands_idx;
- *(p++) = *p2;
- if (p2[0] == '\n' && p2[1] == cmd_prefix)
- {
- ++p2;
- --linelen;
- }
- ++p2;
+ commands_len = (linelen + commands_idx) * 2;
+ commands = xrealloc (commands, commands_len);
}
- *p = '\n';
- ++commands_idx;
-
- continue;
- }
- }
+ memcpy (&commands[commands_idx], line + 1, linelen - 1);
+ commands_idx += linelen - 1;
+ commands[commands_idx++] = '\n';
+ continue;
+ }
+ }
/* This line is not a shell command line. Don't worry about whitespace.
Get more space if we need it; we don't need to preserve the current
contents of the buffer. */
if (collapsed_length < linelen+1)
- {
- collapsed_length = linelen+1;
- if (collapsed)
- free (collapsed);
+ {
+ collapsed_length = linelen+1;
+ free (collapsed);
/* Don't need xrealloc: we don't need to preserve the content. */
- collapsed = xmalloc (collapsed_length);
- }
+ collapsed = xmalloc (collapsed_length);
+ }
strcpy (collapsed, line);
/* Collapse continuation lines. */
collapse_continuations (collapsed);
@@ -695,14 +724,17 @@ eval (struct ebuffer *ebuf, int set_default)
/* See if this is a variable assignment. We need to do this early, to
allow variables with names like 'ifdef', 'export', 'private', etc. */
- p = parse_var_assignment(p, &vmod);
+ p = parse_var_assignment (p, &vmod);
if (vmod.assign_v)
{
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)
+ if (ignoring)
{
if (vmod.define_v)
in_ignored_define = 1;
@@ -712,9 +744,7 @@ eval (struct ebuffer *ebuf, int set_default)
if (vmod.undefine_v)
{
do_undefine (p, origin, ebuf);
-
- /* This line has been dealt with. */
- goto rule_complete;
+ continue;
}
else if (vmod.define_v)
v = do_define (p, origin, ebuf);
@@ -729,12 +759,12 @@ eval (struct ebuffer *ebuf, int set_default)
v->private_var = 1;
/* This line has been dealt with. */
- goto rule_complete;
+ continue;
}
/* If this line is completely empty, ignore it. */
if (*p == '\0')
- continue;
+ continue;
p2 = end_of_token (p);
wlen = p2 - p;
@@ -742,13 +772,13 @@ eval (struct ebuffer *ebuf, int set_default)
/* If we're in an ignored define, skip this line (but maybe get out). */
if (in_ignored_define)
- {
+ {
/* See if this is an endef line (plus optional comment). */
- if (word1eq ("endef") && (*p2 == '\0' || *p2 == '#'))
+ if (word1eq ("endef") && STOP_SET (*p2, MAP_COMMENT|MAP_NUL))
in_ignored_define = 0;
- continue;
- }
+ continue;
+ }
/* Check for conditional state changes. */
{
@@ -756,7 +786,7 @@ eval (struct ebuffer *ebuf, int set_default)
if (i != -2)
{
if (i == -1)
- fatal (fstart, _("invalid syntax in conditional"));
+ O (fatal, fstart, _("invalid syntax in conditional"));
ignoring = i;
continue;
@@ -765,16 +795,19 @@ eval (struct ebuffer *ebuf, int set_default)
/* Nothing to see here... move along. */
if (ignoring)
- continue;
+ continue;
/* Manage the "export" keyword used outside of variable assignment
as well as "unexport". */
if (word1eq ("export") || word1eq ("unexport"))
- {
+ {
int exporting = *p == 'u' ? 0 : 1;
+ /* Export/unexport ends the previous rule. */
+ record_waiting_files ();
+
/* (un)export by itself causes everything to be (un)exported. */
- if (*p2 == '\0')
+ if (*p2 == '\0')
export_all_variables = exporting;
else
{
@@ -791,113 +824,181 @@ eval (struct ebuffer *ebuf, int set_default)
{
struct variable *v = lookup_variable (p, l);
if (v == 0)
- v = define_variable_loc (p, l, "", o_file, 0, fstart);
+ v = define_variable_global (p, l, "", o_file, 0, fstart);
v->export = exporting ? v_export : v_noexport;
}
free (ap);
}
- goto rule_complete;
- }
+ continue;
+ }
/* Handle the special syntax for vpath. */
if (word1eq ("vpath"))
- {
+ {
const char *cp;
- char *vpat;
- unsigned int l;
- cp = variable_expand (p2);
- p = find_next_token (&cp, &l);
- if (p != 0)
- {
- vpat = xstrndup (p, l);
- p = find_next_token (&cp, &l);
- /* No searchpath means remove all previous
- selective VPATH's with the same pattern. */
- }
- else
- /* No pattern means remove all previous selective VPATH's. */
- vpat = 0;
- construct_vpath_list (vpat, p);
- if (vpat != 0)
- free (vpat);
-
- goto rule_complete;
- }
+ char *vpat;
+ unsigned int l;
+
+ /* vpath ends the previous rule. */
+ record_waiting_files ();
+
+ cp = variable_expand (p2);
+ p = find_next_token (&cp, &l);
+ if (p != 0)
+ {
+ vpat = xstrndup (p, l);
+ p = find_next_token (&cp, &l);
+ /* No searchpath means remove all previous
+ selective VPATH's with the same pattern. */
+ }
+ else
+ /* No pattern means remove all previous selective VPATH's. */
+ vpat = 0;
+ construct_vpath_list (vpat, p);
+ free (vpat);
+
+ continue;
+ }
/* Handle include and variants. */
if (word1eq ("include") || word1eq ("-include") || word1eq ("sinclude"))
- {
- /* We have found an `include' line specifying a nested
- makefile to be read at this point. */
- struct conditionals *save;
+ {
+ /* We have found an 'include' line specifying a nested
+ makefile to be read at this point. */
+ struct conditionals *save;
struct conditionals new_conditionals;
- struct nameseq *files;
- /* "-include" (vs "include") says no error if the file does not
- exist. "sinclude" is an alias for this from SGI. */
- int noerror = (p[0] != 'i');
+ struct nameseq *files;
+ /* "-include" (vs "include") says no error if the file does not
+ exist. "sinclude" is an alias for this from SGI. */
+ int noerror = (p[0] != 'i');
- p = allocated_variable_expand (p2);
+ /* Include ends the previous rule. */
+ record_waiting_files ();
+
+ p = allocated_variable_expand (p2);
/* If no filenames, it's a no-op. */
- if (*p == '\0')
+ if (*p == '\0')
{
free (p);
continue;
}
- /* Parse the list of file names. Don't expand archive references! */
- p2 = p;
- files = PARSE_FILE_SEQ (&p2, struct nameseq, '\0', NULL,
+ /* Parse the list of file names. Don't expand archive references! */
+ p2 = p;
+ files = PARSE_FILE_SEQ (&p2, struct nameseq, MAP_NUL, NULL,
PARSEFS_NOAR);
- free (p);
+ free (p);
- /* Save the state of conditionals and start
- the included makefile with a clean slate. */
- save = install_conditionals (&new_conditionals);
+ /* Save the state of conditionals and start
+ the included makefile with a clean slate. */
+ save = install_conditionals (&new_conditionals);
- /* Record the rules that are waiting so they will determine
- the default goal before those in the included makefile. */
- record_waiting_files ();
+ /* Record the rules that are waiting so they will determine
+ the default goal before those in the included makefile. */
+ record_waiting_files ();
- /* Read each included makefile. */
- while (files != 0)
- {
- struct nameseq *next = files->next;
- const char *name = files->name;
+ /* Read each included makefile. */
+ while (files != 0)
+ {
+ struct nameseq *next = files->next;
+ const char *name = files->name;
int r;
- free_ns (files);
- files = next;
+ free_ns (files);
+ files = next;
r = eval_makefile (name,
(RM_INCLUDED | RM_NO_TILDE
| (noerror ? RM_DONTCARE : 0)
| (set_default ? 0 : RM_NO_DEFAULT_GOAL)));
- if (!r && !noerror)
- error (fstart, "%s: %s", name, strerror (errno));
- }
+ if (!r && !noerror)
+ {
+ const char *err = strerror (errno);
+ OSS (error, fstart, "%s: %s", name, err);
+ }
+ }
+
+ /* Restore conditional state. */
+ restore_conditionals (save);
+
+ continue;
+ }
+
+ /* Handle the load operations. */
+ if (word1eq ("load") || word1eq ("-load"))
+ {
+ /* A 'load' line specifies a dynamic object to load. */
+ struct nameseq *files;
+ int noerror = (p[0] == '-');
+
+ /* Load ends the previous rule. */
+ record_waiting_files ();
+
+ p = allocated_variable_expand (p2);
+
+ /* If no filenames, it's a no-op. */
+ if (*p == '\0')
+ {
+ free (p);
+ continue;
+ }
- /* Restore conditional state. */
- restore_conditionals (save);
+ /* Parse the list of file names.
+ Don't expand archive references or strip "./" */
+ p2 = p;
+ files = PARSE_FILE_SEQ (&p2, struct nameseq, MAP_NUL, NULL,
+ PARSEFS_NOAR);
+ free (p);
+
+ /* Load each file. */
+ while (files != 0)
+ {
+ struct nameseq *next = files->next;
+ const char *name = files->name;
+ struct dep *deps;
+ int r;
- goto rule_complete;
- }
+ /* Load the file. 0 means failure. */
+ r = load_file (&ebuf->floc, &name, noerror);
+ if (! r && ! noerror)
+ OS (fatal, &ebuf->floc, _("%s: failed to load"), name);
+
+ free_ns (files);
+ files = next;
+
+ /* Return of -1 means a special load: don't rebuild it. */
+ if (r == -1)
+ continue;
+
+ /* It succeeded, so add it to the list "to be rebuilt". */
+ deps = alloc_dep ();
+ deps->next = read_files;
+ read_files = deps;
+ deps->file = lookup_file (name);
+ if (deps->file == 0)
+ deps->file = enter_file (name);
+ deps->file->loaded = 1;
+ }
+
+ continue;
+ }
/* This line starts with a tab but was not caught above because there
was no preceding target, and the line might have been usable as a
variable definition. But now we know it is definitely lossage. */
if (line[0] == cmd_prefix)
- fatal(fstart, _("recipe commences before first target"));
+ O (fatal, fstart, _("recipe commences before first target"));
/* This line describes some target files. This is complicated by
the existence of target-specific variables, because we can't
expand the entire line until we know if we have one or not. So
- we expand the line word by word until we find the first `:',
+ we expand the line word by word until we find the first ':',
then check to see if it's a target-specific variable.
- In this algorithm, `lb_next' will point to the beginning of the
- unexpanded parts of the input buffer, while `p2' points to the
+ In this algorithm, 'lb_next' will point to the beginning of the
+ unexpanded parts of the input buffer, while 'p2' points to the
parts of the expanded buffer we haven't searched yet. */
{
@@ -914,7 +1015,7 @@ eval (struct ebuffer *ebuf, int set_default)
/* Search the line for an unquoted ; that is not after an
unquoted #. */
- cmdleft = find_char_unquote (line, ';', '#', 0, 1);
+ cmdleft = find_char_unquote (line, MAP_SEMI|MAP_COMMENT|MAP_VARIABLE);
if (cmdleft != 0 && *cmdleft == '#')
{
/* We found a comment before a semicolon. */
@@ -932,12 +1033,12 @@ eval (struct ebuffer *ebuf, int set_default)
variable we don't want to expand it. So, walk from the
beginning, expanding as we go, and looking for "interesting"
chars. The first word is always expandable. */
- wtype = get_next_mword(line, NULL, &lb_next, &wlen);
+ wtype = get_next_mword (line, NULL, &lb_next, &wlen);
switch (wtype)
{
case w_eol:
if (cmdleft != 0)
- fatal(fstart, _("missing rule before recipe"));
+ O (fatal, fstart, _("missing rule before recipe"));
/* This line contained something but turned out to be nothing
but whitespace (a comment?). */
continue;
@@ -953,7 +1054,7 @@ eval (struct ebuffer *ebuf, int set_default)
break;
}
- p2 = variable_expand_string(NULL, lb_next, wlen);
+ p2 = variable_expand_string (NULL, lb_next, wlen);
while (1)
{
@@ -961,13 +1062,13 @@ eval (struct ebuffer *ebuf, int set_default)
if (cmdleft == 0)
{
/* Look for a semicolon in the expanded line. */
- cmdleft = find_char_unquote (p2, ';', 0, 0, 0);
+ cmdleft = find_char_unquote (p2, MAP_SEMI);
if (cmdleft != 0)
{
unsigned long p2_off = p2 - variable_buffer;
unsigned long cmd_off = cmdleft - variable_buffer;
- char *pend = p2 + strlen(p2);
+ char *pend = p2 + strlen (p2);
/* Append any remnants of lb, then cut the line short
at the semicolon. */
@@ -977,18 +1078,18 @@ eval (struct ebuffer *ebuf, int set_default)
here, but merely copy, since now you're beyond a ";"
and into a command script. However, the old parser
expanded the whole line, so we continue that for
- backwards-compatiblity. Also, it wouldn't be
+ backwards-compatibility. Also, it wouldn't be
entirely consistent, since we do an unconditional
expand below once we know we don't have a
target-specific variable. */
- (void)variable_expand_string(pend, lb_next, (long)-1);
- lb_next += strlen(lb_next);
+ (void)variable_expand_string (pend, lb_next, (long)-1);
+ lb_next += strlen (lb_next);
p2 = variable_buffer + p2_off;
cmdleft = variable_buffer + cmd_off + 1;
}
}
- colonp = find_char_unquote(p2, ':', 0, 0, 0);
+ colonp = find_char_unquote (p2, MAP_COLON);
#ifdef HAVE_DOS_PATHS
/* The drive spec brain-damage strikes again... */
/* Note that the only separators of targets in this context
@@ -997,18 +1098,18 @@ eval (struct ebuffer *ebuf, int set_default)
while (colonp && (colonp[1] == '/' || colonp[1] == '\\') &&
colonp > p2 && isalpha ((unsigned char)colonp[-1]) &&
(colonp == p2 + 1 || strchr (" \t(", colonp[-2]) != 0))
- colonp = find_char_unquote(colonp + 1, ':', 0, 0, 0);
+ colonp = find_char_unquote (colonp + 1, MAP_COLON);
#endif
if (colonp != 0)
break;
- wtype = get_next_mword(lb_next, NULL, &lb_next, &wlen);
+ wtype = get_next_mword (lb_next, NULL, &lb_next, &wlen);
if (wtype == w_eol)
break;
- p2 += strlen(p2);
+ p2 += strlen (p2);
*(p2++) = ' ';
- p2 = variable_expand_string(p2, lb_next, wlen);
+ p2 = variable_expand_string (p2, lb_next, wlen);
/* We don't need to worry about cmdleft here, because if it was
found in the variable_buffer the entire buffer has already
been expanded... we'll never get here. */
@@ -1021,20 +1122,23 @@ eval (struct ebuffer *ebuf, int set_default)
it. If so, we can't parse this line so punt. */
if (wtype == w_eol)
{
- if (*p2 != '\0')
- /* There's no need to be ivory-tower about this: check for
- one of the most common bugs found in makefiles... */
- fatal (fstart, _("missing separator%s"),
- (cmd_prefix == '\t' && !strneq(line, " ", 8))
- ? "" : _(" (did you mean TAB instead of 8 spaces?)"));
- continue;
+ if (*p2 == '\0')
+ continue;
+
+ /* There's no need to be ivory-tower about this: check for
+ one of the most common bugs found in makefiles... */
+ if (cmd_prefix == '\t' && strneq (line, " ", 8))
+ O (fatal, fstart, _("missing separator (did you mean TAB instead of 8 spaces?)"));
+ else
+ O (fatal, fstart, _("missing separator"));
}
/* Make the colon the end-of-string so we know where to stop
- looking for targets. */
+ looking for targets. Start there again once we're done. */
*colonp = '\0';
- filenames = PARSE_FILE_SEQ (&p2, struct nameseq, '\0', NULL, 0);
- *p2 = ':';
+ filenames = PARSE_SIMPLE_SEQ (&p2, struct nameseq);
+ *colonp = ':';
+ p2 = colonp;
if (!filenames)
{
@@ -1071,12 +1175,12 @@ eval (struct ebuffer *ebuf, int set_default)
after it. */
if (semip)
{
- unsigned int l = p - variable_buffer;
+ unsigned int l = p2 - variable_buffer;
*(--semip) = ';';
collapse_continuations (semip);
variable_buffer_output (p2 + strlen (p2),
semip, strlen (semip)+1);
- p = variable_buffer + l;
+ p2 = variable_buffer + l;
}
record_target_var (filenames, p2,
vmod.override_v ? o_override : o_file,
@@ -1087,7 +1191,10 @@ eval (struct ebuffer *ebuf, int set_default)
/* This is a normal target, _not_ a target-specific variable.
Unquote any = in the dependency list. */
- find_char_unquote (lb_next, '=', 0, 0, 0);
+ find_char_unquote (lb_next, MAP_EQUALS);
+
+ /* Remember the command prefix for this target. */
+ prefix = cmd_prefix;
/* We have some targets, so don't ignore the following commands. */
no_targets = 0;
@@ -1102,13 +1209,13 @@ eval (struct ebuffer *ebuf, int set_default)
/* Look for a semicolon in the expanded line. */
if (cmdleft == 0)
{
- cmdleft = find_char_unquote (p2, ';', 0, 0, 0);
+ cmdleft = find_char_unquote (p2, MAP_SEMI);
if (cmdleft != 0)
*(cmdleft++) = '\0';
}
}
- /* Is this a static pattern rule: `target: %targ: %dep; ...'? */
+ /* Is this a static pattern rule: 'target: %targ: %dep; ...'? */
p = strchr (p2, ':');
while (p != 0 && p[-1] == '\\')
{
@@ -1156,17 +1263,17 @@ eval (struct ebuffer *ebuf, int set_default)
if (p != 0)
{
struct nameseq *target;
- target = PARSE_FILE_SEQ (&p2, struct nameseq, ':', NULL,
+ target = PARSE_FILE_SEQ (&p2, struct nameseq, MAP_COLON, NULL,
PARSEFS_NOGLOB);
++p2;
if (target == 0)
- fatal (fstart, _("missing target pattern"));
+ O (fatal, fstart, _("missing target pattern"));
else if (target->next != 0)
- fatal (fstart, _("multiple target patterns"));
+ O (fatal, fstart, _("multiple target patterns"));
pattern_percent = find_percent_cached (&target->name);
pattern = target->name;
if (pattern_percent == 0)
- fatal (fstart, _("target pattern contains no `%%'"));
+ O (fatal, fstart, _("target pattern contains no '%%'"));
free_ns (target);
}
else
@@ -1219,20 +1326,19 @@ eval (struct ebuffer *ebuf, int set_default)
if (set_default && default_goal_var->value[0] == '\0')
{
- const char *name;
struct dep *d;
struct nameseq *t = filenames;
for (; t != 0; t = t->next)
{
int reject = 0;
- name = t->name;
+ const char *name = t->name;
/* We have nothing to do if this is an implicit rule. */
if (strchr (name, '%') != 0)
break;
- /* See if this target's name does not start with a `.',
+ /* See if this target's name does not start with a '.',
unless it contains a slash. */
if (*name == '.' && strchr (name, '/') == 0
#ifdef HAVE_DOS_PATHS
@@ -1281,22 +1387,20 @@ eval (struct ebuffer *ebuf, int set_default)
}
/* We get here except in the case that we just read a rule line.
- Record now the last rule we read, so following spurious
- commands are properly diagnosed. */
- rule_complete:
+ Record now the last rule we read, so following spurious
+ commands are properly diagnosed. */
record_waiting_files ();
}
-#undef word1eq
+#undef word1eq
if (conditionals->if_cmds)
- fatal (fstart, _("missing `endif'"));
+ O (fatal, fstart, _("missing 'endif'"));
/* At eof, record the last rule. */
record_waiting_files ();
- if (collapsed)
- free (collapsed);
+ free (collapsed);
free (commands);
}
@@ -1309,14 +1413,14 @@ remove_comments (char *line)
{
char *comment;
- comment = find_char_unquote (line, '#', 0, 0, 0);
+ comment = find_char_unquote (line, MAP_COMMENT);
if (comment != 0)
/* Cut off the line at the #. */
*comment = '\0';
}
-/* Execute a `undefine' directive.
+/* Execute a 'undefine' directive.
The undefine line has already been read, and NAME is the name of
the variable to be undefined. */
@@ -1329,7 +1433,7 @@ do_undefine (char *name, enum variable_origin origin, struct ebuffer *ebuf)
var = allocated_variable_expand (name);
name = next_token (var);
if (*name == '\0')
- fatal (&ebuf->floc, _("empty variable name"));
+ O (fatal, &ebuf->floc, _("empty variable name"));
p = name + strlen (name) - 1;
while (p > name && isblank ((unsigned char)*p))
--p;
@@ -1339,7 +1443,7 @@ do_undefine (char *name, enum variable_origin origin, struct ebuffer *ebuf)
free (var);
}
-/* Execute a `define' directive.
+/* Execute a 'define' directive.
The first line has already been read, and NAME is the name of
the variable to be defined. The following lines remain to be read. */
@@ -1347,34 +1451,34 @@ static struct variable *
do_define (char *name, enum variable_origin origin, struct ebuffer *ebuf)
{
struct variable *v;
- enum variable_flavor flavor;
- struct floc defstart;
+ struct variable var;
+ gmk_floc defstart;
int nlevels = 1;
unsigned int length = 100;
char *definition = xmalloc (length);
unsigned int idx = 0;
- char *p, *var;
+ char *p, *n;
defstart = ebuf->floc;
- p = parse_variable_definition (name, &flavor);
+ p = parse_variable_definition (name, &var);
if (p == NULL)
/* No assignment token, so assume recursive. */
- flavor = f_recursive;
+ var.flavor = f_recursive;
else
{
- if (*(next_token (p)) != '\0')
- error (&defstart, _("extraneous text after `define' directive"));
+ if (var.value[0] != '\0')
+ O (error, &defstart, _("extraneous text after 'define' directive"));
/* Chop the string before the assignment token to get the name. */
- p[flavor == f_recursive ? -1 : -2] = '\0';
+ var.name[var.length] = '\0';
}
/* Expand the variable name and find the beginning (NAME) and end. */
- var = allocated_variable_expand (name);
- name = next_token (var);
- if (*name == '\0')
- fatal (&defstart, _("empty variable name"));
+ n = allocated_variable_expand (name);
+ name = next_token (n);
+ if (name[0] == '\0')
+ O (fatal, &defstart, _("empty variable name"));
p = name + strlen (name) - 1;
while (p > name && isblank ((unsigned char)*p))
--p;
@@ -1389,7 +1493,7 @@ do_define (char *name, enum variable_origin origin, struct ebuffer *ebuf)
/* If there is nothing left to be eval'd, there's no 'endef'!! */
if (nlines < 0)
- fatal (&defstart, _("missing `endef', unterminated `define'"));
+ O (fatal, &defstart, _("missing 'endef', unterminated 'define'"));
ebuf->floc.lineno += nlines;
line = ebuf->buffer;
@@ -1416,8 +1520,8 @@ do_define (char *name, enum variable_origin origin, struct ebuffer *ebuf)
p += 5;
remove_comments (p);
if (*(next_token (p)) != '\0')
- error (&ebuf->floc,
- _("extraneous text after `endef' directive"));
+ O (error, &ebuf->floc,
+ _("extraneous text after 'endef' directive"));
if (--nlevels == 0)
break;
@@ -1444,9 +1548,10 @@ do_define (char *name, enum variable_origin origin, struct ebuffer *ebuf)
else
definition[idx - 1] = '\0';
- v = do_variable_definition (&defstart, name, definition, origin, flavor, 0);
+ v = do_variable_definition (&defstart, name,
+ definition, origin, var.flavor, 0);
free (definition);
- free (var);
+ free (n);
return (v);
}
@@ -1463,16 +1568,16 @@ do_define (char *name, enum variable_origin origin, struct ebuffer *ebuf)
1 if following text should be ignored. */
static int
-conditional_line (char *line, int len, const struct floc *flocp)
+conditional_line (char *line, int len, const gmk_floc *flocp)
{
- char *cmdname;
+ const char *cmdname;
enum { c_ifdef, c_ifndef, c_ifeq, c_ifneq, c_else, c_endif } cmdtype;
unsigned int i;
unsigned int o;
/* Compare a word, both length and contents. */
-#define word1eq(s) (len == sizeof(s)-1 && strneq (s, line, sizeof(s)-1))
-#define chkword(s, t) if (word1eq (s)) { cmdtype = (t); cmdname = (s); }
+#define word1eq(s) (len == CSTRLEN (s) && strneq (s, line, CSTRLEN (s)))
+#define chkword(s, t) if (word1eq (s)) { cmdtype = (t); cmdname = (s); }
/* Make sure this line is a conditional. */
chkword ("ifdef", c_ifdef)
@@ -1487,16 +1592,17 @@ conditional_line (char *line, int len, const struct floc *flocp)
/* Found one: skip past it and any whitespace after it. */
line = next_token (line + len);
-#define EXTRANEOUS() error (flocp, _("Extraneous text after `%s' directive"), cmdname)
+#define EXTRATEXT() OS (error, flocp, _("extraneous text after '%s' directive"), cmdname)
+#define EXTRACMD() OS (fatal, flocp, _("extraneous '%s'"), cmdname)
/* An 'endif' cannot contain extra text, and reduces the if-depth by 1 */
if (cmdtype == c_endif)
{
if (*line != '\0')
- EXTRANEOUS ();
+ EXTRATEXT ();
if (!conditionals->if_cmds)
- fatal (flocp, _("extraneous `%s'"), cmdname);
+ EXTRACMD ();
--conditionals->if_cmds;
@@ -1510,12 +1616,12 @@ conditional_line (char *line, int len, const struct floc *flocp)
const char *p;
if (!conditionals->if_cmds)
- fatal (flocp, _("extraneous `%s'"), cmdname);
+ EXTRACMD ();
o = conditionals->if_cmds - 1;
if (conditionals->seen_else[o])
- fatal (flocp, _("only one `else' per conditional"));
+ O (fatal, flocp, _("only one 'else' per conditional"));
/* Change the state of ignorance. */
switch (conditionals->ignoring[o])
@@ -1541,14 +1647,14 @@ conditional_line (char *line, int len, const struct floc *flocp)
and cannot be an 'else' or 'endif'. */
/* Find the length of the next word. */
- for (p = line+1; *p != '\0' && !isspace ((unsigned char)*p); ++p)
+ for (p = line+1; ! STOP_SET (*p, MAP_SPACE|MAP_NUL); ++p)
;
len = p - line;
/* If it's 'else' or 'endif' or an illegal conditional, fail. */
- if (word1eq("else") || word1eq("endif")
+ if (word1eq ("else") || word1eq ("endif")
|| conditional_line (line, len, flocp) < 0)
- EXTRANEOUS ();
+ EXTRATEXT ();
else
{
/* conditional_line() created a new level of conditional.
@@ -1578,18 +1684,18 @@ conditional_line (char *line, int len, const struct floc *flocp)
conditionals->allocated);
}
- /* Record that we have seen an `if...' but no `else' so far. */
+ /* Record that we have seen an 'if...' but no 'else' so far. */
conditionals->seen_else[o] = 0;
/* Search through the stack to see if we're already ignoring. */
for (i = 0; i < o; ++i)
if (conditionals->ignoring[i])
{
- /* We are already ignoring, so just push a level to match the next
- "else" or "endif", and keep ignoring. We don't want to expand
- variables in the condition. */
- conditionals->ignoring[o] = 1;
- return 1;
+ /* We are already ignoring, so just push a level to match the next
+ "else" or "endif", and keep ignoring. We don't want to expand
+ variables in the condition. */
+ conditionals->ignoring[o] = 1;
+ return 1;
}
if (cmdtype == c_ifdef || cmdtype == c_ifndef)
@@ -1607,7 +1713,7 @@ conditional_line (char *line, int len, const struct floc *flocp)
i = p - var;
p = next_token (p);
if (*p != '\0')
- return -1;
+ return -1;
var[i] = '\0';
v = lookup_variable (var, i);
@@ -1625,87 +1731,87 @@ conditional_line (char *line, int len, const struct floc *flocp)
char termin = *line == '(' ? ',' : *line;
if (termin != ',' && termin != '"' && termin != '\'')
- return -1;
+ return -1;
s1 = ++line;
/* Find the end of the first string. */
if (termin == ',')
- {
- int count = 0;
- for (; *line != '\0'; ++line)
- if (*line == '(')
- ++count;
- else if (*line == ')')
- --count;
- else if (*line == ',' && count <= 0)
- break;
- }
+ {
+ int count = 0;
+ for (; *line != '\0'; ++line)
+ if (*line == '(')
+ ++count;
+ else if (*line == ')')
+ --count;
+ else if (*line == ',' && count <= 0)
+ break;
+ }
else
- while (*line != '\0' && *line != termin)
- ++line;
+ while (*line != '\0' && *line != termin)
+ ++line;
if (*line == '\0')
- return -1;
+ return -1;
if (termin == ',')
- {
- /* Strip blanks after the first string. */
- char *p = line++;
- while (isblank ((unsigned char)p[-1]))
- --p;
- *p = '\0';
- }
+ {
+ /* Strip blanks after the first string. */
+ char *p = line++;
+ while (isblank ((unsigned char)p[-1]))
+ --p;
+ *p = '\0';
+ }
else
- *line++ = '\0';
+ *line++ = '\0';
s2 = variable_expand (s1);
/* We must allocate a new copy of the expanded string because
- variable_expand re-uses the same buffer. */
+ variable_expand re-uses the same buffer. */
l = strlen (s2);
s1 = alloca (l + 1);
memcpy (s1, s2, l + 1);
if (termin != ',')
- /* Find the start of the second string. */
- line = next_token (line);
+ /* Find the start of the second string. */
+ line = next_token (line);
termin = termin == ',' ? ')' : *line;
if (termin != ')' && termin != '"' && termin != '\'')
- return -1;
+ return -1;
/* Find the end of the second string. */
if (termin == ')')
- {
- int count = 0;
- s2 = next_token (line);
- for (line = s2; *line != '\0'; ++line)
- {
- if (*line == '(')
- ++count;
- else if (*line == ')')
- {
- if (count <= 0)
- break;
- else
- --count;
- }
- }
- }
+ {
+ int count = 0;
+ s2 = next_token (line);
+ for (line = s2; *line != '\0'; ++line)
+ {
+ if (*line == '(')
+ ++count;
+ else if (*line == ')')
+ {
+ if (count <= 0)
+ break;
+ else
+ --count;
+ }
+ }
+ }
else
- {
- ++line;
- s2 = line;
- while (*line != '\0' && *line != termin)
- ++line;
- }
+ {
+ ++line;
+ s2 = line;
+ while (*line != '\0' && *line != termin)
+ ++line;
+ }
if (*line == '\0')
- return -1;
+ return -1;
*line = '\0';
line = next_token (++line);
if (*line != '\0')
- EXTRANEOUS ();
+ EXTRATEXT ();
s2 = variable_expand (s2);
conditionals->ignoring[o] = (streq (s1, s2) == (cmdtype == c_ifneq));
@@ -1732,7 +1838,7 @@ conditional_line (char *line, int len, const struct floc *flocp)
static void
record_target_var (struct nameseq *filenames, char *defn,
enum variable_origin origin, struct vmodifiers *vmod,
- const struct floc *flocp)
+ const gmk_floc *flocp)
{
struct nameseq *nextf;
struct variable_set_list *global;
@@ -1746,7 +1852,6 @@ record_target_var (struct nameseq *filenames, char *defn,
{
struct variable *v;
const char *name = filenames->name;
- const char *fname;
const char *percent;
struct pattern_var *p;
@@ -1771,8 +1876,6 @@ record_target_var (struct nameseq *filenames, char *defn,
v->value = allocated_variable_expand (v->value);
else
v->value = xstrdup (v->value);
-
- fname = p->target;
}
else
{
@@ -1789,12 +1892,11 @@ record_target_var (struct nameseq *filenames, char *defn,
f = f->double_colon;
initialize_file_variables (f, 1);
- fname = f->name;
current_variable_set_list = f->variables;
v = try_variable_definition (flocp, defn, origin, 1);
if (!v)
- fatal (flocp, _("Malformed target-specific variable definition"));
+ O (fatal, flocp, _("Malformed target-specific variable definition"));
current_variable_set_list = global;
}
@@ -1808,13 +1910,13 @@ record_target_var (struct nameseq *filenames, char *defn,
if (v->origin != o_override)
{
struct variable *gv;
- int len = strlen(v->name);
+ int len = strlen (v->name);
gv = lookup_variable (v->name, len);
- if (gv && (gv->origin == o_env_override || gv->origin == o_command))
+ if (gv && v != gv
+ && (gv->origin == o_env_override || gv->origin == o_command))
{
- if (v->value != 0)
- free (v->value);
+ free (v->value);
v->value = xstrdup (gv->value);
v->origin = gv->origin;
v->recursive = gv->recursive;
@@ -1828,9 +1930,9 @@ record_target_var (struct nameseq *filenames, char *defn,
with dependencies DEPS, commands to execute described
by COMMANDS and COMMANDS_IDX, coming from FILENAME:COMMANDS_STARTED.
TWO_COLON is nonzero if a double colon was used.
- If not nil, PATTERN is the `%' pattern to make this
+ If not nil, PATTERN is the '%' pattern to make this
a static pattern rule, and PATTERN_PERCENT is a pointer
- to the `%' within it.
+ to the '%' within it.
The links of FILENAMES are freed, and so are any names in it
that are not incorporated into other data structures. */
@@ -1840,7 +1942,7 @@ 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,
- const struct floc *flocp)
+ char prefix, const gmk_floc *flocp)
{
struct commands *cmds;
struct dep *deps;
@@ -1852,7 +1954,7 @@ record_files (struct nameseq *filenames, const char *pattern,
at this time, since they won't get snapped and we'll get core dumps.
See Savannah bug # 12124. */
if (snapped_deps)
- fatal (flocp, _("prerequisites cannot be defined in recipes"));
+ O (fatal, flocp, _("prerequisites cannot be defined in recipes"));
/* Determine if this is a pattern rule or not. */
name = filenames->name;
@@ -1866,6 +1968,7 @@ record_files (struct nameseq *filenames, const char *pattern,
cmds->fileinfo.lineno = cmds_started;
cmds->commands = xstrndup (commands, commands_idx);
cmds->command_lines = 0;
+ cmds->recipe_prefix = prefix;
}
else
cmds = 0;
@@ -1874,24 +1977,28 @@ record_files (struct nameseq *filenames, const char *pattern,
expansion: if so, snap_deps() will do it. */
if (depstr == 0)
deps = 0;
- else if (second_expansion && strchr (depstr, '$'))
- {
- deps = alloc_dep ();
- deps->name = depstr;
- deps->need_2nd_expansion = 1;
- deps->staticpattern = pattern != 0;
- }
else
{
- deps = split_prereqs (depstr);
- free (depstr);
-
- /* We'll enter static pattern prereqs later when we have the stem. We
- don't want to enter pattern rules at all so that we don't think that
- they ought to exist (make manual "Implicit Rule Search Algorithm",
- item 5c). */
- if (! pattern && ! implicit_percent)
- deps = enter_prereqs (deps, NULL);
+ depstr = unescape_char (depstr, ':');
+ if (second_expansion && strchr (depstr, '$'))
+ {
+ deps = alloc_dep ();
+ deps->name = depstr;
+ deps->need_2nd_expansion = 1;
+ deps->staticpattern = pattern != 0;
+ }
+ else
+ {
+ deps = split_prereqs (depstr);
+ free (depstr);
+
+ /* We'll enter static pattern prereqs later when we have the stem.
+ We don't want to enter pattern rules at all so that we don't
+ think that they ought to exist (make manual "Implicit Rule Search
+ Algorithm", item 5c). */
+ if (! pattern && ! implicit_percent)
+ deps = enter_prereqs (deps, NULL);
+ }
}
/* For implicit rules, _all_ the targets must have a pattern. That means we
@@ -1905,7 +2012,7 @@ record_files (struct nameseq *filenames, const char *pattern,
unsigned int c;
if (pattern != 0)
- fatal (flocp, _("mixed implicit and static pattern rules"));
+ O (fatal, flocp, _("mixed implicit and static pattern rules"));
/* Count the targets to create an array of target names.
We already have the first one. */
@@ -1928,10 +2035,10 @@ record_files (struct nameseq *filenames, const char *pattern,
implicit_percent = find_percent_cached (&name);
if (implicit_percent == 0)
- fatal (flocp, _("mixed implicit and normal rules"));
+ O (fatal, flocp, _("mixed implicit and normal rules"));
- targets[c] = name;
- target_pats[c] = implicit_percent;
+ targets[c] = name;
+ target_pats[c] = implicit_percent;
++c;
nextf = filenames->next;
@@ -1961,19 +2068,27 @@ record_files (struct nameseq *filenames, const char *pattern,
{
posix_pedantic = 1;
define_variable_cname (".SHELLFLAGS", "-ec", o_default, 0);
+ /* These default values are based on IEEE Std 1003.1-2008. */
+ define_variable_cname ("ARFLAGS", "-rv", o_default, 0);
+ define_variable_cname ("CC", "c99", o_default, 0);
+ define_variable_cname ("CFLAGS", "-O", o_default, 0);
+ define_variable_cname ("FC", "fort77", o_default, 0);
+ define_variable_cname ("FFLAGS", "-O 1", o_default, 0);
+ define_variable_cname ("SCCSGETFLAGS", "-s", o_default, 0);
}
else if (streq (name, ".SECONDEXPANSION"))
second_expansion = 1;
-#if !defined(WINDOWS32) && !defined (__MSDOS__) && !defined (__EMX__)
+#if !defined (__MSDOS__) && !defined (__EMX__)
else if (streq (name, ".ONESHELL"))
one_shell = 1;
#endif
/* If this is a static pattern rule:
- `targets: target%pattern: prereq%pattern; recipe',
+ 'targets: target%pattern: prereq%pattern; recipe',
make sure the pattern matches this target name. */
if (pattern && !pattern_matches (pattern, pattern_percent, name))
- error (flocp, _("target `%s' doesn't match the target pattern"), name);
+ OS (error, flocp,
+ _("target '%s' doesn't match the target pattern"), name);
else if (deps)
/* If there are multiple targets, copy the chain DEPS for all but the
last one. It is not safe for the same deps to go in more than one
@@ -1982,76 +2097,77 @@ record_files (struct nameseq *filenames, const char *pattern,
/* Find or create an entry in the file database for this target. */
if (!two_colon)
- {
- /* Single-colon. Combine this rule with the file's existing record,
- if any. */
- f = enter_file (strcache_add (name));
- if (f->double_colon)
- fatal (flocp,
- _("target file `%s' has both : and :: entries"), f->name);
-
- /* If CMDS == F->CMDS, this target was listed in this rule
- more than once. Just give a warning since this is harmless. */
- if (cmds != 0 && cmds == f->cmds)
- error (flocp,
- _("target `%s' given more than once in the same rule."),
- f->name);
-
- /* Check for two single-colon entries both with commands.
- Check is_target so that we don't lose on files such as .c.o
- whose commands were preinitialized. */
- else if (cmds != 0 && f->cmds != 0 && f->is_target)
- {
- error (&cmds->fileinfo,
- _("warning: overriding recipe for target `%s'"),
+ {
+ /* Single-colon. Combine this rule with the file's existing record,
+ if any. */
+ f = enter_file (strcache_add (name));
+ if (f->double_colon)
+ OS (fatal, flocp,
+ _("target file '%s' has both : and :: entries"), f->name);
+
+ /* If CMDS == F->CMDS, this target was listed in this rule
+ more than once. Just give a warning since this is harmless. */
+ if (cmds != 0 && cmds == f->cmds)
+ OS (error, flocp,
+ _("target '%s' given more than once in the same rule"),
+ f->name);
+
+ /* Check for two single-colon entries both with commands.
+ Check is_target so that we don't lose on files such as .c.o
+ whose commands were preinitialized. */
+ else if (cmds != 0 && f->cmds != 0 && f->is_target)
+ {
+ size_t l = strlen (f->name);
+ error (&cmds->fileinfo, l,
+ _("warning: overriding recipe for target '%s'"),
f->name);
- error (&f->cmds->fileinfo,
- _("warning: ignoring old recipe for target `%s'"),
+ error (&f->cmds->fileinfo, l,
+ _("warning: ignoring old recipe for target '%s'"),
f->name);
- }
-
- /* Defining .DEFAULT with no deps or cmds clears it. */
- if (f == default_file && this == 0 && cmds == 0)
- f->cmds = 0;
- if (cmds != 0)
- f->cmds = cmds;
-
- /* Defining .SUFFIXES with no dependencies clears out the list of
- suffixes. */
- if (f == suffix_file && this == 0)
- {
+ }
+
+ /* Defining .DEFAULT with no deps or cmds clears it. */
+ if (f == default_file && this == 0 && cmds == 0)
+ f->cmds = 0;
+ if (cmds != 0)
+ f->cmds = cmds;
+
+ /* Defining .SUFFIXES with no dependencies clears out the list of
+ suffixes. */
+ if (f == suffix_file && this == 0)
+ {
free_dep_chain (f->deps);
- f->deps = 0;
- }
- }
+ f->deps = 0;
+ }
+ }
else
- {
- /* Double-colon. Make a new record even if there already is one. */
- f = lookup_file (name);
-
- /* Check for both : and :: rules. Check is_target so we don't lose
- on default suffix rules or makefiles. */
- if (f != 0 && f->is_target && !f->double_colon)
- fatal (flocp,
- _("target file `%s' has both : and :: entries"), f->name);
-
- f = enter_file (strcache_add (name));
- /* If there was an existing entry and it was a double-colon entry,
- enter_file will have returned a new one, making it the prev
- pointer of the old one, and setting its double_colon pointer to
- the first one. */
- if (f->double_colon == 0)
- /* This is the first entry for this name, so we must set its
- double_colon pointer to itself. */
- f->double_colon = f;
-
- f->cmds = cmds;
- }
+ {
+ /* Double-colon. Make a new record even if there already is one. */
+ f = lookup_file (name);
+
+ /* Check for both : and :: rules. Check is_target so we don't lose
+ on default suffix rules or makefiles. */
+ if (f != 0 && f->is_target && !f->double_colon)
+ OS (fatal, flocp,
+ _("target file '%s' has both : and :: entries"), f->name);
+
+ f = enter_file (strcache_add (name));
+ /* If there was an existing entry and it was a double-colon entry,
+ enter_file will have returned a new one, making it the prev
+ pointer of the old one, and setting its double_colon pointer to
+ the first one. */
+ if (f->double_colon == 0)
+ /* This is the first entry for this name, so we must set its
+ double_colon pointer to itself. */
+ f->double_colon = f;
+
+ f->cmds = cmds;
+ }
f->is_target = 1;
/* If this is a static pattern rule, set the stem to the part of its
- name that matched the `%' in the pattern, so you can use $* in the
+ name that matched the '%' in the pattern, so you can use $* in the
commands. If we didn't do it before, enter the prereqs now. */
if (pattern)
{
@@ -2109,7 +2225,8 @@ record_files (struct nameseq *filenames, const char *pattern,
/* Reduce escaped percents. If there are any unescaped it's an error */
name = filenames->name;
if (find_percent_cached (&name))
- fatal (flocp, _("mixed implicit and normal rules"));
+ O (error, flocp,
+ _("*** mixed implicit and normal rules: deprecated syntax"));
}
}
@@ -2123,37 +2240,24 @@ record_files (struct nameseq *filenames, const char *pattern,
STOPCHAR _cannot_ be '$' if IGNOREVARS is true. */
static char *
-find_char_unquote (char *string, int stop1, int stop2, int blank,
- int ignorevars)
+find_char_unquote (char *string, int map)
{
unsigned int string_len = 0;
char *p = string;
- if (ignorevars)
- ignorevars = '$';
+ /* Always stop on NUL. */
+ map |= MAP_NUL;
while (1)
{
- if (stop2 && blank)
- while (*p != '\0' && *p != ignorevars && *p != stop1 && *p != stop2
- && ! isblank ((unsigned char) *p))
- ++p;
- else if (stop2)
- while (*p != '\0' && *p != ignorevars && *p != stop1 && *p != stop2)
- ++p;
- else if (blank)
- while (*p != '\0' && *p != ignorevars && *p != stop1
- && ! isblank ((unsigned char) *p))
- ++p;
- else
- while (*p != '\0' && *p != ignorevars && *p != stop1)
- ++p;
+ while (! STOP_SET (*p, map))
+ ++p;
if (*p == '\0')
- break;
+ break;
/* If we stopped due to a variable reference, skip over its contents. */
- if (*p == ignorevars)
+ if (STOP_SET (*p, MAP_VARIABLE))
{
char openparen = p[1];
@@ -2184,41 +2288,84 @@ find_char_unquote (char *string, int stop1, int stop2, int blank,
}
if (p > string && p[-1] == '\\')
- {
- /* Search for more backslashes. */
- int i = -2;
- while (&p[i] >= string && p[i] == '\\')
- --i;
- ++i;
- /* Only compute the length if really needed. */
- if (string_len == 0)
- string_len = strlen (string);
- /* The number of backslashes is now -I.
- Copy P over itself to swallow half of them. */
- memmove (&p[i], &p[i/2], (string_len - (p - string)) - (i/2) + 1);
- p += i/2;
- if (i % 2 == 0)
- /* All the backslashes quoted each other; the STOPCHAR was
- unquoted. */
- return p;
-
- /* The STOPCHAR was quoted by a backslash. Look for another. */
- }
+ {
+ /* Search for more backslashes. */
+ int i = -2;
+ while (&p[i] >= string && p[i] == '\\')
+ --i;
+ ++i;
+ /* Only compute the length if really needed. */
+ if (string_len == 0)
+ string_len = strlen (string);
+ /* The number of backslashes is now -I.
+ Copy P over itself to swallow half of them. */
+ memmove (&p[i], &p[i/2], (string_len - (p - string)) - (i/2) + 1);
+ p += i/2;
+ if (i % 2 == 0)
+ /* All the backslashes quoted each other; the STOPCHAR was
+ unquoted. */
+ return p;
+
+ /* The STOPCHAR was quoted by a backslash. Look for another. */
+ }
else
- /* No backslash in sight. */
- return p;
+ /* No backslash in sight. */
+ return p;
}
/* Never hit a STOPCHAR or blank (with BLANK nonzero). */
return 0;
}
+/* Unescape a character in a string. The string is compressed onto itself. */
+
+static char *
+unescape_char (char *string, int c)
+{
+ char *p = string;
+ char *s = string;
+
+ while (*s != '\0')
+ {
+ if (*s == '\\')
+ {
+ char *e = s;
+ int l;
+
+ /* We found a backslash. See if it's escaping our character. */
+ while (*e == '\\')
+ ++e;
+ l = e - s;
+
+ if (*e != c || l%2 == 0)
+ {
+ /* It's not; just take it all without unescaping. */
+ memmove (p, s, l);
+ p += l;
+ }
+ else if (l > 1)
+ {
+ /* It is, and there's >1 backslash. Take half of them. */
+ l /= 2;
+ memmove (p, s, l);
+ p += l;
+ }
+ s = e;
+ }
+
+ *(p++) = *(s++);
+ }
+
+ *p = '\0';
+ return string;
+}
+
/* Search PATTERN for an unquoted % and handle quoting. */
char *
find_percent (char *pattern)
{
- return find_char_unquote (pattern, '%', 0, 0, 0);
+ return find_char_unquote (pattern, MAP_PERCENT);
}
/* Search STRING for an unquoted % and handle quoting. Returns a pointer to
@@ -2241,7 +2388,7 @@ find_percent_cached (const char **string)
while (1)
{
- while (*p != '\0' && *p != '%')
+ while (! STOP_SET (*p, MAP_PERCENT|MAP_NUL))
++p;
if (*p == '\0')
@@ -2382,17 +2529,17 @@ readline (struct ebuffer *ebuf)
len = strlen (p);
if (len == 0)
- {
- /* This only happens when the first thing on the line is a '\0'.
- It is a pretty hopeless case, but (wonder of wonders) Athena
- lossage strikes again! (xmkmf puts NULs in its makefiles.)
- There is nothing really to be done; we synthesize a newline so
- the following line doesn't appear to be part of this line. */
- error (&ebuf->floc,
- _("warning: NUL character seen; rest of line ignored"));
- p[0] = '\n';
- len = 1;
- }
+ {
+ /* This only happens when the first thing on the line is a '\0'.
+ It is a pretty hopeless case, but (wonder of wonders) Athena
+ lossage strikes again! (xmkmf puts NULs in its makefiles.)
+ There is nothing really to be done; we synthesize a newline so
+ the following line doesn't appear to be part of this line. */
+ O (error, &ebuf->floc,
+ _("warning: NUL character seen; rest of line ignored"));
+ p[0] = '\n';
+ len = 1;
+ }
/* Jump past the text we just read. */
p += len;
@@ -2411,23 +2558,23 @@ readline (struct ebuffer *ebuf)
if ((p - start) > 1 && p[-2] == '\r')
{
--p;
- p[-1] = '\n';
+ memmove (p-1, p, strlen (p) + 1);
}
#endif
backslash = 0;
for (p2 = p - 2; p2 >= start; --p2)
- {
- if (*p2 != '\\')
- break;
+ {
+ if (*p2 != '\\')
+ break;
backslash = !backslash;
- }
+ }
if (!backslash)
- {
- p[-1] = '\0';
- break;
- }
+ {
+ p[-1] = '\0';
+ break;
+ }
/* It was a backslash/newline combo. If we have more space, read
another line. */
@@ -2470,7 +2617,7 @@ readline (struct ebuffer *ebuf)
w_colon A colon
w_dcolon A double-colon
w_semicolon A semicolon
- w_varassign A variable assignment operator (=, :=, +=, or ?=)
+ w_varassign A variable assignment operator (=, :=, ::=, +=, ?=, or !=)
Note that this function is only used when reading certain parts of the
makefile. Don't use it where special rules hold sway (RHS of a variable,
@@ -2509,7 +2656,13 @@ get_next_mword (char *buffer, char *delim, char **startp, unsigned int *length)
{
case ':':
++p;
- wtype = w_dcolon;
+ if (p[1] != '=')
+ wtype = w_dcolon;
+ else
+ {
+ wtype = w_varassign;
+ ++p;
+ }
break;
case '=':
@@ -2521,6 +2674,7 @@ get_next_mword (char *buffer, char *delim, char **startp, unsigned int *length)
case '+':
case '?':
+ case '!':
if (*p == '=')
{
++p;
@@ -2540,7 +2694,7 @@ get_next_mword (char *buffer, char *delim, char **startp, unsigned int *length)
/* This is some non-operator word. A word consists of the longest
string of characters that doesn't contain whitespace, one of [:=#],
- or [?+]=, or one of the chars in the DELIM string. */
+ or [?+!]=, or one of the chars in the DELIM string. */
/* We start out assuming a static word; if we see a variable we'll
adjust our assumptions then. */
@@ -2562,14 +2716,14 @@ get_next_mword (char *buffer, char *delim, char **startp, unsigned int *length)
case ':':
#ifdef HAVE_DOS_PATHS
- /* A word CAN include a colon in its drive spec. The drive
- spec is allowed either at the beginning of a word, or as part
- of the archive member name, like in "libfoo.a(d:/foo/bar.o)". */
- if (!(p - beg >= 2
- && (*p == '/' || *p == '\\') && isalpha ((unsigned char)p[-2])
- && (p - beg == 2 || p[-3] == '(')))
+ /* A word CAN include a colon in its drive spec. The drive
+ spec is allowed either at the beginning of a word, or as part
+ of the archive member name, like in "libfoo.a(d:/foo/bar.o)". */
+ if (!(p - beg >= 2
+ && (*p == '/' || *p == '\\') && isalpha ((unsigned char)p[-2])
+ && (p - beg == 2 || p[-3] == '(')))
#endif
- goto done_word;
+ goto done_word;
case '$':
c = *(p++);
@@ -2643,7 +2797,7 @@ get_next_mword (char *buffer, char *delim, char **startp, unsigned int *length)
void
construct_include_path (const char **arg_dirs)
{
-#ifdef VAXC /* just don't ask ... */
+#ifdef VAXC /* just don't ask ... */
stat_t stbuf;
#else
struct stat stbuf;
@@ -2674,19 +2828,19 @@ construct_include_path (const char **arg_dirs)
if (arg_dirs)
while (*arg_dirs != 0)
{
- const char *dir = *(arg_dirs++);
+ const char *dir = *(arg_dirs++);
char *expanded = 0;
int e;
- if (dir[0] == '~')
- {
- expanded = tilde_expand (dir);
- if (expanded != 0)
- dir = expanded;
- }
+ if (dir[0] == '~')
+ {
+ expanded = tilde_expand (dir);
+ if (expanded != 0)
+ dir = expanded;
+ }
EINTRLOOP (e, stat (dir, &stbuf));
- if (e == 0 && S_ISDIR (stbuf.st_mode))
+ if (e == 0 && S_ISDIR (stbuf.st_mode))
{
unsigned int len = strlen (dir);
/* If dir name is written with trailing slashes, discard them. */
@@ -2697,8 +2851,7 @@ construct_include_path (const char **arg_dirs)
dirs[idx++] = strcache_add_len (dir, len);
}
- if (expanded)
- free (expanded);
+ free (expanded);
}
/* Now add the standard default dirs at the end. */
@@ -2712,10 +2865,10 @@ construct_include_path (const char **arg_dirs)
if (djdir)
{
unsigned int len = strlen (djdir->value) + 8;
- char *defdir = alloca (len + 1);
+ char *defdir = alloca (len + 1);
- strcat (strcpy (defdir, djdir->value), "/include");
- dirs[idx++] = strcache_add (defdir);
+ strcat (strcpy (defdir, djdir->value), "/include");
+ dirs[idx++] = strcache_add (defdir);
if (len > max_incl_len)
max_incl_len = len;
@@ -2765,42 +2918,42 @@ tilde_expand (const char *name)
int is_variable;
{
- /* Turn off --warn-undefined-variables while we expand HOME. */
- int save = warn_undefined_variables_flag;
- warn_undefined_variables_flag = 0;
+ /* Turn off --warn-undefined-variables while we expand HOME. */
+ int save = warn_undefined_variables_flag;
+ warn_undefined_variables_flag = 0;
- home_dir = allocated_variable_expand ("$(HOME)");
+ home_dir = allocated_variable_expand ("$(HOME)");
- warn_undefined_variables_flag = save;
+ warn_undefined_variables_flag = save;
}
is_variable = home_dir[0] != '\0';
if (!is_variable)
- {
- free (home_dir);
- home_dir = getenv ("HOME");
- }
+ {
+ free (home_dir);
+ home_dir = getenv ("HOME");
+ }
# 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)
- {
- struct passwd *p = getpwnam (logname);
- if (p != 0)
- home_dir = p->pw_dir;
- }
- }
+ {
+ extern char *getlogin ();
+ char *logname = getlogin ();
+ home_dir = 0;
+ if (logname != 0)
+ {
+ struct passwd *p = getpwnam (logname);
+ if (p != 0)
+ home_dir = p->pw_dir;
+ }
+ }
# endif /* !AMIGA && !WINDOWS32 */
if (home_dir != 0)
- {
- char *new = xstrdup (concat (2, home_dir, name + 1));
- if (is_variable)
- free (home_dir);
- return new;
- }
+ {
+ char *new = xstrdup (concat (2, home_dir, name + 1));
+ if (is_variable)
+ free (home_dir);
+ return new;
+ }
}
# if !defined(_AMIGA) && !defined(WINDOWS32)
else
@@ -2808,17 +2961,17 @@ tilde_expand (const char *name)
struct passwd *pwent;
char *userend = strchr (name + 1, '/');
if (userend != 0)
- *userend = '\0';
+ *userend = '\0';
pwent = getpwnam (name + 1);
if (pwent != 0)
- {
- if (userend == 0)
- return xstrdup (pwent->pw_dir);
- else
- return xstrdup (concat (3, pwent->pw_dir, "/", userend + 1));
- }
+ {
+ if (userend == 0)
+ return xstrdup (pwent->pw_dir);
+ else
+ return xstrdup (concat (3, pwent->pw_dir, "/", userend + 1));
+ }
else if (userend != 0)
- *userend = '/';
+ *userend = '/';
}
# endif /* !AMIGA && !WINDOWS32 */
#endif /* !VMS */
@@ -2849,7 +3002,7 @@ tilde_expand (const char *name)
*/
void *
-parse_file_seq (char **stringp, unsigned int size, int stopchar,
+parse_file_seq (char **stringp, unsigned int size, int stopmap,
const char *prefix, int flags)
{
extern void dir_setup_glob (glob_t *glob);
@@ -2857,9 +3010,8 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar,
/* tmp points to tmpbuf after the prefix, if any.
tp is the end of the buffer. */
static char *tmpbuf = NULL;
- static int tmpbuf_len = 0;
- int cachep = (! (flags & PARSEFS_NOCACHE));
+ int cachep = NONE_SET (flags, PARSEFS_NOCACHE);
struct nameseq *new = 0;
struct nameseq **newp = &new;
@@ -2874,20 +3026,18 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar,
glob_t gl;
char *tp;
-#ifdef VMS
-# define VMS_COMMA ','
-#else
-# define VMS_COMMA 0
-#endif
+ /* Always stop on NUL. */
+ stopmap |= MAP_NUL;
if (size < sizeof (struct nameseq))
size = sizeof (struct nameseq);
- if (! (flags & PARSEFS_NOGLOB))
+ if (NONE_SET (flags, PARSEFS_NOGLOB))
dir_setup_glob (&gl);
/* Get enough temporary space to construct the largest possible target. */
{
+ static int tmpbuf_len = 0;
int l = strlen (*stringp) + 1;
if (l > tmpbuf_len)
{
@@ -2904,6 +3054,7 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar,
const char *name;
const char **nlist = 0;
char *tildep = 0;
+ int globme = 1;
#ifndef NO_ARCHIVES
char *arname = 0;
char *memname = 0;
@@ -2914,59 +3065,59 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar,
/* Skip whitespace; at the end of the string or STOPCHAR we're done. */
p = next_token (p);
- if (*p == '\0' || *p == stopchar)
- break;
+ if (STOP_SET (*p, stopmap))
+ break;
/* There are names left, so find the end of the next name.
Throughout this iteration S points to the start. */
s = p;
- p = find_char_unquote (p, stopchar, VMS_COMMA, 1, 0);
+ p = find_char_unquote (p, stopmap|MAP_VMSCOMMA|MAP_BLANK);
#ifdef VMS
- /* convert comma separated list to space separated */
+ /* convert comma separated list to space separated */
if (p && *p == ',')
- *p =' ';
+ *p =' ';
#endif
#ifdef _AMIGA
- if (stopchar == ':' && p && *p == ':'
+ if (p && STOP_SET (*p, stopmap & MAP_COLON)
&& !(isspace ((unsigned char)p[1]) || !p[1]
|| isspace ((unsigned char)p[-1])))
- p = find_char_unquote (p+1, stopchar, VMS_COMMA, 1, 0);
+ p = find_char_unquote (p+1, stopmap|MAP_VMSCOMMA|MAP_BLANK);
#endif
#ifdef HAVE_DOS_PATHS
/* For DOS paths, skip a "C:\..." or a "C:/..." until we find the
first colon which isn't followed by a slash or a backslash.
Note that tokens separated by spaces should be treated as separate
tokens since make doesn't allow path names with spaces */
- if (stopchar == ':')
+ if (stopmap | MAP_COLON)
while (p != 0 && !isspace ((unsigned char)*p) &&
(p[1] == '\\' || p[1] == '/') && isalpha ((unsigned char)p[-1]))
- p = find_char_unquote (p + 1, stopchar, VMS_COMMA, 1, 0);
+ p = find_char_unquote (p + 1, stopmap|MAP_VMSCOMMA|MAP_BLANK);
#endif
if (p == 0)
- p = s + strlen (s);
+ p = s + strlen (s);
/* Strip leading "this directory" references. */
- if (! (flags & PARSEFS_NOSTRIP))
+ if (NONE_SET (flags, PARSEFS_NOSTRIP))
#ifdef VMS
- /* Skip leading `[]'s. */
- while (p - s > 2 && s[0] == '[' && s[1] == ']')
+ /* Skip leading '[]'s. */
+ while (p - s > 2 && s[0] == '[' && s[1] == ']')
#else
- /* Skip leading `./'s. */
- while (p - s > 2 && s[0] == '.' && s[1] == '/')
+ /* Skip leading './'s. */
+ while (p - s > 2 && s[0] == '.' && s[1] == '/')
#endif
- {
+ {
/* Skip "./" and all following slashes. */
- s += 2;
- while (*s == '/')
- ++s;
- }
+ s += 2;
+ while (*s == '/')
+ ++s;
+ }
/* Extract the filename just found, and skip it.
Set NAME to the string, and NLEN to its length. */
if (s == p)
{
- /* The name was stripped to empty ("./"). */
+ /* The name was stripped to empty ("./"). */
#if defined(VMS)
continue;
#elif defined(_AMIGA)
@@ -2981,19 +3132,19 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar,
#endif
}
else
- {
+ {
#ifdef VMS
/* VMS filenames can have a ':' in them but they have to be '\'ed but we need
* to remove this '\' before we can use the filename.
* xstrdup called because S may be read-only string constant.
*/
- char *n = tp;
- while (s < p)
- {
- if (s[0] == '\\' && s[1] == ':')
+ char *n = tp;
+ while (s < p)
+ {
+ if (s[0] == '\\' && s[1] == ':')
++s;
- *(n++) = *(s++);
- }
+ *(n++) = *(s++);
+ }
n[0] = '\0';
nlen = strlen (tp);
#else
@@ -3012,7 +3163,7 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar,
"libf.a(x.o) libf.a(y.o) libf.a(z.o)"
TP == TMP means we're not already in an archive group. Ignore
- something starting with `(', as that cannot actually be an
+ something starting with '(', as that cannot actually be an
archive-member reference (and treating it as such results in an empty
file name, which causes much lossage). Also if it ends in ")" then
it's a complete reference so we don't need to treat it specially.
@@ -3020,7 +3171,7 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar,
Finally, note that archive groups must end with ')' as the last
character, so ensure there's some word ending like that before
considering this an archive group. */
- if (! (flags & PARSEFS_NOAR)
+ if (NONE_SET (flags, PARSEFS_NOAR)
&& tp == tmpbuf && tp[0] != '(' && tp[nlen-1] != ')')
{
char *n = strchr (tp, '(');
@@ -3028,16 +3179,19 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar,
{
/* This looks like the first element in an open archive group.
A valid group MUST have ')' as the last character. */
- const char *e = p + nlen;
+ const char *e = p;
do
{
+ const char *o = 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. */
- while (*e != '\0' && *e != stopchar && *e != VMS_COMMA
- && ! isblank ((unsigned char) *e))
+ while (! STOP_SET (*e, stopmap|MAP_BLANK|MAP_VMSCOMMA))
++e;
+ /* If we didn't move, we're done now. */
+ if (e == o)
+ break;
if (e[-1] == ')')
{
/* Found the end, so this is the first element in an
@@ -3046,16 +3200,16 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar,
nlen -= (n + 1) - tp;
tp = n + 1;
- /* If we have just "lib(", part of something like
- "lib( a b)", go to the next item. */
- if (! nlen)
- continue;
-
/* We can stop looking now. */
break;
}
}
while (*e != '\0');
+
+ /* If we have just "lib(", part of something like "lib( a b)",
+ go to the next item. */
+ if (! nlen)
+ continue;
}
}
@@ -3082,62 +3236,70 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar,
/* If we're not globbing we're done: add it to the end of the chain.
Go to the next item in the string. */
- if (flags & PARSEFS_NOGLOB)
+ if (ANY_SET (flags, PARSEFS_NOGLOB))
{
- NEWELT (concat (2, prefix, tp));
+ NEWELT (concat (2, prefix, tmpbuf));
continue;
}
/* If we get here we know we're doing glob expansion.
TP is a string in tmpbuf. NLEN is no longer used.
We may need to do more work: after this NAME will be set. */
- name = tp;
+ name = tmpbuf;
/* Expand tilde if applicable. */
- if (tp[0] == '~')
- {
- tildep = tilde_expand (tp);
- if (tildep != 0)
+ if (tmpbuf[0] == '~')
+ {
+ tildep = tilde_expand (tmpbuf);
+ if (tildep != 0)
name = tildep;
- }
+ }
#ifndef NO_ARCHIVES
/* If NAME is an archive member reference replace it with the archive
file name, and save the member name in MEMNAME. We will glob on the
archive name and then reattach MEMNAME later. */
- if (! (flags & PARSEFS_NOAR) && ar_name (name))
- {
- ar_parse_name (name, &arname, &memname);
- name = arname;
- }
+ if (NONE_SET (flags, PARSEFS_NOAR) && ar_name (name))
+ {
+ ar_parse_name (name, &arname, &memname);
+ name = arname;
+ }
#endif /* !NO_ARCHIVES */
- switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl))
- {
- case GLOB_NOSPACE:
- fatal (NILF, _("virtual memory exhausted"));
+ /* glob() is expensive: don't call it unless we need to. */
+ if (NONE_SET (flags, PARSEFS_EXISTS) && strpbrk (name, "?*[") == NULL)
+ {
+ globme = 0;
+ i = 1;
+ nlist = &name;
+ }
+ else
+ switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl))
+ {
+ case GLOB_NOSPACE:
+ OUT_OF_MEM();
- case 0:
- /* Success. */
- i = gl.gl_pathc;
- nlist = (const char **)gl.gl_pathv;
- break;
+ case 0:
+ /* Success. */
+ i = gl.gl_pathc;
+ nlist = (const char **)gl.gl_pathv;
+ break;
- case GLOB_NOMATCH:
- /* If we want only existing items, skip this one. */
- if (flags & PARSEFS_EXISTS)
- {
- i = 0;
- break;
- }
- /* FALLTHROUGH */
+ case GLOB_NOMATCH:
+ /* If we want only existing items, skip this one. */
+ if (ANY_SET (flags, PARSEFS_EXISTS))
+ {
+ i = 0;
+ break;
+ }
+ /* FALLTHROUGH */
- default:
- /* By default keep this name. */
- i = 1;
- nlist = &name;
- break;
- }
+ default:
+ /* By default keep this name. */
+ i = 1;
+ nlist = &name;
+ break;
+ }
/* For each matched element, add it to the list. */
while (i-- > 0)
@@ -3152,7 +3314,10 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar,
else
{
/* We got a chain of items. Attach them. */
- (*newp)->next = found;
+ if (*newp)
+ (*newp)->next = found;
+ else
+ *newp = found;
/* Find and set the new end. Massage names if necessary. */
while (1)
@@ -3174,15 +3339,14 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar,
#endif /* !NO_ARCHIVES */
NEWELT (concat (2, prefix, nlist[i]));
- globfree (&gl);
+ if (globme)
+ globfree (&gl);
#ifndef NO_ARCHIVES
- if (arname)
- free (arname);
+ free (arname);
#endif
- if (tildep)
- free (tildep);
+ free (tildep);
}
*stringp = p;
diff --git a/remake.c b/remake.c
index 27d25506..299a2aaf 100644
--- a/remake.c
+++ b/remake.c
@@ -1,7 +1,5 @@
/* Basic dependency engine for GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -16,7 +14,7 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
#include "filedef.h"
#include "job.h"
#include "commands.h"
@@ -43,7 +41,7 @@ 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 seperate `struct
+ 'struct file'. However, double colon targets have separate 'struct
file's; make sure we always use the base of the double colon chain. */
#define start_updating(_f) (((_f)->double_colon ? (_f)->double_colon : (_f))\
@@ -60,39 +58,39 @@ unsigned int commands_started = 0;
/* Current value for pruning the scan of the goal chain (toggle 0/1). */
static unsigned int considered;
-static int update_file (struct file *file, unsigned int depth);
-static int update_file_1 (struct file *file, unsigned int depth);
-static int check_dep (struct file *file, unsigned int depth,
- FILE_TIMESTAMP this_mtime, int *must_make_ptr);
-static int touch_file (struct file *file);
+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);
+static enum update_status check_dep (struct file *file, unsigned int depth,
+ FILE_TIMESTAMP this_mtime, int *must_make);
+static enum update_status touch_file (struct file *file);
static void remake_file (struct file *file);
static FILE_TIMESTAMP name_mtime (const char *name);
static const char *library_search (const char *lib, FILE_TIMESTAMP *mtime_ptr);
-/* Remake all the goals in the `struct dep' chain GOALS. Return -1 if nothing
+/* Remake all the goals in the 'struct dep' chain GOALS. Return -1 if nothing
was done, 0 if all goals were updated successfully, or 1 if a goal failed.
If rebuilding_makefiles is nonzero, these goals are makefiles, so -t, -q,
and -n should be disabled for them unless they were also command-line
targets, and we should only make one goal at a time and return as soon as
- one goal whose `changed' member is nonzero is successfully made. */
+ one goal whose 'changed' member is nonzero is successfully made. */
-int
+enum update_status
update_goal_chain (struct dep *goals)
{
int t = touch_flag, q = question_flag, n = just_print_flag;
- int status = -1;
+ enum update_status status = us_none;
-#define MTIME(file) (rebuilding_makefiles ? file_mtime_no_search (file) \
- : file_mtime (file))
+#define MTIME(file) (rebuilding_makefiles ? file_mtime_no_search (file) \
+ : file_mtime (file))
/* Duplicate the chain so we can remove things from it. */
goals = copy_dep_chain (goals);
{
- /* Clear the `changed' flag of each goal in the chain.
+ /* 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. */
@@ -122,55 +120,53 @@ update_goal_chain (struct dep *goals)
lastgoal = 0;
g = goals;
while (g != 0)
- {
- /* Iterate over all double-colon entries for this file. */
- struct file *file;
- int stop = 0, any_not_updated = 0;
-
- for (file = g->file->double_colon ? g->file->double_colon : g->file;
- file != NULL;
- file = file->prev)
- {
- unsigned int ocommands_started;
- int x;
+ {
+ /* Iterate over all double-colon entries for this file. */
+ struct file *file;
+ int stop = 0, any_not_updated = 0;
+
+ for (file = g->file->double_colon ? g->file->double_colon : g->file;
+ file != NULL;
+ file = file->prev)
+ {
+ unsigned int ocommands_started;
+ enum update_status fail;
file->dontcare = g->dontcare;
- check_renamed (file);
- if (rebuilding_makefiles)
- {
- if (file->cmd_target)
- {
- touch_flag = t;
- question_flag = q;
- just_print_flag = n;
- }
- else
- touch_flag = question_flag = just_print_flag = 0;
- }
-
- /* Save the old value of `commands_started' so we can compare
- later. It will be incremented when any commands are
- actually run. */
- ocommands_started = commands_started;
-
- x = update_file (file, rebuilding_makefiles ? 1 : 0);
- check_renamed (file);
-
- /* Set the goal's `changed' flag if any commands were started
- by calling update_file above. We check this flag below to
- decide when to give an "up to date" diagnostic. */
+ check_renamed (file);
+ if (rebuilding_makefiles)
+ {
+ if (file->cmd_target)
+ {
+ touch_flag = t;
+ question_flag = q;
+ just_print_flag = n;
+ }
+ else
+ touch_flag = question_flag = just_print_flag = 0;
+ }
+
+ /* Save the old value of 'commands_started' so we can compare
+ later. It will be incremented when any commands are
+ actually run. */
+ ocommands_started = commands_started;
+
+ fail = update_file (file, rebuilding_makefiles ? 1 : 0);
+ check_renamed (file);
+
+ /* Set the goal's 'changed' flag if any commands were started
+ by calling update_file above. We check this flag below to
+ decide when to give an "up to date" diagnostic. */
if (commands_started > ocommands_started)
g->changed = 1;
- /* If we updated a file and STATUS was not already 1, set it to
- 1 if updating failed, or to 0 if updating succeeded. Leave
- STATUS as it is if no updating was done. */
-
- stop = 0;
- if ((x != 0 || file->updated) && status < 1)
+ stop = 0;
+ if ((fail || file->updated) && status < us_question)
{
- if (file->update_status != 0)
+ /* We updated this goal. Update STATUS and decide whether
+ to stop. */
+ if (file->update_status)
{
/* Updating failed, or -q triggered. The STATUS value
tells our caller which. */
@@ -197,7 +193,7 @@ update_goal_chain (struct dep *goals)
enter an infinite loop. */
if (!rebuilding_makefiles
|| (!just_print_flag && !question_flag))
- status = 0;
+ status = us_success;
if (rebuilding_makefiles && file->dontcare)
/* This is a default makefile; stop remaking. */
stop = 1;
@@ -205,56 +201,56 @@ update_goal_chain (struct dep *goals)
}
}
- /* Keep track if any double-colon entry is not finished.
+ /* Keep track if any double-colon entry is not finished.
When they are all finished, the goal is finished. */
- any_not_updated |= !file->updated;
+ any_not_updated |= !file->updated;
file->dontcare = 0;
- if (stop)
- break;
- }
-
- /* Reset FILE since it is null at the end of the loop. */
- file = g->file;
-
- if (stop || !any_not_updated)
- {
- /* If we have found nothing whatever to do for the goal,
- print a message saying nothing needs doing. */
-
- if (!rebuilding_makefiles
- /* If the update_status is zero, we updated successfully
- or not at all. G->changed will have been set above if
- any commands were actually started for this goal. */
- && file->update_status == 0 && !g->changed
- /* Never give a message under -s or -q. */
- && !silent_flag && !question_flag)
- message (1, ((file->phony || file->cmds == 0)
- ? _("Nothing to be done for `%s'.")
- : _("`%s' is up to date.")),
- file->name);
-
- /* This goal is finished. Remove it from the chain. */
- if (lastgoal == 0)
- goals = g->next;
- else
- lastgoal->next = g->next;
-
- /* Free the storage. */
- free (g);
-
- g = lastgoal == 0 ? goals : lastgoal->next;
-
- if (stop)
- break;
- }
- else
- {
- lastgoal = g;
- g = g->next;
- }
- }
+ if (stop)
+ break;
+ }
+
+ /* Reset FILE since it is null at the end of the loop. */
+ file = g->file;
+
+ if (stop || !any_not_updated)
+ {
+ /* If we have found nothing whatever to do for the goal,
+ print a message saying nothing needs doing. */
+
+ if (!rebuilding_makefiles
+ /* If the update_status is success, we updated successfully
+ or not at all. G->changed will have been set above if
+ any commands were actually started for this goal. */
+ && file->update_status == us_success && !g->changed
+ /* Never give a message under -s or -q. */
+ && !silent_flag && !question_flag)
+ OS (message, 1, ((file->phony || file->cmds == 0)
+ ? _("Nothing to be done for '%s'.")
+ : _("'%s' is up to date.")),
+ file->name);
+
+ /* This goal is finished. Remove it from the chain. */
+ if (lastgoal == 0)
+ goals = g->next;
+ else
+ lastgoal->next = g->next;
+
+ /* Free the storage. */
+ free (g);
+
+ g = lastgoal == 0 ? goals : lastgoal->next;
+
+ if (stop)
+ break;
+ }
+ else
+ {
+ lastgoal = g;
+ g = g->next;
+ }
+ }
/* If we reached the end of the dependency graph toggle the considered
flag for the next pass. */
@@ -273,8 +269,8 @@ update_goal_chain (struct dep *goals)
}
/* If FILE is not up to date, execute the commands for it.
- Return 0 if successful, 1 if unsuccessful;
- but with some flag settings, just call `exit' if unsuccessful.
+ Return 0 if successful, non-0 if unsuccessful;
+ but with some flag settings, just call 'exit' if unsuccessful.
DEPTH is the depth in recursions of this function.
We increment it during the consideration of our dependencies,
@@ -284,11 +280,11 @@ update_goal_chain (struct dep *goals)
If there are multiple double-colon entries for FILE,
each is considered in turn. */
-static int
+static enum update_status
update_file (struct file *file, unsigned int depth)
{
- register int status = 0;
- register struct file *f;
+ enum update_status status = us_success;
+ struct file *f;
f = file->double_colon ? file->double_colon : file;
@@ -299,11 +295,12 @@ update_file (struct file *file, unsigned int depth)
if (f->considered == considered)
{
/* Check for the case where a target has been tried and failed but
- the diagnostics hasn't been issued. If we need the diagnostics
+ the diagnostics haven't been issued. If we need the diagnostics
then we will have to continue. */
- if (!(f->updated && f->update_status > 0 && !f->dontcare && f->no_diag))
+ if (!(f->updated && f->update_status > us_none
+ && !f->dontcare && f->no_diag))
{
- DBF (DB_VERBOSE, _("Pruning file `%s'.\n"));
+ DBF (DB_VERBOSE, _("Pruning file '%s'.\n"));
return f->command_state == cs_finished ? f->update_status : 0;
}
}
@@ -312,26 +309,31 @@ update_file (struct file *file, unsigned int depth)
the chain is exhausted. */
for (; f != 0; f = f->prev)
{
+ enum update_status new;
+
f->considered = considered;
- status |= update_file_1 (f, depth);
+ new = update_file_1 (f, depth);
check_renamed (f);
/* Clean up any alloca() used during the update. */
alloca (0);
/* If we got an error, don't bother with double_colon etc. */
- if (status != 0 && !keep_going_flag)
- return status;
+ if (new && !keep_going_flag)
+ return new;
if (f->command_state == cs_running
|| f->command_state == cs_deps_running)
{
- /* Don't run the other :: rules for this
- file until this rule is finished. */
- status = 0;
+ /* Don't run the other :: rules for this
+ file until this rule is finished. */
+ status = us_success;
break;
}
+
+ if (new > status)
+ status = new;
}
/* Process the remaining rules in the double colon chain so they're marked
@@ -344,7 +346,11 @@ update_file (struct file *file, unsigned int depth)
f->considered = considered;
for (d = f->deps; d != 0; d = d->next)
- status |= update_file (d->file, depth + 1);
+ {
+ enum update_status new = update_file (d->file, depth + 1);
+ if (new > status)
+ new = status;
+ }
}
return status;
@@ -355,11 +361,6 @@ update_file (struct file *file, unsigned int depth)
static void
complain (struct file *file)
{
- const char *msg_noparent
- = _("%sNo rule to make target `%s'%s");
- const char *msg_parent
- = _("%sNo rule to make target `%s', needed by `%s'%s");
-
/* If this file has no_diag set then it means we tried to update it
before in the dontcare mode and failed. The target that actually
failed is not necessarily this file but could be one of its direct
@@ -370,7 +371,7 @@ complain (struct file *file)
for (d = file->deps; d != 0; d = d->next)
{
- if (d->file->updated && d->file->update_status > 0 && file->no_diag)
+ if (d->file->updated && d->file->update_status > us_none && file->no_diag)
{
complain (d->file);
break;
@@ -380,44 +381,56 @@ complain (struct file *file)
if (d == 0)
{
/* Didn't find any dependencies to complain about. */
- if (!keep_going_flag)
+ if (file->parent)
{
- if (file->parent == 0)
- fatal (NILF, msg_noparent, "", file->name, "");
+ size_t l = strlen (file->name) + strlen (file->parent->name) + 4;
- fatal (NILF, msg_parent, "", file->name, file->parent->name, "");
- }
+ if (!keep_going_flag)
+ fatal (NILF, l,
+ _("%sNo rule to make target '%s', needed by '%s'%s"),
+ "", file->name, file->parent->name, "");
- if (file->parent == 0)
- error (NILF, msg_noparent, "*** ", file->name, ".");
+ error (NILF, l, _("%sNo rule to make target '%s', needed by '%s'%s"),
+ "*** ", file->name, file->parent->name, ".");
+ }
else
- error (NILF, msg_parent, "*** ", file->name, file->parent->name, ".");
+ {
+ size_t l = strlen (file->name) + 4;
+
+ if (!keep_going_flag)
+ fatal (NILF, l,
+ _("%sNo rule to make target '%s'%s"), "", file->name, "");
+
+ error (NILF, l,
+ _("%sNo rule to make target '%s'%s"), "*** ", file->name, ".");
+ }
file->no_diag = 0;
}
}
-/* Consider a single `struct file' and update it as appropriate. */
+/* Consider a single 'struct file' and update it as appropriate.
+ Return 0 on success, or non-0 on failure. */
-static int
+static enum update_status
update_file_1 (struct file *file, unsigned int depth)
{
+ enum update_status dep_status = us_success;
FILE_TIMESTAMP this_mtime;
int noexist, must_make, deps_changed;
- int dep_status = 0;
struct file *ofile;
struct dep *d, *ad;
struct dep amake;
int running = 0;
- DBF (DB_VERBOSE, _("Considering target file `%s'.\n"));
+ DBF (DB_VERBOSE, _("Considering target file '%s'.\n"));
if (file->updated)
{
- if (file->update_status > 0)
- {
- DBF (DB_VERBOSE,
- _("Recently tried and failed to update file `%s'.\n"));
+ if (file->update_status > us_none)
+ {
+ DBF (DB_VERBOSE,
+ _("Recently tried and failed to update file '%s'.\n"));
/* If the file we tried to make is marked no_diag then no message
was printed about it when it failed during the makefile rebuild.
@@ -426,10 +439,10 @@ update_file_1 (struct file *file, unsigned int depth)
if (file->no_diag && !file->dontcare)
complain (file);
- return file->update_status;
- }
+ return file->update_status;
+ }
- DBF (DB_VERBOSE, _("File `%s' was considered already.\n"));
+ DBF (DB_VERBOSE, _("File '%s' was considered already.\n"));
return 0;
}
@@ -439,10 +452,10 @@ update_file_1 (struct file *file, unsigned int depth)
case cs_deps_running:
break;
case cs_running:
- DBF (DB_VERBOSE, _("Still updating file `%s'.\n"));
+ DBF (DB_VERBOSE, _("Still updating file '%s'.\n"));
return 0;
case cs_finished:
- DBF (DB_VERBOSE, _("Finished updating file `%s'.\n"));
+ DBF (DB_VERBOSE, _("Finished updating file '%s'.\n"));
return file->update_status;
default:
abort ();
@@ -471,15 +484,16 @@ update_file_1 (struct file *file, unsigned int depth)
check_renamed (file);
noexist = this_mtime == NONEXISTENT_MTIME;
if (noexist)
- DBF (DB_BASIC, _("File `%s' does not exist.\n"));
+ DBF (DB_BASIC, _("File '%s' does not exist.\n"));
else if (ORDINARY_MTIME_MIN <= this_mtime && this_mtime <= ORDINARY_MTIME_MAX
- && file->low_resolution_time)
+ && file->low_resolution_time)
{
/* Avoid spurious rebuilds due to low resolution time stamps. */
int ns = FILE_TIMESTAMP_NS (this_mtime);
if (ns != 0)
- error (NILF, _("*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"),
- file->name);
+ OS (error, NILF,
+ _("*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp"),
+ file->name);
this_mtime += FILE_TIMESTAMPS_PER_S - 1 - ns;
}
@@ -491,15 +505,15 @@ update_file_1 (struct file *file, unsigned int depth)
if (!file->phony && file->cmds == 0 && !file->tried_implicit)
{
if (try_implicit_rule (file, depth))
- DBF (DB_IMPLICIT, _("Found an implicit rule for `%s'.\n"));
+ DBF (DB_IMPLICIT, _("Found an implicit rule for '%s'.\n"));
else
- DBF (DB_IMPLICIT, _("No implicit rule found for `%s'.\n"));
+ DBF (DB_IMPLICIT, _("No implicit rule found for '%s'.\n"));
file->tried_implicit = 1;
}
if (file->cmds == 0 && !file->is_target
&& default_file != 0 && default_file->cmds != 0)
{
- DBF (DB_IMPLICIT, _("Using default recipe for `%s'.\n"));
+ DBF (DB_IMPLICIT, _("Using default recipe for '%s'.\n"));
file->cmds = default_file->cmds;
}
@@ -521,6 +535,7 @@ update_file_1 (struct file *file, unsigned int depth)
while (d)
{
+ enum update_status new;
FILE_TIMESTAMP mtime;
int maybe_make;
int dontcare = 0;
@@ -532,8 +547,8 @@ update_file_1 (struct file *file, unsigned int depth)
if (is_updating (d->file))
{
- error (NILF, _("Circular %s <- %s dependency dropped."),
- file->name, d->file->name);
+ OSS (error, NILF, _("Circular %s <- %s dependency dropped."),
+ file->name, d->file->name);
/* We cannot free D here because our the caller will still have
a reference to it when we were called recursively via
check_dep below. */
@@ -555,7 +570,9 @@ update_file_1 (struct file *file, unsigned int depth)
d->file->dontcare = file->dontcare;
}
- dep_status |= check_dep (d->file, depth, this_mtime, &maybe_make);
+ new = check_dep (d->file, depth, this_mtime, &maybe_make);
+ if (new > dep_status)
+ dep_status = new;
/* Restore original dontcare flag. */
if (rebuilding_makefiles)
@@ -579,7 +596,7 @@ update_file_1 (struct file *file, unsigned int depth)
while (f != 0);
}
- if (dep_status != 0 && !keep_going_flag)
+ if (dep_status && !keep_going_flag)
break;
if (!running)
@@ -599,13 +616,14 @@ update_file_1 (struct file *file, unsigned int depth)
if (must_make || always_make_flag)
{
for (d = file->deps; d != 0; d = d->next)
- if (d->file->intermediate)
- {
+ if (d->file->intermediate)
+ {
+ enum update_status new;
int dontcare = 0;
- FILE_TIMESTAMP mtime = file_mtime (d->file);
- check_renamed (d->file);
- d->file->parent = file;
+ FILE_TIMESTAMP mtime = file_mtime (d->file);
+ check_renamed (d->file);
+ d->file->parent = file;
/* Inherit dontcare flag from our parent. */
if (rebuilding_makefiles)
@@ -614,65 +632,72 @@ update_file_1 (struct file *file, unsigned int depth)
d->file->dontcare = file->dontcare;
}
+ /* 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 = !considered;
- dep_status |= update_file (d->file, depth);
+ new = update_file (d->file, depth);
+ if (new > dep_status)
+ dep_status = new;
/* Restore original dontcare flag. */
if (rebuilding_makefiles)
d->file->dontcare = dontcare;
- check_renamed (d->file);
-
- {
- register struct file *f = d->file;
- if (f->double_colon)
- f = f->double_colon;
- do
- {
- running |= (f->command_state == cs_running
- || f->command_state == cs_deps_running);
- f = f->prev;
- }
- while (f != 0);
- }
-
- if (dep_status != 0 && !keep_going_flag)
- break;
-
- if (!running)
- d->changed = ((file->phony && file->cmds != 0)
- || file_mtime (d->file) != mtime);
- }
+ check_renamed (d->file);
+
+ {
+ register struct file *f = d->file;
+ if (f->double_colon)
+ f = f->double_colon;
+ do
+ {
+ running |= (f->command_state == cs_running
+ || f->command_state == cs_deps_running);
+ f = f->prev;
+ }
+ while (f != 0);
+ }
+
+ if (dep_status && !keep_going_flag)
+ break;
+
+ if (!running)
+ d->changed = ((file->phony && file->cmds != 0)
+ || file_mtime (d->file) != mtime);
+ }
}
finish_updating (file);
finish_updating (ofile);
- DBF (DB_VERBOSE, _("Finished prerequisites of target file `%s'.\n"));
+ DBF (DB_VERBOSE, _("Finished prerequisites of target file '%s'.\n"));
if (running)
{
set_command_state (file, cs_deps_running);
--depth;
- DBF (DB_VERBOSE, _("The prerequisites of `%s' are being made.\n"));
+ DBF (DB_VERBOSE, _("The prerequisites of '%s' are being made.\n"));
return 0;
}
/* If any dependency failed, give up now. */
- if (dep_status != 0)
+ if (dep_status)
{
- file->update_status = dep_status;
+ /* I'm not sure if we can't just assign dep_status... */
+ file->update_status = dep_status == us_none ? us_failed : dep_status;
notice_finished_file (file);
--depth;
- DBF (DB_VERBOSE, _("Giving up on target file `%s'.\n"));
+ DBF (DB_VERBOSE, _("Giving up on target file '%s'.\n"));
if (depth == 0 && keep_going_flag
- && !just_print_flag && !question_flag)
- error (NILF,
- _("Target `%s' not remade because of errors."), file->name);
+ && !just_print_flag && !question_flag)
+ OS (error, NILF,
+ _("Target '%s' not remade because of errors."), file->name);
return dep_status;
}
@@ -701,8 +726,8 @@ update_file_1 (struct file *file, unsigned int depth)
{
#if 1
/* %%% In version 4, remove this code completely to
- implement not remaking deps if their deps are newer
- than their parents. */
+ implement not remaking deps if their deps are newer
+ than their parents. */
if (d_mtime == NONEXISTENT_MTIME && !d->file->intermediate)
/* We must remake if this dep does not
exist and is not intermediate. */
@@ -714,30 +739,30 @@ update_file_1 (struct file *file, unsigned int depth)
}
/* Set D->changed if either this dep actually changed,
- or its dependent, FILE, is older or does not exist. */
+ or its dependent, FILE, is older or does not exist. */
d->changed |= noexist || d_mtime > this_mtime;
if (!noexist && ISDB (DB_BASIC|DB_VERBOSE))
- {
+ {
const char *fmt = 0;
if (d->ignore_mtime)
{
if (ISDB (DB_VERBOSE))
- fmt = _("Prerequisite `%s' is order-only for target `%s'.\n");
+ fmt = _("Prerequisite '%s' is order-only for target '%s'.\n");
}
else if (d_mtime == NONEXISTENT_MTIME)
{
if (ISDB (DB_BASIC))
- fmt = _("Prerequisite `%s' of target `%s' does not exist.\n");
+ fmt = _("Prerequisite '%s' of target '%s' does not exist.\n");
}
- else if (d->changed)
+ else if (d->changed)
{
if (ISDB (DB_BASIC))
- fmt = _("Prerequisite `%s' is newer than target `%s'.\n");
+ fmt = _("Prerequisite '%s' is newer than target '%s'.\n");
}
else if (ISDB (DB_VERBOSE))
- fmt = _("Prerequisite `%s' is older than target `%s'.\n");
+ fmt = _("Prerequisite '%s' is older than target '%s'.\n");
if (fmt)
{
@@ -745,7 +770,7 @@ update_file_1 (struct file *file, unsigned int depth)
printf (fmt, dep_name (d), file->name);
fflush (stdout);
}
- }
+ }
}
/* Here depth returns to the value it had when we were called. */
@@ -755,19 +780,19 @@ update_file_1 (struct file *file, unsigned int depth)
{
must_make = 1;
DBF (DB_BASIC,
- _("Target `%s' is double-colon and has no prerequisites.\n"));
+ _("Target '%s' is double-colon and has no prerequisites.\n"));
}
else if (!noexist && file->is_target && !deps_changed && file->cmds == 0
&& !always_make_flag)
{
must_make = 0;
DBF (DB_VERBOSE,
- _("No recipe for `%s' and no prerequisites actually changed.\n"));
+ _("No recipe for '%s' and no prerequisites actually changed.\n"));
}
else if (!must_make && file->cmds != 0 && always_make_flag)
{
must_make = 1;
- DBF (DB_VERBOSE, _("Making `%s' due to always-make flag.\n"));
+ DBF (DB_VERBOSE, _("Making '%s' due to always-make flag.\n"));
}
if (!must_make)
@@ -775,9 +800,9 @@ update_file_1 (struct file *file, unsigned int depth)
if (ISDB (DB_VERBOSE))
{
print_spaces (depth);
- printf (_("No need to remake target `%s'"), file->name);
+ printf (_("No need to remake target '%s'"), file->name);
if (!streq (file->name, file->hname))
- printf (_("; using VPATH name `%s'"), file->hname);
+ printf (_("; using VPATH name '%s'"), file->hname);
puts (".");
fflush (stdout);
}
@@ -797,13 +822,13 @@ update_file_1 (struct file *file, unsigned int depth)
return 0;
}
- DBF (DB_BASIC, _("Must remake target `%s'.\n"));
+ DBF (DB_BASIC, _("Must remake target '%s'.\n"));
/* It needs to be remade. If it's VPATH and not reset via GPATH, toss the
VPATH. */
- if (!streq(file->name, file->hname))
+ if (!streq (file->name, file->hname))
{
- DB (DB_BASIC, (_(" Ignoring VPATH name `%s'.\n"), file->hname));
+ DB (DB_BASIC, (_(" Ignoring VPATH name '%s'.\n"), file->hname));
file->ignore_vpath = 1;
}
@@ -812,23 +837,22 @@ update_file_1 (struct file *file, unsigned int depth)
if (file->command_state != cs_finished)
{
- DBF (DB_VERBOSE, _("Recipe of `%s' is being run.\n"));
+ DBF (DB_VERBOSE, _("Recipe of '%s' is being run.\n"));
return 0;
}
switch (file->update_status)
{
- case 2:
- DBF (DB_BASIC, _("Failed to remake target file `%s'.\n"));
+ case us_failed:
+ DBF (DB_BASIC, _("Failed to remake target file '%s'.\n"));
break;
- case 0:
- DBF (DB_BASIC, _("Successfully remade target file `%s'.\n"));
+ case us_success:
+ DBF (DB_BASIC, _("Successfully remade target file '%s'.\n"));
break;
- case 1:
- DBF (DB_BASIC, _("Target file `%s' needs remade under -q.\n"));
+ case us_question:
+ DBF (DB_BASIC, _("Target file '%s' needs to be remade under -q.\n"));
break;
- default:
- assert (file->update_status >= 0 && file->update_status <= 2);
+ case us_none:
break;
}
@@ -836,11 +860,11 @@ update_file_1 (struct file *file, unsigned int depth)
return file->update_status;
}
-/* Set FILE's `updated' flag and re-check its mtime and the mtime's of all
- files listed in its `also_make' member. Under -t, this function also
+/* Set FILE's 'updated' flag and re-check its mtime and the mtime's of all
+ files listed in its 'also_make' member. Under -t, this function also
touches FILE.
- On return, FILE->update_status will no longer be -1 if it was. */
+ On return, FILE->update_status will no longer be us_none if it was. */
void
notice_finished_file (struct file *file)
@@ -854,35 +878,35 @@ notice_finished_file (struct file *file)
if (touch_flag
/* The update status will be:
- -1 if this target was not remade;
- 0 if 0 or more commands (+ or ${MAKE}) were run and won;
- 1 if some commands were run and lost.
- We touch the target if it has commands which either were not run
- or won when they ran (i.e. status is 0). */
- && file->update_status == 0)
+ us_success if 0 or more commands (+ or ${MAKE}) were run and won;
+ us_none if this target was not remade;
+ >us_none if some commands were run and lost.
+ We touch the target if it has commands which either were not run
+ or won when they ran (i.e. status is 0). */
+ && file->update_status == us_success)
{
if (file->cmds != 0 && file->cmds->any_recurse)
- {
- /* If all the command lines were recursive,
- we don't want to do the touching. */
- unsigned int i;
- for (i = 0; i < file->cmds->ncommand_lines; ++i)
- if (!(file->cmds->lines_flags[i] & COMMANDS_RECURSE))
- goto have_nonrecursing;
- }
+ {
+ /* If all the command lines were recursive,
+ we don't want to do the touching. */
+ unsigned int i;
+ for (i = 0; i < file->cmds->ncommand_lines; ++i)
+ if (!(file->cmds->lines_flags[i] & COMMANDS_RECURSE))
+ goto have_nonrecursing;
+ }
else
- {
- have_nonrecursing:
- if (file->phony)
- file->update_status = 0;
+ {
+ have_nonrecursing:
+ if (file->phony)
+ file->update_status = us_success;
/* According to POSIX, -t doesn't affect targets with no cmds. */
- else if (file->cmds != 0)
+ else if (file->cmds != 0)
{
/* Should set file's modification date and do nothing else. */
file->update_status = touch_file (file);
/* Pretend we ran a real touch command, to suppress the
- "`foo' is up to date" message. */
+ "'foo' is up to date" message. */
commands_started++;
/* Request for the timestamp to be updated (and distributed
@@ -891,7 +915,7 @@ notice_finished_file (struct file *file)
updating logic below. */
touched = 1;
}
- }
+ }
}
if (file->mtime_before_update == UNKNOWN_MTIME)
@@ -915,7 +939,7 @@ notice_finished_file (struct file *file)
/* If there were no commands at all, it's always new. */
else if (file->is_target && file->cmds == 0)
- i = 1;
+ i = 1;
file->last_mtime = i == 0 ? UNKNOWN_MTIME : NEW_MTIME;
}
@@ -948,28 +972,28 @@ notice_finished_file (struct file *file)
f->last_mtime = max_mtime;
}
- if (ran && file->update_status != -1)
+ if (ran && file->update_status != us_none)
/* We actually tried to update FILE, which has
updated its also_make's as well (if it worked).
If it didn't work, it wouldn't work again for them.
So mark them as updated with the same status. */
for (d = file->also_make; d != 0; d = d->next)
{
- d->file->command_state = cs_finished;
- d->file->updated = 1;
- d->file->update_status = file->update_status;
-
- if (ran && !d->file->phony)
- /* Fetch the new modification time.
- We do this instead of just invalidating the cached time
- so that a vpath_search can happen. Otherwise, it would
- never be done because the target is already updated. */
- f_mtime (d->file, 0);
+ d->file->command_state = cs_finished;
+ d->file->updated = 1;
+ d->file->update_status = file->update_status;
+
+ if (ran && !d->file->phony)
+ /* Fetch the new modification time.
+ We do this instead of just invalidating the cached time
+ so that a vpath_search can happen. Otherwise, it would
+ never be done because the target is already updated. */
+ f_mtime (d->file, 0);
}
- else if (file->update_status == -1)
+ else if (file->update_status == us_none)
/* Nothing was done for FILE, but it needed nothing done.
So mark it now as "succeeded". */
- file->update_status = 0;
+ file->update_status = us_success;
}
/* Check whether another file (whose mtime is THIS_MTIME) needs updating on
@@ -978,13 +1002,13 @@ notice_finished_file (struct file *file)
FILE depends on (including FILE itself). Return nonzero if any updating
failed. */
-static int
+static enum update_status
check_dep (struct file *file, unsigned int depth,
FILE_TIMESTAMP this_mtime, int *must_make_ptr)
{
struct file *ofile;
struct dep *d;
- int dep_status = 0;
+ enum update_status dep_status = us_success;
++depth;
start_updating (file);
@@ -1003,7 +1027,7 @@ check_dep (struct file *file, unsigned int depth,
mtime = file_mtime (file);
check_renamed (file);
if (mtime == NONEXISTENT_MTIME || mtime > this_mtime)
- *must_make_ptr = 1;
+ *must_make_ptr = 1;
}
else
{
@@ -1011,19 +1035,19 @@ check_dep (struct file *file, unsigned int depth,
FILE_TIMESTAMP mtime;
if (!file->phony && file->cmds == 0 && !file->tried_implicit)
- {
- if (try_implicit_rule (file, depth))
- DBF (DB_IMPLICIT, _("Found an implicit rule for `%s'.\n"));
- else
- DBF (DB_IMPLICIT, _("No implicit rule found for `%s'.\n"));
- file->tried_implicit = 1;
- }
+ {
+ if (try_implicit_rule (file, depth))
+ DBF (DB_IMPLICIT, _("Found an implicit rule for '%s'.\n"));
+ else
+ DBF (DB_IMPLICIT, _("No implicit rule found for '%s'.\n"));
+ file->tried_implicit = 1;
+ }
if (file->cmds == 0 && !file->is_target
- && default_file != 0 && default_file->cmds != 0)
- {
- DBF (DB_IMPLICIT, _("Using default commands for `%s'.\n"));
- file->cmds = default_file->cmds;
- }
+ && default_file != 0 && default_file->cmds != 0)
+ {
+ DBF (DB_IMPLICIT, _("Using default commands for '%s'.\n"));
+ file->cmds = default_file->cmds;
+ }
check_renamed (file);
mtime = file_mtime (file);
@@ -1031,70 +1055,80 @@ check_dep (struct file *file, unsigned int depth,
if (mtime != NONEXISTENT_MTIME && mtime > this_mtime)
/* If the intermediate file actually exists and is newer, then we
should remake from it. */
- *must_make_ptr = 1;
+ *must_make_ptr = 1;
else
- {
+ {
/* Otherwise, update all non-intermediate files we depend on, if
necessary, and see whether any of them is more recent than the
file on whose behalf we are checking. */
- struct dep *ld;
+ struct dep *ld;
int deps_running = 0;
/* If this target is not running, set it's state so that we check it
fresh. It could be it was checked as part of an order-only
prerequisite and so wasn't rebuilt then, but should be now. */
if (file->command_state != cs_running)
- set_command_state (file, cs_not_started);
+ {
+ /* 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 = !considered;
+
+ set_command_state (file, cs_not_started);
+ }
- ld = 0;
- d = file->deps;
- while (d != 0)
- {
+ ld = 0;
+ d = file->deps;
+ while (d != 0)
+ {
+ enum update_status new;
int maybe_make;
- if (is_updating (d->file))
- {
- error (NILF, _("Circular %s <- %s dependency dropped."),
- file->name, d->file->name);
- if (ld == 0)
- {
- file->deps = d->next;
+ if (is_updating (d->file))
+ {
+ OSS (error, NILF, _("Circular %s <- %s dependency dropped."),
+ file->name, d->file->name);
+ if (ld == 0)
+ {
+ file->deps = d->next;
free_dep (d);
- d = file->deps;
- }
- else
- {
- ld->next = d->next;
+ d = file->deps;
+ }
+ else
+ {
+ ld->next = d->next;
free_dep (d);
- d = ld->next;
- }
- continue;
- }
+ d = ld->next;
+ }
+ continue;
+ }
- d->file->parent = file;
+ d->file->parent = file;
maybe_make = *must_make_ptr;
- dep_status |= check_dep (d->file, depth, this_mtime,
- &maybe_make);
+ new = check_dep (d->file, depth, this_mtime, &maybe_make);
+ if (new > dep_status)
+ dep_status = new;
+
if (! d->ignore_mtime)
*must_make_ptr = maybe_make;
- check_renamed (d->file);
- if (dep_status != 0 && !keep_going_flag)
- break;
+ check_renamed (d->file);
+ if (dep_status && !keep_going_flag)
+ break;
- if (d->file->command_state == cs_running
- || d->file->command_state == cs_deps_running)
- deps_running = 1;
+ if (d->file->command_state == cs_running
+ || d->file->command_state == cs_deps_running)
+ deps_running = 1;
- ld = d;
- d = d->next;
- }
+ ld = d;
+ d = d->next;
+ }
if (deps_running)
/* Record that some of FILE's deps are still being made.
This tells the upper levels to wait on processing it until the
commands are finished. */
set_command_state (file, cs_deps_running);
- }
+ }
}
finish_updating (file);
@@ -1103,56 +1137,61 @@ check_dep (struct file *file, unsigned int depth,
return dep_status;
}
-/* Touch FILE. Return zero if successful, one if not. */
+/* Touch FILE. Return us_success if successful, us_failed if not. */
-#define TOUCH_ERROR(call) return (perror_with_name (call, file->name), 1)
+#define TOUCH_ERROR(call) do{ perror_with_name ((call), file->name); \
+ return us_failed; }while(0)
-static int
+static enum update_status
touch_file (struct file *file)
{
if (!silent_flag)
- message (0, "touch %s", file->name);
+ OS (message, 0, "touch %s", file->name);
+
+ /* Print-only (-n) takes precedence over touch (-t). */
+ if (just_print_flag)
+ return us_success;
-#ifndef NO_ARCHIVES
+#ifndef NO_ARCHIVES
if (ar_name (file->name))
- return ar_touch (file->name);
+ return ar_touch (file->name) ? us_failed : us_success;
else
#endif
{
int fd = open (file->name, O_RDWR | O_CREAT, 0666);
if (fd < 0)
- TOUCH_ERROR ("touch: open: ");
+ TOUCH_ERROR ("touch: open: ");
else
- {
- struct stat statbuf;
- char buf = 'x';
+ {
+ struct stat statbuf;
+ char buf = 'x';
int e;
EINTRLOOP (e, fstat (fd, &statbuf));
- if (e < 0)
- TOUCH_ERROR ("touch: fstat: ");
- /* Rewrite character 0 same as it already is. */
- if (read (fd, &buf, 1) < 0)
- TOUCH_ERROR ("touch: read: ");
- 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 (statbuf.st_size == 0)
- {
- (void) close (fd);
- fd = open (file->name, O_RDWR | O_TRUNC, 0666);
- if (fd < 0)
- TOUCH_ERROR ("touch: open: ");
- }
- (void) close (fd);
- }
+ if (e < 0)
+ TOUCH_ERROR ("touch: fstat: ");
+ /* Rewrite character 0 same as it already is. */
+ if (read (fd, &buf, 1) < 0)
+ TOUCH_ERROR ("touch: read: ");
+ 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 (statbuf.st_size == 0)
+ {
+ (void) close (fd);
+ fd = open (file->name, O_RDWR | O_TRUNC, 0666);
+ if (fd < 0)
+ TOUCH_ERROR ("touch: open: ");
+ }
+ (void) close (fd);
+ }
}
- return 0;
+ return us_success;
}
/* Having checked and updated the dependencies of FILE,
@@ -1165,18 +1204,18 @@ remake_file (struct file *file)
if (file->cmds == 0)
{
if (file->phony)
- /* Phony target. Pretend it succeeded. */
- file->update_status = 0;
+ /* Phony target. Pretend it succeeded. */
+ file->update_status = us_success;
else if (file->is_target)
- /* This is a nonexistent target file we cannot make.
- Pretend it was successfully remade. */
- file->update_status = 0;
+ /* This is a nonexistent target file we cannot make.
+ Pretend it was successfully remade. */
+ file->update_status = us_success;
else
{
/* This is a dependency file we cannot remake. Fail. */
if (!rebuilding_makefiles || !file->dontcare)
complain (file);
- file->update_status = 2;
+ file->update_status = us_failed;
}
}
else
@@ -1185,20 +1224,20 @@ remake_file (struct file *file)
/* The normal case: start some commands. */
if (!touch_flag || file->cmds->any_recurse)
- {
- execute_file_commands (file);
- return;
- }
+ {
+ execute_file_commands (file);
+ return;
+ }
/* This tells notice_finished_file it is ok to touch the file. */
- file->update_status = 0;
+ file->update_status = us_success;
}
/* This does the touching under -t. */
notice_finished_file (file);
}
-/* Return the mtime of a file, given a `struct file'.
+/* Return the mtime of a file, given a 'struct file'.
Caches the time in the struct file to avoid excess stat calls.
If the file is not found, and SEARCH is nonzero, VPATH searching and
@@ -1213,7 +1252,7 @@ f_mtime (struct file *file, int search)
/* File's mtime is not known; must get it from the system. */
-#ifndef NO_ARCHIVES
+#ifndef NO_ARCHIVES
if (ar_name (file->name))
{
/* This file is an archive-member reference. */
@@ -1226,46 +1265,46 @@ f_mtime (struct file *file, int search)
ar_parse_name (file->name, &arname, &memname);
/* Find the modification time of the archive itself.
- Also allow for its name to be changed via VPATH search. */
+ Also allow for its name to be changed via VPATH search. */
arfile = lookup_file (arname);
if (arfile == 0)
arfile = enter_file (strcache_add (arname));
mtime = f_mtime (arfile, search);
check_renamed (arfile);
if (search && strcmp (arfile->hname, arname))
- {
- /* The archive's name has changed.
- Change the archive-member reference accordingly. */
+ {
+ /* The archive's name has changed.
+ Change the archive-member reference accordingly. */
char *name;
- unsigned int arlen, memlen;
+ unsigned int arlen, memlen;
- arlen = strlen (arfile->hname);
- memlen = strlen (memname);
+ arlen = strlen (arfile->hname);
+ memlen = strlen (memname);
- name = xmalloc (arlen + 1 + memlen + 2);
- memcpy (name, arfile->hname, arlen);
- name[arlen] = '(';
- memcpy (name + arlen + 1, memname, memlen);
- name[arlen + 1 + memlen] = ')';
- name[arlen + 1 + memlen + 1] = '\0';
+ name = alloca (arlen + 1 + memlen + 2);
+ memcpy (name, arfile->hname, arlen);
+ name[arlen] = '(';
+ memcpy (name + arlen + 1, memname, memlen);
+ name[arlen + 1 + memlen] = ')';
+ name[arlen + 1 + memlen + 1] = '\0';
/* If the archive was found with GPATH, make the change permanent;
otherwise defer it until later. */
if (arfile->name == arfile->hname)
- rename_file (file, name);
+ rename_file (file, strcache_add (name));
else
- rehash_file (file, name);
+ rehash_file (file, strcache_add (name));
check_renamed (file);
- }
+ }
free (arname);
file->low_resolution_time = 1;
if (mtime == NONEXISTENT_MTIME)
- /* The archive doesn't exist, so its members don't exist either. */
- return NONEXISTENT_MTIME;
+ /* 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
@@ -1278,37 +1317,37 @@ f_mtime (struct file *file, int search)
mtime = name_mtime (file->name);
if (mtime == NONEXISTENT_MTIME && search && !file->ignore_vpath)
- {
- /* If name_mtime failed, search VPATH. */
- const char *name = vpath_search (file->name, &mtime, NULL, NULL);
- if (name
- /* Last resort, is it a library (-lxxx)? */
- || (file->name[0] == '-' && file->name[1] == 'l'
- && (name = library_search (file->name, &mtime)) != 0))
- {
- 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. */
- file->last_mtime = mtime;
+ {
+ /* If name_mtime failed, search VPATH. */
+ const char *name = vpath_search (file->name, &mtime, NULL, NULL);
+ if (name
+ /* Last resort, is it a library (-lxxx)? */
+ || (file->name[0] == '-' && file->name[1] == 'l'
+ && (name = library_search (file->name, &mtime)) != 0))
+ {
+ 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. */
+ file->last_mtime = mtime;
/* 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. */
- if (gpath_search (name, strlen(name) - strlen(file->name) - 1))
+ if (gpath_search (name, strlen (name) - strlen (file->name) - 1))
{
rename_file (file, name);
check_renamed (file);
return file_mtime (file);
}
- rehash_file (file, name);
- check_renamed (file);
+ rehash_file (file, name);
+ check_renamed (file);
/* If the result of a vpath search is -o or -W, preserve it.
Otherwise, find the mtime of the resulting file. */
if (mtime != OLD_MTIME && mtime != NEW_MTIME)
mtime = name_mtime (name);
- }
- }
+ }
+ }
}
/* Files can have bogus timestamps that nothing newly made will be
@@ -1354,8 +1393,9 @@ f_mtime (struct file *file, int search)
if (adjusted_now < adjusted_mtime)
{
#ifdef NO_FLOAT
- error (NILF, _("Warning: File `%s' has modification time in the future"),
- file->name);
+ OS (error, NILF,
+ _("Warning: File '%s' has modification time in the future"),
+ file->name);
#else
double from_now =
(FILE_TIMESTAMP_S (mtime) - FILE_TIMESTAMP_S (now)
@@ -1367,8 +1407,9 @@ f_mtime (struct file *file, int search)
sprintf (from_now_string, "%lu", (unsigned long) from_now);
else
sprintf (from_now_string, "%.2g", from_now);
- error (NILF, _("Warning: File `%s' has modification time %s s in the future"),
- file->name, from_now_string);
+ OSS (error, NILF,
+ _("Warning: File '%s' has modification time %s s in the future"),
+ file->name, from_now_string);
#endif
clock_skew_detected = 1;
}
@@ -1382,14 +1423,13 @@ f_mtime (struct file *file, int search)
do
{
/* If this file is not implicit but it is intermediate then it was
- made so by the .INTERMEDIATE target. If this file has never
- been built by us but was found now, it existed before make
- started. So, turn off the intermediate bit so make doesn't
- delete it, since it didn't create it. */
+ made so by the .INTERMEDIATE target. If this file has never
+ been built by us but was found now, it existed before make
+ started. So, turn off the intermediate bit so make doesn't
+ delete it, since it didn't create it. */
if (mtime != NONEXISTENT_MTIME && file->command_state == cs_not_started
- && file->command_state == cs_not_started
- && !file->tried_implicit && file->intermediate)
- file->intermediate = 0;
+ && !file->tried_implicit && file->intermediate)
+ file->intermediate = 0;
file->last_mtime = mtime;
file = file->prev;
@@ -1506,7 +1546,7 @@ name_mtime (const char *name)
static const char *
library_search (const char *lib, FILE_TIMESTAMP *mtime_ptr)
{
- static char *dirs[] =
+ static const char *dirs[] =
{
#ifndef _AMIGA
"/lib",
@@ -1519,7 +1559,7 @@ library_search (const char *lib, FILE_TIMESTAMP *mtime_ptr)
*/
#define LIBDIR "."
#endif
- LIBDIR, /* Defined by configuration. */
+ LIBDIR, /* Defined by configuration. */
0
};
@@ -1534,10 +1574,9 @@ library_search (const char *lib, FILE_TIMESTAMP *mtime_ptr)
unsigned int liblen;
/* Information about the earliest (in the vpath sequence) match. */
- unsigned int best_vpath, best_path;
- unsigned int std_dirs = 0;
+ unsigned int best_vpath = 0, best_path = 0;
- char **dp;
+ const char **dp;
libpatterns = xstrdup (variable_expand ("$(.LIBPATTERNS)"));
@@ -1554,38 +1593,40 @@ library_search (const char *lib, FILE_TIMESTAMP *mtime_ptr)
static char *buf = NULL;
static unsigned int buflen = 0;
static int libdir_maxlen = -1;
+ static unsigned int std_dirs = 0;
char *libbuf = variable_expand ("");
/* Expand the pattern using LIB as a replacement. */
{
- char c = p[len];
- char *p3, *p4;
-
- p[len] = '\0';
- p3 = find_percent (p);
- if (!p3)
- {
- /* Give a warning if there is no pattern. */
- error (NILF, _(".LIBPATTERNS element `%s' is not a pattern"), p);
+ char c = p[len];
+ char *p3, *p4;
+
+ p[len] = '\0';
+ p3 = find_percent (p);
+ if (!p3)
+ {
+ /* Give a warning if there is no pattern. */
+ OS (error, NILF,
+ _(".LIBPATTERNS element '%s' is not a pattern"), p);
p[len] = c;
- continue;
- }
- p4 = variable_buffer_output (libbuf, p, p3-p);
- p4 = variable_buffer_output (p4, lib, liblen);
- p4 = variable_buffer_output (p4, p3+1, len - (p3-p));
- p[len] = c;
+ continue;
+ }
+ p4 = variable_buffer_output (libbuf, p, p3-p);
+ p4 = variable_buffer_output (p4, lib, liblen);
+ p4 = variable_buffer_output (p4, p3+1, len - (p3-p));
+ p[len] = c;
}
- /* Look first for `libNAME.a' in the current directory. */
+ /* Look first for 'libNAME.a' in the current directory. */
mtime = name_mtime (libbuf);
if (mtime != NONEXISTENT_MTIME)
- {
- if (mtime_ptr != 0)
- *mtime_ptr = mtime;
- file = strcache_add (libbuf);
+ {
+ if (mtime_ptr != 0)
+ *mtime_ptr = mtime;
+ file = strcache_add (libbuf);
/* This by definition will have the best index, so stop now. */
break;
- }
+ }
/* Now try VPATH search on that. */
@@ -1622,7 +1663,7 @@ library_search (const char *lib, FILE_TIMESTAMP *mtime_ptr)
std_dirs++;
}
buflen = strlen (libbuf);
- buf = xmalloc(libdir_maxlen + buflen + 2);
+ buf = xmalloc (libdir_maxlen + buflen + 2);
}
else if (buflen < strlen (libbuf))
{
@@ -1636,11 +1677,11 @@ library_search (const char *lib, FILE_TIMESTAMP *mtime_ptr)
unsigned int vpath_index = ~((unsigned int)0) - std_dirs;
for (dp = dirs; *dp != 0; ++dp)
- {
+ {
sprintf (buf, "%s/%s", *dp, libbuf);
mtime = name_mtime (buf);
if (mtime != NONEXISTENT_MTIME)
- {
+ {
if (file == 0 || vpath_index < best_vpath)
{
file = strcache_add (buf);
diff --git a/remote-cstms.c b/remote-cstms.c
index a0c5cb77..867ee8da 100644
--- a/remote-cstms.c
+++ b/remote-cstms.c
@@ -3,9 +3,7 @@
Please do not send bug reports or questions about it to
the Make maintainers.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -20,8 +18,7 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
-#include "job.h"
+#include "makeint.h"
#include "filedef.h"
#include "commands.h"
#include "job.h"
@@ -34,9 +31,9 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
char *remote_description = "Customs";
-/* File name of the Customs `export' client command.
+/* File name of the Customs 'export' client command.
A full path name can be used to avoid some path-searching overhead. */
-#define EXPORT_COMMAND "/usr/local/bin/export"
+#define EXPORT_COMMAND "/usr/local/bin/export"
/* ExportPermit gotten by start_remote_job_p, and used by start_remote_job. */
static ExportPermit permit;
@@ -78,11 +75,11 @@ start_remote_job_p (int first_p)
}
/* For secure Customs, make is installed setuid root and
- Customs requires a privileged source port be used. */
+ Customs requires a privileged source port be used. */
make_access ();
if (ISDB (DB_JOBS))
- Rpc_Debug(1);
+ Rpc_Debug (1);
/* Ping the daemon once to see if it is there. */
inited = Customs_Ping () == RPC_SUCCESS ? 1 : -1;
@@ -91,20 +88,20 @@ start_remote_job_p (int first_p)
user_access ();
if (starting_directory == 0)
- /* main couldn't figure it out. */
- inited = -1;
+ /* main couldn't figure it out. */
+ inited = -1;
else
- {
- /* Normalize the current directory path name to something
- that should work on all machines exported to. */
-
- normalized_cwd = xmalloc (GET_PATH_MAX);
- strcpy (normalized_cwd, starting_directory);
- if (Customs_NormPath (normalized_cwd, GET_PATH_MAX) < 0)
- /* Path normalization failure means using Customs
- won't work, but it's not really an error. */
- inited = -1;
- }
+ {
+ /* Normalize the current directory path name to something
+ that should work on all machines exported to. */
+
+ normalized_cwd = xmalloc (GET_PATH_MAX);
+ strcpy (normalized_cwd, starting_directory);
+ if (Customs_NormPath (normalized_cwd, GET_PATH_MAX) < 0)
+ /* Path normalization failure means using Customs
+ won't work, but it's not really an error. */
+ inited = -1;
+ }
}
if (inited < 0)
@@ -112,7 +109,7 @@ start_remote_job_p (int first_p)
njobs = job_slots_used;
if (!first_p)
- njobs -= 1; /* correction for being called from reap_children() */
+ njobs -= 1; /* correction for being called from reap_children() */
/* the first job should run locally, or, if the -l flag is given, we use
that as clue as to how many local jobs should be scheduled locally */
@@ -154,7 +151,7 @@ start_remote_job (char **argv, char **envp, int stdin_fd,
retsock = Rpc_UdpCreate (True, 0);
if (retsock < 0)
{
- error (NILF, "exporting: Couldn't create return socket.");
+ O (error, NILF, "exporting: Couldn't create return socket.");
return 1;
}
@@ -173,9 +170,9 @@ start_remote_job (char **argv, char **envp, int stdin_fd,
/* Create a WayBill to give to the server. */
len = Customs_MakeWayBill (&permit, normalized_cwd, argv[0], argv,
- envp, retport, waybill);
+ envp, retport, waybill);
- /* Modify the waybill as if the remote child had done `child_access ()'. */
+ /* Modify the waybill as if the remote child had done 'child_access ()'. */
{
WayBill *wb = (WayBill *) waybill;
wb->ruid = wb->euid;
@@ -189,53 +186,55 @@ start_remote_job (char **argv, char **envp, int stdin_fd,
sin.sin_port = htons (Customs_Port ());
sin.sin_addr = permit.addr;
status = Rpc_Call (sock, &sin, (Rpc_Proc) CUSTOMS_IMPORT,
- len, (Rpc_Opaque) waybill,
- sizeof(msg), (Rpc_Opaque) msg,
- 1, &timeout);
+ len, (Rpc_Opaque) waybill,
+ sizeof (msg), (Rpc_Opaque) msg,
+ 1, &timeout);
- host = gethostbyaddr((char *)&permit.addr, sizeof(permit.addr), AF_INET);
+ host = gethostbyaddr ((char *)&permit.addr, sizeof(permit.addr), AF_INET);
- if (status != RPC_SUCCESS)
- {
- (void) close (retsock);
- (void) close (sock);
- error (NILF, "exporting to %s: %s",
- host ? host->h_name : inet_ntoa (permit.addr),
- Rpc_ErrorMessage (status));
- return 1;
- }
- else if (msg[0] != 'O' || msg[1] != 'k' || msg[2] != '\0')
- {
- (void) close (retsock);
- (void) close (sock);
- error (NILF, "exporting to %s: %s",
- host ? host->h_name : inet_ntoa (permit.addr),
- msg);
- return 1;
- }
- else
- {
- error (NILF, "*** exported to %s (id %u)",
- host ? host->h_name : inet_ntoa (permit.addr),
- permit.id);
- }
-
- fflush (stdout);
- fflush (stderr);
+ {
+ const char *hnm = host ? host->h_name : inet_ntoa (permit.addr);
+ size_t hlen = strlen (hnm);
+
+ if (status != RPC_SUCCESS)
+ {
+ const char *err = Rpc_ErrorMessage (status);
+ (void) close (retsock);
+ (void) close (sock);
+ error (NILF, hlen + strlen (err),
+ "exporting to %s: %s", hnm, err);
+ return 1;
+ }
+ else if (msg[0] != 'O' || msg[1] != 'k' || msg[2] != '\0')
+ {
+ (void) close (retsock);
+ (void) close (sock);
+ error (NILF, hlen + strlen (msg), "exporting to %s: %s", hnm, msg);
+ return 1;
+ }
+ else
+ {
+ error (NILF, hlen + INTSTR_LENGTH,
+ "*** exported to %s (id %u)", hnm, permit.id);
+ }
+
+ fflush (stdout);
+ fflush (stderr);
+ }
- pid = vfork ();
+ pid = fork ();
if (pid < 0)
{
/* The fork failed! */
- perror_with_name ("vfork", "");
+ perror_with_name ("fork", "");
return 1;
}
else if (pid == 0)
{
- /* Child side. Run `export' to handle the connection. */
+ /* Child side. Run 'export' to handle the connection. */
static char sock_buf[20], retsock_buf[20], id_buf[20];
static char *new_argv[6] =
- { EXPORT_COMMAND, "-id", sock_buf, retsock_buf, id_buf, 0 };
+ { EXPORT_COMMAND, "-id", sock_buf, retsock_buf, id_buf, 0 };
/* Set up the arguments. */
(void) sprintf (sock_buf, "%d", sock);
@@ -244,7 +243,7 @@ start_remote_job (char **argv, char **envp, int stdin_fd,
/* Get the right stdin. */
if (stdin_fd != 0)
- (void) dup2 (stdin_fd, 0);
+ (void) dup2 (stdin_fd, 0);
/* Unblock signals in the child. */
unblock_sigs ();
@@ -253,7 +252,7 @@ start_remote_job (char **argv, char **envp, int stdin_fd,
exec_command (new_argv, envp);
}
- /* Parent side. Return the `export' process's ID. */
+ /* Parent side. Return the 'export' process's ID. */
(void) close (retsock);
(void) close (sock);
*is_remote = 0;
diff --git a/remote-stub.c b/remote-stub.c
index e58b72cb..aeb335c7 100644
--- a/remote-stub.c
+++ b/remote-stub.c
@@ -1,7 +1,5 @@
/* Template for the remote job exportation interface to GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -16,7 +14,7 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
#include "filedef.h"
#include "job.h"
#include "commands.h"
diff --git a/rule.c b/rule.c
index a966cc99..9abf5b01 100644
--- a/rule.c
+++ b/rule.c
@@ -1,7 +1,5 @@
/* Pattern and suffix rule internals for GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -16,12 +14,12 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
#include <assert.h>
-#include "dep.h"
#include "filedef.h"
+#include "dep.h"
#include "job.h"
#include "commands.h"
#include "variable.h"
@@ -72,7 +70,7 @@ count_implicit_rule_limits (void)
{
char *name;
int namelen;
- struct rule *rule, *lastrule;
+ struct rule *rule;
num_pattern_rules = max_pattern_targets = max_pattern_deps = 0;
max_pattern_dep_length = 0;
@@ -80,7 +78,6 @@ count_implicit_rule_limits (void)
name = 0;
namelen = 0;
rule = pattern_rules;
- lastrule = 0;
while (rule != 0)
{
unsigned int ndeps = 0;
@@ -90,10 +87,10 @@ count_implicit_rule_limits (void)
++num_pattern_rules;
if (rule->num > max_pattern_targets)
- max_pattern_targets = rule->num;
+ max_pattern_targets = rule->num;
for (dep = rule->deps; dep != 0; dep = dep->next)
- {
+ {
const char *dname = dep_name (dep);
unsigned int len = strlen (dname);
@@ -109,49 +106,47 @@ count_implicit_rule_limits (void)
#endif
ndeps++;
- if (len > max_pattern_dep_length)
- max_pattern_dep_length = len;
-
- if (p != 0 && p2 > p)
- {
- /* There is a slash before the % in the dep name.
- Extract the directory name. */
- if (p == dname)
- ++p;
- if (p - dname > namelen)
- {
- namelen = p - dname;
- name = xrealloc (name, namelen + 1);
- }
- memcpy (name, dname, p - dname);
- name[p - dname] = '\0';
-
- /* In the deps of an implicit rule the `changed' flag
- actually indicates that the dependency is in a
- nonexistent subdirectory. */
-
- dep->changed = !dir_file_exists_p (name, "");
- }
- else
- /* This dependency does not reside in a subdirectory. */
- dep->changed = 0;
- }
+ if (len > max_pattern_dep_length)
+ max_pattern_dep_length = len;
+
+ if (p != 0 && p2 > p)
+ {
+ /* There is a slash before the % in the dep name.
+ Extract the directory name. */
+ if (p == dname)
+ ++p;
+ if (p - dname > namelen)
+ {
+ namelen = p - dname;
+ name = xrealloc (name, namelen + 1);
+ }
+ memcpy (name, dname, p - dname);
+ name[p - dname] = '\0';
+
+ /* In the deps of an implicit rule the 'changed' flag
+ actually indicates that the dependency is in a
+ nonexistent subdirectory. */
+
+ dep->changed = !dir_file_exists_p (name, "");
+ }
+ else
+ /* This dependency does not reside in a subdirectory. */
+ dep->changed = 0;
+ }
if (ndeps > max_pattern_deps)
- max_pattern_deps = ndeps;
+ max_pattern_deps = ndeps;
- lastrule = rule;
rule = next;
}
- if (name != 0)
- free (name);
+ free (name);
}
/* Create a pattern rule from a suffix rule.
TARGET is the target suffix; SOURCE is the source suffix.
CMDS are the commands.
- If TARGET is nil, it means the target pattern should be `(%.o)'.
+ If TARGET is nil, it means the target pattern should be '(%.o)'.
If SOURCE is nil, it means there should be no deps. */
static void
@@ -166,8 +161,8 @@ convert_suffix_rule (const char *target, const char *source,
if (target == 0)
{
- /* Special case: TARGET being nil means we are defining a `.X.a' suffix
- rule; the target pattern is always `(%.o)'. */
+ /* Special case: TARGET being nil means we are defining a '.X.a' suffix
+ rule; the target pattern is always '(%.o)'. */
#ifdef VMS
*names = strcache_add_len ("(%.obj)", 7);
#else
@@ -221,7 +216,7 @@ convert_to_pattern (void)
{
unsigned int l = strlen (dep_name (d));
if (l > maxsuffix)
- maxsuffix = l;
+ maxsuffix = l;
}
/* Space to construct the suffix rule target name. */
@@ -232,12 +227,12 @@ convert_to_pattern (void)
unsigned int slen;
/* Make a rule that is just the suffix, with no deps or commands.
- This rule exists solely to disqualify match-anything rules. */
+ This rule exists solely to disqualify match-anything rules. */
convert_suffix_rule (dep_name (d), 0, 0);
if (d->file->cmds != 0)
- /* Record a pattern for this suffix's null-suffix rule. */
- convert_suffix_rule ("", dep_name (d), d->file->cmds);
+ /* Record a pattern for this suffix's null-suffix rule. */
+ convert_suffix_rule ("", dep_name (d), d->file->cmds);
/* Add every other suffix to this one and see if it exists as a
two-suffix rule. */
@@ -245,32 +240,32 @@ convert_to_pattern (void)
memcpy (rulename, dep_name (d), slen);
for (d2 = suffix_file->deps; d2 != 0; d2 = d2->next)
- {
+ {
struct file *f;
unsigned int s2len;
- s2len = strlen (dep_name (d2));
+ s2len = strlen (dep_name (d2));
/* Can't build something from itself. */
- if (slen == s2len && streq (dep_name (d), dep_name (d2)))
- continue;
-
- memcpy (rulename + slen, dep_name (d2), s2len + 1);
- f = lookup_file (rulename);
- if (f == 0 || f->cmds == 0)
- continue;
-
- if (s2len == 2 && rulename[slen] == '.' && rulename[slen + 1] == 'a')
- /* A suffix rule `.X.a:' generates the pattern rule `(%.o): %.X'.
- It also generates a normal `%.a: %.X' rule below. */
- convert_suffix_rule (NULL, /* Indicates `(%.o)'. */
- dep_name (d),
- f->cmds);
-
- /* The suffix rule `.X.Y:' is converted
- to the pattern rule `%.Y: %.X'. */
- convert_suffix_rule (dep_name (d2), dep_name (d), f->cmds);
- }
+ if (slen == s2len && streq (dep_name (d), dep_name (d2)))
+ continue;
+
+ memcpy (rulename + slen, dep_name (d2), s2len + 1);
+ f = lookup_file (rulename);
+ if (f == 0 || f->cmds == 0)
+ continue;
+
+ if (s2len == 2 && rulename[slen] == '.' && rulename[slen + 1] == 'a')
+ /* A suffix rule '.X.a:' generates the pattern rule '(%.o): %.X'.
+ It also generates a normal '%.a: %.X' rule below. */
+ convert_suffix_rule (NULL, /* Indicates '(%.o)'. */
+ dep_name (d),
+ f->cmds);
+
+ /* The suffix rule '.X.Y:' is converted
+ to the pattern rule '%.Y: %.X'. */
+ convert_suffix_rule (dep_name (d2), dep_name (d), f->cmds);
+ }
}
}
@@ -298,42 +293,42 @@ new_pattern_rule (struct rule *rule, int override)
for (r = pattern_rules; r != 0; lastrule = r, r = r->next)
for (i = 0; i < rule->num; ++i)
{
- for (j = 0; j < r->num; ++j)
- if (!streq (rule->targets[i], r->targets[j]))
- break;
+ for (j = 0; j < r->num; ++j)
+ if (!streq (rule->targets[i], r->targets[j]))
+ break;
/* If all the targets matched... */
- if (j == r->num)
- {
- struct dep *d, *d2;
- for (d = rule->deps, d2 = r->deps;
- d != 0 && d2 != 0; d = d->next, d2 = d2->next)
- if (!streq (dep_name (d), dep_name (d2)))
- break;
- if (d == 0 && d2 == 0)
- {
- /* All the dependencies matched. */
- if (override)
- {
- /* Remove the old rule. */
- freerule (r, lastrule);
- /* Install the new one. */
- if (pattern_rules == 0)
- pattern_rules = rule;
- else
- last_pattern_rule->next = rule;
- last_pattern_rule = rule;
-
- /* We got one. Stop looking. */
- goto matched;
- }
- else
- {
- /* The old rule stays intact. Destroy the new one. */
- freerule (rule, (struct rule *) 0);
- return 0;
- }
- }
- }
+ if (j == r->num)
+ {
+ struct dep *d, *d2;
+ for (d = rule->deps, d2 = r->deps;
+ d != 0 && d2 != 0; d = d->next, d2 = d2->next)
+ if (!streq (dep_name (d), dep_name (d2)))
+ break;
+ if (d == 0 && d2 == 0)
+ {
+ /* All the dependencies matched. */
+ if (override)
+ {
+ /* Remove the old rule. */
+ freerule (r, lastrule);
+ /* Install the new one. */
+ if (pattern_rules == 0)
+ pattern_rules = rule;
+ else
+ last_pattern_rule->next = rule;
+ last_pattern_rule = rule;
+
+ /* We got one. Stop looking. */
+ goto matched;
+ }
+ else
+ {
+ /* The old rule stays intact. Destroy the new one. */
+ freerule (rule, (struct rule *) 0);
+ return 0;
+ }
+ }
+ }
}
matched:;
@@ -342,9 +337,9 @@ new_pattern_rule (struct rule *rule, int override)
{
/* There was no rule to replace. */
if (pattern_rules == 0)
- pattern_rules = rule;
+ pattern_rules = rule;
else
- last_pattern_rule->next = rule;
+ last_pattern_rule->next = rule;
last_pattern_rule = rule;
}
@@ -355,13 +350,13 @@ new_pattern_rule (struct rule *rule, int override)
/* Install an implicit pattern rule based on the three text strings
in the structure P points to. These strings come from one of
the arrays of default implicit pattern rules.
- TERMINAL specifies what the `terminal' field of the rule should be. */
+ TERMINAL specifies what the 'terminal' field of the rule should be. */
void
install_pattern_rule (struct pspec *p, int terminal)
{
struct rule *r;
- char *ptr;
+ const char *ptr;
r = xmalloc (sizeof (struct rule));
@@ -377,7 +372,7 @@ install_pattern_rule (struct pspec *p, int terminal)
++r->suffixes[0];
ptr = p->dep;
- r->deps = PARSE_FILE_SEQ (&ptr, struct dep, '\0', NULL, 0);
+ r->deps = PARSE_SIMPLE_SEQ ((char **)&ptr, struct dep);
if (new_pattern_rule (r, 0))
{
@@ -386,9 +381,10 @@ install_pattern_rule (struct pspec *p, int terminal)
r->cmds->fileinfo.filenm = 0;
r->cmds->fileinfo.lineno = 0;
/* These will all be string literals, but we malloc space for them
- anyway because somebody might want to free them later. */
+ anyway because somebody might want to free them later. */
r->cmds->commands = xstrdup (p->commands);
r->cmds->command_lines = 0;
+ r->cmds->recipe_prefix = RECIPEPREFIX_DEFAULT;
}
}
@@ -412,13 +408,13 @@ freerule (struct rule *rule, struct rule *lastrule)
/* We can't free the storage for the commands because there
are ways that they could be in more than one place:
* If the commands came from a suffix rule, they could also be in
- the `struct file's for other suffix rules or plain targets given
+ the 'struct file's for other suffix rules or plain targets given
on the same makefile line.
* If two suffixes that together make a two-suffix rule were each
given twice in the .SUFFIXES list, and in the proper order, two
identical pattern rules would be created and the second one would
- be discarded here, but both would contain the same `struct commands'
- pointer from the `struct file' for the suffix rule. */
+ be discarded here, but both would contain the same 'struct commands'
+ pointer from the 'struct file' for the suffix rule. */
free (rule);
@@ -471,7 +467,7 @@ create_pattern_rule (const char **targets, const char **target_percents,
/* Print the data base of rules. */
-static void /* Useful to call from gdb. */
+static void /* Useful to call from gdb. */
print_rule (struct rule *r)
{
unsigned int i;
@@ -507,7 +503,7 @@ print_rule_data_base (void)
print_rule (r);
if (r->terminal)
- ++terminal;
+ ++terminal;
}
if (rules == 0)
@@ -515,12 +511,12 @@ print_rule_data_base (void)
else
{
printf (_("\n# %u implicit rules, %u"), rules, terminal);
-#ifndef NO_FLOAT
+#ifndef NO_FLOAT
printf (" (%.1f%%)", (double) terminal / (double) rules * 100.0);
#else
{
- int f = (terminal * 1000 + 5) / rules;
- printf (" (%d.%d%%)", f/10, f%10);
+ int f = (terminal * 1000 + 5) / rules;
+ printf (" (%d.%d%%)", f/10, f%10);
}
#endif
puts (_(" terminal."));
@@ -531,7 +527,7 @@ print_rule_data_base (void)
/* This can happen if a fatal error was detected while reading the
makefiles and thus count_implicit_rule_limits wasn't called yet. */
if (num_pattern_rules != 0)
- fatal (NILF, _("BUG: num_pattern_rules is wrong! %u != %u"),
- num_pattern_rules, rules);
+ ONN (fatal, NILF, _("BUG: num_pattern_rules is wrong! %u != %u"),
+ num_pattern_rules, rules);
}
}
diff --git a/rule.h b/rule.h
index b119d217..df9fba2a 100644
--- a/rule.h
+++ b/rule.h
@@ -1,7 +1,5 @@
/* Definitions for using pattern rules in GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -22,20 +20,20 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
struct rule
{
struct rule *next;
- const char **targets; /* Targets of the rule. */
- unsigned int *lens; /* Lengths of each target. */
- const char **suffixes; /* Suffixes (after `%') of each target. */
- struct dep *deps; /* Dependencies of the rule. */
- struct commands *cmds; /* Commands to execute. */
+ const char **targets; /* Targets of the rule. */
+ unsigned int *lens; /* Lengths of each target. */
+ const char **suffixes; /* Suffixes (after '%') of each target. */
+ struct dep *deps; /* Dependencies of the rule. */
+ struct commands *cmds; /* Commands to execute. */
unsigned short num; /* Number of targets. */
- char terminal; /* If terminal (double-colon). */
- char in_use; /* If in use by a parent pattern_search. */
+ char terminal; /* If terminal (double-colon). */
+ char in_use; /* If in use by a parent pattern_search. */
};
/* For calling install_pattern_rule. */
struct pspec
{
- char *target, *dep, *commands;
+ const char *target, *dep, *commands;
};
diff --git a/signame.c b/signame.c
index 6f3383d2..7db24391 100644
--- a/signame.c
+++ b/signame.c
@@ -1,7 +1,5 @@
/* Convert between signal names and numbers.
-Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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
@@ -16,7 +14,7 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
/* If the system provides strsignal, we don't need it. */
@@ -29,11 +27,11 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#if !HAVE_DECL_SYS_SIGLIST
/* Some systems do not define NSIG in <signal.h>. */
-#ifndef NSIG
-#ifdef _NSIG
-#define NSIG _NSIG
+#ifndef NSIG
+#ifdef _NSIG
+#define NSIG _NSIG
#else
-#define NSIG 32
+#define NSIG 32
#endif
#endif
@@ -194,10 +192,10 @@ signame_init (void)
init_sig (SIGURG, "URG", _("Urgent I/O condition"));
#endif
#if defined (SIGIO)
- /* "I/O pending" has also been suggested. A disadvantage is
- that signal only happens when the process has
- asked for it, not everytime I/O is pending. Another disadvantage
- is the confusion from giving it a different name than under Unix. */
+ /* "I/O pending" has also been suggested. A disadvantage is that signal
+ only happens when the process has asked for it, not every time I/O is
+ pending. Another disadvantage is the confusion from giving it a
+ different name than under Unix. */
init_sig (SIGIO, "IO", _("I/O possible"));
#endif
#if defined (SIGWIND)
@@ -246,7 +244,7 @@ strsignal (int sig)
# endif
#endif
- if (sig > 0 || sig < NSIG)
+ if (sig > 0 && sig < NSIG)
return (char *) sys_siglist[sig];
sprintf (buf, "Signal %d", sig);
diff --git a/stage2-make.morph b/stage2-make.morph
deleted file mode 100644
index d3c8bf22..00000000
--- a/stage2-make.morph
+++ /dev/null
@@ -1,9 +0,0 @@
-name: stage2-make
-kind: chunk
-build-system: autotools
-configure-commands:
-- STAGE2_SYSROOT="$(dirname $(pwd))" CPPFLAGS="--sysroot=$STAGE2_SYSROOT" CXX=false
- LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT" ./configure --prefix="$PREFIX" --disable-nls
- --build=$(sh config/config.guess) --host=$TARGET_STAGE1
-build-commands:
-- STAGE2_SYSROOT="$(dirname $(pwd))" make
diff --git a/strcache.c b/strcache.c
index 830ec7d9..1ade5e7d 100644
--- a/strcache.c
+++ b/strcache.c
@@ -1,5 +1,5 @@
/* Constant string caching for GNU Make.
-Copyright (C) 2006, 2007, 2008, 2009, 2010 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
@@ -14,31 +14,42 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
+#include <stddef.h>
#include <assert.h>
#include "hash.h"
-/* The size (in bytes) of each cache buffer.
- Try to pick something that will map well into the heap. */
-#define CACHE_BUFFER_SIZE (8192 - 16)
-
-
/* A string cached here will never be freed, so we don't need to worry about
reference counting. We just store the string, and then remember it in a
hash so it can be looked up again. */
+typedef unsigned short int sc_buflen_t;
+
struct strcache {
- struct strcache *next; /* The next block of strings. */
- char *end; /* Pointer to the beginning of the free space. */
- int count; /* # of strings in this buffer (for stats). */
- int bytesfree; /* The amount of the buffer that is free. */
+ struct strcache *next; /* The next block of strings. Must be first! */
+ sc_buflen_t end; /* Offset to the beginning of free space. */
+ sc_buflen_t bytesfree; /* Free space left in this buffer. */
+ sc_buflen_t count; /* # of strings in this buffer (for stats). */
char buffer[1]; /* The buffer comes after this. */
};
-static int bufsize = CACHE_BUFFER_SIZE;
+/* The size (in bytes) of each cache buffer.
+ Try to pick something that will map well into the heap.
+ This must be able to be represented by a short int (<=65535). */
+#define CACHE_BUFFER_BASE (8192)
+#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)
+
+static sc_buflen_t bufsize = CACHE_BUFFER_SIZE (CACHE_BUFFER_BASE);
static struct strcache *strcache = NULL;
+static struct strcache *fullcache = NULL;
+
+static unsigned long total_buffers = 0;
+static unsigned long total_strings = 0;
+static unsigned long total_size = 0;
/* Add a new buffer to the cache. Add it at the front to reduce search time.
This can also increase the overhead, since it's less likely that older
@@ -46,53 +57,68 @@ static struct strcache *strcache = NULL;
that this doesn't seem to be much of an issue in practice.
*/
static struct strcache *
-new_cache()
+new_cache ()
{
struct strcache *new;
- new = xmalloc (sizeof (*new) + bufsize);
- new->end = new->buffer;
+ new = xmalloc (bufsize + CACHE_BUFFER_OFFSET);
+ new->end = 0;
new->count = 0;
new->bytesfree = bufsize;
new->next = strcache;
strcache = new;
+ ++total_buffers;
return new;
}
static const char *
-add_string(const char *str, int len)
+add_string (const char *str, unsigned int len)
{
- struct strcache *best = NULL;
+ char *res;
struct strcache *sp;
- const char *res;
+ struct strcache **spp = &strcache;
+ /* We need space for the nul char. */
+ unsigned int sz = len + 1;
/* If the string we want is too large to fit into a single buffer, then
- we're screwed; nothing will ever fit! Change the maximum size of the
- cache to be big enough. */
- if (len > bufsize)
- bufsize = len * 2;
-
- /* First, find a cache with enough free space. We always look through all
- the blocks and choose the one with the best fit (the one that leaves the
- least amount of space free). */
- for (sp = strcache; sp != NULL; sp = sp->next)
- if (sp->bytesfree > len && (!best || best->bytesfree > sp->bytesfree))
- best = sp;
+ 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;
/* If nothing is big enough, make a new cache. */
- if (!best)
- best = new_cache();
+ sp = *spp;
+ if (sp == NULL)
+ {
+ sp = new_cache ();
+ spp = &sp;
+ }
+
+ /* Add the string to this cache. */
+ res = &sp->buffer[sp->end];
+ memmove (res, str, len);
+ res[len] = '\0';
+ sp->end += sz;
+ sp->bytesfree -= sz;
+ ++sp->count;
- assert (best->bytesfree > len);
+ /* If the amount free in this cache is less than the average string size,
+ consider it full and move it to the full list. */
+ ++total_strings;
+ total_size += sz;
- /* Add the string to the best cache. */
- res = best->end;
- memcpy (best->end, str, len);
- best->end += len;
- *(best->end++) = '\0';
- best->bytesfree -= len + 1;
- ++best->count;
+ if (sp->bytesfree < (total_size / total_strings) + 1)
+ {
+ *spp = (*spp)->next;
+ sp->next = fullcache;
+ fullcache = sp;
+ }
return res;
}
@@ -128,7 +154,7 @@ add_hash (const char *str, int len)
char *const *slot = (char *const *) hash_find_slot (&strings, str);
const char *key = *slot;
- /* Count the total number of adds we performed. */
+ /* Count the total number of add operations we performed. */
++total_adds;
if (!HASH_VACANT (key))
@@ -147,7 +173,10 @@ strcache_iscached (const char *str)
struct strcache *sp;
for (sp = strcache; sp != 0; sp = sp->next)
- if (str >= sp->buffer && str < sp->end)
+ if (str >= sp->buffer && str < sp->buffer + sp->end)
+ return 1;
+ for (sp = fullcache; sp != 0; sp = sp->next)
+ if (str >= sp->buffer && str < sp->buffer + sp->end)
return 1;
return 0;
@@ -163,7 +192,7 @@ strcache_add (const char *str)
}
const char *
-strcache_add_len (const char *str, int len)
+strcache_add_len (const char *str, unsigned int len)
{
/* If we're not given a nul-terminated string we have to create one, because
the hashing functions expect it. */
@@ -179,7 +208,7 @@ strcache_add_len (const char *str, int len)
}
int
-strcache_setbufsize(int size)
+strcache_setbufsize (unsigned int size)
{
if (size > bufsize)
bufsize = size;
@@ -198,49 +227,65 @@ strcache_init (void)
void
strcache_print_stats (const char *prefix)
{
- int numbuffs = 0, numstrs = 0;
- int totsize = 0, avgsize, maxsize = 0, minsize = bufsize;
- int totfree = 0, avgfree, maxfree = 0, minfree = bufsize;
- int lastused = 0, lastfree = 0;
+ const struct strcache *sp;
+ unsigned long numbuffs = 0, fullbuffs = 0;
+ unsigned long totfree = 0, maxfree = 0, minfree = bufsize;
- if (strcache)
+ if (! strcache)
{
- const struct strcache *sp;
+ printf (_("\n%s No strcache buffers\n"), prefix);
+ return;
+ }
- /* Count the first buffer separately since it's not full. */
- lastused = strcache->end - strcache->buffer;
- lastfree = strcache->bytesfree;
+ /* Count the first buffer separately since it's not full. */
+ for (sp = strcache->next; sp != NULL; sp = sp->next)
+ {
+ sc_buflen_t bf = sp->bytesfree;
- for (sp = strcache->next; sp != NULL; sp = sp->next)
- {
- int bf = sp->bytesfree;
- int sz = sp->end - sp->buffer;
+ totfree += bf;
+ maxfree = (bf > maxfree ? bf : maxfree);
+ minfree = (bf < minfree ? bf : minfree);
- ++numbuffs;
- numstrs += sp->count;
+ ++numbuffs;
+ }
+ for (sp = fullcache; sp != NULL; sp = sp->next)
+ {
+ sc_buflen_t bf = sp->bytesfree;
- totsize += sz;
- maxsize = (sz > maxsize ? sz : maxsize);
- minsize = (sz < minsize ? sz : minsize);
+ totfree += bf;
+ maxfree = (bf > maxfree ? bf : maxfree);
+ minfree = (bf < minfree ? bf : minfree);
- totfree += bf;
- maxfree = (bf > maxfree ? bf : maxfree);
- minfree = (bf < minfree ? bf : minfree);
- }
+ ++numbuffs;
+ ++fullbuffs;
}
- avgsize = numbuffs ? (int)(totsize / numbuffs) : 0;
- avgfree = numbuffs ? (int)(totfree / numbuffs) : 0;
+ /* Make sure we didn't lose any buffers. */
+ assert (total_buffers == numbuffs + 1);
+
+ printf (_("\n%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu B\n"),
+ prefix, numbuffs + 1, fullbuffs, total_strings, total_size,
+ (total_size / total_strings));
- printf (_("\n%s # of strings in strcache: %d / lookups = %lu / hits = %lu\n"),
- prefix, numstrs, total_adds, (total_adds - numstrs));
- printf (_("%s # of strcache buffers: %d (* %d B/buffer = %d B)\n"),
- prefix, (numbuffs + 1), bufsize, ((numbuffs + 1) * bufsize));
- printf (_("%s strcache used: total = %d (%d) / max = %d / min = %d / avg = %d\n"),
- prefix, totsize, lastused, maxsize, minsize, avgsize);
- printf (_("%s strcache free: total = %d (%d) / max = %d / min = %d / avg = %d\n"),
- prefix, totfree, lastfree, maxfree, minfree, avgfree);
+ printf (_("%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"),
+ prefix, bufsize, strcache->end, strcache->count,
+ (strcache->end / strcache->count));
+
+ if (numbuffs)
+ {
+ unsigned long sz = total_size - bufsize;
+ unsigned long cnt = total_strings - strcache->count;
+ sc_buflen_t avgfree = totfree / numbuffs;
+
+ printf (_("%s other used: total = %lu B / count = %lu / avg = %lu B\n"),
+ prefix, sz, cnt, sz / cnt);
+
+ printf (_("%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n"),
+ prefix, totfree, maxfree, minfree, avgfree);
+ }
- fputs (_("\n# strcache hash-table stats:\n# "), stdout);
+ printf (_("\n%s strcache performance: lookups = %lu / hit rate = %lu%%\n"),
+ prefix, total_adds, (long unsigned)(100.0 * (total_adds - total_strings) / total_adds));
+ fputs (_("# hash-table stats:\n# "), stdout);
hash_print_stats (&strings, stdout);
}
diff --git a/subproc.bat b/subproc.bat
index e5a05289..e3b8d3cf 100644
--- a/subproc.bat
+++ b/subproc.bat
@@ -1,6 +1,5 @@
@echo off
-rem Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-rem 2005, 2006, 2007, 2008, 2009, 2010 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
diff --git a/tests/.cvsignore b/tests/.cvsignore
deleted file mode 100644
index 2fe91872..00000000
--- a/tests/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-work
-.*gdbinit
-.gdb_history
diff --git a/tests/ChangeLog b/tests/ChangeLog.1
index d036568e..9abe731c 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog.1
@@ -1,3 +1,354 @@
+2013-10-09 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/patspecific_vars: Typo fixes.
+
+2013-10-05 Paul Smith <psmith@gnu.org>
+
+ * test_driver.pl (run_all_tests): Rewrite to be more clear.
+ * scripts/features/jobserver: Avoid using $ENV{HOME} as it doesn't
+ exist everywhere.
+ * scripts/features/default_names: End with 1;
+
+ * scripts/features/loadapi: Use new calling signatures. Verify
+ the NOEXPAND flag works. Test with all valid function name
+ characters.
+
+2013-09-29 Paul Smith <psmith@gnu.org>
+
+ * scripts/variables/SHELL: Solaris /bin/sh can't handle options in
+ multiple words; skip that test.
+ * scripts/targets/ONESHELL: Ditto.
+
+ * scripts/variables/GNUMAKEFLAGS: Verify that GNUMAKEFLAGS is
+ cleared and options are not duplicated.
+
+2013-09-23 Paul Smith <psmith@gnu.org>
+
+ * scripts/options/print-directory: Rename dash-w to
+ print-directory to avoid conflicts with dash-W on case-insensitive
+ filesystems.
+
+2013-09-22 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/se_implicit: Verify that order-only tokens
+ inside second expansion are parsed correctly.
+ Test for Savannah bug #31155.
+
+ * run_make_tests.pl (set_more_defaults): If we can't find
+ gnumake.h based on the make program we might be running from a
+ remote build directory. Parse the Makefile for the right path.
+
+ Fix some test issues on Solaris.
+
+ * scripts/features/archives: Determine what output ar gives when
+ adding and replacing objects and compare with that.
+ * scripts/features/escape: Solaris /bin/sh doesn't properly handle
+ backslashes inside single quotes, so don't rely on it.
+ * scripts/features/output-sync: false(1) gives different exit
+ codes on different systems; use "exit 1" instead.
+ * scripts/features/parallelism: Increase the timeout for slower systems.
+
+2013-09-21 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/archives: Some versions of ar (MacOSX) generate
+ different output when creating archives. Run it and verify the
+ real output.
+ * scripts/features/default_names: MacOSX is, like Windows,
+ case-preserving / case-insensitive. Redo the test to avoid
+ checking for "UNIX".
+ * test_driver.pl (attach_default_output): Don't dup stdout into
+ stderr. Reported by Denis Excoffier <bug-tar@Denis-Excoffier.org>
+
+ * scripts/features/se_explicit: Fix a test that behaves
+ differently with/without archive capability enabled.
+ * scripts/features/output-sync: Don't test output-sync if it's not
+ enabled. We also skip it if parallelism is not enabled, although
+ strictly speaking some of the output-sync tests are valid even
+ without parallelism.
+ * scripts/features/jobserver: Move some tests that require the
+ jobserver from features/parallelism to a separate suite. Only run
+ this if jobserver mode is enabled.
+
+ * scripts/features/output-sync: Test shell functions writing to
+ stderr in recipes: ensure it's captured via output-sync. Test
+ output generated while reading makefiles and make sure it's
+ captured via output-sync. Make sure that fatal errors dump the
+ output so it's not lost.
+
+ * scripts/options/dash-w: Add a test for -w flag.
+
+2013-09-15 Paul Smith <psmith@gnu.org>
+
+ * scripts/misc/fopen-fail: Check for failure on infinite recursion.
+ * run_make_tests.pl (run_make_test): Allow the answer string to be
+ undef, which means that we shouldn't compare it at all. Only the
+ exit code matters in this case.
+ * test_driver.pl (compare_output): Ditto.
+ Test for Savannah bug #27374.
+
+ * scripts/features/parallelism: Test broken jobserver on recursion.
+ Test for Savannah bug #39934.
+
+ * scripts/options/eval: Verify --eval during restart.
+ Test for Savannah bug #39203.
+
+2013-09-14 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/output-sync: Verify -Orecurse properly.
+
+2013-09-12 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/output-sync: Modify for output sync behavior.
+ * scripts/variables/MAKE_RESTARTS: Ditto.
+ * scripts/variables/MAKEFLAGS: Remove mode for --trace.
+ * scripts/variables/GNUMAKEFLAGS: Ditto.
+
+2013-07-22 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/rule_glob: Add tests for wildcards in rules.
+ Test for Savannah bug #39310.
+
+2013-07-09 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/se_implicit: Add a test for SE rules depending
+ on other SE rules to be built.
+
+2013-05-26 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/archives: Test for Savannah bug #38442.
+
+ * scripts/misc/bs-nl: Test for Savannah bug #39035.
+ Add a test for Savannah bug #38945.
+
+2013-05-22 Paul Smith <psmith@gnu.org>
+
+ * scripts/options/dash-n: Fix results after MAKEFLAGS fixes.
+ * scripts/variables/MAKEFLAGS: Ditto.
+ * scripts/variables/GNUMAKEFLAGS: Ditto.
+
+2013-05-14 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/loadapi: Add plugin_is_GPL_compatible symbol.
+ * scripts/features/load: Ditto.
+
+2013-05-13 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/output-sync (output_sync_set): Update for new
+ --trace behavior.
+
+2013-05-05 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/output-sync (output_sync_set): Remove
+ extraneous enter/leave lines, which are no longer printed.
+ Add tests for syncing command line printing.
+ (output_sync_set): Rename options: "job"->"line"; "make"->"recurse"
+
+2013-05-04 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/loadapi: Use the new alloc functions.
+
+ * scripts/features/output-sync (output_sync_set): New test for
+ ordered recursive output for -Ojob / -Otarget.
+
+2013-05-03 Eli Zaretskii <eliz@gnu.org>
+
+ * scripts/features/load: Fix signatures of testload_gmk_setup and
+ explicit_setup, to bring them in line with the documentation.
+
+2013-04-28 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/output-sync (output_sync_set): Add tests for
+ the per-job syntax mode.
+ (output_sync_set): Test improved error message location.
+
+2013-04-15 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/output-sync (output_sync_set): New arg syntax.
+
+2013-04-14 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/output-sync: Rewrite to be more reliable.
+
+ * test_driver.pl (_run_command): Don't set SIGALRM until after we
+ start the child. Print errors to the top-level output, which will
+ be stderr.
+ (attach_default_output): Use a list of file handles as the stack.
+ (detach_default_output): Ditto.
+
+ * scripts/features/output-sync: Add a test for output-sync.
+
+2013-02-25 Paul Smith <psmith@gnu.org>
+
+ * run_make_tests.pl (valid_option): Support the -srcdir flag.
+ (set_more_defaults): Set up $srcdir if it's not set yet.
+
+ * scripts/functions/guile: Verify gmk-eval doesn't expand twice.
+ * scripts/features/load: Rework to test just the load capability.
+ * scripts/features/loadapi: New set of tests for the load API.
+
+2013-01-19 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/load: Test loaded files with and without "./"
+ prefix. Add tests for automatically rebuilding loaded files if
+ they are out of date or non-existent.
+
+2013-01-13 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/archives: Add a check targets that have parens,
+ but are not archives. See Savannah bug #37878.
+
+ * scripts/options/dash-n: Verify -n is preserved after recursive /
+ re-exec. See Savannah bug #38051.
+
+2013-01-12 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/parallelism: Change rule so it doesn't depend
+ on invocation order, etc.
+
+2012-10-29 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/load: New test suite for the "load" directive.
+
+2012-09-09 Paul Smith <psmith@gnu.org>
+
+ * scripts/functions/file: Get errors in the C locale, not the
+ current locale. Fixes Savannah bug #35764.
+
+ * scripts/features/escape: Check that backslashes before
+ non-special characters are not removed.
+
+ * scripts/features/utf8: New test for UTF-8 support.
+ See Savannah bug #36529.
+
+ * scripts/targets/POSIX: Add tests for default macro values as
+ specified by IEEE Std 1003.1-2008. See Savannah bug #37069.
+
+2012-03-04 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/se_explicit: Test $(x:%=%) format in secondary
+ expansion prerequisite lists. See Savannah bug #16545.
+
+ * scripts/features/escape: Test escaped ":" in prerequisite lists.
+ See Savannah bug #12126.
+
+ * scripts/variables/private: Test appending private variables in
+ pattern-specific target rules. See Savannah bug #35468.
+
+2012-03-03 Paul Smith <psmith@gnu.org>
+
+ * scripts/variables/SHELL: Ensure .SHELLFLAGS works with options
+ separated by whitespace.
+
+ * scripts/targets/ONESHELL: Try .ONESHELL in combination with
+ whitespace-separated options in .SHELLFLAGS. See Savannah bug #35397.
+
+ * scripts/functions/filter-out: Add filter tests and test escape
+ operations. See Savannah bug #35410.
+
+ * guile.supp: Suppress valgrind errors from Guile
+ * run_make_tests.pl: Use the Guile suppression file.
+
+ * scripts/misc/bs-nl: Check for POSIX and non-POSIX
+ backslash/newline handling. Addresses Savannah bug #16670.
+
+2012-01-29 Paul Smith <psmith@gnu.org>
+
+ * scripts/variables/flavors: Add tests for ::=
+ * scripts/variables/define: Ditto
+
+ * scripts/functions/file: Test the new $(file ...) function.
+
+2012-01-12 Paul Smith <psmith@gnu.org>
+
+ * scripts/functions/guile: New regression tests for Guile support.
+
+2011-12-10 Paul Smith <psmith@gnu.org>
+
+ * scripts/targets/SECONDARY: Add prereq statements to ensure rules
+ are printed in the right order for test #9
+
+2011-11-14 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/double_colon: Check double-colon with escaped
+ filenames. See Savannah bug #33399.
+
+2011-09-18 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/parallelism: On re-exec make sure we preserve
+ the value of MAKEFLAGS when necessary. See Savannah bug #33873.
+
+ * scripts/features/vpath3: Verify handling of -lfoo libraries
+ found via vpath vs. the standard directory search.
+ See Savannah bug #32511.
+
+2011-09-12 Paul Smith <psmith@gnu.org>
+
+ * scripts/functions/call: Verify that using export in a $(call ...)
+ context creates a global variable. See Savannah bug #32498.
+
+2011-09-02 Paul Smith <psmith@gnu.org>
+
+ * scripts/options/dash-n: Verify that in "-n -t", the -n takes
+ priority. Patch from Michael Witten <mfwitten@gmail.com>.
+
+2011-08-29 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/varnesting: Test resetting of variables while
+ expanding them. See Savannah patch #7534
+
+2011-06-12 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/archives: Check archives with whitespace at the
+ beginning, end, and extra in the middle.
+ Another test for Savannah bug #30612.
+
+2011-05-07 Paul Smith <psmith@gnu.org>
+
+ * scripts/variables/private: Ensure we skip private variables when
+ appending. Test for Savannah bug #32872.
+
+ * scripts/functions/wildcard: Verify wildcard used to test for
+ file existence/non-existence.
+
+2011-05-02 Paul Smith <psmith@gnu.org>
+
+ * scripts/functions/sort: Add a test for Savannah bug #33125.
+
+2011-04-17 David A. Wheeler <dwheeler@dwheeler.com>
+
+ * scripts/features/shell_assignment: Regression for "!=" feature
+
+2010-11-06 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/targetvars: Fix known-good output for BS/NL changes.
+ * scripts/functions/call: Ditto.
+ * scripts/variables/special: Ditto.
+
+ * scripts/misc/bs-nl: New test suite for backslash/newline testing.
+
+2010-08-29 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/errors: Add new error message to output text.
+ * scripts/variables/SHELL: Ditto.
+ * scripts/targets/POSIX: Ditto.
+ * scripts/options/dash-k: Ditto.
+ * scripts/features/vpathplus: Ditto.
+ * scripts/features/patternrules: Ditto.
+ * scripts/features/parallelism: Ditto.
+
+2010-08-13 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/archives: New regression tests for archive
+ support. Test for fix to Savannah bug #30612.
+
+ * run_make_tests.pl (set_more_defaults): Set a %FEATURES hash to
+ the features available in $(.FEATURES).
+
+2010-08-10 Paul Smith <psmith@gnu.org>
+
+ * scripts/features/reinvoke: Ensure command line variable settings
+ are preserved across make re-exec. Tests Savannah bug #30723.
+
2010-07-28 Paul Smith <psmith@gnu.org>
* scripts/targets/POSIX: Compatibility issues with Solaris (and
@@ -299,7 +650,7 @@
* test_driver.pl (toplevel): Skip all hidden files/directories (ones
beginning with ".").
- * scripts/functions/andor: Tests for $(and ..) and $(or ...)
+ * scripts/functions/andor: Tests for $(and ...) and $(or ...)
functions.
2006-02-08 Boris Kolpackov <boris@kolpackov.net>
@@ -386,9 +737,9 @@
2005-08-13 Boris Kolpackov <boris@kolpackov.net>
- * scripts/functions/wildcard: Wrap calls to $(wildcard ) with
+ * scripts/functions/wildcard: Wrap calls to $(wildcard) with
$(sort) so that the resulting order is no longer filesystem-
- dependant.
+ dependent.
2005-08-10 Boris Kolpackov <boris@kolpackov.net>
@@ -459,7 +810,7 @@
2005-06-09 Paul D. Smith <psmith@gnu.org>
- * scripts/functions/foreach: Add a test for Savannah bug #11913.
+ * scripts/functions/foreach: Add a test for Savannah bug #11913.
2005-05-31 Boris Kolpackov <boris@kolpackov.net>
@@ -479,7 +830,7 @@
2005-05-02 Paul D. Smith <psmith@gnu.org>
* scripts/features/parallelism: Add a test for exporting recursive
- variables containing $(shell ) calls. Rewrite this script to use
+ variables containing $(shell) calls. Rewrite this script to use
run_make_test() everywhere.
2005-04-07 Paul D. Smith <psmith@gnu.org>
@@ -1062,8 +1413,7 @@
ChangeLog file for the test suite created.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 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 --git a/tests/NEWS b/tests/NEWS
index 43971ec3..584f4a4f 100644
--- a/tests/NEWS
+++ b/tests/NEWS
@@ -72,7 +72,7 @@ Changes from 0.4.4 to 0.4.5 (April 29, 1995):
Also, some tests and stuff still haven't made it in because I
haven't had time to write the test scripts for them. But they,
- too, will get in eventually. Contributions of scripts (ie, tests
+ too, will get in eventually. Contributions of scripts (i.e., tests
that I can just drop in) are particularly welcome and will be
incorporated immediately.
@@ -162,8 +162,7 @@ Changes from 0.1 to 0.2 (5-4-92):
-------------------------------------------------------------------------------
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 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 --git a/tests/README b/tests/README
index 3860bdbb..3b699eec 100644
--- a/tests/README
+++ b/tests/README
@@ -7,8 +7,7 @@ This entire test suite, including all test files, are copyright and
distributed under the following terms:
-----------------------------------------------------------------------------
- Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 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
@@ -39,7 +38,7 @@ To run the test suite on Windows NT or DOS systems, use
"perl.exe ./run_make-tests.pl".
By default, the test engine picks up the first executable called "make"
-that it finds in your path. You may use the -make_path option (ie,
+that it finds in your path. You may use the -make_path option (i.e.,
"perl run_make_tests -make_path /usr/local/src/make-3.78/make") if
you want to run a particular copy. This now works correctly with
relative paths and when make is called something other than "make" (like
@@ -59,7 +58,7 @@ The options/dash-l test will not really test anything if the copy of
make you are using can't obtain the system load. Some systems require
make to be setgid sys or kmem for this; if you don't want to install
make just to test it, make it setgid to kmem or whatever group /dev/kmem
-is (ie, "chgrp kmem make;chmod g+s make" as root). In any case, the
+is (i.e., "chgrp kmem make;chmod g+s make" as root). In any case, the
options/dash-l test should no longer *fail* because make can't read
/dev/kmem.
diff --git a/tests/config-flags.pm b/tests/config-flags.pm
new file mode 100644
index 00000000..903c468a
--- /dev/null
+++ b/tests/config-flags.pm
@@ -0,0 +1,19 @@
+# This is a -*-perl-*- script
+#
+# Set variables that were defined by configure, in case we need them
+# during the tests.
+
+%CONFIG_FLAGS = (
+ AM_LDFLAGS => '-Wl,--export-dynamic',
+ AR => 'ar',
+ CC => 'gcc',
+ CFLAGS => '-g -O2',
+ CPP => 'gcc -E',
+ CPPFLAGS => '',
+ GUILE_CFLAGS => '-pthread -I/usr/include/guile/2.0 ',
+ GUILE_LIBS => '-lguile-2.0 -lgc ',
+ LDFLAGS => '',
+ LIBS => '-ldl '
+);
+
+1;
diff --git a/tests/config-flags.pm.in b/tests/config-flags.pm.in
new file mode 100644
index 00000000..29ba1469
--- /dev/null
+++ b/tests/config-flags.pm.in
@@ -0,0 +1,19 @@
+# This is a -*-perl-*- script
+#
+# Set variables that were defined by configure, in case we need them
+# during the tests.
+
+%CONFIG_FLAGS = (
+ AM_LDFLAGS => '@AM_LDFLAGS@',
+ AR => '@AR@',
+ CC => '@CC@',
+ CFLAGS => '@CFLAGS@',
+ CPP => '@CPP@',
+ CPPFLAGS => '@CPPFLAGS@',
+ GUILE_CFLAGS => '@GUILE_CFLAGS@',
+ GUILE_LIBS => '@GUILE_LIBS@',
+ LDFLAGS => '@LDFLAGS@',
+ LIBS => '@LIBS@'
+);
+
+1;
diff --git a/tests/config_flags_pm.com b/tests/config_flags_pm.com
new file mode 100755
index 00000000..3f5adffe
--- /dev/null
+++ b/tests/config_flags_pm.com
@@ -0,0 +1,53 @@
+$!
+$! config_flags_pm.com - Build config-flags.pm on VMS.
+$!
+$! Just good enough to run the self tests for now.
+$!
+$! 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
+$! 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 <http://www.gnu.org/licenses/>.
+$!
+$!
+$ open/read cfpm_in config-flags.pm.in
+$!
+$ outfile = "sys$disk:[]config-flags.pm"
+$!
+$ cflags = "/include=([],[.glob]"
+$!
+$ create 'outfile'
+$ open/append cfpm 'outfile'
+$!
+$cfpm_read_loop:
+$ read cfpm_in/end=cfpm_read_loop_end line_in
+$ line_in_len = f$length(line_in)
+$ if f$locate("@", line_in) .lt. line_in_len
+$ then
+$ part1 = f$element(0, "@", line_in)
+$ key = f$element(1, "@", line_in)
+$ part2 = f$element(2, "@", line_in)
+$ value = ""
+$ if key .eqs. "CC" then value = "CC"
+$ if key .eqs. "CPP" then value = "CPP"
+$ if key .eqs. "CFLAGS" then value = cflags
+$ if key .eqs. "GUILE_CFLAGS" then value = cflags
+$ write cfpm part1, value, part2
+$ goto cfpm_read_loop
+$ endif
+$ write cfpm line_in
+$ goto cfpm_read_loop
+$cfpm_read_loop_end:
+$ close cfpm_in
+$ close cfpm
+$!
diff --git a/tests/guile.supp b/tests/guile.supp
new file mode 100644
index 00000000..9e9b01ba
--- /dev/null
+++ b/tests/guile.supp
@@ -0,0 +1,31 @@
+# Guile valgrind suppression file
+# Created with Guile 1.8.7
+
+# --- Garbage collection
+{
+ guilegc
+ Memcheck:Cond
+ ...
+ fun:scm_gc_for_newcell
+}
+{
+ guilegc
+ Memcheck:Value4
+ ...
+ fun:scm_gc_for_newcell
+}
+{
+ guilegc
+ Memcheck:Value8
+ ...
+ fun:scm_gc_for_newcell
+}
+
+
+# -- scm_alloc_struct
+{
+ guileheap
+ Memcheck:Leak
+ ...
+ fun:scm_alloc_struct
+}
diff --git a/tests/mkshadow b/tests/mkshadow
index d41b40e1..aa9b3bcd 100755
--- a/tests/mkshadow
+++ b/tests/mkshadow
@@ -3,9 +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, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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
@@ -28,7 +26,7 @@ esac
dest="$1"
if [ ! -d "$dest" ]; then
- echo "Destination directory \`$dest' must exist!"
+ echo "Destination directory '$dest' must exist!"
exit 1
fi
@@ -55,5 +53,5 @@ done
rm -rf work
-echo "Shadow test suite created in \`$dest/$name'."
+echo "Shadow test suite created in '$dest/$name'."
exit 0
diff --git a/tests/run_make_tests.com b/tests/run_make_tests.com
new file mode 100755
index 00000000..2f17f7f5
--- /dev/null
+++ b/tests/run_make_tests.com
@@ -0,0 +1,272 @@
+$! Test_make.com
+$!
+$! This is a wrapper for the GNU make perl test programs on VMS.
+$!
+$! Parameter "-help" for description on how to use described below.
+$!
+$! 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
+$! 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 <http://www.gnu.org/licenses/>.
+$!
+$!
+$! Allow more than 8 paramters with using commas as a delimiter.
+$!
+$ params = "''p1',''p2',''p3',''p4',''p5',''p6',''p7',''p8'"
+$!
+$ test_flags = ",verbose,detail,keep,usage,help,debug,"
+$ test_flags_len = f$length(test_flags)
+$ verbose_flag = ""
+$ detail_flag = ""
+$ keep_flag = ""
+$ usage_flag = ""
+$ help_flag = ""
+$ debug_flag = ""
+$!
+$ ignored_options = "profile,make,srcdir,valgrind,memcheck,massif,"
+$ ignored_option_len = f$length(ignored_options)
+$!
+$ testname = ""
+$ make :== $bin:make.exe"
+$!
+$ i = 0
+$param_loop:
+$ param = f$element(i, ",", params)
+$ i = i + 1
+$ if param .eqs. "" then goto param_loop
+$ if param .eqs. "," then goto param_loop_end
+$ param_len = f$length(param)
+$ if f$locate("/", param) .lt. param_len
+$ then
+$ if testname .nes. ""
+$ then
+$ write sys$output "Only the last test name specified will be run!"
+$ endif
+$ testname = param
+$ goto param_loop
+$ endif
+$ lc_param = f$edit(param,"LOWERCASE") - "-"
+$ if f$locate(",''lc_param',", ignored_options) .lt. ignored_option_len
+$ then
+$ write sys$output "parameter ''param' is ignored on VMS for now."
+$ goto param_loop
+$ endif
+$ if f$locate(",''lc_param',", test_flags) .lt. test_flags_len
+$ then
+$ 'lc_param'_flag = "-" + lc_param
+$ goto param_loop
+$ endif
+$ write sys$output "parameter ''param' is not known to VMS."
+$ goto param_loop
+$!
+$param_loop_end:
+$!
+$no_gnv = 1
+$no_perl = 1
+$!
+$! Find GNV 2.1.3 + manditory updates
+$! If properly updated, the GNV$GNU logical name is present.
+$! Updated GNV utilities have a gnv$ prefix on them.
+$ gnv_root = f$trnlnm("GNV$GNU", "LNM$SYSTEM_TABLE")
+$ if gnv_root .nes. ""
+$ then
+$ no_gnv = 0
+$ ! Check for update ar utility.
+$ new_ar = "gnv$gnu:[usr.bin]gnv$ar.exe"
+$ if f$search(new_ar) .nes. ""
+$ then
+$ ! See if a new port of ar exists.
+$ ar :== $'new_ar'
+$ else
+$ ! Fall back to legacy GNV AR wrapper.
+$ old_ar = "gnv$gnu:[bin]ar.exe"
+$ if f$search(old_ar) .nes. ""
+$ then
+$ ar :== $'old_ar'
+$ else
+$ no_gnv = 1
+$ endif
+$ endif
+$ ! Check for updated bash
+$ if no_gnv .eq. 0
+$ then
+$ new_bash = "gnv$gnu:[bin]gnv$bash.exe"
+$ if f$search(new_bash) .nes. ""
+$ then
+$ bash :== $'new_bash'
+$ sh :== $'new_bash'
+$ else
+$ no_gnv = 1
+$ endif
+$ endif
+$ ! Check for updated coreutils
+$ if no_gnv .eq. 0
+$ then
+$ new_cat = "gnv$gnu:[bin]gnv$cat.exe"
+$ if f$search(new_cat) .nes. ""
+$ then
+$ cat :== $'new_cat'
+$ cp :== $gnv$gnu:[bin]gnv$cp.exe
+$ echo :== $gnv$gnu:[bin]gnv$echo.exe
+$ false :== $gnv$gnu:[bin]gnv$false.exe
+$ true :== $gnv$gnu:[bin]gnv$true.exe
+$ touch :== $gnv$gnu:[bin]gnv$touch.exe
+$ mkdir :== $gnv$gnu:[bin]gnv$mkdir.exe
+$ rm :== $gnv$gnu:[bin]gnv$rm.exe
+$ sleep :== $gnv$gnu:[bin]gnv$sleep.exe
+$ else
+$ no_gnv = 1
+$ endif
+$ endif
+$ ! Check for updated diff utility.
+$ if no_gnv .eq. 0
+$ then
+$ new_diff = "gnv$gnu:[usr.bin]gnv$diff.exe"
+$ if f$search(new_diff) .nes. ""
+$ then
+$ ! See if a new port of diff exists.
+$ diff :== $'new_diff'
+$ else
+$ ! Fall back to legacy GNV diff
+$ old_diff = "gnv$gnu:[bin]diff.exe"
+$ if f$search(old_diff) .nes. ""
+$ then
+$ diff :== $'old_diff'
+$ else
+$ no_gnv = 1
+$ endif
+$ endif
+$ endif
+$ endif
+$!
+$if no_gnv
+$then
+$ write sys$output "Could not find an up to date GNV installed!"
+$ help_flag = 1
+$endif
+$!
+$! Find perl 5.18.1 or later.
+$!
+$! look in perl_root:[000000]perl_setup.com
+$ perl_root = f$trnlnm("perl_root")
+$ ! This works with known perl installed from PCSI kits.
+$ if perl_root .nes. ""
+$ then
+$ perl_ver = f$element(1, ".", perl_root)
+$ if f$locate("-", perl_ver) .lt. f$length(perl_ver)
+$ then
+$ no_perl = 0
+$ endif
+$ endif
+$ if no_perl
+$ then
+$! look for sys$common:[perl-*]perl_setup.com
+$ perl_setup = f$search("sys$common:[perl-*]perl_setup.com")
+$ if perl_setup .eqs. ""
+$ then
+$ if gnv_root .nes. ""
+$ then
+$ gnv_device = f$parse(gnv_root,,,"DEVICE")
+$ perl_templ = "[vms$common.perl-*]perl_setup.com"
+$ perl_search = f$parse(perl_templ, gnv_device)
+$ perl_setup = f$search(perl_search)
+$ endif
+$ endif
+$ if perl_setup .nes. ""
+$ then
+$ @'perl_setup'
+$ no_perl = 0
+$ endif
+$ endif
+$!
+$ if no_perl
+$ then
+$ write sys$output "Could not find an up to date Perl installed!"
+$ help_flag = "-help"
+$ endif
+$!
+$!
+$ if help_flag .nes. ""
+$ then
+$ type sys$input
+$DECK
+This is a test script wrapper for the run_make_tests.pl script.
+
+This wrapper makes sure that the DCL symbols and logical names needed to
+run the perl script are in place.
+
+The test wrapper currently requires that the DCL symbols be global symbols.
+Those symbols will be left behind after the procedure is run.
+
+The PERL_ROOT will be set to a compatible perl if such a perl is found and
+is not the default PERL_ROOT:. This setting will persist after the test.
+
+This wrapper should be run with the default set to the base directory
+of the make source.
+
+The HELP parameter will bring up this text and then run the help script
+for the Perl wrapper. Not all options for the perl script have been
+implemented, such as valgrind or specifying the make path or source path.
+
+Running the wrapper script requires:
+ Perl 5.18 or later.
+ PCSI kits available from http://sourceforge.net/projects/vmsperlkit/files/
+
+ GNV 2.1.3 or later. GNV 3.0.1 has not tested with this script.
+ Bash 4.2.47 or later.
+ Coreutils 8.21 or later.
+ http://sourceforge.net/projects/gnv/files/
+ Read before installing:
+ http://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/
+ As updates for other GNV components get posted, those updates should
+ be used.
+
+$EOD
+$ endif
+$!
+$ if no_gnv .or. no_perl then exit 44
+$!
+$!
+$ make := $bin:make.exe
+$ default = f$environment("DEFAULT")
+$ this = f$environment("PROCEDURE")
+$ on error then goto all_error
+$ 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',gnv$gnu:[bin]
+$ define/user decc$filename_unix_noversion enable
+$ define/user decc$filename_unix_report enable
+$ define/user decc$readdir_dropdotnotype enable
+$ flags = ""
+$ if verbose_flag .nes. "" then flags = verbose_flag
+$ if detail_flag .nes. "" then flags = flags + " " + detail_flag
+$ if keep_flag .nes. "" then flags = flags + " " + keep_flag
+$ if usage_flag .nes. "" then flags = flags + " " + usage_flag
+$ if help_flag .nes. "" then flags = flags + " " + help_flag
+$ if debug_flag .nes. "" then flags = flags + " " + debug_flag
+$ flags = f$edit(flags, "TRIM, COMPRESS")
+$ if testname .nes. ""
+$ then
+$ perl run_make_tests.pl "''testname'" 'flags'
+$ else
+$ perl run_make_tests.pl 'flags'
+$ endif
+$all_error:
+$ set default 'default'
+$!
diff --git a/tests/run_make_tests.pl b/tests/run_make_tests.pl
index 2c8c08b9..9468faba 100755..100644
--- a/tests/run_make_tests.pl
+++ b/tests/run_make_tests.pl
@@ -11,9 +11,7 @@
# [-make <make prog>]
# (and others)
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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
@@ -29,18 +27,39 @@
# You should have received a copy of the GNU General Public License along with
# this program. If not, see <http://www.gnu.org/licenses/>.
+%FEATURES = ();
$valgrind = 0; # invoke make with valgrind
$valgrind_args = '';
-$memcheck_args = '--num-callers=15 --tool=memcheck --leak-check=full';
+$memcheck_args = '--num-callers=15 --tool=memcheck --leak-check=full --suppressions=guile.supp';
$massif_args = '--num-callers=15 --tool=massif --alloc-fn=xmalloc --alloc-fn=xcalloc --alloc-fn=xrealloc --alloc-fn=xstrdup --alloc-fn=xstrndup';
$pure_log = undef;
+# The location of the GNU make source directory
+$srcdir = '';
+
$command_string = '';
$all_tests = 0;
+# rmdir broken in some Perls on VMS.
+if ($^O eq 'VMS')
+{
+ require VMS::Filespec;
+ VMS::Filespec->import();
+
+ sub vms_rmdir {
+ my $vms_file = vmspath($_[0]);
+ $vms_file = fileify($vms_file);
+ my $ret = unlink(vmsify($vms_file));
+ return $ret
+ };
+
+ *CORE::GLOBAL::rmdir = \&vms_rmdir;
+}
+
require "test_driver.pl";
+require "config-flags.pm";
# Some target systems might not have the POSIX module...
$has_POSIX = eval { require "POSIX.pm" };
@@ -60,6 +79,15 @@ sub valid_option
return 1;
}
+ if ($option =~ /^-srcdir$/i) {
+ $srcdir = shift @argv;
+ if (! -f "$srcdir/gnumake.h") {
+ print "$option $srcdir: Not a valid GNU make source directory.\n";
+ exit 0;
+ }
+ return 1;
+ }
+
if ($option =~ /^-all([-_]?tests)?$/i) {
$all_tests = 1;
return 1;
@@ -98,6 +126,17 @@ sub valid_option
$old_makefile = undef;
+sub subst_make_string
+{
+ local $_ = shift;
+ $makefile and s/#MAKEFILE#/$makefile/g;
+ s/#MAKEPATH#/$mkpath/g;
+ s/#MAKE#/$make_name/g;
+ s/#PERL#/$perl_name/g;
+ s/#PWD#/$pwd/g;
+ return $_;
+}
+
sub run_make_test
{
local ($makestring, $options, $answer, $err_code, $timeout) = @_;
@@ -115,16 +154,9 @@ sub run_make_test
$makefile = &get_tmpfile();
}
- # Make sure it ends in a newline.
+ # Make sure it ends in a newline and substitute any special tokens.
$makestring && $makestring !~ /\n$/s and $makestring .= "\n";
-
- # Replace @MAKEFILE@ with the makefile name and @MAKE@ with the path to
- # make
- $makestring =~ s/#MAKEFILE#/$makefile/g;
- $makestring =~ s/#MAKEPATH#/$mkpath/g;
- $makestring =~ s/#MAKE#/$make_name/g;
- $makestring =~ s/#PERL#/$perl_name/g;
- $makestring =~ s/#PWD#/$pwd/g;
+ $makestring = subst_make_string($makestring);
# Populate the makefile!
open(MAKEFILE, "> $makefile") || die "Failed to open $makefile: $!\n";
@@ -133,13 +165,10 @@ sub run_make_test
}
# Do the same processing on $answer as we did on $makestring.
-
- $answer && $answer !~ /\n$/s and $answer .= "\n";
- $answer =~ s/#MAKEFILE#/$makefile/g;
- $answer =~ s/#MAKEPATH#/$mkpath/g;
- $answer =~ s/#MAKE#/$make_name/g;
- $answer =~ s/#PERL#/$perl_name/g;
- $answer =~ s/#PWD#/$pwd/g;
+ if (defined $answer) {
+ $answer && $answer !~ /\n$/s and $answer .= "\n";
+ $answer = subst_make_string($answer);
+ }
run_make_with_options($makefile, $options, &get_logfile(0),
$err_code, $timeout);
@@ -165,6 +194,40 @@ sub run_make_with_options {
}
if ($options) {
+ if ($^O eq 'VMS') {
+ # Try to make sure arguments are properly quoted.
+ # This does not handle all cases.
+
+ # VMS uses double quotes instead of single quotes.
+ $options =~ s/\'/\"/g;
+
+ # If the leading quote is inside non-whitespace, then the
+ # quote must be doubled, because it will be enclosed in another
+ # set of quotes.
+ $options =~ s/(\S)(\".*\")/$1\"$2\"/g;
+
+ # Options must be quoted to preserve case if not already quoted.
+ $options =~ s/(\S+)/\"$1\"/g;
+
+ # Special fixup for embedded quotes.
+ $options =~ s/(\"\".+)\"(\s+)\"(.+\"\")/$1$2$3/g;
+
+ $options =~ s/(\A)(?:\"\")(.+)(?:\"\")/$1\"$2\"/g;
+
+ # Special fixup for misc/general4 test.
+ $options =~ s/""\@echo" "cc""/\@echo cc"/;
+ $options =~ s/"\@echo link"""/\@echo link"/;
+
+ # Remove shell escapes expected to be removed by bash
+ if ($options !~ /path=pre/) {
+ $options =~ s/\\//g;
+ }
+
+ # special fixup for options/eval
+ $options =~ s/"--eval=\$\(info" "eval/"--eval=\$\(info eval/;
+
+ print ("Options fixup = -$options-\n") if $debug;
+ }
$command .= " $options";
}
@@ -183,7 +246,6 @@ sub run_make_with_options {
$valgrind and $test_timeout = 0;
$code = &run_command_with_output($logname,$command);
-
$test_timeout = $old_timeout;
}
@@ -228,14 +290,16 @@ sub run_make_with_options {
sub print_usage
{
&print_standard_usage ("run_make_tests",
- "[-make_path make_pathname] [-memcheck] [-massif]",);
+ "[-make MAKE_PATHNAME] [-srcdir SRCDIR] [-memcheck] [-massif]",);
}
sub print_help
{
&print_standard_help (
- "-make_path",
+ "-make",
"\tYou may specify the pathname of the copy of make to run.",
+ "-srcdir",
+ "\tSpecify the make source directory.",
"-valgrind",
"-memcheck",
"\tRun the test suite under valgrind's memcheck tool.",
@@ -312,29 +376,34 @@ sub set_more_defaults
# Find the full pathname of Make. For DOS systems this is more
# complicated, so we ask make itself.
- my $mk = `sh -c 'echo "all:;\@echo \\\$(MAKE)" | $make_path -f-'`;
- chop $mk;
- $mk or die "FATAL ERROR: Cannot determine the value of \$(MAKE):\n
+ if ($osname eq 'VMS') {
+ # On VMS pre-setup make to be found with simply 'make'.
+ $make_path = 'make';
+ } else {
+ my $mk = `sh -c 'echo "all:;\@echo \\\$(MAKE)" | $make_path -f-'`;
+ chop $mk;
+ $mk or die "FATAL ERROR: Cannot determine the value of \$(MAKE):\n
'echo \"all:;\@echo \\\$(MAKE)\" | $make_path -f-' failed!\n";
- $make_path = $mk;
- print "Make\t= `$make_path'\n" if $debug;
+ $make_path = $mk;
+ }
+ print "Make\t= '$make_path'\n" if $debug;
- $string = `$make_path -v -f /dev/null 2> /dev/null`;
+ my $redir2 = '2> /dev/null';
+ $redir2 = '' if os_name eq 'VMS';
+ $string = `$make_path -v -f /dev/null $redir2`;
$string =~ /^(GNU Make [^,\n]*)/;
$testee_version = "$1\n";
- $string = `sh -c "$make_path -f /dev/null 2>&1"`;
+ my $redir = '2>&1';
+ $redir = '' if os_name eq 'VMS';
+ $string = `sh -c "$make_path -f /dev/null $redir"`;
if ($string =~ /(.*): \*\*\* No targets\. Stop\./) {
$make_name = $1;
}
else {
- if ($make_path =~ /$pathsep([^\n$pathsep]*)$/) {
- $make_name = $1;
- }
- else {
- $make_name = $make_path;
- }
+ $make_path =~ /^(?:.*$pathsep)?(.+)$/;
+ $make_name = $1;
}
# prepend pwd if this is a relative path (ie, does not
@@ -350,6 +419,24 @@ sub set_more_defaults
$mkpath = $make_path;
}
+ # If srcdir wasn't provided on the command line, see if the
+ # location of the make program gives us a clue. Don't fail if not;
+ # we'll assume it's been installed into /usr/include or wherever.
+ if (! $srcdir) {
+ $make_path =~ /^(.*$pathsep)?/;
+ my $d = $1 || '../';
+ -f "${d}gnumake.h" and $srcdir = $d;
+ }
+
+ # Not with the make program, so see if we can get it out of the makefile
+ if (! $srcdir && open(MF, "< ../Makefile")) {
+ local $/ = undef;
+ $_ = <MF>;
+ close(MF);
+ /^abs_srcdir\s*=\s*(.*?)\s*$/m;
+ -f "$1/gnumake.h" and $srcdir = $1;
+ }
+
# Get Purify log info--if any.
if (exists $ENV{PURIFYOPTIONS}
@@ -359,7 +446,7 @@ sub set_more_defaults
$purify_errors = 0;
}
- $string = `sh -c "$make_path -j 2 -f /dev/null 2>&1"`;
+ $string = `sh -c "$make_path -j 2 -f /dev/null $redir"`;
if ($string =~ /not supported/) {
$parallel_jobs = 0;
}
@@ -367,6 +454,8 @@ sub set_more_defaults
$parallel_jobs = 1;
}
+ %FEATURES = map { $_ => 1 } split /\s+/, `sh -c "echo '\\\$(info \\\$(.FEATURES))' | $make_path -f- 2>/dev/null"`;
+
# Set up for valgrind, if requested.
if ($valgrind) {
diff --git a/tests/scripts/features/archives b/tests/scripts/features/archives
index 3fe46a03..b0acfecb 100644
--- a/tests/scripts/features/archives
+++ b/tests/scripts/features/archives
@@ -11,37 +11,87 @@ exists $FEATURES{archives} or return -1;
# Create some .o files to work with
utouch(-60, qw(a1.o a2.o a3.o));
+my $ar = $CONFIG_FLAGS{AR};
+
+# Some versions of ar print different things on creation. Find out.
+my $created = `$ar rv libxx.a a1.o 2>&1`;
+
+# Some versions of ar print different things on add. Find out.
+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 rv libxx.a a2.o 2>&1`;
+$repl =~ s/a2\.o/#OBJECT#/g;
+
+unlink('libxx.a');
+
# Very simple
run_make_test('all: libxx.a(a1.o)',
- '', "ar rv libxx.a a1.o\nar: creating libxx.a\na - a1.o\n");
+ '', "$ar rv libxx.a a1.o\n$created");
# Multiple .o's. Add a new one to the existing library
+($_ = $add) =~ s/#OBJECT#/a2.o/g;
run_make_test('all: libxx.a(a1.o a2.o)',
- '', "ar rv libxx.a a2.o\na - a2.o\n");
+ '', "$ar rv libxx.a a2.o\n$_");
# Touch one of the .o's so it's rebuilt
utouch(-40, 'a1.o');
-run_make_test(undef, '', "ar rv libxx.a a1.o\nr - a1.o\n");
+($_ = $repl) =~ s/#OBJECT#/a1.o/g;
+run_make_test(undef, '', "$ar rv libxx.a a1.o\n$_");
# Use wildcards
run_make_test('all: libxx.a(*.o)',
- '', "#MAKE#: Nothing to be done for `all'.\n");
+ '', "#MAKE#: Nothing to be done for 'all'.\n");
# Touch one of the .o's so it's rebuilt
utouch(-30, 'a1.o');
-run_make_test(undef, '', "ar rv libxx.a a1.o\nr - a1.o\n");
+($_ = $repl) =~ s/#OBJECT#/a1.o/g;
+run_make_test(undef, '', "$ar rv libxx.a a1.o\n$_");
# Use both wildcards and simple names
utouch(-50, 'a2.o');
+($_ = $add) =~ s/#OBJECT#/a3.o/g;
+$_ .= "$ar rv libxx.a a2.o\n";
+($_ .= $repl) =~ s/#OBJECT#/a2.o/g;
run_make_test('all: libxx.a(a3.o *.o)', '',
- "ar rv libxx.a a3.o\na - a3.o\nar rv libxx.a a2.o\nr - a2.o\n");
+ "$ar rv libxx.a a3.o\n$_");
# Check whitespace handling
utouch(-40, 'a2.o');
+($_ = $repl) =~ s/#OBJECT#/a2.o/g;
run_make_test('all: libxx.a( a3.o *.o )', '',
- "ar rv libxx.a a2.o\nr - a2.o\n");
+ "$ar rv libxx.a a2.o\n$_");
rmfiles(qw(a1.o a2.o a3.o libxx.a));
+# Check non-archive targets
+# See Savannah bug #37878
+run_make_test(q!
+all: foo(bar).baz
+foo(bar).baz: ; @echo '$@'
+!,
+ '', "foo(bar).baz\n");
+
+# Check renaming of archive targets.
+# See Savannah bug #38442
+
+mkdir('artest', 0777);
+touch('foo.vhd');
+
+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
+!,
+ '', "");
+
+run_make_test(undef, '', "#MAKE#: Nothing to be done for 'default'.\n");
+
+unlink('foo.vhd');
+remove_directory_tree('artest');
+
# This tells the test driver that the perl test script executed properly.
1;
diff --git a/tests/scripts/features/default_names b/tests/scripts/features/default_names
index e53127e1..2e838806 100644
--- a/tests/scripts/features/default_names
+++ b/tests/scripts/features/default_names
@@ -10,32 +10,35 @@ open(MAKEFILE,"> $makefile");
print MAKEFILE "FIRST: ; \@echo It chose GNUmakefile\n";
close(MAKEFILE);
-# DOS/WIN32 platforms preserve case, but Makefile is the same file as makefile.
-# Just test what we can here (avoid Makefile versus makefile test).
-
-if ($port_type eq 'UNIX') {
- # Create another makefile called "makefile"
- open(MAKEFILE,"> makefile");
- print MAKEFILE "SECOND: ; \@echo It chose makefile\n";
- close(MAKEFILE);
-}
-
-# Create another makefile called "Makefile"
-open(MAKEFILE,"> Makefile");
-print MAKEFILE "THIRD: ; \@echo It chose Makefile\n";
+# Create another makefile called "makefile"
+open(MAKEFILE,"> makefile");
+print MAKEFILE "SECOND: ; \@echo It chose makefile\n";
close(MAKEFILE);
+# DOS/WIN32/MacOSX platforms are case-insensitive / case-preserving, so
+# Makefile is the same file as makefile. Just test what we can here.
+
+my $case_sensitive = 0;
+if (! -f 'Makefile') {
+ # Create another makefile called "Makefile"
+ $case_sensitive = 1;
+ open(MAKEFILE,"> Makefile");
+ print MAKEFILE "THIRD: ; \@echo It chose Makefile\n";
+ close(MAKEFILE);
+}
+
+run_make_with_options("","",&get_logfile);
+compare_output("It chose GNUmakefile\n",&get_logfile(1));
+unlink($makefile);
-&run_make_with_options("","",&get_logfile);
-&compare_output("It chose GNUmakefile\n",&get_logfile(1));
-unlink $makefile;
+run_make_with_options("","",&get_logfile);
+compare_output("It chose makefile\n",&get_logfile(1));
+unlink("makefile");
-if ($port_type eq 'UNIX') {
- &run_make_with_options("","",&get_logfile);
- &compare_output("It chose makefile\n",&get_logfile(1));
- unlink "makefile";
+if ($case_sensitive) {
+ run_make_with_options("","",&get_logfile);
+ compare_output("It chose Makefile\n",&get_logfile(1));
+ unlink("Makefile");
}
-&run_make_with_options("","",&get_logfile);
-&compare_output("It chose Makefile\n",&get_logfile(1));
-unlink "Makefile";
+1;
diff --git a/tests/scripts/features/double_colon b/tests/scripts/features/double_colon
index cad605db..1097775b 100644
--- a/tests/scripts/features/double_colon
+++ b/tests/scripts/features/double_colon
@@ -151,5 +151,14 @@ two');
unlink('result','one','two');
+# TEST 10: check for proper backslash handling
+# Savannah bug #33399
+
+run_make_test('
+a\ xb :: ; @echo one
+a\ xb :: ; @echo two
+',
+ '', "one\ntwo\n");
+
# This tells the test driver that the perl test script executed properly.
1;
diff --git a/tests/scripts/features/errors b/tests/scripts/features/errors
index e372fe05..c0339cb6 100644
--- a/tests/scripts/features/errors
+++ b/tests/scripts/features/errors
@@ -42,15 +42,17 @@ close(MAKEFILE);
unlink("cleanit");
$cleanit_error = `sh -c "$rm_command cleanit 2>&1"`;
+chomp $cleanit_error;
$delete_error_code = $? >> 8;
# TEST #1
# -------
-$answer = "$rm_command cleanit\n"
- . $cleanit_error
- ."$make_name: [clean] Error $delete_error_code (ignored)\n"
- ."$rm_command foo\n";
+$answer = "$rm_command cleanit
+$cleanit_error
+$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);
@@ -74,10 +76,11 @@ if (!$vos)
# TEST #2
# -------
-$answer = "$rm_command cleanit\n"
- . $cleanit_error
- ."$make_name: [clean2] Error $delete_error_code (ignored)\n"
- ."$rm_command foo\n";
+$answer = "$rm_command cleanit
+$cleanit_error
+$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);
diff --git a/tests/scripts/features/escape b/tests/scripts/features/escape
index 97a29941..bf069df2 100644
--- a/tests/scripts/features/escape
+++ b/tests/scripts/features/escape
@@ -2,12 +2,10 @@
$description = "Test various types of escaping in makefiles.";
$details = "\
-Make sure that escaping of `:' works in target names.
+Make sure that escaping of ':' works in target names.
Make sure escaping of whitespace works in target names.
-Make sure that escaping of '#' works.";
-
-
-close(MAKEFILE);
+Make sure that escaping of '#' works.
+Make sure that backslash before non-special characters are kept.";
# TEST 1
@@ -26,7 +24,7 @@ foo\#bar.ext: ; @echo "foo#bar.ext = ($@)"',
run_make_test(undef,
'path=pre:',
- "#MAKEFILE#:2: *** target pattern contains no `%'. Stop.",
+ "#MAKEFILE#:2: *** target pattern contains no '%'. Stop.",
512);
# TEST 3: This one should work, since we escape the ":".
@@ -39,7 +37,7 @@ run_make_test(undef,
run_make_test(undef,
"'path=pre\\\\:'",
- "#MAKEFILE#:2: *** target pattern contains no `%'. Stop.",
+ "#MAKEFILE#:2: *** target pattern contains no '%'. Stop.",
512);
# TEST 5: This one should work
@@ -54,5 +52,23 @@ run_make_test(undef,
'sharp',
'foo#bar.ext = (foo#bar.ext)');
+# Test escaped colons in prerequisites
+# Quoting of backslashes in q!! is kind of messy.
+# Solaris sh does not properly handle backslashes even in '' so just
+# check the output make prints, not what the shell interprets.
+run_make_test(q!
+foo: foo\\:bar foo\\\\\\:bar foo\\\\\\\\\\:bar
+foo foo\\:bar foo\\\\\\:bar foo\\\\\\\\\\:bar: ; : '$@'
+!,
+ '', ": 'foo:bar'\n: 'foo\\:bar'\n: 'foo\\\\:bar'\n: 'foo'\n");
+
+# Test backslash before non-special chars: should be kept as-is
+
+run_make_test(q!
+all: ..\foo
+.DEFAULT: ; : '$@'
+!,
+ '', ": '..\\foo'\n");
+
# This tells the test driver that the perl test script executed properly.
1;
diff --git a/tests/scripts/features/include b/tests/scripts/features/include
index ba8908cd..ee014bd8 100644
--- a/tests/scripts/features/include
+++ b/tests/scripts/features/include
@@ -1,6 +1,6 @@
# -*-mode: perl; rm-trailing-spaces: nil-*-
-$description = "Test various forms of the GNU make `include' command.";
+$description = "Test various forms of the GNU make 'include' command.";
$details = "\
Test include, -include, sinclude and various regressions involving them.
@@ -60,7 +60,7 @@ run_make_test
error: foo.mk ; @echo $@
',
'',
- "#MAKE#: *** No rule to make target `foo.mk', needed by `error'. Stop.\n",
+ "#MAKE#: *** No rule to make target 'foo.mk', needed by 'error'. Stop.\n",
512
);
@@ -128,7 +128,7 @@ foo: baz
bar: baz
',
'',
-"#MAKE#: *** No rule to make target `baz', needed by `bar'. Stop.\n",
+"#MAKE#: *** No rule to make target 'baz', needed by 'bar'. Stop.\n",
512);
# Test that the diagnostics is issued even if the target has been
@@ -144,7 +144,7 @@ bar: baz
baz: end
',
'',
-"#MAKE#: *** No rule to make target `end', needed by `baz'. Stop.\n",
+"#MAKE#: *** No rule to make target 'end', needed by 'baz'. Stop.\n",
512);
# Test that the diagnostics is issued even if the target has been
@@ -162,7 +162,7 @@ baz: end
',
'',
"#MAKEFILE#:2: bar: No such file or directory
-#MAKE#: *** No rule to make target `end', needed by `baz'. Stop.\n",
+#MAKE#: *** No rule to make target 'end', needed by 'baz'. Stop.\n",
512);
if ($all_tests) {
@@ -172,7 +172,7 @@ if ($all_tests) {
include foo
foo: ; @echo foo = bar > $@
!,
- '', "#MAKE#: `foo' is up to date.\n");
+ '', "#MAKE#: 'foo' is up to date.\n");
rmfiles('foo');
}
diff --git a/tests/scripts/features/jobserver b/tests/scripts/features/jobserver
new file mode 100644
index 00000000..cedd4b34
--- /dev/null
+++ b/tests/scripts/features/jobserver
@@ -0,0 +1,61 @@
+# -*-perl-*-
+
+$description = "Test jobserver.";
+
+$details = "These tests are ones that specifically are different when the
+jobserver feature is available. Most -j tests are the same whether or not
+jobserver is available, and those appear in the 'parallelism' test suite.";
+
+exists $FEATURES{'jobserver'} or return -1;
+
+if (!$parallel_jobs) {
+ return -1;
+}
+
+# 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
+# get one from the original invocation and none from the re-exec.
+# See Savannah bug #18124
+
+unlink('inc.mk');
+
+run_make_test(q!
+-include inc.mk
+recur:
+# @echo 'MAKEFLAGS = $(MAKEFLAGS)'
+ @rm -f inc.mk
+ @$(MAKE) -j2 -f #MAKEFILE# all
+all:
+# @echo 'MAKEFLAGS = $(MAKEFLAGS)'
+ @echo $@
+inc.mk:
+# @echo 'MAKEFLAGS = $(MAKEFLAGS)'
+ @echo 'FOO = bar' > $@
+!,
+ '--no-print-directory -j2', "#MAKE#[1]: warning: -jN forced in submake: disabling jobserver mode.\nall\n");
+
+unlink('inc.mk');
+
+# Test recursion when make doesn't think it exists.
+# See Savannah bug #39934
+# Or Red Hat bug https://bugzilla.redhat.com/show_bug.cgi?id=885474
+
+open(MAKEFILE,"> Makefile2");
+print MAKEFILE '
+vpath %.c ../
+foo:
+';
+close(MAKEFILE);
+
+run_make_test(q!
+default: ; @ #MAKEPATH# -f Makefile2
+!,
+ '-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;
diff --git a/tests/scripts/features/load b/tests/scripts/features/load
new file mode 100644
index 00000000..1f8cdc22
--- /dev/null
+++ b/tests/scripts/features/load
@@ -0,0 +1,110 @@
+# -*-perl-*-
+$description = "Test the load operator.";
+
+$details = "Test dynamic loading of modules.";
+
+# Don't do anything if this system doesn't support "load"
+exists $FEATURES{load} or return -1;
+
+# First build a shared object
+# Provide both a default and non-default load symbol
+
+unlink(qw(testload.c testload.so));
+
+open(my $F, '> testload.c') or die "open: testload.c: $!\n";
+print $F <<'EOF' ;
+#include <string.h>
+#include <stdio.h>
+
+#include "gnumake.h"
+
+int plugin_is_GPL_compatible;
+
+int
+testload_gmk_setup (gmk_floc *pos)
+{
+ (void)pos;
+ gmk_eval ("TESTLOAD = implicit", 0);
+ return 1;
+}
+
+int
+explicit_setup (gmk_floc *pos)
+{
+ (void)pos;
+ gmk_eval ("TESTLOAD = explicit", 0);
+ return 1;
+}
+EOF
+close($F) or die "close: testload.c: $!\n";
+
+# Make sure we can compile
+# CONFIG_FLAGS are loaded from config-flags.pm and set by configure
+
+my $sobuild = "$CONFIG_FLAGS{CC} ".($srcdir? "-I$srcdir":'')." $CONFIG_FLAGS{CPPFLAGS} $CONFIG_FLAGS{CFLAGS} -shared -fPIC $CONFIG_FLAGS{LDFLAGS} -o testload.so testload.c";
+
+my $clog = `$sobuild 2>&1`;
+if ($? != 0) {
+ $verbose and print "Failed to build testload.so:\n$sobuild\n$_";
+ return -1;
+}
+
+# TEST 1
+run_make_test(q!
+PRE := $(.LOADED)
+load testload.so
+POST := $(.LOADED)
+all: ; @echo pre=$(PRE) post=$(POST) $(TESTLOAD)
+!,
+ '', "pre= post=testload.so implicit\n");
+
+# TEST 2
+# Load using an explicit function
+run_make_test(q!
+PRE := $(.LOADED)
+load ./testload.so(explicit_setup)
+POST := $(.LOADED)
+all: ; @echo pre=$(PRE) post=$(POST) $(TESTLOAD)
+!,
+ '', "pre= post=testload.so explicit\n");
+
+# TEST 4
+# Check multiple loads
+run_make_test(q!
+PRE := $(.LOADED)
+load ./testload.so
+load testload.so(explicit_setup)
+POST := $(.LOADED)
+all: ; @echo pre=$(PRE) post=$(POST) $(TESTLOAD)
+!,
+ '', "pre= post=testload.so implicit\n");
+
+# TEST 5
+# Check auto-rebuild of loaded file that's out of date
+utouch(-10, 'testload.so');
+touch('testload.c');
+
+run_make_test(q!
+PRE := $(.LOADED)
+load ./testload.so
+POST := $(.LOADED)
+all: ; @echo pre=$(PRE) post=$(POST) $(TESTLOAD)
+testload.so: testload.c ; @echo "rebuilding $@"; !.$sobuild,
+ '', "rebuilding testload.so\npre= post=testload.so implicit\n");
+
+# TEST 5
+# Check auto-rebuild of loaded file when it doesn't exist
+unlink('testload.so');
+
+run_make_test(q!
+PRE := $(.LOADED)
+-load ./testload.so(explicit_setup)
+POST := $(.LOADED)
+all: ; @echo pre=$(PRE) post=$(POST) $(TESTLOAD)
+%.so: %.c ; @echo "rebuilding $@"; !.$sobuild,
+ '', "rebuilding testload.so\npre= post=testload.so explicit\n");
+
+unlink(qw(testload.c testload.so)) unless $keep;
+
+# This tells the test driver that the perl test script executed properly.
+1;
diff --git a/tests/scripts/features/loadapi b/tests/scripts/features/loadapi
new file mode 100644
index 00000000..8c824c04
--- /dev/null
+++ b/tests/scripts/features/loadapi
@@ -0,0 +1,116 @@
+# -*-perl-*-
+$description = "Test the shared object load API.";
+
+$details = "Verify the different aspects of the shared object API.";
+
+# Don't do anything if this system doesn't support "load"
+exists $FEATURES{load} or return -1;
+
+# First build a shared object
+# Provide both a default and non-default load symbol
+
+unlink(qw(testapi.c testapi.so));
+
+open(my $F, '> testapi.c') or die "open: testapi.c: $!\n";
+print $F <<'EOF' ;
+#include <string.h>
+#include <stdio.h>
+
+#include "gnumake.h"
+
+int plugin_is_GPL_compatible;
+
+static char *
+test_eval (const char *buf)
+{
+ gmk_eval (buf, 0);
+ return NULL;
+}
+
+static char *
+test_expand (const char *val)
+{
+ return gmk_expand (val);
+}
+
+static char *
+test_noexpand (const char *val)
+{
+ char *str = gmk_alloc (strlen (val) + 1);
+ strcpy (str, val);
+ return str;
+}
+
+static char *
+func_test (const char *funcname, unsigned int argc, char **argv)
+{
+ char *mem;
+
+ if (strcmp (funcname, "test-expand") == 0)
+ return test_expand (argv[0]);
+
+ if (strcmp (funcname, "test-eval") == 0)
+ return test_eval (argv[0]);
+
+ if (strcmp (funcname, "test-noexpand") == 0)
+ return test_noexpand (argv[0]);
+
+ mem = gmk_alloc (sizeof ("unknown"));
+ strcpy (mem, "unknown");
+ return mem;
+}
+
+int
+testapi_gmk_setup ()
+{
+ gmk_add_function ("test-expand", func_test, 1, 1, GMK_FUNC_DEFAULT);
+ gmk_add_function ("test-noexpand", func_test, 1, 1, GMK_FUNC_NOEXPAND);
+ gmk_add_function ("test-eval", func_test, 1, 1, GMK_FUNC_DEFAULT);
+ gmk_add_function ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.", func_test, 0, 0, 0);
+ return 1;
+}
+EOF
+close($F) or die "close: testapi.c: $!\n";
+
+my $sobuild = "$CONFIG_FLAGS{CC} ".($srcdir? "-I$srcdir":'')." $CONFIG_FLAGS{CPPFLAGS} $CONFIG_FLAGS{CFLAGS} -shared -fPIC $CONFIG_FLAGS{LDFLAGS} -o testapi.so testapi.c";
+
+my $clog = `$sobuild 2>&1`;
+if ($? != 0) {
+ $verbose and print "Failed to build testapi.so:\n$sobuild\n$_";
+ return -1;
+}
+
+# TEST 1
+# Check the gmk_expand() function
+run_make_test(q!
+EXPAND = expansion
+all: ; @echo $(test-expand $$(EXPAND))
+load testapi.so
+!,
+ '', "expansion\n");
+
+# TEST 2
+# Check the eval operation. Prove that the argument is expanded only once
+run_make_test(q!
+load testapi.so
+TEST = bye
+ASSIGN = VAR = $(TEST) $(shell echo there)
+$(test-eval $(value ASSIGN))
+TEST = hi
+all:;@echo '$(VAR)'
+!,
+ '', "hi there\n");
+
+# TEST 2
+# Check the no-expand capability
+run_make_test(q!
+load testapi.so
+TEST = hi
+all:;@echo '$(test-noexpand $(TEST))'
+!,
+ '', "\$(TEST)\n");
+
+unlink(qw(testapi.c testapi.so)) unless $keep;
+
+# This tells the test driver that the perl test script executed properly.
+1;
diff --git a/tests/scripts/features/mult_rules b/tests/scripts/features/mult_rules
index 6f120f10..e706e17d 100644
--- a/tests/scripts/features/mult_rules
+++ b/tests/scripts/features/mult_rules
@@ -47,7 +47,7 @@ else
$error_code);
# Create the answer to what should be produced by this Makefile
-$answer = "$make_name: *** No rule to make target `extra.h', needed by `foo.o'. Stop.\n";
+$answer = "$make_name: *** No rule to make target 'extra.h', needed by 'foo.o'. Stop.\n";
&compare_output($answer,&get_logfile(1));
diff --git a/tests/scripts/features/output-sync b/tests/scripts/features/output-sync
new file mode 100644
index 00000000..a7534cb7
--- /dev/null
+++ b/tests/scripts/features/output-sync
@@ -0,0 +1,341 @@
+# -*-perl-*-
+
+$description = "Test --output-sync (-O) option.";
+
+$details = "Test the synchronization of output from parallel jobs.";
+
+# If we don't have output sync support, never mind.
+exists $FEATURES{'output-sync'} or return -1;
+
+# Output sync can't be tested without parallelization
+$parallel_jobs or return -1;
+
+
+if ($vos) {
+ $sleep_command = "sleep -seconds";
+}
+else {
+ $sleep_command = "sleep";
+}
+
+# The following subdirectories with Makefiles are used in several
+# of the following tests. The model is:
+# foo/Makefile - has a "foo" target that waits for the bar target
+# bar/Makefile - has a "bar" target that runs immediately
+# - has a "baz" target that waits for the foo target
+#
+# So, you start the two sub-makes in parallel and first the "bar" target is
+# built, followed by "foo", followed by "baz". The trick is that first each
+# target prints a "start" statement, then waits (if appropriate), then prints
+# an end statement. Thus we can tell if the -O flag is working, since
+# otherwise these statements would be mixed together.
+
+@syncfiles = ();
+
+sub output_sync_clean {
+ rmfiles('foo/Makefile', 'bar/Makefile', @syncfiles);
+ rmdir('foo');
+ rmdir('bar');
+}
+
+# We synchronize the different jobs by having them wait for a sentinel file to
+# be created, instead of relying on a certain amount of time passing.
+# Unfortunately in this test we have to sleep after we see the sync file,
+# since we also want to make the obtaining of the write synchronization lock
+# reliable. If things are too fast, then sometimes a different job will steal
+# the output sync lock and the output is mis-ordered from what we expect.
+sub output_sync_wait {
+ return "while [ ! -f ../mksync.$_[0] ]; do :; done; rm -f ../mksync.$_[0].wait; $sleep_command 1";
+}
+sub output_sync_set {
+ return "date > ../mksync.$_[0]";
+}
+
+@syncfiles = qw(mksync.foo mksync.foo_start mksync.bar mksync.bar_start);
+
+output_sync_clean();
+mkdir('foo', 0777);
+mkdir('bar', 0777);
+
+$set_foo = output_sync_set('foo');
+$set_bar = output_sync_set('bar');
+$set_foo_start = output_sync_set('foo_start');
+$set_bar_start = output_sync_set('bar_start');
+
+$wait_foo = output_sync_wait('foo');
+$wait_bar = output_sync_wait('bar');
+$wait_foo_start = output_sync_set('foo_start');
+$wait_bar_start = output_sync_set('bar_start');
+
+open(MAKEFILE,"> foo/Makefile");
+print MAKEFILE <<EOF;
+all: foo
+
+foo: foo-base ; \@$set_foo
+
+foo-base:
+\t\@echo foo: start
+\t\@$wait_bar
+\t\@echo foo: end
+
+foo-job: foo-job-base ; \@$set_foo
+
+foo-job-base:
+\t\@$wait_bar_start
+\t\@echo foo: start
+\t\@$set_foo_start
+\t\@$wait_bar
+\t\@echo foo: end
+
+foo-fail:
+\t\@echo foo-fail: start
+\t\@$wait_bar
+\t\@echo foo-fail: end
+\t\@exit 1
+EOF
+close(MAKEFILE);
+
+open(MAKEFILE,"> bar/Makefile");
+print MAKEFILE <<EOF;
+all: bar baz
+
+bar: bar-base ; \@$set_bar
+bar-base:
+\t\@echo bar: start
+\t\@echo bar: end
+
+bar-job: bar-job-base ; \@$set_bar
+
+bar-job-base:
+\t\@echo bar: start
+\t\@$set_bar_start
+\t\@$wait_foo_start
+\t\@echo bar: end
+
+baz: baz-base
+baz-base:
+\t\@echo baz: start
+\t\@$wait_foo
+\t\@echo baz: end
+EOF
+close(MAKEFILE);
+
+# Test per-make synchronization.
+unlink(@syncfiles);
+run_make_test(qq!
+all: make-foo make-bar
+
+make-foo: ; \$(MAKE) -C foo
+
+make-bar: ; \$(MAKE) -C bar!,
+ '-j -Orecurse',
+"#MAKEPATH# -C foo
+#MAKE#[1]: Entering directory '#PWD#/foo'
+foo: start
+foo: end
+#MAKE#[1]: Leaving directory '#PWD#/foo'
+#MAKEPATH# -C bar
+#MAKE#[1]: Entering directory '#PWD#/bar'
+bar: start
+bar: end
+baz: start
+baz: end
+#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
+# starting the bar makefile, otherwise the "entering/leaving" messages for the
+# submakes might be ordered differently than we expect.
+
+unlink(@syncfiles);
+run_make_test(qq!
+x=1
+\$xMAKEFLAGS += --no-print-directory
+
+all: make-foo make-bar
+
+make-foo: ; \$(MAKE) -C foo
+
+make-bar: ; $sleep_command 1 ; \$(MAKE) -C bar!,
+ '-j --output-sync=target',
+"#MAKEPATH# -C foo
+$sleep_command 1 ; #MAKEPATH# -C bar
+#MAKE#[1]: Entering directory '#PWD#/bar'
+bar: start
+bar: end
+#MAKE#[1]: Leaving directory '#PWD#/bar'
+#MAKE#[1]: Entering directory '#PWD#/foo'
+foo: start
+foo: end
+#MAKE#[1]: Leaving directory '#PWD#/foo'
+#MAKE#[1]: Entering directory '#PWD#/bar'
+baz: start
+baz: end
+#MAKE#[1]: Leaving directory '#PWD#/bar'\n", 0, 6);
+
+# Rerun but this time suppress the directory tracking
+unlink(@syncfiles);
+run_make_test(undef, '-j --output-sync=target x=',
+ "#MAKEPATH# -C foo
+$sleep_command 1 ; #MAKEPATH# -C bar
+bar: start
+bar: end
+foo: start
+foo: end
+baz: start
+baz: end\n", 0, 6);
+
+# Test that messages from make itself are enclosed with
+# "Entering/Leaving directory" messages.
+unlink(@syncfiles);
+run_make_test(qq!
+all: make-foo-fail make-bar-bar
+
+make-foo-fail: ; \$(MAKE) -C foo foo-fail
+
+make-bar-bar: ; $sleep_command 1 ; \$(MAKE) -C bar bar!,
+ '-j -O',
+"#MAKEPATH# -C foo foo-fail
+$sleep_command 1 ; #MAKEPATH# -C bar bar
+#MAKE#[1]: Entering directory '#PWD#/bar'
+bar: start
+bar: end
+#MAKE#[1]: Leaving directory '#PWD#/bar'
+#MAKE#[1]: Entering directory '#PWD#/foo'
+foo-fail: start
+foo-fail: end
+Makefile:20: recipe for target 'foo-fail' failed
+#MAKE#[1]: *** [foo-fail] Error 1
+#MAKE#[1]: Leaving directory '#PWD#/foo'
+#MAKEFILE#:4: recipe for target 'make-foo-fail' failed
+#MAKE#: *** [make-foo-fail] Error 2\n",
+512);
+
+# Test the per-job synchronization.
+# For this we'll have bar-job:
+# print start, invoke bar-start, wait for foo-start, print end, print-bar-end
+# And foo-job:
+# wait for bar-start, print foo-start, wait for bar-end, print end
+
+unlink(@syncfiles);
+run_make_test(qq!
+all: make-foo make-bar
+
+make-foo: ; \$(MAKE) -C foo foo-job
+
+make-bar: ; $sleep_command 1 ; \$(MAKE) -C bar bar-job!,
+ '-j --output-sync=line',
+"#MAKEPATH# -C foo foo-job
+$sleep_command 1 ; #MAKEPATH# -C bar bar-job
+#MAKE#[1]: Entering directory '#PWD#/foo'
+foo: start
+#MAKE#[1]: Leaving directory '#PWD#/foo'
+#MAKE#[1]: Entering directory '#PWD#/bar'
+bar: start
+#MAKE#[1]: Leaving directory '#PWD#/bar'
+#MAKE#[1]: Entering directory '#PWD#/bar'
+bar: end
+#MAKE#[1]: Leaving directory '#PWD#/bar'
+#MAKE#[1]: Entering directory '#PWD#/foo'
+foo: end
+#MAKE#[1]: Leaving directory '#PWD#/foo'\n", 0, 6);
+
+
+# Remove temporary directories and contents.
+output_sync_clean();
+
+# Ensure recursion doesn't mis-order or double-print output
+run_make_test(qq!
+all:
+\t\@echo foo
+\t\@+echo bar
+!,
+ '-j -Oline', "foo\nbar\n");
+
+run_make_test(undef, '-j -Otarget', "foo\nbar\n");
+
+# Ensure when make writes out command it's not misordered
+run_make_test(qq!
+all:
+\t\@echo foobar
+\ttrue
+!,
+ '-j -Oline', "foobar\ntrue\n");
+
+run_make_test(undef, '-j -Otarget', "foobar\ntrue\n");
+
+# Ensure that shell functions inside recipes write stderr to the sync file
+run_make_test(q!
+all: ; @: $(shell echo foo 1>&2)
+!,
+ '-w -Oline', "#MAKE#: Entering directory '#PWD#'\nfoo\n#MAKE#: Leaving directory '#PWD#'\n");
+
+# Ensure that output generated while parsing makefiles is synced
+# when appropriate.
+run_make_test(q!
+$(shell echo foo 1>&2)
+all: ; echo bar
+!,
+ '-s -w -Otarget', "#MAKE#: Entering directory '#PWD#'\nfoo\n#MAKE#: Leaving directory '#PWD#'\n#MAKE#: Entering directory '#PWD#'\nbar\n#MAKE#: Leaving directory '#PWD#'\n");
+
+# Test recursion
+$m1 = get_tmpfile();
+$m2 = get_tmpfile();
+
+open(M1, "> $m1");
+print M1 <<'EOF';
+$(shell echo d1 stderr 1>&2)
+$(info d1 stdout)
+all:; @:
+EOF
+close(M1);
+
+open(M2, "> $m2");
+print M2 <<'EOF';
+$(shell echo d2 stderr 1>&2)
+$(info d2 stdout)
+all:; @:
+# Force an ordering on the output
+$(shell sleep 1)
+EOF
+close(M2);
+
+run_make_test(qq!
+all: t1 t2
+t1: ; \@\$(MAKE) -f $m1
+t2: ; \@\$(MAKE) -f $m2
+!,
+ "-j -Oline", "#MAKE#[1]: Entering directory '#PWD#'\nd1 stderr\nd1 stdout\n#MAKE#[1]: Leaving directory '#PWD#'\n#MAKE#[1]: Entering directory '#PWD#'\nd2 stderr\nd2 stdout\n#MAKE#[1]: Leaving directory '#PWD#'\n");
+
+rmfiles($m1, $m2);
+
+# Ensure that output generated while parsing makefiles is synced
+# when appropriate.
+$m1 = get_tmpfile();
+
+open(M1, "> $m1");
+print M1 <<'EOF';
+$(shell echo d1 stderr 1>&2)
+$(info d1 stdout)
+$(error d1 failed)
+all:; @:
+EOF
+close(M1);
+
+run_make_test(qq!
+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#MAKEFILE#:3: recipe for target 't1' failed\n#MAKE#: [t1] Error 2 (ignored)\n");
+
+rmfiles($m1);
+
+# Test $(error ...) functions in recipes
+
+run_make_test(q!
+foo: $(OBJS) ; echo $(or $(filter %.o,$^),$(error fail))
+!,
+ '-O', "#MAKEFILE#:2: *** fail. Stop.\n", 512);
+
+# This tells the test driver that the perl test script executed properly.
+1;
diff --git a/tests/scripts/features/parallelism b/tests/scripts/features/parallelism
index cc0f84f6..c702c268 100644
--- a/tests/scripts/features/parallelism
+++ b/tests/scripts/features/parallelism
@@ -41,7 +41,7 @@ all: 1 2; \@echo success
1.inc: ; \@echo ONE.inc; $sleep_command 2; echo TWO.inc; echo '1: ; \@echo ONE; $sleep_command 2; echo TWO' > \$\@
2.inc: ; \@$sleep_command 1; echo THREE.inc; echo '2: ; \@$sleep_command 1; echo THREE' > \$\@",
"-j4",
- "ONE.inc\nTHREE.inc\nTWO.inc\nONE\nTHREE\nTWO\nsuccess\n");
+ "ONE.inc\nTHREE.inc\nTWO.inc\nONE\nTHREE\nTWO\nsuccess\n", 0, 7);
rmfiles(qw(1.inc 2.inc));
@@ -60,7 +60,7 @@ endif
1.inc: ; \@echo ONE.inc; $sleep_command 2; echo TWO.inc; echo '1: ; \@echo ONE; $sleep_command 2; echo TWO' > \$\@
2.inc: ; \@$sleep_command 1; echo THREE.inc; echo '2: ; \@$sleep_command 1; echo THREE' > \$\@",
"-j4",
- "ONE.inc\nTHREE.inc\nTWO.inc\nONE\nTHREE\nTWO\nsuccess\n");
+ "ONE.inc\nTHREE.inc\nTWO.inc\nONE\nTHREE\nTWO\nsuccess\n", 0, 7);
rmfiles(qw(1.inc 2.inc));
@@ -91,21 +91,24 @@ run_make_test("
all: fail.1 ok fail.2 fail.3
fail.1 fail.2 fail.3:
- \@sleep \$(patsubst fail.%,%,\$\@)
+ \@$sleep_command \$(patsubst fail.%,%,\$\@)
\@echo Fail
\@exit 1
ok:
- \@sleep 4
+ \@$sleep_command 4
\@echo Ok done",
- '-rR -j5', 'Fail
+ '-rR -j5', "Fail
+#MAKEFILE#:6: recipe for target 'fail.1' failed
#MAKE#: *** [fail.1] Error 1
#MAKE#: *** Waiting for unfinished jobs....
Fail
+#MAKEFILE#:6: recipe for target 'fail.2' failed
#MAKE#: *** [fail.2] Error 1
Fail
+#MAKEFILE#:6: recipe for target 'fail.3' failed
#MAKE#: *** [fail.3] Error 1
-Ok done',
+Ok done",
512);
@@ -140,81 +143,40 @@ intermed: | phony ; touch $@
phony: ; : phony', '-rR -j', ': phony');
rmfiles('target');
-# TEST #10: 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
-# get one from the original invocation and none from the re-exec.
-# See Savannah bug #18124
+# TEST #11: Make sure -jN from MAKEFLAGS is processed even when we re-exec
+# See Savannah bug #33873
+
+$extraENV{MAKEFLAGS} = '-j4';
run_make_test(q!
+things = thing1 thing2
+all: $(things)
+thing1:; @sleep 1; echo '$@ start'; sleep 2; echo '$@ end'
+thing2:; @echo '$@ start'; sleep 2; echo '$@ end'
-include inc.mk
-recur:
-# @echo 'MAKEFLAGS = $(MAKEFLAGS)'
- @rm -f inc.mk
- @$(MAKE) -j2 -f #MAKEFILE# all
-all:
-# @echo 'MAKEFLAGS = $(MAKEFLAGS)'
- @echo $@
-inc.mk:
-# @echo 'MAKEFLAGS = $(MAKEFLAGS)'
- @echo 'FOO = bar' > $@
+inc.mk: ; @touch $@
!,
- '--no-print-directory -j2', "#MAKE#[1]: warning: -jN forced in submake: disabling jobserver mode.\nall\n");
+ '', "thing2 start\nthing1 start\nthing2 end\nthing1 end\n");
+delete $extraENV{MAKEFLAGS};
rmfiles('inc.mk');
-if ($all_tests) {
- # Implicit files aren't properly recreated during parallel builds
- # Savannah bug #26864
+# Ensure intermediate/secondary files are not pruned incorrectly.
+# See Savannah bug #30653
- # The first run works fine
- run_make_test(q!
-%.bar: %.x foo.y ; cat $^ > $@
-%.x: ; touch $@
-foo.y: foo.y.in ; cp $< $@
-foo.y.in: ; touch $@
-!,
- '-j2 main.bar',
- "touch foo.y.in
-touch main.x
-cp foo.y.in foo.y
-cat main.x foo.y > main.bar
-rm main.x");
-
- # Now we touch the .in file and make sure it still works
- touch('foo.y.in');
-
- run_make_test(undef, '-j2 main.bar', "cp foo.y.in foo.y
-touch main.x
-cat main.x foo.y > main.bar
-rm main.x");
-
- # Clean up
- rmfiles(qw(foo.y foo.y.in main.bar));
-}
+utouch(-15, 'file2');
+utouch(-10, 'file4');
+utouch(-5, 'file1');
-if ($all_tests) {
- # Jobserver FD handling is messed up in some way.
- # Savannah bug #28189
- # It doesn't look like that bug anymore but this is the code it runs
-
- run_make_test(q!
-ifdef EXTRA
-vpath %.dst /
-xxx.dst: ; true
-yyy.dst: ; true
-endif
-
-M := $(MAKE)
-xx: ; $M --no-print-directory -j2 -f $(MAKEFILE_LIST) xxx.dst yyy.dst EXTRA=1
+run_make_test(q!
+.INTERMEDIATE: file3
+file4: file3 ; @mv -f $< $@
+file3: file2 ; touch $@
+file2: file1 ; @touch $@
!,
- '-j2',
- '#MAKE#[1]: warning: -jN forced in submake: disabling jobserver mode.
-true
-true
-');
-}
+ '--no-print-directory -j2', "touch file3");
+
+rmfiles('file1', 'file2', 'file3', 'file4');
# Make sure that all jobserver FDs are closed if we need to re-exec the
# master copy.
diff --git a/tests/scripts/features/patspecific_vars b/tests/scripts/features/patspecific_vars
index 8ca228d7..a530bba1 100644
--- a/tests/scripts/features/patspecific_vars
+++ b/tests/scripts/features/patspecific_vars
@@ -81,7 +81,7 @@ all: bar baz
b%: pattern := good $$t
-global := orginal $$t
+global := original $$t
# normal target
@@ -103,14 +103,14 @@ else
%z: a := global: $(global) pattern: $(pattern) inherit: $(inherit)
endif
-%z: ; @echo \'pattrn: $a;\'
+%z: ; @echo \'pattern: $a;\'
global := new $$t
',
'',
-'normal: global: orginal $t pattern: inherit: ;
-pattrn: global: orginal $t pattern: inherit: ;');
+'normal: global: original $t pattern: inherit: ;
+pattern: global: original $t pattern: inherit: ;');
# TEST #7 -- test expansion of pattern-specific recursive variables
@@ -118,7 +118,7 @@ pattrn: global: orginal $t pattern: inherit: ;');
run_make_test(undef, # reuse previous makefile
'rec=1',
'normal: global: new $t pattern: good $t inherit: good $t;
-pattrn: global: new $t pattern: good $t inherit: good $t;');
+pattern: global: new $t pattern: good $t inherit: good $t;');
# TEST #8: override in pattern-specific variables
diff --git a/tests/scripts/features/patternrules b/tests/scripts/features/patternrules
index eebe7c0a..0ff49a75 100644
--- a/tests/scripts/features/patternrules
+++ b/tests/scripts/features/patternrules
@@ -110,7 +110,8 @@ $(dir)/foo.bar:
',
"dir=$dir",
-"#MAKE#: *** [$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");
@@ -203,7 +204,7 @@ CWEAVE := :
%.tex : %.w %.ch
!,
'foo.tex',
- "#MAKE#: *** No rule to make target `foo.tex'. Stop.", 512);
+ "#MAKE#: *** No rule to make target 'foo.tex'. Stop.", 512);
unlink(@f);
diff --git a/tests/scripts/features/recursion b/tests/scripts/features/recursion
index a6b8f909..fd5e3518 100644
--- a/tests/scripts/features/recursion
+++ b/tests/scripts/features/recursion
@@ -18,7 +18,7 @@ last:
',
('CFLAGS=-O -w' . ($parallel_jobs ? ' -j 2' : '')),
($vos
- ? "#MAKE#: Entering directory `#PWD#'
+ ? "#MAKE#: Entering directory '#PWD#'
make 'CFLAGS=-O' -f #MAKEFILE# foo
make CFLAGS=-O
MAKELEVEL = 0
@@ -26,20 +26,20 @@ make 'CFLAGS=-O' -f #MAKEFILE# last
make CFLAGS=-O
MAKELEVEL = 0
THE END
-#MAKE#: Leaving directory `#PWD#'"
- : "#MAKE#: Entering directory `#PWD#'
+#MAKE#: Leaving directory '#PWD#'"
+ : "#MAKE#: Entering directory '#PWD#'
#MAKEPATH# -f #MAKEFILE# foo
-#MAKE#[1]: Entering directory `#PWD#'
+#MAKE#[1]: Entering directory '#PWD#'
#MAKEPATH#
MAKELEVEL = 1
#MAKEPATH# -f #MAKEFILE# last
-#MAKE#[2]: Entering directory `#PWD#'
+#MAKE#[2]: Entering directory '#PWD#'
#MAKEPATH#
MAKELEVEL = 2
THE END
-#MAKE#[2]: Leaving directory `#PWD#'
-#MAKE#[1]: Leaving directory `#PWD#'
-#MAKE#: Leaving directory `#PWD#'"));
+#MAKE#[2]: Leaving directory '#PWD#'
+#MAKE#[1]: Leaving directory '#PWD#'
+#MAKE#: Leaving directory '#PWD#'"));
# Test command line overrides.
diff --git a/tests/scripts/features/reinvoke b/tests/scripts/features/reinvoke
index 9952ced1..eb1a3492 100644
--- a/tests/scripts/features/reinvoke
+++ b/tests/scripts/features/reinvoke
@@ -57,9 +57,24 @@ include $(F)',
# Now try with the file we're not updating being the actual file we're
# including: this and the previous one test different parts of the code.
-run_make_test(undef, "F=b", "[ -f b ] || echo >> b\nhello\n")
+run_make_test(undef, 'F=b', "[ -f b ] || echo >> b\nhello\n")
&rmfiles('a','b','c');
+# Ensure command line variables are preserved properly across re-exec
+# Tests for Savannah bug #30723
+
+run_make_test('
+ifdef RECURSE
+-include foo30723
+endif
+recurse: ; @$(MAKE) -f $(MAKEFILE_LIST) RECURSE=1 test
+test: ; @echo F.O=$(F.O)
+foo30723: ; @touch $@
+',
+ '--no-print-directory F.O=bar', "F.O=bar\n");
+
+unlink('foo30723');
+
# This tells the test driver that the perl test script executed properly.
1;
diff --git a/tests/scripts/features/rule_glob b/tests/scripts/features/rule_glob
new file mode 100644
index 00000000..2d377e7e
--- /dev/null
+++ b/tests/scripts/features/rule_glob
@@ -0,0 +1,37 @@
+# -*-perl-*-
+
+$description = "Test globbing in targets and prerequisites.";
+
+$details = "";
+
+touch(qw(a.one a.two a.three));
+
+# Test wildcards in regular targets and prerequisites
+run_make_test(q{
+.PHONY: all a.one a.two a.three
+all: a.one* a.t[a-z0-9]o a.th[!q]ee
+a.o[Nn][Ee] a.t*: ; @echo $@
+},
+ '', "a.one\na.two\na.three");
+
+# Test wildcards in pattern targets and prerequisites
+run_make_test(q{
+.PHONY: all
+all: a.four
+%.four : %.t* ; @echo $@: $(sort $^)
+},
+ '', "a.four: a.three a.two");
+
+# Test wildcards in second expansion targets and prerequisites
+run_make_test(q{
+.PHONY: all
+all: a.four
+.SECONDEXPANSION:
+%.four : $$(sort %.t*) ; @echo $@: $(sort $^)
+},
+ '', "a.four: a.three a.two");
+
+unlink(qw(a.one a.two a.three));
+
+# This tells the test driver that the perl test script executed properly.
+1;
diff --git a/tests/scripts/features/se_explicit b/tests/scripts/features/se_explicit
index 79e0a36f..790017af 100644
--- a/tests/scripts/features/se_explicit
+++ b/tests/scripts/features/se_explicit
@@ -6,6 +6,9 @@ $details = "";
# TEST #0: Test handing of '$' in prerequisites with and without second
# expansion.
+# If we don't support archives then the prerequisite is different
+my $prereq = exists $FEATURES{'archives'} ? '$' : '$(PRE)';
+
run_make_test(q!
ifdef SE
.SECONDEXPANSION:
@@ -18,7 +21,7 @@ PRE = three four
.DEFAULT: ; @echo '$@'
!,
'',
- "\$\nbar\$biz\nfoo\$bar : bar\$baz bar\$biz");
+ "$prereq\nbar\$biz\nfoo\$bar : bar\$baz bar\$biz");
run_make_test(undef, 'SE=1', "three\nfour\nbariz\nfoo\$bar : baraz bariz");
@@ -115,7 +118,7 @@ run_make_test(q!
.SECONDEXPANSION:
all : $$(eval $$(info test))
!,
- '', "test\n#MAKE#: Nothing to be done for `all'.\n");
+ '', "test\n#MAKE#: Nothing to be done for 'all'.\n");
# TEST #5: (NEGATIVE) catch eval in a prereq list trying to create new
# target/prereq relationships.
@@ -152,5 +155,13 @@ a%l: q1x $$+ q2x ; @echo '$+'
'', "q1x bar bar q2x bar bar\n");
-# This tells the test driver that the perl test script executed properly.
+# Allow patsubst shorthand in second expansion context.
+# Requires the colon to be quoted. Savannah bug #16545
+run_make_test(q!
+.PHONY: foo.bar
+.SECONDEXPANSION:
+foo: $$(@\\:%=%.bar); @echo '$^'
+!,
+ '', "foo.bar\n");
+
1;
diff --git a/tests/scripts/features/se_implicit b/tests/scripts/features/se_implicit
index e9acb2f5..ec09d8da 100644
--- a/tests/scripts/features/se_implicit
+++ b/tests/scripts/features/se_implicit
@@ -222,5 +222,39 @@ foo.o:
!,
'', "\n");
+# Test #10: Test second expansion with second expansion prerequisites
+# Ensures pattern_search() recurses with SE prereqs.
+touch('a');
+run_make_test(q!
+.SECONDEXPANSION:
+sim_base_rgg := just_a_name
+sim_base_src := a
+sim_base_f := a a a
+sim_%.f: $${sim_$$*_f}
+ echo $@
+sim_%.src: $${sim_$$*_src}
+ echo $@
+sim_%: \
+ $$(if $$(sim_$$*_src),sim_%.src) \
+ $$(if $$(sim_$$*_f),sim_%.f) \
+ $$(if $$(sim_$$*_rgg),$$(sim_$$*_rgg).s)
+ echo $@
+!,
+ '-s sim_base', "#MAKE#: *** No rule to make target 'sim_base'. Stop.", 512);
+
+unlink('a');
+
+# Ensure that order-only tokens embedded in second expansions are parsed
+run_make_test(q!
+.SECONDEXPANSION:
+PREREQS=p1|p2
+P2=p2
+all : foo bar
+f%o: $$(PREREQS) ; @echo '$@' from '$^' and '$|'
+b%r: p1|$$(P2) ; @echo '$@' from '$^' and '$|'
+p% : ; : $@
+!,
+ "", ": p1\n: p2\nfoo from p1 and p2\nbar from p1 and p2\n");
+
# This tells the test driver that the perl test script executed properly.
1;
diff --git a/tests/scripts/features/targetvars b/tests/scripts/features/targetvars
index ddd6c1f5..a9b8dbeb 100644
--- a/tests/scripts/features/targetvars
+++ b/tests/scripts/features/targetvars
@@ -237,10 +237,20 @@ a: ; @echo "$(FOO)"
run_make_test(undef, 'FOO=C', "C f1\n");
+# TEST #19: Conditional variables with command-line settings
+
+run_make_test('
+a: FOO ?= f1
+a: ; @echo "$(FOO)"
+',
+ '', "f1\n");
+
+run_make_test(undef, 'FOO=C', "C\n");
+
# TEST #20: Check for continuation after semicolons
run_make_test(q!
-a: A = 'hello; \
+a: A = 'hello;\
world'
a: ; @echo $(A)
!,
diff --git a/tests/scripts/features/utf8 b/tests/scripts/features/utf8
new file mode 100644
index 00000000..54bc4710
--- /dev/null
+++ b/tests/scripts/features/utf8
@@ -0,0 +1,11 @@
+# -*-perl-*-
+
+$description = "Test support for UTF-8.";
+
+$details = "";
+
+# Verify that the UTF-8 BOM is ignored.
+run_make_test("\xEF\xBB\xBFall: ; \@echo \$\@\n", '', "all");
+
+# This tells the test driver that the perl test script executed properly.
+1;
diff --git a/tests/scripts/features/varnesting b/tests/scripts/features/varnesting
index 15d50711..d8f3ffbb 100644
--- a/tests/scripts/features/varnesting
+++ b/tests/scripts/features/varnesting
@@ -1,29 +1,30 @@
-$description = "The following test creates a makefile to ...";
+# -*-perl-*-
+$description = "Test recursive variables";
$details = "";
-open(MAKEFILE,"> $makefile");
-
-# The Contents of the MAKEFILE ...
-
-print MAKEFILE "x = variable1\n"
- ."variable2 := Hello\n"
- ."y = \$(subst 1,2,\$(x))\n"
- ."z = y\n"
- ."a := \$(\$(\$(z)))\n"
- ."all: \n"
- ."\t\@echo \$(a)\n";
-
-# END of Contents of MAKEFILE
-
-close(MAKEFILE);
-
-&run_make_with_options($makefile,"",&get_logfile);
-
-# Create the answer to what should be produced by this Makefile
-$answer = "Hello\n";
-
-&compare_output($answer,&get_logfile(1));
+run_make_test('
+x = variable1
+variable2 := Hello
+y = $(subst 1,2,$(x))
+z = y
+a := $($($(z)))
+all:
+ @echo $(a)
+',
+ '', "Hello\n");
+
+# This tests resetting the value of a variable while expanding it.
+# You may only see problems with this if you're using valgrind or
+# some other memory checker that poisons freed memory.
+# See Savannah patch #7534
+
+run_make_test('
+VARIABLE = $(eval VARIABLE := echo hi)$(VARIABLE)
+wololo:
+ @$(VARIABLE)
+',
+ '', "hi\n");
1;
diff --git a/tests/scripts/features/vpath b/tests/scripts/features/vpath
index a3aebd91..ec24165f 100644
--- a/tests/scripts/features/vpath
+++ b/tests/scripts/features/vpath
@@ -74,7 +74,7 @@ vpath-d/a: fail.te
vpath-d/b : fail.te
vpath-d/fail.te:
!,
- '', "#MAKE#: Nothing to be done for `default'.\n");
+ '', "#MAKE#: Nothing to be done for 'default'.\n");
rmdir('vpath-d');
diff --git a/tests/scripts/features/vpath3 b/tests/scripts/features/vpath3
index 978c5ee6..c6ede282 100644
--- a/tests/scripts/features/vpath3
+++ b/tests/scripts/features/vpath3
@@ -1,50 +1,35 @@
-# -*-perl-*-
+# -*-perl-*-
$description = "Test the interaction of the -lfoo feature and vpath";
$details = "";
-open(MAKEFILE,"> $makefile");
-
-# The Contents of the MAKEFILE ...
-
-print MAKEFILE "vpath %.a a1\n";
-print MAKEFILE "vpath %.so b1\n";
-print MAKEFILE "vpath % a2 b2\n";
-print MAKEFILE "vpath % b3\n";
-print MAKEFILE "all: -l1 -l2 -l3; \@echo \$^\n";
-
-# END of Contents of MAKEFILE
-
-close(MAKEFILE);
-
-mkdir("a1", 0777);
-mkdir("b1", 0777);
-mkdir("a2", 0777);
-mkdir("b2", 0777);
-mkdir("b3", 0777);
-
-@files_to_touch = ("a1${pathsep}lib1.a",
- "b1${pathsep}lib1.so",
- "a2${pathsep}lib2.a",
- "b2${pathsep}lib2.so",
- "lib3.a",
- "b3${pathsep}lib3.so");
+my @dirs_to_make = qw(a1 b1 a2 b2 b3);
+for my $d (@dirs_to_make) {
+ mkdir($d, 0777);
+}
+my @files_to_touch = ("a1${pathsep}lib1.a",
+ "a1${pathsep}libc.a",
+ "b1${pathsep}lib1.so",
+ "a2${pathsep}lib2.a",
+ "b2${pathsep}lib2.so",
+ "lib3.a",
+ "b3${pathsep}lib3.so");
&touch(@files_to_touch);
-&run_make_with_options($makefile,"",&get_logfile);
-
-# Create the answer to what should be produced by this Makefile
-$answer = "a1${pathsep}lib1.a a2${pathsep}lib2.a lib3.a\n";
-
-if (&compare_output($answer,&get_logfile(1)))
-{
- unlink @files_to_touch;
- rmdir("a1");
- rmdir("b1");
- rmdir("a2");
- rmdir("b2");
- rmdir("b3");
+run_make_test('
+vpath %.h b3
+vpath %.a a1
+vpath %.so b1
+vpath % a2 b2
+vpath % b3
+all: -l1 -lc -l2 -l3; @echo $^
+',
+ '', "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) {
+ rmdir($d);
}
1;
diff --git a/tests/scripts/features/vpathgpath b/tests/scripts/features/vpathgpath
index f7683f52..5e6217bf 100644
--- a/tests/scripts/features/vpathgpath
+++ b/tests/scripts/features/vpathgpath
@@ -57,7 +57,7 @@ sub touchfiles {
push(@touchedfiles, "bar.c");
-$answer = "$make_name: Nothing to be done for `general'.\n";
+$answer = "$make_name: Nothing to be done for 'general'.\n";
&compare_output($answer,&get_logfile(1));
diff --git a/tests/scripts/features/vpathplus b/tests/scripts/features/vpathplus
index a37fbedd..361788c7 100644
--- a/tests/scripts/features/vpathplus
+++ b/tests/scripts/features/vpathplus
@@ -86,6 +86,7 @@ cat ${VP}foo.c bar.c > foo.b 2>/dev/null || exit 1
$answer = "not creating notarget.c from notarget.d
cat notarget.c > notarget.b 2>/dev/null || exit 1
+$makefile:16: recipe for target 'notarget.b' failed
$make_name: *** [notarget.b] Error 1
";
diff --git a/tests/scripts/functions/call b/tests/scripts/functions/call
index f3c54708..9db9da71 100644
--- a/tests/scripts/functions/call
+++ b/tests/scripts/functions/call
@@ -13,7 +13,7 @@ print MAKEFILE <<'EOMAKE';
#
reverse = $2 $1
-# A complex `map' function, using recursive `call'.
+# A complex 'map' function, using recursive 'call'.
#
map = $(foreach a,$2,$(call $1,$a))
@@ -38,7 +38,7 @@ two = $(call one,$(1),foo,$(2))
DEP_foo = bar baz quux
DEP_baz = quux blarp
rest = $(wordlist 2,$(words ${1}),${1})
-tclose = $(if $1,$(firstword $1) \
+tclose = $(if $1,$(firstword $1)\
$(call tclose,$(sort ${DEP_$(firstword $1)} $(call rest,$1))))
all: ; @echo '$(call reverse,bar,foo)'; \
@@ -96,4 +96,15 @@ close(MAKEFILE);
$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 ...)
+
+delete $ENV{X123};
+
+run_make_test('
+tst = $(eval export X123)
+$(call tst)
+all: ; @echo "$${X123-not set}"
+',
+ '', "\n");
+
1;
diff --git a/tests/scripts/functions/file b/tests/scripts/functions/file
new file mode 100644
index 00000000..55eb58a0
--- /dev/null
+++ b/tests/scripts/functions/file
@@ -0,0 +1,118 @@
+# -*-perl-*-
+
+$description = 'Test the $(file ...) function.';
+
+# Test > and >>
+run_make_test(q!
+define A
+a
+b
+endef
+B = c d
+$(file >file.out,$(A))
+$(foreach L,$(B),$(file >> file.out,$L))
+x:;@echo hi; cat file.out
+!,
+ '', "hi\na\nb\nc\nd");
+
+unlink('file.out');
+
+# Test >> to a non-existent file
+run_make_test(q!
+define A
+a
+b
+endef
+$(file >> file.out,$(A))
+x:;@cat file.out
+!,
+ '', "a\nb");
+
+unlink('file.out');
+
+# Test > with no content
+run_make_test(q!
+$(file >4touch)
+.PHONY:x
+x:;@cat 4touch
+!,
+ '', '');
+
+# Test >> with no content
+run_make_test(q!
+$(file >>4touch)
+.PHONY:x
+x:;@cat 4touch
+!,
+ '', '');
+unlink('4touch');
+
+# Test > to a read-only file
+touch('file.out');
+chmod(0444, 'file.out');
+
+# Find the error that will be printed
+# This seems complicated, but we need the message from the C locale
+my $loc = undef;
+if ($has_POSIX) {
+ $loc = POSIX::setlocale(POSIX::LC_MESSAGES);
+ POSIX::setlocale(POSIX::LC_MESSAGES, 'C');
+}
+my $e;
+open(my $F, '>', 'file.out') and die "Opened read-only file!\n";
+$e = "$!";
+$loc and POSIX::setlocale(POSIX::LC_MESSAGES, $loc);
+
+run_make_test(q!
+define A
+a
+b
+endef
+$(file > file.out,$(A))
+x:;@cat file.out
+!,
+ '', "#MAKEFILE#:6: *** open: file.out: $e. Stop.",
+ 512);
+
+unlink('file.out');
+
+# Use variables for operator and filename
+run_make_test(q!
+define A
+a
+b
+endef
+OP = >
+FN = file.out
+$(file $(OP) $(FN),$(A))
+x:;@cat file.out
+!,
+ '', "a\nb");
+
+unlink('file.out');
+
+# Don't add newlines if one already exists
+run_make_test(q!
+define A
+a
+b
+
+endef
+$(file >file.out,$(A))
+x:;@cat file.out
+!,
+ '', "a\nb");
+
+unlink('file.out');
+
+# Empty text
+run_make_test(q!
+$(file >file.out,)
+$(file >>file.out,)
+x:;@cat file.out
+!,
+ '', "\n\n");
+
+unlink('file.out');
+
+1;
diff --git a/tests/scripts/functions/filter-out b/tests/scripts/functions/filter-out
index 6c8b27a8..1fe4819d 100644
--- a/tests/scripts/functions/filter-out
+++ b/tests/scripts/functions/filter-out
@@ -1,6 +1,6 @@
# -*-perl-*-
-$description = "Test the filter-out function.";
+$description = "Test the filter and filter-out functions.";
$details = "The makefile created in this test has two variables. The
filter-out function is first used to discard names ending in
@@ -11,18 +11,32 @@ which is only used if there are multiple literals present in both
the pattern and text arguments. The result of both filter-out
functions is the same single .elc name.\n";
-open(MAKEFILE,"> $makefile");
+# Basic test -- filter
+run_make_test(q!
+files1 := $(filter %.o, foo.elc bar.o lose.o)
+files2 := $(filter %.o foo.i, foo.i bar.i lose.i foo.elc bar.o lose.o)
+all: ; @echo '$(files1) $(files2)'
+!,
+ '', "bar.o lose.o foo.i bar.o lose.o\n");
-print MAKEFILE <<'EOF';
+# Basic test -- filter-out
+run_make_test(q!
files1 := $(filter-out %.o, foo.elc bar.o lose.o)
files2 := $(filter-out foo.i bar.i lose.i %.o, foo.i bar.i lose.i foo.elc bar.o lose.o)
-all: ; @echo $(files1) $(files2)
-EOF
+all: ; @echo '$(files1) $(files2)'
+!,
+ '', "foo.elc foo.elc\n");
-close(MAKEFILE);
+# Escaped patterns
+run_make_test(q!all:;@echo '$(filter foo\%bar,foo%bar fooXbar)'!,
+ '', "foo%bar\n");
-&run_make_with_options($makefile, "", &get_logfile, 0);
-$answer = "foo.elc foo.elc\n";
-&compare_output($answer,&get_logfile(1));
+run_make_test(q!all:;@echo '$(filter foo\%\%\\\\\%\%bar,foo%%\\%%bar fooX\\Ybar)'!,
+ '', "foo%%\\%%bar\n");
+
+run_make_test(q!
+X = $(filter foo\\\\\%bar,foo\%bar foo\Xbar)
+all:;@echo '$(X)'!,
+ '', "foo\\%bar\n");
1;
diff --git a/tests/scripts/functions/foreach b/tests/scripts/functions/foreach
index 82e99d7b..4d1a11d1 100644
--- a/tests/scripts/functions/foreach
+++ b/tests/scripts/functions/foreach
@@ -1,5 +1,5 @@
# -*-perl-*-
-# $Id: foreach,v 1.5 2006/03/10 02:20:46 psmith Exp $
+# $Id$
$description = "Test the foreach function.";
@@ -62,7 +62,7 @@ y = $x
all: ; @echo $y',
'',
- "#MAKEFILE#:2: *** insufficient number of arguments (1) to function `foreach'. Stop.",
+ "#MAKEFILE#:2: *** insufficient number of arguments (1) to function 'foreach'. Stop.",
512);
run_make_test('
@@ -71,7 +71,7 @@ y := $x
all: ; @echo $y',
'',
- "#MAKEFILE#:2: *** insufficient number of arguments (1) to function `foreach'. Stop.",
+ "#MAKEFILE#:2: *** insufficient number of arguments (1) to function 'foreach'. Stop.",
512);
1;
diff --git a/tests/scripts/functions/guile b/tests/scripts/functions/guile
new file mode 100644
index 00000000..c63bec9b
--- /dev/null
+++ b/tests/scripts/functions/guile
@@ -0,0 +1,99 @@
+# -*-perl-*-
+
+$description = 'Test the $(guile ...) function.';
+
+$details = 'This only works on systems that support it.';
+
+# If this instance of make doesn't support GNU Guile, skip it
+# This detects if guile is loaded using the "load" directive
+# $makefile = get_tmpfile();
+# open(MAKEFILE, "> $makefile") || die "Failed to open $makefile: $!\n";
+# print MAKEFILE q!
+# -load guile
+# all: ; @echo $(filter guile,$(.LOADED))
+# !;
+# close(MAKEFILE) || die "Failed to write $makefile: $!\n";
+# $cmd = subst_make_string("#MAKEPATH# -f $makefile");
+# $log = get_logfile(0);
+# $code = run_command_with_output($log, $cmd);
+# read_file_into_string ($log) eq "guile\n" and $FEATURES{guile} = 1;
+
+# If we don't have Guile support, never mind.
+exists $FEATURES{guile} or return -1;
+
+# Verify simple data type conversions
+# Currently we don't support vectors:
+# echo '$(guile (vector 1 2 3))'; \
+run_make_test(q!
+x:;@echo '$(guile #f)'; \
+ echo '$(guile #t)'; \
+ echo '$(guile #\c)'; \
+ echo '$(guile 1234)'; \
+ echo '$(guile 'foo)'; \
+ echo '$(guile "bar")'; \
+ echo '$(guile (cons 'a 'b))'; \
+ echo '$(guile '(a b (c . d) 1 (2) 3))'
+!,
+ '', "\n#t\nc\n1234\nfoo\nbar\na b\na b c d 1 2 3");
+
+# Verify the gmk-expand function
+run_make_test(q!
+VAR = $(guile (gmk-expand "$(shell echo hi)"))
+x:;@echo '$(VAR)'
+!,
+ '', "hi");
+
+# Verify the gmk-eval function
+# Prove that the string is expanded only once (by eval)
+run_make_test(q!
+TEST = bye
+EVAL = VAR = $(TEST) $(shell echo there)
+$(guile (gmk-eval "$(value EVAL)"))
+TEST = hi
+x:;@echo '$(VAR)'
+!,
+ '', "hi there");
+
+# Verify the gmk-eval function with a list
+run_make_test(q!
+$(guile (gmk-eval '(VAR = 1 (2) () 3)))
+x:;@echo '$(VAR)'
+!,
+ '', "1 2 3");
+
+# Verify the gmk-var function
+run_make_test(q!
+VALUE = hi $(shell echo there)
+VAR = $(guile (gmk-var "VALUE"))
+x:;@echo '$(VAR)'
+!,
+ '', "hi there");
+
+# Verify the gmk-var function with a symbol
+run_make_test(q!
+VALUE = hi $(shell echo there)
+VAR = $(guile (gmk-var 'VALUE))
+x:;@echo '$(VAR)'
+!,
+ '', "hi there");
+
+# Write a Guile program using define and run it
+run_make_test(q!
+# Define the "fib" function in Guile
+define fib
+;; A procedure for counting the n:th Fibonacci number
+;; See SICP, p. 37
+(define (fib n)
+ (cond ((= n 0) 0)
+ ((= n 1) 1)
+ (else (+ (fib (- n 1))
+ (fib (- n 2))))))
+endef
+$(guile $(fib))
+
+# Now run it
+x:;@echo $(guile (fib $(FIB)))
+!,
+ 'FIB=10', "55");
+
+1;
diff --git a/tests/scripts/functions/sort b/tests/scripts/functions/sort
index d472102d..b5589103 100644
--- a/tests/scripts/functions/sort
+++ b/tests/scripts/functions/sort
@@ -1,55 +1,47 @@
-$description = "The following test creates a makefile to verify\n"
- ."the ability of make to sort lists of object. Sort\n"
- ."will also remove any duplicate entries. This will also\n"
- ."be tested.";
-
-$details = "The make file is built with a list of object in a random order\n"
- ."and includes some duplicates. Make should sort all of the elements\n"
- ."remove all duplicates\n";
-
-open(MAKEFILE,"> $makefile");
-
-# The Contents of the MAKEFILE ...
-
-print MAKEFILE "foo := moon_light days \n"
- ."foo1:= jazz\n"
- ."bar := captured \n"
- ."bar2 = boy end, has rise A midnight \n"
- ."bar3:= \$(foo)\n"
- ."s1 := _by\n"
- ."s2 := _and_a\n"
- ."t1 := \$(addsuffix \$(s1), \$(bar) )\n"
- ."t2 := \$(addsuffix \$(s2), \$(foo1) )\n"
- ."t3 := \$(t2) \$(t2) \$(t2) \$(t2) \$(t2) \$(t2) \$(t2) \$(t2) \$(t2) \$(t2) \n"
- ."t4 := \$(t3) \$(t3) \$(t3) \$(t3) \$(t3) \$(t3) \$(t3) \$(t3) \$(t3) \$(t3) \n"
- ."t5 := \$(t4) \$(t4) \$(t4) \$(t4) \$(t4) \$(t4) \$(t4) \$(t4) \$(t4) \$(t4) \n"
- ."t6 := \$(t5) \$(t5) \$(t5) \$(t5) \$(t5) \$(t5) \$(t5) \$(t5) \$(t5) \$(t5) \n"
- ."t7 := \$(t6) \$(t6) \$(t6) \n"
- ."p1 := \$(addprefix \$(foo1), \$(s2) )\n"
- ."blank:= \n"
- ."all:\n"
- ."\t\@echo \$(sort \$(bar2) \$(foo) \$(addsuffix \$(s1), \$(bar) ) \$(t2) \$(bar2) \$(bar3))\n"
- ."\t\@echo \$(sort \$(blank) \$(foo) \$(bar2) \$(t1) \$(p1) )\n"
- ."\t\@echo \$(sort \$(foo) \$(bar2) \$(t1) \$(t4) \$(t5) \$(t7) \$(t6) )\n";
-
-
-# END of Contents of MAKEFILE
-
-close(MAKEFILE);
-
-&run_make_with_options($makefile,"",&get_logfile);
-
-# Create the answer to what should be produced by this Makefile
-$answer = "A boy captured_by days end, has jazz_and_a midnight moon_light rise\n"
- ."A boy captured_by days end, has jazz_and_a midnight moon_light rise\n"
- ."A boy captured_by days end, has jazz_and_a midnight moon_light rise\n";
-
-&compare_output($answer,&get_logfile(1));
+# -*-perl-*-
+
+$description = "The following test creates a makefile to verify
+the ability of make to sort lists of object. Sort
+will also remove any duplicate entries. This will also
+be tested.";
+
+$details = "The make file is built with a list of object in a random order
+and includes some duplicates. Make should sort all of the elements
+remove all duplicates\n";
+
+run_make_test('
+foo := moon_light days
+foo1:= jazz
+bar := captured
+bar2 = boy end, has rise A midnight
+bar3:= $(foo)
+s1 := _by
+s2 := _and_a
+t1 := $(addsuffix $(s1), $(bar) )
+t2 := $(addsuffix $(s2), $(foo1) )
+t3 := $(t2) $(t2) $(t2) $(t2) $(t2) $(t2) $(t2) $(t2) $(t2) $(t2)
+t4 := $(t3) $(t3) $(t3) $(t3) $(t3) $(t3) $(t3) $(t3) $(t3) $(t3)
+t5 := $(t4) $(t4) $(t4) $(t4) $(t4) $(t4) $(t4) $(t4) $(t4) $(t4)
+t6 := $(t5) $(t5) $(t5) $(t5) $(t5) $(t5) $(t5) $(t5) $(t5) $(t5)
+t7 := $(t6) $(t6) $(t6)
+p1 := $(addprefix $(foo1), $(s2) )
+blank:=
+all:
+ @echo $(sort $(bar2) $(foo) $(addsuffix $(s1), $(bar) ) $(t2) $(bar2) $(bar3))
+ @echo $(sort $(blank) $(foo) $(bar2) $(t1) $(p1) )
+ @echo $(sort $(foo) $(bar2) $(t1) $(t4) $(t5) $(t7) $(t6) )
+',
+ '', 'A boy captured_by days end, has jazz_and_a midnight moon_light rise
+A boy captured_by days end, has jazz_and_a midnight moon_light rise
+A boy captured_by days end, has jazz_and_a midnight moon_light rise
+');
+
+
+# Test with non-space/tab whitespace. Note that you can't see the
+# original bug except using valgrind.
+
+run_make_test("FOO = a b\tc\rd\fe \f \f \f \f \ff
+all: ; \@echo \$(words \$(sort \$(FOO)))\n",
+ '', "5\n");
1;
-
-
-
-
-
-
diff --git a/tests/scripts/functions/wildcard b/tests/scripts/functions/wildcard
index 2841f5d5..bcd84ad7 100644
--- a/tests/scripts/functions/wildcard
+++ b/tests/scripts/functions/wildcard
@@ -88,4 +88,16 @@ all: ; @echo $(wildcard xz--y*.7)
!,
'', "\n");
+# TEST #5: wildcard used to verify file existence
+
+touch('xxx.yyy');
+
+run_make_test(q!exists: ; @echo file=$(wildcard xxx.yyy)!,
+ '', "file=xxx.yyy\n");
+
+unlink('xxx.yyy');
+
+run_make_test(q!exists: ; @echo file=$(wildcard xxx.yyy)!,
+ '', "file=\n");
+
1;
diff --git a/tests/scripts/functions/word b/tests/scripts/functions/word
index 34527ea7..4dcc9406 100644
--- a/tests/scripts/functions/word
+++ b/tests/scripts/functions/word
@@ -56,32 +56,32 @@ wordlist-e1: ; @echo $(wordlist ,,$(FOO))
wordlist-e2: ; @echo $(wordlist abc ,,$(FOO))
wordlist-e3: ; @echo $(wordlist 1, 12a ,$(FOO))',
'word-e1',
- "#MAKEFILE#:3: *** non-numeric first argument to `word' function: ''. Stop.",
+ "#MAKEFILE#:3: *** non-numeric first argument to 'word' function: ''. Stop.",
512);
run_make_test(undef,
'word-e2',
- "#MAKEFILE#:4: *** non-numeric first argument to `word' function: 'abc '. Stop.",
+ "#MAKEFILE#:4: *** non-numeric first argument to 'word' function: 'abc '. Stop.",
512);
run_make_test(undef,
'word-e3',
- "#MAKEFILE#:5: *** non-numeric first argument to `word' function: '1a'. Stop.",
+ "#MAKEFILE#:5: *** non-numeric first argument to 'word' function: '1a'. Stop.",
512);
run_make_test(undef,
'wordlist-e1',
- "#MAKEFILE#:7: *** non-numeric first argument to `wordlist' function: ''. Stop.",
+ "#MAKEFILE#:7: *** non-numeric first argument to 'wordlist' function: ''. Stop.",
512);
run_make_test(undef,
'wordlist-e2',
- "#MAKEFILE#:8: *** non-numeric first argument to `wordlist' function: 'abc '. Stop.",
+ "#MAKEFILE#:8: *** non-numeric first argument to 'wordlist' function: 'abc '. Stop.",
512);
run_make_test(undef,
'wordlist-e3',
- "#MAKEFILE#:9: *** non-numeric second argument to `wordlist' function: ' 12a '. Stop.",
+ "#MAKEFILE#:9: *** non-numeric second argument to 'wordlist' function: ' 12a '. Stop.",
512);
# Test error conditions again, but this time in a variable reference
@@ -94,37 +94,37 @@ WL = $(wordlist $s,$e,$(FOO))
word-e: ; @echo $(W)
wordlist-e: ; @echo $(WL)',
'word-e x=',
- "#MAKEFILE#:3: *** non-numeric first argument to `word' function: ''. Stop.",
+ "#MAKEFILE#:3: *** non-numeric first argument to 'word' function: ''. Stop.",
512);
run_make_test(undef,
'word-e x=abc',
- "#MAKEFILE#:3: *** non-numeric first argument to `word' function: 'abc'. Stop.",
+ "#MAKEFILE#:3: *** non-numeric first argument to 'word' function: 'abc'. Stop.",
512);
run_make_test(undef,
'word-e x=0',
- "#MAKEFILE#:3: *** first argument to `word' function must be greater than 0. Stop.",
+ "#MAKEFILE#:3: *** first argument to 'word' function must be greater than 0. Stop.",
512);
run_make_test(undef,
'wordlist-e s= e=',
- "#MAKEFILE#:4: *** non-numeric first argument to `wordlist' function: ''. Stop.",
+ "#MAKEFILE#:4: *** non-numeric first argument to 'wordlist' function: ''. Stop.",
512);
run_make_test(undef,
'wordlist-e s=abc e=',
- "#MAKEFILE#:4: *** non-numeric first argument to `wordlist' function: 'abc'. Stop.",
+ "#MAKEFILE#:4: *** non-numeric first argument to 'wordlist' function: 'abc'. Stop.",
512);
run_make_test(undef,
'wordlist-e s=4 e=12a',
- "#MAKEFILE#:4: *** non-numeric second argument to `wordlist' function: '12a'. Stop.",
+ "#MAKEFILE#:4: *** non-numeric second argument to 'wordlist' function: '12a'. Stop.",
512);
run_make_test(undef,
'wordlist-e s=0 e=12',
- "#MAKEFILE#:4: *** invalid first argument to `wordlist' function: `0'. Stop.",
+ "#MAKEFILE#:4: *** invalid first argument to 'wordlist' function: '0'. Stop.",
512);
diff --git a/tests/scripts/misc/bs-nl b/tests/scripts/misc/bs-nl
index 979abb5b..4fc3f639 100644
--- a/tests/scripts/misc/bs-nl
+++ b/tests/scripts/misc/bs-nl
@@ -50,27 +50,80 @@ run_make_test("squote:;\@echo 'squ\\\n\t\t ote'\n",
# Backslash-newlines in variable values
# Simple
-run_make_test("
-var = he\\\nllo
-var:;\@echo '|\$(var)|'",
+run_make_test(q!
+var = he\
+llo
+var:;@echo '|$(var)|'!,
'', "|he llo|");
-# Preserve preceding space
-run_make_test("
-var = he \\\nllo
-var:;\@echo '|\$(var)|'",
- '', "|he llo|");
+# Condense trailing space
+run_make_test(q!
+var = he \
+llo
+var:;@echo '|$(var)|'!,
+ '', "|he llo|");
# Remove leading space
-run_make_test("
-var = he\\\n llo
-var:;\@echo '|\$(var)|'",
+run_make_test(q!
+var = he\
+ llo
+var:;@echo '|$(var)|'!,
+ '', "|he llo|");
+
+# Multiple bs/nl condensed
+run_make_test(q!
+var = he\
+\
+\
+ llo
+var:;@echo '|$(var)|'!,
'', "|he llo|");
-# One space per bs-nl
-run_make_test("
-var = he\\\n\\\n\\\n llo
-var:;\@echo '|\$(var)|'",
+# POSIX: Preserve trailing space
+run_make_test(q!
+.POSIX:
+x = y
+var = he \
+llo
+var:;@echo '|$(var)|'!,
'', "|he llo|");
+# POSIX: One space per bs-nl
+run_make_test(q!
+.POSIX:
+x = y
+var = he\
+\
+\
+ llo
+var:;@echo '|$(var)|'!,
+ '', "|he llo|");
+
+# Savannah #39035: handle whitespace in call
+run_make_test(q!
+f = echo $(1)
+t:; @$(call f,"a \
+ b"); \
+ $(call f,"a \
+ b")
+!,
+ '', "a b\na b\n");
+
+# Savannah #38945: handle backslash CRLF
+# We need our own makefile so we can set binmode
+my $m1 = get_tmpfile();
+open(MAKEFILE, "> $m1");
+binmode(MAKEFILE);
+print MAKEFILE "FOO = foo \\\r\n";
+close(MAKEFILE);
+
+my $m2 = get_tmpfile();
+open(MAKEFILE, "> $m2");
+print MAKEFILE "include $m1\ndefine BAR\nall: ; \@echo \$(FOO) bar\nendef\n\$(eval \$(BAR))\n";
+close(MAKEFILE);
+
+run_make_with_options($m2, '', get_logfile());
+compare_output("foo bar\n", get_logfile(1));
+
+
1;
diff --git a/tests/scripts/misc/fopen-fail b/tests/scripts/misc/fopen-fail
new file mode 100644
index 00000000..6580e519
--- /dev/null
+++ b/tests/scripts/misc/fopen-fail
@@ -0,0 +1,15 @@
+# -*-perl-*-
+
+$description = "Make sure make exits with an error if fopen fails.";
+
+# Recurse infinitely until we run out of open files, and ensure we
+# fail with a non-zero exit code. Don't bother to test the output
+# since it's hard to know what it will be, exactly.
+# See Savannah bug #27374.
+
+run_make_test(q!
+include $(lastword $(MAKEFILE_LIST))
+!,
+ '', undef, 512);
+
+1;
diff --git a/tests/scripts/misc/general3 b/tests/scripts/misc/general3
index b3142c24..8ad0f8e2 100644
--- a/tests/scripts/misc/general3
+++ b/tests/scripts/misc/general3
@@ -26,7 +26,7 @@ TAB = \t \# A TAB and some spaces
\$(STR)
\$(STR) \$(TAB)",
- '', "#MAKE#: Nothing to be done for `all'.");
+ '', "#MAKE#: Nothing to be done for 'all'.");
# TEST 2
diff --git a/tests/scripts/misc/utf8 b/tests/scripts/misc/utf8
new file mode 100644
index 00000000..2adcd071
--- /dev/null
+++ b/tests/scripts/misc/utf8
@@ -0,0 +1,14 @@
+# -*-perl-*-
+$description = "Test utf8 handling.";
+
+$details = "";
+
+# Variable names containing UTF8 characters
+run_make_test("
+\xe2\x96\xaa := hello
+\$(info \$(\xe2\x96\xaa))
+all:
+",
+ '', "hello\n#MAKE#: Nothing to be done for 'all'.");
+
+1;
diff --git a/tests/scripts/options/dash-B b/tests/scripts/options/dash-B
index e36842e3..9c708b77 100644
--- a/tests/scripts/options/dash-B
+++ b/tests/scripts/options/dash-B
@@ -22,13 +22,13 @@ foo: bar.x
',
'', 'cp bar.x foo');
-run_make_test(undef, '', "#MAKE#: Nothing to be done for `all'.");
+run_make_test(undef, '', "#MAKE#: Nothing to be done for 'all'.");
run_make_test(undef, '-B', 'cp bar.x foo');
# Put the timestamp for foo into the future; it should still be remade.
utouch(1000, 'foo');
-run_make_test(undef, '', "#MAKE#: Nothing to be done for `all'.");
+run_make_test(undef, '', "#MAKE#: Nothing to be done for 'all'.");
run_make_test(undef, '-B', 'cp bar.x foo');
# Clean up
diff --git a/tests/scripts/options/dash-C b/tests/scripts/options/dash-C
index 5864ffd2..42d0a8ba 100644
--- a/tests/scripts/options/dash-C
+++ b/tests/scripts/options/dash-C
@@ -34,9 +34,9 @@ if (-f $example) {
}
# Create the answer to what should be produced by this Makefile
-$answer = "$make_name: Entering directory `$wpath'\n"
+$answer = "$make_name: Entering directory '$wpath'\n"
. "$delete_command EXAMPLE\n"
- . "$make_name: Leaving directory `$wpath'\n";
+ . "$make_name: Leaving directory '$wpath'\n";
&compare_output($answer,&get_logfile(1));
@@ -62,9 +62,9 @@ if (-f $example) {
}
# Create the answer to what should be produced by this Makefile
-$answer = "$make_name: Entering directory `$wpath'\n"
+$answer = "$make_name: Entering directory '$wpath'\n"
. "$delete_command EXAMPLEslash\n"
- . "$make_name: Leaving directory `$wpath'\n";
+ . "$make_name: Leaving directory '$wpath'\n";
&compare_output($answer,&get_logfile(1));
diff --git a/tests/scripts/options/dash-I b/tests/scripts/options/dash-I
index 8dc5d9ba..d47a8d8a 100644
--- a/tests/scripts/options/dash-I
+++ b/tests/scripts/options/dash-I
@@ -51,9 +51,9 @@ $answer = "This is another included makefile\n";
$answer = "$mkpath ANOTHER -f $makefile
-${make_name}[1]: Entering directory `$pwd'
+${make_name}[1]: Entering directory '$pwd'
This is another included makefile
-${make_name}[1]: Leaving directory `$pwd'\n";
+${make_name}[1]: Leaving directory '$pwd'\n";
&run_make_with_options($makefile,"-I $workdir recurse",&get_logfile);
&compare_output($answer,&get_logfile(1));
diff --git a/tests/scripts/options/dash-W b/tests/scripts/options/dash-W
index d3fde87c..20b9f745 100644
--- a/tests/scripts/options/dash-W
+++ b/tests/scripts/options/dash-W
@@ -12,7 +12,7 @@ a.x b.x: ; echo >> $@
# Run it again: nothing should happen
-run_make_test(undef, '', "#MAKE#: `a.x' is up to date.");
+run_make_test(undef, '', "#MAKE#: 'a.x' is up to date.");
# Now run it with -W b.x: should rebuild a.x
@@ -21,7 +21,7 @@ run_make_test(undef, '-W b.x', 'echo >> a.x');
# Put the timestamp for a.x into the future; it should still be remade.
utouch(1000, 'a.x');
-run_make_test(undef, '', "#MAKE#: `a.x' is up to date.");
+run_make_test(undef, '', "#MAKE#: 'a.x' is up to date.");
run_make_test(undef, '-W b.x', 'echo >> a.x');
# Clean up
diff --git a/tests/scripts/options/dash-k b/tests/scripts/options/dash-k
index d87a7861..e784e0db 100644
--- a/tests/scripts/options/dash-k
+++ b/tests/scripts/options/dash-k
@@ -57,10 +57,10 @@ else {
# Create the answer to what should be produced by this Makefile
$answer = "cc -c main.c
-$make_name: *** No rule to make target `kbd.c', needed by `kbd.o'.
+$make_name: *** No rule to make target 'kbd.c', needed by 'kbd.o'.
cc -c commands.c
cc -c display.c
-$make_name: Target `edit' not remade because of errors.\n";
+$make_name: Target 'edit' not remade because of errors.\n";
# COMPARE RESULTS
@@ -92,8 +92,9 @@ close(MAKEFILE);
&run_make_with_options($makefile2, "-k", &get_logfile, $error_code);
$answer = "exit 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";
+$make_name: Target 'all' not remade because of errors.\n";
&compare_output($answer, &get_logfile(1));
@@ -106,8 +107,8 @@ ifile: no-such-file; @false
',
'-k',
"#MAKEFILE#:2: ifile: No such file or directory
-#MAKE#: *** No rule to make target `no-such-file', needed by `ifile'.
-#MAKE#: Failed to remake makefile `ifile'.
+#MAKE#: *** No rule to make target 'no-such-file', needed by 'ifile'.
+#MAKE#: Failed to remake makefile 'ifile'.
hi\n",
512);
diff --git a/tests/scripts/options/dash-n b/tests/scripts/options/dash-n
index de19f42c..dfed419d 100644
--- a/tests/scripts/options/dash-n
+++ b/tests/scripts/options/dash-n
@@ -3,37 +3,24 @@ $description = "Test the -n option.\n";
$details = "Try various uses of -n and ensure they all give the correct results.\n";
-open(MAKEFILE, "> $makefile");
-
-# The Contents of the MAKEFILE ...
-
-print MAKEFILE <<'EOMAKE';
+touch('orig');
+run_make_test(q!
final: intermediate ; echo >> $@
intermediate: orig ; echo >> $@
-
-EOMAKE
-
-close(MAKEFILE);
-
-&touch('orig');
-
-# TEST 0
-
-&run_make_with_options($makefile, "", &get_logfile);
-$answer = "echo >> intermediate\necho >> final\n";
-&compare_output($answer, &get_logfile(1));
+!,
+ '', "echo >> intermediate\necho >> final\n");
# TEST 1
-&run_make_with_options($makefile, "-Worig -n", &get_logfile);
-$answer = "echo >> intermediate\necho >> final\n";
-&compare_output($answer, &get_logfile(1));
+run_make_test(undef, '-Worig -n', "echo >> intermediate\necho >> final\n");
-unlink('orig', 'intermediate', 'final');
+rmfiles(qw(orig intermediate final));
# We consider the actual updated timestamp of targets with all
-# recursive commands, even with -n.
+# recursive commands, even with -n. Switching this to the new model
+# is non-trivial because we use a trick below to change the log content
+# before we compare it ...
$makefile2 = &get_tmpfile;
@@ -56,15 +43,58 @@ close(MAKEFILE);
# TEST 2
&run_make_with_options($makefile2, "", &get_logfile);
-$answer = "$make_name: `a' is up to date.\n";
+$answer = "$make_name: 'a' is up to date.\n";
&compare_output($answer, &get_logfile(1));
# TEST 3
&run_make_with_options($makefile2, "-n", &get_logfile);
-$answer = "$make_name: `a' is up to date.\n";
+$answer = "$make_name: 'a' is up to date.\n";
+&compare_output($answer, &get_logfile(1));
+
+# TEST 4
+
+unlink(qw(a b));
+
+&run_make_with_options($makefile2, "-t -n", &get_logfile);
+
+open(DASH_N_LOG, ">>" . &get_logfile(1));
+print DASH_N_LOG "a exists but should not!\n" if -e 'a';
+print DASH_N_LOG "b exists but should not!\n" if -e 'b';
+close(DASH_N_LOG);
+
+&compare_output("touch b\ntouch a\n", &get_logfile(1));
+
+# CLEANUP
+
+unlink(qw(a b c));
+
+# Ensure -n continues to be included with recursive/re-execed make
+# See Savannah bug #38051
+
+$topmake = &get_tmpfile;
+$submake = &get_tmpfile;
+
+open(MAKEFILE, "> $topmake");
+print MAKEFILE <<"EOF";
+foo: ; \@\$(MAKE) -f "$submake" bar
+EOF
+close(MAKEFILE);
+
+
+# The bar target should print what would happen, but not actually run
+open(MAKEFILE, "> $submake");
+print MAKEFILE <<'EOF';
+inc: ; touch $@
+-include inc
+bar: ; @echo $(strip $(MAKEFLAGS))
+EOF
+close(MAKEFILE);
+
+&run_make_with_options($topmake, '-n --no-print-directory', &get_logfile);
+$answer = "$make_path -f \"$submake\" bar\ntouch inc\necho n --no-print-directory\n";
&compare_output($answer, &get_logfile(1));
-unlink('a', 'b', 'c');
+unlink('inc');
1;
diff --git a/tests/scripts/options/dash-q b/tests/scripts/options/dash-q
index 56f04a1f..194588d9 100644
--- a/tests/scripts/options/dash-q
+++ b/tests/scripts/options/dash-q
@@ -5,21 +5,21 @@ $details = "Try various uses of -q and ensure they all give the correct results.
# TEST 0
-run_make_test('
+run_make_test(qq!
one:
two: ;
three: ; :
-four: ; $(.XY)
-five: ; \
- $(.XY)
-six: ; \
- $(.XY)
- $(.XY)
-seven: ; \
- $(.XY)
- : foo
- $(.XY)
-',
+four: ; \$(.XY)
+five: ; \\
+ \$(.XY)
+six: ; \\
+ \$(.XY)
+\t\$(.XY)
+seven: ; \\
+ \$(.XY)
+\t: foo
+\t\$(.XY)
+!,
'-q one', '');
# TEST 1
@@ -54,4 +54,24 @@ one:: ; @echo two
',
'-q', '', 256);
+# TEST 7 : Savannah bug # 42249
+# Make sure we exit with 1 even for prerequisite updates
+run_make_test('
+build-stamp: ; echo $@
+build-arch: build-stamp
+build-x: build-arch
+build-y: build-x
+',
+ '-q build-y', '', 256);
+
+# TEST 8
+# Make sure we exit with 2 on error even with -q
+run_make_test('
+build-stamp: ; echo $@
+build-arch: build-stamp-2
+build-x: build-arch
+build-y: build-x
+',
+ '-q build-y', "#MAKE#: *** No rule to make target 'build-stamp-2', needed by 'build-arch'. Stop.\n", 512);
+
1;
diff --git a/tests/scripts/options/eval b/tests/scripts/options/eval
index 06a035c3..0f824090 100644
--- a/tests/scripts/options/eval
+++ b/tests/scripts/options/eval
@@ -16,4 +16,14 @@ recurse: ; @$(MAKE) -f #MAKEFILE# && echo recurse!,
run_make_test(undef, '--no-print-directory --eval=\$\(info\ eval\) recurse',
"eval\neval\nall\nrecurse");
+# Make sure that --eval is handled correctly during restarting
+run_make_test(q!
+all: ; @echo $@
+-include gen.mk
+gen.mk: ; @echo > $@
+!,
+ '--eval=\$\(info\ eval\)', "eval\neval\nall");
+
+unlink('gen.mk');
+
1;
diff --git a/tests/scripts/options/print-directory b/tests/scripts/options/print-directory
new file mode 100644
index 00000000..a05bbee7
--- /dev/null
+++ b/tests/scripts/options/print-directory
@@ -0,0 +1,33 @@
+# -*-perl-*-
+
+$description = "Test the -w option to GNU make.";
+
+# Simple test without -w
+run_make_test(q!
+all: ; @echo hi
+!,
+ "", "hi\n");
+
+# Simple test with -w
+run_make_test(undef, "-w",
+ "#MAKE#: Entering directory '#PWD#'\nhi\n#MAKE#: Leaving directory '#PWD#'\n");
+
+# Test makefile rebuild to ensure no enter/leave
+run_make_test(q!
+include foo
+all: ;@:
+foo: ; touch foo
+!,
+ "", "#MAKEFILE#:2: foo: No such file or directory\ntouch foo\n");
+unlink('foo');
+
+# Test makefile rebuild with -w
+run_make_test(q!
+include foo
+all: ;@:
+foo: ; touch foo
+!,
+ "-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 --git a/tests/scripts/options/symlinks b/tests/scripts/options/symlinks
index 40d25648..a1bfce03 100644
--- a/tests/scripts/options/symlinks
+++ b/tests/scripts/options/symlinks
@@ -26,7 +26,7 @@ if ($port_type eq 'W32' || !( eval { symlink("",""); 1 })) {
# Without -L, nothing should happen
# With -L, it should update targ
run_make_test('targ: sym ; @echo make $@ from $<', '',
- "#MAKE#: `targ' is up to date.");
+ "#MAKE#: 'targ' is up to date.");
run_make_test(undef, '-L', "make targ from sym");
# Now update dep; in all cases targ should be out of date.
@@ -36,8 +36,8 @@ if ($port_type eq 'W32' || !( eval { symlink("",""); 1 })) {
# Now update targ; in all cases targ should be up to date.
&touch('targ');
- run_make_test(undef, '', "#MAKE#: `targ' is up to date.");
- run_make_test(undef, '-L', "#MAKE#: `targ' is up to date.");
+ run_make_test(undef, '', "#MAKE#: 'targ' is up to date.");
+ run_make_test(undef, '-L', "#MAKE#: 'targ' is up to date.");
# Add in a new link between sym and dep. Be sure it's newer than targ.
sleep(1);
@@ -46,7 +46,7 @@ if ($port_type eq 'W32' || !( eval { symlink("",""); 1 })) {
# Without -L, nothing should happen
# With -L, it should update targ
- run_make_test(undef, '', "#MAKE#: `targ' is up to date.");
+ run_make_test(undef, '', "#MAKE#: 'targ' is up to date.");
run_make_test(undef, '-L', "make targ from sym");
rmfiles('targ', 'dep', 'sym', 'dep1');
@@ -56,7 +56,7 @@ if ($port_type eq 'W32' || !( eval { symlink("",""); 1 })) {
symlink("../$dirname/dep", 'sym');
run_make_test('targ: sym ; @echo make $@ from $<', '',
- "#MAKE#: *** No rule to make target `sym', needed by `targ'. Stop.", 512);
+ "#MAKE#: *** No rule to make target 'sym', needed by 'targ'. Stop.", 512);
run_make_test('targ: sym ; @echo make $@ from $<', '-L',
'make targ from sym');
diff --git a/tests/scripts/options/warn-undefined-variables b/tests/scripts/options/warn-undefined-variables
index 34bfaea4..ce15507d 100644
--- a/tests/scripts/options/warn-undefined-variables
+++ b/tests/scripts/options/warn-undefined-variables
@@ -18,8 +18,8 @@ all: ; @echo ref $(EREF) $(UREF)',
# With --warn-undefined-variables, it should warn me
run_make_test(undef, '--warn-undefined-variables',
- "#MAKEFILE#:7: warning: undefined variable `UNDEFINED'
-#MAKEFILE#:9: warning: undefined variable `UNDEFINED'
+ "#MAKEFILE#:7: warning: undefined variable 'UNDEFINED'
+#MAKEFILE#:9: warning: undefined variable 'UNDEFINED'
ref");
1;
diff --git a/tests/scripts/targets/DEFAULT b/tests/scripts/targets/DEFAULT
index 0cabde94..f3d51484 100644
--- a/tests/scripts/targets/DEFAULT
+++ b/tests/scripts/targets/DEFAULT
@@ -35,9 +35,9 @@ close(MAKEFILE);
&run_make_with_options($makefile,'bar',&get_logfile);
# Create the answer to what should be produced by this Makefile
-$answer = "${make_name}[1]: Entering directory `$pwd'\n"
+$answer = "${make_name}[1]: Entering directory '$pwd'\n"
. "Executing rule BAR\n"
- . "${make_name}[1]: Leaving directory `$pwd'\n";
+ . "${make_name}[1]: Leaving directory '$pwd'\n";
# COMPARE RESULTS
diff --git a/tests/scripts/targets/INTERMEDIATE b/tests/scripts/targets/INTERMEDIATE
index 4fdd7a2a..2b3021b2 100644
--- a/tests/scripts/targets/INTERMEDIATE
+++ b/tests/scripts/targets/INTERMEDIATE
@@ -42,7 +42,7 @@ $answer = "cp foo.f foo.e\ncp foo.e foo.d\nrm foo.e\n";
# TEST #1
&run_make_with_options($makefile,'foo.d',&get_logfile);
-$answer = "$make_name: `foo.d' is up to date.\n";
+$answer = "$make_name: 'foo.d' is up to date.\n";
&compare_output($answer, &get_logfile(1));
# TEST #2
@@ -63,7 +63,7 @@ $answer = "cp foo.f foo.e\ncp bar.f bar.e\ncat foo.e bar.e > foo.c\nrm bar.e foo
# TEST #4
&run_make_with_options($makefile,'foo.c',&get_logfile);
-$answer = "$make_name: `foo.c' is up to date.\n";
+$answer = "$make_name: 'foo.c' is up to date.\n";
&compare_output($answer, &get_logfile(1));
# TEST #5
diff --git a/tests/scripts/targets/ONESHELL b/tests/scripts/targets/ONESHELL
index 997423f4..87713da4 100644
--- a/tests/scripts/targets/ONESHELL
+++ b/tests/scripts/targets/ONESHELL
@@ -4,6 +4,10 @@ $description = "Test the behaviour of the .ONESHELL target.";
$details = "";
+# Some shells (*shakes fist at Solaris*) cannot handle multiple flags in
+# separate arguments.
+my $t = `/bin/sh -e -c true 2>/dev/null`;
+my $multi_ok = $? == 0;
# Simple
@@ -17,6 +21,21 @@ all:
[ 0"$a" -eq "$$" ] || echo fail
');
+# Simple but use multi-word SHELLFLAGS
+
+if ($multi_ok) {
+ run_make_test(q!
+.ONESHELL:
+.SHELLFLAGS = -e -c
+all:
+ a=$$$$
+ [ 0"$$a" -eq "$$$$" ] || echo fail
+!,
+ '', 'a=$$
+[ 0"$a" -eq "$$" ] || echo fail
+');
+}
+
# Again, but this time with inner prefix chars
run_make_test(q!
diff --git a/tests/scripts/targets/POSIX b/tests/scripts/targets/POSIX
index 9c30e181..a24e3bcf 100644
--- a/tests/scripts/targets/POSIX
+++ b/tests/scripts/targets/POSIX
@@ -1,6 +1,6 @@
# -*-perl-*-
-$description = "Test the behaviour of the .PHONY target.";
+$description = "Test the behaviour of the .POSIX target.";
$details = "";
@@ -17,7 +17,8 @@ run_make_test(qq!
.POSIX:
all: ; \@$script
!,
- '', "#MAKE#: *** [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';
@@ -29,5 +30,28 @@ all: ; \@$script
!,
'', $out);
+# Test the default value of various POSIX-specific variables
+my %POSIX = (AR => 'ar', ARFLAGS => '-rv',
+ YACC => 'yacc', YFLAGS => '',
+ LEX => 'lex', LFLAGS => '',
+ LDFLAGS => '',
+ CC => 'c99', CFLAGS => '-O',
+ FC => 'fort77', FFLAGS => '-O 1',
+ GET => 'get', GFLAGS => '',
+ SCCSFLAGS => '', SCCSGETFLAGS => '-s');
+my $make = join('', map { "\t\@echo '$_=\$($_)'\n" } sort keys %POSIX);
+my $r = join('', map { "$_=$POSIX{$_}\n"} sort keys %POSIX);
+run_make_test(qq!
+.POSIX:
+all:
+$make
+!,
+ '', $r);
+
+# Make sure that local settings take precedence
+%extraENV = map { $_ => "xx-$_" } keys %POSIX;
+$r = join('', map { "$_=xx-$_\n"} sort keys %POSIX);
+run_make_test(undef, '', $r);
+
# This tells the test driver that the perl test script executed properly.
1;
diff --git a/tests/scripts/targets/SECONDARY b/tests/scripts/targets/SECONDARY
index c954ee9a..447c275e 100644
--- a/tests/scripts/targets/SECONDARY
+++ b/tests/scripts/targets/SECONDARY
@@ -44,7 +44,7 @@ $answer = "cp foo.f foo.e\ncp foo.e foo.d\n";
unlink('foo.e');
&run_make_with_options($makefile,'foo.d',&get_logfile);
-$answer = "$make_name: `foo.d' is up to date.\n";
+$answer = "$make_name: 'foo.d' is up to date.\n";
&compare_output($answer, &get_logfile(1));
# TEST #3
@@ -67,7 +67,7 @@ $answer = "cp foo.e foo.c\n";
unlink('foo.e');
&run_make_with_options($makefile,'foo.c',&get_logfile);
-$answer = "$make_name: `foo.c' is up to date.\n";
+$answer = "$make_name: 'foo.c' is up to date.\n";
&compare_output($answer, &get_logfile(1));
# TEST #6
@@ -103,7 +103,7 @@ close(MAKEFILE);
touch('final');
&run_make_with_options($makefile2, '', &get_logfile);
-$answer = "$make_name: `final' is up to date.\n";
+$answer = "$make_name: 'final' is up to date.\n";
&compare_output($answer, &get_logfile(1));
unlink('source', 'final', 'intermediate');
@@ -129,10 +129,11 @@ touch(qw(1.a 2.a));
run_make_test('
%.c : %.b ; cp $< $@
%.b : %.a ; cp $< $@
-all : 1.c 2.c', '-rR -j',
+all : 1.c 2.c
+2.a: 1.c', '-rR -j',
'cp 1.a 1.b
-cp 2.a 2.b
cp 1.b 1.c
+cp 2.a 2.b
cp 2.b 2.c
rm 1.b 2.b');
diff --git a/tests/scripts/variables/DEFAULT_GOAL b/tests/scripts/variables/DEFAULT_GOAL
index 1c065067..8188ce71 100644
--- a/tests/scripts/variables/DEFAULT_GOAL
+++ b/tests/scripts/variables/DEFAULT_GOAL
@@ -42,7 +42,7 @@ run_make_test('
.DEFAULT_GOAL = foo
',
'',
-'#MAKE#: *** No rule to make target `foo\'. Stop.',
+"#MAKE#: *** No rule to make target 'foo'. Stop.",
512);
diff --git a/tests/scripts/variables/GNUMAKEFLAGS b/tests/scripts/variables/GNUMAKEFLAGS
new file mode 100644
index 00000000..6e507949
--- /dev/null
+++ b/tests/scripts/variables/GNUMAKEFLAGS
@@ -0,0 +1,42 @@
+# -*-perl-*-
+
+$description = "Test proper behavior of GNUMAKEFLAGS";
+
+# Accept flags from GNUMAKEFLAGS as well as MAKEFLAGS
+# Results always go in MAKEFLAGS
+
+$extraENV{'GNUMAKEFLAGS'} = '-e -r -R';
+
+run_make_test(q!
+all: ; @echo $(MAKEFLAGS)
+!,
+ '', 'erR');
+
+# Long arguments mean everything is prefixed with "-"
+
+$extraENV{'GNUMAKEFLAGS'} = '--no-print-directory -e -r -R --trace';
+
+run_make_test(q!
+all: ; @echo $(MAKEFLAGS)
+!,
+ '', "#MAKEFILE#:2: target 'all' does not exist
+echo erR --trace --no-print-directory
+erR --trace --no-print-directory");
+
+# Verify that re-exec / recursion doesn't duplicate flags from GNUMAKEFLAGS
+
+unlink('x.mk');
+
+$extraENV{GNUMAKEFLAGS} = '-Itst/bad';
+
+run_make_test(q!
+recurse: ; @echo $@; echo MAKEFLAGS = $$MAKEFLAGS; echo GNUMAKEFLAGS = $$GNUMAKEFLAGS; #MAKEPATH# -f #MAKEFILE# all
+all: ; @echo $@; echo MAKEFLAGS = $$MAKEFLAGS; echo GNUMAKEFLAGS = $$GNUMAKEFLAGS
+-include x.mk
+x.mk: ; @echo $@; echo MAKEFLAGS = $$MAKEFLAGS; echo GNUMAKEFLAGS = $$GNUMAKEFLAGS; echo > $@
+!,
+ "", "x.mk\nMAKEFLAGS = -Itst/bad\nGNUMAKEFLAGS =\nrecurse\nMAKEFLAGS = -Itst/bad\nGNUMAKEFLAGS =\n#MAKE#[1]: Entering directory '#PWD#'\nall\nMAKEFLAGS = w -Itst/bad\nGNUMAKEFLAGS =\n#MAKE#[1]: Leaving directory '#PWD#'\n");
+
+unlink('x.mk');
+
+1;
diff --git a/tests/scripts/variables/LIBPATTERNS b/tests/scripts/variables/LIBPATTERNS
index 826f2fa0..91829544 100644
--- a/tests/scripts/variables/LIBPATTERNS
+++ b/tests/scripts/variables/LIBPATTERNS
@@ -20,7 +20,7 @@ run_make_test('
.LIBPATTERNS = mtest_foo.a mtest_%.a
all: -lfoo ; @echo "build $@ from $<"
',
- '', "#MAKE#: .LIBPATTERNS element `mtest_foo.a' is not a pattern
+ '', "#MAKE#: .LIBPATTERNS element 'mtest_foo.a' is not a pattern
build all from mtest_foo.a\n");
# TEST 2: target-specific override
diff --git a/tests/scripts/variables/MAKE b/tests/scripts/variables/MAKE
index d1081dac..dc621606 100644
--- a/tests/scripts/variables/MAKE
+++ b/tests/scripts/variables/MAKE
@@ -16,8 +16,8 @@ foo:
!,
'',
"#MAKEPATH#\n#MAKEPATH# -f #MAKEFILE# foo\n"
- . "#MAKE#[1]: Entering directory `#PWD#'\n"
- . "#MAKEPATH#\n#MAKE#[1]: Leaving directory `#PWD#'\n");
+ . "#MAKE#[1]: Entering directory '#PWD#'\n"
+ . "#MAKEPATH#\n#MAKE#[1]: Leaving directory '#PWD#'\n");
rmfiles("foo");
diff --git a/tests/scripts/variables/MAKEFLAGS b/tests/scripts/variables/MAKEFLAGS
index 0b567e8f..8a5d0f6a 100644
--- a/tests/scripts/variables/MAKEFLAGS
+++ b/tests/scripts/variables/MAKEFLAGS
@@ -1,4 +1,4 @@
-# -*-perl-*-
+# -*-perl-*-
$description = "Test proper behavior of MAKEFLAGS";
@@ -8,36 +8,34 @@ $details = "DETAILS";
run_make_test(q!
all: ; @echo $(MAKEFLAGS)
!,
- '-e -r -R', 'Rre');
+ '-e -r -R', 'erR');
# Long arguments mean everything is prefixed with "-"
run_make_test(q!
all: ; @echo $(MAKEFLAGS)
!,
- '--no-print-directory -e -r -R', '--no-print-directory -Rre');
+ '--no-print-directory -e -r -R --trace', "#MAKEFILE#:2: target 'all' does not exist
+echo erR --trace --no-print-directory
+erR --trace --no-print-directory");
-if ($all_tests) {
- # Recursive invocations of make should accumulate MAKEFLAGS values.
- # Savannah bug #2216
- run_make_test(q!
+# Recursive invocations of make should accumulate MAKEFLAGS values.
+# Savannah bug #2216
+run_make_test(q!
MSG = Fails
all:
@echo '$@: MAKEFLAGS=$(MAKEFLAGS)'
@MSG=Works $(MAKE) -e -f #MAKEFILE# jump
jump:
- @echo '$@: MAKEFLAGS=$(MAKEFLAGS)'
+ @echo '$@ $(MSG): MAKEFLAGS=$(MAKEFLAGS)'
@$(MAKE) -f #MAKEFILE# print
print:
- @echo '$@: MAKEFLAGS=$(MAKEFLAGS)'
- @echo $(MSG)
+ @echo '$@ $(MSG): MAKEFLAGS=$(MAKEFLAGS)'
.PHONY: all jump print
!,
'--no-print-directory',
'all: MAKEFLAGS= --no-print-directory
-jump: MAKEFLAGS= --no-print-directory -e
-print: MAKEFLAGS= --no-print-directory -e
-Works');
-}
+jump Works: MAKEFLAGS=e --no-print-directory
+print Works: MAKEFLAGS=e --no-print-directory');
1;
diff --git a/tests/scripts/variables/MAKE_RESTARTS b/tests/scripts/variables/MAKE_RESTARTS
index 53ab7386..ef8e368f 100644
--- a/tests/scripts/variables/MAKE_RESTARTS
+++ b/tests/scripts/variables/MAKE_RESTARTS
@@ -52,10 +52,10 @@ MAKE_RESTARTS=1
foo.x:1: bar.x: No such file or directory
MAKE_RESTARTS=2
recurse MAKE_RESTARTS=
+#MAKE#[1]: Entering directory '#PWD#'
MAKE_RESTARTS=
-#MAKE#[1]: Entering directory `#PWD#'
all MAKE_RESTARTS=
-#MAKE#[1]: Leaving directory `#PWD#'");
+#MAKE#[1]: Leaving directory '#PWD#'");
rmfiles('foo.x', 'bar.x');
diff --git a/tests/scripts/variables/SHELL b/tests/scripts/variables/SHELL
index 7b7e7fef..1d01ba3f 100644
--- a/tests/scripts/variables/SHELL
+++ b/tests/scripts/variables/SHELL
@@ -70,6 +70,22 @@ all: ; \@$script
!,
'', $out);
+# Do it again but add spaces to SHELLFLAGS
+
+# Some shells (*shakes fist at Solaris*) cannot handle multiple flags in
+# separate arguments.
+my $t = `/bin/sh -e -c true 2>/dev/null`;
+my $multi_ok = $? == 0;
+
+if ($multi_ok) {
+ $flags = '-x -c';
+ run_make_test(qq!
+.SHELLFLAGS = $flags
+all: ; \@$script
+!,
+ '', $out);
+}
+
# We can't just use "false" because on different systems it provides a
# different exit code--once again Solaris: false exits with 255 not 1
$script = 'true; false; true';
@@ -81,6 +97,7 @@ run_make_test(qq!
.SHELLFLAGS = $flags
all: ; \@$script
!,
- '', "$out#MAKE#: *** [all] Error $err\n", 512);
+ '', "$out#MAKEFILE#:3: recipe for target 'all' failed
+#MAKE#: *** [all] Error $err\n", 512);
1;
diff --git a/tests/scripts/variables/define b/tests/scripts/variables/define
index f91519e3..7324cbc7 100644
--- a/tests/scripts/variables/define
+++ b/tests/scripts/variables/define
@@ -30,6 +30,10 @@ define simple :=
@echo $(FOO)
endef
+define posix ::=
+@echo $(FOO)
+endef
+
append = @echo a
define append +=
@@ -49,10 +53,54 @@ FOO = there
all: ; $(multi)
$(simple)
+ $(posix)
+ $(append)
+ $(cond)
+',
+ '', "echo hi\nhi\nthere\nfoo\nfoo\na\nb\nfirst\n");
+
+# TEST 1a: Various new-style define/endef, with no spaces
+
+run_make_test('
+FOO = foo
+
+define multi=
+echo hi
+@echo $(FOO)
+endef # this is the end
+
+define simple:=
+@echo $(FOO)
+endef
+
+define posix::=
+@echo $(FOO)
+endef
+
+append = @echo a
+
+define append+=
+
+@echo b
+endef
+
+define cond?= # this is a conditional
+@echo first
+endef
+
+define cond?=
+@echo second
+endef
+
+FOO = there
+
+all: ; $(multi)
+ $(simple)
+ $(posix)
$(append)
$(cond)
',
- '', "echo hi\nhi\nthere\nfoo\na\nb\nfirst\n");
+ '', "echo hi\nhi\nthere\nfoo\nfoo\na\nb\nfirst\n");
# TEST 2: define in true section of conditional (containing conditional)
@@ -112,7 +160,7 @@ ouch
endef
all: ; @echo ok
',
- '', "#MAKEFILE#:3: extraneous text after `define' directive\nok\n");
+ '', "#MAKEFILE#:3: extraneous text after 'define' directive\nok\n");
# TEST 7: NEGATIVE: extra text after endef
@@ -123,7 +171,7 @@ ouch
endef $(NAME)
all: ; @echo ok
',
- '', "#MAKEFILE#:5: extraneous text after `endef' directive\nok\n");
+ '', "#MAKEFILE#:5: extraneous text after 'endef' directive\nok\n");
# TEST 8: NEGATIVE: missing endef
@@ -134,7 +182,7 @@ define NAME =
ouch
endef$(NAME)
',
- '', "#MAKEFILE#:4: *** missing `endef', unterminated `define'. Stop.\n", 512);
+ '', "#MAKEFILE#:4: *** missing 'endef', unterminated 'define'. Stop.\n", 512);
# -------------------------
# Make sure that prefix characters apply properly to define/endef values.
diff --git a/tests/scripts/variables/flavors b/tests/scripts/variables/flavors
index 92feed6e..ba133ea8 100644
--- a/tests/scripts/variables/flavors
+++ b/tests/scripts/variables/flavors
@@ -73,4 +73,24 @@ all: ; @echo $(foo)
',
'', "Hello\n");
+# TEST 6: Simple using POSIX syntax
+run_make_test('
+bar = Goodbye
+foo ::= $(bar)
+bar = ${ugh}
+ugh = Hello
+all: ; @echo $(foo)
+',
+ '', "Goodbye\n");
+
+# TEST 7: POSIX syntax no spaces
+run_make_test('
+bar = Goodbye
+foo::=$(bar)
+bar = ${ugh}
+ugh = Hello
+all: ; @echo $(foo)
+',
+ '', "Goodbye\n");
+
1;
diff --git a/tests/scripts/variables/private b/tests/scripts/variables/private
index b4baf5f2..8967ffb5 100644
--- a/tests/scripts/variables/private
+++ b/tests/scripts/variables/private
@@ -75,4 +75,48 @@ a b: ; @echo $@=$(private)
',
'', "b=a\na=a\n");
+# 9: make sure private suppresses inheritance
+run_make_test(q!
+DEFS = FOO
+all: bar1
+bar1: private DEFS += 1
+bar3: private DEFS += 3
+bar1: bar2
+bar2: bar3
+bar1 bar2 bar3: ; @echo '$@: $(DEFS)'
+!,
+ '', "bar3: FOO 3\nbar2: FOO\nbar1: FOO 1\n");
+
+# 10: Test append with pattern-specific variables and private
+
+run_make_test(q!
+IA = global
+PA = global
+PS = global
+S = global
+PS = global
+SV = global
+b%: IA += b%
+b%: private PA += b%
+b%: private PS = b%
+bar: all
+bar: IA += bar
+bar: private PA += bar
+bar: private PS = bar
+a%: IA += a%
+a%: private PA += a%
+a%: private PS = a%
+all: IA += all
+all: private PA += all
+all: private PS = all
+
+bar all: ; @echo '$@: IA=$(IA)'; echo '$@: PA=$(PA)'; echo '$@: PS=$(PS)'
+!,
+ '', "all: IA=global b% bar a% all
+all: PA=global a% all
+all: PS=all
+bar: IA=global b% bar
+bar: PA=global b% bar
+bar: PS=bar\n");
+
1;
diff --git a/tests/scripts/variables/special b/tests/scripts/variables/special
index a1e15c22..a5ab93aa 100644
--- a/tests/scripts/variables/special
+++ b/tests/scripts/variables/special
@@ -53,7 +53,7 @@ all:
# Test the .RECIPEPREFIX variable
&run_make_test('
define foo
-: foo-one \
+: foo-one\
foo-two
: foo-three
: foo-four
@@ -114,4 +114,28 @@ reset-four \
: foo-three
: foo-four');
+# Test that the "did you mean TAB" message is printed properly
+
+run_make_test(q!
+$x.
+!,
+ '', '#MAKEFILE#:2: *** missing separator. Stop.', 512);
+
+run_make_test(q!
+foo:
+ bar
+!,
+ '', '#MAKEFILE#:3: *** missing separator (did you mean TAB instead of 8 spaces?). Stop.', 512);
+
+run_make_test(q!
+.RECIPEPREFIX = :
+foo:
+ bar
+!,
+ '', '#MAKEFILE#:4: *** missing separator. Stop.', 512);
+
1;
+
+### Local Variables:
+### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action))
+### End:
diff --git a/tests/test_driver.pl b/tests/test_driver.pl
index dec869d8..91141eb4 100644
--- a/tests/test_driver.pl
+++ b/tests/test_driver.pl
@@ -5,9 +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, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-# 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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,7 +28,7 @@
# this routine controls the whole mess; each test suite sets up a few
# variables and then calls &toplevel, which does all the real work.
-# $Id: test_driver.pl,v 1.30 2010/07/28 05:39:50 psmith Exp $
+# $Id$
# The number of test categories we've run
@@ -50,9 +48,9 @@ $tests_passed = 0;
# Yeesh. This whole test environment is such a hack!
$test_passed = 1;
-
# Timeout in seconds. If the test takes longer than this we'll fail it.
$test_timeout = 5;
+$test_timeout = 10 if $^O eq 'VMS';
# Path to Perl
$perl_name = $^X;
@@ -64,19 +62,67 @@ $perl_name = $^X;
# These are RESET AFTER EVERY TEST!
%extraENV = ();
+sub vms_get_process_logicals {
+ # Sorry for the long note here, but to keep this test running on
+ # VMS, it is needed to be understood.
+ #
+ # Perl on VMS by default maps the %ENV array to the system wide logical
+ # name table.
+ #
+ # This is a very large dynamically changing table.
+ # On Linux, this would be the equivalent of a table that contained
+ # every mount point, temporary pipe, and symbolic link on every
+ # file system. You normally do not have permission to clear or replace it,
+ # and if you did, the results would be catastrophic.
+ #
+ # On VMS, added/changed %ENV items show up in the process logical
+ # name table. So to track changes, a copy of it needs to be captured.
+
+ my $raw_output = `show log/process/access_mode=supervisor`;
+ my @raw_output_lines = split('\n',$raw_output);
+ my %log_hash;
+ foreach my $line (@raw_output_lines) {
+ if ($line =~ /^\s+"([A-Za-z\$_]+)"\s+=\s+"(.+)"$/) {
+ $log_hash{$1} = $2;
+ }
+ }
+ return \%log_hash
+}
+
# %origENV is the caller's original environment
-%origENV = %ENV;
+if ($^O ne 'VMS') {
+ %origENV = %ENV;
+} else {
+ my $proc_env = vms_get_process_logicals;
+ %origENV = %{$proc_env};
+}
sub resetENV
{
# We used to say "%ENV = ();" but this doesn't work in Perl 5.000
# through Perl 5.004. It was fixed in Perl 5.004_01, but we don't
# want to require that here, so just delete each one individually.
- foreach $v (keys %ENV) {
- delete $ENV{$v};
+
+ if ($^O ne 'VMS') {
+ foreach $v (keys %ENV) {
+ delete $ENV{$v};
+ }
+
+ %ENV = %makeENV;
+ } else {
+ my $proc_env = vms_get_process_logicals();
+ my %delta = %{$proc_env};
+ foreach my $v (keys %delta) {
+ if (exists $origENV{$v}) {
+ if ($origENV{$v} ne $delta{$v}) {
+ $ENV{$v} = $origENV{$v};
+ }
+ } else {
+ delete $ENV{$v};
+ }
+ }
}
- %ENV = %makeENV;
foreach $v (keys %extraENV) {
$ENV{$v} = $extraENV{$v};
delete $extraENV{$v};
@@ -89,6 +135,7 @@ sub toplevel
foreach (# UNIX-specific things
'TZ', 'TMPDIR', 'HOME', 'USER', 'LOGNAME', 'PATH',
+ 'LD_LIBRARY_PATH',
# Purify things
'PURIFYOPTIONS',
# Windows NT-specific stuff
@@ -106,7 +153,7 @@ sub toplevel
# Replace the environment with the new one
#
- %origENV = %ENV;
+ %origENV = %ENV unless $^O eq 'VMS';
resetENV();
@@ -131,7 +178,7 @@ sub toplevel
&parse_command_line (@ARGV);
- print "OS name = `$osname'\n" if $debug;
+ print "OS name = '$osname'\n" if $debug;
$workpath = "$cwdslash$workdir";
$scriptpath = "$cwdslash$scriptdir";
@@ -140,6 +187,25 @@ sub toplevel
&print_banner;
+ if ($osname eq 'VMS' && $cwdslash eq "")
+ {
+ # Porting this script to VMS revealed a small bug in opendir() not
+ # handling search lists correctly when the directory only exists in
+ # one of the logical_devices. Need to find the first directory in
+ # the search list, as that is where things will be written to.
+ my @dirs = split("/", $pwd);
+
+ my $logical_device = $ENV{$dirs[1]};
+ if ($logical_device =~ /([A-Za-z0-9_]+):(:?.+:)+/)
+ {
+ # A search list was found. Grab the first logical device
+ # and use it instead of the search list.
+ $dirs[1]=$1;
+ my $lcl_pwd = join('/', @dirs);
+ $workpath = $lcl_pwd . '/' . $workdir
+ }
+ }
+
if (-d $workpath)
{
print "Clearing $workpath...\n";
@@ -166,7 +232,7 @@ sub toplevel
$dir = $1;
push (@rmdirs, $dir);
-d "$workpath/$dir"
- || mkdir ("$workpath/$dir", 0777)
+ || mkdir ("$workpath/$dir", 0777)
|| &error ("Couldn't mkdir $workpath/$dir: $!\n");
}
}
@@ -175,23 +241,25 @@ sub toplevel
{
print "Finding tests...\n";
opendir (SCRIPTDIR, $scriptpath)
- || &error ("Couldn't opendir $scriptpath: $!\n");
+ || &error ("Couldn't opendir $scriptpath: $!\n");
@dirs = grep (!/^(\..*|CVS|RCS)$/, readdir (SCRIPTDIR) );
closedir (SCRIPTDIR);
foreach $dir (@dirs)
{
next if ($dir =~ /^(\..*|CVS|RCS)$/ || ! -d "$scriptpath/$dir");
push (@rmdirs, $dir);
+ # VMS can have overlayed file systems, so directories may repeat.
+ next if -d "$workpath/$dir";
mkdir ("$workpath/$dir", 0777)
- || &error ("Couldn't mkdir $workpath/$dir: $!\n");
+ || &error ("Couldn't mkdir $workpath/$dir: $!\n");
opendir (SCRIPTDIR, "$scriptpath/$dir")
- || &error ("Couldn't opendir $scriptpath/$dir: $!\n");
+ || &error ("Couldn't opendir $scriptpath/$dir: $!\n");
@files = grep (!/^(\..*|CVS|RCS|.*~)$/, readdir (SCRIPTDIR) );
closedir (SCRIPTDIR);
foreach $test (@files)
{
-d $test and next;
- push (@TESTS, "$dir/$test");
+ push (@TESTS, "$dir/$test");
}
}
}
@@ -203,7 +271,7 @@ sub toplevel
print "\n";
- &run_each_test;
+ run_all_tests();
foreach $dir (@rmdirs)
{
@@ -221,7 +289,7 @@ sub toplevel
print "s" unless $total_tests_failed == 1;
print " in $categories_failed Categor";
print ($categories_failed == 1 ? "y" : "ies");
- print " Failed (See .$diffext files in $workdir dir for details) :-(\n\n";
+ print " Failed (See .$diffext* files in $workdir dir for details) :-(\n\n";
return 0;
}
else
@@ -240,6 +308,13 @@ sub get_osname
# Set up an initial value. In perl5 we can do it the easy way.
$osname = defined($^O) ? $^O : '';
+ if ($osname eq 'VMS')
+ {
+ $vos = 0;
+ $pathsep = "/";
+ return;
+ }
+
# Find a path to Perl
# See if the filesystem supports long file names with multiple
@@ -276,15 +351,15 @@ sub get_osname
eval "chop (\$osname = `sh -c 'uname -nmsr 2>&1'`)";
if ($osname =~ /not found/i)
{
- $osname = "(something posixy with no uname)";
+ $osname = "(something posixy with no uname)";
}
elsif ($@ ne "" || $?)
{
eval "chop (\$osname = `sh -c 'uname -a 2>&1'`)";
if ($@ ne "" || $?)
{
- $osname = "(something posixy)";
- }
+ $osname = "(something posixy)";
+ }
}
$vos = 0;
$pathsep = "/";
@@ -416,128 +491,138 @@ sub print_banner
print "\n";
}
-sub run_each_test
+sub run_all_tests
{
- $categories_run = 0;
+ $categories_run = 0;
+
+ $lasttest = '';
+ foreach $testname (sort @TESTS) {
+ # Skip duplicates on VMS caused by logical name search lists.
+ next if $testname eq $lasttest;
+ $lasttest = $testname;
+ $suite_passed = 1; # reset by test on failure
+ $num_of_logfiles = 0;
+ $num_of_tmpfiles = 0;
+ $description = "";
+ $details = "";
+ $old_makefile = undef;
+ $testname =~ s/^$scriptpath$pathsep//;
+ $perl_testname = "$scriptpath$pathsep$testname";
+ $testname =~ s/(\.pl|\.perl)$//;
+ $testpath = "$workpath$pathsep$testname";
+ # Leave enough space in the extensions to append a number, even
+ # though it needs to fit into 8+3 limits.
+ if ($short_filenames) {
+ $logext = 'l';
+ $diffext = 'd';
+ $baseext = 'b';
+ $runext = 'r';
+ $extext = '';
+ } else {
+ $logext = 'log';
+ $diffext = 'diff';
+ $baseext = 'base';
+ $runext = 'run';
+ $extext = '.';
+ }
+ $extext = '_' if $^O eq 'VMS';
+ $log_filename = "$testpath.$logext";
+ $diff_filename = "$testpath.$diffext";
+ $base_filename = "$testpath.$baseext";
+ $run_filename = "$testpath.$runext";
+ $tmp_filename = "$testpath.$tmpfilesuffix";
- foreach $testname (sort @TESTS)
- {
- ++$categories_run;
- $suite_passed = 1; # reset by test on failure
- $num_of_logfiles = 0;
- $num_of_tmpfiles = 0;
- $description = "";
- $details = "";
- $old_makefile = undef;
- $testname =~ s/^$scriptpath$pathsep//;
- $perl_testname = "$scriptpath$pathsep$testname";
- $testname =~ s/(\.pl|\.perl)$//;
- $testpath = "$workpath$pathsep$testname";
- # Leave enough space in the extensions to append a number, even
- # though it needs to fit into 8+3 limits.
- if ($short_filenames) {
- $logext = 'l';
- $diffext = 'd';
- $baseext = 'b';
- $runext = 'r';
- $extext = '';
- } else {
- $logext = 'log';
- $diffext = 'diff';
- $baseext = 'base';
- $runext = 'run';
- $extext = '.';
- }
- $log_filename = "$testpath.$logext";
- $diff_filename = "$testpath.$diffext";
- $base_filename = "$testpath.$baseext";
- $run_filename = "$testpath.$runext";
- $tmp_filename = "$testpath.$tmpfilesuffix";
+ setup_for_test();
- &setup_for_test; # suite-defined
+ $output = "........................................................ ";
- $output = "........................................................ ";
+ substr($output,0,length($testname)) = "$testname ";
- substr($output,0,length($testname)) = "$testname ";
+ print $output;
- print $output;
+ $tests_run = 0;
+ $tests_passed = 0;
- # Run the actual test!
- $tests_run = 0;
- $tests_passed = 0;
+ # Run the test!
+ $code = do $perl_testname;
- $code = do $perl_testname;
+ ++$categories_run;
+ $total_tests_run += $tests_run;
+ $total_tests_passed += $tests_passed;
- $total_tests_run += $tests_run;
- $total_tests_passed += $tests_passed;
+ # How did it go?
+ if (!defined($code)) {
+ # Failed to parse or called die
+ if (length ($@)) {
+ warn "\n*** Test died ($testname): $@\n";
+ } else {
+ warn "\n*** Couldn't parse $perl_testname\n";
+ }
+ $status = "FAILED ($tests_passed/$tests_run passed)";
+ }
- # How did it go?
- if (!defined($code))
- {
- $suite_passed = 0;
- if (length ($@)) {
- warn "\n*** Test died ($testname): $@\n";
- } else {
- warn "\n*** Couldn't run $perl_testname\n";
- }
- }
- elsif ($code == -1) {
- $suite_passed = 0;
- }
- elsif ($code != 1 && $code != -1) {
- $suite_passed = 0;
- warn "\n*** Test returned $code\n";
- }
+ elsif ($code == -1) {
+ # Skipped... not supported
+ $status = "N/A";
+ --$categories_run;
+ }
- if ($suite_passed) {
- ++$categories_passed;
- $status = "ok ($tests_passed passed)";
- for ($i = $num_of_tmpfiles; $i; $i--)
- {
- &rmfiles ($tmp_filename . &num_suffix ($i) );
- }
+ elsif ($code != 1) {
+ # Bad result... this shouldn't really happen. Usually means that
+ # the suite forgot to end with "1;".
+ warn "\n*** Test returned $code\n";
+ $status = "FAILED ($tests_passed/$tests_run passed)";
+ }
- for ($i = $num_of_logfiles ? $num_of_logfiles : 1; $i; $i--)
- {
- &rmfiles ($log_filename . &num_suffix ($i) );
- &rmfiles ($base_filename . &num_suffix ($i) );
- }
- }
- elsif (!defined $code || $code > 0) {
- $status = "FAILED ($tests_passed/$tests_run passed)";
- }
- elsif ($code < 0) {
- $status = "N/A";
- --$categories_run;
- }
+ elsif ($tests_run == 0) {
+ # Nothing was done!!
+ $status = "FAILED (no tests found!)";
+ }
- # If the verbose option has been specified, then a short description
- # of each test is printed before displaying the results of each test
- # describing WHAT is being tested.
+ elsif ($tests_run > $tests_passed) {
+ # Lose!
+ $status = "FAILED ($tests_passed/$tests_run passed)";
+ }
- if ($verbose)
- {
- if ($detail)
- {
- print "\nWHAT IS BEING TESTED\n";
- print "--------------------";
- }
- print "\n\n$description\n\n";
- }
+ else {
+ # Win!
+ ++$categories_passed;
+ $status = "ok ($tests_passed passed)";
+
+ # Clean up
+ for ($i = $num_of_tmpfiles; $i; $i--) {
+ rmfiles($tmp_filename . num_suffix($i));
+ }
+ for ($i = $num_of_logfiles ? $num_of_logfiles : 1; $i; $i--) {
+ rmfiles($log_filename . num_suffix($i));
+ rmfiles($base_filename . num_suffix($i));
+ }
+ }
- # If the detail option has been specified, then the details of HOW
- # the test is testing what it says it is testing in the verbose output
- # will be displayed here before the results of the test are displayed.
+ # If the verbose option has been specified, then a short description
+ # of each test is printed before displaying the results of each test
+ # describing WHAT is being tested.
- if ($detail)
- {
- print "\nHOW IT IS TESTED\n";
- print "----------------";
- print "\n\n$details\n\n";
- }
+ if ($verbose) {
+ if ($detail) {
+ print "\nWHAT IS BEING TESTED\n";
+ print "--------------------";
+ }
+ print "\n\n$description\n\n";
+ }
- print "$status\n";
- }
+ # If the detail option has been specified, then the details of HOW
+ # the test is testing what it says it is testing in the verbose output
+ # will be displayed here before the results of the test are displayed.
+
+ if ($detail) {
+ print "\nHOW IT IS TESTED\n";
+ print "----------------";
+ print "\n\n$details\n\n";
+ }
+
+ print "$status\n";
+ }
}
# If the keep flag is not set, this subroutine deletes all filenames that
@@ -654,38 +739,158 @@ sub compare_output
local($answer,$logfile) = @_;
local($slurp, $answer_matched) = ('', 0);
- print "Comparing Output ........ " if $debug;
-
- $slurp = &read_file_into_string ($logfile);
-
- # For make, get rid of any time skew error before comparing--too bad this
- # has to go into the "generic" driver code :-/
- $slurp =~ s/^.*modification time .*in the future.*\n//gm;
- $slurp =~ s/^.*Clock skew detected.*\n//gm;
-
++$tests_run;
- if ($slurp eq $answer) {
- $answer_matched = 1;
+ if (! defined $answer) {
+ print "Ignoring output ........ " if $debug;
+ $answer_matched = 1;
} else {
- # See if it is a slash or CRLF problem
- local ($answer_mod, $slurp_mod) = ($answer, $slurp);
-
- $answer_mod =~ tr,\\,/,;
- $answer_mod =~ s,\r\n,\n,gs;
+ print "Comparing Output ........ " if $debug;
- $slurp_mod =~ tr,\\,/,;
- $slurp_mod =~ s,\r\n,\n,gs;
+ $slurp = &read_file_into_string ($logfile);
- $answer_matched = ($slurp_mod eq $answer_mod);
+ # For make, get rid of any time skew error before comparing--too bad this
+ # has to go into the "generic" driver code :-/
+ $slurp =~ s/^.*modification time .*in the future.*\n//gm;
+ $slurp =~ s/^.*Clock skew detected.*\n//gm;
- # If it still doesn't match, see if the answer might be a regex.
- if (!$answer_matched && $answer =~ m,^/(.+)/$,) {
- $answer_matched = ($slurp =~ /$1/);
- if (!$answer_matched && $answer_mod =~ m,^/(.+)/$,) {
- $answer_matched = ($slurp_mod =~ /$1/);
+ if ($slurp eq $answer) {
+ $answer_matched = 1;
+ } else {
+ # See if it is a slash or CRLF problem
+ local ($answer_mod, $slurp_mod) = ($answer, $slurp);
+
+ $answer_mod =~ tr,\\,/,;
+ $answer_mod =~ s,\r\n,\n,gs;
+
+ $slurp_mod =~ tr,\\,/,;
+ $slurp_mod =~ s,\r\n,\n,gs;
+
+ $answer_matched = ($slurp_mod eq $answer_mod);
+ if ($^O eq 'VMS') {
+
+ # VMS has extra blank lines in output sometimes.
+ # Ticket #41760
+ if (!$answer_matched) {
+ $slurp_mod =~ s/\n\n+/\n/gm;
+ $slurp_mod =~ s/\A\n+//g;
+ $answer_matched = ($slurp_mod eq $answer_mod);
+ }
+
+ # VMS adding a "Waiting for unfinished jobs..."
+ # Remove it for now to see what else is going on.
+ if (!$answer_matched) {
+ $slurp_mod =~ s/^.+\*\*\* Waiting for unfinished jobs.+$//m;
+ $slurp_mod =~ s/\n\n/\n/gm;
+ $slurp_mod =~ s/^\n+//gm;
+ $answer_matched = ($slurp_mod eq $answer_mod);
+ }
+
+ # VMS wants target device to exist or generates an error,
+ # Some test tagets look like VMS devices and trip this.
+ if (!$answer_matched) {
+ $slurp_mod =~ s/^.+\: no such device or address.*$//gim;
+ $slurp_mod =~ s/\n\n/\n/gm;
+ $slurp_mod =~ s/^\n+//gm;
+ $answer_matched = ($slurp_mod eq $answer_mod);
+ }
+
+ # VMS error message has a different case
+ if (!$answer_matched) {
+ $slurp_mod =~ s/no such file /No such file /gm;
+ $answer_matched = ($slurp_mod eq $answer_mod);
+ }
+
+ # VMS is putting comas instead of spaces in output
+ if (!$answer_matched) {
+ $slurp_mod =~ s/,/ /gm;
+ $answer_matched = ($slurp_mod eq $answer_mod);
+ }
+
+ # VMS Is sometimes adding extra leading spaces to output?
+ if (!$answer_matched) {
+ my $slurp_mod = $slurp_mod;
+ $slurp_mod =~ s/^ +//gm;
+ $answer_matched = ($slurp_mod eq $answer_mod);
+ }
+
+ # VMS port not handling POSIX encoded child status
+ # Translate error case it for now.
+ if (!$answer_matched) {
+ $slurp_mod =~ s/0x1035a00a/1/gim;
+ $answer_matched = 1 if $slurp_mod =~ /\Q$answer_mod\E/i;
+
+ }
+ if (!$answer_matched) {
+ $slurp_mod =~ s/0x1035a012/2/gim;
+ $answer_matched = ($slurp_mod eq $answer_mod);
+ }
+
+ # Tests are using a UNIX null command, temp hack
+ # until this can be handled by the VMS port.
+ # ticket # 41761
+ if (!$answer_matched) {
+ $slurp_mod =~ s/^.+DCL-W-NOCOMD.*$//gim;
+ $slurp_mod =~ s/\n\n+/\n/gm;
+ $slurp_mod =~ s/^\n+//gm;
+ $answer_matched = ($slurp_mod eq $answer_mod);
+ }
+ # Tests are using exit 0;
+ # this generates a warning that should stop the make, but does not
+ if (!$answer_matched) {
+ $slurp_mod =~ s/^.+NONAME-W-NOMSG.*$//gim;
+ $slurp_mod =~ s/\n\n+/\n/gm;
+ $slurp_mod =~ s/^\n+//gm;
+ $answer_matched = ($slurp_mod eq $answer_mod);
+ }
+
+ # VMS is sometimes adding single quotes to output?
+ if (!$answer_matched) {
+ my $noq_slurp_mod = $slurp_mod;
+ $noq_slurp_mod =~ s/\'//gm;
+ $answer_matched = ($noq_slurp_mod eq $answer_mod);
+
+ # And missing an extra space in output
+ if (!$answer_matched) {
+ $noq_answer_mod = $answer_mod;
+ $noq_answer_mod =~ s/\h\h+/ /gm;
+ $answer_matched = ($noq_slurp_mod eq $noq_answer_mod);
+ }
+
+ # VMS adding ; to end of some lines.
+ if (!$answer_matched) {
+ $noq_slurp_mod =~ s/;\n/\n/gm;
+ $answer_matched = ($noq_slurp_mod eq $noq_answer_mod);
+ }
+
+ # VMS adding trailing space to end of some quoted lines.
+ if (!$answer_matched) {
+ $noq_slurp_mod =~ s/\h+\n/\n/gm;
+ $answer_matched = ($noq_slurp_mod eq $noq_answer_mod);
+ }
+
+ # And VMS missing leading blank line
+ if (!$answer_matched) {
+ $noq_answer_mod =~ s/\A\n//g;
+ $answer_matched = ($noq_slurp_mod eq $noq_answer_mod);
+ }
+
+ # Unix double quotes showing up as single quotes on VMS.
+ if (!$answer_matched) {
+ $noq_answer_mod =~ s/\"//g;
+ $answer_matched = ($noq_slurp_mod eq $noq_answer_mod);
+ }
+ }
+ }
+
+ # If it still doesn't match, see if the answer might be a regex.
+ if (!$answer_matched && $answer =~ m,^/(.+)/$,) {
+ $answer_matched = ($slurp =~ /$1/);
+ if (!$answer_matched && $answer_mod =~ m,^/(.+)/$,) {
+ $answer_matched = ($slurp_mod =~ /$1/);
+ }
+ }
}
- }
}
if ($answer_matched && $test_passed)
@@ -707,11 +912,8 @@ sub compare_output
local($command) = "diff -c " . &get_basefile . " " . $logfile;
&run_command_with_output(&get_difffile,$command);
- } else {
- &rmfiles ();
}
- $suite_passed = 0;
return 0;
}
@@ -731,6 +933,9 @@ sub read_file_into_string
return $slurp;
}
+my @OUTSTACK = ();
+my @ERRSTACK = ();
+
sub attach_default_output
{
local ($filename) = @_;
@@ -743,17 +948,16 @@ sub attach_default_output
return 1;
}
- open ("SAVEDOS" . $default_output_stack_level . "out", ">&STDOUT")
- || &error ("ado: $! duping STDOUT\n", 1);
- open ("SAVEDOS" . $default_output_stack_level . "err", ">&STDERR")
- || &error ("ado: $! duping STDERR\n", 1);
+ my $dup = undef;
+ open($dup, '>&', STDOUT) or error("ado: $! duping STDOUT\n", 1);
+ push @OUTSTACK, $dup;
- open (STDOUT, "> " . $filename)
- || &error ("ado: $filename: $!\n", 1);
- open (STDERR, ">&STDOUT")
- || &error ("ado: $filename: $!\n", 1);
+ $dup = undef;
+ open($dup, '>&', STDERR) or error("ado: $! duping STDERR\n", 1);
+ push @ERRSTACK, $dup;
- $default_output_stack_level++;
+ open(STDOUT, '>', $filename) or error("ado: $filename: $!\n", 1);
+ open(STDERR, ">&STDOUT") or error("ado: $filename: $!\n", 1);
}
# close the current stdout/stderr, and restore the previous ones from
@@ -770,23 +974,14 @@ sub detach_default_output
return 1;
}
- if (--$default_output_stack_level < 0)
- {
- &error ("default output stack has flown under!\n", 1);
- }
+ @OUTSTACK or error("default output stack has flown under!\n", 1);
- close (STDOUT);
- close (STDERR);
+ close(STDOUT);
+ close(STDERR) unless $^O eq 'VMS';
- open (STDOUT, ">&SAVEDOS" . $default_output_stack_level . "out")
- || &error ("ddo: $! duping STDOUT\n", 1);
- open (STDERR, ">&SAVEDOS" . $default_output_stack_level . "err")
- || &error ("ddo: $! duping STDERR\n", 1);
- close ("SAVEDOS" . $default_output_stack_level . "out")
- || &error ("ddo: $! closing SCSDOSout\n", 1);
- close ("SAVEDOS" . $default_output_stack_level . "err")
- || &error ("ddo: $! closing SAVEDOSerr\n", 1);
+ open (STDOUT, '>&', pop @OUTSTACK) or error("ddo: $! duping STDOUT\n", 1);
+ open (STDERR, '>&', pop @ERRSTACK) or error("ddo: $! duping STDERR\n", 1);
}
# This runs a command without any debugging info.
@@ -800,14 +995,44 @@ sub _run_command
resetENV();
eval {
- local $SIG{ALRM} = sub { die "timeout\n"; };
- alarm $test_timeout;
- $code = system(@_);
+ if ($^O eq 'VMS') {
+ local $SIG{ALRM} = sub {
+ my $e = $ERRSTACK[0];
+ print $e "\nTest timed out after $test_timeout seconds\n";
+ die "timeout\n"; };
+# alarm $test_timeout;
+ system(@_);
+ my $severity = ${^CHILD_ERROR_NATIVE} & 7;
+ $code = 0;
+ if (($severity & 1) == 0) {
+ $code = 512;
+ }
+
+ # Get the vms status.
+ my $vms_code = ${^CHILD_ERROR_NATIVE};
+
+ # Remove the print status bit
+ $vms_code &= ~0x10000000;
+
+ # Posix code translation.
+ if (($vms_code & 0xFFFFF000) == 0x35a000) {
+ $code = (($vms_code & 0xFFF) >> 3) * 256;
+ }
+ } else {
+ my $pid = fork();
+ if (! $pid) {
+ exec(@_) or die "Cannot execute $_[0]\n";
+ }
+ local $SIG{ALRM} = sub { my $e = $ERRSTACK[0]; print $e "\nTest timed out after $test_timeout seconds\n"; die "timeout\n"; };
+ alarm $test_timeout;
+ waitpid($pid, 0) > 0 or die "No such pid: $pid\n";
+ $code = $?;
+ }
alarm 0;
};
if ($@) {
# The eval failed. If it wasn't SIGALRM then die.
- $@ eq "timeout\n" or die;
+ $@ eq "timeout\n" or die "Command failed: $@";
# Timed out. Resend the alarm to our process group to kill the children.
$SIG{ALRM} = 'IGNORE';
@@ -826,7 +1051,7 @@ sub run_command
print "\nrun_command: @_\n" if $debug;
my $code = _run_command(@_);
print "run_command returned $code.\n" if $debug;
-
+ print "vms status = ${^CHILD_ERROR_NATIVE}\n" if $debug and $^O eq 'VMS';
return $code;
}
@@ -841,10 +1066,14 @@ sub run_command_with_output
print "\nrun_command_with_output($filename,$runname): @_\n" if $debug;
&attach_default_output ($filename);
- my $code = _run_command(@_);
+ my $code = eval { _run_command(@_) };
+ my $err = $@;
&detach_default_output;
- print "run_command_with_output returned $code.\n" if $debug;
+ $err and die $err;
+
+ print "run_command_with_output returned $code.\n" if $debug;
+ print "vms status = ${^CHILD_ERROR_NATIVE}\n" if $debug and $^O eq 'VMS';
return $code;
}
@@ -904,7 +1133,15 @@ sub remove_directory_tree_inner
}
else
{
- unlink $object || return 0;
+ if ($^O ne 'VMS')
+ {
+ unlink $object || return 0;
+ }
+ else
+ {
+ # VMS can have multiple versions of a file.
+ 1 while unlink $object;
+ }
}
}
closedir ($dirhandle);
@@ -942,7 +1179,7 @@ sub touch
foreach $file (@_) {
(open(T, ">> $file") && print(T "\n") && close(T))
- || &error("Couldn't touch $file: $!\n", 1);
+ || &error("Couldn't touch $file: $!\n", 1);
}
}
diff --git a/variable.c b/variable.c
index 915be20a..01b6d89e 100644
--- a/variable.c
+++ b/variable.c
@@ -1,7 +1,5 @@
/* Internals of variables for GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -16,12 +14,12 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
#include <assert.h>
-#include "dep.h"
#include "filedef.h"
+#include "dep.h"
#include "job.h"
#include "commands.h"
#include "variable.h"
@@ -100,7 +98,7 @@ static struct pattern_var *
lookup_pattern_var (struct pattern_var *start, const char *target)
{
struct pattern_var *p;
- unsigned int targlen = strlen(target);
+ unsigned int targlen = strlen (target);
for (p = start ? start->next : pattern_vars; p != 0; p = p->next)
{
@@ -160,14 +158,14 @@ variable_hash_cmp (const void *xv, const void *yv)
return_STRING_N_COMPARE (x->name, y->name, x->length);
}
-#ifndef VARIABLE_BUCKETS
-#define VARIABLE_BUCKETS 523
+#ifndef VARIABLE_BUCKETS
+#define VARIABLE_BUCKETS 523
#endif
-#ifndef PERFILE_VARIABLE_BUCKETS
-#define PERFILE_VARIABLE_BUCKETS 23
+#ifndef PERFILE_VARIABLE_BUCKETS
+#define PERFILE_VARIABLE_BUCKETS 23
#endif
-#ifndef SMALL_SCOPE_VARIABLE_BUCKETS
-#define SMALL_SCOPE_VARIABLE_BUCKETS 13
+#ifndef SMALL_SCOPE_VARIABLE_BUCKETS
+#define SMALL_SCOPE_VARIABLE_BUCKETS 13
#endif
static struct variable_set global_variable_set;
@@ -181,7 +179,7 @@ void
init_hash_global_variable_set (void)
{
hash_init (&global_variable_set.table, VARIABLE_BUCKETS,
- variable_hash_1, variable_hash_2, variable_hash_cmp);
+ variable_hash_1, variable_hash_2, variable_hash_cmp);
}
/* Define variable named NAME with value VALUE in SET. VALUE is copied.
@@ -195,7 +193,7 @@ struct variable *
define_variable_in_set (const char *name, unsigned int length,
const char *value, enum variable_origin origin,
int recursive, struct variable_set *set,
- const struct floc *flocp)
+ const gmk_floc *flocp)
{
struct variable *v;
struct variable **var_slot;
@@ -215,25 +213,24 @@ define_variable_in_set (const char *name, unsigned int length,
if (! HASH_VACANT (v))
{
if (env_overrides && v->origin == o_env)
- /* V came from in the environment. Since it was defined
- before the switches were parsed, it wasn't affected by -e. */
- v->origin = o_env_override;
+ /* V came from in the environment. Since it was defined
+ before the switches were parsed, it wasn't affected by -e. */
+ v->origin = o_env_override;
/* A variable of this name is already defined.
- If the old definition is from a stronger source
- than this one, don't redefine it. */
+ If the old definition is from a stronger source
+ than this one, don't redefine it. */
if ((int) origin >= (int) v->origin)
- {
- if (v->value != 0)
- free (v->value);
- v->value = xstrdup (value);
+ {
+ free (v->value);
+ v->value = xstrdup (value);
if (flocp != 0)
v->fileinfo = *flocp;
else
v->fileinfo.filenm = 0;
- v->origin = origin;
- v->recursive = recursive;
- }
+ v->origin = origin;
+ v->recursive = recursive;
+ }
return v;
}
@@ -282,7 +279,21 @@ define_variable_in_set (const char *name, unsigned int length,
variable (makefile, command line or environment). */
static void
-free_variable_name_and_value (const void *item);
+free_variable_name_and_value (const void *item)
+{
+ struct variable *v = (struct variable *) item;
+ free (v->name);
+ free (v->value);
+}
+
+void
+free_variable_set (struct variable_set_list *list)
+{
+ hash_map (&list->set->table, free_variable_name_and_value);
+ hash_free (&list->set->table, 1);
+ free (list->set);
+ free (list);
+}
void
undefine_variable_in_set (const char *name, unsigned int length,
@@ -307,17 +318,17 @@ undefine_variable_in_set (const char *name, unsigned int length,
if (! HASH_VACANT (v))
{
if (env_overrides && v->origin == o_env)
- /* V came from in the environment. Since it was defined
- before the switches were parsed, it wasn't affected by -e. */
- v->origin = o_env_override;
+ /* V came from in the environment. Since it was defined
+ before the switches were parsed, it wasn't affected by -e. */
+ v->origin = o_env_override;
/* 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);
- }
+ }
}
}
@@ -412,7 +423,7 @@ lookup_special_var (struct variable *var)
/* Lookup a variable whose name is a string starting at NAME
and with LENGTH chars. NAME need not be null-terminated.
- Returns address of the `struct variable' containing all info
+ Returns address of the 'struct variable' containing all info
on the variable, or nil if no such variable is defined. */
struct variable *
@@ -433,7 +444,7 @@ lookup_variable (const char *name, unsigned int length)
v = (struct variable *) hash_find_item ((struct hash_table *) &set->table, &var_key);
if (v && (!is_parent || !v->private_var))
- return v->special ? lookup_special_var (v) : v;
+ return v->special ? lookup_special_var (v) : v;
is_parent |= setlist->next_is_parent;
}
@@ -499,7 +510,7 @@ lookup_variable (const char *name, unsigned int length)
/* Lookup a variable whose name is a string starting at NAME
and with LENGTH chars in set SET. NAME need not be null-terminated.
- Returns address of the `struct variable' containing all info
+ Returns address of the 'struct variable' containing all info
on the variable, or nil if no such variable is defined. */
struct variable *
@@ -531,7 +542,7 @@ initialize_file_variables (struct file *file, int reading)
if (l == 0)
{
l = (struct variable_set_list *)
- xmalloc (sizeof (struct variable_set_list));
+ xmalloc (sizeof (struct variable_set_list));
l->set = xmalloc (sizeof (struct variable_set));
hash_init (&l->set->table, PERFILE_VARIABLE_BUCKETS,
variable_hash_1, variable_hash_2, variable_hash_cmp);
@@ -634,7 +645,7 @@ create_new_variable_set (void)
set = xmalloc (sizeof (struct variable_set));
hash_init (&set->table, SMALL_SCOPE_VARIABLE_BUCKETS,
- variable_hash_1, variable_hash_2, variable_hash_cmp);
+ variable_hash_1, variable_hash_2, variable_hash_cmp);
setlist = (struct variable_set_list *)
xmalloc (sizeof (struct variable_set_list));
@@ -645,23 +656,6 @@ create_new_variable_set (void)
return setlist;
}
-static void
-free_variable_name_and_value (const void *item)
-{
- struct variable *v = (struct variable *) item;
- free (v->name);
- free (v->value);
-}
-
-void
-free_variable_set (struct variable_set_list *list)
-{
- hash_map (&list->set->table, free_variable_name_and_value);
- hash_free (&list->set->table, 1);
- free (list->set);
- free (list);
-}
-
/* Create a new variable set and push it on the current setlist.
If we're pushing a global scope (that is, the current scope is the global
scope) then we need to "push" it the other way: file variable sets point
@@ -671,7 +665,7 @@ free_variable_set (struct variable_set_list *list)
struct variable_set_list *
push_new_variable_scope (void)
{
- current_variable_set_list = create_new_variable_set();
+ current_variable_set_list = create_new_variable_set ();
if (current_variable_set_list->next == &global_setlist)
{
/* It was the global, so instead of new -> &global we want to replace
@@ -694,7 +688,7 @@ pop_variable_scope (void)
struct variable_set *set;
/* Can't call this if there's no scope to pop! */
- assert(current_variable_set_list->next != NULL);
+ assert (current_variable_set_list->next != NULL);
if (current_variable_set_list != &global_setlist)
{
@@ -734,17 +728,17 @@ merge_variable_sets (struct variable_set *to_set,
for ( ; from_var_slot < from_var_end; from_var_slot++)
if (! HASH_VACANT (*from_var_slot))
{
- struct variable *from_var = *from_var_slot;
- 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);
- else
- {
- /* GKM FIXME: delete in from_set->table */
- free (from_var->value);
- free (from_var);
- }
+ struct variable *from_var = *from_var_slot;
+ 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);
+ else
+ {
+ /* GKM FIXME: delete in from_set->table */
+ free (from_var->value);
+ free (from_var);
+ }
}
}
@@ -778,9 +772,9 @@ merge_variable_set_lists (struct variable_set_list **setlist0,
if (setlist1 != &global_setlist)
{
if (last0 == 0)
- *setlist0 = setlist1;
+ *setlist0 = setlist1;
else
- last0->next = setlist1;
+ last0->next = setlist1;
}
}
@@ -790,24 +784,21 @@ merge_variable_set_lists (struct variable_set_list **setlist0,
void
define_automatic_variables (void)
{
-#if defined(WINDOWS32) || defined(__EMX__)
- extern char* default_shell;
-#else
- extern char default_shell[];
-#endif
- register struct variable *v;
+ extern const char* default_shell;
+ struct variable *v;
char buf[200];
sprintf (buf, "%u", makelevel);
define_variable_cname (MAKELEVEL_NAME, buf, o_env, 0);
sprintf (buf, "%s%s%s",
- version_string,
- (remote_description == 0 || remote_description[0] == '\0')
- ? "" : "-",
- (remote_description == 0 || remote_description[0] == '\0')
- ? "" : remote_description);
+ version_string,
+ (remote_description == 0 || remote_description[0] == '\0')
+ ? "" : "-",
+ (remote_description == 0 || remote_description[0] == '\0')
+ ? "" : remote_description);
define_variable_cname ("MAKE_VERSION", buf, o_default, 0);
+ define_variable_cname ("MAKE_HOST", make_host, o_default, 0);
#ifdef __MSDOS__
/* Allow to specify a special shell just for Make,
@@ -821,14 +812,14 @@ define_automatic_variables (void)
/* $(MAKESHELL) overrides $(SHELL) even if -e is in effect. */
if (mshp)
(void) define_variable (shell_str, shlen,
- mshp->value, o_env_override, 0);
+ mshp->value, o_env_override, 0);
else if (comp)
{
- /* $(COMSPEC) shouldn't override $(SHELL). */
- struct variable *shp = lookup_variable (shell_str, shlen);
+ /* $(COMSPEC) shouldn't override $(SHELL). */
+ struct variable *shp = lookup_variable (shell_str, shlen);
- if (!shp)
- (void) define_variable (shell_str, shlen, comp->value, o_env, 0);
+ if (!shp)
+ (void) define_variable (shell_str, shlen, comp->value, o_env, 0);
}
}
#elif defined(__EMX__)
@@ -846,13 +837,13 @@ define_automatic_variables (void)
did not come from the environment */
if (!replace || !*replace->value)
if (shell && *shell->value && (shell->origin == o_env
- || shell->origin == o_env_override))
- {
- /* overwrite whatever we got from the environment */
- free(shell->value);
- shell->value = xstrdup (default_shell);
- shell->origin = o_default;
- }
+ || shell->origin == o_env_override))
+ {
+ /* overwrite whatever we got from the environment */
+ free (shell->value);
+ shell->value = xstrdup (default_shell);
+ shell->origin = o_default;
+ }
/* Some people do not like cmd to be used as the default
if $SHELL is not defined in the Makefile.
@@ -872,11 +863,11 @@ define_automatic_variables (void)
if (replace && *replace->value)
/* overwrite $SHELL */
(void) define_variable (shell_str, shlen, replace->value,
- replace->origin, 0);
+ replace->origin, 0);
else
/* provide a definition if there is none */
(void) define_variable (shell_str, shlen, default_shell,
- o_default, 0);
+ o_default, 0);
}
#endif
@@ -917,7 +908,23 @@ define_automatic_variables (void)
define_variable_cname ("?D", "$(dir $?)", o_automatic, 1);
define_variable_cname ("^D", "$(dir $^)", o_automatic, 1);
define_variable_cname ("+D", "$(dir $+)", o_automatic, 1);
-#else
+#elif defined(__MSDOS__) || defined(WINDOWS32)
+ /* For consistency, remove the trailing backslash as well as slash. */
+ define_variable_cname ("@D", "$(patsubst %/,%,$(patsubst %\\,%,$(dir $@)))",
+ o_automatic, 1);
+ define_variable_cname ("%D", "$(patsubst %/,%,$(patsubst %\\,%,$(dir $%)))",
+ o_automatic, 1);
+ define_variable_cname ("*D", "$(patsubst %/,%,$(patsubst %\\,%,$(dir $*)))",
+ o_automatic, 1);
+ define_variable_cname ("<D", "$(patsubst %/,%,$(patsubst %\\,%,$(dir $<)))",
+ o_automatic, 1);
+ define_variable_cname ("?D", "$(patsubst %/,%,$(patsubst %\\,%,$(dir $?)))",
+ o_automatic, 1);
+ define_variable_cname ("^D", "$(patsubst %/,%,$(patsubst %\\,%,$(dir $^)))",
+ o_automatic, 1);
+ define_variable_cname ("+D", "$(patsubst %/,%,$(patsubst %\\,%,$(dir $+)))",
+ o_automatic, 1);
+#else /* not __MSDOS__, not WINDOWS32 */
define_variable_cname ("@D", "$(patsubst %/,%,$(dir $@))", o_automatic, 1);
define_variable_cname ("%D", "$(patsubst %/,%,$(dir $%))", o_automatic, 1);
define_variable_cname ("*D", "$(patsubst %/,%,$(dir $*))", o_automatic, 1);
@@ -938,7 +945,7 @@ define_automatic_variables (void)
int export_all_variables;
/* Create a new environment for FILE's commands.
- If FILE is nil, this is for the `shell' function.
+ If FILE is nil, this is for the 'shell' function.
The child's MAKELEVEL variable is incremented. */
char **
@@ -959,7 +966,7 @@ target_environment (struct file *file)
set_list = file->variables;
hash_init (&table, VARIABLE_BUCKETS,
- variable_hash_1, variable_hash_2, variable_hash_cmp);
+ variable_hash_1, variable_hash_2, variable_hash_cmp);
/* Run through all the variable sets in the list,
accumulating variables in TABLE. */
@@ -969,71 +976,71 @@ target_environment (struct file *file)
v_slot = (struct variable **) set->table.ht_vec;
v_end = v_slot + set->table.ht_size;
for ( ; v_slot < v_end; v_slot++)
- if (! HASH_VACANT (*v_slot))
- {
- struct variable **new_slot;
- struct variable *v = *v_slot;
-
- /* If this is a per-target variable and it hasn't been touched
- already then look up the global version and take its export
- value. */
- if (v->per_target && v->export == v_default)
- {
- struct variable *gv;
-
- gv = lookup_variable_in_set (v->name, strlen(v->name),
+ if (! HASH_VACANT (*v_slot))
+ {
+ struct variable **new_slot;
+ struct variable *v = *v_slot;
+
+ /* If this is a per-target variable and it hasn't been touched
+ already then look up the global version and take its export
+ value. */
+ if (v->per_target && v->export == v_default)
+ {
+ struct variable *gv;
+
+ gv = lookup_variable_in_set (v->name, strlen (v->name),
&global_variable_set);
- if (gv)
- v->export = gv->export;
- }
+ if (gv)
+ v->export = gv->export;
+ }
- switch (v->export)
- {
- case v_default:
- if (v->origin == o_default || v->origin == o_automatic)
- /* Only export default variables by explicit request. */
- continue;
+ switch (v->export)
+ {
+ case v_default:
+ if (v->origin == o_default || v->origin == o_automatic)
+ /* Only export default variables by explicit request. */
+ continue;
/* The variable doesn't have a name that can be exported. */
if (! v->exportable)
continue;
- if (! export_all_variables
- && v->origin != o_command
- && v->origin != o_env && v->origin != o_env_override)
- continue;
- break;
-
- case v_export:
- break;
-
- case v_noexport:
- {
- /* If this is the SHELL variable and it's not exported,
- then add the value from our original environment, if
- the original environment defined a value for SHELL. */
- extern struct variable shell_var;
- if (streq (v->name, "SHELL") && shell_var.value)
- {
- v = &shell_var;
- break;
- }
- continue;
- }
-
- case v_ifset:
- if (v->origin == o_default)
- continue;
- break;
- }
-
- new_slot = (struct variable **) hash_find_slot (&table, v);
- if (HASH_VACANT (*new_slot))
- hash_insert_at (&table, v, new_slot);
- }
+ if (! export_all_variables
+ && v->origin != o_command
+ && v->origin != o_env && v->origin != o_env_override)
+ continue;
+ break;
+
+ case v_export:
+ break;
+
+ case v_noexport:
+ {
+ /* If this is the SHELL variable and it's not exported,
+ then add the value from our original environment, if
+ the original environment defined a value for SHELL. */
+ extern struct variable shell_var;
+ if (streq (v->name, "SHELL") && shell_var.value)
+ {
+ v = &shell_var;
+ break;
+ }
+ continue;
+ }
+
+ case v_ifset:
+ if (v->origin == o_default)
+ continue;
+ break;
+ }
+
+ new_slot = (struct variable **) hash_find_slot (&table, v);
+ if (HASH_VACANT (*new_slot))
+ hash_insert_at (&table, v, new_slot);
+ }
}
- makelevel_key.name = MAKELEVEL_NAME;
+ makelevel_key.name = xstrdup (MAKELEVEL_NAME);
makelevel_key.length = MAKELEVEL_LENGTH;
hash_delete (&table, &makelevel_key);
@@ -1044,32 +1051,32 @@ target_environment (struct file *file)
for ( ; v_slot < v_end; v_slot++)
if (! HASH_VACANT (*v_slot))
{
- struct variable *v = *v_slot;
-
- /* If V is recursively expanded and didn't come from the environment,
- expand its value. If it came from the environment, it should
- go back into the environment unchanged. */
- if (v->recursive
- && v->origin != o_env && v->origin != o_env_override)
- {
- char *value = recursively_expand_for_file (v, file);
+ struct variable *v = *v_slot;
+
+ /* If V is recursively expanded and didn't come from the environment,
+ expand its value. If it came from the environment, it should
+ go back into the environment unchanged. */
+ if (v->recursive
+ && v->origin != o_env && v->origin != o_env_override)
+ {
+ char *value = recursively_expand_for_file (v, file);
#ifdef WINDOWS32
- if (strcmp(v->name, "Path") == 0 ||
- strcmp(v->name, "PATH") == 0)
- convert_Path_to_windows32(value, ';');
+ if (strcmp (v->name, "Path") == 0 ||
+ strcmp (v->name, "PATH") == 0)
+ convert_Path_to_windows32 (value, ';');
#endif
- *result++ = xstrdup (concat (3, v->name, "=", value));
- free (value);
- }
- else
- {
+ *result++ = xstrdup (concat (3, v->name, "=", value));
+ free (value);
+ }
+ else
+ {
#ifdef WINDOWS32
- if (strcmp(v->name, "Path") == 0 ||
- strcmp(v->name, "PATH") == 0)
- convert_Path_to_windows32(v->value, ';');
+ if (strcmp (v->name, "Path") == 0 ||
+ strcmp (v->name, "PATH") == 0)
+ convert_Path_to_windows32 (v->value, ';');
#endif
- *result++ = xstrdup (concat (3, v->name, "=", v->value));
- }
+ *result++ = xstrdup (concat (3, v->name, "=", v->value));
+ }
}
*result = xmalloc (100);
@@ -1095,11 +1102,34 @@ set_special_var (struct variable *var)
return var;
}
+/* Given a string, shell-execute it and return a malloc'ed string of the
+ * result. This removes only ONE newline (if any) at the end, for maximum
+ * compatibility with the *BSD makes. If it fails, returns NULL. */
+
+char *
+shell_result (const char *p)
+{
+ char *buf;
+ unsigned int len;
+ char *args[2];
+ char *result;
+
+ install_variable_buffer (&buf, &len);
+
+ args[0] = (char *) p;
+ args[1] = NULL;
+ variable_buffer_output (func_shell_base (variable_buffer, args, 0), "\0", 1);
+ result = strdup (variable_buffer);
+
+ restore_variable_buffer (buf, len);
+ return result;
+}
+
/* Given a variable, a value, and a flavor, define the variable.
See the try_variable_definition() function for details on the parameters. */
struct variable *
-do_variable_definition (const struct 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)
{
@@ -1120,10 +1150,20 @@ do_variable_definition (const struct floc *flocp, const char *varname,
case f_simple:
/* A simple variable definition "var := value". Expand the value.
We have to allocate memory since otherwise it'll clobber the
- variable buffer, and we may still need that if we're looking at a
+ variable buffer, and we may still need that if we're looking at a
target-specific variable. */
p = alloc_value = allocated_variable_expand (value);
break;
+ case f_shell:
+ {
+ /* A shell definition "var != value". Expand value, pass it to
+ the shell, and store the result in recursively-expanded var. */
+ char *q = allocated_variable_expand (value);
+ p = alloc_value = shell_result (q);
+ free (q);
+ flavor = f_recursive;
+ break;
+ }
case f_conditional:
/* A conditional variable definition "var ?= value".
The value is set IFF the variable is not defined yet. */
@@ -1136,7 +1176,7 @@ do_variable_definition (const struct floc *flocp, const char *varname,
/* FALLTHROUGH */
case f_recursive:
/* A recursive variable definition "var = value".
- The value is used verbatim. */
+ The value is used verbatim. */
p = value;
break;
case f_append:
@@ -1192,8 +1232,7 @@ do_variable_definition (const struct floc *flocp, const char *varname,
alloc_value[oldlen] = ' ';
memcpy (&alloc_value[oldlen + 1], val, vallen + 1);
- if (tp)
- free (tp);
+ free (tp);
}
}
}
@@ -1201,7 +1240,7 @@ do_variable_definition (const struct floc *flocp, const char *varname,
#ifdef __MSDOS__
/* Many Unix Makefiles include a line saying "SHELL=/bin/sh", but
non-Unix systems don't conform to this default configuration (in
- fact, most of them don't even have `/bin'). On the other hand,
+ fact, most of them don't even have '/bin'). On the other hand,
$SHELL in the environment, if set, points to the real pathname of
the shell.
Therefore, we generally won't let lines like "SHELL=/bin/sh" from
@@ -1220,62 +1259,62 @@ do_variable_definition (const struct floc *flocp, const char *varname,
/* See if we can find "/bin/sh.exe", "/bin/sh.com", etc. */
if (__dosexec_find_on_path (p, NULL, shellpath))
- {
- char *tp;
+ {
+ char *tp;
- for (tp = shellpath; *tp; tp++)
+ for (tp = shellpath; *tp; tp++)
if (*tp == '\\')
*tp = '/';
- v = define_variable_loc (varname, strlen (varname),
+ v = define_variable_loc (varname, strlen (varname),
shellpath, origin, flavor == f_recursive,
flocp);
- }
+ }
else
- {
- const char *shellbase, *bslash;
- struct variable *pathv = lookup_variable ("PATH", 4);
- char *path_string;
- char *fake_env[2];
- size_t pathlen = 0;
-
- shellbase = strrchr (p, '/');
- bslash = strrchr (p, '\\');
- if (!shellbase || bslash > shellbase)
- shellbase = bslash;
- if (!shellbase && p[1] == ':')
- shellbase = p + 1;
- if (shellbase)
- shellbase++;
- else
- shellbase = p;
-
- /* Search for the basename of the shell (with standard
- executable extensions) along the $PATH. */
- if (pathv)
- pathlen = strlen (pathv->value);
- path_string = xmalloc (5 + pathlen + 2 + 1);
- /* On MSDOS, current directory is considered as part of $PATH. */
- sprintf (path_string, "PATH=.;%s", pathv ? pathv->value : "");
- fake_env[0] = path_string;
- fake_env[1] = 0;
- if (__dosexec_find_on_path (shellbase, fake_env, shellpath))
- {
- char *tp;
-
- for (tp = shellpath; *tp; tp++)
+ {
+ const char *shellbase, *bslash;
+ struct variable *pathv = lookup_variable ("PATH", 4);
+ char *path_string;
+ char *fake_env[2];
+ size_t pathlen = 0;
+
+ shellbase = strrchr (p, '/');
+ bslash = strrchr (p, '\\');
+ if (!shellbase || bslash > shellbase)
+ shellbase = bslash;
+ if (!shellbase && p[1] == ':')
+ shellbase = p + 1;
+ if (shellbase)
+ shellbase++;
+ else
+ shellbase = p;
+
+ /* Search for the basename of the shell (with standard
+ executable extensions) along the $PATH. */
+ if (pathv)
+ pathlen = strlen (pathv->value);
+ path_string = xmalloc (5 + pathlen + 2 + 1);
+ /* On MSDOS, current directory is considered as part of $PATH. */
+ sprintf (path_string, "PATH=.;%s", pathv ? pathv->value : "");
+ fake_env[0] = path_string;
+ fake_env[1] = 0;
+ if (__dosexec_find_on_path (shellbase, fake_env, shellpath))
+ {
+ char *tp;
+
+ for (tp = shellpath; *tp; tp++)
if (*tp == '\\')
*tp = '/';
- v = define_variable_loc (varname, strlen (varname),
+ v = define_variable_loc (varname, strlen (varname),
shellpath, origin,
flavor == f_recursive, flocp);
- }
- else
- v = lookup_variable (varname, strlen (varname));
+ }
+ else
+ v = lookup_variable (varname, strlen (varname));
- free (path_string);
- }
+ free (path_string);
+ }
}
else
#endif /* __MSDOS__ */
@@ -1283,10 +1322,10 @@ do_variable_definition (const struct floc *flocp, const char *varname,
if ((origin == o_file || origin == o_override || origin == o_command)
&& streq (varname, "SHELL"))
{
- extern char *default_shell;
+ extern const char *default_shell;
/* Call shell locator function. If it returns TRUE, then
- set no_default_sh_exe to indicate sh was found and
+ set no_default_sh_exe to indicate sh was found and
set new value for SHELL variable. */
if (find_and_set_default_shell (p))
@@ -1318,8 +1357,7 @@ do_variable_definition (const struct floc *flocp, const char *varname,
else
v = lookup_variable (varname, strlen (varname));
- if (tp)
- free (tp);
+ free (tp);
}
}
else
@@ -1339,69 +1377,79 @@ do_variable_definition (const struct floc *flocp, const char *varname,
v->append = append;
v->conditional = conditional;
- if (alloc_value)
- free (alloc_value);
+ free (alloc_value);
return v->special ? set_special_var (v) : v;
}
/* Parse P (a null-terminated string) as a variable definition.
- If it is not a variable definition, return NULL.
+ If it is not a variable definition, return NULL and the contents of *VAR
+ are undefined, except NAME is set to the first non-space character or NIL.
If it is a variable definition, return a pointer to the char after the
- assignment token and set *FLAVOR to the type of variable assignment. */
+ assignment token and set the following fields (only) of *VAR:
+ name : name of the variable (ALWAYS SET) (NOT NUL-TERMINATED!)
+ length : length of the variable name
+ value : value of the variable (nul-terminated)
+ flavor : flavor of the variable
+ Other values in *VAR are unchanged.
+ */
char *
-parse_variable_definition (const char *p, enum variable_flavor *flavor)
+parse_variable_definition (const char *p, struct variable *var)
{
int wspace = 0;
+ const char *e = NULL;
p = next_token (p);
+ var->name = (char *)p;
+ var->length = 0;
while (1)
{
int c = *p++;
/* If we find a comment or EOS, it's not a variable definition. */
- if (c == '\0' || c == '#')
- return NULL;
+ if (STOP_SET (c, MAP_COMMENT|MAP_NUL))
+ return NULL;
if (c == '$')
- {
- /* This begins a variable expansion reference. Make sure we don't
- treat chars inside the reference as assignment tokens. */
- char closeparen;
- int count;
- c = *p++;
- if (c == '(')
- closeparen = ')';
- else if (c == '{')
- closeparen = '}';
- else
+ {
+ /* This begins a variable expansion reference. Make sure we don't
+ treat chars inside the reference as assignment tokens. */
+ char closeparen;
+ int count;
+ c = *p++;
+ if (c == '(')
+ closeparen = ')';
+ else if (c == '{')
+ closeparen = '}';
+ 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. */
- count = 0;
- for (; *p != '\0'; ++p)
- {
- if (*p == c)
- ++count;
- else if (*p == closeparen && --count < 0)
- {
- ++p;
- break;
- }
- }
+ continue;
+
+ /* P now points past the opening paren or brace.
+ Count parens or braces until it is matched. */
+ count = 0;
+ for (; *p != '\0'; ++p)
+ {
+ if (*p == c)
+ ++count;
+ else if (*p == closeparen && --count < 0)
+ {
+ ++p;
+ break;
+ }
+ }
continue;
- }
+ }
/* If we find whitespace skip it, and remember we found it. */
if (isblank ((unsigned char)c))
{
wspace = 1;
+ e = p - 1;
p = next_token (p);
c = *p;
if (c == '\0')
@@ -1411,24 +1459,29 @@ parse_variable_definition (const char *p, enum variable_flavor *flavor)
if (c == '=')
- {
- *flavor = f_recursive;
- return (char *)p;
- }
+ {
+ var->flavor = f_recursive;
+ if (! e)
+ e = p - 1;
+ break;
+ }
- /* Match assignment variants (:=, +=, ?=) */
+ /* Match assignment variants (:=, +=, ?=, !=) */
if (*p == '=')
{
switch (c)
{
case ':':
- *flavor = f_simple;
+ var->flavor = f_simple;
break;
case '+':
- *flavor = f_append;
+ var->flavor = f_append;
break;
case '?':
- *flavor = f_conditional;
+ var->flavor = f_conditional;
+ break;
+ case '!':
+ var->flavor = f_shell;
break;
default:
/* If we skipped whitespace, non-assignments means no var. */
@@ -1438,54 +1491,59 @@ parse_variable_definition (const char *p, enum variable_flavor *flavor)
/* Might be assignment, or might be $= or #=. Check. */
continue;
}
- return (char *)++p;
+ if (! e)
+ e = p - 1;
+ ++p;
+ break;
+ }
+
+ /* Check for POSIX ::= syntax */
+ if (c == ':')
+ {
+ /* A colon other than :=/::= is not a variable defn. */
+ if (*p != ':' || p[1] != '=')
+ return NULL;
+
+ /* POSIX allows ::= to be the same as GNU make's := */
+ var->flavor = f_simple;
+ if (! e)
+ e = p - 1;
+ p += 2;
+ break;
}
- else if (c == ':')
- /* A colon other than := is a rule line, not a variable defn. */
- return NULL;
/* If we skipped whitespace, non-assignments means no var. */
if (wspace)
return NULL;
}
+ var->length = e - var->name;
+ var->value = next_token (p);
return (char *)p;
}
/* Try to interpret LINE (a null-terminated string) as a variable definition.
- If LINE was recognized as a variable definition, a pointer to its `struct
+ If LINE was recognized as a variable definition, a pointer to its 'struct
variable' is returned. If LINE is not a variable definition, NULL is
returned. */
struct variable *
-assign_variable_definition (struct variable *v, char *line)
+assign_variable_definition (struct variable *v, const char *line)
{
- char *beg;
- char *end;
- enum variable_flavor flavor;
char *name;
- beg = next_token (line);
- line = parse_variable_definition (beg, &flavor);
- if (!line)
+ if (!parse_variable_definition (line, v))
return NULL;
- end = line - (flavor == f_recursive ? 1 : 2);
- while (end > beg && isblank ((unsigned char)end[-1]))
- --end;
- line = next_token (line);
- v->value = line;
- v->flavor = flavor;
-
/* Expand the name, so "$(foo)bar = baz" works. */
- name = alloca (end - beg + 1);
- memcpy (name, beg, end - beg);
- name[end - beg] = '\0';
+ name = alloca (v->length + 1);
+ memcpy (name, v->name, v->length);
+ name[v->length] = '\0';
v->name = allocated_variable_expand (name);
if (v->name[0] == '\0')
- fatal (&v->fileinfo, _("empty variable name"));
+ O (fatal, &v->fileinfo, _("empty variable name"));
return v;
}
@@ -1499,12 +1557,12 @@ assign_variable_definition (struct variable *v, char *line)
See the comments for assign_variable_definition().
- If LINE was recognized as a variable definition, a pointer to its `struct
+ If LINE was recognized as a variable definition, a pointer to its 'struct
variable' is returned. If LINE is not a variable definition, NULL is
returned. */
struct variable *
-try_variable_definition (const struct floc *flocp, char *line,
+try_variable_definition (const gmk_floc *flocp, const char *line,
enum variable_origin origin, int target_var)
{
struct variable v;
@@ -1537,6 +1595,9 @@ print_variable (const void *item, void *arg)
switch (v->origin)
{
+ case o_automatic:
+ origin = _("automatic");
+ break;
case o_default:
origin = _("default");
break;
@@ -1553,10 +1614,7 @@ print_variable (const void *item, void *arg)
origin = _("command line");
break;
case o_override:
- origin = _("`override' directive");
- break;
- case o_automatic:
- origin = _("automatic");
+ origin = _("'override' directive");
break;
case o_invalid:
default:
@@ -1567,12 +1625,12 @@ print_variable (const void *item, void *arg)
if (v->private_var)
fputs (" private", stdout);
if (v->fileinfo.filenm)
- printf (_(" (from `%s', line %lu)"),
+ printf (_(" (from '%s', line %lu)"),
v->fileinfo.filenm, v->fileinfo.lineno);
putchar ('\n');
fputs (prefix, stdout);
- /* Is this a `define'? */
+ /* Is this a 'define'? */
if (v->recursive && strchr (v->value, '\n') != 0)
printf ("define %s\n%s\nendef\n", v->name, v->value);
else
@@ -1584,30 +1642,51 @@ print_variable (const void *item, void *arg)
/* Check if the value is just whitespace. */
p = next_token (v->value);
if (p != v->value && *p == '\0')
- /* All whitespace. */
- printf ("$(subst ,,%s)", v->value);
+ /* All whitespace. */
+ printf ("$(subst ,,%s)", v->value);
else if (v->recursive)
- fputs (v->value, stdout);
+ fputs (v->value, stdout);
else
- /* Double up dollar signs. */
- for (p = v->value; *p != '\0'; ++p)
- {
- if (*p == '$')
- putchar ('$');
- putchar (*p);
- }
+ /* Double up dollar signs. */
+ for (p = v->value; *p != '\0'; ++p)
+ {
+ if (*p == '$')
+ putchar ('$');
+ putchar (*p);
+ }
putchar ('\n');
}
}
+static void
+print_auto_variable (const void *item, void *arg)
+{
+ const struct variable *v = item;
+
+ if (v->origin == o_automatic)
+ print_variable (item, arg);
+}
+
+
+static void
+print_noauto_variable (const void *item, void *arg)
+{
+ const struct variable *v = item;
+
+ if (v->origin != o_automatic)
+ print_variable (item, arg);
+}
+
+
/* Print all the variables in SET. PREFIX is printed before
the actual variable definitions (everything else is comments). */
-void
-print_variable_set (struct variable_set *set, char *prefix)
+static void
+print_variable_set (struct variable_set *set, const char *prefix, int pauto)
{
- hash_map_arg (&set->table, print_variable, prefix);
+ hash_map_arg (&set->table, (pauto ? print_auto_variable : print_variable),
+ (void *)prefix);
fputs (_("# variable set hash-table stats:\n"), stdout);
fputs ("# ", stdout);
@@ -1622,7 +1701,7 @@ print_variable_data_base (void)
{
puts (_("\n# Variables\n"));
- print_variable_set (&global_variable_set, "");
+ print_variable_set (&global_variable_set, "", 0);
puts (_("\n# Pattern-specific Variable Values"));
@@ -1634,7 +1713,7 @@ print_variable_data_base (void)
{
++rules;
printf ("\n%s :\n", p->target);
- print_variable (&p->variable, "# ");
+ print_variable (&p->variable, (void *)"# ");
}
if (rules == 0)
@@ -1651,7 +1730,24 @@ void
print_file_variables (const struct file *file)
{
if (file->variables != 0)
- print_variable_set (file->variables->set, "# ");
+ print_variable_set (file->variables->set, "# ", 1);
+}
+
+void
+print_target_variables (const struct file *file)
+{
+ if (file->variables != 0)
+ {
+ int l = strlen (file->name);
+ char *t = alloca (l + 3);
+
+ strcpy (t, file->name);
+ t[l] = ':';
+ t[l+1] = ' ';
+ t[l+2] = '\0';
+
+ hash_map_arg (&file->variables->set->table, print_noauto_variable, t);
+ }
}
#ifdef WINDOWS32
@@ -1664,16 +1760,10 @@ sync_Path_environment (void)
if (!path)
return;
- /*
- * If done this before, don't leak memory unnecessarily.
- * Free the previous entry before allocating new one.
- */
- if (environ_path)
- free (environ_path);
+ /* If done this before, free the previous entry before allocating new one. */
+ free (environ_path);
- /*
- * Create something WINDOWS32 world can grok
- */
+ /* Create something WINDOWS32 world can grok. */
convert_Path_to_windows32 (path, ';');
environ_path = xstrdup (concat (3, "PATH", "=", path));
putenv (environ_path);
diff --git a/variable.h b/variable.h
index c2158672..fa2dbbd1 100644
--- a/variable.h
+++ b/variable.h
@@ -1,7 +1,5 @@
/* Definitions for using variables in GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -22,62 +20,63 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
Increasing numeric values signify less-overridable definitions. */
enum variable_origin
{
- o_default, /* Variable from the default set. */
- o_env, /* Variable from environment. */
- o_file, /* Variable given in a makefile. */
- o_env_override, /* Variable from environment, if -e. */
- o_command, /* Variable given by user. */
- o_override, /* Variable from an `override' directive. */
- o_automatic, /* Automatic variable -- cannot be set. */
- o_invalid /* Core dump time. */
+ o_default, /* Variable from the default set. */
+ o_env, /* Variable from environment. */
+ o_file, /* Variable given in a makefile. */
+ o_env_override, /* Variable from environment, if -e. */
+ o_command, /* Variable given by user. */
+ o_override, /* Variable from an 'override' directive. */
+ o_automatic, /* Automatic variable -- cannot be set. */
+ o_invalid /* Core dump time. */
};
enum variable_flavor
{
f_bogus, /* Bogus (error) */
- f_simple, /* Simple definition (:=) */
+ f_simple, /* Simple definition (:= or ::=) */
f_recursive, /* Recursive definition (=) */
f_append, /* Appending definition (+=) */
- f_conditional /* Conditional definition (?=) */
+ f_conditional, /* Conditional definition (?=) */
+ f_shell /* Shell assignment (!=) */
};
/* Structure that represents one variable definition.
Each bucket of the hash table is a chain of these,
- chained through `next'. */
+ chained through 'next'. */
#define EXP_COUNT_BITS 15 /* This gets all the bitfields into 32 bits */
#define EXP_COUNT_MAX ((1<<EXP_COUNT_BITS)-1)
struct variable
{
- char *name; /* Variable name. */
- int length; /* strlen (name) */
- char *value; /* Variable value. */
- struct floc fileinfo; /* Where the variable was defined. */
- unsigned int recursive:1; /* Gets recursively re-evaluated. */
- unsigned int append:1; /* Nonzero if an appending target-specific
+ char *name; /* Variable name. */
+ char *value; /* Variable value. */
+ 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
variable. */
unsigned int conditional:1; /* Nonzero if set with a ?=. */
- unsigned int per_target:1; /* Nonzero if a target-specific variable. */
+ unsigned int per_target:1; /* Nonzero if a target-specific variable. */
unsigned int special:1; /* Nonzero if this is a special variable. */
unsigned int exportable:1; /* Nonzero if the variable _could_ be
exported. */
- unsigned int expanding:1; /* Nonzero if currently being expanded. */
+ unsigned int expanding:1; /* Nonzero if currently being expanded. */
unsigned int private_var:1; /* Nonzero avoids inheritance of this
target-specific variable. */
unsigned int exp_count:EXP_COUNT_BITS;
/* If >1, allow this many self-referential
expansions. */
enum variable_flavor
- flavor ENUM_BITFIELD (3); /* Variable flavor. */
+ flavor ENUM_BITFIELD (3); /* Variable flavor. */
enum variable_origin
- origin ENUM_BITFIELD (3); /* Variable origin. */
+ origin ENUM_BITFIELD (3); /* Variable origin. */
enum variable_export
{
- v_export, /* Export this variable. */
- v_noexport, /* Don't export this variable. */
- v_ifset, /* Export it if it has a non-default value. */
- v_default /* Decide in target_environment. */
+ v_export, /* Export this variable. */
+ v_noexport, /* Don't export this variable. */
+ v_ifset, /* Export it if it has a non-default value. */
+ v_default /* Decide in target_environment. */
} export ENUM_BITFIELD (2);
};
@@ -85,15 +84,15 @@ struct variable
struct variable_set
{
- struct hash_table table; /* Hash table of variables. */
+ struct hash_table table; /* Hash table of variables. */
};
/* Structure that represents a list of variable sets. */
struct variable_set_list
{
- struct variable_set_list *next; /* Link in the chain. */
- struct variable_set *set; /* Variable set. */
+ struct variable_set_list *next; /* Link in the chain. */
+ struct variable_set *set; /* Variable set. */
int next_is_parent; /* True if next is a parent target. */
};
@@ -117,7 +116,7 @@ char *variable_buffer_output (char *ptr, const char *string, unsigned int length
char *variable_expand (const char *line);
char *variable_expand_for_file (const char *line, struct file *file);
char *allocated_variable_expand_for_file (const char *line, struct file *file);
-#define allocated_variable_expand(line) \
+#define allocated_variable_expand(line) \
allocated_variable_expand_for_file (line, (struct file *) 0)
char *expand_argument (const char *str, const char *end);
char *variable_expand_string (char *line, const char *string, long length);
@@ -134,6 +133,8 @@ char *patsubst_expand_pat (char *o, const char *text, const char *pattern,
const char *replace, const char *pattern_percent,
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);
+
/* expand.c */
char *recursively_expand_for_file (struct variable *v, struct file *file);
@@ -147,22 +148,26 @@ void pop_variable_scope (void);
void define_automatic_variables (void);
void initialize_file_variables (struct file *file, int reading);
void print_file_variables (const struct file *file);
-void print_variable_set (struct variable_set *set, char *prefix);
+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 struct 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,
int target_var);
char *parse_variable_definition (const char *line,
- enum variable_flavor *flavor);
-struct variable *assign_variable_definition (struct variable *v, char *line);
-struct variable *try_variable_definition (const struct floc *flocp, char *line,
+ struct variable *v);
+struct variable *assign_variable_definition (struct variable *v, 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 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);
struct variable *lookup_variable_in_set (const char *name, unsigned int length,
const struct variable_set *set);
@@ -172,7 +177,7 @@ struct variable *define_variable_in_set (const char *name, unsigned int length,
enum variable_origin origin,
int recursive,
struct variable_set *set,
- const struct floc *flocp);
+ const gmk_floc *flocp);
/* Define a variable in the current variable set. */
@@ -214,10 +219,10 @@ void undefine_variable_in_set (const char *name, unsigned int length,
/* Warn that NAME is an undefined variable. */
#define warn_undefined(n,l) do{\
- if (warn_undefined_variables_flag) \
- error (reading_file, \
- _("warning: undefined variable `%.*s'"), \
- (int)(l), (n)); \
+ if (warn_undefined_variables_flag) \
+ error (reading_file, (l), \
+ _("warning: undefined variable '%.*s'"), \
+ (int)(l), (n)); \
}while(0)
char **target_environment (struct file *file);
@@ -228,4 +233,4 @@ struct pattern_var *create_pattern_var (const char *target,
extern int export_all_variables;
#define MAKELEVEL_NAME "MAKELEVEL"
-#define MAKELEVEL_LENGTH (sizeof (MAKELEVEL_NAME) - 1)
+#define MAKELEVEL_LENGTH (CSTRLEN (MAKELEVEL_NAME))
diff --git a/version.c b/version.c
index a770e220..d94ecec3 100644
--- a/version.c
+++ b/version.c
@@ -1,7 +1,5 @@
/* Record version and build host architecture for GNU make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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,15 +16,15 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/* We use <config.h> instead of "config.h" so that a compilation
using -I. -I$srcdir will use ./config.h rather than $srcdir/config.h
- (which it would do because make.h was found in $srcdir). */
+ (which it would do because makeint.h was found in $srcdir). */
#include <config.h>
#ifndef MAKE_HOST
# define MAKE_HOST "unknown"
#endif
-char *version_string = VERSION;
-char *make_host = MAKE_HOST;
+const char *version_string = VERSION;
+const char *make_host = MAKE_HOST;
/*
Local variables:
diff --git a/vmsdir.h b/vmsdir.h
index cb17818f..3be3f0c0 100644
--- a/vmsdir.h
+++ b/vmsdir.h
@@ -1,6 +1,5 @@
/* dirent.h for vms
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-2007, 2008, 2009, 2010 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
@@ -45,7 +44,7 @@ struct direct
+ ((dp)->d_namlen+1)) \
+ 3) & ~3)
-#define d_ino d_fileno /* compatability */
+#define d_ino d_fileno /* compatibility */
/*
diff --git a/vmsfunctions.c b/vmsfunctions.c
index 5b867d9e..6ed136ce 100644
--- a/vmsfunctions.c
+++ b/vmsfunctions.c
@@ -1,6 +1,5 @@
/* VMS functions
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-2007, 2008, 2009, 2010 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
@@ -15,18 +14,18 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
#include "debug.h"
#include "job.h"
+#include <ctype.h>
+#include <string.h>
+
#ifdef __DECC
#include <starlet.h>
#endif
-#include <descrip.h>
+
#include <rms.h>
-#include <iodef.h>
-#include <atrdef.h>
-#include <fibdef.h>
#include "vmsdir.h"
#ifdef HAVE_VMSDIR_H
@@ -128,135 +127,100 @@ closedir (DIR *dir)
}
#endif /* compiled for OpenVMS prior to V7.x */
-char *
-getwd (char *cwd)
+/* Argv0 will be a full vms file specification, like
+ node$dka100:[utils.gnumake]make.exe;47
+ prefix it with "mcr " to make it a vms command, executable for DCL. */
+const char *
+vms_command(const char* argv0)
{
- static char buf[512];
-
- if (cwd)
- return (getcwd (cwd, 512));
- else
- return (getcwd (buf, 512));
+ size_t l = strlen(argv0) + 1;
+ char* s = xmalloc(l + 4);
+ memcpy(s, "mcr ", 4);
+ memcpy(s+4, argv0, l);
+ return s;
}
-#if 0
-/*
- * Is this used? I don't see any reference, so I suggest to remove it.
- */
-int
-vms_stat (char *name, struct stat *buf)
+/* Argv0 aka argv[0] will be a full vms file specification, like
+ node$dka100:[utils.gnumake]make.exe;47, set up by the CRTL.
+ The vms progname should be ^^^^, the file name without
+ file type .exe and ;version.
+ Use sys$parse to get the name part of the file specification. That is
+ in the above example, pick up "make" and return a copy of that string.
+ If something goes wrong in sys$parse (unlikely, this is a VMS/CRTL supplied
+ file specification) or if there is an empty name part (not easy to produce,
+ but it is possible) just return "make".
+ Somes notes ...
+ NAM[L]$M_SYNCHK requests a syntax check, only.
+ NAM is for ODS2 names (shorter parts, output usually converted to UPPERCASE).
+ NAML is for ODS2/ODS5 names (longer parts, output unchanged).
+ NAM$M_NO_SHORT_UPCASE may not be available for older versions of VMS.
+ NAML is not available on older versions of VMS (NAML$C_BID not defined).
+ argv[0] on older versions of VMS (no extended parse style and no
+ CRTL feature DECC$ARGV_PARSE_STYLE) is always in lowercase. */
+const char *
+vms_progname(const char* argv0)
{
int status;
- int i;
+ static struct FAB fab;
+ char *progname;
+ const char *fallback = "make";
- static struct FAB Fab;
- static struct NAM Nam;
- static struct fibdef Fib; /* short fib */
- static struct dsc$descriptor FibDesc =
- { sizeof (Fib), DSC$K_DTYPE_Z, DSC$K_CLASS_S, (char *) &Fib };
- static struct dsc$descriptor_s DevDesc =
- { 0, DSC$K_DTYPE_T, DSC$K_CLASS_S, &Nam.nam$t_dvi[1] };
- static char EName[NAM$C_MAXRSS];
- static char RName[NAM$C_MAXRSS];
- static struct dsc$descriptor_s FileName =
- { 0, DSC$K_DTYPE_T, DSC$K_CLASS_S, 0 };
- static struct dsc$descriptor_s string =
- { 0, DSC$K_DTYPE_T, DSC$K_CLASS_S, 0 };
- static unsigned long Rdate[2];
- static unsigned long Cdate[2];
- static struct atrdef Atr[] =
- {
-#if defined(VAX)
- /* Revision date */
- { sizeof (Rdate), ATR$C_REVDATE, (unsigned int) &Rdate[0] },
- /* Creation date */
- { sizeof (Cdate), ATR$C_CREDATE, (unsigned int) &Cdate[0] },
+#ifdef NAML$C_BID
+ static char esa[NAML$C_MAXRSS];
+ static struct NAML naml;
#else
- /* Revision date */
- { sizeof (Rdate), ATR$C_REVDATE, &Rdate[0] },
- /* Creation date */
- { sizeof (Cdate), ATR$C_CREDATE, &Cdate[0]},
+ static char esa[NAM$C_MAXRSS];
+ static struct NAM nam;
#endif
- { 0, 0, 0 }
- };
- static short int DevChan;
- static short int iosb[4];
-
- name = vmsify (name, 0);
-
- /* initialize RMS structures, we need a NAM to retrieve the FID */
- Fab = cc$rms_fab;
- Fab.fab$l_fna = name; /* name of file */
- Fab.fab$b_fns = strlen (name);
- Fab.fab$l_nam = &Nam; /* FAB has an associated NAM */
-
- Nam = cc$rms_nam;
- Nam.nam$l_esa = EName; /* expanded filename */
- Nam.nam$b_ess = sizeof (EName);
- Nam.nam$l_rsa = RName; /* resultant filename */
- Nam.nam$b_rss = sizeof (RName);
-
- /* do $PARSE and $SEARCH here */
- status = sys$parse (&Fab);
- if (!(status & 1))
- return -1;
- DevDesc.dsc$w_length = Nam.nam$t_dvi[0];
- status = sys$assign (&DevDesc, &DevChan, 0, 0);
- if (!(status & 1))
- return -1;
-
- FileName.dsc$a_pointer = Nam.nam$l_name;
- FileName.dsc$w_length = Nam.nam$b_name + Nam.nam$b_type + Nam.nam$b_ver;
-
- /* Initialize the FIB */
- for (i = 0; i < 3; i++)
- {
-#ifndef __VAXC
- Fib.fib$w_fid[i] = Nam.nam$w_fid[i];
- Fib.fib$w_did[i] = Nam.nam$w_did[i];
+ fab = cc$rms_fab;
+ fab.fab$l_fna = (char*)argv0;
+ fab.fab$b_fns = strlen(argv0);
+
+#ifdef NAML$C_BID
+ fab.fab$l_naml = &naml;
+ naml = cc$rms_naml;
+ naml.naml$l_long_expand = esa;
+ naml.naml$l_long_expand_alloc = NAML$C_MAXRSS;
+ naml.naml$b_nop = NAML$M_SYNCHK;
+ naml.naml$l_input_flags = NAML$M_NO_SHORT_OUTPUT;
#else
- Fib.fib$r_fid_overlay.fib$w_fid[i] = Nam.nam$w_fid[i];
- Fib.fib$r_did_overlay.fib$w_did[i] = Nam.nam$w_did[i];
+ fab.fab$l_nam = &nam;
+ nam = cc$rms_nam;
+ nam.nam$l_esa = esa;
+ nam.nam$b_ess = NAM$C_MAXRSS;
+# ifdef NAM$M_NO_SHORT_UPCASE
+ nam.nam$b_nop = NAM$M_SYNCHK | NAM$M_NO_SHORT_UPCASE;
+# else
+ nam.nam$b_nop = NAM$M_SYNCHK;
+# endif
#endif
- }
- status = sys$qiow (0, DevChan, IO$_ACCESS, &iosb, 0, 0,
- &FibDesc, &FileName, 0, 0, &Atr, 0);
- sys$dassgn (DevChan);
- if (!(status & 1))
- return -1;
- status = iosb[0];
+ status = sys$parse(&fab);
if (!(status & 1))
- return -1;
-
- status = stat (name, buf);
- if (status)
- return -1;
-
- buf->st_mtime = ((Rdate[0] >> 24) & 0xff) + ((Rdate[1] << 8) & 0xffffff00);
- buf->st_ctime = ((Cdate[0] >> 24) & 0xff) + ((Cdate[1] << 8) & 0xffffff00);
-
- return 0;
-}
+ return fallback;
+
+#ifdef NAML$C_BID
+ if (naml.naml$l_long_name_size == 0)
+ return fallback;
+ progname = xmalloc(naml.naml$l_long_name_size + 1);
+ memcpy(progname, naml.naml$l_long_name, naml.naml$l_long_name_size);
+ progname[naml.naml$l_long_name_size] = '\0';
+#else
+ if (nam.nam$b_name == 0)
+ return fallback;
+ progname = xmalloc(nam.nam$b_name + 1);
+# ifdef NAM$M_NO_SHORT_UPCASE
+ memcpy(progname, nam.nam$l_name, nam.nam$b_name);
+# else
+ {
+ int i;
+ for (i = 0; i < nam.nam$b_name; i++)
+ progname[i] = tolower(nam.nam$l_name[i]);
+ }
+# endif
+ progname[nam.nam$b_name] = '\0';
#endif
-char *
-cvt_time (unsigned long tval)
-{
- static long int date[2];
- static char str[27];
- static struct dsc$descriptor date_str =
- { 26, DSC$K_DTYPE_T, DSC$K_CLASS_S, str };
-
- date[0] = (tval & 0xff) << 24;
- date[1] = ((tval >> 8) & 0xffffff);
-
- if ((date[0] == 0) && (date[1] == 0))
- return ("never");
-
- sys$asctim (0, &date_str, date, 0);
- str[26] = '\0';
-
- return (str);
+ return progname;
}
diff --git a/vmsify.c b/vmsify.c
index f58fee73..02bdbf59 100644
--- a/vmsify.c
+++ b/vmsify.c
@@ -1,6 +1,5 @@
/* vmsify.c -- Module for vms <-> unix file name conversion
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-2007, 2008, 2009, 2010 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
@@ -23,6 +22,8 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#include <string.h>
#include <ctype.h>
+#include "makeint.h"
+
#if VMS
#include <unixlib.h>
#include <stdlib.h>
@@ -138,9 +139,7 @@ trnlog (const char *name)
}
reslt[resltlen] = '\0';
- s = malloc (resltlen+1);
- if (s == 0)
- return "";
+ s = xmalloc (resltlen+1);
strcpy (s, reslt);
return s;
}
@@ -222,10 +221,11 @@ vmsify (const char *name, int type)
max 39 filetype
max 5 version
*/
-#define MAXPATHLEN 512
+/* todo: VMSMAXPATHLEN is defined for ODS2 names: it needs to be adjusted. */
+#define VMSMAXPATHLEN 512
enum namestate nstate;
- static char vmsname[MAXPATHLEN+1];
+ static char vmsname[VMSMAXPATHLEN+1];
const char *fptr;
const char *t;
char *vptr;
@@ -403,9 +403,9 @@ vmsify (const char *name, int type)
fptr++;
if (*fptr == 0) /* just // */
{
- char cwdbuf[MAXPATHLEN+1];
+ char cwdbuf[VMSMAXPATHLEN+1];
- s1 = getcwd(cwdbuf, MAXPATHLEN);
+ s1 = getcwd(cwdbuf, VMSMAXPATHLEN);
if (s1 == 0)
{
vmsname[0] = '\0';
@@ -797,9 +797,9 @@ vmsify (const char *name, int type)
}
{ /* got '..' or '../' */
char *vp;
- char cwdbuf[MAXPATHLEN+1];
+ char cwdbuf[VMSMAXPATHLEN+1];
- vp = getcwd(cwdbuf, MAXPATHLEN);
+ vp = getcwd(cwdbuf, VMSMAXPATHLEN);
if (vp == 0)
{
vmsname[0] = '\0';
@@ -857,9 +857,9 @@ vmsify (const char *name, int type)
{
char *vp;
- char cwdbuf[MAXPATHLEN+1];
+ char cwdbuf[VMSMAXPATHLEN+1];
- vp = getcwd(cwdbuf, MAXPATHLEN);
+ vp = getcwd(cwdbuf, VMSMAXPATHLEN);
if (vp == 0)
{
vmsname[0] = '\0';
diff --git a/vmsjobs.c b/vmsjobs.c
index 05c8dbaa..b11bca13 100644
--- a/vmsjobs.c
+++ b/vmsjobs.c
@@ -1,8 +1,7 @@
/* --------------- Moved here from job.c ---------------
This file must be #included in job.c, as it accesses static functions.
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-2007, 2008, 2009, 2010 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,10 +31,10 @@ vmsWaitForChildren(int *status)
while (1)
{
if (!vms_jobsefnmask)
- {
- *status = 0;
- return;
- }
+ {
+ *status = 0;
+ return;
+ }
*status = sys$wflor (32, vms_jobsefnmask);
}
@@ -44,10 +43,11 @@ vmsWaitForChildren(int *status)
/* Set up IO redirection. */
-char *
+static char *
vms_redirect (struct dsc$descriptor_s *desc, char *fname, char *ibuf)
{
char *fptr;
+ char saved;
ibuf++;
while (isspace ((unsigned char)*ibuf))
@@ -55,57 +55,54 @@ vms_redirect (struct dsc$descriptor_s *desc, char *fname, char *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, ".");
+ strcat (fname, ".");
}
- desc->dsc$w_length = strlen(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"));
- return ibuf;
+ if (saved=='\0')
+ return ibuf;
+ *ibuf = saved;
+ return --ibuf;
}
/* found apostrophe at (p-1)
inc p until after closing apostrophe.
- */
+*/
-char *
+static char *
vms_handle_apos (char *p)
{
int alast;
-
-#define SEPCHARS ",/()= "
-
alast = 0;
while (*p != 0)
- {
- if (*p == '"')
- {
- if (alast)
- {
- alast = 0;
- p++;
- }
- else
- {
- p++;
- if (strchr (SEPCHARS, *p))
- break;
- alast = 1;
- }
- }
+ if (*p == '"')
+ if (alast)
+ {
+ alast = 0;
+ p++;
+ }
else
- p++;
- }
+ {
+ p++;
+ if (*p!='"')
+ break;
+ alast = 1;
+ }
+ else
+ p++;
return p;
}
@@ -116,103 +113,104 @@ static int ctrlYPressed= 0;
terminated. At AST level it won't get interrupted by anything except a
inner mode level AST.
*/
-int
+static int
vmsHandleChildTerm(struct child *child)
{
- int status;
- register struct child *lastc, *c;
- int child_failed;
+ int exit_code;
+ register struct child *lastc, *c;
+ int child_failed;
- vms_jobsefnmask &= ~(1 << (child->efn - 32));
+ vms_jobsefnmask &= ~(1 << (child->efn - 32));
- lib$free_ef(&child->efn);
- if (child->comname)
- {
- if (!ISDB (DB_JOBS)&&!ctrlYPressed)
- unlink (child->comname);
- free (child->comname);
- }
+ lib$free_ef (&child->efn);
+ if (child->comname)
+ {
+ if (!ISDB (DB_JOBS) && !ctrlYPressed)
+ unlink (child->comname);
+ free (child->comname);
+ }
- (void) sigblock (fatal_signal_mask);
+ (void) sigblock (fatal_signal_mask);
- child_failed = !(child->cstatus & 1 || ((child->cstatus & 7) == 0));
+ child_failed = !(child->cstatus & 1);
+ if (child_failed)
+ exit_code = child->cstatus;
- /* Search for a child matching the deceased one. */
- lastc = 0;
+ /* Search for a child matching the deceased one. */
+ lastc = 0;
#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)
- ;
+ for (c = children; c != 0 && c != child; lastc = c, c = c->next)
+ ;
#else
- c = child;
+ c = child;
#endif
- if (child_failed && !c->noerror && !ignore_errors_flag)
- {
- /* The commands failed. Write an error message,
- delete non-precious targets, and abort. */
- child_error (c->file->name, c->cstatus, 0, 0, 0);
- c->file->update_status = 1;
- delete_child_targets (c);
- }
- else
- {
- if (child_failed)
- {
- /* The commands failed, but we don't care. */
- child_error (c->file->name, c->cstatus, 0, 0, 1);
- child_failed = 0;
- }
+ if (child_failed && !c->noerror && !ignore_errors_flag)
+ {
+ /* 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 != 0) {
- /* We failed to start the commands. */
- delete_child_targets (c);
- }
- break;
-
- default:
- error (NILF, _("internal error: `%s' command_state"),
- c->file->name);
- abort ();
- break;
- }
+ /* 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);
+ /* 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);
+ /* 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;
+ /* 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_FAILURE);
+ /* 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));
+ (void) sigsetmask (sigblock (0) & ~(fatal_signal_mask));
- return 1;
+ return 1;
}
/* VMS:
@@ -233,69 +231,88 @@ static unsigned short int chan= 0;
static void
reEnableAst(void)
{
- lib$enable_ctrl (&oldCtrlMask,0);
+ lib$enable_ctrl (&oldCtrlMask,0);
}
static int
astYHandler (void)
{
- struct child *c;
- for (c = children; c != 0; c = c->next)
- sys$delprc (&c->pid, 0, 0);
- ctrlYPressed= 1;
- kill (getpid(),SIGQUIT);
- return SS$_NORMAL;
+ struct child *c;
+ for (c = children; c != 0; c = c->next)
+ sys$delprc (&c->pid, 0, 0);
+ ctrlYPressed= 1;
+ kill (getpid(),SIGQUIT);
+ return SS$_NORMAL;
}
static void
tryToSetupYAst(void)
{
- $DESCRIPTOR(inputDsc,"SYS$COMMAND");
- int status;
- struct {
- short int status, count;
- int dvi;
- } iosb;
- unsigned short int loc_chan;
-
- setupYAstTried++;
-
- if (chan)
- loc_chan= chan;
- else {
- status= sys$assign(&inputDsc,&loc_chan,0,0);
- if (!(status&SS$_NORMAL)) {
- lib$signal(status);
- return;
- }
- }
- status= sys$qiow (0, loc_chan, IO$_SETMODE|IO$M_CTRLYAST,&iosb,0,0,
- astYHandler,0,0,0,0,0);
- if (status==SS$_NORMAL)
- status= iosb.status;
- if (status!=SS$_NORMAL) {
- if (!chan)
- sys$dassgn(loc_chan);
- if (status!=SS$_ILLIOFUNC && status!=SS$_NOPRIV)
- lib$signal(status);
- return;
- }
-
- /* called from AST handler ? */
- if (setupYAstTried>1)
- return;
- if (atexit(reEnableAst))
- fprintf (stderr,
- _("-warning, you may have to re-enable CTRL-Y handling from DCL.\n"));
- status= lib$disable_ctrl (&ctrlMask, &oldCtrlMask);
- if (!(status&SS$_NORMAL)) {
- lib$signal(status);
- return;
- }
- if (!chan)
- chan = loc_chan;
+ $DESCRIPTOR(inputDsc,"SYS$COMMAND");
+ int status;
+ struct {
+ short int status, count;
+ int dvi;
+ } iosb;
+ unsigned short int loc_chan;
+
+ setupYAstTried++;
+
+ if (chan)
+ loc_chan= chan;
+ else
+ {
+ status= sys$assign(&inputDsc,&loc_chan,0,0);
+ if (!(status&SS$_NORMAL))
+ {
+ lib$signal(status);
+ return;
+ }
+ }
+ status= sys$qiow (0, loc_chan, IO$_SETMODE|IO$M_CTRLYAST,&iosb,0,0,
+ astYHandler,0,0,0,0,0);
+ if (status==SS$_NORMAL)
+ status= iosb.status;
+ if (status!=SS$_NORMAL)
+ {
+ if (!chan)
+ sys$dassgn(loc_chan);
+ if (status!=SS$_ILLIOFUNC && status!=SS$_NOPRIV)
+ lib$signal(status);
+ return;
+ }
+
+ /* called from AST handler ? */
+ if (setupYAstTried>1)
+ return;
+ if (atexit(reEnableAst))
+ fprintf (stderr,
+ _("-warning, you may have to re-enable CTRL-Y handling from DCL.\n"));
+ status= lib$disable_ctrl (&ctrlMask, &oldCtrlMask);
+ if (!(status&SS$_NORMAL))
+ {
+ lib$signal(status);
+ return;
+ }
+ if (!chan)
+ chan = loc_chan;
}
+static int
+nextnl(char *cmd, int l)
+{
+ int instring;
+ instring = 0;
+ while (cmd[l])
+ {
+ if (cmd[l]=='"')
+ instring = !instring;
+ else if (cmd[l]=='\n' && !instring)
+ return ++l;
+ ++l;
+ }
+ return l;
+}
int
child_execute_job (char *argv, struct child *child)
{
@@ -339,7 +356,11 @@ child_execute_job (char *argv, struct child *child)
pnamedsc.dsc$b_class = DSC$K_CLASS_S;
in_string = 0;
- /* Handle comments and redirection. */
+ /* 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. */
for (p = argv, q = cmd; *p; p++, q++)
{
if (*p == '"')
@@ -350,252 +371,434 @@ child_execute_job (char *argv, struct child *child)
continue;
}
switch (*p)
- {
- case '#':
- *p-- = 0;
- *q-- = 0;
- break;
- case '\\':
- p++;
- if (*p == '\n')
- p++;
- if (isspace ((unsigned char)*p))
- {
- do { p++; } while (isspace ((unsigned char)*p));
- p--;
- }
- *q = *p;
- break;
- case '<':
- p = vms_redirect (&ifiledsc, ifile, p);
- *q = ' ';
- have_redirection = 1;
- break;
- case '>':
- have_redirection = 1;
- if (*(p-1) == '2')
- {
- q--;
- if (strncmp (p, ">&1", 3) == 0)
- {
- p += 3;
- 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;
- }
- else
- {
- p = vms_redirect (&efiledsc, efile, p);
- }
- }
- else
- {
- if (*(p+1) == '>')
- {
- have_append = 1;
- p += 1;
- }
- p = vms_redirect (&ofiledsc, ofile, p);
- }
- *q = ' ';
- break;
- case '\n':
- have_newline = 1;
- default:
- *q = *p;
- break;
- }
+ {
+ case '#':
+ *p-- = 0;
+ *q-- = 0;
+ break;
+ case '\\':
+ p++;
+ if (*p == '\n')
+ p++;
+ if (isspace ((unsigned char)*p))
+ {
+ do { p++; } while (isspace ((unsigned char)*p));
+ p--;
+ }
+ *q = *p;
+ break;
+ case '<':
+ if (have_newline==0)
+ {
+ p = vms_redirect (&ifiledsc, ifile, p);
+ *q = ' ';
+ have_redirection = 1;
+ }
+ else
+ *q = *p;
+ break;
+ case '>':
+ if (have_newline==0)
+ {
+ have_redirection = 1;
+ if (*(p-1) == '2')
+ {
+ q--;
+ if (strncmp (p, ">&1", 3) == 0)
+ {
+ 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;
+ }
+ else
+ p = vms_redirect (&efiledsc, efile, p);
+ }
+ else
+ {
+ if (*(p+1) == '>')
+ {
+ have_append = 1;
+ p += 1;
+ }
+ p = vms_redirect (&ofiledsc, ofile, p);
+ }
+ *q = ' ';
+ }
+ else
+ *q = *p;
+ break;
+ case '\n':
+ have_newline++;
+ default:
+ *q = *p;
+ break;
+ }
}
*q = *p;
while (isspace ((unsigned char)*--q))
*q = '\0';
- if (strncmp (cmd, "builtin_", 8) == 0)
+
+#define VMS_EMPTY_ECHO "write sys$output \"\""
+ if (have_newline == 0)
{
- child->pid = 270163;
- child->efn = 0;
- child->cstatus = 1;
-
- DB (DB_JOBS, (_("BUILTIN [%s][%s]\n"), cmd, cmd+8));
-
- p = cmd + 8;
-
- if ((*(p) == 'c')
- && (*(p+1) == 'd')
- && ((*(p+2) == ' ') || (*(p+2) == '\t')))
- {
- p += 3;
- while ((*p == ' ') || (*p == '\t'))
- p++;
- DB (DB_JOBS, (_("BUILTIN CD %s\n"), p));
- if (chdir (p))
- return 0;
- else
- return 1;
- }
- else if ((*(p) == 'r')
- && (*(p+1) == 'm')
- && ((*(p+2) == ' ') || (*(p+2) == '\t')))
- {
- int in_arg;
-
- /* rm */
- p += 3;
- while ((*p == ' ') || (*p == '\t'))
- p++;
- in_arg = 1;
-
- DB (DB_JOBS, (_("BUILTIN RM %s\n"), p));
- while (*p)
- {
- switch (*p)
- {
- case ' ':
- case '\t':
- if (in_arg)
- {
- *p++ = ';';
- in_arg = 0;
- }
- break;
- default:
- break;
- }
- p++;
- }
- }
- else
- {
- printf(_("Unknown builtin command '%s'\n"), cmd);
- fflush(stdout);
- return 0;
- }
+ /* multiple shells */
+ if (strncmp(cmd, "builtin_", 8) == 0)
+ {
+ child->pid = 270163;
+ child->efn = 0;
+ child->cstatus = 1;
+
+ DB(DB_JOBS, (_("BUILTIN [%s][%s]\n"), cmd, cmd + 8));
+
+ p = cmd + 8;
+
+ if ((*(p) == 'c') && (*(p + 1) == 'd')
+ && ((*(p + 2) == ' ') || (*(p + 2) == '\t')))
+ {
+ p += 3;
+ while ((*p == ' ') || (*p == '\t'))
+ p++;
+ 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));
+ }
+ else
+ {
+ printf(_("Unknown builtin command '%s'\n"), cmd);
+ fflush(stdout);
+ return 0;
+ }
+ }
+ /* expand ':' aka 'do nothing' builtin for bash and friends */
+ else if (cmd[0]==':' && cmd[1]=='\0')
+ {
+ cmd = "continue";
+ }
+ }
+ else
+ {
+ /* 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])
+ {
+ 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++;
+ }
+ }
+
+ tmp_cmd[vlen] = '\0';
+
+ cmd = tmp_cmd;
}
+#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. */
+#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;
char c;
char *sep;
- int alevel = 0; /* apostrophe level */
-
+ int alevel = 0; /* apostrophe level */
+ int tmpstrlen;
+ char *tmpstr;
if (strlen (cmd) == 0)
- {
- printf (_("Error, empty command\n"));
- fflush (stdout);
- return 0;
- }
+ {
+ printf (_("Error, empty command\n"));
+ fflush (stdout);
+ return 0;
+ }
- outfile = open_tmpfile (&child->comname, "sys$scratch: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)"));
+ 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
+ redirections there is a prolog and possibly an epilog to implement
+ the redirection. Both are part of the script which is actually
+ executed. So if the redirection encounters an error in the prolog,
+ the user actions will not run; if in the epilog, the user actions
+ ran, but output is not captured. In both error cases, the error of
+ redirection is passed back and not the exit code of the actions. The
+ user should be able to enable DCL "script" verification with "set
+ 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, "$ %.*s_1 = \"''f$verify(0)'\"\n", tmpstrlen, tmpstr);
if (ifile[0])
- {
- fprintf (outfile, "$ assign/user %s sys$input\n", ifile);
+ {
+ fprintf (outfile, "$ assign/user %s sys$input\n", ifile);
DB (DB_JOBS, (_("Redirected input from %s\n"), ifile));
- ifiledsc.dsc$w_length = 0;
- }
+ ifiledsc.dsc$w_length = 0;
+ }
if (efile[0])
- {
- fprintf (outfile, "$ define sys$error %s\n", efile);
+ {
+ fprintf (outfile, "$ define sys$error %s\n", efile);
DB (DB_JOBS, (_("Redirected error to %s\n"), efile));
- efiledsc.dsc$w_length = 0;
- }
+ efiledsc.dsc$w_length = 0;
+ }
if (ofile[0])
- {
- if (have_append)
- {
- fprintf (outfile, "$ set noon\n");
- fprintf (outfile, "$ define sys$output %.*s\n", comnamelen-3, child->comname);
- DB (DB_JOBS, (_("Append output to %s\n"), ofile));
- ofiledsc.dsc$w_length = 0;
- }
- else
+ 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)
{
- fprintf (outfile, "$ define sys$output %s\n", ofile);
- DB (DB_JOBS, (_("Redirected output to %s\n"), ofile));
- ofiledsc.dsc$w_length = 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: 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. */
p = sep = q = cmd;
for (c = '\n'; c; c = *q++)
- {
- switch (c)
- {
- case '\n':
- /* At a newline, skip any whitespace around a leading $
- from the command and issue exactly one $ into the DCL. */
- while (isspace ((unsigned char)*p))
- p++;
- if (*p == '$')
- p++;
- while (isspace ((unsigned char)*p))
- p++;
- fwrite (p, 1, q - p, outfile);
- fputc ('$', outfile);
- fputc (' ', outfile);
- /* Reset variables. */
- p = sep = q;
- break;
-
- /* Nice places for line breaks are after strings, after
- comma or space and before slash. */
- 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);
- }
- }
+ {
+ 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);
+ }
+ }
if (*p)
{
- fwrite (p, 1, --q - p, outfile);
- fputc ('\n', outfile);
+ fwrite(p, 1, --q - p, outfile);
+ fputc('\n', outfile);
}
if (have_append)
{
- fprintf (outfile, "$ deassign sys$output ! 'f$verify(0)\n");
+ 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");
+ 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));
}
@@ -631,66 +834,66 @@ child_execute_job (char *argv, struct child *child)
vms_jobsefnmask |= (1 << (child->efn - 32));
-/*
- LIB$SPAWN [command-string]
- [,input-file]
- [,output-file]
- [,flags]
- [,process-name]
- [,process-id] [,completion-status-address] [,byte-integer-event-flag-num]
- [,AST-address] [,varying-AST-argument]
- [,prompt-string] [,cli] [,table]
-*/
+ /*
+ LIB$SPAWN [command-string]
+ [,input-file]
+ [,output-file]
+ [,flags]
+ [,process-name]
+ [,process-id] [,completion-status-address] [,byte-integer-event-flag-num]
+ [,AST-address] [,varying-AST-argument]
+ [,prompt-string] [,cli] [,table]
+ */
#ifndef DONTWAITFORCHILD
-/*
- * Code to make ctrl+c and ctrl+y working.
- * The problem starts with the synchronous case where after lib$spawn is
- * called any input will go to the child. But with input re-directed,
- * both control characters won't make it to any of the programs, neither
- * the spawning nor to the spawned one. Hence the caller needs to spawn
- * with CLI$M_NOWAIT to NOT give up the input focus. A sys$waitfr
- * has to follow to simulate the wanted synchronous behaviour.
- * The next problem is ctrl+y which isn't caught by the crtl and
- * therefore isn't converted to SIGQUIT (for a signal handler which is
- * already established). The only way to catch ctrl+y, is an AST
- * assigned to the input channel. But ctrl+y handling of DCL needs to be
- * disabled, otherwise it will handle it. Not to mention the previous
- * ctrl+y handling of DCL needs to be re-established before make exits.
- * One more: At the time of LIB$SPAWN signals are blocked. SIGQUIT will
- * make it to the signal handler after the child "normally" terminates.
- * This isn't enough. It seems reasonable for simple command lines like
- * a 'cc foobar.c' spawned in a subprocess but it is unacceptable for
- * spawning make. Therefore we need to abort the process in the AST.
- *
- * Prior to the spawn it is checked if an AST is already set up for
- * ctrl+y, if not one is set up for a channel to SYS$COMMAND. In general
- * this will work except if make is run in a batch environment, but there
- * nobody can press ctrl+y. During the setup the DCL handling of ctrl+y
- * is disabled and an exit handler is established to re-enable it.
- * If the user interrupts with ctrl+y, the assigned AST will fire, force
- * an abort to the subprocess and signal SIGQUIT, which will be caught by
- * the already established handler and will bring us back to common code.
- * After the spawn (now /nowait) a sys$waitfr simulates the /wait and
- * enables the ctrl+y be delivered to this code. And the ctrl+c too,
- * which the crtl converts to SIGINT and which is caught by the common
- * signal handler. Because signals were blocked before entering this code
- * sys$waitfr will always complete and the SIGQUIT will be processed after
- * it (after termination of the current block, somewhere in common code).
- * And SIGINT too will be delayed. That is ctrl+c can only abort when the
- * current command completes. Anyway it's better than nothing :-)
- */
+ /*
+ * Code to make ctrl+c and ctrl+y working.
+ * The problem starts with the synchronous case where after lib$spawn is
+ * called any input will go to the child. But with input re-directed,
+ * both control characters won't make it to any of the programs, neither
+ * the spawning nor to the spawned one. Hence the caller needs to spawn
+ * with CLI$M_NOWAIT to NOT give up the input focus. A sys$waitfr
+ * has to follow to simulate the wanted synchronous behaviour.
+ * The next problem is ctrl+y which isn't caught by the crtl and
+ * therefore isn't converted to SIGQUIT (for a signal handler which is
+ * already established). The only way to catch ctrl+y, is an AST
+ * assigned to the input channel. But ctrl+y handling of DCL needs to be
+ * disabled, otherwise it will handle it. Not to mention the previous
+ * ctrl+y handling of DCL needs to be re-established before make exits.
+ * One more: At the time of LIB$SPAWN signals are blocked. SIGQUIT will
+ * make it to the signal handler after the child "normally" terminates.
+ * This isn't enough. It seems reasonable for simple command lines like
+ * a 'cc foobar.c' spawned in a subprocess but it is unacceptable for
+ * spawning make. Therefore we need to abort the process in the AST.
+ *
+ * Prior to the spawn it is checked if an AST is already set up for
+ * ctrl+y, if not one is set up for a channel to SYS$COMMAND. In general
+ * this will work except if make is run in a batch environment, but there
+ * nobody can press ctrl+y. During the setup the DCL handling of ctrl+y
+ * is disabled and an exit handler is established to re-enable it.
+ * If the user interrupts with ctrl+y, the assigned AST will fire, force
+ * an abort to the subprocess and signal SIGQUIT, which will be caught by
+ * the already established handler and will bring us back to common code.
+ * After the spawn (now /nowait) a sys$waitfr simulates the /wait and
+ * enables the ctrl+y be delivered to this code. And the ctrl+c too,
+ * which the crtl converts to SIGINT and which is caught by the common
+ * signal handler. Because signals were blocked before entering this code
+ * sys$waitfr will always complete and the SIGQUIT will be processed after
+ * it (after termination of the current block, somewhere in common code).
+ * And SIGINT too will be delayed. That is ctrl+c can only abort when the
+ * current command completes. Anyway it's better than nothing :-)
+ */
if (!setupYAstTried)
tryToSetupYAst();
- 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);
+ 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);
@@ -698,13 +901,13 @@ child_execute_job (char *argv, struct child *child)
}
#else
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);
+ (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);
#endif
if (!(status & 1))
diff --git a/vpath.c b/vpath.c
index 9f41b275..1bcba042 100644
--- a/vpath.c
+++ b/vpath.c
@@ -1,7 +1,5 @@
/* Implementation of pattern-matching file search paths for GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-2010 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
@@ -16,7 +14,7 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
#include "filedef.h"
#include "variable.h"
#ifdef WINDOWS32
@@ -28,9 +26,9 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
struct vpath
{
- struct vpath *next; /* Pointer to next struct in the linked list. */
+ struct vpath *next; /* Pointer to next struct in the linked list. */
const char *pattern;/* The pattern to match. */
- const char *percent;/* Pointer into `pattern' where the `%' is. */
+ const char *percent;/* Pointer into 'pattern' where the '%' is. */
unsigned int patlen;/* Length of the pattern. */
const char **searchpath; /* Null-terminated list of directories. */
unsigned int maxlen;/* Maximum length of any entry in the list. */
@@ -90,15 +88,15 @@ build_vpath_lists ()
struct vpath *save_vpaths = vpaths;
char gp[] = "%";
- /* Empty `vpaths' so the new one will have no next, and `vpaths'
- will still be nil if P contains no existing directories. */
+ /* Empty 'vpaths' so the new one will have no next, and 'vpaths'
+ will still be nil if P contains no existing directories. */
vpaths = 0;
/* Parse P. */
construct_vpath_list (gp, p);
/* Store the created path as the general path,
- and restore the old list of vpaths. */
+ and restore the old list of vpaths. */
general_vpath = vpaths;
vpaths = save_vpaths;
}
@@ -123,15 +121,15 @@ build_vpath_lists ()
struct vpath *save_vpaths = vpaths;
char gp[] = "%";
- /* Empty `vpaths' so the new one will have no next, and `vpaths'
- will still be nil if P contains no existing directories. */
+ /* Empty 'vpaths' so the new one will have no next, and 'vpaths'
+ will still be nil if P contains no existing directories. */
vpaths = 0;
/* Parse P. */
construct_vpath_list (gp, p);
/* Store the created path as the GPATH,
- and restore the old list of vpaths. */
+ and restore the old list of vpaths. */
gpaths = vpaths;
vpaths = save_vpaths;
}
@@ -148,7 +146,7 @@ build_vpath_lists ()
If DIRPATH is nil, remove all previous listings with the same
pattern. If PATTERN is nil, remove all VPATH listings. Existing
and readable directories that are not "." given in the DIRPATH
- separated by the path element separator (defined in make.h) are
+ separated by the path element separator (defined in makeint.h) are
loaded into the directory hash table if they are not there already
and put in the VPATH searchpath for the given pattern with trailing
slashes stripped off if present (and if the directory is not the
@@ -177,36 +175,36 @@ construct_vpath_list (char *pattern, char *dirpath)
lastpath = 0;
path = vpaths;
while (path != 0)
- {
- struct vpath *next = path->next;
-
- if (pattern == 0
- || (((percent == 0 && path->percent == 0)
- || (percent - pattern == path->percent - path->pattern))
- && streq (pattern, path->pattern)))
- {
- /* Remove it from the linked list. */
- if (lastpath == 0)
- vpaths = path->next;
- else
- lastpath->next = next;
-
- /* Free its unused storage. */
+ {
+ struct vpath *next = path->next;
+
+ if (pattern == 0
+ || (((percent == 0 && path->percent == 0)
+ || (percent - pattern == path->percent - path->pattern))
+ && streq (pattern, path->pattern)))
+ {
+ /* Remove it from the linked list. */
+ if (lastpath == 0)
+ vpaths = path->next;
+ else
+ lastpath->next = next;
+
+ /* Free its unused storage. */
/* MSVC erroneously warns without a cast here. */
- free ((void *)path->searchpath);
- free (path);
- }
- else
- lastpath = path;
+ free ((void *)path->searchpath);
+ free (path);
+ }
+ else
+ lastpath = path;
- path = next;
- }
+ path = next;
+ }
return;
}
#ifdef WINDOWS32
- convert_vpath_to_windows32(dirpath, ';');
+ convert_vpath_to_windows32 (dirpath, ';');
#endif
/* Skip over any initial separators and blanks. */
@@ -237,49 +235,49 @@ construct_vpath_list (char *pattern, char *dirpath)
v = p;
while (*p != '\0'
#if defined(HAVE_DOS_PATHS) && (PATH_SEPARATOR_CHAR == ':')
- /* Platforms whose PATH_SEPARATOR_CHAR is ':' and which
- also define HAVE_DOS_PATHS would like us to recognize
- colons after the drive letter in the likes of
- "D:/foo/bar:C:/xyzzy". */
- && (*p != PATH_SEPARATOR_CHAR
- || (p == v + 1 && (p[1] == '/' || p[1] == '\\')))
+ /* Platforms whose PATH_SEPARATOR_CHAR is ':' and which
+ also define HAVE_DOS_PATHS would like us to recognize
+ colons after the drive letter in the likes of
+ "D:/foo/bar:C:/xyzzy". */
+ && (*p != PATH_SEPARATOR_CHAR
+ || (p == v + 1 && (p[1] == '/' || p[1] == '\\')))
#else
- && *p != PATH_SEPARATOR_CHAR
+ && *p != PATH_SEPARATOR_CHAR
#endif
- && !isblank ((unsigned char)*p))
- ++p;
+ && !isblank ((unsigned char)*p))
+ ++p;
len = p - v;
/* Make sure there's no trailing slash,
- but still allow "/" as a directory. */
+ but still allow "/" as a directory. */
#if defined(__MSDOS__) || defined(__EMX__) || defined(HAVE_DOS_PATHS)
/* We need also to leave alone a trailing slash in "d:/". */
if (len > 3 || (len > 1 && v[1] != ':'))
#endif
if (len > 1 && p[-1] == '/')
- --len;
+ --len;
/* Put the directory on the vpath list. */
if (len > 1 || *v != '.')
- {
+ {
vpath[elem++] = dir_name (strcache_add_len (v, len));
if (len > maxvpath)
maxvpath = len;
- }
+ }
/* Skip over separators and blanks between entries. */
while (*p == PATH_SEPARATOR_CHAR || isblank ((unsigned char)*p))
- ++p;
+ ++p;
}
if (elem > 0)
{
struct vpath *path;
/* ELEM is now incremented one element past the last
- entry, to where the nil-pointer terminator goes.
- Usually this is maxelem - 1. If not, shrink down. */
+ entry, to where the nil-pointer terminator goes.
+ Usually this is maxelem - 1. If not, shrink down. */
if (elem < (maxelem - 1))
- vpath = xrealloc (vpath, (elem+1) * sizeof (const char *));
+ vpath = xrealloc (vpath, (elem+1) * sizeof (const char *));
/* Put the nil-pointer terminator on the end of the VPATH list. */
vpath[elem] = NULL;
@@ -308,12 +306,13 @@ construct_vpath_list (char *pattern, char *dirpath)
int
gpath_search (const char *file, unsigned int len)
{
- const char **gp;
-
if (gpaths && (len <= gpaths->maxlen))
- for (gp = gpaths->searchpath; *gp != NULL; ++gp)
- if (strneq (*gp, file, len) && (*gp)[len] == '\0')
- return 1;
+ {
+ const char **gp;
+ for (gp = gpaths->searchpath; *gp != NULL; ++gp)
+ if (strneq (*gp, file, len) && (*gp)[len] == '\0')
+ return 1;
+ }
return 0;
}
@@ -336,7 +335,7 @@ selective_vpath_search (struct vpath *path, const char *file,
const char **vpath = path->searchpath;
unsigned int maxvpath = path->maxlen;
unsigned int i;
- unsigned int flen, vlen, name_dplen;
+ unsigned int flen, name_dplen;
int exists = 0;
/* Find out if *FILE is a target.
@@ -357,7 +356,7 @@ selective_vpath_search (struct vpath *path, const char *file,
#ifdef HAVE_DOS_PATHS
/* We need the rightmost slash or backslash. */
{
- const char *bslash = strrchr(file, '\\');
+ const char *bslash = strrchr (file, '\\');
if (!n || bslash > n)
n = bslash;
}
@@ -376,54 +375,52 @@ selective_vpath_search (struct vpath *path, const char *file,
for (i = 0; vpath[i] != 0; ++i)
{
int exists_in_cache = 0;
- char *p;
-
- p = name;
+ char *p = name;
+ unsigned int vlen = strlen (vpath[i]);
/* Put the next VPATH entry into NAME at P and increment P past it. */
- vlen = strlen (vpath[i]);
memcpy (p, vpath[i], vlen);
p += vlen;
/* Add the directory prefix already in *FILE. */
if (name_dplen > 0)
- {
+ {
#ifndef VMS
- *p++ = '/';
+ *p++ = '/';
#endif
- memcpy (p, file, name_dplen);
- p += name_dplen;
- }
+ memcpy (p, file, name_dplen);
+ p += name_dplen;
+ }
#ifdef HAVE_DOS_PATHS
/* Cause the next if to treat backslash and slash alike. */
if (p != name && p[-1] == '\\' )
- p[-1] = '/';
+ p[-1] = '/';
#endif
/* Now add the name-within-directory at the end of NAME. */
#ifndef VMS
if (p != name && p[-1] != '/')
- {
- *p = '/';
- memcpy (p + 1, filename, flen + 1);
- }
+ {
+ *p = '/';
+ memcpy (p + 1, filename, flen + 1);
+ }
else
#endif
- memcpy (p, filename, flen + 1);
+ memcpy (p, filename, flen + 1);
/* Check if the file is mentioned in a makefile. If *FILE is not
- a target, that is enough for us to decide this file exists.
- If *FILE is a target, then the file must be mentioned in the
- makefile also as a target to be chosen.
+ a target, that is enough for us to decide this file exists.
+ If *FILE is a target, then the file must be mentioned in the
+ makefile also as a target to be chosen.
- The restriction that *FILE must not be a target for a
- makefile-mentioned file to be chosen was added by an
- inadequately commented change in July 1990; I am not sure off
- hand what problem it fixes.
+ The restriction that *FILE must not be a target for a
+ makefile-mentioned file to be chosen was added by an
+ inadequately commented change in July 1990; I am not sure off
+ hand what problem it fixes.
- In December 1993 I loosened this restriction to allow a file
- to be chosen if it is mentioned as a target in a makefile. This
- seem logical.
+ In December 1993 I loosened this restriction to allow a file
+ to be chosen if it is mentioned as a target in a makefile. This
+ seem logical.
Special handling for -W / -o: make sure we preserve the special
values here. Actually this whole thing is a little bogus: I think
@@ -433,8 +430,8 @@ selective_vpath_search (struct vpath *path, const char *file,
we use it.
*/
{
- struct file *f = lookup_file (name);
- if (f != 0)
+ struct file *f = lookup_file (name);
+ if (f != 0)
{
exists = not_target || f->is_target;
if (exists && mtime_ptr
@@ -447,41 +444,41 @@ selective_vpath_search (struct vpath *path, const char *file,
}
if (!exists)
- {
- /* That file wasn't mentioned in the makefile.
- See if it actually exists. */
+ {
+ /* That file wasn't mentioned in the makefile.
+ See if it actually exists. */
#ifdef VMS
- exists_in_cache = exists = dir_file_exists_p (vpath[i], filename);
+ 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);
+ /* 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
- }
+ }
if (exists)
- {
- /* The file is in the directory cache.
- Now check that it actually exists in the filesystem.
- The cache may be out of date. When vpath thinks a file
- exists, but stat fails for it, confusion results in the
- higher levels. */
+ {
+ /* The file is in the directory cache.
+ Now check that it actually exists in the filesystem.
+ The cache may be out of date. When vpath thinks a file
+ exists, but stat fails for it, confusion results in the
+ higher levels. */
- struct stat st;
+ struct stat st;
#ifndef VMS
- /* Put the slash back in NAME. */
- *p = '/';
+ /* Put the slash back in NAME. */
+ *p = '/';
#endif
- if (exists_in_cache) /* Makefile-mentioned file need not exist. */
- {
+ if (exists_in_cache) /* Makefile-mentioned file need not exist. */
+ {
int e;
EINTRLOOP (e, stat (name, &st)); /* Does it really exist? */
@@ -511,7 +508,7 @@ selective_vpath_search (struct vpath *path, const char *file,
*path_index = i;
return strcache_add_len (name, (p + 1 - name) + flen);
- }
+ }
}
return 0;
@@ -595,26 +592,26 @@ print_vpath_data_base (void)
printf ("vpath %s ", v->pattern);
for (i = 0; v->searchpath[i] != 0; ++i)
- printf ("%s%c", v->searchpath[i],
- v->searchpath[i + 1] == 0 ? '\n' : PATH_SEPARATOR_CHAR);
+ printf ("%s%c", v->searchpath[i],
+ v->searchpath[i + 1] == 0 ? '\n' : PATH_SEPARATOR_CHAR);
}
if (vpaths == 0)
- puts (_("# No `vpath' search paths."));
+ puts (_("# No 'vpath' search paths."));
else
- printf (_("\n# %u `vpath' search paths.\n"), nvpaths);
+ printf (_("\n# %u 'vpath' search paths.\n"), nvpaths);
if (general_vpath == 0)
- puts (_("\n# No general (`VPATH' variable) search path."));
+ puts (_("\n# No general ('VPATH' variable) search path."));
else
{
const char **path = general_vpath->searchpath;
unsigned int i;
- fputs (_("\n# General (`VPATH' variable) search path:\n# "), stdout);
+ fputs (_("\n# General ('VPATH' variable) search path:\n# "), stdout);
for (i = 0; path[i] != 0; ++i)
- printf ("%s%c", path[i],
- path[i + 1] == 0 ? '\n' : PATH_SEPARATOR_CHAR);
+ printf ("%s%c", path[i],
+ path[i + 1] == 0 ? '\n' : PATH_SEPARATOR_CHAR);
}
}
diff --git a/w32/.cvsignore b/w32/.cvsignore
deleted file mode 100644
index efc8094e..00000000
--- a/w32/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile Makefile.in
-.deps
diff --git a/w32/.deps/libw32_a-misc.Po b/w32/.deps/libw32_a-misc.Po
deleted file mode 100644
index 9ce06a81..00000000
--- a/w32/.deps/libw32_a-misc.Po
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/w32/.deps/libw32_a-pathstuff.Po b/w32/.deps/libw32_a-pathstuff.Po
deleted file mode 100644
index 9ce06a81..00000000
--- a/w32/.deps/libw32_a-pathstuff.Po
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/w32/.deps/libw32_a-sub_proc.Po b/w32/.deps/libw32_a-sub_proc.Po
deleted file mode 100644
index 9ce06a81..00000000
--- a/w32/.deps/libw32_a-sub_proc.Po
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/w32/.deps/libw32_a-w32err.Po b/w32/.deps/libw32_a-w32err.Po
deleted file mode 100644
index 9ce06a81..00000000
--- a/w32/.deps/libw32_a-w32err.Po
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/w32/Makefile b/w32/Makefile
deleted file mode 100644
index 8c95760e..00000000
--- a/w32/Makefile
+++ /dev/null
@@ -1,536 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# w32/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-
-# Makefile.am to create libw32.a for mingw32 host.
-# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010 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 <http://www.gnu.org/licenses/>.
-
-
-pkgdatadir = $(datadir)/make
-pkgincludedir = $(includedir)/make
-pkglibdir = $(libdir)/make
-pkglibexecdir = $(libexecdir)/make
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = x86_64-unknown-linux-gnu
-host_triplet = x86_64-unknown-linux-gnu
-subdir = w32
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/config/dospaths.m4 \
- $(top_srcdir)/config/gettext.m4 $(top_srcdir)/config/iconv.m4 \
- $(top_srcdir)/config/isc-posix.m4 \
- $(top_srcdir)/config/lib-ld.m4 \
- $(top_srcdir)/config/lib-link.m4 \
- $(top_srcdir)/config/lib-prefix.m4 $(top_srcdir)/config/nls.m4 \
- $(top_srcdir)/config/po.m4 $(top_srcdir)/config/progtest.m4 \
- $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LIBRARIES = $(noinst_LIBRARIES)
-ARFLAGS = cru
-libw32_a_AR = $(AR) $(ARFLAGS)
-libw32_a_LIBADD =
-am_libw32_a_OBJECTS = libw32_a-misc.$(OBJEXT) \
- libw32_a-sub_proc.$(OBJEXT) libw32_a-w32err.$(OBJEXT) \
- libw32_a-pathstuff.$(OBJEXT)
-libw32_a_OBJECTS = $(am_libw32_a_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/config/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libw32_a_SOURCES)
-DIST_SOURCES = $(libw32_a_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/psmith/src/make/make-rel/config/missing --run aclocal-1.11
-ALLOCA =
-AMTAR = ${SHELL} /home/psmith/src/make/make-rel/config/missing --run tar
-AR = ar
-AUTOCONF = ${SHELL} /home/psmith/src/make/make-rel/config/missing --run autoconf
-AUTOHEADER = ${SHELL} /home/psmith/src/make/make-rel/config/missing --run autoheader
-AUTOMAKE = ${SHELL} /home/psmith/src/make/make-rel/config/missing --run automake-1.11
-AWK = gawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS =
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = /bin/grep -E
-EXEEXT =
-GETLOADAVG_LIBS =
-GLOBINC =
-GLOBLIB =
-GMSGFMT = /usr/bin/msgfmt
-GREP = /bin/grep
-INSTALL = /usr/bin/install -c
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
-INTLLIBS =
-KMEM_GROUP =
-LDFLAGS =
-LIBICONV = -liconv
-LIBINTL =
-LIBOBJS =
-LIBS = -lrt
-LTLIBICONV = -liconv
-LTLIBINTL =
-LTLIBOBJS =
-MAKEINFO = ${SHELL} /home/psmith/src/make/make-rel/config/missing --run makeinfo
-MAKE_HOST = x86_64-unknown-linux-gnu
-MKDIR_P = /bin/mkdir -p
-MKINSTALLDIRS = $(top_builddir)/config/mkinstalldirs
-MSGFMT = /usr/bin/msgfmt
-MSGMERGE = /usr/bin/msgmerge
-NEED_SETGID = false
-OBJEXT = o
-PACKAGE = make
-PACKAGE_BUGREPORT = bug-make@gnu.org
-PACKAGE_NAME = GNU make
-PACKAGE_STRING = GNU make 3.82
-PACKAGE_TARNAME = make
-PACKAGE_URL = http://www.gnu.org/software/make/
-PACKAGE_VERSION = 3.82
-PATH_SEPARATOR = :
-PERL = perl
-POSUB = po
-RANLIB = ranlib
-REMOTE = stub
-SET_MAKE =
-SHELL = /bin/bash
-STRIP =
-USE_NLS = yes
-VERSION = 3.82
-XGETTEXT = /usr/bin/xgettext
-abs_builddir = /home/psmith/src/make/make-rel/w32
-abs_srcdir = /home/psmith/src/make/make-rel/w32
-abs_top_builddir = /home/psmith/src/make/make-rel
-abs_top_srcdir = /home/psmith/src/make/make-rel
-ac_ct_CC = gcc
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = x86_64-unknown-linux-gnu
-build_alias =
-build_cpu = x86_64
-build_os = linux-gnu
-build_vendor = unknown
-builddir = .
-datadir = ${datarootdir}
-datarootdir = ${prefix}/share
-docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
-dvidir = ${docdir}
-exec_prefix = ${prefix}
-host = x86_64-unknown-linux-gnu
-host_alias =
-host_cpu = x86_64
-host_os = linux-gnu
-host_vendor = unknown
-htmldir = ${docdir}
-includedir = ${prefix}/include
-infodir = ${datarootdir}/info
-install_sh = ${SHELL} /home/psmith/src/make/make-rel/config/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localedir = ${datarootdir}/locale
-localstatedir = ${prefix}/var
-mandir = ${datarootdir}/man
-mkdir_p = /bin/mkdir -p
-oldincludedir = /usr/include
-pdfdir = ${docdir}
-prefix = /usr/local
-program_transform_name = s,x,x,
-psdir = ${docdir}
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-srcdir = .
-sysconfdir = ${prefix}/etc
-target_alias =
-top_build_prefix = ../
-top_builddir = ..
-top_srcdir = ..
-noinst_LIBRARIES = libw32.a
-libw32_a_SOURCES = subproc/misc.c subproc/sub_proc.c subproc/w32err.c \
- pathstuff.c
-
-libw32_a_CPPFLAGS = -I$(srcdir)/include -I$(srcdir)/subproc -I$(top_srcdir)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu w32/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu w32/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLIBRARIES:
- -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libw32.a: $(libw32_a_OBJECTS) $(libw32_a_DEPENDENCIES)
- -rm -f libw32.a
- $(libw32_a_AR) libw32.a $(libw32_a_OBJECTS) $(libw32_a_LIBADD)
- $(RANLIB) libw32.a
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-include ./$(DEPDIR)/libw32_a-misc.Po
-include ./$(DEPDIR)/libw32_a-pathstuff.Po
-include ./$(DEPDIR)/libw32_a-sub_proc.Po
-include ./$(DEPDIR)/libw32_a-w32err.Po
-
-.c.o:
- $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-# source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(COMPILE) -c $<
-
-.c.obj:
- $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-# source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-libw32_a-misc.o: subproc/misc.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-misc.o -MD -MP -MF $(DEPDIR)/libw32_a-misc.Tpo -c -o libw32_a-misc.o `test -f 'subproc/misc.c' || echo '$(srcdir)/'`subproc/misc.c
- $(am__mv) $(DEPDIR)/libw32_a-misc.Tpo $(DEPDIR)/libw32_a-misc.Po
-# source='subproc/misc.c' object='libw32_a-misc.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-misc.o `test -f 'subproc/misc.c' || echo '$(srcdir)/'`subproc/misc.c
-
-libw32_a-misc.obj: subproc/misc.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-misc.obj -MD -MP -MF $(DEPDIR)/libw32_a-misc.Tpo -c -o libw32_a-misc.obj `if test -f 'subproc/misc.c'; then $(CYGPATH_W) 'subproc/misc.c'; else $(CYGPATH_W) '$(srcdir)/subproc/misc.c'; fi`
- $(am__mv) $(DEPDIR)/libw32_a-misc.Tpo $(DEPDIR)/libw32_a-misc.Po
-# source='subproc/misc.c' object='libw32_a-misc.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-misc.obj `if test -f 'subproc/misc.c'; then $(CYGPATH_W) 'subproc/misc.c'; else $(CYGPATH_W) '$(srcdir)/subproc/misc.c'; fi`
-
-libw32_a-sub_proc.o: subproc/sub_proc.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-sub_proc.o -MD -MP -MF $(DEPDIR)/libw32_a-sub_proc.Tpo -c -o libw32_a-sub_proc.o `test -f 'subproc/sub_proc.c' || echo '$(srcdir)/'`subproc/sub_proc.c
- $(am__mv) $(DEPDIR)/libw32_a-sub_proc.Tpo $(DEPDIR)/libw32_a-sub_proc.Po
-# source='subproc/sub_proc.c' object='libw32_a-sub_proc.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-sub_proc.o `test -f 'subproc/sub_proc.c' || echo '$(srcdir)/'`subproc/sub_proc.c
-
-libw32_a-sub_proc.obj: subproc/sub_proc.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-sub_proc.obj -MD -MP -MF $(DEPDIR)/libw32_a-sub_proc.Tpo -c -o libw32_a-sub_proc.obj `if test -f 'subproc/sub_proc.c'; then $(CYGPATH_W) 'subproc/sub_proc.c'; else $(CYGPATH_W) '$(srcdir)/subproc/sub_proc.c'; fi`
- $(am__mv) $(DEPDIR)/libw32_a-sub_proc.Tpo $(DEPDIR)/libw32_a-sub_proc.Po
-# source='subproc/sub_proc.c' object='libw32_a-sub_proc.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-sub_proc.obj `if test -f 'subproc/sub_proc.c'; then $(CYGPATH_W) 'subproc/sub_proc.c'; else $(CYGPATH_W) '$(srcdir)/subproc/sub_proc.c'; fi`
-
-libw32_a-w32err.o: subproc/w32err.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-w32err.o -MD -MP -MF $(DEPDIR)/libw32_a-w32err.Tpo -c -o libw32_a-w32err.o `test -f 'subproc/w32err.c' || echo '$(srcdir)/'`subproc/w32err.c
- $(am__mv) $(DEPDIR)/libw32_a-w32err.Tpo $(DEPDIR)/libw32_a-w32err.Po
-# source='subproc/w32err.c' object='libw32_a-w32err.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-w32err.o `test -f 'subproc/w32err.c' || echo '$(srcdir)/'`subproc/w32err.c
-
-libw32_a-w32err.obj: subproc/w32err.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-w32err.obj -MD -MP -MF $(DEPDIR)/libw32_a-w32err.Tpo -c -o libw32_a-w32err.obj `if test -f 'subproc/w32err.c'; then $(CYGPATH_W) 'subproc/w32err.c'; else $(CYGPATH_W) '$(srcdir)/subproc/w32err.c'; fi`
- $(am__mv) $(DEPDIR)/libw32_a-w32err.Tpo $(DEPDIR)/libw32_a-w32err.Po
-# source='subproc/w32err.c' object='libw32_a-w32err.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-w32err.obj `if test -f 'subproc/w32err.c'; then $(CYGPATH_W) 'subproc/w32err.c'; else $(CYGPATH_W) '$(srcdir)/subproc/w32err.c'; fi`
-
-libw32_a-pathstuff.o: pathstuff.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-pathstuff.o -MD -MP -MF $(DEPDIR)/libw32_a-pathstuff.Tpo -c -o libw32_a-pathstuff.o `test -f 'pathstuff.c' || echo '$(srcdir)/'`pathstuff.c
- $(am__mv) $(DEPDIR)/libw32_a-pathstuff.Tpo $(DEPDIR)/libw32_a-pathstuff.Po
-# source='pathstuff.c' object='libw32_a-pathstuff.o' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-pathstuff.o `test -f 'pathstuff.c' || echo '$(srcdir)/'`pathstuff.c
-
-libw32_a-pathstuff.obj: pathstuff.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-pathstuff.obj -MD -MP -MF $(DEPDIR)/libw32_a-pathstuff.Tpo -c -o libw32_a-pathstuff.obj `if test -f 'pathstuff.c'; then $(CYGPATH_W) 'pathstuff.c'; else $(CYGPATH_W) '$(srcdir)/pathstuff.c'; fi`
- $(am__mv) $(DEPDIR)/libw32_a-pathstuff.Tpo $(DEPDIR)/libw32_a-pathstuff.Po
-# source='pathstuff.c' object='libw32_a-pathstuff.obj' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-pathstuff.obj `if test -f 'pathstuff.c'; then $(CYGPATH_W) 'pathstuff.c'; else $(CYGPATH_W) '$(srcdir)/pathstuff.c'; fi`
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LIBRARIES)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-noinstLIBRARIES ctags distclean distclean-compile \
- distclean-generic distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
- uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/w32/Makefile.am b/w32/Makefile.am
index b8e20713..a2c40632 100644
--- a/w32/Makefile.am
+++ b/w32/Makefile.am
@@ -1,6 +1,5 @@
# Makefile.am to create libw32.a for mingw32 host.
-# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010 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,9 +15,11 @@
# You should have received a copy of the GNU General Public License along with
# this program. If not, see <http://www.gnu.org/licenses/>.
+AUTOMAKE_OPTIONS = subdir-objects
+
noinst_LIBRARIES = libw32.a
libw32_a_SOURCES = subproc/misc.c subproc/sub_proc.c subproc/w32err.c \
- pathstuff.c
+ compat/posixfcn.c pathstuff.c
libw32_a_CPPFLAGS = -I$(srcdir)/include -I$(srcdir)/subproc -I$(top_srcdir)
diff --git a/w32/Makefile.in b/w32/Makefile.in
index c5ea5b5f..47605412 100644
--- a/w32/Makefile.in
+++ b/w32/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,8 +15,7 @@
@SET_MAKE@
# Makefile.am to create libw32.a for mingw32 host.
-# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010 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
@@ -34,6 +32,51 @@
# this program. If not, see <http://www.gnu.org/licenses/>.
VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -53,46 +96,102 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = w32
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/config/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/config/dospaths.m4 \
$(top_srcdir)/config/gettext.m4 $(top_srcdir)/config/iconv.m4 \
- $(top_srcdir)/config/isc-posix.m4 \
+ $(top_srcdir)/config/intlmacosx.m4 \
$(top_srcdir)/config/lib-ld.m4 \
$(top_srcdir)/config/lib-link.m4 \
$(top_srcdir)/config/lib-prefix.m4 $(top_srcdir)/config/nls.m4 \
$(top_srcdir)/config/po.m4 $(top_srcdir)/config/progtest.m4 \
- $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.in
+ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LIBRARIES = $(noinst_LIBRARIES)
ARFLAGS = cru
+AM_V_AR = $(am__v_AR_@AM_V@)
+am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
+am__v_AR_0 = @echo " AR " $@;
+am__v_AR_1 =
libw32_a_AR = $(AR) $(ARFLAGS)
libw32_a_LIBADD =
-am_libw32_a_OBJECTS = libw32_a-misc.$(OBJEXT) \
- libw32_a-sub_proc.$(OBJEXT) libw32_a-w32err.$(OBJEXT) \
+am__dirstamp = $(am__leading_dot)dirstamp
+am_libw32_a_OBJECTS = subproc/libw32_a-misc.$(OBJEXT) \
+ subproc/libw32_a-sub_proc.$(OBJEXT) \
+ subproc/libw32_a-w32err.$(OBJEXT) \
+ compat/libw32_a-posixfcn.$(OBJEXT) \
libw32_a-pathstuff.$(OBJEXT)
libw32_a_OBJECTS = $(am_libw32_a_OBJECTS)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
SOURCES = $(libw32_a_SOURCES)
DIST_SOURCES = $(libw32_a_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_LDFLAGS = @AM_LDFLAGS@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@@ -112,16 +211,21 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GLOBINC = @GLOBINC@
GLOBLIB = @GLOBLIB@
GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
+GUILE_CFLAGS = @GUILE_CFLAGS@
+GUILE_LIBS = @GUILE_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
KMEM_GROUP = @KMEM_GROUP@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
@@ -134,8 +238,8 @@ LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MAKE_HOST = @MAKE_HOST@
MKDIR_P = @MKDIR_P@
-MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEED_SETGID = @NEED_SETGID@
OBJEXT = @OBJEXT@
@@ -148,6 +252,9 @@ PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
POSUB = @POSUB@
RANLIB = @RANLIB@
REMOTE = @REMOTE@
@@ -157,10 +264,13 @@ STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -207,9 +317,10 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = subdir-objects
noinst_LIBRARIES = libw32.a
libw32_a_SOURCES = subproc/misc.c subproc/sub_proc.c subproc/w32err.c \
- pathstuff.c
+ compat/posixfcn.c pathstuff.c
libw32_a_CPPFLAGS = -I$(srcdir)/include -I$(srcdir)/subproc -I$(top_srcdir)
all: all-am
@@ -225,9 +336,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu w32/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign w32/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu w32/Makefile
+ $(AUTOMAKE) --foreign w32/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -249,112 +360,141 @@ $(am__aclocal_m4_deps):
clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libw32.a: $(libw32_a_OBJECTS) $(libw32_a_DEPENDENCIES)
- -rm -f libw32.a
- $(libw32_a_AR) libw32.a $(libw32_a_OBJECTS) $(libw32_a_LIBADD)
- $(RANLIB) libw32.a
+subproc/$(am__dirstamp):
+ @$(MKDIR_P) subproc
+ @: > subproc/$(am__dirstamp)
+subproc/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) subproc/$(DEPDIR)
+ @: > subproc/$(DEPDIR)/$(am__dirstamp)
+subproc/libw32_a-misc.$(OBJEXT): subproc/$(am__dirstamp) \
+ subproc/$(DEPDIR)/$(am__dirstamp)
+subproc/libw32_a-sub_proc.$(OBJEXT): subproc/$(am__dirstamp) \
+ subproc/$(DEPDIR)/$(am__dirstamp)
+subproc/libw32_a-w32err.$(OBJEXT): subproc/$(am__dirstamp) \
+ subproc/$(DEPDIR)/$(am__dirstamp)
+compat/$(am__dirstamp):
+ @$(MKDIR_P) compat
+ @: > compat/$(am__dirstamp)
+compat/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) compat/$(DEPDIR)
+ @: > compat/$(DEPDIR)/$(am__dirstamp)
+compat/libw32_a-posixfcn.$(OBJEXT): compat/$(am__dirstamp) \
+ compat/$(DEPDIR)/$(am__dirstamp)
+
+libw32.a: $(libw32_a_OBJECTS) $(libw32_a_DEPENDENCIES) $(EXTRA_libw32_a_DEPENDENCIES)
+ $(AM_V_at)-rm -f libw32.a
+ $(AM_V_AR)$(libw32_a_AR) libw32.a $(libw32_a_OBJECTS) $(libw32_a_LIBADD)
+ $(AM_V_at)$(RANLIB) libw32.a
mostlyclean-compile:
-rm -f *.$(OBJEXT)
+ -rm -f compat/*.$(OBJEXT)
+ -rm -f subproc/*.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libw32_a-misc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libw32_a-pathstuff.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libw32_a-sub_proc.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libw32_a-w32err.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@compat/$(DEPDIR)/libw32_a-posixfcn.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@subproc/$(DEPDIR)/libw32_a-misc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@subproc/$(DEPDIR)/libw32_a-sub_proc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@subproc/$(DEPDIR)/libw32_a-w32err.Po@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+subproc/libw32_a-misc.o: subproc/misc.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT subproc/libw32_a-misc.o -MD -MP -MF subproc/$(DEPDIR)/libw32_a-misc.Tpo -c -o subproc/libw32_a-misc.o `test -f 'subproc/misc.c' || echo '$(srcdir)/'`subproc/misc.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) subproc/$(DEPDIR)/libw32_a-misc.Tpo subproc/$(DEPDIR)/libw32_a-misc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subproc/misc.c' object='subproc/libw32_a-misc.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o subproc/libw32_a-misc.o `test -f 'subproc/misc.c' || echo '$(srcdir)/'`subproc/misc.c
-libw32_a-misc.o: subproc/misc.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-misc.o -MD -MP -MF $(DEPDIR)/libw32_a-misc.Tpo -c -o libw32_a-misc.o `test -f 'subproc/misc.c' || echo '$(srcdir)/'`subproc/misc.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libw32_a-misc.Tpo $(DEPDIR)/libw32_a-misc.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='subproc/misc.c' object='libw32_a-misc.o' libtool=no @AMDEPBACKSLASH@
+subproc/libw32_a-misc.obj: subproc/misc.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT subproc/libw32_a-misc.obj -MD -MP -MF subproc/$(DEPDIR)/libw32_a-misc.Tpo -c -o subproc/libw32_a-misc.obj `if test -f 'subproc/misc.c'; then $(CYGPATH_W) 'subproc/misc.c'; else $(CYGPATH_W) '$(srcdir)/subproc/misc.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) subproc/$(DEPDIR)/libw32_a-misc.Tpo subproc/$(DEPDIR)/libw32_a-misc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subproc/misc.c' object='subproc/libw32_a-misc.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-misc.o `test -f 'subproc/misc.c' || echo '$(srcdir)/'`subproc/misc.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o subproc/libw32_a-misc.obj `if test -f 'subproc/misc.c'; then $(CYGPATH_W) 'subproc/misc.c'; else $(CYGPATH_W) '$(srcdir)/subproc/misc.c'; fi`
-libw32_a-misc.obj: subproc/misc.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-misc.obj -MD -MP -MF $(DEPDIR)/libw32_a-misc.Tpo -c -o libw32_a-misc.obj `if test -f 'subproc/misc.c'; then $(CYGPATH_W) 'subproc/misc.c'; else $(CYGPATH_W) '$(srcdir)/subproc/misc.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libw32_a-misc.Tpo $(DEPDIR)/libw32_a-misc.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='subproc/misc.c' object='libw32_a-misc.obj' libtool=no @AMDEPBACKSLASH@
+subproc/libw32_a-sub_proc.o: subproc/sub_proc.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT subproc/libw32_a-sub_proc.o -MD -MP -MF subproc/$(DEPDIR)/libw32_a-sub_proc.Tpo -c -o subproc/libw32_a-sub_proc.o `test -f 'subproc/sub_proc.c' || echo '$(srcdir)/'`subproc/sub_proc.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) subproc/$(DEPDIR)/libw32_a-sub_proc.Tpo subproc/$(DEPDIR)/libw32_a-sub_proc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subproc/sub_proc.c' object='subproc/libw32_a-sub_proc.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-misc.obj `if test -f 'subproc/misc.c'; then $(CYGPATH_W) 'subproc/misc.c'; else $(CYGPATH_W) '$(srcdir)/subproc/misc.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o subproc/libw32_a-sub_proc.o `test -f 'subproc/sub_proc.c' || echo '$(srcdir)/'`subproc/sub_proc.c
-libw32_a-sub_proc.o: subproc/sub_proc.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-sub_proc.o -MD -MP -MF $(DEPDIR)/libw32_a-sub_proc.Tpo -c -o libw32_a-sub_proc.o `test -f 'subproc/sub_proc.c' || echo '$(srcdir)/'`subproc/sub_proc.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libw32_a-sub_proc.Tpo $(DEPDIR)/libw32_a-sub_proc.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='subproc/sub_proc.c' object='libw32_a-sub_proc.o' libtool=no @AMDEPBACKSLASH@
+subproc/libw32_a-sub_proc.obj: subproc/sub_proc.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT subproc/libw32_a-sub_proc.obj -MD -MP -MF subproc/$(DEPDIR)/libw32_a-sub_proc.Tpo -c -o subproc/libw32_a-sub_proc.obj `if test -f 'subproc/sub_proc.c'; then $(CYGPATH_W) 'subproc/sub_proc.c'; else $(CYGPATH_W) '$(srcdir)/subproc/sub_proc.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) subproc/$(DEPDIR)/libw32_a-sub_proc.Tpo subproc/$(DEPDIR)/libw32_a-sub_proc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subproc/sub_proc.c' object='subproc/libw32_a-sub_proc.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-sub_proc.o `test -f 'subproc/sub_proc.c' || echo '$(srcdir)/'`subproc/sub_proc.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o subproc/libw32_a-sub_proc.obj `if test -f 'subproc/sub_proc.c'; then $(CYGPATH_W) 'subproc/sub_proc.c'; else $(CYGPATH_W) '$(srcdir)/subproc/sub_proc.c'; fi`
-libw32_a-sub_proc.obj: subproc/sub_proc.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-sub_proc.obj -MD -MP -MF $(DEPDIR)/libw32_a-sub_proc.Tpo -c -o libw32_a-sub_proc.obj `if test -f 'subproc/sub_proc.c'; then $(CYGPATH_W) 'subproc/sub_proc.c'; else $(CYGPATH_W) '$(srcdir)/subproc/sub_proc.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libw32_a-sub_proc.Tpo $(DEPDIR)/libw32_a-sub_proc.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='subproc/sub_proc.c' object='libw32_a-sub_proc.obj' libtool=no @AMDEPBACKSLASH@
+subproc/libw32_a-w32err.o: subproc/w32err.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT subproc/libw32_a-w32err.o -MD -MP -MF subproc/$(DEPDIR)/libw32_a-w32err.Tpo -c -o subproc/libw32_a-w32err.o `test -f 'subproc/w32err.c' || echo '$(srcdir)/'`subproc/w32err.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) subproc/$(DEPDIR)/libw32_a-w32err.Tpo subproc/$(DEPDIR)/libw32_a-w32err.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subproc/w32err.c' object='subproc/libw32_a-w32err.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-sub_proc.obj `if test -f 'subproc/sub_proc.c'; then $(CYGPATH_W) 'subproc/sub_proc.c'; else $(CYGPATH_W) '$(srcdir)/subproc/sub_proc.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o subproc/libw32_a-w32err.o `test -f 'subproc/w32err.c' || echo '$(srcdir)/'`subproc/w32err.c
-libw32_a-w32err.o: subproc/w32err.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-w32err.o -MD -MP -MF $(DEPDIR)/libw32_a-w32err.Tpo -c -o libw32_a-w32err.o `test -f 'subproc/w32err.c' || echo '$(srcdir)/'`subproc/w32err.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libw32_a-w32err.Tpo $(DEPDIR)/libw32_a-w32err.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='subproc/w32err.c' object='libw32_a-w32err.o' libtool=no @AMDEPBACKSLASH@
+subproc/libw32_a-w32err.obj: subproc/w32err.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT subproc/libw32_a-w32err.obj -MD -MP -MF subproc/$(DEPDIR)/libw32_a-w32err.Tpo -c -o subproc/libw32_a-w32err.obj `if test -f 'subproc/w32err.c'; then $(CYGPATH_W) 'subproc/w32err.c'; else $(CYGPATH_W) '$(srcdir)/subproc/w32err.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) subproc/$(DEPDIR)/libw32_a-w32err.Tpo subproc/$(DEPDIR)/libw32_a-w32err.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subproc/w32err.c' object='subproc/libw32_a-w32err.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-w32err.o `test -f 'subproc/w32err.c' || echo '$(srcdir)/'`subproc/w32err.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o subproc/libw32_a-w32err.obj `if test -f 'subproc/w32err.c'; then $(CYGPATH_W) 'subproc/w32err.c'; else $(CYGPATH_W) '$(srcdir)/subproc/w32err.c'; fi`
-libw32_a-w32err.obj: subproc/w32err.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-w32err.obj -MD -MP -MF $(DEPDIR)/libw32_a-w32err.Tpo -c -o libw32_a-w32err.obj `if test -f 'subproc/w32err.c'; then $(CYGPATH_W) 'subproc/w32err.c'; else $(CYGPATH_W) '$(srcdir)/subproc/w32err.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libw32_a-w32err.Tpo $(DEPDIR)/libw32_a-w32err.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='subproc/w32err.c' object='libw32_a-w32err.obj' libtool=no @AMDEPBACKSLASH@
+compat/libw32_a-posixfcn.o: compat/posixfcn.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT compat/libw32_a-posixfcn.o -MD -MP -MF compat/$(DEPDIR)/libw32_a-posixfcn.Tpo -c -o compat/libw32_a-posixfcn.o `test -f 'compat/posixfcn.c' || echo '$(srcdir)/'`compat/posixfcn.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) compat/$(DEPDIR)/libw32_a-posixfcn.Tpo compat/$(DEPDIR)/libw32_a-posixfcn.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/posixfcn.c' object='compat/libw32_a-posixfcn.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-w32err.obj `if test -f 'subproc/w32err.c'; then $(CYGPATH_W) 'subproc/w32err.c'; else $(CYGPATH_W) '$(srcdir)/subproc/w32err.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o compat/libw32_a-posixfcn.o `test -f 'compat/posixfcn.c' || echo '$(srcdir)/'`compat/posixfcn.c
+
+compat/libw32_a-posixfcn.obj: compat/posixfcn.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT compat/libw32_a-posixfcn.obj -MD -MP -MF compat/$(DEPDIR)/libw32_a-posixfcn.Tpo -c -o compat/libw32_a-posixfcn.obj `if test -f 'compat/posixfcn.c'; then $(CYGPATH_W) 'compat/posixfcn.c'; else $(CYGPATH_W) '$(srcdir)/compat/posixfcn.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) compat/$(DEPDIR)/libw32_a-posixfcn.Tpo compat/$(DEPDIR)/libw32_a-posixfcn.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='compat/posixfcn.c' object='compat/libw32_a-posixfcn.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o compat/libw32_a-posixfcn.obj `if test -f 'compat/posixfcn.c'; then $(CYGPATH_W) 'compat/posixfcn.c'; else $(CYGPATH_W) '$(srcdir)/compat/posixfcn.c'; fi`
libw32_a-pathstuff.o: pathstuff.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-pathstuff.o -MD -MP -MF $(DEPDIR)/libw32_a-pathstuff.Tpo -c -o libw32_a-pathstuff.o `test -f 'pathstuff.c' || echo '$(srcdir)/'`pathstuff.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libw32_a-pathstuff.Tpo $(DEPDIR)/libw32_a-pathstuff.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pathstuff.c' object='libw32_a-pathstuff.o' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-pathstuff.o -MD -MP -MF $(DEPDIR)/libw32_a-pathstuff.Tpo -c -o libw32_a-pathstuff.o `test -f 'pathstuff.c' || echo '$(srcdir)/'`pathstuff.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libw32_a-pathstuff.Tpo $(DEPDIR)/libw32_a-pathstuff.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pathstuff.c' object='libw32_a-pathstuff.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-pathstuff.o `test -f 'pathstuff.c' || echo '$(srcdir)/'`pathstuff.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-pathstuff.o `test -f 'pathstuff.c' || echo '$(srcdir)/'`pathstuff.c
libw32_a-pathstuff.obj: pathstuff.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-pathstuff.obj -MD -MP -MF $(DEPDIR)/libw32_a-pathstuff.Tpo -c -o libw32_a-pathstuff.obj `if test -f 'pathstuff.c'; then $(CYGPATH_W) 'pathstuff.c'; else $(CYGPATH_W) '$(srcdir)/pathstuff.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libw32_a-pathstuff.Tpo $(DEPDIR)/libw32_a-pathstuff.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='pathstuff.c' object='libw32_a-pathstuff.obj' libtool=no @AMDEPBACKSLASH@
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libw32_a-pathstuff.obj -MD -MP -MF $(DEPDIR)/libw32_a-pathstuff.Tpo -c -o libw32_a-pathstuff.obj `if test -f 'pathstuff.c'; then $(CYGPATH_W) 'pathstuff.c'; else $(CYGPATH_W) '$(srcdir)/pathstuff.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libw32_a-pathstuff.Tpo $(DEPDIR)/libw32_a-pathstuff.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pathstuff.c' object='libw32_a-pathstuff.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-pathstuff.obj `if test -f 'pathstuff.c'; then $(CYGPATH_W) 'pathstuff.c'; else $(CYGPATH_W) '$(srcdir)/pathstuff.c'; fi`
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libw32_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libw32_a-pathstuff.obj `if test -f 'pathstuff.c'; then $(CYGPATH_W) 'pathstuff.c'; else $(CYGPATH_W) '$(srcdir)/pathstuff.c'; fi`
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -366,15 +506,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -383,6 +519,21 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -431,10 +582,15 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
mostlyclean-generic:
clean-generic:
@@ -442,6 +598,10 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -rm -f compat/$(DEPDIR)/$(am__dirstamp)
+ -rm -f compat/$(am__dirstamp)
+ -rm -f subproc/$(DEPDIR)/$(am__dirstamp)
+ -rm -f subproc/$(am__dirstamp)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -451,7 +611,7 @@ clean: clean-am
clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -rf ./$(DEPDIR) compat/$(DEPDIR) subproc/$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -497,7 +657,7 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -rf ./$(DEPDIR) compat/$(DEPDIR) subproc/$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -517,17 +677,17 @@ uninstall-am:
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-noinstLIBRARIES ctags distclean distclean-compile \
- distclean-generic distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \
+ distclean-compile distclean-generic distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+ mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am
diff --git a/w32/compat/dirent.c b/w32/compat/dirent.c
index 8d66e470..56407dd5 100644
--- a/w32/compat/dirent.c
+++ b/w32/compat/dirent.c
@@ -1,6 +1,5 @@
/* Directory entry code for Window platforms.
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009, 2010 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
@@ -28,180 +27,180 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
DIR*
opendir(const char* pDirName)
{
- struct stat sb;
- DIR* pDir;
- char* pEndDirName;
- int nBufferLen;
-
- /* sanity checks */
- if (!pDirName) {
- errno = EINVAL;
- return NULL;
- }
- if (stat(pDirName, &sb) != 0) {
- errno = ENOENT;
- return NULL;
- }
- if ((sb.st_mode & S_IFMT) != S_IFDIR) {
- errno = ENOTDIR;
- return NULL;
- }
-
- /* allocate a DIR structure to return */
- pDir = (DIR *) malloc(sizeof (DIR));
-
- if (!pDir)
- return NULL;
-
- /* input directory name length */
- nBufferLen = strlen(pDirName);
-
- /* copy input directory name to DIR buffer */
- strcpy(pDir->dir_pDirectoryName, pDirName);
-
- /* point to end of the copied directory name */
- pEndDirName = &pDir->dir_pDirectoryName[nBufferLen - 1];
-
- /* if directory name did not end in '/' or '\', add '/' */
- if ((*pEndDirName != '/') && (*pEndDirName != '\\')) {
- pEndDirName++;
- *pEndDirName = '/';
- }
-
- /* now append the wildcard character to the buffer */
- pEndDirName++;
- *pEndDirName = '*';
- pEndDirName++;
- *pEndDirName = '\0';
-
- /* other values defaulted */
- pDir->dir_nNumFiles = 0;
- pDir->dir_hDirHandle = INVALID_HANDLE_VALUE;
- pDir->dir_ulCookie = __DIRENT_COOKIE;
-
- return pDir;
+ struct stat sb;
+ DIR* pDir;
+ char* pEndDirName;
+ int nBufferLen;
+
+ /* sanity checks */
+ if (!pDirName) {
+ errno = EINVAL;
+ return NULL;
+ }
+ if (stat(pDirName, &sb) != 0) {
+ errno = ENOENT;
+ return NULL;
+ }
+ if ((sb.st_mode & S_IFMT) != S_IFDIR) {
+ errno = ENOTDIR;
+ return NULL;
+ }
+
+ /* allocate a DIR structure to return */
+ pDir = (DIR *) malloc(sizeof (DIR));
+
+ if (!pDir)
+ return NULL;
+
+ /* input directory name length */
+ nBufferLen = strlen(pDirName);
+
+ /* copy input directory name to DIR buffer */
+ strcpy(pDir->dir_pDirectoryName, pDirName);
+
+ /* point to end of the copied directory name */
+ pEndDirName = &pDir->dir_pDirectoryName[nBufferLen - 1];
+
+ /* if directory name did not end in '/' or '\', add '/' */
+ if ((*pEndDirName != '/') && (*pEndDirName != '\\')) {
+ pEndDirName++;
+ *pEndDirName = '/';
+ }
+
+ /* now append the wildcard character to the buffer */
+ pEndDirName++;
+ *pEndDirName = '*';
+ pEndDirName++;
+ *pEndDirName = '\0';
+
+ /* other values defaulted */
+ pDir->dir_nNumFiles = 0;
+ pDir->dir_hDirHandle = INVALID_HANDLE_VALUE;
+ pDir->dir_ulCookie = __DIRENT_COOKIE;
+
+ return pDir;
}
void
closedir(DIR *pDir)
{
- /* got a valid pointer? */
- if (!pDir) {
- errno = EINVAL;
- return;
- }
+ /* got a valid pointer? */
+ if (!pDir) {
+ errno = EINVAL;
+ return;
+ }
- /* sanity check that this is a DIR pointer */
- if (pDir->dir_ulCookie != __DIRENT_COOKIE) {
- errno = EINVAL;
- return;
- }
+ /* sanity check that this is a DIR pointer */
+ if (pDir->dir_ulCookie != __DIRENT_COOKIE) {
+ errno = EINVAL;
+ return;
+ }
- /* close the WINDOWS32 directory handle */
- if (pDir->dir_hDirHandle != INVALID_HANDLE_VALUE)
- FindClose(pDir->dir_hDirHandle);
+ /* close the WINDOWS32 directory handle */
+ if (pDir->dir_hDirHandle != INVALID_HANDLE_VALUE)
+ FindClose(pDir->dir_hDirHandle);
- free(pDir);
+ free(pDir);
- return;
+ return;
}
struct dirent *
readdir(DIR* pDir)
{
- WIN32_FIND_DATA wfdFindData;
-
- if (!pDir) {
- errno = EINVAL;
- return NULL;
- }
-
- /* sanity check that this is a DIR pointer */
- if (pDir->dir_ulCookie != __DIRENT_COOKIE) {
- errno = EINVAL;
- return NULL;
- }
-
- if (pDir->dir_nNumFiles == 0) {
- pDir->dir_hDirHandle = FindFirstFile(pDir->dir_pDirectoryName, &wfdFindData);
- if (pDir->dir_hDirHandle == INVALID_HANDLE_VALUE)
- return NULL;
- } else if (!FindNextFile(pDir->dir_hDirHandle, &wfdFindData))
- return NULL;
-
- /* bump count for next call to readdir() or telldir() */
- pDir->dir_nNumFiles++;
-
- /* fill in struct dirent values */
- pDir->dir_sdReturn.d_ino = (ino_t)-1;
- strcpy(pDir->dir_sdReturn.d_name, wfdFindData.cFileName);
-
- return &pDir->dir_sdReturn;
+ WIN32_FIND_DATA wfdFindData;
+
+ if (!pDir) {
+ errno = EINVAL;
+ return NULL;
+ }
+
+ /* sanity check that this is a DIR pointer */
+ if (pDir->dir_ulCookie != __DIRENT_COOKIE) {
+ errno = EINVAL;
+ return NULL;
+ }
+
+ if (pDir->dir_nNumFiles == 0) {
+ pDir->dir_hDirHandle = FindFirstFile(pDir->dir_pDirectoryName, &wfdFindData);
+ if (pDir->dir_hDirHandle == INVALID_HANDLE_VALUE)
+ return NULL;
+ } else if (!FindNextFile(pDir->dir_hDirHandle, &wfdFindData))
+ return NULL;
+
+ /* bump count for next call to readdir() or telldir() */
+ pDir->dir_nNumFiles++;
+
+ /* fill in struct dirent values */
+ pDir->dir_sdReturn.d_ino = (ino_t)-1;
+ strcpy(pDir->dir_sdReturn.d_name, wfdFindData.cFileName);
+
+ return &pDir->dir_sdReturn;
}
void
rewinddir(DIR* pDir)
{
- if (!pDir) {
- errno = EINVAL;
- return;
- }
-
- /* sanity check that this is a DIR pointer */
- if (pDir->dir_ulCookie != __DIRENT_COOKIE) {
- errno = EINVAL;
- return;
- }
-
- /* close the WINDOWS32 directory handle */
- if (pDir->dir_hDirHandle != INVALID_HANDLE_VALUE)
- if (!FindClose(pDir->dir_hDirHandle))
- errno = EBADF;
-
- /* reset members which control readdir() */
- pDir->dir_hDirHandle = INVALID_HANDLE_VALUE;
- pDir->dir_nNumFiles = 0;
-
- return;
+ if (!pDir) {
+ errno = EINVAL;
+ return;
+ }
+
+ /* sanity check that this is a DIR pointer */
+ if (pDir->dir_ulCookie != __DIRENT_COOKIE) {
+ errno = EINVAL;
+ return;
+ }
+
+ /* close the WINDOWS32 directory handle */
+ if (pDir->dir_hDirHandle != INVALID_HANDLE_VALUE)
+ if (!FindClose(pDir->dir_hDirHandle))
+ errno = EBADF;
+
+ /* reset members which control readdir() */
+ pDir->dir_hDirHandle = INVALID_HANDLE_VALUE;
+ pDir->dir_nNumFiles = 0;
+
+ return;
}
int
telldir(DIR* pDir)
{
- if (!pDir) {
- errno = EINVAL;
- return -1;
- }
-
- /* sanity check that this is a DIR pointer */
- if (pDir->dir_ulCookie != __DIRENT_COOKIE) {
- errno = EINVAL;
- return -1;
- }
-
- /* return number of times readdir() called */
- return pDir->dir_nNumFiles;
+ if (!pDir) {
+ errno = EINVAL;
+ return -1;
+ }
+
+ /* sanity check that this is a DIR pointer */
+ if (pDir->dir_ulCookie != __DIRENT_COOKIE) {
+ errno = EINVAL;
+ return -1;
+ }
+
+ /* return number of times readdir() called */
+ return pDir->dir_nNumFiles;
}
void
seekdir(DIR* pDir, long nPosition)
{
- if (!pDir)
- return;
+ if (!pDir)
+ return;
- /* sanity check that this is a DIR pointer */
- if (pDir->dir_ulCookie != __DIRENT_COOKIE)
- return;
+ /* sanity check that this is a DIR pointer */
+ if (pDir->dir_ulCookie != __DIRENT_COOKIE)
+ return;
- /* go back to beginning of directory */
- rewinddir(pDir);
+ /* go back to beginning of directory */
+ rewinddir(pDir);
- /* loop until we have found position we care about */
- for (--nPosition; nPosition && readdir(pDir); nPosition--);
+ /* loop until we have found position we care about */
+ for (--nPosition; nPosition && readdir(pDir); nPosition--);
- /* flag invalid nPosition value */
- if (nPosition)
- errno = EINVAL;
+ /* flag invalid nPosition value */
+ if (nPosition)
+ errno = EINVAL;
- return;
+ return;
}
diff --git a/w32/compat/posixfcn.c b/w32/compat/posixfcn.c
new file mode 100644
index 00000000..b3663997
--- /dev/null
+++ b/w32/compat/posixfcn.c
@@ -0,0 +1,486 @@
+/* Replacements for Posix functions and Posix functionality for MS-Windows.
+
+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
+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 <http://www.gnu.org/licenses/>. */
+
+#include <string.h>
+#include <io.h>
+#include <stdarg.h>
+#include <errno.h>
+#include <windows.h>
+
+#include "dlfcn.h"
+
+#include "makeint.h"
+#include "job.h"
+
+#ifndef NO_OUTPUT_SYNC
+/* Support for OUTPUT_SYNC and related functionality. */
+
+/* Emulation of fcntl that supports only F_GETFD and F_SETLKW. */
+int
+fcntl (intptr_t fd, int cmd, ...)
+{
+ va_list ap;
+
+ va_start (ap, cmd);
+
+ switch (cmd)
+ {
+ case F_GETFD:
+ va_end (ap);
+ /* Could have used GetHandleInformation, but that isn't
+ supported on Windows 9X. */
+ if (_get_osfhandle (fd) == -1)
+ return -1;
+ return 0;
+ case F_SETLKW:
+ {
+ void *buf = va_arg (ap, void *);
+ struct flock *fl = (struct flock *)buf;
+ HANDLE hmutex = (HANDLE)fd;
+ static struct flock last_fl;
+ short last_type = last_fl.l_type;
+
+ va_end (ap);
+
+ if (hmutex == INVALID_HANDLE_VALUE || !hmutex)
+ return -1;
+
+ last_fl = *fl;
+
+ switch (fl->l_type)
+ {
+
+ case F_WRLCK:
+ {
+ DWORD result;
+
+ if (last_type == F_WRLCK)
+ {
+ /* Don't call WaitForSingleObject if we already
+ own the mutex, because doing so will require
+ us to call ReleaseMutex an equal number of
+ times, before the mutex is actually
+ released. */
+ return 0;
+ }
+
+ result = WaitForSingleObject (hmutex, INFINITE);
+ switch (result)
+ {
+ case WAIT_OBJECT_0:
+ /* We don't care if the mutex owner crashed or
+ exited. */
+ case WAIT_ABANDONED:
+ return 0;
+ case WAIT_FAILED:
+ case WAIT_TIMEOUT: /* cannot happen, really */
+ {
+ DWORD err = GetLastError ();
+
+ /* Invalidate the last command. */
+ memset (&last_fl, 0, sizeof (last_fl));
+
+ switch (err)
+ {
+ case ERROR_INVALID_HANDLE:
+ case ERROR_INVALID_FUNCTION:
+ errno = EINVAL;
+ return -1;
+ default:
+ errno = EDEADLOCK;
+ return -1;
+ }
+ }
+ }
+ }
+ case F_UNLCK:
+ {
+ /* FIXME: Perhaps we should call ReleaseMutex
+ repatedly until it errors out, to make sure the
+ mutext is released even if we somehow managed to
+ to take ownership multiple times? */
+ BOOL status = ReleaseMutex (hmutex);
+
+ if (status)
+ return 0;
+ else
+ {
+ DWORD err = GetLastError ();
+
+ if (err == ERROR_NOT_OWNER)
+ errno = EPERM;
+ else
+ {
+ memset (&last_fl, 0, sizeof (last_fl));
+ errno = EINVAL;
+ }
+ return -1;
+ }
+ }
+ default:
+ errno = ENOSYS;
+ return -1;
+ }
+ }
+ default:
+ errno = ENOSYS;
+ va_end (ap);
+ return -1;
+ }
+}
+
+static intptr_t mutex_handle = -1;
+
+/* Record in a static variable the mutex handle we were requested to
+ use. That nameless mutex was created by the top-level Make, and
+ its handle was passed to us via inheritance. The value of that
+ handle is passed via the command-line arguments, so that we know
+ which handle to use. */
+void
+record_sync_mutex (const char *str)
+{
+ char *endp;
+ intptr_t hmutex = strtol (str, &endp, 16);
+
+ if (*endp == '\0')
+ mutex_handle = hmutex;
+ else
+ {
+ mutex_handle = -1;
+ errno = EINVAL;
+ }
+}
+
+/* Create a new mutex or reuse one created by our parent. */
+intptr_t
+create_mutex (void)
+{
+ SECURITY_ATTRIBUTES secattr;
+ intptr_t hmutex = -1;
+
+ /* If we have a mutex handle passed from the parent Make, just use
+ that. */
+ if (mutex_handle > 0)
+ return mutex_handle;
+
+ /* We are the top-level Make, and we want the handle to be inherited
+ by our child processes. */
+ secattr.nLength = sizeof (secattr);
+ secattr.lpSecurityDescriptor = NULL; /* use default security descriptor */
+ secattr.bInheritHandle = TRUE;
+
+ hmutex = (intptr_t)CreateMutex (&secattr, FALSE, NULL);
+ if (!hmutex)
+ {
+ DWORD err = GetLastError ();
+
+ fprintf (stderr, "CreateMutex: error %lu\n", err);
+ errno = ENOLCK;
+ hmutex = -1;
+ }
+
+ mutex_handle = hmutex;
+ return hmutex;
+}
+
+/* Return non-zero if F1 and F2 are 2 streams representing the same
+ file or pipe or device. */
+int
+same_stream (FILE *f1, FILE *f2)
+{
+ HANDLE fh1 = (HANDLE)_get_osfhandle (fileno (f1));
+ HANDLE fh2 = (HANDLE)_get_osfhandle (fileno (f2));
+
+ /* Invalid file descriptors get treated as different streams. */
+ if (fh1 && fh1 != INVALID_HANDLE_VALUE
+ && fh2 && fh2 != INVALID_HANDLE_VALUE)
+ {
+ if (fh1 == fh2)
+ return 1;
+ else
+ {
+ DWORD ftyp1 = GetFileType (fh1), ftyp2 = GetFileType (fh2);
+
+ if (ftyp1 != ftyp2
+ || ftyp1 == FILE_TYPE_UNKNOWN || ftyp2 == FILE_TYPE_UNKNOWN)
+ return 0;
+ else if (ftyp1 == FILE_TYPE_CHAR)
+ {
+ /* For character devices, check if they both refer to a
+ console. This loses if both handles refer to the
+ null device (FIXME!), but in that case we don't care
+ in the context of Make. */
+ DWORD conmode1, conmode2;
+
+ /* Each process on Windows can have at most 1 console,
+ so if both handles are for the console device, they
+ are the same. We also compare the console mode to
+ distinguish between stdin and stdout/stderr. */
+ if (GetConsoleMode (fh1, &conmode1)
+ && GetConsoleMode (fh2, &conmode2)
+ && conmode1 == conmode2)
+ return 1;
+ }
+ else
+ {
+ /* For disk files and pipes, compare their unique
+ attributes. */
+ BY_HANDLE_FILE_INFORMATION bhfi1, bhfi2;
+
+ /* Pipes get zero in the volume serial number, but do
+ appear to have meaningful information in file index
+ attributes. We test file attributes as well, for a
+ good measure. */
+ if (GetFileInformationByHandle (fh1, &bhfi1)
+ && GetFileInformationByHandle (fh2, &bhfi2))
+ return (bhfi1.dwVolumeSerialNumber == bhfi2.dwVolumeSerialNumber
+ && bhfi1.nFileIndexLow == bhfi2.nFileIndexLow
+ && bhfi1.nFileIndexHigh == bhfi2.nFileIndexHigh
+ && bhfi1.dwFileAttributes == bhfi2.dwFileAttributes);
+ }
+ }
+ }
+ return 0;
+}
+
+/* A replacement for tmpfile, since the MSVCRT implementation creates
+ the file in the root directory of the current drive, which might
+ not be writable by our user. Most of the code borrowed from
+ create_batch_file, see job.c. */
+FILE *
+tmpfile (void)
+{
+ char temp_path[MAXPATHLEN];
+ unsigned path_size = GetTempPath (sizeof temp_path, temp_path);
+ int path_is_dot = 0;
+ /* The following variable is static so we won't try to reuse a name
+ that was generated a little while ago, because that file might
+ not be on disk yet, since we use FILE_ATTRIBUTE_TEMPORARY below,
+ which tells the OS it doesn't need to flush the cache to disk.
+ If the file is not yet on disk, we might think the name is
+ available, while it really isn't. This happens in parallel
+ builds, where Make doesn't wait for one job to finish before it
+ launches the next one. */
+ static unsigned uniq = 0;
+ static int second_loop = 0;
+ const char base[] = "gmake_tmpf";
+ const unsigned sizemax = sizeof base - 1 + 4 + 10 + 10;
+ unsigned pid = GetCurrentProcessId ();
+
+ if (path_size == 0)
+ {
+ path_size = GetCurrentDirectory (sizeof temp_path, temp_path);
+ path_is_dot = 1;
+ }
+
+ ++uniq;
+ if (uniq >= 0x10000 && !second_loop)
+ {
+ /* If we already had 64K batch files in this
+ process, make a second loop through the numbers,
+ looking for free slots, i.e. files that were
+ deleted in the meantime. */
+ second_loop = 1;
+ uniq = 1;
+ }
+ while (path_size > 0 &&
+ path_size + sizemax < sizeof temp_path &&
+ !(uniq >= 0x10000 && second_loop))
+ {
+ HANDLE h;
+
+ sprintf (temp_path + path_size,
+ "%s%s%u-%x.tmp",
+ temp_path[path_size - 1] == '\\' ? "" : "\\",
+ base, pid, uniq);
+ h = CreateFile (temp_path, /* file name */
+ GENERIC_READ | GENERIC_WRITE | DELETE, /* desired access */
+ FILE_SHARE_READ | FILE_SHARE_WRITE, /* share mode */
+ NULL, /* default security attributes */
+ CREATE_NEW, /* creation disposition */
+ FILE_ATTRIBUTE_NORMAL | /* flags and attributes */
+ FILE_ATTRIBUTE_TEMPORARY |
+ FILE_FLAG_DELETE_ON_CLOSE,
+ NULL); /* no template file */
+
+ if (h == INVALID_HANDLE_VALUE)
+ {
+ const DWORD er = GetLastError ();
+
+ if (er == ERROR_FILE_EXISTS || er == ERROR_ALREADY_EXISTS)
+ {
+ ++uniq;
+ if (uniq == 0x10000 && !second_loop)
+ {
+ second_loop = 1;
+ uniq = 1;
+ }
+ }
+
+ /* The temporary path is not guaranteed to exist, or might
+ not be writable by user. Use the current directory as
+ fallback. */
+ else if (path_is_dot == 0)
+ {
+ path_size = GetCurrentDirectory (sizeof temp_path, temp_path);
+ path_is_dot = 1;
+ }
+
+ else
+ {
+ errno = EACCES;
+ break;
+ }
+ }
+ else
+ {
+ int fd = _open_osfhandle ((intptr_t)h, 0);
+
+ return _fdopen (fd, "w+b");
+ }
+ }
+
+ if (uniq >= 0x10000)
+ errno = EEXIST;
+ return NULL;
+}
+
+#endif /* !NO_OUTPUT_SYNC */
+
+#if MAKE_LOAD
+
+/* Support for dynamic loading of objects. */
+
+
+static DWORD last_err;
+
+void *
+dlopen (const char *file, int mode)
+{
+ char dllfn[MAX_PATH], *p;
+ HANDLE dllhandle;
+
+ if ((mode & ~(RTLD_LAZY | RTLD_NOW | RTLD_GLOBAL)) != 0)
+ {
+ errno = EINVAL;
+ last_err = ERROR_INVALID_PARAMETER;
+ return NULL;
+ }
+
+ if (!file)
+ dllhandle = GetModuleHandle (NULL);
+ else
+ {
+ /* MSDN says to be sure to use backslashes in the DLL file name. */
+ strcpy (dllfn, file);
+ for (p = dllfn; *p; p++)
+ if (*p == '/')
+ *p = '\\';
+
+ dllhandle = LoadLibrary (dllfn);
+ }
+ if (!dllhandle)
+ last_err = GetLastError ();
+
+ return dllhandle;
+}
+
+char *
+dlerror (void)
+{
+ static char errbuf[1024];
+ DWORD ret;
+
+ if (!last_err)
+ return NULL;
+
+ ret = FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM
+ | FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL, last_err, 0, errbuf, sizeof (errbuf), NULL);
+ while (ret > 0 && (errbuf[ret - 1] == '\n' || errbuf[ret - 1] == '\r'))
+ --ret;
+
+ errbuf[ret] = '\0';
+ if (!ret)
+ sprintf (errbuf, "Error code %lu", last_err);
+
+ last_err = 0;
+ return errbuf;
+}
+
+void *
+dlsym (void *handle, const char *name)
+{
+ FARPROC addr = NULL;
+
+ if (!handle || handle == INVALID_HANDLE_VALUE)
+ {
+ last_err = ERROR_INVALID_PARAMETER;
+ return NULL;
+ }
+
+ addr = GetProcAddress (handle, name);
+ if (!addr)
+ last_err = GetLastError ();
+
+ return (void *)addr;
+}
+
+int
+dlclose (void *handle)
+{
+ if (!handle || handle == INVALID_HANDLE_VALUE)
+ return -1;
+ if (!FreeLibrary (handle))
+ return -1;
+
+ return 0;
+}
+
+
+#endif /* MAKE_LOAD */
+
+
+/* MS runtime's isatty returns non-zero for any character device,
+ including the null device, which is not what we want. */
+int
+isatty (int fd)
+{
+ HANDLE fh = (HANDLE) _get_osfhandle (fd);
+ DWORD con_mode;
+
+ if (fh == INVALID_HANDLE_VALUE)
+ {
+ errno = EBADF;
+ return 0;
+ }
+ if (GetConsoleMode (fh, &con_mode))
+ return 1;
+
+ errno = ENOTTY;
+ return 0;
+}
+
+char *
+ttyname (int fd)
+{
+ /* This "knows" that Make only asks about stdout and stderr. A more
+ sophisticated implementation should test whether FD is open for
+ input or output. We can do that by looking at the mode returned
+ by GetConsoleMode. */
+ return "CONOUT$";
+}
diff --git a/w32/include/dirent.h b/w32/include/dirent.h
index 6e77c8bc..13308de9 100644
--- a/w32/include/dirent.h
+++ b/w32/include/dirent.h
@@ -1,6 +1,5 @@
/* Windows version of dirent.h
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-2007, 2008, 2009, 2010 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
@@ -37,16 +36,16 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
struct dirent
{
- ino_t d_ino; /* unused - no equivalent on WINDOWS32 */
+ ino_t d_ino; /* unused - no equivalent on WINDOWS32 */
char d_name[NAME_MAX+1];
};
typedef struct dir_struct {
- ULONG dir_ulCookie;
- HANDLE dir_hDirHandle;
- DWORD dir_nNumFiles;
- char dir_pDirectoryName[NAME_MAX+1];
- struct dirent dir_sdReturn;
+ ULONG dir_ulCookie;
+ HANDLE dir_hDirHandle;
+ DWORD dir_nNumFiles;
+ char dir_pDirectoryName[NAME_MAX+1];
+ struct dirent dir_sdReturn;
} DIR;
DIR *opendir(const char *);
diff --git a/w32/include/dlfcn.h b/w32/include/dlfcn.h
new file mode 100644
index 00000000..c64ac7b6
--- /dev/null
+++ b/w32/include/dlfcn.h
@@ -0,0 +1,29 @@
+/* dlfcn.h replacement for MS-Windows build.
+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
+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 <http://www.gnu.org/licenses/>. */
+
+#ifndef DLFCN_H
+#define DLFCN_H
+
+#define RTLD_LAZY 1
+#define RTLD_NOW 2
+#define RTLD_GLOBAL 4
+
+extern void *dlopen (const char *, int);
+extern void *dlsym (void *, const char *);
+extern char *dlerror (void);
+extern int dlclose (void *);
+
+#endif /* DLFCN_H */
diff --git a/w32/include/pathstuff.h b/w32/include/pathstuff.h
index e56e8222..fb03f122 100644
--- a/w32/include/pathstuff.h
+++ b/w32/include/pathstuff.h
@@ -1,6 +1,5 @@
/* Definitions for Windows path manipulation.
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-2007, 2008, 2009, 2010 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 --git a/w32/include/sub_proc.h b/w32/include/sub_proc.h
index 8166dce5..1e1b2139 100644
--- a/w32/include/sub_proc.h
+++ b/w32/include/sub_proc.h
@@ -1,6 +1,5 @@
/* Definitions for Windows process invocation.
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009, 2010 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
@@ -21,11 +20,11 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/*
* Component Name:
*
- * $Date: 2010/07/13 01:20:43 $
+ * $Date$
*
- * $Source: /sources/make/make/w32/include/sub_proc.h,v $
+ * $Source$
*
- * $Id: sub_proc.h,v 1.12 2010/07/13 01:20:43 psmith Exp $
+ * $Id$
*/
#define EXTERN_DECL(entry, args) extern entry args
@@ -33,16 +32,17 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
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, (VOID_DECL));
+EXTERN_DECL(HANDLE process_wait_for_any, (int block, DWORD* pdwWaitStatus));
EXTERN_DECL(void process_register, (HANDLE proc));
-EXTERN_DECL(HANDLE process_easy, (char** argv, char** env));
+EXTERN_DECL(HANDLE process_easy, (char** argv, char** env,
+ int outfd, int errfd));
EXTERN_DECL(BOOL process_kill, (HANDLE proc, int signal));
EXTERN_DECL(int process_used_slots, (VOID_DECL));
@@ -56,5 +56,16 @@ EXTERN_DECL(char * process_errbuf, (HANDLE proc));
EXTERN_DECL(int process_outcnt, (HANDLE proc));
EXTERN_DECL(int process_errcnt, (HANDLE proc));
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 --git a/w32/include/w32err.h b/w32/include/w32err.h
index 65369ba0..7d722265 100644
--- a/w32/include/w32err.h
+++ b/w32/include/w32err.h
@@ -1,6 +1,5 @@
/* Definitions for Windows error handling.
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009, 2010 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
@@ -22,6 +21,6 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#define EXTERN_DECL(entry, args) entry args
#endif
-EXTERN_DECL(char * map_windows32_error_to_string, (DWORD error));
+EXTERN_DECL(const char * map_windows32_error_to_string, (DWORD error));
#endif /* !_W32ERR_H */
diff --git a/w32/pathstuff.c b/w32/pathstuff.c
index 1f8269ef..55332aba 100644
--- a/w32/pathstuff.c
+++ b/w32/pathstuff.c
@@ -1,6 +1,5 @@
/* Path conversion for Windows pathnames.
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-2007, 2008, 2009, 2010 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
@@ -15,7 +14,7 @@ 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 <http://www.gnu.org/licenses/>. */
-#include "make.h"
+#include "makeint.h"
#include <string.h>
#include <stdlib.h>
#include "pathstuff.h"
@@ -28,15 +27,15 @@ convert_vpath_to_windows32(char *Path, char to_delim)
{
char *etok; /* token separator for old Path */
- /*
- * Convert all spaces to delimiters. Note that pathnames which
- * contain blanks get trounced here. Use 8.3 format as a workaround.
- */
- for (etok = Path; etok && *etok; etok++)
- if (isblank ((unsigned char) *etok))
- *etok = to_delim;
+ /*
+ * Convert all spaces to delimiters. Note that pathnames which
+ * contain blanks get trounced here. Use 8.3 format as a workaround.
+ */
+ for (etok = Path; etok && *etok; etok++)
+ if (isblank ((unsigned char) *etok))
+ *etok = to_delim;
- return (convert_Path_to_windows32(Path, to_delim));
+ return (convert_Path_to_windows32(Path, to_delim));
}
/*
@@ -80,7 +79,7 @@ convert_Path_to_windows32(char *Path, char to_delim)
if (etok) {
*etok = to_delim;
p = ++etok;
- } else
+ } else
p += strlen(p);
} else {
/* found another one, no drive letter */
@@ -115,14 +114,14 @@ w32ify(const char *filename, int resolve)
char *
getcwd_fs(char* buf, int len)
{
- char *p = getcwd(buf, len);
+ char *p = getcwd(buf, len);
- if (p) {
- char *q = w32ify(buf, 0);
- strncpy(buf, q, len);
- }
+ if (p) {
+ char *q = w32ify(buf, 0);
+ strncpy(buf, q, len);
+ }
- return p;
+ return p;
}
#ifdef unused
diff --git a/w32/subproc/NMakefile b/w32/subproc/NMakefile
index 46c838c3..ebf516d5 100644
--- a/w32/subproc/NMakefile
+++ b/w32/subproc/NMakefile
@@ -1,8 +1,7 @@
-# NOTE: If you have no `make' program at all to process this makefile, run
-# `build.bat' instead.
+# NOTE: If you have no 'make' program at all to process this makefile, run
+# 'build.bat' instead.
#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 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 --git a/w32/subproc/build.bat b/w32/subproc/build.bat
index dee40725..f8604ce2 100644
--- a/w32/subproc/build.bat
+++ b/w32/subproc/build.bat
@@ -1,24 +1,23 @@
-@if "%1" == "gcc" GoTo GCCBuild
+@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 /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 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 /D WIN32 /D WINDOWS32 /D _DEBUG /D _WINDOWS /FR.\WinDebug/ /Fp.\WinDebug/subproc.pch /Fo.\WinDebug/ /c w32err.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 ../include /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 ../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 ../include /D WIN32 /D WINDOWS32 /D NDEBUG /D _WINDOWS /FR.\WinRel/ /Fp.\WinRel/subproc.pch /Fo.\WinRel/ /c w32err.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 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 -O2 -I.. -I. -I../include -I../.. -DWINDOWS32 -c misc.c -o ../../w32_misc.o
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I.. -I. -I../include -I../.. -DWINDOWS32 -c sub_proc.c -o ../../sub_proc.o
-gcc -mthreads -Wall -gdwarf-2 -g3 -O2 -I.. -I. -I../include -I../.. -DWINDOWS32 -c w32err.c -o ../../w32err.o
+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, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-rem 2005, 2006, 2007, 2008, 2009, 2010 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
diff --git a/w32/subproc/misc.c b/w32/subproc/misc.c
index 6759c177..3f3bdf83 100644
--- a/w32/subproc/misc.c
+++ b/w32/subproc/misc.c
@@ -1,6 +1,5 @@
/* Process handling for Windows
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009, 2010 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
@@ -25,59 +24,60 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
/*
* Description: Convert a NULL string terminated UNIX environment block to
- * an environment block suitable for a windows32 system call
+ * an environment block suitable for a windows32 system call
*
* Returns: TRUE= success, FALSE=fail
*
* Notes/Dependencies: the environment block is sorted in case-insensitive
- * order, is double-null terminated, and is a char *, not a char **
+ * order, is double-null terminated, and is a char *, not a char **
*/
int _cdecl compare(const void *a1, const void *a2)
{
- return _stricoll(*((char**)a1),*((char**)a2));
+ return _stricoll(*((char**)a1),*((char**)a2));
}
bool_t
-arr2envblk(char **arr, char **envblk_out)
+arr2envblk(char **arr, char **envblk_out, int *envsize_needed)
{
- char **tmp;
- int size_needed;
- int arrcnt;
- char *ptr;
+ char **tmp;
+ int size_needed;
+ int arrcnt;
+ char *ptr;
- arrcnt = 0;
- while (arr[arrcnt]) {
- arrcnt++;
- }
+ arrcnt = 0;
+ while (arr[arrcnt]) {
+ arrcnt++;
+ }
- tmp = (char**) calloc(arrcnt + 1, sizeof(char *));
- if (!tmp) {
- return FALSE;
- }
+ tmp = (char**) calloc(arrcnt + 1, sizeof(char *));
+ if (!tmp) {
+ return FALSE;
+ }
- arrcnt = 0;
- size_needed = 0;
- while (arr[arrcnt]) {
- tmp[arrcnt] = arr[arrcnt];
- size_needed += strlen(arr[arrcnt]) + 1;
- arrcnt++;
- }
- size_needed++;
+ arrcnt = 0;
+ size_needed = *envsize_needed = 0;
+ while (arr[arrcnt]) {
+ tmp[arrcnt] = arr[arrcnt];
+ size_needed += strlen(arr[arrcnt]) + 1;
+ arrcnt++;
+ }
+ size_needed++;
+ *envsize_needed = size_needed;
- qsort((void *) tmp, (size_t) arrcnt, sizeof (char*), compare);
+ qsort((void *) tmp, (size_t) arrcnt, sizeof (char*), compare);
- ptr = *envblk_out = calloc(size_needed, 1);
- if (!ptr) {
- free(tmp);
- return FALSE;
- }
+ ptr = *envblk_out = calloc(size_needed, 1);
+ if (!ptr) {
+ free(tmp);
+ return FALSE;
+ }
- arrcnt = 0;
- while (tmp[arrcnt]) {
- strcpy(ptr, tmp[arrcnt]);
- ptr += strlen(tmp[arrcnt]) + 1;
- arrcnt++;
- }
+ arrcnt = 0;
+ while (tmp[arrcnt]) {
+ strcpy(ptr, tmp[arrcnt]);
+ ptr += strlen(tmp[arrcnt]) + 1;
+ arrcnt++;
+ }
- free(tmp);
- return TRUE;
+ free(tmp);
+ return TRUE;
}
diff --git a/w32/subproc/proc.h b/w32/subproc/proc.h
index 00b4bac9..1e4054c6 100644
--- a/w32/subproc/proc.h
+++ b/w32/subproc/proc.h
@@ -1,6 +1,5 @@
/* Definitions for Windows
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009, 2010 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,11 +19,11 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
typedef int bool_t;
-#define E_SCALL 101
-#define E_IO 102
-#define E_NO_MEM 103
-#define E_FORK 104
+#define E_SCALL 101
+#define E_IO 102
+#define E_NO_MEM 103
+#define E_FORK 104
-extern bool_t arr2envblk(char **arr, char **envblk_out);
+extern bool_t arr2envblk(char **arr, char **envblk_out, int *envsize_needed);
#endif
diff --git a/w32/subproc/sub_proc.c b/w32/subproc/sub_proc.c
index dcb77bf3..5496c7eb 100644
--- a/w32/subproc/sub_proc.c
+++ b/w32/subproc/sub_proc.c
@@ -1,6 +1,5 @@
/* Process handling for Windows.
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009, 2010 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
@@ -18,39 +17,43 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <stdlib.h>
#include <stdio.h>
+#include <io.h> /* for _get_osfhandle */
#ifdef _MSC_VER
# include <stddef.h> /* for intptr_t */
#else
# include <stdint.h>
#endif
+#include <string.h>
#include <process.h> /* for msvc _beginthreadex, _endthreadex */
#include <signal.h>
#include <windows.h>
+#include "makeint.h"
+#include "filedef.h"
+#include "variable.h"
#include "sub_proc.h"
#include "proc.h"
#include "w32err.h"
#include "debug.h"
static char *make_command_line(char *shell_name, char *exec_path, char **argv);
-extern char *xmalloc (unsigned int);
typedef struct sub_process_t {
- intptr_t sv_stdin[2];
- intptr_t sv_stdout[2];
- intptr_t sv_stderr[2];
- int using_pipes;
- char *inp;
- DWORD incnt;
- char * volatile outp;
- volatile DWORD outcnt;
- char * volatile errp;
- volatile DWORD errcnt;
- pid_t pid;
- int exit_code;
- int signal;
- long last_err;
- long lerrno;
+ intptr_t sv_stdin[2];
+ intptr_t sv_stdout[2];
+ intptr_t sv_stderr[2];
+ int using_pipes;
+ char *inp;
+ DWORD incnt;
+ char * volatile outp;
+ volatile DWORD outcnt;
+ char * volatile errp;
+ volatile DWORD errcnt;
+ pid_t pid;
+ int exit_code;
+ int signal;
+ long last_err;
+ long lerrno;
} sub_process;
/* keep track of children so we can implement a waitpid-like routine */
@@ -58,6 +61,126 @@ static sub_process *proc_array[MAXIMUM_WAIT_OBJECTS];
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;
+
+/* 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.
+ */
+int wait_for_semaphore_or_child_process()
+{
+ 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++)
+ {
+ /* Don't wait on child processes that have already finished */
+ if (fake_exits_pending && proc_array[i]->exit_code)
+ continue;
+
+ handles[dwHandleCount++] = (HANDLE) proc_array[i]->pid;
+ }
+
+ 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;
+ }
+}
+
/*
* When a process has been waited for, adjust the wait state
* array so that we don't wait for it again
@@ -65,62 +188,68 @@ static int fake_exits_pending = 0;
static void
process_adjust_wait_state(sub_process* pproc)
{
- int i;
-
- if (!proc_index)
- return;
-
- for (i = 0; i < proc_index; i++)
- if (proc_array[i]->pid == pproc->pid)
- break;
-
- if (i < proc_index) {
- proc_index--;
- if (i != proc_index)
- memmove(&proc_array[i], &proc_array[i+1],
- (proc_index-i) * sizeof(sub_process*));
- proc_array[proc_index] = NULL;
- }
+ int i;
+
+ if (!proc_index)
+ return;
+
+ for (i = 0; i < proc_index; i++)
+ if (proc_array[i]->pid == pproc->pid)
+ break;
+
+ if (i < proc_index) {
+ proc_index--;
+ if (i != proc_index)
+ memmove(&proc_array[i], &proc_array[i+1],
+ (proc_index-i) * sizeof(sub_process*));
+ proc_array[proc_index] = NULL;
+ }
}
/*
* Waits for any of the registered child processes to finish.
*/
static sub_process *
-process_wait_for_any_private(void)
+process_wait_for_any_private(int block, DWORD* pdwWaitStatus)
{
- HANDLE handles[MAXIMUM_WAIT_OBJECTS];
- DWORD retval, which;
- int i;
-
- if (!proc_index)
- return NULL;
-
- /* build array of handles to wait for */
- for (i = 0; i < proc_index; i++) {
- handles[i] = (HANDLE) proc_array[i]->pid;
-
- if (fake_exits_pending && proc_array[i]->exit_code)
- break;
- }
-
- /* wait for someone to exit */
- if (!fake_exits_pending) {
- retval = WaitForMultipleObjects(proc_index, handles, FALSE, INFINITE);
- which = retval - WAIT_OBJECT_0;
- } else {
- fake_exits_pending--;
- retval = !WAIT_FAILED;
- which = i;
- }
-
- /* return pointer to process */
- if (retval != WAIT_FAILED) {
- sub_process* pproc = proc_array[which];
- process_adjust_wait_state(pproc);
- return pproc;
- } else
- return NULL;
+ HANDLE handles[MAXIMUM_WAIT_OBJECTS];
+ DWORD retval, which;
+ int i;
+
+ if (!proc_index)
+ return NULL;
+
+ /* build array of handles to wait for */
+ for (i = 0; i < proc_index; i++) {
+ handles[i] = (HANDLE) proc_array[i]->pid;
+
+ if (fake_exits_pending && proc_array[i]->exit_code)
+ break;
+ }
+
+ /* wait for someone to exit */
+ if (!fake_exits_pending) {
+ retval = WaitForMultipleObjects(proc_index, handles, FALSE, (block ? INFINITE : 0));
+ which = retval - WAIT_OBJECT_0;
+ } else {
+ fake_exits_pending--;
+ retval = !WAIT_FAILED;
+ which = i;
+ }
+
+ /* If the pointer is not NULL, set the wait status result variable. */
+ if (pdwWaitStatus)
+ *pdwWaitStatus = retval;
+
+ /* return pointer to process */
+ if ((retval == WAIT_TIMEOUT) || (retval == WAIT_FAILED)) {
+ return NULL;
+ }
+ else {
+ sub_process* pproc = proc_array[which];
+ process_adjust_wait_state(pproc);
+ return pproc;
+ }
}
/*
@@ -129,9 +258,9 @@ process_wait_for_any_private(void)
BOOL
process_kill(HANDLE proc, int signal)
{
- sub_process* pproc = (sub_process*) proc;
- pproc->signal = signal;
- return (TerminateProcess((HANDLE) pproc->pid, signal));
+ sub_process* pproc = (sub_process*) proc;
+ pproc->signal = signal;
+ return (TerminateProcess((HANDLE) pproc->pid, signal));
}
/*
@@ -143,8 +272,8 @@ process_kill(HANDLE proc, int signal)
void
process_register(HANDLE proc)
{
- if (proc_index < MAXIMUM_WAIT_OBJECTS)
- proc_array[proc_index++] = (sub_process *) proc;
+ if (proc_index < MAXIMUM_WAIT_OBJECTS)
+ proc_array[proc_index++] = (sub_process *) proc;
}
/*
@@ -153,7 +282,7 @@ process_register(HANDLE proc)
int
process_used_slots(void)
{
- return proc_index;
+ return proc_index;
}
/*
@@ -161,17 +290,17 @@ process_used_slots(void)
* of the children to die and return results. To call this function,
* you must do 1 of things:
*
- * x = process_easy(...);
+ * x = process_easy(...);
*
* or
*
- * x = process_init_fd();
- * process_register(x);
+ * x = process_init_fd();
+ * process_register(x);
*
* or
*
- * x = process_init();
- * process_register(x);
+ * x = process_init();
+ * process_register(x);
*
* You must NOT then call process_pipe_io() because this function is
* not capable of handling automatic notification of any child
@@ -179,20 +308,20 @@ process_used_slots(void)
*/
HANDLE
-process_wait_for_any(void)
+process_wait_for_any(int block, DWORD* pdwWaitStatus)
{
- sub_process* pproc = process_wait_for_any_private();
-
- if (!pproc)
- return NULL;
- else {
- /*
- * Ouch! can't tell caller if this fails directly. Caller
- * will have to use process_last_err()
+ sub_process* pproc = process_wait_for_any_private(block, pdwWaitStatus);
+
+ if (!pproc)
+ return NULL;
+ else {
+ /*
+ * Ouch! can't tell caller if this fails directly. Caller
+ * will have to use process_last_err()
*/
- (void) process_file_io(pproc);
- return ((HANDLE) pproc);
- }
+ (void) process_file_io(pproc);
+ return ((HANDLE) pproc);
+ }
}
long
@@ -206,14 +335,23 @@ long
process_last_err(HANDLE proc)
{
if (proc == INVALID_HANDLE_VALUE) return ERROR_INVALID_HANDLE;
- return (((sub_process *)proc)->last_err);
+ return (((sub_process *)proc)->last_err);
}
long
process_exit_code(HANDLE proc)
{
if (proc == INVALID_HANDLE_VALUE) return EXIT_FAILURE;
- return (((sub_process *)proc)->exit_code);
+ return (((sub_process *)proc)->exit_code);
+}
+
+void
+process_noinherit(int fd)
+{
+ HANDLE fh = (HANDLE)_get_osfhandle(fd);
+
+ if (fh && fh != INVALID_HANDLE_VALUE)
+ SetHandleInformation(fh, HANDLE_FLAG_INHERIT, 0);
}
/*
@@ -226,181 +364,203 @@ a reasonable error handling for this function.
char *
process_outbuf(HANDLE proc)
{
- return (((sub_process *)proc)->outp);
+ return (((sub_process *)proc)->outp);
}
char *
process_errbuf(HANDLE proc)
{
- return (((sub_process *)proc)->errp);
+ return (((sub_process *)proc)->errp);
}
int
process_outcnt(HANDLE proc)
{
- return (((sub_process *)proc)->outcnt);
+ return (((sub_process *)proc)->outcnt);
}
int
process_errcnt(HANDLE proc)
{
- return (((sub_process *)proc)->errcnt);
+ return (((sub_process *)proc)->errcnt);
}
void
process_pipes(HANDLE proc, int pipes[3])
{
- pipes[0] = ((sub_process *)proc)->sv_stdin[0];
- pipes[1] = ((sub_process *)proc)->sv_stdout[0];
- pipes[2] = ((sub_process *)proc)->sv_stderr[0];
- return;
+ pipes[0] = ((sub_process *)proc)->sv_stdin[0];
+ pipes[1] = ((sub_process *)proc)->sv_stdout[0];
+ pipes[2] = ((sub_process *)proc)->sv_stderr[0];
+ return;
}
*/
- HANDLE
+ HANDLE
process_init()
{
- sub_process *pproc;
- /*
- * open file descriptors for attaching stdin/stdout/sterr
- */
- HANDLE stdin_pipes[2];
- HANDLE stdout_pipes[2];
- HANDLE stderr_pipes[2];
- SECURITY_ATTRIBUTES inherit;
- BYTE sd[SECURITY_DESCRIPTOR_MIN_LENGTH];
-
- pproc = malloc(sizeof(*pproc));
- memset(pproc, 0, sizeof(*pproc));
-
- /* We can't use NULL for lpSecurityDescriptor because that
- uses the default security descriptor of the calling process.
- Instead we use a security descriptor with no DACL. This
- allows nonrestricted access to the associated objects. */
-
- if (!InitializeSecurityDescriptor((PSECURITY_DESCRIPTOR)(&sd),
- SECURITY_DESCRIPTOR_REVISION)) {
- pproc->last_err = GetLastError();
- pproc->lerrno = E_SCALL;
- return((HANDLE)pproc);
- }
-
- inherit.nLength = sizeof(inherit);
- inherit.lpSecurityDescriptor = (PSECURITY_DESCRIPTOR)(&sd);
- inherit.bInheritHandle = TRUE;
-
- // By convention, parent gets pipe[0], and child gets pipe[1]
- // This means the READ side of stdin pipe goes into pipe[1]
- // and the WRITE side of the stdout and stderr pipes go into pipe[1]
- if (CreatePipe( &stdin_pipes[1], &stdin_pipes[0], &inherit, 0) == FALSE ||
- CreatePipe( &stdout_pipes[0], &stdout_pipes[1], &inherit, 0) == FALSE ||
- CreatePipe( &stderr_pipes[0], &stderr_pipes[1], &inherit, 0) == FALSE) {
-
- pproc->last_err = GetLastError();
- pproc->lerrno = E_SCALL;
- return((HANDLE)pproc);
- }
-
- //
- // Mark the parent sides of the pipes as non-inheritable
- //
- if (SetHandleInformation(stdin_pipes[0],
- HANDLE_FLAG_INHERIT, 0) == FALSE ||
- SetHandleInformation(stdout_pipes[0],
- HANDLE_FLAG_INHERIT, 0) == FALSE ||
- SetHandleInformation(stderr_pipes[0],
- HANDLE_FLAG_INHERIT, 0) == FALSE) {
-
- pproc->last_err = GetLastError();
- pproc->lerrno = E_SCALL;
- return((HANDLE)pproc);
- }
- pproc->sv_stdin[0] = (intptr_t) stdin_pipes[0];
- pproc->sv_stdin[1] = (intptr_t) stdin_pipes[1];
- pproc->sv_stdout[0] = (intptr_t) stdout_pipes[0];
- pproc->sv_stdout[1] = (intptr_t) stdout_pipes[1];
- pproc->sv_stderr[0] = (intptr_t) stderr_pipes[0];
- pproc->sv_stderr[1] = (intptr_t) stderr_pipes[1];
-
- pproc->using_pipes = 1;
-
- pproc->lerrno = 0;
-
- return((HANDLE)pproc);
+ sub_process *pproc;
+ /*
+ * open file descriptors for attaching stdin/stdout/sterr
+ */
+ HANDLE stdin_pipes[2];
+ HANDLE stdout_pipes[2];
+ HANDLE stderr_pipes[2];
+ SECURITY_ATTRIBUTES inherit;
+ BYTE sd[SECURITY_DESCRIPTOR_MIN_LENGTH];
+
+ pproc = malloc(sizeof(*pproc));
+ memset(pproc, 0, sizeof(*pproc));
+
+ /* We can't use NULL for lpSecurityDescriptor because that
+ uses the default security descriptor of the calling process.
+ Instead we use a security descriptor with no DACL. This
+ allows nonrestricted access to the associated objects. */
+
+ if (!InitializeSecurityDescriptor((PSECURITY_DESCRIPTOR)(&sd),
+ SECURITY_DESCRIPTOR_REVISION)) {
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_SCALL;
+ return((HANDLE)pproc);
+ }
+
+ inherit.nLength = sizeof(inherit);
+ inherit.lpSecurityDescriptor = (PSECURITY_DESCRIPTOR)(&sd);
+ inherit.bInheritHandle = TRUE;
+
+ // By convention, parent gets pipe[0], and child gets pipe[1]
+ // This means the READ side of stdin pipe goes into pipe[1]
+ // and the WRITE side of the stdout and stderr pipes go into pipe[1]
+ if (CreatePipe( &stdin_pipes[1], &stdin_pipes[0], &inherit, 0) == FALSE ||
+ CreatePipe( &stdout_pipes[0], &stdout_pipes[1], &inherit, 0) == FALSE ||
+ CreatePipe( &stderr_pipes[0], &stderr_pipes[1], &inherit, 0) == FALSE) {
+
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_SCALL;
+ return((HANDLE)pproc);
+ }
+
+ //
+ // Mark the parent sides of the pipes as non-inheritable
+ //
+ if (SetHandleInformation(stdin_pipes[0],
+ HANDLE_FLAG_INHERIT, 0) == FALSE ||
+ SetHandleInformation(stdout_pipes[0],
+ HANDLE_FLAG_INHERIT, 0) == FALSE ||
+ SetHandleInformation(stderr_pipes[0],
+ HANDLE_FLAG_INHERIT, 0) == FALSE) {
+
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_SCALL;
+ return((HANDLE)pproc);
+ }
+ pproc->sv_stdin[0] = (intptr_t) stdin_pipes[0];
+ pproc->sv_stdin[1] = (intptr_t) stdin_pipes[1];
+ pproc->sv_stdout[0] = (intptr_t) stdout_pipes[0];
+ pproc->sv_stdout[1] = (intptr_t) stdout_pipes[1];
+ pproc->sv_stderr[0] = (intptr_t) stderr_pipes[0];
+ pproc->sv_stderr[1] = (intptr_t) stderr_pipes[1];
+
+ pproc->using_pipes = 1;
+
+ pproc->lerrno = 0;
+
+ return((HANDLE)pproc);
}
- HANDLE
+ HANDLE
process_init_fd(HANDLE stdinh, HANDLE stdouth, HANDLE stderrh)
{
- sub_process *pproc;
+ sub_process *pproc;
- pproc = malloc(sizeof(*pproc));
- memset(pproc, 0, sizeof(*pproc));
+ pproc = malloc(sizeof(*pproc));
+ if (pproc) {
+ memset(pproc, 0, sizeof(*pproc));
- /*
- * Just pass the provided file handles to the 'child side' of the
- * pipe, bypassing pipes altogether.
- */
- pproc->sv_stdin[1] = (intptr_t) stdinh;
- pproc->sv_stdout[1] = (intptr_t) stdouth;
- pproc->sv_stderr[1] = (intptr_t) stderrh;
+ /*
+ * Just pass the provided file handles to the 'child
+ * side' of the pipe, bypassing pipes altogether.
+ */
+ pproc->sv_stdin[1] = (intptr_t) stdinh;
+ pproc->sv_stdout[1] = (intptr_t) stdouth;
+ pproc->sv_stderr[1] = (intptr_t) stderrh;
- pproc->last_err = pproc->lerrno = 0;
+ pproc->last_err = pproc->lerrno = 0;
+ }
- return((HANDLE)pproc);
+ return((HANDLE)pproc);
}
static HANDLE
find_file(const char *exec_path, const char *path_var,
- char *full_fname, DWORD full_len)
+ char *full_fname, DWORD full_len)
+{
+ HANDLE exec_handle;
+ char *fname;
+ char *ext;
+ DWORD req_len;
+ int i;
+ static const char *extensions[] =
+ /* Should .com come before no-extension case? */
+ { ".exe", ".cmd", ".bat", "", ".com", NULL };
+
+ fname = xmalloc(strlen(exec_path) + 5);
+ strcpy(fname, exec_path);
+ ext = fname + strlen(fname);
+
+ for (i = 0; extensions[i]; i++) {
+ strcpy(ext, extensions[i]);
+ if (((req_len = SearchPath (path_var, fname, NULL, full_len,
+ full_fname, NULL)) > 0
+ /* For compatibility with previous code, which
+ used OpenFile, and with Windows operation in
+ general, also look in various default
+ locations, such as Windows directory and
+ Windows System directory. Warning: this also
+ searches PATH in the Make's environment, which
+ might not be what the Makefile wants, but it
+ seems to be OK as a fallback, after the
+ previous SearchPath failed to find on child's
+ PATH. */
+ || (req_len = SearchPath (NULL, fname, NULL, full_len,
+ full_fname, NULL)) > 0)
+ && req_len <= full_len
+ && (exec_handle =
+ CreateFile(full_fname,
+ GENERIC_READ,
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL,
+ OPEN_EXISTING,
+ FILE_ATTRIBUTE_NORMAL,
+ NULL)) != INVALID_HANDLE_VALUE) {
+ free(fname);
+ return(exec_handle);
+ }
+ }
+
+ free(fname);
+ return INVALID_HANDLE_VALUE;
+}
+
+/*
+ * Return non-zero of FNAME specifies a batch file and its name
+ * includes embedded whitespace.
+ */
+
+static int
+batch_file_with_spaces(const char *fname)
{
- HANDLE exec_handle;
- char *fname;
- char *ext;
- DWORD req_len;
- int i;
- static const char *extensions[] =
- /* Should .com come before no-extension case? */
- { ".exe", ".cmd", ".bat", "", ".com", NULL };
-
- fname = xmalloc(strlen(exec_path) + 5);
- strcpy(fname, exec_path);
- ext = fname + strlen(fname);
-
- for (i = 0; extensions[i]; i++) {
- strcpy(ext, extensions[i]);
- if (((req_len = SearchPath (path_var, fname, NULL, full_len,
- full_fname, NULL)) > 0
- /* For compatibility with previous code, which
- used OpenFile, and with Windows operation in
- general, also look in various default
- locations, such as Windows directory and
- Windows System directory. Warning: this also
- searches PATH in the Make's environment, which
- might not be what the Makefile wants, but it
- seems to be OK as a fallback, after the
- previous SearchPath failed to find on child's
- PATH. */
- || (req_len = SearchPath (NULL, fname, NULL, full_len,
- full_fname, NULL)) > 0)
- && req_len <= full_len
- && (exec_handle =
- CreateFile(full_fname,
- GENERIC_READ,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL,
- OPEN_EXISTING,
- FILE_ATTRIBUTE_NORMAL,
- NULL)) != INVALID_HANDLE_VALUE) {
- free(fname);
- return(exec_handle);
- }
- }
-
- free(fname);
- return INVALID_HANDLE_VALUE;
+ size_t fnlen = strlen(fname);
+
+ return (fnlen > 4
+ && (_strnicmp(fname + fnlen - 4, ".bat", 4) == 0
+ || _strnicmp(fname + fnlen - 4, ".cmd", 4) == 0)
+ /* The set of characters in the 2nd arg to strpbrk
+ should be the same one used by make_command_line
+ below to decide whether an argv[] element needs
+ quoting. */
+ && strpbrk(fname, " \t") != NULL);
}
@@ -413,274 +573,333 @@ find_file(const char *exec_path, const char *path_var,
*/
long
process_begin(
- HANDLE proc,
- char **argv,
- char **envp,
- char *exec_path,
- char *as_user)
+ HANDLE proc,
+ char **argv,
+ char **envp,
+ char *exec_path,
+ char *as_user)
{
- sub_process *pproc = (sub_process *)proc;
- char *shell_name = 0;
- int file_not_found=0;
- HANDLE exec_handle;
- char exec_fname[MAX_PATH];
- const char *path_var = NULL;
- char **ep;
- char buf[256];
- DWORD bytes_returned;
- DWORD flags;
- char *command_line;
- STARTUPINFO startInfo;
- PROCESS_INFORMATION procInfo;
- char *envblk=NULL;
-
- /*
- * Shell script detection... if the exec_path starts with #! then
- * we want to exec shell-script-name exec-path, not just exec-path
- * NT doesn't recognize #!/bin/sh or #!/etc/Tivoli/bin/perl. We do not
- * hard-code the path to the shell or perl or whatever: Instead, we
- * assume it's in the path somewhere (generally, the NT tools
- * bin directory)
- */
-
- /* Use the Makefile's value of PATH to look for the program to
- execute, because it could be different from Make's PATH
- (e.g., if the target sets its own value. */
- if (envp)
- for (ep = envp; *ep; ep++) {
- if (strncmp (*ep, "PATH=", 5) == 0
- || strncmp (*ep, "Path=", 5) == 0) {
- path_var = *ep + 5;
- break;
- }
- }
- exec_handle = find_file(exec_path, path_var,
- exec_fname, sizeof(exec_fname));
-
- /*
- * If we couldn't open the file, just assume that Windows will be
- * somehow able to find and execute it.
- */
- if (exec_handle == INVALID_HANDLE_VALUE) {
- file_not_found++;
- }
- else {
- /* Attempt to read the first line of the file */
- if (ReadFile( exec_handle,
- buf, sizeof(buf) - 1, /* leave room for trailing NULL */
- &bytes_returned, 0) == FALSE || bytes_returned < 2) {
-
- pproc->last_err = GetLastError();
- pproc->lerrno = E_IO;
- CloseHandle(exec_handle);
- return(-1);
- }
- if (buf[0] == '#' && buf[1] == '!') {
- /*
- * This is a shell script... Change the command line from
- * exec_path args to shell_name exec_path args
- */
- char *p;
-
- /* Make sure buf is NULL terminated */
- buf[bytes_returned] = 0;
- /*
- * Depending on the file system type, etc. the first line
- * of the shell script may end with newline or newline-carriage-return
- * Whatever it ends with, cut it off.
- */
- p= strchr(buf, '\n');
- if (p)
- *p = 0;
- p = strchr(buf, '\r');
- if (p)
- *p = 0;
-
- /*
- * Find base name of shell
- */
- shell_name = strrchr( buf, '/');
- if (shell_name) {
- shell_name++;
- } else {
- shell_name = &buf[2];/* skipping "#!" */
- }
-
- }
- CloseHandle(exec_handle);
- }
-
- flags = 0;
-
- if (file_not_found)
- command_line = make_command_line( shell_name, exec_path, argv);
- else
- command_line = make_command_line( shell_name, exec_fname, argv);
-
- if ( command_line == NULL ) {
- pproc->last_err = 0;
- pproc->lerrno = E_NO_MEM;
- return(-1);
- }
-
- if (envp) {
- if (arr2envblk(envp, &envblk) ==FALSE) {
- pproc->last_err = 0;
- pproc->lerrno = E_NO_MEM;
- free( command_line );
- return(-1);
- }
- }
-
- if ((shell_name) || (file_not_found)) {
- exec_path = 0; /* Search for the program in %Path% */
- } else {
- exec_path = exec_fname;
- }
-
- /*
- * Set up inherited stdin, stdout, stderr for child
- */
- GetStartupInfo(&startInfo);
- startInfo.dwFlags = STARTF_USESTDHANDLES;
- startInfo.lpReserved = 0;
- startInfo.cbReserved2 = 0;
- startInfo.lpReserved2 = 0;
- startInfo.lpTitle = shell_name ? shell_name : exec_path;
- startInfo.hStdInput = (HANDLE)pproc->sv_stdin[1];
- startInfo.hStdOutput = (HANDLE)pproc->sv_stdout[1];
- startInfo.hStdError = (HANDLE)pproc->sv_stderr[1];
-
- if (as_user) {
- if (envblk) free(envblk);
- return -1;
- } else {
- DB (DB_JOBS, ("CreateProcess(%s,%s,...)\n",
- exec_path ? exec_path : "NULL",
- command_line ? command_line : "NULL"));
- if (CreateProcess(
- exec_path,
- command_line,
- NULL,
- 0, /* default security attributes for thread */
- TRUE, /* inherit handles (e.g. helper pipes, oserv socket) */
- flags,
- envblk,
- 0, /* default starting directory */
- &startInfo,
- &procInfo) == FALSE) {
-
- pproc->last_err = GetLastError();
- pproc->lerrno = E_FORK;
- fprintf(stderr, "process_begin: CreateProcess(%s, %s, ...) failed.\n",
+ sub_process *pproc = (sub_process *)proc;
+ char *shell_name = 0;
+ int file_not_found=0;
+ HANDLE exec_handle;
+ char exec_fname[MAX_PATH];
+ const char *path_var = NULL;
+ char **ep;
+ char buf[MAX_PATH];
+ DWORD bytes_returned;
+ DWORD flags;
+ char *command_line;
+ STARTUPINFO startInfo;
+ PROCESS_INFORMATION procInfo;
+ char *envblk=NULL;
+ int envsize_needed = 0;
+ int pass_null_exec_path = 0;
+
+ /*
+ * Shell script detection... if the exec_path starts with #! then
+ * we want to exec shell-script-name exec-path, not just exec-path
+ * NT doesn't recognize #!/bin/sh or #!/etc/Tivoli/bin/perl. We do not
+ * hard-code the path to the shell or perl or whatever: Instead, we
+ * assume it's in the path somewhere (generally, the NT tools
+ * bin directory)
+ */
+
+ /* Use the Makefile's value of PATH to look for the program to
+ execute, because it could be different from Make's PATH
+ (e.g., if the target sets its own value. */
+ if (envp)
+ for (ep = envp; *ep; ep++) {
+ if (strncmp (*ep, "PATH=", 5) == 0
+ || strncmp (*ep, "Path=", 5) == 0) {
+ path_var = *ep + 5;
+ break;
+ }
+ }
+ exec_handle = find_file(exec_path, path_var,
+ exec_fname, sizeof(exec_fname));
+
+ /*
+ * If we couldn't open the file, just assume that Windows will be
+ * somehow able to find and execute it. If the first character
+ * of the command is '/', assume they set SHELL to a Unixy shell
+ * that have some magic mounts known only to it, and run the whole
+ * command via $SHELL -c "COMMAND" instead.
+ */
+ if (exec_handle == INVALID_HANDLE_VALUE) {
+ if (exec_path[0] == '/') {
+ char *new_argv0;
+ char **argvi = argv;
+ int arglen = 0;
+
+ strcpy(buf, variable_expand ("$(SHELL)"));
+ shell_name = &buf[0];
+ strcpy(exec_fname, "-c");
+ /* Construct a single command string in argv[0]. */
+ while (*argvi) {
+ arglen += strlen(*argvi) + 1;
+ argvi++;
+ }
+ new_argv0 = xmalloc(arglen + 1);
+ new_argv0[0] = '\0';
+ for (argvi = argv; *argvi; argvi++) {
+ strcat(new_argv0, *argvi);
+ strcat(new_argv0, " ");
+ }
+ /* Remove the extra blank at the end. */
+ new_argv0[arglen-1] = '\0';
+ free(argv[0]);
+ argv[0] = new_argv0;
+ argv[1] = NULL;
+ }
+ else
+ file_not_found++;
+ }
+ else {
+ /* Attempt to read the first line of the file */
+ if (ReadFile( exec_handle,
+ buf, sizeof(buf) - 1, /* leave room for trailing NULL */
+ &bytes_returned, 0) == FALSE || bytes_returned < 2) {
+
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_IO;
+ CloseHandle(exec_handle);
+ return(-1);
+ }
+ if (buf[0] == '#' && buf[1] == '!') {
+ /*
+ * This is a shell script... Change the command line from
+ * exec_path args to shell_name exec_path args
+ */
+ char *p;
+
+ /* Make sure buf is NULL terminated */
+ buf[bytes_returned] = 0;
+ /*
+ * Depending on the file system type, etc. the first line
+ * of the shell script may end with newline or newline-carriage-return
+ * Whatever it ends with, cut it off.
+ */
+ p= strchr(buf, '\n');
+ if (p)
+ *p = 0;
+ p = strchr(buf, '\r');
+ if (p)
+ *p = 0;
+
+ /*
+ * Find base name of shell
+ */
+ shell_name = strrchr( buf, '/');
+ if (shell_name) {
+ shell_name++;
+ } else {
+ shell_name = &buf[2];/* skipping "#!" */
+ }
+
+ }
+ CloseHandle(exec_handle);
+ }
+
+ flags = 0;
+
+ if (file_not_found)
+ command_line = make_command_line( shell_name, exec_path, argv);
+ else {
+ /* If exec_fname includes whitespace, CreateProcess
+ behaves erratically and unreliably, and often fails
+ if argv[0] also includes whitespace (and thus will
+ be quoted by make_command_line below). So in that
+ case, we don't pass exec_fname as the 1st arg to
+ CreateProcess, but instead replace argv[0] with
+ exec_fname (to keep its leading directories and
+ extension as found by find_file), and pass NULL to
+ CreateProcess as its 1st arg. This works around
+ the bugs in CreateProcess, which are probably
+ caused by its passing the command to cmd.exe with
+ some incorrect quoting. */
+ if (!shell_name
+ && batch_file_with_spaces(exec_fname)
+ && _stricmp(exec_path, argv[0]) == 0) {
+ pass_null_exec_path = 1;
+ free (argv[0]);
+ argv[0] = xstrdup(exec_fname);
+ }
+ command_line = make_command_line( shell_name, exec_fname, argv);
+ }
+
+ if ( command_line == NULL ) {
+ pproc->last_err = 0;
+ pproc->lerrno = E_NO_MEM;
+ return(-1);
+ }
+
+ 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
+ && envsize_needed > 32*1024) {
+ fprintf (stderr, "CreateProcess failed, probably because environment is too large (%d bytes).\n",
+ envsize_needed);
+ }
+ return(-1);
+ }
+ }
+
+ if (shell_name || file_not_found || pass_null_exec_path) {
+ exec_path = 0; /* Search for the program in %Path% */
+ } else {
+ exec_path = exec_fname;
+ }
+
+ /*
+ * Set up inherited stdin, stdout, stderr for child
+ */
+ GetStartupInfo(&startInfo);
+ startInfo.dwFlags = STARTF_USESTDHANDLES;
+ startInfo.lpReserved = 0;
+ startInfo.cbReserved2 = 0;
+ startInfo.lpReserved2 = 0;
+ startInfo.hStdInput = (HANDLE)pproc->sv_stdin[1];
+ startInfo.hStdOutput = (HANDLE)pproc->sv_stdout[1];
+ startInfo.hStdError = (HANDLE)pproc->sv_stderr[1];
+
+ if (as_user) {
+ free(envblk);
+ return -1;
+ } else {
+ DB (DB_JOBS, ("CreateProcess(%s,%s,...)\n",
+ exec_path ? exec_path : "NULL",
+ command_line ? command_line : "NULL"));
+ if (CreateProcess(
+ exec_path,
+ command_line,
+ NULL,
+ 0, /* default security attributes for thread */
+ TRUE, /* inherit handles (e.g. helper pipes, oserv socket) */
+ flags,
+ envblk,
+ 0, /* default starting directory */
+ &startInfo,
+ &procInfo) == FALSE) {
+
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_FORK;
+ fprintf(stderr, "process_begin: CreateProcess(%s, %s, ...) failed.\n",
exec_path ? exec_path : "NULL", command_line);
- if (envblk) free(envblk);
- free( command_line );
- return(-1);
- }
- }
-
- pproc->pid = (pid_t)procInfo.hProcess;
- /* Close the thread handle -- we'll just watch the process */
- CloseHandle(procInfo.hThread);
-
- /* Close the halves of the pipes we don't need */
- CloseHandle((HANDLE)pproc->sv_stdin[1]);
- CloseHandle((HANDLE)pproc->sv_stdout[1]);
- CloseHandle((HANDLE)pproc->sv_stderr[1]);
+ free(envblk);
+ free( command_line );
+ return(-1);
+ }
+ }
+
+ pproc->pid = (pid_t)procInfo.hProcess;
+ /* Close the thread handle -- we'll just watch the process */
+ CloseHandle(procInfo.hThread);
+
+ /* Close the halves of the pipes we don't need */
+ if ((HANDLE)pproc->sv_stdin[1] != INVALID_HANDLE_VALUE)
+ CloseHandle((HANDLE)pproc->sv_stdin[1]);
+ if ((HANDLE)pproc->sv_stdout[1] != INVALID_HANDLE_VALUE)
+ CloseHandle((HANDLE)pproc->sv_stdout[1]);
+ if ((HANDLE)pproc->sv_stderr[1] != INVALID_HANDLE_VALUE)
+ CloseHandle((HANDLE)pproc->sv_stderr[1]);
pproc->sv_stdin[1] = 0;
pproc->sv_stdout[1] = 0;
pproc->sv_stderr[1] = 0;
- free( command_line );
- if (envblk) free(envblk);
- pproc->lerrno=0;
- return 0;
+ free( command_line );
+ free(envblk);
+ pproc->lerrno=0;
+ return 0;
}
+#if 0 /* unused */
static DWORD
proc_stdin_thread(sub_process *pproc)
{
- DWORD in_done;
- for (;;) {
- if (WriteFile( (HANDLE) pproc->sv_stdin[0], pproc->inp, pproc->incnt,
- &in_done, NULL) == FALSE)
- _endthreadex(0);
- // This if should never be true for anonymous pipes, but gives
- // us a chance to change I/O mechanisms later
- if (in_done < pproc->incnt) {
- pproc->incnt -= in_done;
- pproc->inp += in_done;
- } else {
- _endthreadex(0);
- }
- }
- return 0; // for compiler warnings only.. not reached
+ DWORD in_done;
+ for (;;) {
+ if (WriteFile( (HANDLE) pproc->sv_stdin[0], pproc->inp, pproc->incnt,
+ &in_done, NULL) == FALSE)
+ _endthreadex(0);
+ // This if should never be true for anonymous pipes, but gives
+ // us a chance to change I/O mechanisms later
+ if (in_done < pproc->incnt) {
+ pproc->incnt -= in_done;
+ pproc->inp += in_done;
+ } else {
+ _endthreadex(0);
+ }
+ }
+ return 0; // for compiler warnings only.. not reached
}
static DWORD
proc_stdout_thread(sub_process *pproc)
{
- DWORD bufsize = 1024;
- char c;
- DWORD nread;
- pproc->outp = malloc(bufsize);
- if (pproc->outp == NULL)
- _endthreadex(0);
- pproc->outcnt = 0;
-
- for (;;) {
- if (ReadFile( (HANDLE)pproc->sv_stdout[0], &c, 1, &nread, NULL)
- == FALSE) {
-/* map_windows32_error_to_string(GetLastError());*/
- _endthreadex(0);
- }
- if (nread == 0)
- _endthreadex(0);
- if (pproc->outcnt + nread > bufsize) {
- bufsize += nread + 512;
- pproc->outp = realloc(pproc->outp, bufsize);
- if (pproc->outp == NULL) {
- pproc->outcnt = 0;
- _endthreadex(0);
- }
- }
- pproc->outp[pproc->outcnt++] = c;
- }
- return 0;
+ DWORD bufsize = 1024;
+ char c;
+ DWORD nread;
+ pproc->outp = malloc(bufsize);
+ if (pproc->outp == NULL)
+ _endthreadex(0);
+ pproc->outcnt = 0;
+
+ for (;;) {
+ if (ReadFile( (HANDLE)pproc->sv_stdout[0], &c, 1, &nread, NULL)
+ == FALSE) {
+/* map_windows32_error_to_string(GetLastError());*/
+ _endthreadex(0);
+ }
+ if (nread == 0)
+ _endthreadex(0);
+ if (pproc->outcnt + nread > bufsize) {
+ bufsize += nread + 512;
+ pproc->outp = realloc(pproc->outp, bufsize);
+ if (pproc->outp == NULL) {
+ pproc->outcnt = 0;
+ _endthreadex(0);
+ }
+ }
+ pproc->outp[pproc->outcnt++] = c;
+ }
+ return 0;
}
static DWORD
proc_stderr_thread(sub_process *pproc)
{
- DWORD bufsize = 1024;
- char c;
- DWORD nread;
- pproc->errp = malloc(bufsize);
- if (pproc->errp == NULL)
- _endthreadex(0);
- pproc->errcnt = 0;
-
- for (;;) {
- if (ReadFile( (HANDLE)pproc->sv_stderr[0], &c, 1, &nread, NULL) == FALSE) {
- map_windows32_error_to_string(GetLastError());
- _endthreadex(0);
- }
- if (nread == 0)
- _endthreadex(0);
- if (pproc->errcnt + nread > bufsize) {
- bufsize += nread + 512;
- pproc->errp = realloc(pproc->errp, bufsize);
- if (pproc->errp == NULL) {
- pproc->errcnt = 0;
- _endthreadex(0);
- }
- }
- pproc->errp[pproc->errcnt++] = c;
- }
- return 0;
+ DWORD bufsize = 1024;
+ char c;
+ DWORD nread;
+ pproc->errp = malloc(bufsize);
+ if (pproc->errp == NULL)
+ _endthreadex(0);
+ pproc->errcnt = 0;
+
+ for (;;) {
+ if (ReadFile( (HANDLE)pproc->sv_stderr[0], &c, 1, &nread, NULL) == FALSE) {
+ map_windows32_error_to_string(GetLastError());
+ _endthreadex(0);
+ }
+ if (nread == 0)
+ _endthreadex(0);
+ if (pproc->errcnt + nread > bufsize) {
+ bufsize += nread + 512;
+ pproc->errp = realloc(pproc->errp, bufsize);
+ if (pproc->errp == NULL) {
+ pproc->errcnt = 0;
+ _endthreadex(0);
+ }
+ }
+ pproc->errp[pproc->errcnt++] = c;
+ }
+ return 0;
}
@@ -693,157 +912,158 @@ proc_stderr_thread(sub_process *pproc)
*
* Notes/Dependencies:
*/
- long
+ long
process_pipe_io(
- HANDLE proc,
- char *stdin_data,
- int stdin_data_len)
+ HANDLE proc,
+ char *stdin_data,
+ int stdin_data_len)
{
- sub_process *pproc = (sub_process *)proc;
- bool_t stdin_eof = FALSE, stdout_eof = FALSE, stderr_eof = FALSE;
- HANDLE childhand = (HANDLE) pproc->pid;
- HANDLE tStdin = NULL, tStdout = NULL, tStderr = NULL;
- unsigned int dwStdin, dwStdout, dwStderr;
- HANDLE wait_list[4];
- DWORD wait_count;
- DWORD wait_return;
- HANDLE ready_hand;
- bool_t child_dead = FALSE;
- BOOL GetExitCodeResult;
-
- /*
- * Create stdin thread, if needed
- */
- pproc->inp = stdin_data;
- pproc->incnt = stdin_data_len;
- if (!pproc->inp) {
- stdin_eof = TRUE;
- CloseHandle((HANDLE)pproc->sv_stdin[0]);
- pproc->sv_stdin[0] = 0;
- } else {
- tStdin = (HANDLE) _beginthreadex( 0, 1024,
- (unsigned (__stdcall *) (void *))proc_stdin_thread,
- pproc, 0, &dwStdin);
- if (tStdin == 0) {
- pproc->last_err = GetLastError();
- pproc->lerrno = E_SCALL;
- goto done;
- }
- }
-
- /*
- * Assume child will produce stdout and stderr
- */
- tStdout = (HANDLE) _beginthreadex( 0, 1024,
- (unsigned (__stdcall *) (void *))proc_stdout_thread, pproc, 0,
- &dwStdout);
- tStderr = (HANDLE) _beginthreadex( 0, 1024,
- (unsigned (__stdcall *) (void *))proc_stderr_thread, pproc, 0,
- &dwStderr);
-
- if (tStdout == 0 || tStderr == 0) {
-
- pproc->last_err = GetLastError();
- pproc->lerrno = E_SCALL;
- goto done;
- }
-
-
- /*
- * Wait for all I/O to finish and for the child process to exit
- */
-
- while (!stdin_eof || !stdout_eof || !stderr_eof || !child_dead) {
- wait_count = 0;
- if (!stdin_eof) {
- wait_list[wait_count++] = tStdin;
- }
- if (!stdout_eof) {
- wait_list[wait_count++] = tStdout;
- }
- if (!stderr_eof) {
- wait_list[wait_count++] = tStderr;
- }
- if (!child_dead) {
- wait_list[wait_count++] = childhand;
- }
-
- wait_return = WaitForMultipleObjects(wait_count, wait_list,
- FALSE, /* don't wait for all: one ready will do */
- child_dead? 1000 :INFINITE); /* after the child dies, subthreads have
- one second to collect all remaining output */
-
- if (wait_return == WAIT_FAILED) {
-/* map_windows32_error_to_string(GetLastError());*/
- pproc->last_err = GetLastError();
- pproc->lerrno = E_SCALL;
- goto done;
- }
-
- ready_hand = wait_list[wait_return - WAIT_OBJECT_0];
-
- if (ready_hand == tStdin) {
- CloseHandle((HANDLE)pproc->sv_stdin[0]);
- pproc->sv_stdin[0] = 0;
- CloseHandle(tStdin);
- tStdin = 0;
- stdin_eof = TRUE;
-
- } else if (ready_hand == tStdout) {
-
- CloseHandle((HANDLE)pproc->sv_stdout[0]);
- pproc->sv_stdout[0] = 0;
- CloseHandle(tStdout);
- tStdout = 0;
- stdout_eof = TRUE;
-
- } else if (ready_hand == tStderr) {
-
- CloseHandle((HANDLE)pproc->sv_stderr[0]);
- pproc->sv_stderr[0] = 0;
- CloseHandle(tStderr);
- tStderr = 0;
- stderr_eof = TRUE;
-
- } else if (ready_hand == childhand) {
-
- DWORD ierr;
- GetExitCodeResult = GetExitCodeProcess(childhand, &ierr);
- if (ierr == CONTROL_C_EXIT) {
- pproc->signal = SIGINT;
- } else {
- pproc->exit_code = ierr;
- }
- if (GetExitCodeResult == FALSE) {
- pproc->last_err = GetLastError();
- pproc->lerrno = E_SCALL;
- goto done;
- }
- child_dead = TRUE;
-
- } else {
-
- /* ?? Got back a handle we didn't query ?? */
- pproc->last_err = 0;
- pproc->lerrno = E_FAIL;
- goto done;
- }
- }
+ sub_process *pproc = (sub_process *)proc;
+ bool_t stdin_eof = FALSE, stdout_eof = FALSE, stderr_eof = FALSE;
+ HANDLE childhand = (HANDLE) pproc->pid;
+ HANDLE tStdin = NULL, tStdout = NULL, tStderr = NULL;
+ unsigned int dwStdin, dwStdout, dwStderr;
+ HANDLE wait_list[4];
+ DWORD wait_count;
+ DWORD wait_return;
+ HANDLE ready_hand;
+ bool_t child_dead = FALSE;
+ BOOL GetExitCodeResult;
+
+ /*
+ * Create stdin thread, if needed
+ */
+ pproc->inp = stdin_data;
+ pproc->incnt = stdin_data_len;
+ if (!pproc->inp) {
+ stdin_eof = TRUE;
+ CloseHandle((HANDLE)pproc->sv_stdin[0]);
+ pproc->sv_stdin[0] = 0;
+ } else {
+ tStdin = (HANDLE) _beginthreadex( 0, 1024,
+ (unsigned (__stdcall *) (void *))proc_stdin_thread,
+ pproc, 0, &dwStdin);
+ if (tStdin == 0) {
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_SCALL;
+ goto done;
+ }
+ }
+
+ /*
+ * Assume child will produce stdout and stderr
+ */
+ tStdout = (HANDLE) _beginthreadex( 0, 1024,
+ (unsigned (__stdcall *) (void *))proc_stdout_thread, pproc, 0,
+ &dwStdout);
+ tStderr = (HANDLE) _beginthreadex( 0, 1024,
+ (unsigned (__stdcall *) (void *))proc_stderr_thread, pproc, 0,
+ &dwStderr);
+
+ if (tStdout == 0 || tStderr == 0) {
+
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_SCALL;
+ goto done;
+ }
+
+
+ /*
+ * Wait for all I/O to finish and for the child process to exit
+ */
+
+ while (!stdin_eof || !stdout_eof || !stderr_eof || !child_dead) {
+ wait_count = 0;
+ if (!stdin_eof) {
+ wait_list[wait_count++] = tStdin;
+ }
+ if (!stdout_eof) {
+ wait_list[wait_count++] = tStdout;
+ }
+ if (!stderr_eof) {
+ wait_list[wait_count++] = tStderr;
+ }
+ if (!child_dead) {
+ wait_list[wait_count++] = childhand;
+ }
+
+ wait_return = WaitForMultipleObjects(wait_count, wait_list,
+ FALSE, /* don't wait for all: one ready will do */
+ child_dead? 1000 :INFINITE); /* after the child dies, subthreads have
+ one second to collect all remaining output */
+
+ if (wait_return == WAIT_FAILED) {
+/* map_windows32_error_to_string(GetLastError());*/
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_SCALL;
+ goto done;
+ }
+
+ ready_hand = wait_list[wait_return - WAIT_OBJECT_0];
+
+ if (ready_hand == tStdin) {
+ CloseHandle((HANDLE)pproc->sv_stdin[0]);
+ pproc->sv_stdin[0] = 0;
+ CloseHandle(tStdin);
+ tStdin = 0;
+ stdin_eof = TRUE;
+
+ } else if (ready_hand == tStdout) {
+
+ CloseHandle((HANDLE)pproc->sv_stdout[0]);
+ pproc->sv_stdout[0] = 0;
+ CloseHandle(tStdout);
+ tStdout = 0;
+ stdout_eof = TRUE;
+
+ } else if (ready_hand == tStderr) {
+
+ CloseHandle((HANDLE)pproc->sv_stderr[0]);
+ pproc->sv_stderr[0] = 0;
+ CloseHandle(tStderr);
+ tStderr = 0;
+ stderr_eof = TRUE;
+
+ } else if (ready_hand == childhand) {
+
+ DWORD ierr;
+ GetExitCodeResult = GetExitCodeProcess(childhand, &ierr);
+ if (ierr == CONTROL_C_EXIT) {
+ pproc->signal = SIGINT;
+ } else {
+ pproc->exit_code = ierr;
+ }
+ if (GetExitCodeResult == FALSE) {
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_SCALL;
+ goto done;
+ }
+ child_dead = TRUE;
+
+ } else {
+
+ /* ?? Got back a handle we didn't query ?? */
+ pproc->last_err = 0;
+ pproc->lerrno = E_FAIL;
+ goto done;
+ }
+ }
done:
- if (tStdin != 0)
- CloseHandle(tStdin);
- if (tStdout != 0)
- CloseHandle(tStdout);
- if (tStderr != 0)
- CloseHandle(tStderr);
-
- if (pproc->lerrno)
- return(-1);
- else
- return(0);
+ if (tStdin != 0)
+ CloseHandle(tStdin);
+ if (tStdout != 0)
+ CloseHandle(tStdout);
+ if (tStderr != 0)
+ CloseHandle(tStderr);
+
+ if (pproc->lerrno)
+ return(-1);
+ else
+ return(0);
}
+#endif /* unused */
/*
* Purpose: collects output from child process and returns results
@@ -854,111 +1074,114 @@ process_pipe_io(
*
* Notes/Dependencies:
*/
- long
+ long
process_file_io(
- HANDLE proc)
+ HANDLE proc)
{
- sub_process *pproc;
- HANDLE childhand;
- DWORD wait_return;
- BOOL GetExitCodeResult;
+ sub_process *pproc;
+ HANDLE childhand;
+ DWORD wait_return;
+ BOOL GetExitCodeResult;
DWORD ierr;
- if (proc == NULL)
- pproc = process_wait_for_any_private();
- else
- pproc = (sub_process *)proc;
-
- /* some sort of internal error */
- if (!pproc)
- return -1;
-
- childhand = (HANDLE) pproc->pid;
-
- /*
- * This function is poorly named, and could also be used just to wait
- * for child death if you're doing your own pipe I/O. If that is
- * the case, close the pipe handles here.
- */
- if (pproc->sv_stdin[0]) {
- CloseHandle((HANDLE)pproc->sv_stdin[0]);
- pproc->sv_stdin[0] = 0;
- }
- if (pproc->sv_stdout[0]) {
- CloseHandle((HANDLE)pproc->sv_stdout[0]);
- pproc->sv_stdout[0] = 0;
- }
- if (pproc->sv_stderr[0]) {
- CloseHandle((HANDLE)pproc->sv_stderr[0]);
- pproc->sv_stderr[0] = 0;
- }
-
- /*
- * Wait for the child process to exit
- */
-
- wait_return = WaitForSingleObject(childhand, INFINITE);
-
- if (wait_return != WAIT_OBJECT_0) {
-/* map_windows32_error_to_string(GetLastError());*/
- pproc->last_err = GetLastError();
- pproc->lerrno = E_SCALL;
- goto done2;
- }
-
- GetExitCodeResult = GetExitCodeProcess(childhand, &ierr);
- if (ierr == CONTROL_C_EXIT) {
- pproc->signal = SIGINT;
- } else {
- pproc->exit_code = ierr;
- }
- if (GetExitCodeResult == FALSE) {
- pproc->last_err = GetLastError();
- pproc->lerrno = E_SCALL;
- }
+ if (proc == NULL)
+ pproc = process_wait_for_any_private(1, 0);
+ else
+ pproc = (sub_process *)proc;
+
+ /* some sort of internal error */
+ if (!pproc)
+ return -1;
+
+ childhand = (HANDLE) pproc->pid;
+
+ /*
+ * This function is poorly named, and could also be used just to wait
+ * for child death if you're doing your own pipe I/O. If that is
+ * the case, close the pipe handles here.
+ */
+ if (pproc->sv_stdin[0]) {
+ CloseHandle((HANDLE)pproc->sv_stdin[0]);
+ pproc->sv_stdin[0] = 0;
+ }
+ if (pproc->sv_stdout[0]) {
+ CloseHandle((HANDLE)pproc->sv_stdout[0]);
+ pproc->sv_stdout[0] = 0;
+ }
+ if (pproc->sv_stderr[0]) {
+ CloseHandle((HANDLE)pproc->sv_stderr[0]);
+ pproc->sv_stderr[0] = 0;
+ }
+
+ /*
+ * Wait for the child process to exit
+ */
+
+ wait_return = WaitForSingleObject(childhand, INFINITE);
+
+ if (wait_return != WAIT_OBJECT_0) {
+/* map_windows32_error_to_string(GetLastError());*/
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_SCALL;
+ goto done2;
+ }
+
+ GetExitCodeResult = GetExitCodeProcess(childhand, &ierr);
+ if (ierr == CONTROL_C_EXIT) {
+ pproc->signal = SIGINT;
+ } else {
+ pproc->exit_code = ierr;
+ }
+ if (GetExitCodeResult == FALSE) {
+ pproc->last_err = GetLastError();
+ pproc->lerrno = E_SCALL;
+ }
done2:
- if (pproc->lerrno)
- return(-1);
- else
- return(0);
+ if (pproc->lerrno)
+ return(-1);
+ else
+ return(0);
}
/*
* Description: Clean up any leftover handles, etc. It is up to the
- * caller to manage and free the input, ouput, and stderr buffers.
+ * caller to manage and free the input, output, and stderr buffers.
*/
- void
+ void
process_cleanup(
- HANDLE proc)
+ HANDLE proc)
{
- sub_process *pproc = (sub_process *)proc;
- int i;
-
- if (pproc->using_pipes) {
- for (i= 0; i <= 1; i++) {
- if ((HANDLE)pproc->sv_stdin[i])
- CloseHandle((HANDLE)pproc->sv_stdin[i]);
- if ((HANDLE)pproc->sv_stdout[i])
- CloseHandle((HANDLE)pproc->sv_stdout[i]);
- if ((HANDLE)pproc->sv_stderr[i])
- CloseHandle((HANDLE)pproc->sv_stderr[i]);
- }
- }
- if ((HANDLE)pproc->pid)
- CloseHandle((HANDLE)pproc->pid);
-
- free(pproc);
+ sub_process *pproc = (sub_process *)proc;
+ int i;
+
+ if (pproc->using_pipes) {
+ for (i= 0; i <= 1; i++) {
+ if ((HANDLE)pproc->sv_stdin[i]
+ && (HANDLE)pproc->sv_stdin[i] != INVALID_HANDLE_VALUE)
+ CloseHandle((HANDLE)pproc->sv_stdin[i]);
+ if ((HANDLE)pproc->sv_stdout[i]
+ && (HANDLE)pproc->sv_stdout[i] != INVALID_HANDLE_VALUE)
+ CloseHandle((HANDLE)pproc->sv_stdout[i]);
+ if ((HANDLE)pproc->sv_stderr[i]
+ && (HANDLE)pproc->sv_stderr[i] != INVALID_HANDLE_VALUE)
+ CloseHandle((HANDLE)pproc->sv_stderr[i]);
+ }
+ }
+ if ((HANDLE)pproc->pid)
+ CloseHandle((HANDLE)pproc->pid);
+
+ free(pproc);
}
/*
* Description:
- * Create a command line buffer to pass to CreateProcess
+ * Create a command line buffer to pass to CreateProcess
*
* Returns: the buffer or NULL for failure
- * Shell case: sh_name a:/full/path/to/script argv[1] argv[2] ...
+ * Shell case: sh_name a:/full/path/to/script argv[1] argv[2] ...
* Otherwise: argv[0] argv[1] argv[2] ...
*
* Notes/Dependencies:
@@ -969,234 +1192,237 @@ process_cleanup(
static char *
make_command_line( char *shell_name, char *full_exec_path, char **argv)
{
- int argc = 0;
- char** argvi;
- int* enclose_in_quotes = NULL;
- int* enclose_in_quotes_i;
- unsigned int bytes_required = 0;
- char* command_line;
- char* command_line_i;
- int cygwin_mode = 0; /* HAVE_CYGWIN_SHELL */
- int have_sh = 0; /* HAVE_CYGWIN_SHELL */
+ int argc = 0;
+ char** argvi;
+ int* enclose_in_quotes = NULL;
+ int* enclose_in_quotes_i;
+ unsigned int bytes_required = 0;
+ char* command_line;
+ char* command_line_i;
+ int cygwin_mode = 0; /* HAVE_CYGWIN_SHELL */
+ int have_sh = 0; /* HAVE_CYGWIN_SHELL */
#ifdef HAVE_CYGWIN_SHELL
- have_sh = (shell_name != NULL || strstr(full_exec_path, "sh.exe"));
- cygwin_mode = 1;
+ have_sh = (shell_name != NULL || strstr(full_exec_path, "sh.exe"));
+ cygwin_mode = 1;
#endif
- if (shell_name && full_exec_path) {
- bytes_required
- = strlen(shell_name) + 1 + strlen(full_exec_path);
- /*
- * Skip argv[0] if any, when shell_name is given.
- */
- if (*argv) argv++;
- /*
- * Add one for the intervening space.
- */
- if (*argv) bytes_required++;
- }
-
- argvi = argv;
- while (*(argvi++)) argc++;
-
- if (argc) {
- enclose_in_quotes = (int*) calloc(1, argc * sizeof(int));
-
- if (!enclose_in_quotes) {
- return NULL;
- }
- }
-
- /* We have to make one pass through each argv[i] to see if we need
- * to enclose it in ", so we might as well figure out how much
- * memory we'll need on the same pass.
- */
-
- argvi = argv;
- enclose_in_quotes_i = enclose_in_quotes;
- while(*argvi) {
- char* p = *argvi;
- unsigned int backslash_count = 0;
-
- /*
- * We have to enclose empty arguments in ".
- */
- if (!(*p)) *enclose_in_quotes_i = 1;
-
- while(*p) {
- switch (*p) {
- case '\"':
- /*
- * We have to insert a backslash for each "
- * and each \ that precedes the ".
- */
- bytes_required += (backslash_count + 1);
- backslash_count = 0;
- break;
+ if (shell_name && full_exec_path) {
+ bytes_required
+ = strlen(shell_name) + 1 + strlen(full_exec_path);
+ /*
+ * Skip argv[0] if any, when shell_name is given.
+ * The special case of "-c" in full_exec_path means
+ * argv[0] is not the shell name, but the command string
+ * to pass to the shell.
+ */
+ if (*argv && strcmp(full_exec_path, "-c")) argv++;
+ /*
+ * Add one for the intervening space.
+ */
+ if (*argv) bytes_required++;
+ }
+
+ argvi = argv;
+ while (*(argvi++)) argc++;
+
+ if (argc) {
+ enclose_in_quotes = (int*) calloc(1, argc * sizeof(int));
+
+ if (!enclose_in_quotes) {
+ return NULL;
+ }
+ }
+
+ /* We have to make one pass through each argv[i] to see if we need
+ * to enclose it in ", so we might as well figure out how much
+ * memory we'll need on the same pass.
+ */
+
+ argvi = argv;
+ enclose_in_quotes_i = enclose_in_quotes;
+ while(*argvi) {
+ char* p = *argvi;
+ unsigned int backslash_count = 0;
+
+ /*
+ * We have to enclose empty arguments in ".
+ */
+ if (!(*p)) *enclose_in_quotes_i = 1;
+
+ while(*p) {
+ switch (*p) {
+ case '\"':
+ /*
+ * We have to insert a backslash for each "
+ * and each \ that precedes the ".
+ */
+ bytes_required += (backslash_count + 1);
+ backslash_count = 0;
+ break;
#if !defined(HAVE_MKS_SHELL) && !defined(HAVE_CYGWIN_SHELL)
- case '\\':
- backslash_count++;
- break;
+ case '\\':
+ backslash_count++;
+ break;
#endif
- /*
- * At one time we set *enclose_in_quotes_i for '*' or '?' to suppress
- * wildcard expansion in programs linked with MSVC's SETARGV.OBJ so
- * that argv in always equals argv out. This was removed. Say you have
- * such a program named glob.exe. You enter
- * glob '*'
- * at the sh command prompt. Obviously the intent is to make glob do the
- * wildcarding instead of sh. If we set *enclose_in_quotes_i for '*' or '?',
- * then the command line that glob would see would be
- * glob "*"
- * and the _setargv in SETARGV.OBJ would _not_ expand the *.
- */
- case ' ':
- case '\t':
- *enclose_in_quotes_i = 1;
- /* fall through */
-
- default:
- backslash_count = 0;
- break;
- }
-
- /*
- * Add one for each character in argv[i].
- */
- bytes_required++;
-
- p++;
- }
-
- if (*enclose_in_quotes_i) {
- /*
- * Add one for each enclosing ",
- * and one for each \ that precedes the
- * closing ".
- */
- bytes_required += (backslash_count + 2);
- }
-
- /*
- * Add one for the intervening space.
- */
- if (*(++argvi)) bytes_required++;
- enclose_in_quotes_i++;
- }
-
- /*
- * Add one for the terminating NULL.
- */
- bytes_required++;
-
- command_line = (char*) malloc(bytes_required);
-
- if (!command_line) {
- if (enclose_in_quotes) free(enclose_in_quotes);
- return NULL;
- }
-
- command_line_i = command_line;
-
- if (shell_name && full_exec_path) {
- while(*shell_name) {
- *(command_line_i++) = *(shell_name++);
- }
-
- *(command_line_i++) = ' ';
-
- while(*full_exec_path) {
- *(command_line_i++) = *(full_exec_path++);
- }
-
- if (*argv) {
- *(command_line_i++) = ' ';
- }
- }
-
- argvi = argv;
- enclose_in_quotes_i = enclose_in_quotes;
-
- while(*argvi) {
- char* p = *argvi;
- unsigned int backslash_count = 0;
-
- if (*enclose_in_quotes_i) {
- *(command_line_i++) = '\"';
- }
-
- while(*p) {
- if (*p == '\"') {
- if (cygwin_mode && have_sh) { /* HAVE_CYGWIN_SHELL */
- /* instead of a \", cygwin likes "" */
- *(command_line_i++) = '\"';
- } else {
-
- /*
- * We have to insert a backslash for the "
- * and each \ that precedes the ".
- */
- backslash_count++;
-
- while(backslash_count) {
- *(command_line_i++) = '\\';
- backslash_count--;
- };
- }
+ /*
+ * At one time we set *enclose_in_quotes_i for '*' or '?' to suppress
+ * wildcard expansion in programs linked with MSVC's SETARGV.OBJ so
+ * that argv in always equals argv out. This was removed. Say you have
+ * such a program named glob.exe. You enter
+ * glob '*'
+ * at the sh command prompt. Obviously the intent is to make glob do the
+ * wildcarding instead of sh. If we set *enclose_in_quotes_i for '*' or '?',
+ * then the command line that glob would see would be
+ * glob "*"
+ * and the _setargv in SETARGV.OBJ would _not_ expand the *.
+ */
+ case ' ':
+ case '\t':
+ *enclose_in_quotes_i = 1;
+ /* fall through */
+
+ default:
+ backslash_count = 0;
+ break;
+ }
+
+ /*
+ * Add one for each character in argv[i].
+ */
+ bytes_required++;
+
+ p++;
+ }
+
+ if (*enclose_in_quotes_i) {
+ /*
+ * Add one for each enclosing ",
+ * and one for each \ that precedes the
+ * closing ".
+ */
+ bytes_required += (backslash_count + 2);
+ }
+
+ /*
+ * Add one for the intervening space.
+ */
+ if (*(++argvi)) bytes_required++;
+ enclose_in_quotes_i++;
+ }
+
+ /*
+ * Add one for the terminating NULL.
+ */
+ bytes_required++;
+
+ command_line = (char*) malloc(bytes_required);
+
+ if (!command_line) {
+ free(enclose_in_quotes);
+ return NULL;
+ }
+
+ command_line_i = command_line;
+
+ if (shell_name && full_exec_path) {
+ while(*shell_name) {
+ *(command_line_i++) = *(shell_name++);
+ }
+
+ *(command_line_i++) = ' ';
+
+ while(*full_exec_path) {
+ *(command_line_i++) = *(full_exec_path++);
+ }
+
+ if (*argv) {
+ *(command_line_i++) = ' ';
+ }
+ }
+
+ argvi = argv;
+ enclose_in_quotes_i = enclose_in_quotes;
+
+ while(*argvi) {
+ char* p = *argvi;
+ unsigned int backslash_count = 0;
+
+ if (*enclose_in_quotes_i) {
+ *(command_line_i++) = '\"';
+ }
+
+ while(*p) {
+ if (*p == '\"') {
+ if (cygwin_mode && have_sh) { /* HAVE_CYGWIN_SHELL */
+ /* instead of a \", cygwin likes "" */
+ *(command_line_i++) = '\"';
+ } else {
+
+ /*
+ * We have to insert a backslash for the "
+ * and each \ that precedes the ".
+ */
+ backslash_count++;
+
+ while(backslash_count) {
+ *(command_line_i++) = '\\';
+ backslash_count--;
+ };
+ }
#if !defined(HAVE_MKS_SHELL) && !defined(HAVE_CYGWIN_SHELL)
- } else if (*p == '\\') {
- backslash_count++;
- } else {
- backslash_count = 0;
+ } else if (*p == '\\') {
+ backslash_count++;
+ } else {
+ backslash_count = 0;
#endif
- }
+ }
- /*
- * Copy the character.
- */
- *(command_line_i++) = *(p++);
- }
+ /*
+ * Copy the character.
+ */
+ *(command_line_i++) = *(p++);
+ }
- if (*enclose_in_quotes_i) {
+ if (*enclose_in_quotes_i) {
#if !defined(HAVE_MKS_SHELL) && !defined(HAVE_CYGWIN_SHELL)
- /*
- * Add one \ for each \ that precedes the
- * closing ".
- */
- while(backslash_count--) {
- *(command_line_i++) = '\\';
- };
+ /*
+ * Add one \ for each \ that precedes the
+ * closing ".
+ */
+ while(backslash_count--) {
+ *(command_line_i++) = '\\';
+ };
#endif
- *(command_line_i++) = '\"';
- }
-
- /*
- * Append an intervening space.
- */
- if (*(++argvi)) {
- *(command_line_i++) = ' ';
- }
-
- enclose_in_quotes_i++;
- }
-
- /*
- * Append the terminating NULL.
- */
- *command_line_i = '\0';
-
- if (enclose_in_quotes) free(enclose_in_quotes);
- return command_line;
+ *(command_line_i++) = '\"';
+ }
+
+ /*
+ * Append an intervening space.
+ */
+ if (*(++argvi)) {
+ *(command_line_i++) = ' ';
+ }
+
+ enclose_in_quotes_i++;
+ }
+
+ /*
+ * Append the terminating NULL.
+ */
+ *command_line_i = '\0';
+
+ free(enclose_in_quotes);
+ return command_line;
}
/*
* Description: Given an argv and optional envp, launch the process
* using the default stdin, stdout, and stderr handles.
* Also, register process so that process_wait_for_any_private()
- * can be used via process_file_io(NULL) or
- * process_wait_for_any().
+ * can be used via process_file_io(NULL) or
+ * process_wait_for_any().
*
* Returns:
*
@@ -1204,53 +1430,111 @@ make_command_line( char *shell_name, char *full_exec_path, char **argv)
*/
HANDLE
process_easy(
- char **argv,
- char **envp)
+ char **argv,
+ char **envp,
+ int outfd,
+ int errfd)
{
- HANDLE hIn;
- HANDLE hOut;
- HANDLE hErr;
- HANDLE hProcess;
+ HANDLE hIn = INVALID_HANDLE_VALUE;
+ HANDLE hOut = INVALID_HANDLE_VALUE;
+ HANDLE hErr = INVALID_HANDLE_VALUE;
+ HANDLE hProcess, tmpIn, tmpOut, tmpErr;
+ DWORD e;
if (proc_index >= MAXIMUM_WAIT_OBJECTS) {
- DB (DB_JOBS, ("process_easy: All process slots used up\n"));
- return INVALID_HANDLE_VALUE;
+ DB (DB_JOBS, ("process_easy: All process slots used up\n"));
+ return INVALID_HANDLE_VALUE;
}
+ /* Standard handles returned by GetStdHandle can be NULL or
+ INVALID_HANDLE_VALUE if the parent process closed them. If that
+ happens, we open the null device and pass its handle to
+ CreateProcess as the corresponding handle to inherit. */
+ tmpIn = GetStdHandle(STD_INPUT_HANDLE);
if (DuplicateHandle(GetCurrentProcess(),
- GetStdHandle(STD_INPUT_HANDLE),
+ tmpIn,
GetCurrentProcess(),
&hIn,
0,
TRUE,
DUPLICATE_SAME_ACCESS) == FALSE) {
- fprintf(stderr,
- "process_easy: DuplicateHandle(In) failed (e=%ld)\n",
- GetLastError());
- return INVALID_HANDLE_VALUE;
+ if ((e = GetLastError()) == ERROR_INVALID_HANDLE) {
+ tmpIn = CreateFile("NUL", GENERIC_READ,
+ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
+ OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
+ if (tmpIn != INVALID_HANDLE_VALUE
+ && DuplicateHandle(GetCurrentProcess(),
+ tmpIn,
+ GetCurrentProcess(),
+ &hIn,
+ 0,
+ TRUE,
+ DUPLICATE_SAME_ACCESS) == FALSE)
+ CloseHandle(tmpIn);
+ }
+ if (hIn == INVALID_HANDLE_VALUE) {
+ fprintf(stderr, "process_easy: DuplicateHandle(In) failed (e=%ld)\n", e);
+ return INVALID_HANDLE_VALUE;
+ }
}
+ if (outfd >= 0)
+ tmpOut = (HANDLE)_get_osfhandle (outfd);
+ else
+ tmpOut = GetStdHandle (STD_OUTPUT_HANDLE);
if (DuplicateHandle(GetCurrentProcess(),
- GetStdHandle(STD_OUTPUT_HANDLE),
+ tmpOut,
GetCurrentProcess(),
&hOut,
0,
TRUE,
DUPLICATE_SAME_ACCESS) == FALSE) {
- fprintf(stderr,
- "process_easy: DuplicateHandle(Out) failed (e=%ld)\n",
- GetLastError());
- return INVALID_HANDLE_VALUE;
+ if ((e = GetLastError()) == ERROR_INVALID_HANDLE) {
+ tmpOut = CreateFile("NUL", GENERIC_WRITE,
+ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
+ OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
+ if (tmpOut != INVALID_HANDLE_VALUE
+ && DuplicateHandle(GetCurrentProcess(),
+ tmpOut,
+ GetCurrentProcess(),
+ &hOut,
+ 0,
+ TRUE,
+ DUPLICATE_SAME_ACCESS) == FALSE)
+ CloseHandle(tmpOut);
+ }
+ if (hOut == INVALID_HANDLE_VALUE) {
+ fprintf(stderr, "process_easy: DuplicateHandle(Out) failed (e=%ld)\n", e);
+ return INVALID_HANDLE_VALUE;
+ }
}
+ if (errfd >= 0)
+ tmpErr = (HANDLE)_get_osfhandle (errfd);
+ else
+ tmpErr = GetStdHandle(STD_ERROR_HANDLE);
if (DuplicateHandle(GetCurrentProcess(),
- GetStdHandle(STD_ERROR_HANDLE),
+ tmpErr,
GetCurrentProcess(),
&hErr,
0,
TRUE,
DUPLICATE_SAME_ACCESS) == FALSE) {
- fprintf(stderr,
- "process_easy: DuplicateHandle(Err) failed (e=%ld)\n",
- GetLastError());
- return INVALID_HANDLE_VALUE;
+ if ((e = GetLastError()) == ERROR_INVALID_HANDLE) {
+ tmpErr = CreateFile("NUL", GENERIC_WRITE,
+ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
+ OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
+ if (tmpErr != INVALID_HANDLE_VALUE
+ && DuplicateHandle(GetCurrentProcess(),
+ tmpErr,
+ GetCurrentProcess(),
+ &hErr,
+ 0,
+ TRUE,
+ DUPLICATE_SAME_ACCESS) == FALSE)
+ CloseHandle(tmpErr);
+ }
+ if (hErr == INVALID_HANDLE_VALUE) {
+ fprintf(stderr, "process_easy: DuplicateHandle(Err) failed (e=%ld)\n", e);
+ return INVALID_HANDLE_VALUE;
+ }
}
hProcess = process_init_fd(hIn, hOut, hErr);
@@ -1263,9 +1547,12 @@ process_easy(
((sub_process*) hProcess)->exit_code = process_last_err(hProcess);
/* close up unused handles */
- CloseHandle(hIn);
- CloseHandle(hOut);
- CloseHandle(hErr);
+ if (hIn != INVALID_HANDLE_VALUE)
+ CloseHandle(hIn);
+ if (hOut != INVALID_HANDLE_VALUE)
+ CloseHandle(hOut);
+ if (hErr != INVALID_HANDLE_VALUE)
+ CloseHandle(hErr);
}
process_register(hProcess);
diff --git a/w32/subproc/w32err.c b/w32/subproc/w32err.c
index 80d796e9..9ff4f4c9 100644
--- a/w32/subproc/w32err.c
+++ b/w32/subproc/w32err.c
@@ -1,6 +1,5 @@
/* Error handling for Windows
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009, 2010 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
@@ -15,7 +14,9 @@ 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 <http://www.gnu.org/licenses/>. */
+#include <stdlib.h>
#include <windows.h>
+#include "makeint.h"
#include "w32err.h"
/*
@@ -26,45 +27,59 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
* Notes/Dependencies: I got this from
* comp.os.ms-windows.programmer.win32
*/
-char *
+const char *
map_windows32_error_to_string (DWORD ercode) {
-/* __declspec (thread) necessary if you will use multiple threads on MSVC */
-#ifdef _MSC_VER
-__declspec (thread) static char szMessageBuffer[128];
-#else
-static char szMessageBuffer[128];
-#endif
- /* Fill message buffer with a default message in
- * case FormatMessage fails
- */
+/*
+ * We used to have an MSVC-specific '__declspec (thread)' qualifier
+ * here, with the following comment:
+ *
+ * __declspec (thread) necessary if you will use multiple threads on MSVC
+ *
+ * However, Make was never multithreaded on Windows (except when
+ * Ctrl-C is hit, in which case the main thread is stopped
+ * immediately, so it doesn't matter in this context). The functions
+ * on sub_proc.c that started and stopped additional threads were
+ * never used, and are now #ifdef'ed away. Until we need more than
+ * one thread, we have no problems with the following buffer being
+ * static. (If and when we do need it to be in thread-local storage,
+ * the corresponding GCC qualifier is '__thread'.)
+ */
+ static char szMessageBuffer[128];
+ /* Fill message buffer with a default message in
+ * case FormatMessage fails
+ */
wsprintf (szMessageBuffer, "Error %ld\n", ercode);
- /*
- * Special code for winsock error handling.
- */
- if (ercode > WSABASEERR) {
- HMODULE hModule = GetModuleHandle("wsock32");
- if (hModule != NULL) {
- FormatMessage(FORMAT_MESSAGE_FROM_HMODULE,
- hModule,
- ercode,
- LANG_NEUTRAL,
- szMessageBuffer,
- sizeof(szMessageBuffer),
- NULL);
- FreeLibrary(hModule);
- }
- } else {
- /*
- * Default system message handling
- */
- FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,
- NULL,
- ercode,
- LANG_NEUTRAL,
- szMessageBuffer,
- sizeof(szMessageBuffer),
- NULL);
- }
+ /*
+ * Special code for winsock error handling.
+ */
+ if (ercode > WSABASEERR) {
+#if 0
+ HMODULE hModule = GetModuleHandle("wsock32");
+ if (hModule != NULL) {
+ FormatMessage(FORMAT_MESSAGE_FROM_HMODULE,
+ hModule,
+ ercode,
+ LANG_NEUTRAL,
+ szMessageBuffer,
+ sizeof(szMessageBuffer),
+ NULL);
+ FreeLibrary(hModule);
+ }
+#else
+ O (fatal, NILF, szMessageBuffer);
+#endif
+ } else {
+ /*
+ * Default system message handling
+ */
+ FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,
+ NULL,
+ ercode,
+ LANG_NEUTRAL,
+ szMessageBuffer,
+ sizeof(szMessageBuffer),
+ NULL);
+ }
return szMessageBuffer;
}