summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)AuthorFilesLines
2013-05-13Add a new variable: GNUMAKEFLAGSPaul Smith1-0/+24
This allows you to write portable makefiles that set GNU make-specific command line options in the environment or makefile: add them to GNUMAKEFLAGS instead of MAKEFLAGS and they will be seen by GNU make but ignored by other implementations of make.
2013-05-13Use level o_env_override for MAKEFLAGS so it's reset even with -e.Paul Smith1-14/+10
Fixes Savannah bug #2216.
2013-05-13Add new --trace[=MODE] flags, with --trace=dirPaul Smith2-8/+5
This mode replaces the previous heuristic setting enabled with -O, where we would log directory enter/leave for each synchronized output. Now we only do that if --trace=dir is given.
2013-05-05cosmetics: fix few innocuous typosStefano Lattarini4-9/+9
Most of these were found using Lucas De Marchi's 'codespell' tool. * ChangeLog: Fix minor typos. * ChangeLog.2: Likewise. * README.Amiga: Likewise. * TODO.private: Likewise. * function.c: Likewise. * glob/glob.h: Likewise. * job.c: Likewise. * main.c: Likewise. * readme.vms: Likewise. * remake.c: Likewise. * tests/ChangeLog: Likewise. * tests/NEWS: Likewise. * tests/README: Likewise. * tests/scripts/variables/private: Likewise. * vmsdir.h: Likewise. * signame.c: Likewise. While at it, improve line wrapping in the touched comment. Copyright-paperwork-exempt: yes Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
2013-05-05Rename the -O "job" mode to "line" and "make" to "recurse".Paul Smith2-4/+5
2013-05-05Ensure command lines are written synchronously with -O.Paul Smith2-17/+17
If output-sync is enabled, have make write the command line to the temp file instead of printing it directly to the screen to ensure that the output is ordered properly. Also, remove extraneous enter/leave operations by having them printed directly when dumping temp file output.
2013-05-04Add memory allocation cleanup to loadable objects.Paul Smith2-1/+7
Add gmk_alloc() and gmk_free() functions so loadable objects can access our memory model. Also provide a more extensive example in the manual.
2013-05-04Improve sync handling for -Ojob/-Otarget and recursion.Paul Smith2-0/+15
If we are not going to sync a command line then dump any collected output first to preserve ordering. Do some code cleanup: * Move the handle init to a separate function. * Move the temp file truncation to the output function. * Remember whether we sync in a variable for readability. * Handle EINTR and short writes in child_out(). * Always call sync_output() in case output_sync was changed due to error.
2013-05-03Fix interfacing with and remaking dynamic objects on MS-Windows.Eli Zaretskii2-2/+7
load.c (load_object, load_file): Accept an additional argument DLP and return in it a pointer that can be used to unload the dynamic object. read.c (eval): Call load_file with an additional argument, and record the pointer returned there in the 'struct file' object of dynamic objects in that object's 'struct file'. commands.c (execute_file_commands): Unload dynamic objects before remaking them, to avoid failure to remake if the OS doesn't allow overwriting objects that are in use. filedef.h (struct file): New member dlopen_ptr. gnumake.h (GMK_EXPORT): Define to dllexport/dllimport decorations for Windows and to nothing on other platforms. (gmk_eval, gmk_expand, gmk_add_function): Add GMK_EXPORT qualifier to prototypes. makeint.h (MAIN): Define before including gnumake.h, to give correct dllexport decorations to exported functions. (load_file): Adjust prototype. loadapi.c: Don't include gnumake.h, since makeint.h already includes it, and takes care of defining MAIN before doing so. build_w32.bat (LinkGCC): Produce an import library for functions exported by Make for loadable dynamic objects. w32/compat/posixfcn.c (dlclose): New function. w32/include/dlfcn.h (dlclose): Add prototype. scripts/features/load: Fix signatures of testload_gmk_setup and explicit_setup, to bring them in line with the documentation.
2013-04-28Ensure error messages are printed with sync'd output.Paul Smith2-6/+3
Enhance the child_error() function so that it will write error output to the child's sync output buffer, if it exists. If it doesn't the output goes to stdout/stderr.
2013-04-28Small cleanups and fixes.Paul Smith1-5/+5
2013-04-28Add support for per-job output sync.Paul Smith2-15/+101
A new flag to the -O/--output-sync, "job", selects a per-job (that is, per line of a recipe) output synchronization. To support this move the close of the temp file out of the sync_output() function and don't do it until we free the child, since we may call sync_output() multiple times in a given recipe. When we set up for a new temp file, if we're in per-job mode we truncate the file and seek to the beginning to re-use it for every job.
2013-04-15Change the arg option for -O from numeric to string.Paul Smith2-2/+6
2013-04-15Modify output-sync tests to be more reliable.Paul Smith2-25/+67
2013-04-14Handle test timeouts in a more understandable way.Paul Smith2-28/+36
2013-04-14Rename the "parallel-sync" option to "output-sync".Paul Smith1-26/+16
2013-04-14Initial patch for output synchronization. See Savannah bug #33138.Frank Heckenbach1-0/+143
Based on work by David Boyce <David.S.Boyce@gmail.com>.
2013-02-25Expand the loadable object support.Paul Smith5-48/+157
Provide a simple API for loaded objects to interact with GNU make. I still won't guarantee that this API won't change but it's much closer to something that's supported and provides easy-to-use interfaces with a public header file.
2013-01-20Allow dynamically loaded objects to be rebuilt by make.Paul Smith2-7/+36
2013-01-13[SV #37878] Add a check for targets with parens that are not archives.Paul Smith2-0/+11
2013-01-13[SV #38051] Recover all MAKEFLAGS after makefile rebuild step is complete.Paul Smith2-22/+42
Patch suggested by Frank Heckenbach <f.heckenbach@fh-soft.de>.
2013-01-13Add ChangeLog entries for Git migration.Paul Smith1-0/+5
2013-01-12Ensure parallel test works properly.Paul Smith1-4/+5
2013-01-12Modify .gitignore for proper formatting.Paul Smith1-2/+0
2013-01-12Rename CVS ignore files to .gitignorePaul Smith1-0/+0
2012-10-29Implement new "load" directive.Paul Smith5-16/+117
Provides support for dynamically loadable objects in GNU make, as a "technology preview".
2012-10-28Remove extraneous close().Paul Smith1-3/+0
2012-09-10Force intermediate targets to be considered if their non-intermediatePaul Smith1-0/+17
parent needs to be remade. Fixes Savannah bug #30653.
2012-09-09Get error messages in the C locale for comparision with make output.Paul Smith2-0/+10
Fixes Savannah bug #35764.
2012-09-09Verify that backslashes before non-special characters are preserved.Paul Smith2-1/+13
2012-09-09Ignore UTF-8 BOMs. See Savannah bug #36529.Paul Smith2-0/+14
2012-09-09When .POSIX: is specified use POSIX-standard macro values by default.Paul Smith2-1/+29
2012-03-05Simplify copyrights using ranges of years.Paul Smith6-18/+6
The new GNU Maintainer's Manual allows the use of year ranges in certain situations; take advantage of this simplification.
2012-03-04Improve handling for escaped colons in prerequisite lists.Paul Smith3-1/+23
Fixes Savannah bug #12126 and bug #16545
2012-03-04Ensure appending private variables in pattern-specific target variables.Paul Smith2-0/+37
Fixes Savannah bug #35468.
2012-03-04Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines.Paul Smith37-94/+94
Fixes Savannah bug #34530.
2012-03-03Ensure that .ONESHELL works with .SHELLFLAGS options containing whitespace.Paul Smith3-0/+27
See Savannah bug #35397.
2012-03-03Fix Savannah bug #35410: handle escape chars in filter/filter-outPaul Smith4-10/+61
Also add a valgrind suppression file for Guile-enabled make.
2012-03-03Modify backslash/newline handling for POSIX.Paul Smith2-15/+46
We fixed Savannah 16670 but that broke previously-working makefiles that relied on the GNU make behavior. The POSIX behavior doesn't seem to me to be better, and can be obtained using GNU make as well, so put it back as the default behavior and require .POSIX to get the POSIX behavior. Add a new section to the manual discussing backslash/newline handling. Update the test suite.
2012-01-30Add support for "::=" simple assignment operator.Paul Smith3-1/+72
The next POSIX standard will define "::=" to have the same behavior as GNU make's ":=", so add support for this new operator.
2012-01-29Create a new function $(file ...)Paul Smith3-0/+99
2012-01-16Update copyright notices.Paul Smith6-11/+18
2012-01-15Add GNU Guile as an optional embedded scripting language for make.Paul Smith1-0/+81
On configure-enabled systems, configure will detect Guile installed (using pkg-config, which is how GNU Guile is distributed) and enable it if so. On all non-configure-enabled systems, currently, the default is for Guile support to be disabled.
2011-12-10Add prerequisites to ensure ordering of results.Paul Smith2-2/+8
2011-11-14Be sure to start parsing prereqs in the right place even if there arePaul Smith2-0/+14
escape characters (backslashes) in the target name. See Savannah bug #33399
2011-09-18When we re-exec the master makefile in a jobserver environment, ensurePaul Smith2-0/+20
that MAKEFLAGS is set properly so the re-exec'd make runs in parallel. See Savannah bug #33873.
2011-09-18We compute various values for vpath lookup the first time throughPaul Smith2-40/+31
and store them in static variables; however one value (std_dirs) was not being stored statically so the second time through it was not set. Fixes Savannah bug #32511
2011-09-12Ensure variables defined in $(call ...) have global scopePaul Smith2-0/+16
Add a note about using #!/usr/bin/make -f to the manual. Clean up the w32 subdirectory in the dist tarball.
2011-09-02Ensure that -n takes precedence over -t.Paul Smith2-1/+21
Patch from Michael Witten <mfwitten@gmail.com>
2011-08-29Save strings we're expanding in case an embedded eval causes themPaul Smith2-23/+29
to be freed (if they're the value of a variable that's reset for example). See Savannah patch #7534