platform/upstream/make.git
9 years agoGNU Make release 4.1. 4.1
Paul Smith [Sun, 5 Oct 2014 16:18:08 +0000 (12:18 -0400)]
GNU Make release 4.1.

9 years agoFix Cygwin compilation error.
Eli Zaretskii [Thu, 2 Oct 2014 15:11:43 +0000 (18:11 +0300)]
Fix Cygwin compilation error.

* job.c (construct_command_argv_internal) [HAVE_DOS_PATHS]: Fix
initializer for sh_chars_sh.
Reported by Denis Excoffier<cygwin@Denis-Excoffier.org>.

9 years agoFix last commit.
Gisle Vanem [Wed, 1 Oct 2014 17:43:12 +0000 (20:43 +0300)]
Fix last commit.

9 years ago* makeint.h (ftruncate): Define also for __WATCOMC__.
Gisle Vanem [Wed, 1 Oct 2014 17:41:28 +0000 (20:41 +0300)]
* makeint.h (ftruncate): Define also for __WATCOMC__.

Copyright-paperwork-exempt: yes.

9 years agoAvoid compilation warnings.
Eli Zaretskii [Wed, 1 Oct 2014 15:34:29 +0000 (18:34 +0300)]
Avoid compilation warnings.

* main.c (find_and_set_default_shell, main) [WINDOWS32]: Declare
variables 'const char *' to avoid compiler warnings.
* job.c (construct_command_argv_internal) [!NDEBUG]: Declare 'end'
and set it only if NDEBUG is not defined, to avoid compiler
warnings.

9 years agoTreat redirection of standard handles on Windows as it is done on Unix.
Eli Zaretskii [Wed, 1 Oct 2014 15:26:28 +0000 (18:26 +0300)]
Treat redirection of standard handles on Windows as it is done on Unix.

* job.c (start_job_command) [WINDOWS32]: Compute outfd and errfd
as on Posix platforms, and pass the results to process_easy.
* function.c (windows32_openpipe) [WINDOWS32]: Accept an
additional argument ERRFD and use it for redirecting the standard
error handle passed to the subprocess.
(func_shell_base) [WINDOWS32]: Pass the computed errfd to
windows32_openpipe.

9 years agoUpdate Copyright statements for 2014.
Paul Smith [Tue, 30 Sep 2014 12:33:21 +0000 (08:33 -0400)]
Update Copyright statements for 2014.

9 years ago* tests/scripts/features/load: Avoid unused variable warnings.
Paul Smith [Tue, 30 Sep 2014 13:31:39 +0000 (09:31 -0400)]
* tests/scripts/features/load: Avoid unused variable warnings.

9 years ago* loadapi.c (gmk_eval): Use C90 syntax.
Paul Smith [Tue, 30 Sep 2014 12:32:06 +0000 (08:32 -0400)]
* loadapi.c (gmk_eval): Use C90 syntax.

9 years ago* job.c: fix make action continuation lines.
Hartmut Becker [Thu, 18 Sep 2014 21:49:49 +0000 (23:49 +0200)]
* job.c: fix make action continuation lines.

* vmsjobs.c: fix writing DCL command files when trimming (white
  spaces and $ signs) especially after a split (command continuation).

9 years ago* configure.ac: Fix spacing in helptext of customs
Bernhard Reutner-Fischer [Mon, 15 Sep 2014 11:03:44 +0000 (13:03 +0200)]
* configure.ac: Fix spacing in helptext of customs

Copyright-paperwork-exempt: yes

9 years agoSupport MAKE_TERMOUT and MAKE_TERMERR on MS-Windows.
Eli Zaretskii [Mon, 15 Sep 2014 16:51:41 +0000 (19:51 +0300)]
Support MAKE_TERMOUT and MAKE_TERMERR on MS-Windows.

* w32/compat/posixfcn.c (isatty, ttyname): New functions.
* config.h.W32.template (HAVE_TTYNAME): Define.  Add a prototype
for ttyname.

9 years ago* loadapi.c (gmk_eval): [SV 43221] Preserve var buff content for eval.
Paul Smith [Mon, 15 Sep 2014 13:38:02 +0000 (09:38 -0400)]
* loadapi.c (gmk_eval): [SV 43221] Preserve var buff content for eval.

9 years ago* main.c, NEWS, doc/make.text: Rename MAKE_TTY* to MAKE_TERM*
Paul Smith [Mon, 15 Sep 2014 13:30:40 +0000 (09:30 -0400)]
* main.c, NEWS, doc/make.text: Rename MAKE_TTY* to MAKE_TERM*

