Age | Commit message (Collapse) | Author | Files | Lines |
|
string into the strcache. As a side-effect, many more structure members and
function arguments can/should be declared const.
As mentioned in the changelog, unfortunately measurement shows that this
change does not yet reduce memory. The problem is with secondary expansion:
because of this we store all the prerequisites in the string cache twice.
First we store the prerequisite string after initial expansion but before
secondary expansion, then we store each individual file after secondary
expansion and expand_deps(). I plan to change expand_deps() to be callable
in either context (eval or snap_deps) then have non-second-expansion
targets call expand_deps() during eval, so that we only need to store that
dependency list once.
|
|
A few changes from char* to void* where appropriate, and removing of
unnecessary casts.
Much more work on const-ifying the codebase. This round involves some code
changes to make it correct. NOTE!! There will almost certainly be problems
on the non-POSIX ports that will need to be addressed after the const changes
are finished: they will need to be const-ified properly and there may need to
be some changes to allocate memory, etc. as well.
The next (last?) big push for this, still to come, is const-ifying the
filenames in struct file, struct dep, etc. This will allow us to store file
names in the string cache and finally resolve Savannah bug #15182 (make uses
too much memory), among other advantages.
|
|
16304, 16468, 16577, 17701, 17880, 16051, 16652, 16698
Plus some from the mailing list.
Imported a patch from Eli to allow Cygwin builds to support DOS-style
pathnames.
|
|
- Add more warnings.
- Rename variables that mask out-scope vars with the same name.
- Remove all casts of return values from xmalloc, xrealloc, and alloca.
- Remove casts of the first argument to xrealloc.
- Convert all bcopy/bzero/bcmp invocations to use memcp/memmove/memset/memcmp.
|
|
|
|
expanding, and use that info when generating error messages instead of
the file info, where appropriate.
|
|
|
|
Added new file strcache.c to various non-UNIX makefiles and build scripts.
|
|
Savannah bug #15182, but not much uses it yet. Coming shortly.
- Added short-circuiting $(and ..) and $(or ...) functions.
|
|
I decided this feature was too impacting to make the permanent default
behavior. This set of changes makes the default behavior of make the
old behavior (no second expansion). If you want second expansion, you
must define the .SECONDEXPANSION: special target before the first target
that needs it.
This set of changes ONLY fixes explicit and static pattern rules to work
like this. Implicit rules still have second expansion enabled all the
time: I'll work on that next.
Note that there is still a backward-incompatibility: now to get the old
SysV behavior using $$@ etc. in the prerequisites list you need to set
.SECONDEXPANSION: as well.
|
|
Fix some regression tests to (hopefully) work better on Windows.
|
|
Don't print errors if "include" is specified with no arguments.
New test suite for the $(shell ...) function.
|
|
symlink even if it is "dangling" (it doesn't resolve to a real file).
|
|
references in target definition lines.
|
|
check for this and exit with an error.
The closeout.c version from gnulib pulls in too much other stuff, and
gnulib requires an ANSI C 89 compliant compiler, while GNU make (so far)
still wants to work on K&R.
|
|
* New function: $(info ...)
* Disallow $(eval ...) to create prereq relationships inside command scripts
(caused core dumps)
* Try to allow more tests to succeed in Windows/DOS by sanitizing CRLF and \
* Various bug fixes and code cleanups (see the ChangeLog entry)
|
|
rules, static pattern rules and implicit rules.
|
|
|
|
POSIX requires that the value of SHELL in the makefile NOT be exported
to sub-commands. Instead, the value in the environment when make was
invoked should be passed to the environment of sub-commands. Note that
make still uses SHELL to _run_ sub-commands; it just doesn't change the
value of the SHELL variable in the environment of sub-commands.
As an extension to POSIX, if the makefile explicitly exports SHELL then
GNU make _will_ use it in the environment of sub-commands.
|
|
Windows: allow users to set SHELL to cmd.exe and have it behave as if no
UNIX shell were found.
|
|
- OS/2 Patches
- OpenVMS updates
- Sanitize the handling of -include/sinclude with and without -k
- Fix the setting of $< for order-only rules.
|
|
Use autoconf's test to set HAVE_ANSI_COMPILER and check that instead.
|
|
Fix a problem compiling on old, pre-ANSI systems. getloadavg test is still
broken, but make builds.
Document a breakage on SunOS 4.x systems.
|
|
Remove sample code from make.h I accidentally left behind.
|
|
Small fixes for W32 (from Jonathan Grant <jg-make@jguk.org>)
Maintainer enhancements to clean up the tree.
|
|
|
|
This commits a number of changes from Earnie Boyd that allows GNU make
to build for MINGW32 systems. Only missing from this commit are the
changes to configure.in etc.; I'm waiting for Earnie to sign papers for
those new files.
Also not here is any README.mingw32 etc. which would explain how to use
this port.
|
|
|
|
Also a small patch from Hartmut Becker <Hartmut.Becker@compaq.com> for VMS.
|
|
Implement a fix for bug # 2169: too many OSs, even major OSs like Solaris,
don't properly implement SA_RESTART: important system calls like stat() can
still fail when SA_RESTART is set. So, forget the BROKEN_RESTART config
check and get rid of atomic_stat() and atomic_readdir(), and implement
permanent wrappers for EINTR checking on various system calls (stat(),
fstat(), opendir(), and readdir() so far).
|
|
Fix hash.h typos (only noticed when using Windows).
Update .cvsignore files.
|
|
Fix bug #103: allow ifdef, export, and unexport to expand their arguments.
|
|
Add -B option docs.
Add .VARIABLES variable.
Add a few new tests.
Add a new translation: Swedish
|
|
|
|
GNU make. Also he provides some other performance fixups after doing
some profiling of make on large makefiles.
Modify the test suite to allow the use of Valgrind to find memory problems.
|
|
New version of the manual, put into the doc subdir.
Enhancements: $(eval ...) and $(value ...) functions, various bug
fixes, etc. See the ChangeLog.
More to come.
|
|
properly.
Fix configure: allow cross-compilation; fix getloadavg (still needs _lots_
of work!)
Let $(call ...) functions to be self-referencing. Lets us do transitive
closures, for example.
|
|
We're using Gettext's "external" feature to avoid including the intl
code in the GNU make distribution.
|
|
New translation files.
Fix for @+ inside define macros being applied too widely.
Various other bug fixes.
|
|
|
|
|
|
|
|
* Fix compilation on Linux; use libintl.h and not gettext.h when using
the system gettext.
|
|
|
|
* Added a new version of the German translation file.
|
|
* Define COFLAGS to avoid unknown variable warning.
* Fix some usec problems on UnixWare.
* Don't remove .INTERMEDIATE targets specified on the command line.
|
|
* Various cleanups.
|
|
|
|
|
|
|