summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-09-15* main.c, NEWS, doc/make.text: Rename MAKE_TTY* to MAKE_TERM*Paul Smith3-11/+14
2014-09-14* main.c (main): Set MAKE_TTYOUT and MAKE_TTYERR.Paul Smith8-2/+61
* configure.ac: Test for isatty() and ttyname() * makeint.h: provide a substitute for ttyname() if it's not available. * config.ami.template, config.h-vms.template, config.h.W32.template: define/undefine HAVE_ISATTY/HAVE_TTYNAME macros. * NEWS, doc/make.texi: Document these new variables.
2014-09-07* tests/config-flags.pm.in, tests/scripts/features/archives: [SV 43046]Paul Smith2-10/+13
Use the "ar" program detected by configure when running the test suite.
2014-09-07* doc/make.texi: Clarify implicit rule lookup of phony targetsPaul Smith2-40/+33
Reported by Frank Heckenbach <f.heckenbach@fh-soft.de>
2014-09-07Fix and enhance VMS library support.Hartmut Becker3-104/+281
* 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.
2014-09-07Enhance VMS exporting make environment variables.Hartmut Becker2-2/+37
* 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.
2014-09-07Fix VMS automatic variable expansionHartmut Becker1-1/+39
* 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.
2014-09-07* main.c [VMS]: Say that parallel jobs (-j) are not supported on VMSHartmut Becker1-1/+1
2014-09-07Enhance/fix VMS ONESHELL implementation and command executionHartmut Becker2-102/+273
* 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.
2014-09-07Enhance/fix VMS setting of program name, MAKE/MAKE_COMMAND variablesHartmut Becker5-140/+115
* 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
2014-09-07Enhance/fix VMS exit code handling.Hartmut Becker8-19/+30
* 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.
2014-09-07Enhance/fix VMS multi-line support.Hartmut Becker3-28/+53
* 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'.
2014-09-07* config_flags_pm.com, [RENAMED test_make.com] run_make_tests.com:Hartmut Becker2-7/+8
Moved into tests directory.
2014-09-07Enhance/fix VMS build environmentHartmut Becker4-57/+140
* config.h-vms.template: make sure the CRTL version is known * makefile.com: always compile/link the guile module, remove VAXCRTL parameter, new LIST parameter * makefile.vms: always compile/link the guile module, use more complete dependencies * prepare_vms.com: helper to create a VMS config file when building from a snapshot of the repository
2014-09-07* configure.ac, maintMakefile, w32/Makefile.am: Fix autotools issues.Paul Smith5-7/+12
Reported by Paul Eggert <eggert@cs.ucla.edu>
2014-08-30Change the order of "makefile" and "Makefile" to match the manual.Eli Zaretskii1-1/+1
2014-08-30Fix regression with "makefile" not being found on MS-Windows.Eli Zaretskii1-1/+1
* read.c (read_all_makefiles) [WINDOWS32]: Recognize "makefile", all-lowercase, as a makefile. Reported by Michael Waeber <waeber@gmail.com>.
2014-07-16Fix compilation on MS-Windows.Eli Zaretskii1-0/+4
* makeint.h [WINDOWS32]: Don't declare 'program' as 'const char *', since it is modified in 'main'.
2014-07-12[SV 42695] Fix compilation error on MS-Windows.Eli Zaretskii1-0/+6
* main.c [WINDOWS32]: Don't declare 'program' as 'const char *', since it is modified in 'main'.
2014-07-12Fix defalt_makefiles[] for MS-Windows.Jonny Grant1-0/+4
* read.c (read_all_makefiles) [WINDOWS32]: Remove the redundant "makefile" and add "makefile.mak". Copyright-paperwork-exempt: yes
2014-07-07* arscan.c [ANDROID]: Android has no ar.h but supports archives.Fredrik Fornwall1-2/+2
Copyright-paperwork-exempt: yes
2014-07-07* read.c (eval): [SV 41677] Correct test for TAB vs. 8 spaces.Paul Smith2-1/+25
2014-07-07* output.c (pump_from_tmp): [SV 42378] Flush the output file regularly.Piotr Jaroszynski1-1/+5
Copyright-paperwork-exempt: yes
2014-07-07Update the regression test harness to support VMS.John Malmberg4-26/+638
* config_flags_pm.com, test_make.com: set up and run the regression test environment on VMS. * tests/run_make_tests.pl [VMS]: Use an alternate rmdir() implementation on VMS. (run_make_with_options) [VMS]: Provide VMS-specific quoting and shell invocations. (set_more_defaults) [VMS]: Set default values when running on VMS. * tests/test_driver.pl (vms_get_process_logicals) [VMS]: Retrieve the proper values from %ENV on VMS. (resetENV) [VMS]: Use it. (toplevel) [VMS]: Fix a bug with opendir() on some logical_devices. (compare_output) [VMS]: Convert VMS test output to a "standard" format. (_run_command) [VMS]: Handle signals and exit codes the VMS way. (remove_directory_tree_inner) [VMS]: Unlink all versions of the file.
2014-07-07* various: Assume ISO C89-compliant free() implementation.Paul Smith9-72/+34
2014-07-07* maintMakefile, various: Improve constification of the codebase.Paul Smith12-193/+193
2014-07-07[SV 41983] Support omitting the text argument to $(file ...)Paul Smith4-19/+41
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.
2014-05-13NMakefile.template ($(OUTDIR)/posixfcn.obj): Fix a typo.Jacques Germishuys1-1/+1
Copyright-paperwork-exempt: yes.
2014-05-01[SV 42249] Propagate correct rule status results.Paul Smith2-41/+78
* remake.c (update_file, update_file_1, check_dep): Return an enum update_status value instead of an int, and keep the highest value we find as we walk the graph so that the ultimate status is correct. * tests/scripts/options/dash-q: Add a test for updating prerequisites.
2014-02-08* Rename MAP_PATHSEP to MAP_DIRSEP.Paul Smith3-17/+17
2014-02-08* configure.ac: Fixup for newer autoconf/automakePaul Smith1-0/+4
2014-02-08* output.c: Ensure space for final nul byte in fmtbuf.Ray Donnelly1-5/+5
Copyright-paperwork-exempt: yes
2014-02-07Improve error reporting in the Windows port when env size is too large.Gisle Vanem3-4/+11
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
2014-02-01* job.c (set_child_handler_action_flags): [SV 41341]Paul Smith1-4/+14
Ensure signal handler is in place before alarm(1).
2014-01-20* configure.ac: [SV 40790] Fix load autoconf variables.Alan Hourihane1-6/+6
Copyright-paperwork-exempt: yes
2014-01-17Allow the EMX build to use output_sync.Pavel Fedin1-14/+13
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
2014-01-12* commands.c: [SV 40789] Remove unneeded header dlfcn.hPaul Smith1-2/+0
2014-01-12* main.c (die): Close output_context AND make_sync.Paul Smith2-2/+14
die() can be invoked inside a separate output_context, if the $(error ...) function is expanded as part of a recipe.
2014-01-11Fix .LIBPATTERNS for MS-Windows builds.Pavel Fedin1-0/+2
default.c (.LIBPATTERNS) [__CYGWIN__ || WINDOWS32]: Provide library patterns for MS-Windows. Copyright-paperwork-exempt: yes
2013-11-27* w32/*: Remove TABs from the source code.Paul Smith8-1291/+1291
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.
2013-11-27* main.c (decode_env_switches): Ensure we have enough space.Paul Smith1-5/+4
Reported (with patch) by Gerte Hoogewerf <g.hoogewerf@gmail.com>
2013-11-27Solve some Windows build issues.Stephan T. Lavavej3-5/+5
* 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
2013-11-24* features/loadapi (test_expand): Allocate memory for the nul byte.Paul Smith1-1/+1
2013-11-24* load.c (load_file): Reset the name length minus the symbol.Paul Smith1-0/+1
2013-11-24* read.c (unescape_char): Use memmove() for overlapping memory.Paul Smith1-2/+2
2013-11-24Fix memory leak during environment option decoding.Paul Smith1-10/+11
* main.c (decode_switches): Always make a copy of option arguments. (decode_env_switches): Use a stack buffer to convert environment switches for parsing.
2013-11-24[SV 40226] Add a new type of switch: single-string optionsPaul Smith1-71/+49
* main.c (struct command_switch): Change the "string" types to "strlist" and make "string" be a single-valued string instead. (output_sync_option, jobserver_fds, sync_mutex): Change to string type. (decode_output_sync_flags): Handle single strings instead of lists. (prepare_mutex_handle_string): Ditto. (main): Ditto. (clean_jobserver): Ditto. (init_switches): Handle the new type. (decode_switches): Ditto. (define_makeflags): Ditto.
2013-11-23* load.c: [SV 40515] Define RTLD_GLOBAL if not set.Daniel Richard G1-0/+5
Copyright-paperwork-exempt: yes
2013-11-23[SV 40361] Don't use vsnprintf(), which is an ISO C99 function.Paul Smith22-384/+428
* output.c (error, fatal, message): Take an extra argument specifying how many bytes are used by the formatted arguments. (get_buffer): New function that allocates the requested buffer size. Remove msc_vsnprintf(), vfmtconcat(), and fmtconcat() as unneeded. * makeint.h: Declare various helper macros for generating output. * *.c: Change all error(), fatal(), message() calls to use the macros, or pass the extra length argument directly.
2013-10-27* makeint.h (STOP_SET): [SV 40371] Cast to unsigned char.Paul Smith2-1/+15
* tests/scripts/misc/utf8: Test variable names with characters >127. Fix suggested by Robert Bogomip <bob.bogo@milohedge.com>