9 years ago* main.c (main): Set MAKE_TTYOUT and MAKE_TTYERR.
Paul Smith [Sun, 14 Sep 2014 05:03:19 +0000 (01:03 -0400)]
* main.c (main): Set MAKE_TTYOUT and MAKE_TTYERR.

* configure.ac: Test for isatty() and ttyname()
* makeint.h: provide a substitute for ttyname() if it's not available.
* config.ami.template, config.h-vms.template, config.h.W32.template:
define/undefine HAVE_ISATTY/HAVE_TTYNAME macros.
* NEWS, doc/make.texi: Document these new variables.

9 years ago* tests/config-flags.pm.in, tests/scripts/features/archives: [SV 43046]
Paul Smith [Mon, 8 Sep 2014 00:12:12 +0000 (20:12 -0400)]
* tests/config-flags.pm.in, tests/scripts/features/archives: [SV 43046]

Use the "ar" program detected by configure when running the test suite.

9 years ago* doc/make.texi: Clarify implicit rule lookup of phony targets
Paul Smith [Mon, 8 Sep 2014 00:02:31 +0000 (20:02 -0400)]
* doc/make.texi: Clarify implicit rule lookup of phony targets

Reported by Frank Heckenbach <f.heckenbach@fh-soft.de>

9 years agoFix and enhance VMS library support.
Hartmut Becker [Thu, 4 Sep 2014 19:04:52 +0000 (21:04 +0200)]
Fix and enhance VMS library support.

* ar.c: fix VMS library search for members, which do not have
suffixes, aka filename extensions.
* arscan.c: fix time conversion and library callback routines.
* default.c: more suffixes and automatically create the VMS library
if it doesn't exists.

9 years agoEnhance VMS exporting make environment variables.
Hartmut Becker [Wed, 3 Sep 2014 21:39:25 +0000 (23:39 +0200)]
Enhance VMS exporting make environment variables.

* config.h-vms.template: add feature macro USE_DCL_COM_FILE to always
write a DCL command file, enabled by default.
* vmsjobs.c: with USE_DCL_COM_FILE enabled write make variables as DCL
symbol assignments into the command file.  This enables printing
directory and make level info for recursive use of make. This also
enables forced DCL symbol substitution in the actions.

9 years agoFix VMS automatic variable expansion
Hartmut Becker [Wed, 3 Sep 2014 17:27:17 +0000 (19:27 +0200)]
Fix VMS automatic variable expansion

* function.c: add VMS code to func_notdir_suffix and func_basename_dir
to work on comma separated lists; this fixes the expansion of
$(^D), $(+D) and the F variants for VMS.

9 years ago* main.c [VMS]: Say that parallel jobs (-j) are not supported on VMS
Hartmut Becker [Sun, 31 Aug 2014 22:29:19 +0000 (00:29 +0200)]
* main.c [VMS]: Say that parallel jobs (-j) are not supported on VMS

9 years agoEnhance/fix VMS ONESHELL implementation and command execution
Hartmut Becker [Sun, 31 Aug 2014 21:52:25 +0000 (23:52 +0200)]
Enhance/fix VMS ONESHELL implementation and command execution

* job.c, vmsjobs.c: fix some double quote and new line handling;
implement ONESHELL with writing multiple lines into one DCL command
procedure; in ONESHELL allow VMS/make internal redirection only on the
first line; fix the created DCL command procedure, which didn't abort
on errors; return correct exit status from the DCL command procedure;
preserve current procedure verification; make the generated command
procedure more robust.

9 years agoEnhance/fix VMS setting of program name, MAKE/MAKE_COMMAND variables
Hartmut Becker [Sun, 31 Aug 2014 17:11:08 +0000 (19:11 +0200)]
Enhance/fix VMS setting of program name, MAKE/MAKE_COMMAND variables

* default.c, main.c, makeint.h, vmsfunctions.c: prefix argv[0] with
"mcr " for MAKE/MAKE_COMMAND and set the program name to the image
filename (without the .exe;version)
* vmsfunctions.c: remove obsolete code
* vmsify: use xmalloc

9 years agoEnhance/fix VMS exit code handling.
Hartmut Becker [Sun, 24 Aug 2014 20:06:15 +0000 (22:06 +0200)]
Enhance/fix VMS exit code handling.

* commands.c, function.c, hash.c, job.c, main.c, output.c:
use MAKE exit codes.
* makeint.h: encode make exit codes so that they are VMS compatible.
* job.c: check child exit code for VMS style exit codes.
* vmsjobs.c: save and return VMS style exit code.

