summaryrefslogtreecommitdiff
path: root/variable.h
AgeCommit message (Collapse)AuthorFilesLines
2014-09-30Update Copyright statements for 2014.Paul Smith1-1/+1
2014-07-07* maintMakefile, various: Improve constification of the codebase.Paul Smith1-2/+2
2013-11-23[SV 40361] Don't use vsnprintf(), which is an ISO C99 function.Paul Smith1-3/+3
* 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-05Sanitize the registered function interface.Paul Smith1-3/+3
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.
2013-05-17Update copyright for changes in 2013.Paul Smith1-1/+1
2013-02-25Expand the loadable object support.Paul Smith1-1/+1
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-20Rename struct floc to typedef gmk_floc as an externally scoped symbol.Paul Smith1-30/+30
2012-03-05Simplify copyrights using ranges of years.Paul Smith1-3/+1
The new GNU Maintainer's Manual allows the use of year ranges in certain situations; take advantage of this simplification.
2012-03-04Create a new CSTRLEN (constant string length) macro, and use it.Paul Smith1-1/+1
2012-03-04Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines.Paul Smith1-3/+3
Fixes Savannah bug #34530.
2012-01-30Add support for "::=" simple assignment operator.Paul Smith1-3/+3
The next POSIX standard will define "::=" to have the same behavior as GNU make's ":=", so add support for this new operator.
2012-01-16Create a new internal interface for defining new make functions.Paul Smith1-0/+3
This allows us to create new functions without changing function.c. You still have to modify the GNU make code (for now) though: this is simply a preliminary step to possibly allowing make to load modules. Modify the Guile integration to use this method rather than ifdefs in function.c.
2012-01-16Update copyright notices.Paul Smith1-3/+3
2011-04-18Add new feature: != shell assignment for portability with BSD make.Paul Smith1-1/+4
Feature submitted by David Wheeler.
2010-11-06Improve backslash/newline handling to adhere to POSIX requirements.Paul Smith1-1/+2
2010-07-13Update copyrights for 2010.Paul Smith1-2/+2
2009-10-25Update copyright years.Paul Smith1-2/+2
2009-10-25Various simple code cleanups.Paul Smith1-0/+6
2009-10-06Implement the new undefine directive.Boris Kolpackov1-0/+9
2009-06-04- Modify access of config and gnulib Savannah modules to use GITPaul Smith1-0/+1
- 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-05-26Add 'private' variable modifier, feature submitted by Ramon Garcia.Paul Smith1-2/+7
Rework the parser for variables to allow multiple modifiers and also allow for variables and targets with modifier names, like "export" and "private".
2007-07-04* Update to GPLv3Paul Smith1-4/+4
* Update copyright to 2007 * Fix download URL for translation files (thanks to Thiemo Seufer)
2007-03-20This is a major update, which switches virtually every allocated-but-not-freedPaul Smith1-9/+13
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.
2006-11-18Fix from Eli for incorrect value of $(MAKE) on Cygwin.Paul Smith1-8/+8
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.
2006-10-01Fixed a number of documentation bugs, plus some build/install issues:Paul Smith1-1/+1
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.
2006-04-07Code cleanup: Remove all references to PARAMS() & ansi2knr.Paul Smith1-42/+48
2006-02-14Some memory leak cleanups (found with valgrind).Paul Smith1-0/+1
2006-02-11Last of the copyright updates.Paul Smith1-1/+2
2006-02-11Update copyright and license notices on all files.Paul Smith1-13/+11
Added new file strcache.c to various non-UNIX makefiles and build scripts.
2005-02-27Implementation of the second expansion in explicitBoris Kolpackov1-0/+1
rules, static pattern rules and implicit rules.
2004-09-21Fix some bugs in variable pattern substitution (e.g. $(VAR:A=B)),Paul Smith1-1/+1
reported by Markus Mauhart <qwe123@chello.at>. One was a simple typo; to fix the other we call patsubst_expand() for all instances of variable substitution, even when there is no '%'. We used to call subst_expand() with a special flag set in the latter case, but it didn't work properly in all situations. Easier to just use patsubst_expand() since that's what it is.
2003-05-02- Fix bug #1405: allow multiple pattern-specific variables to match a target.Paul Smith1-7/+21
- Fix some uncleanliness about the implementation of patterns-specific vars. - Some enhancements to the OS/2 port.
2003-01-30Enhancement (bug #2407) Make error messages more clear.Paul Smith1-1/+1
2002-10-25Fix eval bugs 1516 and 1517.Paul Smith1-0/+2
2002-08-08Incorporate some VMS fixes.Paul Smith1-0/+1
Add -B option docs. Add .VARIABLES variable. Add a few new tests. Add a new translation: Swedish
2002-08-01New variables, .VARIABLES and .TARGETS.Paul Smith1-4/+6
2002-07-11Install Greg McGary's patches to port the id-utils hashing functions toPaul Smith1-5/+10
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.
2002-07-08Major updates in preparation for 3.80.Paul Smith1-1/+16
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.
2002-05-10Fix Debian bug #144306: pass target-specific variables into the environmentPaul Smith1-3/+23
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.
2001-01-21Some bug fixes and document updates.Paul Smith1-1/+4
2000-03-27* A large number of fixes/enhancements. See the ChangeLog.Paul Smith1-10/+2
* Added a new version of the German translation file.
2000-02-07* Fix for dir.c from Andreas Schwab.filedef-cleanup-basePaul Smith1-2/+10
* Fix += target-specific variables: if your direct parent doesn't have a setting for the variable but his parent does, you'll get recursive expansion errors.
2000-02-05* Fix PR/1407.Paul Smith1-7/+25
* Keep filename/lineno information for variables, for debugging.
1999-11-17* Many cleanups and bugfixes.Paul Smith1-1/+3
* New handling of += in target-specific variables.
1999-03-05* Update FSF address info in copyright notices.Paul Smith1-1/+2
* Update maintainers build process; remove GNUmakefile. Require builders to run automake && autoreconf by hand. * Use AC_SUBST_FILE to get the maintMakefile included, rather than GNU make's include directive, which conflicts with automake 1.4's include directive.
1998-10-03Checkpoint changes. Bug fixes, mostly.Paul Smith1-1/+1
1998-07-30GNU make release 3.77.Paul Smith1-4/+11
1996-03-20Tue Mar 19 20:21:34 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>Roland McGrath1-24/+33
Merged VMS port from Klaus Kaempf <kkaempf@didymus.rmi.de>. * make.h (PARAMS): New macro. * config.h-vms: New file. * makefile.com: New file. * makefile.vms: New file. * readme.vms: New file. * vmsdir.h: New file. * vmsfunctions.c: New file. * vmsify.c: New file. * file.h: Renamed to filedef.h to avoid conflict with VMS system hdr. * ar.c: Added prototypes and changes for VMS. * commands.c: Likewise. * commands.h: Likewise. * default.c: Likewise. * dep.h: Likewise. * dir.c: Likewise. * expand.c: Likewise. * file.c: Likewise. * function.c: Likewise. * implicit.c: Likewise. * job.c: Likewise. * job.h: Likewise. * main.c: Likewise. * make.h: Likewise. * misc.c: Likewise. * read.c: Likewise. * remake.c: Likewise. * remote-stub.c: Likewise. * rule.c: Likewise. * rule.h: Likewise. * variable.c: Likewise. * variable.h: Likewise. * vpath.c: Likewise. * compatMakefile (srcs): Rename file.h to filedef.h.
1994-03-23entered into RCSRoland McGrath1-1/+2
1992-12-22Formerly variable.h.~9~Roland McGrath1-1/+1