Paul Smith
d472624f33
When we re-exec the master makefile in a jobserver environment, ensure
...
that MAKEFLAGS is set properly so the re-exec'd make runs in parallel.
See Savannah bug #33873 .
2011-09-18 23:39:26 +00:00
Paul Smith
0369a93825
We compute various values for vpath lookup the first time through
...
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-18 20:52:13 +00:00
Paul Smith
ef2b0425e7
Avoid certificate checks when getting PO files from translationproject.org
2011-09-17 01:45:09 +00:00
Paul Smith
a5c774a51b
Ensure variables defined in $(call ...) have global scope
...
Add a note about using #!/usr/bin/make -f to the manual.
Clean up the w32 subdirectory in the dist tarball.
2011-09-12 05:29:58 +00:00
Paul Smith
9a9f83e8b5
Ensure that -n takes precedence over -t.
...
Patch from Michael Witten <mfwitten@gmail.com>
2011-09-02 05:37:54 +00:00
Paul Smith
e4d5d43424
Save strings we're expanding in case an embedded eval causes them
...
to be freed (if they're the value of a variable that's reset for example).
See Savannah patch #7534
2011-08-29 16:20:19 +00:00
Paul Smith
b06b8c64a2
Fix another error related to whitespace handling in archives.
...
Newer version of VMS support strncasecmp() so update the config.h.
2011-06-12 16:22:04 +00:00
Paul Smith
f15efca811
Ensure private variables are not used when appending target-specific
...
variables. Fixes Savannah bug #32872 .
2011-05-07 20:03:49 +00:00
Paul Smith
b664d3a91d
Inverted the boolean test from what I wanted it to be. Added a
...
regression test to make sure this continues to work.
2011-05-07 14:36:11 +00:00
Eli Zaretskii
b5c065418f
job.c (construct_command_argv_internal): Don't assume shellflags
...
is always non-NULL. Escape-protect characters special to the
shell when copying the value of SHELL into new_line. Fixes
Savannah bug #23922 .
2011-05-07 08:29:13 +00:00
Paul Smith
bd6f63e563
Updated documentation to fix Savannah bugs #32058 and #31582
2011-05-02 15:11:23 +00:00
Paul Smith
6979e7e43b
Use the same algorithm for counting the number of words to sort as we
...
use to break up the list of words, so we're sure to get the same number.
Fixes Savannah bug #33125
2011-05-02 12:35:01 +00:00
Paul Smith
dc90160079
Extern the global declaration of stack_limit. Fixes Savannah bug #32753
2011-05-02 12:29:09 +00:00
Paul Smith
a81ee5209b
Avoid invoking glob() unless the filename has potential globbing
...
characters in it, for performance improvements.
2011-05-02 00:18:06 +00:00
Boris Kolpackov
15a79d723d
Delay caching of the file name in eval_makefile() until after all the
...
expansions and searches are complete. This fixes an assertion in a
situation where the MAKEFILES variable contains a file path that
contains tilde.
2011-04-29 15:27:39 +00:00
Paul Smith
b34438bee8
Add new feature: != shell assignment for portability with BSD make.
...
Feature submitted by David Wheeler.
2011-04-18 01:25:20 +00:00
Paul Smith
1454a04f81
* Fixups to the make man page
...
* Minor syntax cleanups in the manual
* In non-maintainer mode set NDEBUG to disable assert()
* Performance improvements in strcache:
Build Info 1000 2000 4000
3.82 -g 2.61s 8.85s 33.52s
3.82 -O2 1.90s 7.62s 27.82s
New -g (with asserts) 1.03s 2.31s 5.79s
New -O2 (no asserts) 0.65s 1.50s 3.52s
2011-02-21 07:30:11 +00:00
Paul Smith
ae2ab76fac
Check if the target-specific variable is the same as the global
...
variable, and if so don't try to update it. Savannah bug #31743 .
2010-11-30 14:48:52 +00:00
Paul Smith
391456aad7
Improve backslash/newline handling to adhere to POSIX requirements.
2010-11-06 21:56:23 +00:00
Paul Smith
a86d1693ba
Bump the version to 3.82.90.
...
Fix some doc bugs.
Implement the --trace flag.
Show filename/linenumber on error.
2010-08-29 23:05:26 +00:00
Paul Smith
3b1432d86a
Set shellflags to a reasonable default if it's not set already.
2010-08-29 04:50:26 +00:00
Eli Zaretskii
c3188c6f31
variable.c (define_automatic_variables) [__MSDOS__ || WINDOWS32]:
...
Remove trailing backslashes in $(@D), $(<D), etc., for consistency
with forward slashes. Fixes Savannah bug #30795 .
2010-08-27 15:01:42 +00:00
Paul Smith
5acda13ace
- Fix the NEWS file to be accurate
...
- Add oneshell to $(.FEATURES) (forgot that!)
- Fix Savannah bug #30612 : handling of archive references with >1 object
2010-08-14 02:50:14 +00:00
Paul Smith
036760a9fd
Fix Savannah bug #30723 : expand MAKEFLAGS before we re-exec after
...
rebuilding makefiles.
2010-08-10 07:35:34 +00:00
Eli Zaretskii
91be515567
w32/subproc/build.bat: Make all 3 cl.exe compile command lines
...
use the same /I switches. Fixes Savannah bug #30662 .
2010-08-07 08:55:17 +00:00
Eli Zaretskii
b6b6875986
function.c (func_shell) [WINDOWS32]: Reset just_print_flag
...
around the call to construct_command_argv, so that a temporary
batch file _is_ created when needed for $(shell). Fixes Savannah
bug #16362 .
2010-08-07 08:46:06 +00:00
Eli Zaretskii
8f029808af
Fix the DJGPP build.
...
configh.dos.template (HAVE_STRNCASECMP): Define.
2010-08-07 08:15:45 +00:00
Paul Smith
95f1a32d27
Release GNU make 3.82
...
- Update tests for Solaris bizarre-ness
- Update files for release
2010-07-28 05:39:50 +00:00
Eli Zaretskii
e954532d48
job.c (pid2str) [WINDOWS32]: Fix CPP conditionals for using %Id format.
2010-07-24 08:27:26 +00:00
Paul Smith
fba20a776d
- Many fixup patches from Savannah.
...
- Fix the test suite on Solaris (from Boris)
- Update the manual for .ONESHELL
2010-07-19 07:10:53 +00:00
Boris Kolpackov
df2fa7c5a5
Fix buffer overrun in concat().
2010-07-16 13:01:15 +00:00
Paul Smith
9903cda2a7
Update copyrights for 2010.
2010-07-13 01:20:10 +00:00
Paul Smith
ded9121846
Fixes to build_w32.bat for building with MSVC 64bit.
2010-07-12 20:32:59 +00:00
Eli Zaretskii
90b30b6e0e
*** empty log message ***
2010-07-12 17:17:45 +00:00
Paul Smith
7ba7dbca47
Add the beginning of the .ONESHELL special feature.
...
Original patch by David Boyce. Modified by Paul Smith.
2010-07-12 05:23:19 +00:00
Eli Zaretskii
b85b7e0a55
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.
Savannah bug #27809 . Patch by Ozkan Sezer <sezeroz@gmail.com>
2010-07-09 12:05:10 +00:00
Eli Zaretskii
587588c1fa
Fix Savannah bug #30312 .
...
function.c (abspath): Support absolute file names in UNC format.
2010-07-09 11:40:19 +00:00
Eli Zaretskii
4e4d8f246f
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.
Savannah bug #27809 . Patch by Ozkan Sezer <sezeroz@gmail.com>
2010-07-09 11:10:04 +00:00
Paul Smith
c7b469f0f3
- Enhance .POSIX to set -e when invoking shells, as demanded by a
...
backward-incompatible change in the 2008 POSIX specification.
- Add the .SHELLFLAGS variable so people can choose their own shell flags.
- Add tests for this.
- Add documentation for this.
2010-07-06 06:37:42 +00:00
Paul Smith
c78b7265bd
Fixups for warnings on Windows (esp 64bit).
2010-07-05 18:32:03 +00:00
Paul Smith
fc644b4c45
Do not consider filenames that contain parens but don't END in a paren,
...
to be an archive group. Fixes Savannah bug #28525 .
2010-07-03 16:45:45 +00:00
Paul Smith
97f106fa10
- Add whitespace to command line invocation in features/recursion
...
- Set up .FEATURES with separate calls for optional features, as some
compilers don't like conditionals inside macro invocations.
2010-07-01 07:16:00 +00:00
Paul Smith
7746a1f74f
- Rename strieq() to patheq() for clarity.
...
- Convert xmalloc/memset pairs to xcalloc.
2010-07-01 05:59:08 +00:00
Eli Zaretskii
c0239cdbfa
*** empty log message ***
2009-12-11 15:55:16 +00:00
Eli Zaretskii
b4cec7790f
*** empty log message ***
2009-12-11 12:03:05 +00:00
Paul Smith
b6f45ddc53
Add VMS enhancements from Hartmut Becker.
2009-11-16 02:31:23 +00:00
Boris Kolpackov
fe43fa9de3
Implement linker-compatible library search.
2009-11-12 16:42:36 +00:00
Paul Smith
5f188b39a4
Update copyright years.
2009-10-25 18:56:44 +00:00
Paul Smith
76d2d2ca41
Fix fat-finger bug that left implicit rules with identical stem lengths
...
being sorted indeterminately.
2009-10-25 18:34:43 +00:00
Paul Smith
4e51b6d9a4
New command line option: --eval=STRING will cause STRING to be
...
evaluated as a makefile statement before the first makefile is
read.
2009-10-25 00:46:52 +00:00
Boris Kolpackov
131f115730
Get the old behavior for a situation when no makefile is found in a directory.
2009-10-22 14:29:22 +00:00
Boris Kolpackov
baee33eb0f
Minor fix and code rework.
2009-10-07 09:34:42 +00:00
Boris Kolpackov
bd2d124f27
Fix savannah bug 25780. Optimize things a bit.
2009-10-06 12:36:29 +00:00
Boris Kolpackov
4254e88cfa
Implement the new undefine directive.
2009-10-06 06:56:57 +00:00
Boris Kolpackov
174e910a1d
Performance improvements
2009-10-05 14:40:18 +00:00
Paul Smith
f87715a62c
- Include <alloca.h> even on non-__GNUC__ systems.
...
- Add some tests for unresolved bugs.
2009-10-03 20:08:20 +00:00
Boris Kolpackov
56653d8524
Fix Savannah bugs #15110 , #25493 , #12686 , and #17740 .
2009-09-30 09:54:26 +00:00
Paul Smith
f907a4d90c
- Update manual description for pattern rule search algorithm
...
- Add new "-all" flag to the test suite to run tests that don't pass yet
- Add some non-passing tests
- Fix from Andreas Buening for OS/2.
2009-09-28 23:08:49 +00:00
Boris Kolpackov
f5891a26d8
Implement the shortest stem first search order for pattern-specific variables and pattern rules.
2009-09-28 12:31:55 +00:00
Eli Zaretskii
bf1794767e
Fix typo.
2009-09-27 17:56:24 +00:00
Eli Zaretskii
5d19c91605
* 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 recursively invocate. 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-27 16:22:50 +00:00
Paul Smith
8688ef20cf
- Add static pattern targets to the string cache.
...
- Use specific free_*() calls where appropriate.
2009-09-27 02:15:36 +00:00
Paul Smith
44ac2cdb4d
Fix some memory leaks, found with valgrind.
2009-09-26 23:01:55 +00:00
Boris Kolpackov
48045f99e5
Performance improvement.
2009-09-25 15:51:11 +00:00
Boris Kolpackov
5973926ce6
Merge three parallel arrays into one. Make sure sufficient space is allocated.
2009-09-25 15:44:27 +00:00
Paul Smith
d65b267e4a
- Fix broken handling of order-only prereqs in secondary expansion
...
of implicit rules.
- Fix leaked memory when dealing with implicit rule chains that
have file variables or pattern variables.
2009-09-24 20:59:22 +00:00
Paul Smith
0afbbf8595
- Rework secondary expansion so we only defer it if there's a possibility
...
it might be needed: for most situations we parse prereqs immediately as
we used to. Reduces memory usage.
- Fixes Savannah bug #18622 .
2009-09-24 02:41:44 +00:00
Paul Smith
8f30b68871
- Add xcalloc() and call it
...
- Fix memory errors found by valgrind
- Remove multi_glob() and empower parse_file_seq() to do its job:
the goal here is to remove the confusing reverse/re-reverse we do on
the file lists: needed for future fixes.
- Add a prefix arg to parse_file_seq()
- Make concat() variadic so it can take arbitrary #'s of strings
2009-09-16 17:07:01 +00:00
Eli Zaretskii
5abe477620
*** empty log message ***
2009-09-14 18:20:02 +00:00
Paul Smith
958ea92eb8
- Fix Savannah bug #21824 : don't loop through NULL cmds pointer
...
- Fix Savannah bugs #24509 , 18963: doc enhancements
2009-09-12 21:28:33 +00:00
Eli Zaretskii
70c726c875
* function.c (windows32_openpipe): Update envp after calling
...
sync_Path_environment.
2009-08-31 17:54:11 +00:00
Paul Smith
7deb42aafd
- Fix Savannah bug #27093
...
- Fix Savannah bug #27143
- Fix Savannah bug #23960
- Fix Savannah bug #27148
2009-08-02 16:05:42 +00:00
Paul Smith
e2f16fdf45
Changes from Ralf Wildenhues.
2009-08-01 22:09:40 +00:00
Eli Zaretskii
139c28ae69
function.c (func_realpath) [!HAVE_REALPATH]: Require the file to
...
exist, as realpath(3) does where it's supported.
2009-07-04 11:34:32 +00:00
Eli Zaretskii
1471af2de2
* 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.
2009-07-04 11:15:14 +00:00
Paul Smith
56f70324e8
- Forgot changelog for fix 13529
2009-06-14 06:08:54 +00:00
Paul Smith
dceb954f9c
- Fix Savannah bug #13401
2009-06-13 23:10:52 +00:00
Paul Smith
38b23bc3f0
- Fixes Savannah bug #18435
2009-06-13 22:47:40 +00:00
Paul Smith
bf9822658f
- Fix Savannah bug 17825
...
- Fix Savannah bug 21231
2009-06-13 21:21:48 +00:00
Paul Smith
c8840352ac
- Fix Savannah bug #19108
...
- Fix Savannah bug #17752
- Test suite:
* When tests fail keep a "run" file containing the command invoked.
* Support for the Valgrind "memcheck" and "massif" tools.
2009-06-10 02:21:09 +00:00
Paul Smith
d4ee001292
- Fix Savannah bug #18124
...
- Fix Savannah bug #17521
- Fix Savannah bug #16401
- Fix Savannah bug #16469
- Fix Savannah bug #16473
2009-06-09 15:35:38 +00:00
Paul Smith
a72bff7cb3
- Fix Savannah bug #24622
2009-06-07 18:16:15 +00:00
Paul Smith
0b30c8d9ce
- Add a new test suite for LIBPATTERNS
...
- Fix Savannah bug #21198
- Fix Savannah bug #21823
- Fix Savannah bug #22010
2009-06-07 17:40:06 +00:00
Paul Smith
668af46980
Add attribution.
2009-06-06 23:23:36 +00:00
Paul Smith
b9f831b858
- Work around a bug in glibc glob(3), by avoiding GLOB_NOCHECK.
...
- Fix issue in very parallel builds found building glibc.
2009-06-06 23:16:46 +00:00
Paul Smith
71385e1225
- Add forgotten variable/define test suite
...
- Skip initial whitespace including formfeeds, vertical tab, etc.
- Add tests for that
- Fix the variable/SHELL test; it was wrong!
2009-06-05 01:17:29 +00:00
Paul Smith
81f3e4babd
- Modify access of config and gnulib Savannah modules to use GIT
...
- Fix Savannah bug #24655 .
- Fix Savannah bug #24588 .
- Fix Savannah bug #24277 .
- Fix Savannah bug #25697 .
- Fix Savannah bug #25694 .
- Fix Savannah bug #25460 .
- Fix Savannah bug #26207 .
- Fix Savannah bug #25712 .
- Fix Savannah bug #26593 .
- Fix various doc issues.
2009-06-04 06:30:27 +00:00
Paul Smith
5b4d419476
Add 'private' variable modifier, feature submitted by Ramon Garcia.
...
Rework the parser for variables to allow multiple modifiers and also
allow for variables and targets with modifier names, like "export" and
"private".
2009-05-26 01:31:40 +00:00
Paul Smith
7b16a8e3ca
We had the incorrect ISBN in the manual; not sure what happened here
...
but the FSF confirmed that we had the wrong one.
2009-05-24 19:06:04 +00:00
Paul Smith
14f3f501bc
Found this change in an old CVS workspace: rewrite savestring() to the
...
more standard xstrndup().
2009-05-24 18:31:18 +00:00
Eli Zaretskii
3fd62c76c2
(convert_Path_to_windows32): Fix last change. Fixes Savannah bug #25412 .
2009-03-14 16:31:57 +00:00
Eli Zaretskii
27ef86f6b1
<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-14 14:42:06 +00:00
Eli Zaretskii
656b15a404
* function.c (func_shell): Don't close pipedes[1] if it is -1.
...
Fixes Savannah bug #20495 .
2009-03-07 17:30:30 +00:00
Eli Zaretskii
f8f3b9005b
* build_w32.bat (GCCBuild): Use "-gdwarf-2 -g3" instead of
...
"-gstabs+ -ggdb3".
* w32/subproc/build.bat (GCCBuild): Likewise.
2008-09-30 11:26:16 +00:00
Eli Zaretskii
4c995f262a
* 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-09-30 11:19:58 +00:00
Eli Zaretskii
c7f2c384ee
*** empty log message ***
2008-05-31 08:06:44 +00:00
Paul Smith
b50116c4ae
Manual typo.
...
New translation.
2008-05-18 15:11:39 +00:00
Paul Smith
b23b0c3552
Update the translation project location for PO files (again)
...
Apply fix for Savannah bug #22379 .
2008-03-28 03:46:39 +00:00
Eli Zaretskii
bb7cb05da5
*** empty log message ***
2008-01-26 13:51:55 +00:00
Eli Zaretskii
2750526aa5
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 12:07:36 +00:00