9 years agoEnhance/fix VMS multi-line support.
Hartmut Becker [Sat, 23 Aug 2014 15:54:21 +0000 (17:54 +0200)]
Enhance/fix VMS multi-line support.

* job.c: split the command line at a newline.
* default.c, vmsjobs.c: change ECHO variable to a pseudo builtin,
which ensures that the VMS/DCL ECHO ("write sys$output") is used
and is correctly quoted.
* vmsjobs.c: remove unused builtin 'rm'.

9 years ago* config_flags_pm.com, [RENAMED test_make.com] run_make_tests.com:
Hartmut Becker [Mon, 18 Aug 2014 21:39:44 +0000 (23:39 +0200)]
* config_flags_pm.com, [RENAMED test_make.com] run_make_tests.com:

Moved into tests directory.

9 years agoEnhance/fix VMS build environment
Hartmut Becker [Mon, 18 Aug 2014 20:45:29 +0000 (22:45 +0200)]
Enhance/fix VMS build environment

* config.h-vms.template: make sure the CRTL version is known
* makefile.com: always compile/link the guile module, remove VAXCRTL
parameter, new LIST parameter
* makefile.vms: always compile/link the guile module, use more
complete dependencies
* prepare_vms.com: helper to create a VMS config file when building
from a snapshot of the repository

9 years ago* configure.ac, maintMakefile, w32/Makefile.am: Fix autotools issues.
Paul Smith [Sun, 7 Sep 2014 20:54:36 +0000 (16:54 -0400)]
* configure.ac, maintMakefile, w32/Makefile.am: Fix autotools issues.

Reported by Paul Eggert <eggert@cs.ucla.edu>

9 years agoChange the order of "makefile" and "Makefile" to match the manual.
Eli Zaretskii [Sat, 30 Aug 2014 07:43:34 +0000 (10:43 +0300)]
Change the order of "makefile" and "Makefile" to match the manual.

9 years agoFix regression with "makefile" not being found on MS-Windows.
Eli Zaretskii [Sat, 30 Aug 2014 07:40:12 +0000 (10:40 +0300)]
Fix regression with "makefile" not being found on MS-Windows.

* read.c (read_all_makefiles) [WINDOWS32]: Recognize "makefile",
all-lowercase, as a makefile.  Reported by Michael Waeber
<waeber@gmail.com>.

9 years agoFix compilation on MS-Windows.
Eli Zaretskii [Wed, 16 Jul 2014 15:23:04 +0000 (18:23 +0300)]
Fix compilation on MS-Windows.

* makeint.h [WINDOWS32]: Don't declare 'program' as 'const char *',
since it is modified in 'main'.

9 years ago[SV 42695] Fix compilation error on MS-Windows.
Eli Zaretskii [Sat, 12 Jul 2014 10:01:18 +0000 (13:01 +0300)]
[SV 42695] Fix compilation error on MS-Windows.

* main.c [WINDOWS32]: Don't declare 'program' as 'const char *',
since it is modified in 'main'.

9 years agoFix defalt_makefiles[] for MS-Windows.
Jonny Grant [Sat, 12 Jul 2014 09:53:59 +0000 (12:53 +0300)]
Fix defalt_makefiles[] for MS-Windows.

* read.c (read_all_makefiles) [WINDOWS32]: Remove the redundant
"makefile" and add "makefile.mak".

Copyright-paperwork-exempt: yes

9 years ago* arscan.c [ANDROID]: Android has no ar.h but supports archives.
Fredrik Fornwall [Mon, 3 Feb 2014 14:28:40 +0000 (09:28 -0500)]
* arscan.c [ANDROID]: Android has no ar.h but supports archives.

Copyright-paperwork-exempt: yes

9 years ago* read.c (eval): [SV 41677] Correct test for TAB vs. 8 spaces.
Paul Smith [Mon, 7 Jul 2014 07:43:57 +0000 (03:43 -0400)]
* read.c (eval): [SV 41677] Correct test for TAB vs. 8 spaces.

9 years ago* output.c (pump_from_tmp): [SV 42378] Flush the output file regularly.
Piotr Jaroszynski [Thu, 15 May 2014 18:40:27 +0000 (11:40 -0700)]
* output.c (pump_from_tmp): [SV 42378] Flush the output file regularly.

Copyright-paperwork-exempt: yes

9 years agoUpdate the regression test harness to support VMS.
John Malmberg [Wed, 2 Apr 2014 00:31:57 +0000 (19:31 -0500)]
Update the regression test harness to support VMS.

