summaryrefslogtreecommitdiff
path: root/devel/gmake
AgeCommit message (Collapse)AuthorFilesLines
2013-10-23Update to 4.0:wiz10-169/+14
Version 4.0 (09 Oct 2013) A complete list of bugs fixed in this version is available here: http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=101&set=custom * WARNING: Backward-incompatibility! If .POSIX is specified, then make adheres to the POSIX backslash/newline handling requirements, which introduces the following changes to the standard backslash/newline handling in non-recipe lines: * Any trailing space before the backslash is preserved * Each backslash/newline (plus subsequent whitespace) is converted to a single space * New feature: GNU Guile integration This version of GNU make can be compiled with GNU Guile integration. GNU Guile serves as an embedded extension language for make. See the "Guile Function" section in the GNU Make manual for details. Currently GNU Guile 1.8 and 2.0+ are supported. In Guile 1.8 there is no support for internationalized character sets. In Guile 2.0+, scripts can be encoded in UTF-8. * New command line option: --output-sync (-O) enables grouping of output by target or by recursive make. This is useful during parallel builds to avoid mixing output from different jobs together giving hard-to-understand results. Original implementation by David Boyce <dsb@boyski.com>. Reworked and enhanced by Frank Heckenbach <f.heckenbach@fh-soft.de>. Windows support by Eli Zaretskii <eliz@gnu.org>. * New command line option: --trace enables tracing of targets. When enabled the recipe to be invoked is printed even if it would otherwise be suppressed by .SILENT or a "@" prefix character. Also before each recipe is run the makefile name and linenumber where it was defined are shown as well as the prerequisites that caused the target to be considered out of date. * New command line option argument: --debug now accepts a "n" (none) flag which disables all debugging settings that are currently enabled. * New feature: The "job server" capability is now supported on Windows. Implementation contributed by Troy Runkel <Troy.Runkel@mathworks.com> * New feature: The .ONESHELL capability is now supported on Windows. Support added by Eli Zaretskii <eliz@gnu.org>. * New feature: "!=" shell assignment operator as an alternative to the $(shell ...) function. Implemented for compatibility with BSD makefiles. Note there are subtle differences between "!=" and $(shell ...). See the description in the GNU make manual. WARNING: Backward-incompatibility! Variables ending in "!" previously defined as "variable!= value" will now be interpreted as shell assignment. Change your assignment to add whitespace between the "!" and "=": "variable! = value" * New feature: "::=" simple assignment operator as defined by POSIX in 2012. This operator has identical functionality to ":=" in GNU make, but will be portable to any implementation of make conforming to a sufficiently new version of POSIX (see http://austingroupbugs.net/view.php?id=330). It is not necessary to define the .POSIX target to access this operator. * New feature: Loadable objects This version of GNU make contains a "technology preview": the ability to load dynamic objects into the make runtime. These objects can be created by the user and can add extended functionality, usable by makefiles. * New function: $(file ...) writes to a file. * New variable: $(GNUMAKEFLAGS) will be parsed for make flags, just like MAKEFLAGS is. It can be set in the environment or the makefile, containing GNU make-specific flags to allow your makefile to be portable to other versions of make. Once this variable is parsed, GNU make will set it to the empty string so that flags will not be duplicated on recursion. * New variable: `MAKE_HOST' gives the name of the host architecture make was compiled for. This is the same value you see after 'Built for' when running 'make --version'. * Behavior of MAKEFLAGS and MFLAGS is more rigorously defined. All simple flags are grouped together in the first word of MAKEFLAGS. No options that accept arguments appear in the first word. If no simple flags are present MAKEFLAGS begins with a space. Flags with both short and long versions always use the short versions in MAKEFLAGS. Flags are listed in alphabetical order using ASCII ordering. MFLAGS never begins with "- ". * Setting the -r and -R options in MAKEFLAGS inside a makefile now works as expected, removing all built-in rules and variables, respectively. * If a recipe fails, the makefile name and linenumber of the recipe are shown. * A .RECIPEPREFIX setting is remembered per-recipe and variables expanded in that recipe also use that recipe prefix setting. * In -p output, .RECIPEPREFIX settings are shown and all target-specific variables are output as if in a makefile, instead of as comments. * On MS-Windows, recipes that use ".." quoting will no longer force invocation of commands via temporary batch files and stock Windows shells, they will be short-circuited and invoked directly. (In other words, " is no longer a special character for stock Windows shells.) This avoids hitting shell limits for command length when quotes are used, but nothing else in the command requires the shell. This change could potentially mean some minor incompatibilities in behavior when the recipe uses quoted string on shell command lines.
2013-05-31Bump all packages for perl-5.18, thatwiz1-2/+2
a) refer 'perl' in their Makefile, or b) have a directory name of p5-*, or c) have any dependency on any p5-* package Like last time, where this caused no complaints.
2013-05-12Force intermediate targets to be considered if they are non-intermediate for ↵richard4-3/+54
parallel builds in devel/gmake
2012-12-06Add PKGGNUDIR support.jperkin1-3/+3
2012-10-31Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.asau1-2/+1
2012-06-02Add symlink gnu/man/man1/make.1cheusov2-5/+7
++pkgrevision
2012-05-29Remove GNU_PROGRAM_PREFIX variable (discussed in pkgsrc-users@).cheusov3-24/+14
All utilities are installed with a prefix 'g'. Symlinks with original names are created in ${PREFIX}/gnu/bin. ++pkgrevision Fix for some pkglint warnings
2011-11-26Fix PLIST for option nls.hans1-2/+3
2011-11-26Use options framework for NLS support. Enable by default on NetBSD, buthans2-15/+26
not on other platforms.
2011-07-09Do not use strndup on MirBSD, it used to be broken. Fixes lots ofbsiegert1-1/+6
"mysterious" build failures on MirBSD. Reviewed by agc and joerg.
2011-04-22recursive bump from gettext-lib shlib bump.obache1-2/+2
2011-02-06uintmax_t is defined in stdint.h on SUA, include it additionally.obache2-4/+14
2011-01-17Revert the last change to avoid cyclic dependencies.is1-3/+1
2011-01-17Declaring char *getcwd(); interfered with _USE_FORTIFY_SOURCE=N (for N>0).is2-3/+12
(pointed out by aniou@ircnet). The problem is avoided by not declaring in make.h if defined(HAVE_UNISTD_H). (I wish people would actually use configure's findings after it spent several billions(en_US) of CPU cycles computing them.)
2011-01-17Add USE_TOOLS+=perl; needed to run make test.is1-1/+3
2010-08-31Update distinfo, noted by tron@. (Thanks!)taca1-1/+2
2010-08-31Add a fix for bug #30612 (http://savannah.gnu.org/bugs/index.php?30612)taca2-1/+54
from GNU make's CVS repository (revision 1.194). It solves some of strange compile error on misc/rpm (and maybe more). Bump PKGREVISION.
2010-08-07Set LICENSE.wiz1-2/+3
2010-08-07Update to 3.82:wiz5-23/+23
Version 3.82 A complete list of bugs fixed in this version is available here: http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=104&set=custom * Compiling GNU make now requires a conforming ISO C 1989 compiler and standard runtime library. * WARNING: Future backward-incompatibility! Wildcards are not documented as returning sorted values, but up to and including this release the results have been sorted and some makefiles are apparently depending on that. In the next release of GNU make, for performance reasons, we may remove that sorting. If your makefiles require sorted results from wildcard expansions, use the $(sort ...) function to request it explicitly. * WARNING: Backward-incompatibility! The POSIX standard for make was changed in the 2008 version in a fundamentally incompatible way: make is required to invoke the shell as if the '-e' flag were provided. Because this would break many makefiles that have been written to conform to the original text of the standard, the default behavior of GNU make remains to invoke the shell with simply '-c'. However, any makefile specifying the .POSIX special target will follow the new POSIX standard and pass '-e' to the shell. See also .SHELLFLAGS below. * WARNING: Backward-incompatibility! The '$?' variable now contains all prerequisites that caused the target to be considered out of date, even if they do not exist (previously only existing targets were provided in $?). * WARNING: Backward-incompatibility! As a result of parser enhancements, three backward-compatibility issues exist: first, a prerequisite containing an "=" cannot be escaped with a backslash any longer. You must create a variable containing an "=" and use that variable in the prerequisite. Second, variable names can no longer contain whitespace, unless you put the whitespace in a variable and use the variable. Third, in previous versions of make it was sometimes not flagged as an error for explicit and pattern targets to appear in the same rule. Now this is always reported as an error. * WARNING: Backward-incompatibility! The pattern-specific variables and pattern rules are now applied in the shortest stem first order instead of the definition order (variables and rules with the same stem length are still applied in the definition order). This produces the usually-desired behavior where more specific patterns are preferred. To detect this feature search for 'shortest-stem' in the .FEATURES special variable. * WARNING: Backward-incompatibility! The library search behavior has changed to be compatible with the standard linker behavior. Prior to this version for prerequisites specified using the -lfoo syntax make first searched for libfoo.so in the current directory, vpath directories, and system directories. If that didn't yield a match, make then searched for libfoo.a in these directories. Starting with this version make searches first for libfoo.so and then for libfoo.a in each of these directories in order. * New command line option: --eval=STRING causes STRING to be evaluated as makefile syntax (akin to using the $(eval ...) function). The evaluation is performed after all default rules and variables are defined, but before any makefiles are read. * New special variable: .RECIPEPREFIX allows you to reset the recipe introduction character from the default (TAB) to something else. The first character of this variable value is the new recipe introduction character. If the variable is set to the empty string, TAB is used again. It can be set and reset at will; recipes will use the value active when they were first parsed. To detect this feature check the value of $(.RECIPEPREFIX). * New special variable: .SHELLFLAGS allows you to change the options passed to the shell when it invokes recipes. By default the value will be "-c" (or "-ec" if .POSIX is set). * New special target: .ONESHELL instructs make to invoke a single instance of the shell and provide it with the entire recipe, regardless of how many lines it contains. As a special feature to allow more straightforward conversion of makefiles to use .ONESHELL, any recipe line control characters ('@', '+', or '-') will be removed from the second and subsequent recipe lines. This happens _only_ if the SHELL value is deemed to be a standard POSIX-style shell. If not, then no interior line control characters are removed (as they may be part of the scripting language used with the alternate SHELL). * New variable modifier 'private': prefixing a variable assignment with the modifier 'private' suppresses inheritance of that variable by prerequisites. This is most useful for target- and pattern-specific variables. * New make directive: 'undefine' allows you to undefine a variable so that it appears as if it was never set. Both $(flavor) and $(origin) functions will return 'undefined' for such a variable. To detect this feature search for 'undefine' in the .FEATURES special variable. * The parser for variable assignments has been enhanced to allow multiple modifiers ('export', 'override', 'private') on the same line as variables, including define/endef variables, and in any order. Also, it is possible to create variables and targets named as these modifiers. * The 'define' make directive now allows a variable assignment operator after the variable name, to allow for simple, conditional, or appending multi-line variable assignment.
2009-12-02Switch to the bzip2 distfile, as requested in PR pkg/30553.snj2-5/+6
2009-10-30Generate distinfo for previous commit.ahoka1-1/+2
2009-10-30Fix compilation with PCC.ahoka1-0/+15
2008-04-12Convert to use PLIST_VARS instead of manually passing "@comment "jlam2-6/+6
through PLIST_SUBST to the plist module.
2006-10-09Flag a number of packages I use as supporting (user-)destdir.joerg1-4/+5
apg is a bit special as it has some hardcoded ownership, so mark that as "destdir".
2006-07-06Require msgfmt, when NLS is desired.joerg1-1/+2
2006-04-17Strip ${PKGLOCALEDIR} from PLISTs of packages that already obeyjlam1-24/+24
PKGLOCALEDIR and which install their locale files directly under ${PREFIX}/${PKGLOCALEDIR} and sort the PLIST file entries. From now on, pkgsrc/mk/plist/plist-locale.awk will automatically handle transforming the PLIST to refer to the correct locale directory.
2006-04-13BROKEN_GETTEXT_DETECTION already defaults to "no".jlam1-2/+1
2006-04-02Update to 3.81:wiz9-80/+31
Version 3.81 * GNU make is ported to OS/2. * GNU make is ported to MinGW. The MinGW build is only supported by the build_w32.bat batch file; see the file README.W32 for more details. * WARNING: Future backward-incompatibility! Up to and including this release, the '$?' variable does not contain any prerequisite that does not exist, even though that prerequisite might have caused the target to rebuild. Starting with the _next_ release of GNU make, '$?' will contain all prerequisites that caused the target to be considered out of date. See this Savannah bug: http://savannah.gnu.org/bugs/index.php?func=detailitem&item_id=16051 * WARNING: Backward-incompatibility! GNU make now implements a generic "second expansion" feature on the prerequisites of both explicit and implicit (pattern) rules. In order to enable this feature, the special target '.SECONDEXPANSION' must be defined before the first target which takes advantage of it. If this feature is enabled then after all rules have been parsed the prerequisites are expanded again, this time with all the automatic variables in scope. This means that in addition to using standard SysV $$@ in prerequisites lists, you can also use complex functions such as $$(notdir $$@) etc. This behavior applies to implicit rules, as well, where the second expansion occurs when the rule is matched. However, this means that when '.SECONDEXPANSION' is enabled you must double-quote any "$" in your filenames; instead of "foo: boo$$bar" you now must write "foo: foo$$$$bar". Note that the SysV $$@ etc. feature, which used to be available by default, is now ONLY available when the .SECONDEXPANSION target is defined. If your makefiles take advantage of this SysV feature you will need to update them. * WARNING: Backward-incompatibility! In order to comply with POSIX, the way in which GNU make processes backslash-newline sequences in command strings has changed. If your makefiles use backslash-newline sequences inside of single-quoted strings in command scripts you will be impacted by this change. See the GNU make manual subsection "Splitting Command Lines" (node "Splitting Lines"), in section "Command Syntax", chapter "Writing the Commands in Rules", for details. * WARNING: Backward-incompatibility! Some previous versions of GNU make had a bug where "#" in a function invocation such as $(shell ...) was treated as a make comment. A workaround was to escape these with backslashes. This bug has been fixed: if your makefile uses "\#" in a function invocation the backslash is now preserved, so you'll need to remove it. * New command-line option: -L (--check-symlink-times). On systems that support symbolic links, if this option is given then GNU make will use the most recent modification time of any symbolic links that are used to resolve target files. The default behavior remains as it always has: use the modification time of the actual target file only. * The "else" conditional line can now be followed by any other valid conditional on the same line: this does not increase the depth of the conditional nesting, so only one "endif" is required to close the conditional. * All pattern-specific variables that match a given target are now used (previously only the first match was used). * Target-specific variables can be marked as exportable using the "export" keyword. * In a recursive $(call ...) context, any extra arguments from the outer call are now masked in the context of the inner call. * Implemented a solution for the "thundering herd" problem with "-j -l". This version of GNU make uses an algorithm suggested by Thomas Riedl <thomas.riedl@siemens.com> to track the number of jobs started in the last second and artificially adjust GNU make's view of the system's load average accordingly. * New special variables available in this release: - .INCLUDE_DIRS: Expands to a list of directories that make searches for included makefiles. - .FEATURES: Contains a list of special features available in this version of GNU make. - .DEFAULT_GOAL: Set the name of the default goal make will use if no goals are provided on the command line. - MAKE_RESTARTS: If set, then this is the number of times this instance of make has been restarted (see "How Makefiles Are Remade" in the manual). - New automatic variable: $| (added in 3.80, actually): contains all the order-only prerequisites defined for the target. * New functions available in this release: - $(lastword ...) returns the last word in the list. This gives identical results as $(word $(words ...) ...), but is much faster. - $(abspath ...) returns the absolute path (all "." and ".." directories resolved, and any duplicate "/" characters removed) for each path provided. - $(realpath ...) returns the canonical pathname for each path provided. The canonical pathname is the absolute pathname, with all symbolic links resolved as well. - $(info ...) prints its arguments to stdout. No makefile name or line number info, etc. is printed. - $(flavor ...) returns the flavor of a variable. - $(or ...) provides a short-circuiting OR conditional: each argument is expanded. The first true (non-empty) argument is returned; no further arguments are expanded. Expands to empty if there are no true arguments. - $(and ...) provides a short-circuiting AND conditional: each argument is expanded. The first false (empty) argument is returned; no further arguments are expanded. Expands to the last argument if all arguments are true. * Changes made for POSIX compatibility: - Only touch targets (under -t) if they have at least one command. - Setting the SHELL make variable does NOT change the value of the SHELL environment variable given to programs invoked by make. As an enhancement to POSIX, if you export the make variable SHELL then it will be set in the environment, just as before. * On MS Windows systems, explicitly setting SHELL to a pathname ending in "cmd" or "cmd.exe" (case-insensitive) will force GNU make to use the DOS command interpreter in batch mode even if a UNIX-like shell could be found on the system. * On VMS there is now support for case-sensitive filesystems such as ODS5. See the readme.vms file for information. * Parallel builds (-jN) no longer require a working Bourne shell on Windows platforms. They work even with the stock Windows shells, such as cmd.exe and command.com. * Updated to autoconf 2.59, automake 1.9.5, and gettext 0.14.1. Users should not be impacted. * New translations for Swedish, Chinese (simplified), Ukrainian, Belarusian, Finnish, Kinyarwandan, and Irish. Many updated translations. A complete list of bugs fixed in this version is available here: http://savannah.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=103
2006-03-30* Honor PKGINFODIR.jlam2-3/+4
* List the info files directly in the PLIST.
2006-03-16Don't patch both the texinfo file and the generated info file. Thisjlam2-18/+1
avoids problems with timestamps and make's dependency graph calculations.
2006-03-04Point MAINTAINER to pkgsrc-users@NetBSD.org in the case where nojlam1-2/+2
developer is officially maintaining the package. The rationale for changing this from "tech-pkg" to "pkgsrc-users" is that it implies that any user can try to maintain the package (by submitting patches to the mailing list). Since the folks most likely to care about the package are the folks that want to use it or are already using it, this would leverage the energy of users who aren't developers.
2006-02-07Welcome to the brave new world of gettext-0.14.5 -- if a source filejlam2-1/+15
includes <libintl.h>, then we must ensure that the resulting object is linked against -lintl. This ensures that the correct *printf() functions are used across all platforms.
2006-02-05Recursive revision bump / recommended bump for gettext ABI change.joerg1-2/+2
2005-12-05Ran "pkglint --autofix", which corrected some of the quoting issues inrillig1-2/+2
CONFIGURE_ARGS.
2005-12-05Fixed pkglint warnings. The warnings are mostly quoting issues, forrillig1-3/+3
example MAKE_ENV+=FOO=${BAR} is changed to MAKE_ENV+=FOO=${BAR:Q}. Some other changes are outlined in http://mail-index.netbsd.org/tech-pkg/2005/12/02/0034.html
2005-04-11Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used.tv1-2/+1
2005-02-23Add RMD160 digests.agc1-1/+2
2004-11-21gettext detection works properly for this package, so setjlam1-3/+4
BROKEN_GETTEXT_DETECTION to "no".
2004-10-03Libtool fix for PR pkg/26633, and other issues. Update libtool to 1.5.10tv1-2/+2
in the process. (More information on tech-pkg.) Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and installing .la files. Bump PKGREVISION (only) of all packages depending directly on the above via a buildlink3 include.
2004-03-31Pass along any GMAKE_LOCALE to sub-makes so that the value is preservedjlam1-1/+2
from the environment.
2004-03-25Allow building a gmake without a dependency on gettext, libiconv,jlam3-23/+35
libtool, etc. if GMAKE_LOCALE=no. This allows "bootstrapping" lang/gcc or lang/gcc3-c more automatically. Bump the PKGREVISION.
2004-02-15Remove info files entries from PLIST.seb1-13/+1
2004-02-09Let's just use the .tar.gz again.wiz2-8/+4
2004-02-09Add a comment about when to remove the EXTRACT_SUFX line.wiz1-1/+4
2004-02-08Use bz2 tarball; suggested by Michal Pasternak in PR 24351.wiz2-4/+5
2004-01-05bl3ifyjlam1-3/+5
2003-08-09USE_NEW_TEXINFO is unnecessary now.seb1-2/+1
2003-08-07Improve description.wiz1-3/+10
2003-07-17s/netbsd.org/NetBSD.org/grant1-2/+2
2003-07-13PKGREVISION bump for libiconv update.wiz1-2/+2