* config_flags_pm.com, test_make.com: set up and run the regression
test environment on VMS.
* tests/run_make_tests.pl [VMS]: Use an alternate rmdir()
implementation on VMS.
(run_make_with_options) [VMS]: Provide VMS-specific quoting and shell
invocations.
(set_more_defaults) [VMS]: Set default values when running on VMS.
* tests/test_driver.pl (vms_get_process_logicals) [VMS]: Retrieve the
proper values from %ENV on VMS.
(resetENV) [VMS]: Use it.
(toplevel) [VMS]: Fix a bug with opendir() on some logical_devices.
(compare_output) [VMS]: Convert VMS test output to a "standard" format.
(_run_command) [VMS]: Handle signals and exit codes the VMS way.
(remove_directory_tree_inner) [VMS]: Unlink all versions of the file.

9 years ago* various: Assume ISO C89-compliant free() implementation.
Paul Smith [Fri, 25 Apr 2014 21:38:08 +0000 (17:38 -0400)]
* various: Assume ISO C89-compliant free() implementation.

9 years ago* maintMakefile, various: Improve constification of the codebase.
Paul Smith [Fri, 25 Apr 2014 21:10:47 +0000 (17:10 -0400)]
* maintMakefile, various: Improve constification of the codebase.

9 years ago[SV 41983] Support omitting the text argument to $(file ...)
Paul Smith [Tue, 8 Apr 2014 22:25:27 +0000 (18:25 -0400)]
[SV 41983] Support omitting the text argument to $(file ...)

Reported by Tim Murphy <tnmurphy@gmail.com>
* function.c (func_file): Only write TEXT if it is not NULL.
* NEWS, doc/make.texi: Document the new feature
* tests/scripts/functions/file: Verify that the no-text version of
  $(file ...) works and doesn't add a newline.

10 years agoNMakefile.template ($(OUTDIR)/posixfcn.obj): Fix a typo.
Jacques Germishuys [Tue, 13 May 2014 17:30:47 +0000 (20:30 +0300)]
NMakefile.template ($(OUTDIR)/posixfcn.obj): Fix a typo.

Copyright-paperwork-exempt: yes.

10 years ago[SV 42249] Propagate correct rule status results.
Paul Smith [Thu, 1 May 2014 13:48:10 +0000 (09:48 -0400)]
[SV 42249] Propagate correct rule status results.

* remake.c (update_file, update_file_1, check_dep): Return an enum
  update_status value instead of an int, and keep the highest value we
  find as we walk the graph so that the ultimate status is correct.
* tests/scripts/options/dash-q: Add a test for updating prerequisites.

10 years ago* Rename MAP_PATHSEP to MAP_DIRSEP.
Paul Smith [Sun, 2 Feb 2014 22:28:46 +0000 (17:28 -0500)]
* Rename MAP_PATHSEP to MAP_DIRSEP.

10 years ago* configure.ac: Fixup for newer autoconf/automake
Paul Smith [Sun, 2 Feb 2014 17:27:48 +0000 (12:27 -0500)]
* configure.ac: Fixup for newer autoconf/automake

10 years ago* output.c: Ensure space for final nul byte in fmtbuf.
Ray Donnelly [Sun, 2 Feb 2014 15:51:05 +0000 (10:51 -0500)]
* output.c: Ensure space for final nul byte in fmtbuf.

Copyright-paperwork-exempt: yes

10 years agoImprove error reporting in the Windows port when env size is too large.
Gisle Vanem [Fri, 7 Feb 2014 09:15:56 +0000 (11:15 +0200)]
Improve error reporting in the Windows port when env size is too large.

w32/subproc/misc.c (arr2envblk): Compute and return the size of
the environment passed to child process.

w32/subproc/sub_proc.c (process_begin): If the call to
CreateProcess failed with EINVAL, and the required environment
size was larger than 32KB, assume it's a Windows XP limitation,
and display an error message to that effect.

w32/subproc/proc.h (arr2envblk): Update prototype.

Copyright-paperwork-exempt: yes

10 years ago* job.c (set_child_handler_action_flags): [SV 41341]
Paul Smith [Sun, 2 Feb 2014 04:08:59 +0000 (23:08 -0500)]
* job.c (set_child_handler_action_flags): [SV 41341]

Ensure signal handler is in place before alarm(1).

10 years ago* configure.ac: [SV 40790] Fix load autoconf variables.
Alan Hourihane [Sat, 18 Jan 2014 21:41:47 +0000 (16:41 -0500)]
* configure.ac: [SV 40790] Fix load autoconf variables.

Copyright-paperwork-exempt: yes

10 years agoAllow the EMX build to use output_sync.
Pavel Fedin [Fri, 17 Jan 2014 07:51:28 +0000 (09:51 +0200)]
Allow the EMX build to use output_sync.

job.c (start_job_command): Move the child output diversion out
of non-EMX branch.
[__EMX__]: Don't use fixed FD_STDOUT and FD_STDERR in the call to
child_execute_job.

Copyright-paperwork-exempt: yes

10 years ago* commands.c: [SV 40789] Remove unneeded header dlfcn.h
Paul Smith [Sun, 12 Jan 2014 05:13:22 +0000 (00:13 -0500)]
* commands.c: [SV 40789] Remove unneeded header dlfcn.h

10 years ago* main.c (die): Close output_context AND make_sync.
Paul Smith [Sat, 11 Jan 2014 21:10:02 +0000 (16:10 -0500)]
* main.c (die): Close output_context AND make_sync.

die() can be invoked inside a separate output_context, if the
$(error ...) function is expanded as part of a recipe.

10 years agoFix .LIBPATTERNS for MS-Windows builds.
Pavel Fedin [Fri, 10 Jan 2014 12:00:02 +0000 (14:00 +0200)]
Fix .LIBPATTERNS for MS-Windows builds.

default.c (.LIBPATTERNS) [__CYGWIN__ || WINDOWS32]: Provide
library patterns for MS-Windows.

Copyright-paperwork-exempt: yes

10 years ago* w32/*: Remove TABs from the source code.
Paul Smith [Thu, 28 Nov 2013 00:43:33 +0000 (19:43 -0500)]
* w32/*: Remove TABs from the source code.

I know whitespace commits are annoying, but having these TABs is
causing me to miss things when I search through the code.  This
doesn't try to change the w32 code to meet GNU coding standards.

10 years ago* main.c (decode_env_switches): Ensure we have enough space.
Paul Smith [Thu, 28 Nov 2013 00:06:45 +0000 (19:06 -0500)]
* main.c (decode_env_switches): Ensure we have enough space.

Reported (with patch) by Gerte Hoogewerf <g.hoogewerf@gmail.com>

10 years agoSolve some Windows build issues.
Stephan T. Lavavej [Wed, 27 Nov 2013 15:57:01 +0000 (10:57 -0500)]
Solve some Windows build issues.

* main.c (main): Use ONS(), not OSN().
(prepare_mutex_handle_string) [WINDOWS32]: Use %Ix formatting to
support both 32bit and 64bit systems.
* job.c (free_child, new_job): Use ONS(), not OSN().
* w32/subproc/w32err.c (map_windws32_error_to_string): Use O() when
calling fatal().

Copyright-paperwork-exempt: yes

10 years ago* features/loadapi (test_expand): Allocate memory for the nul byte.
Paul Smith [Sun, 24 Nov 2013 09:08:30 +0000 (04:08 -0500)]
* features/loadapi (test_expand): Allocate memory for the nul byte.

10 years ago* load.c (load_file): Reset the name length minus the symbol.
Paul Smith [Sun, 24 Nov 2013 09:03:19 +0000 (04:03 -0500)]
* load.c (load_file): Reset the name length minus the symbol.

10 years ago* read.c (unescape_char): Use memmove() for overlapping memory.
Paul Smith [Sun, 24 Nov 2013 08:45:38 +0000 (03:45 -0500)]
* read.c (unescape_char): Use memmove() for overlapping memory.

10 years agoFix memory leak during environment option decoding.
Paul Smith [Sun, 24 Nov 2013 08:45:02 +0000 (03:45 -0500)]
Fix memory leak during environment option decoding.

* main.c (decode_switches): Always make a copy of option arguments.
(decode_env_switches): Use a stack buffer to convert environment
switches for parsing.

10 years ago[SV 40226] Add a new type of switch: single-string options
Paul Smith [Sun, 24 Nov 2013 08:21:40 +0000 (03:21 -0500)]
[SV 40226] Add a new type of switch: single-string options

* main.c (struct command_switch): Change the "string" types to "strlist"
and make "string" be a single-valued string instead.
(output_sync_option, jobserver_fds, sync_mutex): Change to string type.
(decode_output_sync_flags): Handle single strings instead of lists.
(prepare_mutex_handle_string): Ditto.
(main): Ditto.
(clean_jobserver): Ditto.
(init_switches): Handle the new type.
(decode_switches): Ditto.
(define_makeflags): Ditto.

10 years ago* load.c: [SV 40515] Define RTLD_GLOBAL if not set.
Daniel Richard G [Sun, 24 Nov 2013 03:31:36 +0000 (22:31 -0500)]
* load.c: [SV 40515] Define RTLD_GLOBAL if not set.

Copyright-paperwork-exempt: yes

10 years ago[SV 40361] Don't use vsnprintf(), which is an ISO C99 function.
Paul Smith [Sun, 24 Nov 2013 03:23:52 +0000 (22:23 -0500)]
[SV 40361] Don't use vsnprintf(), which is an ISO C99 function.

* output.c (error, fatal, message): Take an extra argument specifying
how many bytes are used by the formatted arguments.
(get_buffer): New function that allocates the requested buffer size.
Remove msc_vsnprintf(), vfmtconcat(), and fmtconcat() as unneeded.
* makeint.h: Declare various helper macros for generating output.
* *.c: Change all error(), fatal(), message() calls to use the macros,
or pass the extra length argument directly.

10 years ago* makeint.h (STOP_SET): [SV 40371] Cast to unsigned char.
Paul Smith [Sat, 26 Oct 2013 04:10:17 +0000 (00:10 -0400)]
* makeint.h (STOP_SET): [SV 40371] Cast to unsigned char.

* tests/scripts/misc/utf8: Test variable names with characters >127.
Fix suggested by Robert Bogomip <bob.bogo@milohedge.com>

10 years agoFix MS Visual Studio NET2003 build.
Gerte Hoogewerf [Thu, 24 Oct 2013 18:20:36 +0000 (21:20 +0300)]
Fix MS Visual Studio NET2003 build.

* make_msvc_net2003.vcproj: Do not exclude guile.c from compilation.
Copyright-paperwork-exempt: Yes.

10 years agoFix SV bug #40227 with respect to stack size set for the MSVC build.
Christian Boos [Wed, 23 Oct 2013 16:56:18 +0000 (19:56 +0300)]
Fix SV bug #40227 with respect to stack size set for the MSVC build.

* NMakefile.template (/STACK): Increase to 0x400000, mainly for
the 64-bit builds.  Fixes SV bug #40227.
Copyright-paperwork-exempt: Yes.
(guile): Uncomment.

10 years agoFix the MS-Windows build: now guile.c must always be compiled in.
Eli Zaretskii [Wed, 23 Oct 2013 16:28:38 +0000 (19:28 +0300)]
Fix the MS-Windows build: now guile.c must always be compiled in.

* build_w32.bat: Always compile guile.c and link against guile.o.
  Reported by Alexey Pavlov <alexpux@gmail.com>.

* makeint.h (guile_gmake_setup): Define prototype unconditionally,
to avoid compiler warnings.

10 years agoFix Savannah bug #31150 with failures due to setting window title.
Eli Zaretskii [Tue, 22 Oct 2013 16:04:34 +0000 (19:04 +0300)]
Fix Savannah bug #31150 with failures due to setting window title.

* sub_proc.c (process_begin): Don't set startInfo.lpTitle, it
reportedly causes SV bug #31150, and according to MSDN it's a
no-no.

10 years agoFix Savannah bug 40241 with Unixy file names as commands to MSYS shell.
Eli Zaretskii [Tue, 22 Oct 2013 15:55:38 +0000 (18:55 +0300)]
Fix Savannah bug 40241 with Unixy file names as commands to MSYS shell.

* sub_proc.c: Include filedef.h and variable.h.
(process_begin): If exec_path was not found, but its first
character is '/', assume there's some shell magic, and invoke the
command through '$(SHELL) -c "COMMAND"'.  Fixes SV bug#40241.
(make_command_line): Kludgey feature: if full_exec_path is "-c",
assume that argv[0] is not to be skipped, as it holds the command
string to be passed to the shell.

10 years ago* glob.c (glob) [SV 18123]: Cherry-pick glibc fix
Paul Smith [Sun, 20 Oct 2013 17:18:03 +0000 (13:18 -0400)]
* glob.c (glob) [SV 18123]: Cherry-pick glibc fix

Apply commit a471e96a5352a5f0bde6d32dd36d33524811a2b1 from
git://sourceware.org/git/glibc.git to fix
https://sourceware.org/bugzilla/show_bug.cgi?id=10278

10 years ago* read.c (record_files): [SV 33034] Change fatal() to error()
Paul Smith [Sun, 20 Oct 2013 16:49:01 +0000 (12:49 -0400)]
* read.c (record_files): [SV 33034] Change fatal() to error()

Allows deprecated syntax.  However we don't guarantee this syntax
will continue to be legal in the future.
Change suggested by David Boyce <david.s.boyce@gmail.com>

10 years ago* README.git: Add some missing release steps.
Paul Smith [Sun, 20 Oct 2013 16:49:56 +0000 (12:49 -0400)]
* README.git: Add some missing release steps.

10 years ago[SV 40240] Use configure info to build load test shared libs
Paul Smith [Sat, 19 Oct 2013 19:39:15 +0000 (15:39 -0400)]
[SV 40240] Use configure info to build load test shared libs

* tests/config-flags.pm.in: A new file containing variable assignments
for the test suite; these variables are set by configure to contain
the values detected there for compilers, flags, etc.
* tests/run_make_tests.pl: Require the config-flags.pm file
* tests/scripts/features/load, tests/scripts/features/loadapi: Use the
configure-provided values when building the shared test library.
* configure.ac: Replace tests/config-flags.pm.in
* Makefile.am: Make sure tests/config-flags.pm is up to date

10 years ago* maintMakefile (checkcfg.%): Add testing of build.sh
Paul Smith [Sat, 19 Oct 2013 16:22:36 +0000 (12:22 -0400)]
* maintMakefile (checkcfg.%): Add testing of build.sh

10 years ago[SV 40254] Modify build.sh to work properly with Guile support.
Paul Smith [Sat, 19 Oct 2013 16:21:09 +0000 (12:21 -0400)]
[SV 40254] Modify build.sh to work properly with Guile support.

* guile.c (guile_gmake_setup) [HAVE_GUILE]: Define a stub function
when Guile support is not enabled.
* main.c (main) [HAVE_GUILE]: Always invoke guile_gmake_setup().
* Makefile.am: Make guile.c standard, not optional.
* build.template: Add the Guile compiler and linker flags.

10 years ago* maintMakefile: Accept variable overrides from the environment.
Paul Smith [Sat, 19 Oct 2013 16:09:13 +0000 (12:09 -0400)]
* maintMakefile: Accept variable overrides from the environment.

10 years ago* NEWS: Fix version so we can build a distfile.
Paul Smith [Sat, 19 Oct 2013 16:08:04 +0000 (12:08 -0400)]
* NEWS: Fix version so we can build a distfile.

10 years ago* read.c (eval): Avoid GCC warning to add braces.
Paul Smith [Sat, 19 Oct 2013 16:07:31 +0000 (12:07 -0400)]
* read.c (eval): Avoid GCC warning to add braces.

10 years ago* GNUMAKEFLAGS: Remove -O so it passes in NO_OUTPUT_SYNC mode.
Paul Smith [Sat, 19 Oct 2013 16:05:58 +0000 (12:05 -0400)]
* GNUMAKEFLAGS: Remove -O so it passes in NO_OUTPUT_SYNC mode.

10 years agoFix initialization of stringlist variables for jobserver_fds and sync_mutex.
Christian Boos [Fri, 18 Oct 2013 10:23:43 +0000 (13:23 +0300)]
Fix initialization of stringlist variables for jobserver_fds and sync_mutex.

 (tiny change)

 main.c (prepare_mutex_handle_string, main): Initialize
 stringlist variables with at least 2 members, as one member is not
 currently supported.

10 years agoFix MinGW64 problem with non-compliant vsnprintf.
Eli Zaretskii [Fri, 18 Oct 2013 10:12:22 +0000 (13:12 +0300)]
Fix MinGW64 problem with non-compliant vsnprintf.

 makeint.h (__USE_MINGW_ANSI_STDIO) [__MINGW64_VERSION_MAJOR]:
 Define for MinGW64, to force it to use an ANSI-compliant
 implementation of vsnprintf.  Reported by Christian Boos
 <cboos@edgewall.org>.

10 years agoFix the MSVC build on MS-Windows.
Eli Zaretskii [Fri, 18 Oct 2013 10:08:12 +0000 (13:08 +0300)]
Fix the MSVC build on MS-Windows.

 output.c (vsnprintf) [_MSC_VER]: Define, instead of defining
 snprintf, which isn't used.  Reported by Christian Boos
 <cboos@edgewall.org>.
 NMakefile.template (OBJS): Add load.obj and posixfcn.obj.
 ($(OUTDIR)/pathstuff.obj): New dependency.
 Suggested by Christian Boos <cboos@edgewall.org>.

10 years ago[SV 40139] Modify "missing separator" for better translation
Paul Smith [Sun, 13 Oct 2013 20:01:22 +0000 (16:01 -0400)]
[SV 40139] Modify "missing separator" for better translation

10 years agoAdd support for updating the GNU make web pages.
Paul Smith [Sun, 13 Oct 2013 18:42:23 +0000 (14:42 -0400)]
Add support for updating the GNU make web pages.

Add makefile rules for updating the http://www.gnu.org/software/make
web pages, including the online GNU make manual.

10 years agoConvert to auto-generated ChangeLog files.
Paul Smith [Sun, 13 Oct 2013 14:54:32 +0000 (10:54 -0400)]
Convert to auto-generated ChangeLog files.

Rename existing ChangeLog files so they won't be distributed.
Add targets to maintMakefile to generate ChangeLog from the Git
repository.  This will require a version of gnulib be available.
Because ChangeLog is auto-generated, we have to switch our
automake mode to "foreign" or it will complain and fail.

10 years agoSet up for the next release.
Paul Smith [Sun, 13 Oct 2013 20:46:41 +0000 (16:46 -0400)]
Set up for the next release.

10 years agoGNU Make release 4.0. 4.0
Paul Smith [Wed, 9 Oct 2013 05:54:24 +0000 (01:54 -0400)]
GNU Make release 4.0.

10 years ago[SV 39709] Fix some typos.
Paul Smith [Wed, 9 Oct 2013 05:53:55 +0000 (01:53 -0400)]
[SV 39709] Fix some typos.

10 years agoUntabify posixfcn.c.
Eli Zaretskii [Mon, 7 Oct 2013 16:16:11 +0000 (19:16 +0300)]
Untabify posixfcn.c.

10 years agoFoix compilation with MSVC.
Eli Zaretskii [Mon, 7 Oct 2013 16:14:01 +0000 (19:14 +0300)]
Foix compilation with MSVC.

 w32/compat/posixfcn.c (tmpfile): Move declaration of h before
 the first executable statement.  Reported by Gisle Vanem <gvanem@yahoo.no>.

10 years agoClean up some tests for use on Windows.
Paul Smith [Sat, 5 Oct 2013 23:30:48 +0000 (19:30 -0400)]
Clean up some tests for use on Windows.

10 years agoSanitize the registered function interface.
Paul Smith [Sat, 5 Oct 2013 20:10:30 +0000 (16:10 -0400)]
Sanitize the registered function interface.

Expand the characters which are legal in a function name, and check
the name for validity.  Create a type for the function pointer.
Convert the last argument from a boolean to flags, to allow for expansion.

10 years ago function.c (abspath): Reset root_len to one for Cygwin only when
Eli Zaretskii [Thu, 3 Oct 2013 16:02:14 +0000 (19:02 +0300)]
 function.c (abspath): Reset root_len to one for Cygwin only when
 HAVE_DOS_PATHS is defined.  Suggested by Christopher Faylor.

10 years agoFix tmpfile on MS-Windows.
Eli Zaretskii [Wed, 2 Oct 2013 16:48:21 +0000 (19:48 +0300)]
Fix tmpfile on MS-Windows.

 w32/compat/posixfcn.c (tmpfile): New function, a replacement for
 the Windows libc version.

10 years agoFix $abspath on Cygwin when HAVE_DOS_PATHS is in effect.
Eli Zaretskii [Wed, 2 Oct 2013 16:39:53 +0000 (19:39 +0300)]
Fix $abspath on Cygwin when HAVE_DOS_PATHS is in effect.

 function.c (IS_ABSOLUTE) [__CYGWIN__]: Special definition for Cygwin.
 (abspath) [__CYGWIN__]: Reset root_len to 1 if the absolute file name
 has the Posix /foo/bar form.
 [HAVE_DOS_PATHS]: Use root_len instead of hard-coded 2.

10 years agoRelease GNU Make version 3.99.93. 3.99.93
Paul Smith [Tue, 1 Oct 2013 04:33:01 +0000 (00:33 -0400)]
Release GNU Make version 3.99.93.

10 years agoFix portability issues for Guile 1.8.
Paul Smith [Mon, 30 Sep 2013 14:56:20 +0000 (10:56 -0400)]
Fix portability issues for Guile 1.8.

10 years agoFinal fixes for obscure output-sync errors.
Paul Smith [Mon, 30 Sep 2013 01:57:22 +0000 (21:57 -0400)]
Final fixes for obscure output-sync errors.

10 years agoFixes for building with MSVC.
Paul Smith [Sun, 29 Sep 2013 17:45:25 +0000 (13:45 -0400)]
Fixes for building with MSVC.

10 years agoSolaris /bin/sh can't handle multiple options ("-e -c").
Paul Smith [Sun, 29 Sep 2013 17:31:32 +0000 (13:31 -0400)]
Solaris /bin/sh can't handle multiple options ("-e -c").

10 years agoFix build failures on EMX for output-sync support.
Paul Smith [Sun, 29 Sep 2013 17:17:56 +0000 (13:17 -0400)]
Fix build failures on EMX for output-sync support.