| 2000-02-04 Paul D. Smith <psmith@gnu.org> |
| |
| * variable.c (print_variable): Write out filename/linenumber |
| information for the variable definition if present. |
| (define_variable_in_set): Store filename information if provided. |
| (define_variable, define_variable_for_file): Removed. |
| (try_variable_definition): Use define_variable_loc() to keep |
| variable definition location information. |
| * read.c (read_makefile): Keep variable definition location info. |
| (do_define): Ditto. |
| (record_target_var): Ditto. |
| * variable.h (define_variable_in_set): New fileinfo argument. |
| (define_variable, define_variable_loc, define_variable_for_file): |
| Declare new macros. |
| |
| Fix PR/1407: |
| |
| * filedef.h (struct file): Rename patvar to pat_variables and make |
| it just a variable_set_list; we need our own copy of the pattern |
| variable's variable set list here to avoid overwriting the global |
| one. |
| * variable.c (initialize_file_variables): Move the instantiation |
| of the pat_variables pointer here. Only do the search after we're |
| done reading the makefiles so we don't search too early. If |
| there's a pat_variables value, set up the variables next ptr. |
| * expand.c (variable_expand_for_file): Remove the setup of the |
| pat_variables info; it's done earlier now to ensure the parent's |
| pattern variables are set up correctly as well. |
| |
| 2000-02-03 Paul D. Smith <psmith@gnu.org> |
| |
| * job.c (sh_chars_dos) [WINDOWS32]: Add "&" as a shell |
| metacharacter for the W32 DOS shell. |
| Reported by Warren Jones <wjones@tc.fluke.com>. |
| |
| 2000-02-02 Paul D. Smith <psmith@gnu.org> |
| |
| Fixes for the OpenVMS port from Hartmut Becker <becker@rto.dec.com> |
| |
| * config.h-vms [VMS]: Define LOCALEDIR to something; needed for |
| the expansion of bindtextdomain() even though it's a no-op. |
| * vmsfunctions.c (strcmpi): Remove duplicate definition of strcmpi(). |
| (readdir): Use DB() instead of testing debug_flag. |
| * dir.c (file_impossible) [VMS]: Search "p" not "name". |
| * job.c [VMS]: Switch from debug_flag to the new DB macro. Add |
| some i18n _() macros (even though VMS doesn't yet support it). |
| |
| * function.c (patsubst_expand): Change "len" to not be unsigned to |
| avoid type mismatches. |
| |
| * main.c (main): Declare signame_init() if we're going to call it. |
| |
| 2000-01-29 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * Makefile.DOS.template: Track changes in Makefile.in |
| (install-recursive, uninstall-recursive): Add missing targets. |
| (DESTDIR): Define. |
| (install-binPROGRAMS, uninstall-binPROGRAMS): Use $(DESTDIR). |
| |
| * default.c (default_variables) [__MSDOS__]: Define CXX to gpp. |
| |
| 2000-01-25 Paul D. Smith <psmith@gnu.org> |
| |
| Change gettext support to use the simplified version in libit 0.7. |
| |
| * getopt.c, make.h: Use gettext.h instead of libintl.h. |
| * ABOUT-NLS, gettext.h, gettext.c: New files from libit 0.7. |
| Modified to remove some static declarations which aren't defined. |
| * acconfig.h: Use new gettext #defines. |
| * acinclude.m4: Add fp_WITH_GETTEXT; remove AM_GNU_GETTEXT. |
| * configure.in: Call fp_WITH_GETTEXT instead. |
| * Makefile.am: New gettext stuff. Also force inclusion of glob |
| files for systems which have LIBC glob. |
| |
| * i18n/Makefile.am, i18n/.cvsignore: New dir for translation files. |
| * i18n/de.po, i18n/es.po, i18n/fr.po, i18n/ko.po, i18n/nl.po: |
| * i18n/pl.po, i18n/ru.po: Import translations already done for |
| earlier versions of GNU make. Thanks for that work!! |
| |
| * po/Makefile.in.in, po/POTFILES.in: Removed. |
| |
| 2000-01-23 Paul D. Smith <psmith@gnu.org> |
| |
| * main.c (decode_debug_flags): If debug_flag is set, enable all |
| debugging levels. |
| (debug_flag): Resurrect this flag variable. |
| (switches): Make -d give the old behavior of turning on all |
| debugging. Change --debug alone to emit basic debugging and take |
| optional arguments to expand debugging. |
| * NEWS: Document the new debugging options. |
| |
| * remake.c (no_rule_error): Remove this function. This tries to |
| fix a real problem--see the description with the introduction of |
| this function below. However, the cure is worse than the disease |
| and this approach won't work. |
| (remake_file): Put the code from no_rule_error back here. |
| (update_file_1): Remove call to no_rule_error. |
| |
| * filedef.h (struct file): Remove mfile_status field. |
| |
| 2000-01-22 Paul D. Smith <psmith@gnu.org> |
| |
| Integrate GNU gettext support. |
| |
| * configure.in: Add AM_GNU_GETTEXT. |
| * Makefile.am: Add options for setting LOCALEDIR, -Iintl, etc. |
| * acinclude.m4: Add gettext autoconf macros. |
| * acconfig.h: Add new gettext #defines. |
| * make.h: Include libintl.h. Make sure _() and N_() macros are |
| declared. Make gettext() an empty macro is NLS is disabled. |
| * main.c (struct command_switch switches[]): Can't initialize |
| static data with _() (gettext calls), so use N_() there then use |
| gettext() directly when printing the strings. |
| * remake.c (no_rule_error): The string constants can't be static |
| when initializing _() macros. |
| * file.c (print_file): Reformat a few strings to work better for |
| translation. |
| * po/POTFILES.in, po/Makefile.in.in: New files. Take |
| Makefile.in.in from the latest GNU tar distribution, as that |
| version works better than the one that comes with gettext. |
| * NEWS: Mention i18n ability. |
| |
| 2000-01-21 Paul D. Smith <psmith@gnu.org> |
| |
| Installed patches for the VMS port. |
| Patches provided by: Hartmut Becker <Hartmut.Becker@compaq.com> |
| |
| * readme.vms, arscan.c, config.h-vms, default.c, dir.c, file.c: |
| * implicit.c, job.c, make.h, makefile.com, makefile.vms, rule.c: |
| * variable.c, vmsdir.h, vmsfunctions.c, vmsify.c, glob/glob.c: |
| * glob/glob.h: Installed patches. See readme.vms for details. |
| |
| 2000-01-11 Paul D. Smith <psmith@gnu.org> |
| |
| Resolve PR/xxxx: don't automatically evaluate the $(call ...) |
| function's arguments. While we're here, clean up argument passing |
| protocol to always use simple nul-terminated strings, instead of |
| sometimes using offset pointers to mark the end of arguments. |
| This change also fixes PR/1517. |
| Both PR's by Damien GIBOU <damien.gibou@st.com>. |
| |
| * function.c (struct function_table_entry): Remove the negative |
| required_args hack; put in explicit min and max # of arguments. |
| (function_table): Add in the max value. Turn off the expand bit |
| for func_call. |
| (expand_builtin_function): Test against minimum_args instead of |
| the obsolete required_args. |
| (handle_function): Rewrite this. We don't try to be fancy and |
| pass one style of arguments to expanded functions and another |
| style to non-expanded functions: pass pointers to nul-terminated |
| strings to all functions. |
| (func_call): Rewrite this. If we are invoking a builtin function |
| and it's supposed to have its arguments expanded, do that (since |
| it's not done by handle_function for $(call ...) anymore). For |
| non-builtins, just add the variables as before but mark them as |
| recursive so they'll be expanded later, as needed. |
| (func_if): All arguments are vanilla nul-terminated strings: |
| remove trickery with "argv[1]-1". |
| (func_foreach): Ditto. |
| |
| * expand.c (expand_argument): If the second arg is NULL, expand |
| the entire first argument. |
| |
| * job.c (new_job): Zero the child struct. This change was just |
| made to keep some heap checking software happy, not because there |
| was an actual bug (the important memory was being cleared properly). |
| |
| 1999-12-15 Paul D. Smith <psmith@gnu.org> |
| |
| * variable.c (print_variable): Print the variable with += if the |
| append flag is set. |
| |
| * implicit.c (pattern_search): Remove the extra check of the |
| implicit flag added on 8/24/1998. This causes problems and the |
| reason for the change was better resolved by the change made to |
| check_deps() on 8/26/1998. This fixes PR/1423. |
| |
| 1999-12-08 Paul D. Smith <psmith@gnu.org> |
| |
| * dir.c (dir_setup_glob): On 64 bit ReliantUNIX (5.44 and above) |
| in LFS mode, stat() is actually a macro for stat64(). Assignment |
| doesn't work in that case. So, stat is a macro, make a local |
| wrapper function to invoke it. |
| (local_stat): Wrapper function, if needed. |
| Reported by Andrej Borsenkow <Andrej.Borsenkow@mow.siemens.ru>. |
| |
| 1999-12-02 Paul D. Smith <psmith@gnu.org> |
| |
| * remake.c (update_file): Move the considered test outside the |
| double-colon loop, _but_ make sure we test the double_colon target |
| not the "current" target. If we stop early because one |
| double-colon target is running, mark all the rest considered and |
| try to start their prerequisites (so they're marked considered). |
| Fix for PR/1476 suggested by Tim Magill <tim.magill@telops.gte.com>. |
| |
| 1999-11-22 Rob Tulloh <rob_tulloh@dev.tivoli.com> |
| |
| * function.c (windows32_openpipe, func_shell): Correct Windows32 |
| problem where $(shell nosuchfile) would incorrectly exit make. The |
| fix is to print the error and let make continue. |
| Reported by David Masterson <David.Masterson@kla-tencor.com>. |
| |
| * w32/subproc/misc.c (arr2envblk): Memory leak fix. |
| |
| 1999-11-21 Paul D. Smith <psmith@gnu.org> |
| |
| Rework GNU make debugging to provide different levels of output. |
| |
| * NEWS: mention it. |
| * debug.h: New file. Define various debugging levels and macros. |
| * function.c, implicit.c, job.c, main.c, misc.c, read.c, remake.c |
| * remote-cstms.c, vmsfunctions.c: Replace all code depending on |
| debug_flag with invocations of debugging macros. |
| * make.h: Remove debug_flag and DEBUGPR, add db_level. |
| |
| 1999-11-18 Paul Eggert <eggert@twinsun.com> |
| |
| * acinclude.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a problem |
| with the QNX 4.25 shell, which doesn't propagate exit status of |
| failed commands inside shell assignments. |
| |
| 1999-11-17 Paul D. Smith <psmith@gnu.org> |
| |
| * function.c (func_if): Find the end of the arg list by testing |
| the next item for NULL; any other test is not correct. |
| Reported by Graham Reed <grahamr@algorithmics.com> (PR/1429). |
| |
| Fix += when used in a target-specific variable context. |
| |
| * variable.h: New bitfield APPEND set if we have a += |
| target-specific variable. |
| |
| * variable.c (try_variable_definition): Add an argument to specify |
| if we're trying a target-specific variable. If we are and it's an |
| append style, don't append it, record it as normal recursive, but |
| set the APPEND flag so it'll be expanded later. |
| * main.c (handle_non_switch_argument): Use new |
| try_variable_definition() signature. |
| * read.c (read_makefile,record_target_var): Ditto. |
| |
| * expand.c (allocated_variable_append): New function: like |
| allocated_variable_expand(), but we expand the same variable name |
| in the context of the ``next'' variable set, then we append this |
| expanded value. |
| (recursively_expand): Invoke it, if the APPEND bit is set. |
| |
| 1999-11-10 Paul D. Smith <psmith@gnu.org> |
| |
| * file.c (snap_deps): If the .NOTPARALLEL target is defined, turn |
| off parallel builds for this make only (still allow submakes to be |
| run in parallel). |
| * main.c: New variable, ``not_parallel''. |
| * make.h: Add an extern for it. |
| * job.c (new_job): Test NOT_PARALLEL as well as JOB_SLOTS. |
| * NEWS: Add info on .NOTPARALLEL. |
| * make.texinfo (Special Targets): Document it. |
| |
| * configure.in (GLOBDIR): Set to "glob" if we need to build the |
| glob library. |
| * Makefile.am (SUBDIRS): Use the GLOBDIR variable instead of |
| "glob" so we don't try to build glob if we don't need to (if we |
| have GLIBC glob). Reported by Lars Hecking <lhecking@nmrc.ucc.ie>. |
| |
| * main.c (main): Don't put "***" in the clock skew warning |
| message. Reported by karl@gnu.org. |
| |
| * make.h: Remove unneeded signal setup. |
| |
| * signame.c: Remove extraneous #includes; some versions of Ultrix |
| don't protect against multiple inclusions and it causes compile |
| errors. Reported by Simon Burge <simonb@thistledown.com.au>. |
| |
| 1999-10-15 Paul D. Smith <psmith@gnu.org> |
| |
| * main.c (quote_for_env): Rename from quote_as_word(). |
| |
| * make.h, *.c: Prefer strchr() and strrchr() in the code |
| rather than index() and rindex(). Define strchr/strrchr in terms |
| of index/rindex if the former aren't supported. |
| |
| * default.c (CHECKOUT,v): Replace the fancy, complicated |
| patsubst/filter expression with a simple $(if ...) expression. |
| |
| * main.c (print_usage): Add the bug reporting mailing address to |
| the --help output, as per the GNU coding standards. |
| Reported by Paul Eggert <eggert@twinsun.com>. |
| |
| * README.customs: Installed information on running Customs-ized |
| GNU make and setuid root, collected by Ted Stern <stern@tera.com>. |
| |
| * read.c (read_all_makefiles): PR/1394: Mark the end of the next |
| token in the MAKEFILES value string _before_ we dup it. |
| |
| 1999-10-13 Paul D. Smith <psmith@gnu.org> |
| |
| * configure.in (make_cv_sys_gnu_glob): We used to add the -Iglob |
| flag to CPPFLAGS, but that loses if the user specifies his own |
| CPPFLAGS; this one gets added _after_ his and if he happens to |
| have an old or broken glob.h--boom. Instead, put it in GLOBINC |
| and SUBST it. |
| |
| * Makefile.am (INCLUDES): Add @GLOBINC@ to the INCLUDES macro; |
| these things get on the compile line well before the user's |
| CPPFLAGS. |
| |
| 1999-10-12 Paul D. Smith <psmith@gnu.org> |
| |
| * remake.c (notice_finished_file): If we get here and -n is set, |
| see if all the command lines are marked recursive. If so, then we |
| ran every command there is, so check the mtime on this file just |
| like we would normally. If not, we assume the command we didn't |
| run would updates the target and set mtime of the target to "very new". |
| |
| * job.c (start_job_command): Update lines_flags in the file's cmds |
| structure with any per-line tokens we found (`@', `-', `+'). |
| |
| 1999-10-08 Paul D. Smith <psmith@gnu.org> |
| |
| * variable.c (initialize_file_variables): Always recurse to |
| initialize the parent's file variables: the parent might not have |
| any rules to run so it might not have been initialized before |
| this--we need this to set up the chain properly for |
| target-specific variables. |
| |
| 1999-09-29 Paul Eggert <eggert@twinsun.com> |
| |
| * main.c (quote_as_word): Always quote for decode_env_switches |
| instead of for the shell, so that arguments with strange |
| characters are are passed to submakes correctly. Remove |
| double_dollars arg; we always double dollars now. All callers |
| changed. |
| (decode_env_switches): Don't run off the end of an environment |
| variable whose contents ends in a unescaped backslash. |
| |
| 1999-09-23 Paul D. Smith <psmith@gnu.org> |
| |
| * commands.c, function.c, job.c, read.c: Cast arguments to |
| ctype.h functions/macros to _unsigned_ char for portability. |
| |
| * remake.c, function.c: Compiler warning fixes: the second |
| argument to find_next_token() should be an _unsigned_ int*. |
| Reported by Han-Wen Nienhuys <hanwen@cs.uu.nl>. |
| |
| 1999-09-23 Paul D. Smith <psmith@gnu.org> |
| |
| * Version 3.78.1 released. |
| |
| * make.texinfo: Update version/date stamp. |
| |
| * main.c (main): Argh. For some reason we were closing _all_ the |
| jobserver pipes before we re-exec'd due to changed makefiles. |
| This means that any re-exec got a "jobserver unavailable" error :-/. |
| I can't believe we didn't notice this before. |
| |
| 1999-09-22 Paul D. Smith <psmith@gnu.org> |
| |
| * Version 3.78 released. |
| |
| * main.c (main): Only fail on multiple --jobserver-fds options if |
| they aren't all the same. Some makefiles use things like |
| $(MAKE) $(MFLAGS) which will cause multiple, identical copies of |
| --jobserver-fds to show up. |
| |
| 1999-09-16 Paul D. Smith <psmith@gnu.org> |
| |
| * main.c (define_makeflags): Zero out FLAGSTRING to avoid |
| uninitialized memory reads when checking *p != '-' in the loop. |
| |
| 1999-09-15 Paul D. Smith <psmith@gnu.org> |
| |
| * Version 3.77.97 released. |
| |
| * configure.in (MAKE_HOST): AC_SUBST this so it will go into the |
| makefile. |
| * Makefile.am (check-local): Print a success banner if the check |
| succeeds. |
| (check-regression): A bit of fine-tuning. |
| |
| 1999-09-15 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * README.DOS.template: Document requirements for the test suite. |
| * Makefile.DOS.template: Updates to allow the test suite to run |
| from "make check". |
| |
| * main.c (main): Handle it if argv[0] isn't an absolute path. |
| |
| 1999-09-13 Paul D. Smith <psmith@gnu.org> |
| |
| * Version 3.77.96 released. |
| |
| * Makefile.am (loadavg): Use CPPFLAGS, etc. to make sure we get |
| all the right #defines to compile. |
| (check-regression): Look for the regression test suite in the make |
| package itself. If we're building remotely, use symlinks to make |
| a local copy. |
| (dist-hook): Put the test suite into the tar file. |
| |
| * configure.in: Look for perl for the test suite. |
| |
| 1999-09-10 Paul Eggert <eggert@twinsun.com> |
| |
| * acinclude.m4 (AC_SYS_LARGEFILE_FLAGS): If on HP-UX 10.20 or |
| later, and using GCC, define __STDC_EXT__; this works around a |
| bug in GCC 2.95.1. |
| |
| 1999-09-08 Paul D. Smith <psmith@gnu.org> |
| |
| * main.c (print_version): Ugh. GLIBC's configure tries to check |
| make version strings and is too aggressive with their matching |
| expressions. I've struck a deal with them to leave the version |
| output as-is for 3.78, and they'll change their configure checks |
| so that I can change this back in the future. |
| |
| 1999-09-07 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * job.c (construct_command_argv_internal) [__MSDOS__]: Add "echo" |
| and "unset" to the list of builtin shell commands. |
| |
| * configh.DOS.template (MAKE_HOST): Define to "i386-pc-msdosdjgpp" |
| which is the canonical name of the DJGPP host. |
| |
| 1999-09-05 Paul D. Smith <psmith@gnu.org> |
| |
| * Version 3.77.95 released. |
| |
| * make.texinfo (Make Errors): Document some new jobserver error |
| messages. |
| |
| 1999-09-04 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * make.texinfo (Make Errors): Document the hint about 8 spaces |
| instead of a TAB. |
| (Call Function, Quick Reference): Use @code{$(1)}, not @var. |
| |
| * main.c (main) [__MSDOS__]: Say "on this platform" instead of "on |
| MS-DOS", since the MSDOS version could run on Windows. |
| |
| 1999-09-03 Paul D. Smith <psmith@gnu.org> |
| |
| * remake.c (notice_finished_file): Always set mtime_before_update |
| if it's not been set, not just if we ran some rules. Otherwise we |
| may have a situation where a target's prerequisite was rebuilt but |
| not changed, so this target's rules weren't run, then |
| update_goal_chain() sees mtime_before_update != last_mtime and |
| thinks that the top-level target changed when it really didn't. |
| This can cause an infinite loop when remaking makefiles. |
| (update_goal_chain): If we get back to the top and we don't know |
| what the goal's last_mtime was, find it now. We need to know so |
| we can compare it to mtime_before_update later (this is only |
| crucial when remaking makefiles--should we only do it then?) |
| |
| 1999-09-02 Paul D. Smith <psmith@gnu.org> |
| |
| * read.c (read_makefile): If "override" appears as the first |
| prerequisite, look further to ensure this is really a |
| target-specific variable definition, and not just some |
| prerequisite named "override". |
| |
| 1999-09-01 Paul D. Smith <psmith@gnu.org> |
| |
| * function.c (IS_PATHSEP) [WINDOWS32]: Allow backslash separators |
| for W32 platforms. |
| * read.c (record_files) [WINDOWS32]: Allow backslash separators |
| for W32 platforms. |
| * implicit.c (pattern_search) [WINDOWS32]: Allow backslash |
| separators for W32 platforms. |
| |
| * configure.in (MAKE_HOST): Define it to be the canonical build |
| host info, now that we need AC_CANONICAL_HOST anyway (for large |
| file support). |
| * version.c (make_host): Define a variable to MAKE_HOST so we're |
| sure to get it from the local config.h. |
| * main.c (print_version): Use it in the version information. |
| * config.ami.template: Add MAKE_HOST. |
| * configh.dos.template: Ditto. |
| * config.h.W32.template: Ditto. |
| * config.h-vms.template: Ditto. |
| |
| * main.c (main): Close the jobserver file descriptors if we need |
| to re-exec ourselves. |
| Also print more reasonable error if users force -jN for submakes. |
| This may be common for a while until people use the jobserver |
| feature. If it happens, we ignore the existing jobserver stuff |
| and use whatever they specified on the commandline. |
| (define_makeflags): Fixed a long-standing bug: if a long name |
| only option comes immediately after a single letter option with no |
| argument, then the option string is constructed incorrectly. For |
| example, with -w and --jobserver-fds you get "-w-jobserver-fds..." |
| instead of "-w --jobserver-fds..."; add in an extra " -". |
| |
| * make.texinfo (Phony Targets): Add another example of using |
| .PHONY with subdirectories/recursive make. |
| |
| 1999-08-30 Paul D. Smith <psmith@gnu.org> |
| |
| * README.W32.template: Renamed from README.W32 so it's |
| autogenerated during the dist. A few minor modifications. |
| |
| * configure.in: Check for kstat_open before AC_FUNC_GETLOADAVG |
| since the latter needs to know whether the former exists to give |
| an accurate result. |
| |
| 1999-08-26 Rob Tulloh <rob_tulloh@dev.tivoli.com> |
| |
| * NMakefile [WINDOWS32]: Now more robust. If you change a file |
| under w32/subproc, the make.exe will be relinked. Also added some |
| tests to make sure erase commands won't fail when executed in a |
| pristine build environment. |
| |
| * w32/subproc/sub_proc.c [WINDOWS32]: Added support for |
| HAVE_CYGWIN_SHELL. If you are using the Cygwin B20.1 release, it |
| is now possible to have have native support for this shell without |
| having to rely on klutzy BATCH_MODE_ONLY_SHELL. |
| |
| * config.h.W32 [WINDOWS32]: Added HAVE_CYGWIN_SHELL macro which |
| users can define if they want to build make to use this shell. |
| |
| * README.W32 [WINDOWS32]: Added informaton about |
| HAVE_CYGWIN_SHELL. Cleaned up text a bit to make it more current. |
| |
| 1999-08-26 Paul Eggert <eggert@twinsun.com> |
| |
| Support large files in AIX, HP-UX, and IRIX. |
| |
| * acinclude.m4 (AC_LFS): Remove. Superseded by AC_SYS_LARGEFILE. |
| (AC_SYS_LARGEFILE_FLAGS, AC_SYS_LARGEFILE_SPACE_APPEND, |
| AC_SYS_LARGEFILE_MACRO_VALUE, AC_SYS_LARGEFILE): New macros. |
| (jm_AC_TYPE_UINTMAX_T): Check for busted compilers that can't |
| shift or divide unsigned long long. |
| (AM_PROG_CC_STDC): New macro; a temporary workaround of a bug in |
| automake 1.4. |
| |
| * configure.in (AC_CANONICAL_HOST): Add; required by new |
| AC_SYS_LARGEFILE. |
| (AC_SYS_LARGEFILE): Renamed from AC_LFS. |
| (AM_PROG_CC_STDC): Add. |
| |
| * config.guess, config.sub: New files, needed for AC_CANONICAL_HOST. |
| |
| 1999-08-25 Paul Eggert <eggert@twinsun.com> |
| |
| * make.h (CHAR_MAX): New macro. |
| * main.c (struct command_switch): c is now int, |
| so that it can store values greater than CHAR_MAX. |
| (switches): Replace small numbers N with CHAR_MAX+N-1, |
| to avoid problems with non-ASCII character sets. |
| (short_option): New macro. |
| (init_switches, print_usage, define_makeflags): Use it instead of |
| isalnum. |
| |
| 1999-08-25 Paul D. Smith <psmith@gnu.org> |
| |
| * Version 3.77.94 released. |
| |
| * main.c (main) [__MSDOS__]: If the user uses -j, warn that it's |
| not supported and reset it. |
| |
| * make.h (ISDIGIT): Obtained this from the textutils distribution. |
| * main.c (decode_switches): Use it. |
| * function.c (is_numeric): Use it. |
| |
| * main.c (struct command_switch): Store the switch char in an |
| unsigned char to shut up GCC about using it with ctype.h macros. |
| Besides, it _is_ always unsigned. |
| |
| 1999-08-24 Paul D. Smith <psmith@gnu.org> |
| |
| * make.texinfo: Change "dependency" to "prerequisite" and |
| "dependencies" to "prerequisites". Various other cleanups related |
| to the terminology change. |
| * file.c: Change debugging and error messages to use |
| "prerequisite" instead of "dependency". |
| * implicit.c: Ditto. |
| * remake.c: Ditto. |
| * NEWS: Document it. |
| |
| 1999-08-23 Paul D. Smith <psmith@gnu.org> |
| |
| * remake.c (update_file): Move the considered check into the |
| double-colon rule loop, so we consider double-colon rules |
| individually (otherwise after the first is pruned, the rest won't |
| get run). |
| |
| * README.template: Minor changes. |
| |
| Remove the debugging features of the jobserver, so it no longer |
| writes distinct tokens to the pipe. Thus, we don't need to store |
| the token we get. A side effect of this is to remove a potential |
| "unavailable token" situation: make-1 invokes make-2 with its |
| special token and make-3 with a normal token; make-2 completes. |
| Now we're waiting for make-3 but using 2 tokens; our special token |
| is idle. In the new version we don't have special tokens per se, |
| we merely decide if we already have a child or not. If we don't, |
| we don't need a token. If we do, we have to get one to run the |
| next child. Similar for putting tokens back: if we're cleaning up |
| the last child, we don't put a token back. Otherwise, we do. |
| |
| * main.c: Add a new, internal flag --jobserver-fds instead of |
| overloading the meaning of -j. Remove job_slots_str and add the |
| stringlist jobserver_fds. |
| (struct command_switch): We don't need the int_string type. |
| (switches[]): Add a new option for --jobserver-fds and remove |
| conditions around -j. Make the description for the former 0 so it |
| doesn't print during "make --help". |
| (main): Rework jobserver parsing. If we got --jobserver-fds |
| make sure it's valid. We only get one and job_slots must be 0. |
| If we're the toplevel make (-jN without --jobserver-fds) create |
| the pipe and write generic tokens. |
| Create the stringlist struct for the submakes. |
| Clean up the stringlist where necessary. |
| (init_switches): Remove int_string handling. |
| (print_usage): Don't print internal flags (description ptr is 0). |
| (decode_switches): Remove int_string handling. |
| (define_makeflags): Remove int_string handling. |
| |
| * job.c: Remove my_job_token flag and all references to the |
| child->job_token field. |
| (free_job_token): Remove this and merge it into free_child(). |
| (reap_children): Rework the "reaped a child" logic slightly. |
| Don't call defunct free_job_token anymore. Always call |
| free_child, even if we're dying. |
| (free_child): If we're not freeing the only child, put a token |
| back in the pipe. Then, if we're dying, don't bother to free. |
| (new_job): If we are using the jobserver, loop checking to see if |
| a) there are no children or b) we get a token from the pipe. |
| |
| * job.h (struct child): Remove the job_token field. |
| |
| 1999-08-20 Paul D. Smith <psmith@gnu.org> |
| |
| * variable.c (try_variable_definition): Allocate for variable |
| expansion in f_append with a simple variable: if we're looking at |
| target-specific variables we don't want to trash the buffer. |
| Noticed by Reiner Beninga <Reiner.Beninga@mchp.siemens.de>. |
| |
| 1999-08-16 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * main.c (main) [__MSDOS__]: Mirror any backslashes in argv[0], to |
| avoid problems in shell commands that use backslashes as escape |
| characters. |
| |
| 1999-08-16 Paul D. Smith <psmith@gnu.org> |
| |
| * Version 3.77.93 released. |
| |
| 1999-08-13 Paul D. Smith <psmith@gnu.org |
| |
| * function.c (func_if): New function $(if ...) based on the |
| original by Han-Wen but reworked quite a bit. |
| (function_table): Add it. |
| * NEWS: Introduce it. |
| * make.texinfo (If Function): Document it. |
| |
| * job.c (free_job_token): Check for EINTR when writing tokens to |
| the jobserver pipe. |
| |
| 1999-08-12 Paul D. Smith <psmith@gnu.org> |
| |
| Another jobserver algorithm change. We conveniently forgot that |
| the blocking bit is shared by all users of the pipe, it's not a |
| per-process setting. Since we have many make processes all |
| sharing the pipe we can't use the blocking bit as a signal handler |
| flag. Instead, we'll dup the pipe's read FD and have the SIGCHLD |
| handler close the dup'd FD. This will cause the read() to fail |
| with EBADF the next time we invoke it, so we know we need to reap |
| children. We then re-dup and reap. |
| |
| * main.c (main): Define the job_rfd variable to hold the dup'd FD. |
| Actually dup the read side of the pipe. Don't bother setting the |
| blocking bit on the file descriptor. |
| * make.h: Declare the job_rfd variable. |
| * job.c (child_handler): If the dup'd jobserver pipe is open, |
| close it and assign -1 to job_rfd to notify the main program that |
| we got a SIGCHLD. |
| (start_job_command): Close the dup'd FD before exec'ing children. |
| Since we open and close this thing so often it doesn't seem |
| worth it to use the close-on-exec bit. |
| (new_job): Remove code for testing/setting the blocking bit. |
| Instead of EAGAIN, test for EBADF. If the dup'd FD has been |
| closed, re-dup it before we reap children. |
| |
| * function.c (func_shell): Be a little more accurate about the |
| length of the error string to allocate. |
| |
| * expand.c (variable_expand_for_file): If there's no filenm info |
| (say, from a builtin command) then reset reading_file to 0. |
| |
| 1999-08-09 Paul D. Smith <psmith@gnu.org> |
| |
| * maintMakefile: Use g in sed (s///g) to replace >1 variable per |
| line. |
| |
| * Makefile.DOS.template [__MSDOS__]: Fix mostlyclean-aminfo to |
| remove the right files. |
| |
| 1999-08-01 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * function.c (msdos_openpipe) [__MSDOS__]: *Really* return a FILE |
| ptr. |
| |
| 1999-08-01 Paul D. Smith <psmith@gnu.org> |
| |
| New jobserver algorithm to avoid a possible hole where we could |
| miss SIGCHLDs and get into a deadlock. The original algorithm was |
| suggested by Roland McGrath with a nice refinement by Paul Eggert. |
| Many thanks as well to Tim Magill and Howard Chu, who also |
| provided many viable ideas and critiques. We all had a fun week |
| dreaming up interesting ways to use and abuse UNIX syscalls :). |
| |
| Previously we could miss a SIGCHLD if it happened after we reaped |
| the children but before we re-entered the blocking read. If this |
| happened to all makes and/or all children, make would never wake |
| up. |
| |
| We avoid this by having the SIGCHLD handler reset the blocking bit |
| on the jobserver pipe read FD (normally read does block in this |
| algorithm). Now if the handler is called between the time we reap |
| and the time we read(), and there are no tokens available, the |
| read will merely return with EAGAIN instead of blocking. |
| |
| * main.c (main): Set the blocking bit explicitly here. |
| * job.c (child_handler): If we have a jobserver pipe, set the |
| non-blocking bit for it. |
| (start_waiting_job): Move the token stuff back to new_job; if we |
| do it here then we're not controlling the number of remote jobs |
| started! |
| (new_job): Move the check for job slots to _after_ we've created a |
| child structure. If the read returns without getting a token, set |
| the blocking bit then try to reap_children. |
| |
| * make.h (EINTR_SET): Define to test errno if EINTR is available, |
| or 0 otherwise. Just some code cleanup. |
| * arscan.c (ar_member_touch): Use it. |
| * function.c (func_shell): Use it. |
| * job.c (reap_children): Use it. |
| * remake.c (touch_file): Use it. |
| |
| 1999-07-28 Paul D. Smith <psmith@gnu.org> |
| |
| * make.h: Define _() and N_() macros as passthrough to initiate |
| NLS support. |
| * <all>: Add _()/N_() around translatable strings. |
| |
| 1999-07-27 Paul D. Smith <psmith@gnu.org> |
| |
| * read.c: Make sure make.h comes before other headers. |
| |
| 1999-07-26 Paul D. Smith <psmith@gnu.org> |
| |
| * make.texinfo (Quick Reference): Update with the new features. |
| |
| 1999-07-25 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * remake.c [__MSDOS__]: Don't include variables.h, it's already |
| included. |
| |
| * function.c (msdos_openpipe) [__MSDOS__]: Return FILE ptr. |
| (func_shell) [__MSDOS__]: Fix the argument list. |
| |
| * Makefile.DOS.template: Update from Makefile.in. |
| |
| * README.DOS.template: Configure command fixed. |
| |
| * configh.dos.template: Update to provide definitions for |
| uintmax_t, fd_set_size_t, and HAVE_SELECT. |
| |
| 1999-07-24 Paul D. Smith <psmith@gnu.org> |
| |
| * Version 3.77.91 released. |
| |
| * configure.in: Changes to the boostrapping code: if build.sh.in |
| doesn't exist configure spits an error and generates an empty |
| build.sh file which causes make to be confused. |
| * maintMakefile: Don't build README early. |
| |
| 1999-07-23 Paul D. Smith <psmith@gnu.org> |
| |
| * job.c (my_job_token): This variable controls whether we've |
| handed our personal token to a subprocess or not. Note we could |
| probably infer this from the value of job_slots_used, but it's |
| clearer to just keep it separately. Job_slots_used isn't really |
| relevant when running the job server. |
| (free_job_token): New function: free a job token. If we don't |
| have one, no-op. If we have the personal token, reclaim it. If |
| we have another token, write it back to the pipe. |
| (reap_children): Call free_job_token. |
| (free_child): Call free_job_token. |
| (start_job_command): Remove duplicate test for '+' in the command. |
| If we don't appear to be running a recursive make, close the |
| jobserver filedescriptors. |
| (start_waiting_job): If our personal token is available, use that |
| instead of going to the server pipe. |
| (*): Add the token value to many debugging statements, and print |
| the child target name in addition to the ptr hex value. |
| Change the default "no token" value from '\0' to '-' so it looks |
| better in the output. |
| |
| * main.c (main): Install the child_handler with sigaction() |
| instead of signal() if we have it. On SysV systems, signal() uses |
| SysV semantics which are a pain. But sigaction() always does what |
| we want. |
| (main): If we got job server FDs from the environment, test them |
| to see if they're open. If not, the parent make closed them |
| because it didn't think we were a submake. Print a warning and |
| suggestion to use "+" on the submake invocation, and hard-set to |
| -j1 for this instance of make. |
| (main): Change the algorithm for assigning slots to be more |
| robust. Previously make checked to see if it thought a subprocess |
| was a submake and if so, didn't give it a token. Since make's |
| don't consume tokens we could spawn many of makes fighting for a |
| small number of tokens. Plus this is unreliable because submakes |
| might not be recognized by the parent (see above) then all the |
| tokens could be used up by unrecognized makes, and no one could |
| run. Now every make consumes a token from its parent. However, |
| the make can also use this token to spawn a child. If the make |
| wants more than one, it goes to the jobserver pipe. Thus there |
| will never be more than N makes running for -jN, and N*2 processes |
| (N makes and their N children). Every make can always run at |
| least one job, and we'll never deadlock. (Note the closing of the |
| pipe for non-submakes also solves this, but this is still a better |
| algorithm.) So! Only put N-1 tokens into the pipe, since the |
| topmost make keeps one for itself. |
| |
| * configure.in: Find sigaction. Disable job server support unless |
| the system provides it, in addition to either waitpid() or |
| wait3(). |
| |
| 1999-07-22 Rob Tulloh <rob_tulloh@dev.tivoli.com> |
| |
| * arscan.c (ar_member_touch) [WINDOWS32]: The ar_date field is a |
| string on Windows, not a timestamp. |
| |
| 1999-07-21 Paul D. Smith <psmith@gnu.org> |
| |
| * Version 3.77.90 released. |
| |
| * Makefile.am (AUTOMAKE_OPTIONS): Require automake 1.4. |
| |
| * function.c: Rearrange so we don't need to predeclare the |
| function_table array; K&R C compilers don't like that. |
| |
| * acinclude.m4 (AC_FUNC_SELECT): Ouch; this requires an ANSI C |
| compiler! Change to work with K&R compilers as well. |
| |
| * configure.in (AC_OUTPUT): Put build.sh back. I don't know how I |
| thought it would work this way :-/. We'll have to think of |
| something else. |
| * Makefile.am: Remove rule to create build.sh. |
| |
| * default.c (default_suffix_rules): Rearrange the default command |
| lines to conform to POSIX rules (put the filename argument $< |
| _after_ the OUTPUT_OPTION, not before it). |
| |
| * various: Changed !strncmp() calls to strneq() macros. |
| |
| * misc.c (sindex): Make slightly more efficient. |
| |
| * dir.c (file_impossible): Change savestring(X,strlen(X)) to xstrdup(). |
| * implicit.c (pattern_search): Ditto. |
| * main.c (enter_command_line_file): Ditto. |
| (main): Ditto. |
| * misc.c (copy_dep_chain): Ditto. |
| * read.c (read_makefile): Ditto. |
| (parse_file_seq): Ditto. |
| (tilde_expand): Ditto. |
| (multi_glob): Ditto. |
| * rule.c (install_pattern_rule): Ditto. |
| * variable.c (define_variable_in_set): Ditto. |
| (define_automatic_variables): Ditto. |
| * vpath.c (construct_vpath_list): Ditto. |
| |
| * misc.c (xrealloc): Some reallocs are non-standard: work around |
| them in xrealloc by calling malloc if PTR is NULL. |
| * main.c (main): Call xrealloc() directly instead of testing for |
| NULL. |
| |
| * function.c (func_sort): Don't try to free NULL; some older, |
| non-standard versions of free() don't like it. |
| |
| * configure.in (--enable-dmalloc): Install some support for using |
| dmalloc (http://www.dmalloc.com/) with make. Use --enable-dmalloc |
| with configure to enable it. |
| |
| * function.c (function_table_entry): Whoops! The function.c |
| rewrite breaks backward compatibility: all text to a function is |
| broken into arguments, and extras are ignored. So $(sort a,b,c) |
| returns "a"! Etc. Ouch. Fix it by making a positive value in |
| the REQUIRED_ARGS field mean exactly that many arguments to the |
| function; any "extras" are considered part of the last argument as |
| before. A negative value means at least that many, but may be |
| more: in this case all text is broken on commas. |
| (handle_function): Stop when we've seen REQUIRED_ARGS args, if >0. |
| (expand_builtin_function): Compare number of args to the absolute |
| value of REQUIRED_ARGS. |
| |
| 1999-07-20 Paul D. Smith <psmith@gnu.org> |
| |
| * job.c (start_job_command): Ensure that the state of the target |
| is cs_running. It might not be if we skipped all the lines due to |
| -n (for example). |
| |
| * commands.c (execute_file_commands): If we discover that the |
| command script is empty and succeed early, set cs_running so the |
| modtime of the target is still rechecked. |
| |
| * rule.c (freerule): Free the dependency list for the rule. |
| |
| * implicit.c (pattern_search): When turning an intermediate file |
| into a real target, keep the also_make list. |
| Free the dep->name if we didn't use it during enter_file(). |
| |
| 1999-07-16 Paul D. Smith <psmith@gnu.org> |
| |
| * read.c (read_makefile): Don't allocate the commands buffer until |
| we're sure we found a makefile and won't return early (mem leak). |
| |
| * job.c (start_job_command): Broken #ifdef test: look for F_SETFD, |
| not FD_SETFD. Close-on-exec isn't getting set on the bad_stdin |
| file descriptor and it's leaking :-/. |
| * getloadavg.c (getloadavg): Ditto. |
| |
| 1999-07-15 Paul D. Smith <psmith@gnu.org> |
| |
| * read.c (read_makefile): Fix some potential memory stomps parsing |
| `define' directives where no variable name is given. |
| |
| * function.c (func_call): Rename from func_apply. Various code |
| cleanup and tightening. |
| (function_table): Add "call" as a valid builtin function. |
| |
| * make.texinfo (Call Function): Document it. |
| |
| * NEWS: Announce it. |
| |
| 1999-07-09 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * variable.c (try_variable_definition) [__MSDOS__, WINDOWS32]: |
| Treat "override SHELL=" the same as just "SHELL=". |
| |
| 1999-07-09 Paul D. Smith <psmith@gnu.org> |
| |
| * job.c (start_waiting_job): Don't get a second job token if we |
| already have one; if we're waiting on the load to go down |
| start_waiting_job() might get called twice on the same file. |
| |
| * filedef.h (struct file): Add new field, mtime_before_update. |
| When notice_finished_file runs it assigns the cached last_mtime to |
| this field. |
| * remake.c (update_goal_chain): Notice that a file wasn't updated |
| by asking if it changed (g->changed) and comparing the current |
| cached time (last_mtime) with the previous one, stored in |
| mtime_before_update. The previous check ("did last_mtime changed |
| during the run of update_file?") fails for parallel builds because |
| last_mtime is set during reap_children, before update_file is run. |
| This causes update_goal_chain to always return -1 (nothing |
| rebuilt) when running parallel (-jN). This is OK during "normal" |
| builds since our caller (main) treats these cases identically in |
| that case, but if when rebuilding makefiles the difference is very |
| important, as it controls whether we re-exec or not. |
| * file.c (file_hash_enter): Copy the mtime_before_update field. |
| (snap_deps): Initialize mtime_before_update to -1. |
| * main.c (main): Initialize mtime_before_update on old (-o) and |
| new (-W) files. |
| |
| 1999-07-08 Paul D. Smith <psmith@gnu.org> |
| |
| * main.c (switches): Define a new switch -R (or |
| --no-builtin-variables). This option disables the defining of all |
| the GNU make builtin variables. |
| (main): If -R was given, force -r as well. |
| * default.c (define_default_variables): Test the new flag. |
| * make.h: Declare global flag. |
| * make.texinfo (Options Summary): Document the new option. |
| (Implicit Variables): Ditto. |
| |
| 1999-07-06 Paul D. Smith <psmith@gnu.org> |
| |
| * make.texinfo (Options Summary): Correct examples in |
| --print-data-base option summary (problem reported by David Morse |
| <morse@nichimen.com>). |
| |
| * arscan.c: Add support for archives in Windows (VC++). Frank |
| Libbrecht <frankl@abzx.belgium.hp.com> provided info on how to do |
| this. |
| * NMakefile.template (CFLAGS_any): Remove NO_ARCHIVES from the |
| compile line. |
| * build_w32.bat: Ditto. |
| |
| * remake.c (no_rule_error): Fix -include/sinclude so it doesn't |
| give errors if you try to -include the same file twice. |
| (updating_makefiles): New variable: we need to know this info in |
| no_rule_error() so we know whether to print an error or not. |
| (update_file_1): Unconditionally call no_rule_error(), don't try |
| to play games with the dontcare flag. |
| |
| 1999-06-14 Paul D. Smith <psmith@gnu.org> |
| |
| * make.texinfo (Remaking Makefiles): Add a description of how to |
| prevent implicit rule searches for makefiles. |
| |
| * make.1: Remove statement that make continues processing when -v |
| is given. |
| |
| 1999-06-14 Paul D. Smith <psmith@gnu.org> |
| |
| * read.c (read_makefile): Cast -1 arguments to |
| variable_expand_string() to long. Alexandre Sauve |
| <Alexandre.SAUVE@ifp.fr> reports that without casts, this breaks |
| on a NEC SUPER-UX SX-4 system (and it's wrong without a cast |
| anyway). Of course, (a) I'd really love to start using function |
| prototypes, and (b) there's a whole slew of issues related to int |
| vs. long and signed vs. unsigned in the length handling of |
| variable buffers, etc. Gross. Needs a complete mucking-out. |
| * expand.c (variable_expand): Ditto. |
| |
| * acinclude.m4 (AC_FUNC_SELECT): Slight enhancement for AIX 3.2 by |
| Lars Hecking <lhecking@nmrc.ucc.ie>. |
| |
| * read.c (get_next_mword): Allow colons to be escaped in target |
| names: fix for regression failure. |
| |
| 1999-04-26 Paul D. Smith <psmith@gnu.org> |
| |
| * main.c (main): Reset read_makefiles to empty after processing so |
| we get the right error message. |
| |
| 1999-04-25 Paul D. Smith <psmith@gnu.org> |
| |
| * make.texinfo: Updates to @dircategory and @direntry suggested by |
| Karl Berry <karl@cs.umb.edu>. |
| |
| 1999-04-23 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * job.c (start_job_command) [__MSDOS__]: Call unblock_sigs before |
| turning off dos_command_running, so child's signals produce the |
| right effect. |
| |
| * commands.c (fatal_error_signal) [__MSDOS__]: Use EXIT_FAILURE |
| instead of 1. |
| |
| 1999-04-18 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * configh.dos.template: Update to recognize that version 2.02 of |
| DJGPP contains sys_siglist stuff. |
| |
| 1999-04-14 Paul D. Smith <psmith@gnu.org> |
| |
| * make.texinfo (Options/Recursion): Document the job server. |
| (Parallel): Tweaks. |
| |
| 1999-04-13 Paul D. Smith <psmith@gnu.org> |
| |
| Implement a new "job server" feature; the implementation was |
| suggested by Howard Chu <hyc@highlandsun.com>. |
| |
| * configure.in (job-server): New disable option for job server |
| support--it's enabled by default. If it works well this will go |
| away. |
| |
| * NEWS: Summarize the new feature. |
| |
| * acconfig.h: New definition MAKE_JOBSERVER if job server support |
| is enabled. |
| * config.h-vms.template: Undef MAKE_JOBSERVER for this port. |
| * config.h.W32.template: Ditto. |
| * config.ami.template: Ditto. |
| |
| * main.c (struct command_switch): Add a new type: int_string. |
| (switches[]) Use int_string for -j if MAKE_JOBSERVER. |
| (init_switches): Initialize the new int_string switch type. |
| (print_usage): New function, extracted from decode_switches(). |
| (decode_switches): Call it. Decode the new int_string switch type. |
| (define_makeflags): Add new int_string switch data to MAKEFLAGS. |
| (job_fds[]) Array to contain the pipe file descriptors. |
| (main): Parse the job_slots_str option results. If necessary, |
| create the pipe and seed it with tokens. Set the non-blocking bit |
| for the read fd. Enable the signal handler for SIGCHLD even if we |
| have a non-hanging wait; it's needed to interrupt the select() in |
| job.c:start_waiting_job(). |
| |
| * make.h: Declare job_fds[]. |
| |
| * job.h (struct child): Add job_token field to store the token for |
| this job (if any). |
| |
| * job.c (reap_children): When a child is fully reaped, release the |
| token back into the pipe. |
| (free_child): If the child to be freed still has a token, put it |
| back. |
| (new_job): Initialize the job_token member. |
| (start_waiting_job): For local jobs, if we're using the pipe, get |
| a token before we check the load, etc. We do this by performing a |
| non-blocking read in a loop. If the read fails, no token is |
| available. Do a select on the fd to wait for a token. We need to |
| re-enable the signal handler for SIGCHLD even if we have a |
| non-hanging waitpid() or wait3(), so that the signal will |
| interrupt the select() and we can wake up to reap children. |
| (child_handler): Re-enable the signal handler. The count is still |
| kept although it's not needed or used unless you don't have |
| waitpid() or wait3(). |
| |
| 1999-04-10 Paul D. Smith <psmith@gnu.org> |
| |
| * main.c (main): Reset the considered bit on all the makefiles if |
| something failed to update; we need to examine them again if they |
| appear as normal targets in order to get the proper error message. |
| |
| 1999-04-09 Paul D. Smith <psmith@gnu.org> |
| |
| Performance enhancement from Tim Magill <tim.magill@telops.gte.com>. |
| |
| * remake.c (update_file): If you have large numbers of |
| dependencies and you run in parallel, make can spend considerable |
| time each pass through the graph looking at branches it has |
| already seen. Since we only reap_children() when starting a pass, |
| not in the middle, if a branch has been seen already in that pass |
| nothing interesting can happen until the next pass. So, we toggle |
| a bit saying whether we've seen this target in this pass or not. |
| (update_goal_chain): Initially set the global considered toggle to |
| 1, since all targets initialize their boolean to 0. At the end of |
| each pass, toggle the global considered variable. |
| * filedef.h (struct file): Per-file considered toggle bit. |
| * file.c: New global toggle variable considered. |
| |
| 1999-04-05 Paul D. Smith <psmith@gnu.org> |
| |
| * arscan.c (ar_scan): Added support for ARFZMAG (compressed |
| archives?) for Digital UNIX C++. Information provided by |
| Patrick E. Krogel <pekrogel@mtu.edu>. |
| (ar_member_touch): Ditto. |
| |
| 1999-04-03 Paul D. Smith <psmith@gnu.org> |
| |
| * remake.c (f_mtime): If: a) we found a file and b) we didn't |
| create it and c) it's not marked as an implicit target and d) it |
| is marked as an intermediate target, then it was so marked due to |
| an .INTERMEDIATE special target, but it already existed in the |
| directory. In this case, unset the intermediate flag so we won't |
| delete it when make is done. It feels like it would be cleaner to |
| put this check in update_file_1() but I worry it'll get missed... |
| |
| 1999-04-01 Paul D. Smith <psmith@gnu.org> |
| |
| * job.c (construct_command_argv_internal): Use bcopy() to copy |
| overlapping strings, rather than strcpy(). ISO C says the latter |
| is undefined. Found this in a bug report from 1996! Ouch! |
| |
| 1999-03-31 Paul D. Smith <psmith@gnu.org> |
| |
| * read.c (readline): Ignore carriage returns at the end of the |
| line, to allow Windows-y CRLF line terminators. |
| |
| 1999-03-30 Paul D. Smith <psmith@gnu.org> |
| |
| * configure.in: Don't put build.sh here, since build.sh.in doesn't |
| exist initially. This cause autoreconf and automake to fail when |
| run on a clean CVS checkout. Instead, we create build.sh in the |
| Makefile (see below). |
| |
| * Makefile.am: Remove BUILT_SOURCES; this is no longer relevant. |
| Put those files directly into EXTRA_DIST so they're distributed. |
| Create a local build rule to create build.sh. |
| Create a local maintainer-clean rule to delete all the funky |
| maintainers files. |
| |
| * maintMakefile: Makefile.in depends on README, since automake |
| fails if it doesn't exist. Also don't remove glob/Makefile.in |
| here, as it causes problems. |
| |
| 1999-03-26 Paul D. Smith <psmith@gnu.org> |
| |
| * configure.in: Substitute GLOBLIB if we need the link the |
| glob/libglob.a library. |
| * Makefile.am (make_LDADD): Use the subst variable GLOBLIB so we |
| don't link the local libglob.a at all if we don't need it. |
| * build.template: Don't compile glob/*.o unless we want globlib. |
| * maintMakefile (build.sh.in): Substitute the glob/*.o files |
| separately. |
| |
| 1999-03-25 Paul D. Smith <psmith@gnu.org> |
| |
| * make.texinfo: Various typos and additions, pointed out by James |
| G. Sack <jsack@dornfeld.com>. |
| |
| 1999-03-22 Paul D. Smith <psmith@gnu.org> |
| |
| * make.texinfo (Functions): Add a new section documenting the new |
| $(error ...) and $(warning ...) functions. Also updated copyright |
| dates. |
| * NEWS: Updated for the new functions. |
| * function.c (func_error): Implement the new $(error ...) and |
| $(warning ...) functions. |
| (function_table): Insert new functions into the table. |
| (func_firstword): Don't call find_next_token() with argv[0] |
| itself, since that function modifies the pointer. |
| * function.c: Cleanups and slight changes to the new method of |
| calling functions. |
| |
| 1999-03-20 Han-Wen Nienhuys <hanwen@cs.uu.nl> |
| |
| * function.c: Rewrite to use one C function per make function, |
| instead of a huge switch statement. Also allows some cleanup of |
| multi-architecture issues, and a cleaner API which makes things |
| like func_apply() simple. |
| |
| * function.c (func_apply): Initial implementation. Expand either |
| a builtin function or a make variable in the context of some |
| arguments, provided as $1, $2, ... $N. |
| |
| 1999-03-19 Eli Zaretskii <eliz@is.elta.co.il> |
| 1999-03-19 Rob Tulloh <rob_tulloh@dev.tivoli.com> |
| |
| * job.c (construct_command_argv_internal): Don't treat _all_ |
| backslashes as escapes, only those which really escape a special |
| character. This allows most normal "\" directory separators to be |
| treated normally. |
| |
| 1999-03-05 Paul D. Smith <psmith@gnu.org> |
| |
| * configure.in: Check for a system strdup(). |
| * misc.c (xstrdup): Created. Suggestion by Han-Wen Nienhuys |
| <hanwen@cs.uu.nl>. |
| * make.h: Prototype xstrdup(). |
| * remake.c (library_search): Use it. |
| * main.c (main): Use it. |
| (find_and_set_default_shell): Use it. |
| * job.c (construct_command_argv_internal): Use it. |
| * dir.c (find_directory): Use it. |
| |
| * Makefile.am, configure.in: Use AC_SUBST_FILE to insert the |
| maintMakefile instead of "include", to avoid automake 1.4 |
| incompatibility. |
| |
| 1999-03-04 Paul D. Smith <psmith@gnu.org> |
| |
| * amiga.c, amiga.h, ar.c, arscan.c, commands.c, commands.h, |
| * default.c, dep.h, dir.c, expand.c, file.c, filedef.h, function.c, |
| * implicit.c, job.c, job.h, main.c, make.h, misc.c, read.c, remake.c |
| * remote-cstms.c, remote-stub.c, rule.h, variable.c, variable.h, |
| * vpath.c, Makefile.ami, NMakefile.template, build.template, |
| * makefile.vms: Updated FSF address in the copyright notice. |
| |
| * variable.c (try_variable_definition): If we see a conditional |
| variable and we decide to set it, re-type it as recursive so it |
| will be expanded properly later. |
| |
| 1999-02-22 Paul D. Smith <psmith@gnu.org> |
| |
| * NEWS: Mention new .LIBPATTERNS feature. |
| |
| * make.texinfo (Libraries/Search): Describe the use and |
| ramifications of the new .LIBPATTERNS variable. |
| |
| * remake.c (library_search): Instead of searching only for the |
| hardcoded expansion "libX.a" for a library reference "-lX", we |
| obtain a list of patterns from the .LIBPATTERNS variable and |
| search those in order. |
| |
| * default.c: Added a new default variable .LIBPATTERNS. The |
| default for UNIX is "lib%.so lib%.a". Amiga and DOS values are |
| also provided. |
| |
| * read.c: Remove bogus HAVE_GLOB_H references; always include |
| vanilla glob.h. |
| |
| 1999-02-21 Paul D. Smith <psmith@gnu.org> |
| |
| * function.c (expand_function): Set value to 0 to avoid freeing it. |
| * variable.c (pop_variable_scope): Free the value of the variable. |
| (try_variable_definition): For simple variables, use |
| allocated_variable_expand() to avoid stomping on the variable |
| buffer when we still need it for other things. |
| |
| * arscan.c: Modified to support AIX 4.3 big archives. The changes |
| are based on information provided by Phil Adams |
| <padams@austin.ibm.com>. |
| |
| 1999-02-19 Paul D. Smith <psmith@gnu.org> |
| |
| * configure.in: Check to see if the GNU glob library is already |
| installed on the system. If so, _don't_ add -I./glob to the |
| compile line. Using the system glob code with the local headers |
| is very bad mojo! |
| Rewrite SCCS macros to use more autoconf facilities. |
| |
| * Makefile.am: Move -Iglob out of INCLUDES; it'll get added to |
| CPPFLAGS by configure now. |
| Automake 1.4 introduced its own "include" feature which conflicts |
| with the maintMakefile stuff. A hack that seems to work is add a |
| space before the include :-/. |
| |
| * build.template: Move -Iglob out of the compile line; it'll get |
| added to CPPFLAGS by configure now. |
| |
| 1999-02-16 Glenn D. Wolf <Glenn_Wolf@email.sps.mot.com> |
| |
| * arscan.c (ar_scan) [VMS]: Initialized VMS_member_date before |
| calling lbr$get_index since if the archive is empty, |
| VMS_get_member_info won't get called at all, and any leftover date |
| will be used. This bug shows up if any member of any archive is |
| made, followed by a dependency check on a different, empty |
| archive. |
| |
| 1998-12-13 Martin Zinser <zinser@decus.decus.de> |
| |
| * config.h-vms [VMS]: Set _POSIX_C_SOURCE. Redefine the getopt |
| functions so we don't use the broken VMS versions. |
| * makefile.com [VMS]: Allow debugging. |
| * dir.c (dir_setup_glob) [VMS]: Don't extern stat() on VMS. |
| |
| 1998-11-30 Paul D. Smith <psmith@gnu.org> |
| |
| * signame.c (init_sig): Check the sizes of signals being set up to |
| avoid array overwrites (if the system headers have problems). |
| |
| 1998-11-17 Paul D. Smith <psmith@gnu.org> |
| |
| * read.c (record_files): Clean up some indentation. |
| |
| 1998-11-08 Han-Wen Nienhuys <hanwen@cs.uu.nl> |
| |
| * rule.c (print_rule_data_base): Fix arguments to fatal() call. |
| |
| 1998-10-13 Paul D. Smith <psmith@gnu.org> |
| |
| * job.c (start_job_command): If the command list resolves to no |
| chars at all (e.g.: "foo:;$(empty)") then command_ptr is NULL; |
| quit early. |
| |
| 1998-10-12 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> |
| |
| * rule.c (print_rule_data_base): Ignore num_pattern_rules if it is |
| zero. |
| |
| 1998-10-09 Paul D. Smith <psmith@gnu.org> |
| |
| * read.c (read_makefile): Allow non-empty lines to expand to the |
| empty string after variable, etc., expansion, and be ignored. |
| |
| 1998-09-21 Paul D. Smith <psmith@gnu.org> |
| |
| * job.c (construct_command_argv_internal): Only add COMMAND.COM |
| "@echo off" line for non-UNIXy shells. |
| |
| 1998-09-09 Paul D. Smith <psmith@gnu.org> |
| |
| * w32/subproc/sub_proc.c: Add in missing HAVE_MKS_SHELL tests. |
| |
| 1998-09-04 Paul D. Smith <psmith@gnu.org> |
| |
| * read.c (read_makefile): If we hit the "missing separator" error, |
| check for the common case of 8 spaces instead of a TAB and give an |
| extra comment to help people out. |
| |
| 1998-08-29 Paul Eggert <eggert@twinsun.com> |
| |
| * configure.in (AC_STRUCT_ST_MTIM_NSEC): |
| Renamed from AC_STRUCT_ST_MTIM. |
| |
| * acinclude.m4 (AC_STRUCT_ST_MTIM_NSEC): Likewise. |
| Port to UnixWare 2.1.2 and pedantic Solaris 2.6. |
| |
| * acconfig.h (ST_MTIM_NSEC): |
| Renamed from HAVE_ST_MTIM, with a new meaning. |
| |
| * filedef.h (FILE_TIMESTAMP_FROM_S_AND_NS): |
| Use new ST_MTIM_NSEC macro. |
| |
| 1998-08-26 Paul D. Smith <psmith@gnu.org> |
| |
| * remake.c (check_dep): For any intermediate file, not just |
| secondary ones, try implicit and default rules if no explicit |
| rules are given. I'm not sure why this was restricted to |
| secondary rules in the first place. |
| |
| 1998-08-24 Paul D. Smith <psmith@gnu.org> |
| |
| * make.texinfo (Special Targets): Update documentation for |
| .INTERMEDIATE: if used with no dependencies, then it does nothing; |
| old docs said it marked all targets as intermediate, which it |
| didn't... and which would be silly :). |
| |
| * implicit.c (pattern_search): If we find a dependency in our |
| internal tables, make sure it's not marked intermediate before |
| accepting it as a found_file[]. |
| |
| 1998-08-20 Paul D. Smith <psmith@gnu.org> |
| |
| * ar.c (ar_glob): Use existing alpha_compare() with qsort. |
| (ar_glob_alphacompare): Remove it. |
| |
| Modify Paul Eggert's patch so we don't abandon older systems: |
| |
| * configure.in: Warn the user if neither waitpid() nor wait3() is |
| available. |
| |
| * job.c (WAIT_NOHANG): Don't syntax error on ancient hosts. |
| (child_handler, dead_children): Define these if WAIT_NOHANG is not |
| available. |
| (reap_children): Only track the dead_children count if no |
| WAIT_NOHANG. Otherwise, it's a boolean. |
| |
| * main.c (main): Add back signal handler if no WAIT_NOHANG is |
| available; only use default signal handler if it is. |
| |
| 1998-08-20 Paul Eggert <eggert@twinsun.com> |
| |
| Install a more robust signal handling mechanism for systems which |
| support it. |
| |
| * job.c (WAIT_NOHANG): Define to a syntax error if our host |
| is truly ancient; this should never happen. |
| (child_handler, dead_children): Remove. |
| (reap_children): Don't try to keep separate track of how many |
| dead children we have, as this is too bug-prone. |
| Just ask the OS instead. |
| (vmsHandleChildTerm): Fix typo in error message; don't mention |
| child_handler. |
| |
| * main.c (main): Make sure we're not ignoring SIGCHLD/SIGCLD; |
| do this early, before we could possibly create a subprocess. |
| Just use the default behavior; don't have our own handler. |
| |
| 1998-08-18 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * read.c (read_makefile) [__MSDOS__, WINDOWS32]: Add code to |
| recognize library archive members when dealing with drive spec |
| mess. Discovery and initial fix by George Racz <gracz@mincom.com>. |
| |
| 1998-08-18 Paul D. Smith <psmith@gnu.org> |
| |
| * configure.in: Check for stdlib.h explicitly (some hosts have it |
| but don't have STDC_HEADERS). |
| * make.h: Use HAVE_STDLIB_H. Clean up some #defines. |
| * config.ami: Re-compute based on new config.h.in contents. |
| * config.h-vms: Ditto. |
| * config.h.W32: Ditto. |
| * configh.dos: Ditto. |
| |
| * dir.c (find_directory) [WINDOWS32]: Windows stat() fails if |
| directory names end with `\' so strip it. |
| |
| 1998-08-17 Paul D. Smith <psmith@gnu.org> |
| |
| * make.texinfo: Added copyright year to the printed copy. Removed |
| the price from the manual. Change the top-level reference to |
| running make to be "Invoking make" instead of "make Invocation", |
| to comply with GNU doc standards. |
| |
| * make.h (__format__, __printf__): Added support for these in |
| __attribute__ macro. |
| (message, error, fatal): Use ... prototype form under __STDC__. |
| Add __format__ attributes for printf-style functions. |
| |
| * configure.in (AC_FUNC_VPRINTF): Check for vprintf()/_doprnt(). |
| |
| * misc.c (message, error, fatal): Add preprocessor stuff to enable |
| creation of variable-argument functions with appropriate |
| prototypes, that works with ANSI, pre-ANSI, varargs.h, stdarg.h, |
| v*printf(), _doprnt(), or none of the above. Culled from GNU |
| fileutils and slightly modified. |
| (makefile_error, makefile_error): Removed (merged into error() and |
| fatal(), respectively). |
| * amiga.c: Use them. |
| * ar.c: Use them. |
| * arscan.c: Use them. |
| * commands.c: Use them. |
| * expand.c: Use them. |
| * file.c: Use them. |
| * function.c: Use them. |
| * job.c: Use them. |
| * main.c: Use them. |
| * misc.c: Use them. |
| * read.c: Use them. |
| * remake.c: Use them. |
| * remote-cstms.c: Use them. |
| * rule.c: Use them. |
| * variable.c: Use them. |
| |
| * make.h (struct floc): New structure to store file location |
| information. |
| * commands.h (struct commands): Use it. |
| * variable.c (try_variable_definition): Use it. |
| * commands.c: Use it. |
| * default.c: Use it. |
| * file.c: Use it. |
| * function.c: Use it. |
| * misc.c: Use it. |
| * read.c: Use it. |
| * rule.c: Use it. |
| |
| 1998-08-16 Paul Eggert <eggert@twinsun.com> |
| |
| * filedef.h (FILE_TIMESTAMP_PRINT_LEN_BOUND): Add 10, for nanoseconds. |
| |
| 1998-08-16 Paul Eggert <eggert@twinsun.com> |
| |
| * filedef.h (FLOOR_LOG2_SECONDS_PER_YEAR): New macro. |
| (FILE_TIMESTAMP_PRINT_LEN_BOUND): Tighten bound, and try to |
| make it easier to understand. |
| |
| 1998-08-14 Paul D. Smith <psmith@gnu.org> |
| |
| * read.c (read_makefile): We've already unquoted any colon chars |
| by the time we're done reading the targets, so arrange for |
| parse_file_seq() on the target list to not do so again. |
| |
| 1998-08-05 Paul D. Smith <psmith@gnu.org> |
| |
| * configure.in: Added glob/configure.in data. We'll have the glob |
| code include the regular make config.h, rather than creating its |
| own. |
| |
| * getloadavg.c (main): Change return type to int. |
| |
| 1998-08-01 Paul Eggert <eggert@twinsun.com> |
| |
| * job.c (reap_children): Ignore unknown children. |
| |
| 1998-07-31 Paul D. Smith <psmith@gnu.org> |
| |
| * make.h, filedef.h, dep.h, rule.h, commands.h, remake.c: |
| Add prototypes for functions. Some prototypes needed to be moved |
| in order to get #include order reasonable. |
| |
| 1998-07-30 Paul D. Smith <psmith@gnu.org> |
| |
| * make.h: Added MIN/MAX. |
| * filedef.h: Use them; remove FILE_TIMESTAMP_MIN. |
| |
| 1998-07-30 Paul Eggert <eggert@twinsun.com> |
| |
| Add support for sub-second timestamp resolution on hosts that |
| support it (just Solaris 2.6, so far). |
| |
| * acconfig.h (HAVE_ST_MTIM, uintmax_t): New undefs. |
| * acinclude.m4 (jm_AC_HEADER_INTTYPES_H, AC_STRUCT_ST_MTIM, |
| jm_AC_TYPE_UINTMAX_T): New defuns. |
| * commands.c (delete_target): Convert file timestamp to |
| seconds before comparing to archive timestamp. Extract mod |
| time from struct stat using FILE_TIMESTAMP_STAT_MODTIME. |
| * configure.in (C_STRUCT_ST_MTIM, jm_AC_TYPE_UINTMAX_T): Add. |
| (AC_CHECK_LIB, AC_CHECK_FUNCS): Add clock_gettime. |
| * file.c (snap_deps): Use FILE_TIMESTAMP, not time_t. |
| (file_timestamp_now, file_timestamp_sprintf): New functions. |
| (print_file): Print file timestamps as FILE_TIMESTAMP, not |
| time_t. |
| * filedef.h: Include <inttypes.h> if available and if HAVE_ST_MTIM. |
| (FILE_TIMESTAMP, FILE_TIMESTAMP_STAT_MODTIME, FILE_TIMESTAMP_MIN, |
| FILE_TIMESTAMPS_PER_S, FILE_TIMESTAMP_FROM_S_AND_NS, |
| FILE_TIMESTAMP_DIV, FILE_TIMESTAMP_MOD, FILE_TIMESTAMP_S, |
| FILE_TIMESTAMP_NS, FILE_TIMESTAMP_PRINT_LEN_BOUND): New macros. |
| (file_timestamp_now, file_timestamp_sprintf): New decls. |
| (struct file.last_mtime, f_mtime, file_mtime_1, NEW_MTIME): |
| time_t -> FILE_TIMESTAMP. |
| * implicit.c (pattern_search): Likewise. |
| * vpath.c (vpath_search, selective_vpath_search): Likewise. |
| * main.c (main): Likewise. |
| * remake.c (check_dep, name_mtime, library_search, f_mtime): Likewise. |
| (f_mtime): Use file_timestamp_now instead of `time'. |
| Print file timestamp with file_timestamp_sprintf. |
| * vpath.c (selective_vpath_search): Extract file time stamp from |
| struct stat with FILE_TIMESTAMP_STAT_MODTIME. |
| |
| 1998-07-28 Paul D. Smith <psmith@gnu.org> |
| |
| * Version 3.77 released. |
| |
| * dosbuild.bat: Change to DOS CRLF line terminators. |
| |
| * make-stds.texi: Update from latest version. |
| |
| * make.texinfo (Options Summary): Clarify that the -r option |
| affects only rules, not builtin variables. |
| |
| 1998-07-27 Paul D. Smith <psmith@gnu.org> |
| |
| * make.h: Make __attribute__ resolve to empty for non-GCC _and_ |
| for GCC pre-2.5.x. |
| |
| * misc.c (log_access): Print UID/GID's as unsigned long int for |
| maximum portability. |
| |
| * job.c (reap_children): Print PIDs as long int for maximum |
| portability. |
| |
| 1998-07-24 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * Makefile.DOS (*_INSTALL, *_UNINSTALL): Replace `true' with `:'. |
| |
| 1998-07-25 Paul D. Smith <psmith@gnu.org> |
| |
| * Version 3.76.94 released. |
| |
| 1998-07-23 Paul D. Smith <psmith@gnu.org> |
| |
| * config.h.W32.template: Make sure all the #defines of macros here |
| have a value (e.g., use ``#define HAVE_STRING_H 1'' instead of |
| just ``#define HAVE_STRING_H''. Keeps the preprocessor happy in |
| some contexts. |
| |
| * make.h: Remove __attribute__((format...)) stuff; using it with |
| un-prototyped functions causes older GCC's to fail. |
| |
| * Version 3.76.93 released. |
| |
| 1998-07-22 Paul D. Smith <psmith@gnu.org> |
| |
| * file.c (print_file_data_base): Fix average calculation. |
| |
| 1998-07-20 Paul D. Smith <psmith@gnu.org> |
| |
| * main.c (die): Postpone the chdir() until after |
| remove_intermediates() so that intermediate targets with relative |
| pathnames are removed properly. |
| |
| 1998-07-17 Paul D. Smith <psmith@gnu.org> |
| |
| * filedef.h (struct file): New flag: did we print an error or not? |
| |
| * remake.c (no_rule_error): New function to print error messages, |
| extraced from remake_file(). |
| |
| * remake.c (remake_file): Invoke the new error print function. |
| (update_file_1): Invoke the error print function if we see that we |
| already tried this target and it failed, but that an error wasn't |
| printed for it. This can happen if a file is included with |
| -include or sinclude and couldn't be built, then later is also |
| the dependency of another target. Without this change, make just |
| silently stops :-/. |
| |
| 1998-07-16 Paul D. Smith <psmith@gnu.org> |
| |
| * make.texinfo: Removed "beta" version designator. |
| Updated ISBN for the next printing. |
| |
| 1998-07-13 Paul Eggert <eggert@twinsun.com> |
| |
| * acinclude.m4: New AC_LFS macro to determine if special compiler |
| flags are needed to allow access to large files (e.g., Solaris 2.6). |
| * configure.in: Invoke it. |
| |
| 1998-07-08 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * Makefile.DOS: track changes in Makefile.in. |
| |
| 1998-07-07 Paul D. Smith <psmith@gnu.org> |
| |
| * remote-cstms.c (start_remote_job): Move gethostbyaddr() to the |
| top so host is initialized early enough. |
| |
| * acinclude.m4: New file. Need some special autoconf macros to |
| check for network libraries (-lsocket, -lnsl, etc.) when |
| configuring Customs. |
| |
| * configure.in (make_try_customs): Invoke new network libs macro. |
| |
| 1998-07-06 Paul D. Smith <psmith@gnu.org> |
| |
| * Version 3.76.92 released. |
| |
| * README.customs: Added to the distribution. |
| |
| * configure.in (make_try_customs): Rewrite to require an installed |
| Customs library, rather than looking at the build directory. |
| |
| * Makefile.am (man_MANS): Install make.1. |
| * make.1: Renamed from make.man. |
| |
| * make.texinfo (Bugs): New mailing list address for GNU make bug |
| reports. |
| |
| 1998-07-02 Paul D. Smith <psmith@gnu.org> |
| |
| * Version 3.76.91 released. |
| |
| * default.c: Added default rule for new-style RCS master file |
| storage; ``% :: RCS/%''. |
| Added default rules for DOS-style C++ files with suffix ".cpp". |
| They use the new LINK.cpp and COMPILE.cpp macros, which are set by |
| default to be equal to LINK.cc and COMPILE.cc. |
| |
| 1998-06-19 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * job.c (start_job_command): Reset execute_by_shell after an empty |
| command was skipped. |
| |
| 1998-06-09 Paul D. Smith <psmith@gnu.org> |
| |
| * main.c (main): Keep track of the temporary filename created when |
| reading a makefile from stdin (-f-) and attempt to remove it |
| as soon as we know we're not going to re-exec. If we are, add it |
| to the exec'd make's cmd line with "-o" so the exec'd make doesn't |
| try to rebuild it. We still have a hole: if make re-execs then |
| the temporary file will never be removed. To fix this we'd need |
| a brand new option that meant "really delete this". |
| * AUTHORS, getopt.c, getopt1.c, getopt.h, main.c (print_version): |
| Updated mailing addresses. |
| |
| 1998-06-08 Paul D. Smith <psmith@gnu.org> |
| |
| * main.c (main): Andreas Luik <luik@isa.de> points out that the |
| check for makefile :: rules with commands but no dependencies |
| causing a loop terminates incorrectly. |
| |
| * maintMakefile: Make a template for README.DOS to update version |
| numbers. |
| |
| 1998-05-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> |
| |
| * remake.c (update_file_1): Don't free the memory for the |
| dependency structure when dropping a circular dependency. |
| |
| 1998-05-30 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * dir.c (file_exists_p, file_impossible_p, file_impossible) |
| [__MSDOS__, WINDOWS32]: Retain trailing slash in "d:/", and make |
| dirname of "d:foo" be "d:". |
| |
| 1998-05-26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> |
| |
| * read.c (read_makefile): Avoid running past EOS when scanning |
| file name after `include'. |
| |
| 1998-05-26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> |
| |
| * make.texinfo (Flavors): Correct description of conditional |
| assignment, which is not equivalent to ifndef. |
| (Setting): Likewise. |
| |
| 1998-05-24 Paul D. Smith <psmith@gnu.org> |
| |
| * arscan.c (ar_name_equal): strncmp() might be implemented as a |
| macro, so don't put preprocessor conditions inside the arguments |
| list. |
| |
| 1998-05-23 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * read.c (read_makefile) [__MSDOS__, WINDOWS32]: Skip colons in |
| drive specs when parsing targets, target-specific variables and |
| static pattern rules. A colon can only be part of drive spec if |
| it is after the first letter in a token. |
| |
| 1998-05-22 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * remake.c (f_mtime) [__MSDOS__]: Allow up to 3 sec of skew before |
| yelling bloody murder. |
| |
| * dosbuild.bat: Use -DINCLUDEDIR= and -DLIBDIR= where appropriate. |
| |
| * read.c (parse_file_seq): Combine the special file-handling code |
| for WINDOWS32 and __MSDOS__ into a single snippet. |
| (get_next_mword) [__MSDOS__, WINDOWS32]: Allow a word to include a |
| colon as part of a drive spec. |
| |
| * job.c (batch_mode_shell) [__MSDOS__]: Declare. |
| |
| 1998-05-20 Paul D. Smith <psmith@gnu.org> |
| |
| * Version 3.76.90 released. |
| |
| 1998-05-19 Paul D. Smith <psmith@gnu.org> |
| |
| * make.texinfo (Make Errors): Added a new appendix describing |
| common errors make might generate and how to resolve them (or at |
| least more information on what they mean). |
| |
| * maintMakefile (NMAKEFILES): Use the new automake 1.3 feature |
| to create a dependency file to construct Makefile.DOS, SMakefile, |
| and NMakefile. |
| (.dep_segment): Generate the dependency fragment file. |
| |
| 1998-05-14 Paul D. Smith <psmith@gnu.org> |
| |
| * make.man: Minor changes. |
| |
| 1998-05-13 Paul D. Smith <psmith@gnu.org> |
| |
| * function.c (pattern_matches,expand_function): Change variables |
| and types named "word" to something else, to avoid compilation |
| problems on Cray C90 Unicos. |
| * variable.h: Modify the function prototype. |
| |
| 1998-05-11 Rob Tulloh <rob_tulloh@tivoli.com> |
| |
| * job.c (construct_command_argv_internal) [WINDOWS32]: Turn off |
| echo when using a batch file, and make sure the command ends in a |
| newline. |
| |
| 1998-05-03 Paul D. Smith <psmith@gnu.org> |
| |
| * configure.in (make_try_customs): Add some customs flags if the |
| user configures custom support. |
| |
| * job.c, remote-cstms.c: Merge in changes for custom library. |
| |
| * remote-stub.c: Add option to stub start_remote_job_p(). |
| |
| 1998-05-01 Paul D. Smith <psmith@gnu.org> |
| |
| * remake.c (f_mtime): Install VPATH+ handling for archives; use |
| the hname field instead of the name field, and rehash when |
| appropriate. |
| |
| 1998-04-30 Paul D. Smith <psmith@gnu.org> |
| |
| * rule.c (print_rule_data_base): Print out any pattern-specific |
| variable values into the rules database. |
| |
| * variable.c (print_variable_set): Make this variable extern, to |
| be called by print_rule_data_base() for pattern-specific variables. |
| |
| * make.texinfo (Pattern-specific): Document pattern-specific |
| variables. |
| |
| 1998-04-29 Paul D. Smith <psmith@gnu.org> |
| |
| * expand.c (variable_expand_for_file): Make static; its only |
| called internally. Look up this target in the list of |
| pattern-specific variables and insert the variable set into the |
| queue to be searched. |
| |
| * filedef.h (struct file): Add a new field to hold the |
| previously-found pattern-specific variable reference. Add a new |
| flag to remember whether we already searched for this file. |
| |
| * rule.h (struct pattern_var): New structure for storing |
| pattern-specific variable values. Define new function prototypes. |
| |
| * rule.c: New variables pattern_vars and last_pattern_var for |
| storage and handling of pattern-specific variable values. |
| (create_pattern_var): Create a new pattern-specific variable value |
| structure. |
| (lookup_pattern_var): Try to match a target to one of the |
| pattern-specific variable values. |
| |
| 1998-04-22 Paul D. Smith <psmith@gnu.org> |
| |
| * make.texinfo (Target-specific): Document target-specific |
| variables. |
| |
| 1998-04-21 Paul D. Smith <psmith@gnu.org> |
| |
| * variable.c (define_variable_in_set): Made globally visible. |
| (lookup_variable_in_set): New function: like lookup_variable but |
| look only in a specific variable set. |
| (target_environment): Use lookup_variable_in_set() to get the |
| correct export rules for a target-specific variable. |
| (create_new_variable_set): Create a new variable set, and just |
| return it without installing it anywhere. |
| (push_new_variable_scope): Reimplement in terms of |
| create_new_variable_set. |
| |
| * read.c (record_target_var): Like record_files, but instead of |
| files create a target-specific variable value for each of the |
| listed targets. Invoked from read_makefile() when the target line |
| turns out to be a target-specific variable assignment. |
| |
| 1998-04-19 Paul D. Smith <psmith@gnu.org> |
| |
| * read.c (read_makefile): Rewrite the entire target parsing |
| section to implement target-specific variables. In particular, we |
| cannot expand the entire line as soon as it's read in, since we |
| may want to evaluate parts of it with different variable contexts |
| active. Instead, start expanding from the beginning until we find |
| the `:' (or `::'), then determine what kind of line this is and |
| continue appropriately. |
| |
| * read.c (get_next_mword): New function to parse a makefile line |
| by "words", considering an entire variable or function as one |
| word. Return the type read in, along with its starting position |
| and length. |
| (enum make_word_type): The types of words that are recognized by |
| get_next_mword(). |
| |
| * variable.h (struct variable): Add a flag to specify a per-target |
| variable. |
| |
| * expand.c: Make variable_buffer global. We need this during the |
| new parsing of the makefile. |
| (variable_expand_string): New function. Like variable_expand(), |
| but start at a specific point in the buffer, not the beginning. |
| (variable_expand): Rewrite to simply call variable_expand_string(). |
| |
| 1998-04-13 Paul D. Smith <psmith@gnu.org> |
| |
| * remake.c (update_goal_chain): Allow the rebuilding makefiles |
| step to use parallel jobs. Not sure why this was disabled: |
| hopefully we won't find out :-/. |
| |
| 1998-04-11 Paul D. Smith <psmith@gnu.org> |
| |
| * main.c (main): Set the CURDIR makefile variable. |
| * make.texinfo (Recursion): Document it. |
| |
| 1998-03-17 Paul D. Smith <psmith@gnu.org> |
| |
| * misc.c (makefile_fatal): If FILE is nil, invoke plain fatal(). |
| * variable.c (try_variable_definition): Use new feature. |
| |
| 1998-03-10 Paul D. Smith <psmith@gnu.org> |
| |
| * main.c (main): Don't pass included, rebuilt makefiles to |
| re-exec'd makes with -o. Reopens a possible loop, but it caused |
| too many problems. |
| |
| 1998-03-02 Paul D. Smith <psmith@gnu.org> |
| |
| * variable.c (try_variable_definition): Implement ?=. |
| * make.texinfo (Setting): Document it. |
| |
| 1998-02-28 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * job.c (start_job_command): Reset execute_by_shell after an empty |
| command, like ":", has been seen. |
| |
| Tue Oct 07 15:00:00 1997 Phil Brooks <phillip_brooks@hp.com> |
| |
| * make.h [WINDOWS32]: make case sensitivity configurable |
| * dir.c [WINDOWS32]: make case sensitivity configurable |
| * README.W32: Document case sensitivity |
| * config.ami: Share case warping code with Windows |
| |
| Mon Oct 6 18:48:45 CDT 1997 Rob Tulloh <rob_tulloh@dev.tivoli.com> |
| |
| * w32/subproc/sub_proc.c: Added support for MKS toolkit shell |
| (turn on HAVE_MKS_SHELL). |
| * read.c [WINDOWS32]: Fixed a problem with multiple target rules |
| reported by Gilbert Catipon (gcatipon@tibco.com). If multiple |
| path tokens in a rule did not have drive letters, make would |
| incorrectly concatenate the 2 tokens together. |
| * main.c/variable.c [WINDOWS32]: changed SHELL detection code to |
| follow what MSDOS did. In addition to watching for SHELL variable |
| updates, make's main will attempt to default the value of SHELL |
| before and after makefiles are parsed. |
| * job.c/job.h [WINDOWS32]: The latest changes made to enable use |
| of the GNUWIN32 shell from make could cause make to fail due to a |
| concurrency condition between parent and child processes. Make |
| now creates a batch file per job instead of trying to reuse the |
| same singleton batch file. |
| * job.c/job.h/function.c/config.h.W32 [WINDOWS32]: Renamed macro |
| from HAVE_CYGNUS_GNUWIN32_TOOLS to BATCH_MODE_ONLY_SHELL. Reworked |
| logic to reduce complexity. WINDOWS32 now uses the unixy_shell |
| variable to detect Bourne-shell compatible environments. There is |
| also a batch_mode_shell variable that determines whether not |
| command lines should be executed via script files. A WINDOWS32 |
| system with no sh.exe installed would have unixy_shell set to |
| FALSE and batch_mode_shell set to TRUE. If you have a unixy shell |
| that does not behave well when invoking things via 'sh -c xxx', |
| you may want to turn on BATCH_MODE_ONLY_SHELL and see if things |
| improve. |
| * NMakefile: Added /D DEBUG to debug build flags so that unhandled |
| exceptions could be debugged. |
| |
| Mon Oct 6 00:04:25 1997 Rob Tulloh <rob_tulloh@dev.tivoli.com> |
| |
| * main.c [WINDOWS32]: The function define_variable() does not |
| handle NULL. Test before calling it to set Path. |
| * main.c [WINDOWS32]: Search Path again after makefiles have been |
| parsed to detect sh.exe. |
| * job.c [WINDOWS32]: Added support for Cygnus GNU WIN32 tools. |
| To use, turn on HAVE_CYGNUS_GNUWIN32_TOOLS in config.h.W32. |
| * config.h.W32: Added HAVE_CYGNUS_GNUWIN32_TOOLS macro. |
| |
| Sun Oct 5 22:43:59 1997 John W. Eaton <jwe@bevo.che.wisc.edu> |
| |
| * glob/glob.c (glob_in_dir) [VMS]: Globbing shouldn't be |
| case-sensitive. |
| * job.c (child_execute_job) [VMS]: Use a VMS .com file if the |
| command contains a newline (e.g. from a define/enddef block). |
| * vmsify.c (vmsify): Return relative pathnames wherever possible. |
| * vmsify.c (vmsify): An input string like "../.." returns "[--]". |
| |
| Wed Oct 1 15:45:09 1997 Rob Tulloh <rob_tulloh@tivoli.com> |
| |
| * NMakefile: Changed nmake to $(MAKE). |
| * subproc.bat: Take the make command name from the command |
| line. If no command name was given, default to nmake. |
| * job.c [MSDOS, WINDOWS32]: Fix memory stomp: temporary file names |
| are now always created in heap memory. |
| * w32/subproc/sub_proc.c: New implementation of make_command_line() |
| which is more compatible with different Bourne shell implementations. |
| Deleted the now obsolete fix_command_line() function. |
| * main.c [WINDOWS32]: Any arbitrary spelling of Path can be |
| detected. Make will ensure that the special spelling `Path' is |
| inserted into the environment when the path variable is propagated |
| within itself and to make's children. |
| * main.c [WINDOWS32]: Detection of sh.exe was occurring too |
| soon. The 2nd check for the existence of sh.exe must come after |
| the call to read_all_makefiles(). |
| |
| Fri Sep 26 01:14:18 1997 <zinser@axp602.gsi.de> |
| |
| * makefile.com [VMS]: Fixed definition of sys. |
| * readme.vms: Comments on what's changed lately. |
| |
| Fri Sep 26 01:14:18 1997 John W. Eaton <jwe@bevo.che.wisc.edu> |
| |
| * read.c (read_all_makefiles): Allow make to find files named |
| "MAKEFILE" with no extension on VMS. |
| * file.c (lookup_file): Lowercase filenames on VMS. |
| |
| 1997-09-29 Paul D. Smith <psmith@baynetworks.com> |
| |
| * read.c (read_makefile): Reworked target detection again; the old |
| version had an obscure quirk. |
| |
| Fri Sep 19 09:20:49 1997 Paul D. Smith <psmith@baynetworks.com> |
| |
| * Version 3.76.1 released. |
| |
| * Makefile.am: Add loadavg files to clean rules. |
| |
| * configure.in (AC_OUTPUT): Remove stamp-config; no longer needed. |
| * Makefile.ami (distclean): Ditto. |
| * SMakefile (distclean): Ditto. |
| |
| * main.c (main): Arg count should be int, not char! Major braino. |
| |
| Tue Sep 16 10:18:22 1997 Paul D. Smith <psmith@baynetworks.com> |
| |
| * Version 3.76 released. |
| |
| Tue Sep 2 10:07:39 1997 Paul D. Smith <psmith@baynetworks.com> |
| |
| * function.c (expand_function): When processing $(shell...) |
| translate a CRLF (\r\n) sequence as well as a newline (\n) to a |
| space. Also remove an ending \r\n sequence. |
| * make.texinfo (Shell Function): Document it. |
| |
| Fri Aug 29 12:59:06 1997 Rob Tulloh <rob_tulloh@tivoli.com> |
| |
| * w32/pathstuff.c (convert_Path_to_windows32): Fix problem where |
| paths which contain single character entries like `.' are not |
| handled correctly. |
| |
| * README.W32: Document path handling issues on Windows systems. |
| |
| Fri Aug 29 02:01:27 1997 Paul D. Smith <psmith@baynetworks.com> |
| |
| * Version 3.75.93. |
| |
| Thu Aug 28 19:39:06 1997 Rob Tulloh <rob_tulloh@tivoli.com> |
| |
| * job.c (exec_command) [WINDOWS32]: If exec_command() is invoked |
| from main() to re-exec make, the call to execvp() would |
| incorrectly return control to parent shell before the exec'ed |
| command could run to completion. I believe this is a feature of |
| the way that execvp() is implemented on top of WINDOWS32 APIs. To |
| alleviate the problem, use the supplied process launch function in |
| the sub_proc library and suspend the parent process until the |
| child process has run. When the child exits, exit the parent make |
| with the exit code of the child make. |
| |
| Thu Aug 28 17:04:47 1997 Paul D. Smith <psmith@baynetworks.com> |
| |
| * Makefile.DOS.template (distdir): Fix a line that got wrapped in |
| email. |
| |
| * Makefile.am (loadavg): Give the necessary cmdline options when |
| linking loadavg. |
| |
| * configure.in: Check for pstat_getdynamic for getloadvg on HP. |
| |
| * job.c (start_job_command) [VMS, _AMIGA]: Don't perform empty |
| command optimization on these systems; it doesn't make sense. |
| |
| Wed Aug 27 17:09:32 1997 Paul D. Smith <psmith@baynetworks.com> |
| |
| * Version 3.75.92 |
| |
| Tue Aug 26 11:59:15 1997 Paul D. Smith <psmith@baynetworks.com> |
| |
| * main.c (print_version): Add '97 to copyright years. |
| |
| * read.c (do_define): Check the length of the array before looking |
| at a particular offset. |
| |
| * job.c (construct_command_argv_internal): Examine the last byte |
| of the previous arg, not the byte after that. |
| |
| Sat Aug 23 1997 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * Makefile.DOS.template: New file (converted to Makefile.DOS in |
| the distribution). |
| |
| * configure.bat: Rewrite to use Makefile.DOS instead of editing |
| Makefile.in. Add support for building from outside of the source |
| directory. Fail if the environment block is too small. |
| |
| * configh.dos: Use <sys/config.h>. |
| |
| * README.DOS: Update instructions. |
| |
| Fri Aug 22 1997 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * job.c (start_job_command) [__MSDOS__]: Don't test for "/bin/sh" |
| literally, use value of unixy_shell instead. |
| |
| * filedef.h (NEW_MTIME): Use 1 less than maximum possible value if |
| time_t is unsigned. |
| |
| Sat Aug 16 00:56:15 1997 John W. Eaton <jwe@bevo.che.wisc.edu> |
| |
| * vmsify.c (vmsify, case 11): After translating `..' elements, set |
| nstate to N_OPEN if there are still more elements to process. |
| (vmsify, case 2): After translating `foo/bar' up to the slash, |
| set nstate to N_OPEN, not N_DOT. |
| |
| Fri Aug 8 15:18:09 1997 John W. Eaton <jwe@bevo.che.wisc.edu> |
| |
| * dir.c (vmsstat_dir): Leave name unmodified on exit. |
| * make.h (PATH_SEPARATOR_CHAR): Set to comma for VMS. |
| * vpath.c: Fix comments to refer to path separator, not colon. |
| (selective_vpath_search): Avoid Unixy slash handling for VMS. |
| |
| Thu Aug 7 22:24:03 1997 John W. Eaton <jwe@bevo.che.wisc.edu> |
| |
| * ar.c [VMS]: Don't declare ar_member_touch. |
| Delete VMS version of ar_member_date. |
| Enable non-VMS versions of ar_member_date and ar_member_date_1 for |
| VMS too. |
| * arscan.c (VMS_get_member_info): New function. |
| (ar_scan): Provide version for VMS systems. |
| (ar_name_equal): Simply compare name and mem on VMS systems. |
| Don't define ar_member_pos or ar_member_touch on VMS systems. |
| |
| * config.h-vms (pid_t, uid_t): Don't define. |
| |
| * remake.c: Delete declaration of vms_stat. |
| (name_mtime): Don't call vms_stat. |
| (f_mtime) [VMS]: Funky time value manipulation no longer necessary. |
| |
| * file.c (print_file): [VMS] Use ctime, not cvt_time. |
| |
| * make.h [VMS]: Don't define POSIX. |
| |
| * makefile.com (filelist): Include ar and arscan. |
| Also include them in the link commands. |
| Don't define NO_ARCHIVES in cc command. |
| |
| * makefile.vms (ARCHIVES, ARCHIVES_SRC): Uncomment. |
| (defines): Delete NO_ARCHIVES from list. |
| |
| * remake.c (f_mtime): Only check to see if intermediate file is |
| out of date if it also exists (i.e., mtime != (time_t) -1). |
| |
| * vmsdir.h (u_long, u_short): Skip typedefs if using DEC C. |
| |
| Fri Jun 20 23:02:07 1997 Rob Tulloh <rob_tulloh@tivoli.com> |
| |
| * w32/subproc/sub_proc.c: Get W32 sub_proc to handle shebang |
| (#!/bin/sh) in script files correctly. |
| Fixed a couple of memory leaks. |
| Fixed search order in find_file() (w32/subproc/sub_proc.c) so that |
| files with extensions are preferred over files without extensions. |
| Added search for files with .cmd extension too. |
| * w32/subproc/misc.c (arr2envblk): Fixed memory leak. |
| |
| Mon Aug 18 09:41:08 1997 Paul D. Smith <psmith@baynetworks.com> |
| |
| * Version 3.75.91 |
| |
| Fri Aug 15 13:50:54 1997 Paul D. Smith <psmith@baynetworks.com> |
| |
| * read.c (do_define): Remember to count the newline after the endef. |
| |
| Thu Aug 14 23:14:37 1997 Paul D. Smith <psmith@baynetworks.com> |
| |
| * many: Rewrote builds to use Automake 1.2. |
| |
| * AUTHORS: New file. |
| * maintMakefile: Contains maintainer-only make snippets. |
| * GNUmakefile: This now only runs the initial auto* tools. |
| * COPYING,texinfo.tex,mkinstalldirs,install-sh: Removed (obtained |
| automatically by automake). |
| * compatMakefile: Removed (not needed anymore). |
| * README,build.sh.in: Removed (built from templates). |
| * config.h.in,Makefile.in: Removed (built by tools). |
| |
| Wed Aug 13 02:22:08 1997 Paul D. Smith <psmith@baynetworks.com> |
| |
| * make.texinfo: Updates for DOS/Windows information (Eli Zaretskii) |
| * README,README.DOS: Ditto. |
| |
| * remake.c (update_file_1,f_mtime): Fix GPATH handling. |
| * vpath.c (gpath_search): Ditto. |
| |
| * file.c (rename_file): New function: rehash, but also rename to |
| the hashname. |
| * filedef.h: Declare it. |
| |
| * variable.c (merge_variable_set_lists): Remove free() of variable |
| set; since various files can share variable sets we don't want to |
| free them here. |
| |
| Tue Aug 12 10:51:54 1997 Paul D. Smith <psmith@baynetworks.com> |
| |
| * configure.in: Require autoconf 2.12 |
| |
| * make.texinfo: Replace all "cd subdir; $(MAKE)" examples with a |
| more stylistically correct "cd subdir && $(MAKE)". |
| |
| * main.c: Global variable `clock_skew_detected' defined. |
| (main): Print final warning if it's set. |
| * make.h: Declare it. |
| * remake.c (f_mtime): Test and set it. |
| |
| * job.c (start_job_command): Add special optimizations for |
| "do-nothing" rules, containing just the shell no-op ":". This is |
| useful for timestamp files and can make a real difference if you |
| have a lot of them (requested by Fergus Henderson <fjh@cs.mu.oz.au>). |
| |
| * configure.in,Makefile.in: Rewrote to use the new autoconf |
| program_transform_name macro. |
| |
| * function.c (function_strip): Strip newlines as well as spaces |
| and TABs. |
| |
| Fri Jun 6 23:41:04 1997 Rob Tulloh <rob_tulloh@tivoli.com> |
| |
| * remake.c (f_mtime): Datestamps on FAT-based files are rounded to |
| even seconds when stored, so if the date check fails on WINDOWS32 |
| systems, see if this "off-by-one" error is the problem. |
| |
| * General: If your TZ environment variable is not set correctly |
| then all your timestamps will be off by hours. So, set it! |
| |
| Mon Apr 7 02:06:22 1997 Paul D. Smith <psmith@baynetworks.com> |
| |
| * Version 3.75.1 |
| |
| * compatMakefile (objs): Define & use the $(GLOB) variable so |
| that it's removed correctly from build.sh.in when it's built. |
| |
| * configure.in: On Solaris we can use the kstat_*() functions to |
| get load averages without needing special permissions. Add a |
| check for -lkstat to see if we have it. |
| |
| * getloadavg.c (getloadavg): Use HAVE_LIBKSTAT instead of SUN5 as |
| the test to enable kstat_open(), etc. processing. |
| |
| Fri Apr 4 20:21:18 1997 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * <lots>: Fixes to work in the DJGPP DOS environment. |
| |
| Mon Mar 31 02:42:52 1997 Paul D. Smith <psmith@baynetworks.com> |
| |
| * function.c (expand_function): Added new function $(wordlist). |
| |
| * make.texinfo (Filename Functions): Document $(wordlist) function. |
| |
| * vpath.c (build_vpath_lists): Construct the GPATH variable |
| information in the same manner we used to construct VPATH. |
| (gpath_search): New function to search GPATH. |
| |
| * make.h: Declare the new function. |
| |
| * remake.c (update_file_1): Call it, and keep VPATH if it's found. |
| |
| * make.texinfo (Search Algorithm): Document GPATH variable. |
| |
| Sun Mar 30 20:57:16 1997 Paul D. Smith <psmith@baynetworks.com> |
| |
| * main.c (handle_non_switch_argument): Defined the MAKECMDGOALS |
| variable to contain the user options passed in on the cmd line. |
| |
| * make.texinfo (Goals): Document MAKECMDGOALS variable. |
| |
| * remake.c (f_mtime): Print a warning if we detect a clock skew |
| error, rather than failing. |
| |
| * main.c (main): If we rebuild any makefiles and need to re-exec, |
| add "-o<mkfile>" options for each makefile rebuilt to avoid |
| infinite looping. |
| |
| Fri Mar 28 15:26:05 1997 Paul D. Smith <psmith@baynetworks.com> |
| |
| * job.c (construct_command_argv_internal): Track whether the last |
| arg in the cmd string was empty or not (Roland). |
| (construct_command_argv_internal): If the shell line is empty, |
| don't do anything (Roland). |
| |
| * glob/glob.h,glob/glob.c,glob/fnmatch.c,glob/fnmatch.h: Install |
| the latest changes from the GLIBC version of glob (Ulrich Drepper). |
| |
| * getloadavg.c,make-stds.texi: New version (Roland). |
| |
| * (ALL): Changed WIN32 to W32 or WINDOWS32 (RMS). |
| |
| Mon Mar 24 15:33:34 1997 Rob Tulloh <rob_tulloh@tivoli.com> |
| |
| * README.W32: Describe preliminary FAT support. |
| |
| * build_w32.bat: Use a variable for the final exe name. |
| |
| * dir.c (find_directory): W32: Find the filesystem type. |
| (dir_contents_file_exists_p): W32: for FAT filesystems, always |
| rehash since FAT doesn't change directory mtime on change. |
| |
| * main.c (handle_runtime_exceptions): W32: Add an |
| UnhandledExceptionFilter so that when make bombs due to ^C or a |
| bug, it won't cause a GUI requestor to pop up unless debug is |
| turned on. |
| (main): Call it. |
| |
| Mon Mar 24 00:57:34 1997 Paul D. Smith <psmith@baynetworks.com> |
| |
| * configure.in, config.h.in, config.ami, config.h-vms, config.h.w32: |
| Check for memmove() function. |
| |
| * make.h (bcopy): If memmove() available, define bcopy() to use it. |
| Otherwise just use bcopy(). Don't use memcpy(); it's not guaranteed |
| to handle overlapping moves. |
| |
| * read.c (read_makefile): Fix some uninitialized memory reads |
| (reported by Purify). |
| |
| * job.c (construct_command_argv_internal): Use bcopy() not |
| strcpy(); strcpy() isn't guaranteed to handle overlapping moves. |
| |
| * Makefile.in: Change install-info option ``--infodir'' to |
| ``--info-dir'' for use with new texinfo. |
| |
| * function.c (expand_function): $(basename) and $(suffix) should |
| only search for suffixes as far back as the last directory (e.g., |
| only the final filename in the path). |
| |
| Sun Mar 23 00:13:05 1997 Paul D. Smith <psmith@baynetworks.com> |
| |
| * make.texinfo: Add @dircategory/@direntry information. |
| (Top): Remove previous reference to (dir) (from RMS). |
| (Static Usage): Add "all:" rule to example. |
| (Automatic Dependencies): fix .d file creation example. |
| |
| * Install VPATH+ patch: |
| |
| * filedef.h (struct file): Add in hname field to store the hashed |
| filename, and a flag to remember if we're using the vpath filename |
| or not. Renamed a few functions for more clarity. |
| |
| * file.c (lookup_file,enter_file,file_hash_enter): Store filenames |
| in the hash table based on their "hash name". We can change this |
| while keeping the original target in "name". |
| (rehash_file): Renamed from "rename_file" to be more accurate. |
| Changes the hash name, but not the target name. |
| |
| * remake.c (update_file_1): Modify -d output for more detailed |
| VPATH info. If we don't need to rebuild, use the VPATH name. |
| (f_mtime): Don't search for vpath if we're ignoring it. Call |
| renamed function rehash_file. Call name_mtime instead of |
| file_mtime, to avoid infinite recursion since the file wasn't |
| actually renamed. |
| |
| * implicit.c (pattern_search): if we find an implicit file in |
| VPATH, save the original name not the VPATH name. |
| |
| * make.texinfo (Directory Search): Add a section on the new VPATH |
| functionality. |
| |
| Sun Dec 1 18:36:04 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> |
| |
| * dir.c (file_exists_p, file_impossible, file_impossible_p): If |
| dirname is empty replace it by the name of the root directory. |
| Note that this doesn't work (yet) for W32, Amiga, or VMS. |
| |
| Tue Oct 08 13:57:03 1996 Rob Tulloh <tulloh@tivoli.com> |
| |
| * main.c (main): W32 bug fix for PATH vars. |
| |
| Tue Sep 17 1996 Paul Eggert <eggert@twinsun.com> |
| |
| * filedef.h (NEW_MTIME): Don't assume that time_t is a signed |
| 32-bit quantity. |
| |
| * make.h: (CHAR_BIT, INTEGER_TYPE_SIGNED, INTEGER_TYPE_MAXIMUM, |
| INTEGER_TYPE_MINIMUM): New macros. |
| |
| Tue Aug 27 01:06:34 1996 Roland McGrath <roland@baalperazim.frob.com> |
| |
| * Version 3.75 released. |
| |
| * main.c (print_version): Print out bug-reporting address. |
| |
| Mon Aug 26 19:55:47 1996 Roland McGrath <roland@baalperazim.frob.com> |
| |
| * main.c (print_data_base): Don't declare ctime; headers do it for us |
| already. |
| |
| Sun Jul 28 15:37:09 1996 Rob Tulloh (tulloh@tivoli.com) |
| |
| * w32/pathstuff.c: Turned convert_vpath_to_w32() into a |
| real function. This was done so that VPATH could contain |
| white space separated pathnames. Please note that directory |
| paths (in VPATH/vpath context) containing white space are not |
| supported (just as they are not under Unix). See README.W32 |
| for suggestions. |
| |
| * w32/include/pathstuff.h: Added prototype for the new |
| function convert_vpath_to_w32. Deleted macro for same. |
| |
| * README.W32: Added some notes about why I chose not to try |
| and support pathnames which contain white space and some |
| workaround suggestions. |
| |
| Thu Jul 25 19:53:31 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> |
| |
| * GNUmakefile (mkdep-nolib): Use -MM option unconditionally. |
| |
| * Version 3.74.7. |
| |
| * main.c (define_makeflags): Back up P to point at null terminator |
| when killing final space and dash before setting MFLAGS. |
| |
| From Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>: |
| * dir.c [__MSDOS__ && DJGPP > 1]: Include <libc/dosio.h> and defin |
| `__opendir_flags' initialized to 0. |
| (dosify) [__MSDOS__ && DJGPP > 1]: Return name unchanged if _USE_LFN. |
| (find_directory) [__MSDOS__ && DJGPP > 1]: If _USE_LGN, set |
| __opendir_flags to __OPENDIR_PRESERVE_CASE. |
| |
| * vmsfunctions.c (vms_stat): `sys$dassgn (DevChan);' added by kkaempf. |
| |
| * GNUmakefile (w32files): Add NMakefile. |
| |
| * NMakefile (LDFLAGS_debug): Value fixed by tulloh. |
| |
| Sat Jul 20 12:32:10 1996 Klaus Kämpf (kkaempf@progis.de) |
| |
| * remake.c (f_mtime) [VMS]: Add missing `if' conditional for future |
| modtime check. |
| * config.h-vms, makefile.vms, readme.vms, vmsify.c: Update address. |
| |
| Sat Jul 20 05:29:43 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> |
| |
| * configure.in: Require autoconf 2.10 or later. |
| |
| Fri Jul 19 16:57:27 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> |
| |
| * Version 3.74.6. |
| |
| * GNUmakefile (w32files): New variable. |
| (distfiles): Add it. |
| * w32: Updated by Rob Tulloh. |
| |
| * makefile.vms (LOADLIBES): Fix typo. |
| |
| Sun Jul 14 12:59:27 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> |
| |
| * job.c (construct_command_argv_internal): Fix up #else, #endifs. |
| |
| * configh.dos: Define HAVE_DIRENT_H instead of DIRENT. |
| |
| * remake.c (f_mtime): Don't compare MTIME to NOW if MTIME == -1. |
| |
| * Version 3.74.5. |
| |
| * main.c (main): Exit with status 2 when update_goal_chain returns 2. |
| |
| Sat Jun 22 14:56:05 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> |
| |
| * configure.in: Don't check for _sys_siglist. |
| * make.h [HAVE__SYS_SIGLIST]: Don't test this; just punt if there is |
| no strsignal or sys_siglist. |
| |
| * read.c (conditional_line): Strip ws in `ifeq (a , b)' so it is the |
| same as `ifeq (a, b)'. |
| |
| * job.c (reap_children): Don't call die if handling_fatal_signal. |
| |
| * file.c (file_hash_enter): Allow renaming :: to : when latter is |
| non-target, or : to :: when former is non-target. |
| |
| * job.c (start_job_command): Call block_sigs. |
| (block_sigs): New function, broken out of start_job_command. |
| (reap_children): Block fatal signals around removing dead child from |
| chain and adjusting job_slots_used. |
| * job.h: Declare block_sigs. |
| |
| * remote-stub.c (remote_setup, remote_cleanup): New (empty) functions. |
| * main.c (main): Call remote_setup. |
| (die): Call remote_cleanup. |
| |
| * job.c (reap_children): Quiescent value of shell_function_pid is |
| zero, not -1. |
| |
| * main.c (print_version): Add 96 to copyright years. |
| |
| Sat Jun 15 20:30:01 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> |
| |
| * read.c (find_char_unquote): Avoid calling strlen on every call |
| just to throw away the value most of the time. |
| |
| Sun Jun 2 12:24:01 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> |
| |
| * main.c (decode_env_switches): Prepend '-' to ARGV[1] if it contains |
| no '=', regardless of ARGC. |
| (define_makeflags): Elide leading '-' from MAKEFLAGS value if first |
| word is short option, regardless of WORDS. |
| |
| Wed May 22 17:24:51 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> |
| |
| * makefile.vms: Set LOADLIBES. |
| * makefile.com (link_using_library): Fix typo. |
| |
| Wed May 15 17:37:26 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> |
| |
| * dir.c (print_dir_data_base): Use %ld dev and ino and cast them to |
| long. |
| |
| Wed May 15 10:14:14 CDT 1996 Rob Tulloh <tulloh@tivoli.com> |
| |
| * dir.c: W32 does not support inode. For now, fully qualified |
| pathname along with st_mtime will be keys for files. |
| Fixed problem where vpath can be confused when files |
| are added to a directory after the directory has already been |
| read in. The code now attempts to reread the directory if it |
| discovers that the datestamp on the directory has changed since |
| it was cached by make. This problem only seems to occur on W32 |
| right now so it is lumped under port #ifdef WINDOWS32. |
| |
| * function.c: W32: call subproc library (CreateProcess()) instead of |
| fork/exec. |
| |
| * job.c: W32: Added the code to do fork/exec/waitpid style processing |
| on W32 systems via calls to subproc library. |
| |
| * main.c: W32: Several things added here. First, there is code |
| for dealing with PATH and SHELL defaults. Make tries to figure |
| out if the user has %PATH% set in the environment and sets it to |
| %Path% if it is not set already. Make also looks to see if sh.exe |
| is anywhere to be found. Code path through job.c will change |
| based on existence of a working Bourne shell. The checking for |
| default shell is done twice: once before makefiles are read in |
| and again after. Fall back to MSDOS style execution mode if no sh.exe |
| is found. Also added some debug support that allows user to pause make |
| with -D switch and attach a debugger. This is especially useful for |
| debugging recursive calls to make where problems appear only in the |
| sub-make. |
| |
| * make.h: W32: A few macros and header files for W32 support. |
| |
| * misc.c: W32: Added a function end_of_token_w32() to assist |
| in parsing code in read.c. |
| |
| * read.c: W32: Fixes similar to MSDOS which allow colon to |
| appear in filenames. Use of colon in filenames would otherwise |
| confuse make. |
| |
| * remake.c: W32: Added include of io.h to eliminate compiler |
| warnings. Added some code to default LIBDIR if it is not set |
| on W32. |
| |
| * variable.c: W32: Added support for detecting Path/PATH |
| and converting them to semicolon separated lists for make's |
| internal use. New function sync_Path_environment() |
| which is called in job.c and function.c before creating a new |
| process. Caller must set Path in environment since we don't |
| have fork() to do this for us. |
| |
| * vpath.c: W32: Added detection for filenames containing |
| forward or backward slashes. |
| |
| * NMakefile: W32: Visual C compatible makefile for use with nmake. |
| Use this to build GNU make the first time on Windows NT or Windows 95. |
| |
| * README.W32: W32: Contains some helpful notes. |
| |
| * build_w32.bat: W32: If you don't like nmake, use this the first |
| time you build GNU make on Windows NT or Windows 95. |
| |
| * config.h.W32: W32 version of config.h |
| |
| * subproc.bat: W32: A bat file used to build the |
| subproc library from the top-level NMakefile. Needed because |
| WIndows 95 (nmake) doesn't allow you to cd in a make rule. |
| |
| * w32/include/dirent.h |
| * w32/compat/dirent.c: W32: opendir, readdir, closedir, etc. |
| |
| * w32/include/pathstuff.h: W32: used by files needed functions |
| defined in pathstuff.c (prototypes). |
| |
| * w32/include/sub_proc.h: W32: prototypes for subproc.lib functions. |
| |
| * w32/include/w32err.h: W32: prototypes for w32err.c. |
| |
| * w32/pathstuff.c: W32: File and Path/Path conversion functions. |
| |
| * w32/subproc/build.bat: W32: build script for subproc library |
| if you don't wish to use nmake. |
| |
| * w32/subproc/NMakefile: W32: Visual C compatible makefile for use |
| with nmake. Used to build subproc library. |
| |
| * w32/subproc/misc.c: W32: subproc library support code |
| * w32/subproc/proc.h: W32: subproc library support code |
| * w32/subproc/sub_proc.c: W32: subproc library source code |
| * w32/subproc/w32err.c: W32: subproc library support code |
| |
| Mon May 13 14:37:42 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> |
| |
| * Version 3.74.4. |
| |
| * GNUmakefile (vmsfiles): Fix typo. |
| |
| * GNUmakefile (amigafiles): Add amiga.h. |
| |
| Sun May 12 19:19:43 1996 Aaron Digulla <digulla@fh-konstanz.de> |
| |
| * dir.c: New function: amigafy() to fold filenames |
| Changes HASH() to HASHI() to fold filenames on Amiga. |
| Stringcompares use strieq() instead of streq() |
| The current directory on Amiga is "" instead of "." |
| * file.c: Likewise. |
| |
| * amiga.c: New function wildcard_expansion(). Allows to use |
| Amiga wildcards with $(wildcard ) |
| |
| * amiga.h: New file. Prototypes for amiga.c |
| |
| * function.c: Use special function wildcard_expansion() for |
| $(wildcard ) to allow Amiga wildcards |
| The current directory on Amiga is "" instead of "." |
| |
| * job.c: No Pipes on Amiga, too |
| (load_too_high) Neither on Amiga |
| ENV variable on Amiga are in a special directory and are not |
| passed as third argument to main(). |
| |
| * job.h: No envp on Amiga |
| |
| * make.h: Added HASHI(). This is the same as HASH() but converts |
| it's second parameter to lowercase on Amiga to fold filenames. |
| |
| * main.c: (main), variable.c Changed handling of ENV-vars. Make |
| stores now the names of the variables only and reads their contents |
| when they are accessed to reflect that these variables are really |
| global (ie. they CAN change WHILE make runs !) This handling is |
| made in lookup_variable() |
| |
| * Makefile.ami: renamed file.h to filedep.h |
| Updated dependencies |
| |
| * read.c: "find_semicolon" is declared as static but never defined. |
| No difference between Makefile and makefile on Amiga; added |
| SMakefile to *default_makefiles[]. |
| (read_makefile) SAS/C want's two_colon and pattern_percent be set |
| before use. |
| The current directory on Amiga is "" instead of "." |
| Strange #endif moved. |
| |
| * README.Amiga: updated feature list |
| |
| * SMakefile: Updated dependencies |
| |
| * variable.c: Handling of ENV variable happens inside lookup_variable() |
| |
| Sat May 11 17:58:32 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> |
| |
| * variable.c (try_variable_definition): Count parens in lhs variable |
| refs to avoid seeing =/:=/+= inside a ref. |
| |
| Thu May 9 13:54:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> |
| |
| * commands.c (fatal_error_signal) [SIGQUIT]: Make SIGQUIT check |
| conditional. |
| |
| * main.c (main): Use unsigned for fread return. |
| |
| * read.c (parse_file_seq): Use `int' for char arg to avoid widening |
| conflict issues. |
| * dep.h: Fix prototype. |
| |
| * function.c (expand_function) [_AMIGA]: Fix some typos. |
| (patsubst_expand): Make len vars unsigned. |
| |
| * GNUmakefile (globfiles): Add AmigaDOS support files. |
| (distfiles): Add $(amigafiles). |
| (amigafiles): New variable. |
| |
| Thu Nov 7 10:18:16 1995 Aaron Digulla <digulla@fh-konstanz.de> |
| |
| * Added Amiga support in commands.c, dir.c, function.c, |
| job.c, main.c, make.h, read.c, remake.c |
| * commands.c: Amiga has neither SIGHUP nor SIGQUIT |
| * dir.c: Amiga has filenames with Upper- and Lowercase, |
| but "FileName" is the same as "filename". Added strieq() |
| which is use to compare filenames. This is like streq() |
| on all other systems. Also there is no such thing as |
| "." under AmigaDOS. |
| * function.c: On Amiga, the environment is not passed as envp, |
| there are no pipes and Amiga can't fork. Use my own function |
| to create a new child. |
| * job.c: default_shell is "" (The system automatically chooses |
| a shell for me). Have to use the same workaround as MSDOS for |
| running batch commands. Added HAVE_SYS_PARAM_H. NOFILE isn't |
| known on Amiga. Cloned code to run children from MSDOS. Own |
| version of sh_chars[] and sh_cmds[]. No dup2() or dup() on Amiga. |
| * main.c: Force stack to 20000 bytes. Read environment from ENV: |
| device. On Amiga, exec_command() does return, so I exit() |
| afterwards. |
| * make.h: Added strieq() to compare filenames. |
| * read.c: Amiga needs special extension to have passwd. Only |
| one include-dir. "Makefile" and "makefile" are the same. |
| Added "SMakefile". Added special code to handle device names (xxx:) |
| and "./" in rules. |
| * remake.c: Only one lib-dir. Amiga link-libs are named "%s.lib" |
| instead of "lib%s.a". |
| * main.c, rule.c, variable.c: Avoid floats at all costs. |
| * vpath.c: Get rid of as many alloca()s as possible. |
| |
| Thu May 9 13:20:43 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> |
| |
| * read.c (read_makefile): Grok `sinclude' as alias for `-include'. |
| |
| Wed Mar 20 09:52:27 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> |
| |
| * GNUmakefile (vmsfiles): New variable. |
| (distfiles): Include $(vmsfiles). |
| |
| Tue Mar 19 20:21:34 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> |
| |
| 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. |
| |
| Sat Aug 19 23:11:00 1995 Richard Stallman <rms@mole.gnu.ai.mit.edu> |
| |
| * remake.c (check_dep): For a secondary file, try implicit and |
| default rules if appropriate. |
| |
| Wed Aug 2 04:29:42 1995 Richard Stallman <rms@mole.gnu.ai.mit.edu> |
| |
| * remake.c (check_dep): If an intermediate file exists, |
| do consider its actual date. |
| |
| Sun Jul 30 00:49:53 1995 Richard Stallman <rms@mole.gnu.ai.mit.edu> |
| |
| * file.h (struct file): New field `secondary'. |
| * file.c (snap_deps): Check for .INTERMEDIATE and .SECONDARY. |
| (remove_intermediates): Don't delete .SECONDARY files. |
| |
| Sat Mar 2 16:26:52 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> |
| |
| * compatMakefile (srcs): Add getopt.h; prepend $(srcdir)/ to getopt*. |
| |
| Fri Mar 1 12:04:47 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> |
| |
| * Version 3.74.3. |
| |
| * remake.c (f_mtime): Move future modtime check before FILE is |
| clobbered by :: loop. |
| |
| * dir.c: Use canonical code from autoconf manual for dirent include. |
| [_D_NAMLEN]: Redefine NAMLEN using this. |
| (dir_contents_file_exists_p): Use NAMLEN macro. |
| (read_dirstream) [_DIRENT_HAVE_D_NAMLEN]: Only set d_namlen #if this. |
| |
| * compatMakefile (objs): Add missing backslash. |
| |
| Wed Feb 28 03:56:20 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> |
| |
| * default.c (default_terminal_rules): Remove + prefix from RCS cmds. |
| (default_variables): Put + prefix in $(CHECKOUT,v) value instead. |
| |
| * remake.c (f_mtime): Check for future timestamps; give error and mark |
| file as "failed to update". |
| |
| Fri Jan 12 18:09:36 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * job.c: Don't declare unblock_sigs; job.h already does. |
| |
| Sat Jan 6 16:24:44 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * acconfig.h (HAVE_SYSCONF_OPEN_MAX): #undef removed. |
| |
| * job.c (NGROUPS_MAX): Don't try to define this macro. |
| |
| Fri Dec 22 18:44:44 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * compatMakefile (GETOPT, GETOPT_SRC, GLOB): Variables removed. |
| (objs, srcs): Include their values here instead of references. |
| |
| Thu Dec 14 06:21:29 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * Version 3.74.2. |
| |
| * job.c (reap_children): Call unblock_sigs after start_job_command. |
| |
| Thu Dec 14 07:22:03 1995 Roland McGrath <roland@duality.gnu.ai.mit.edu> |
| |
| * dir.c (dir_setup_glob): Don't use lstat; glob never calls it anyway. |
| Avoid & before function names to silence bogus sunos4 compiler. |
| |
| * configure.in: Remove check for `sysconf (_SC_OPEN_MAX)'. |
| |
| Tue Dec 12 00:48:42 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * Version 3.74.1. |
| |
| * dir.c (read_dirstream): Fix braino: fill in the buffer when not |
| reallocating it! |
| |
| Mon Dec 11 22:26:15 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * misc.c (collapse_continuations): Fix skipping of trailing \s so |
| it can never dereference before the beginning of the array. |
| |
| * read.c (find_semicolon): Function removed. |
| (read_makefile): Don't use find_semicolon or remove_comments for |
| rule lines. Use find_char_unquote directly and handle quoted comments |
| properly. |
| |
| * default.c: Remove all [M_XENIX] code. |
| |
| * dir.c [HAVE_D_NAMLEN]: Define this for __GNU_LIBRARY__ > 1. |
| (D_NAMLEN): Macro removed. |
| (FAKE_DIR_ENTRY): New macro. |
| (dir_contents_file_exists_p): Test HAVE_D_NAMLEN instead of using |
| D_NAMLEN. |
| (read_dirstream): Return a struct dirent * for new glob interface. |
| (init_dir): Function removed. |
| (dir_setup_glob): New function. |
| * main.c (main): Don't call init_dir. |
| * read.c (multi_glob): Call dir_setup_glob on our glob_t and use |
| GLOB_ALTDIRFUNC flag. |
| |
| * misc.c (safe_stat): Function removed. |
| * read.c, commands.c, remake.c, vpath.c: Use plain stat instead of |
| safe_stat. |
| |
| Sat Nov 25 20:35:18 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * job.c [HAVE_UNION_WAIT]: Include sys/wait.h. |
| |
| * main.c (log_working_directory): Made global. |
| Print entering msg only once. |
| * make.h (log_working_directory): Declare it. |
| * misc.c (message): Take new arg PREFIX. Print "make: " only if |
| nonzero. Call log_working_directory. |
| * remake.c: Pass new arg in `message' calls. |
| * job.c (start_job_command): Pass new arg to `message'; fix |
| inverted test in that call. |
| |
| Tue Nov 21 19:01:12 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * job.c (start_job_command): Use `message' to print the command, |
| and call it with null if the command is silent. |
| * remake.c (touch_file): Use message instead of printf. |
| |
| Tue Oct 10 14:59:30 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * main.c (enter_command_line_file): Barf if NAME is "". |
| |
| Sat Sep 9 06:33:20 1995 Roland McGrath <roland@whiz-bang.gnu.ai.mit.edu> |
| |
| * commands.c (delete_target): Ignore unlink failure if it is ENOENT. |
| |
| Thu Aug 17 15:08:57 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * configure.in: Don't check for getdtablesize. |
| * job.c (getdtablesize): Remove decls and macros. |
| |
| Thu Aug 10 19:10:03 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * main.c (define_makeflags): Omit command line variable |
| definitions from MFLAGS value. |
| |
| * arscan.c (ar_scan) [AIAMAG]: Check for zero MEMBER_OFFSET, |
| indicating a valid, but empty, archive. |
| |
| Mon Aug 7 15:40:03 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * dir.c (file_impossible_p): Correctly reset FILENAME to name |
| within directory before hash search. |
| |
| * job.c (child_error): Do nothing if IGNORED under -s. |
| |
| * job.c (exec_command): Correctly use ARGV[0] for script name when |
| running shell directly. |
| |
| Tue Aug 1 14:39:14 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * job.c (child_execute_job): Close STDIN_FD and STDOUT_FD after |
| dup'ing from them. Don't try to close all excess descriptors; |
| getdtablesize might return a huge value. Any open descriptors in |
| the parent should have FD_CLOEXEC set. |
| (start_job_command): Set FD_CLOEXEC flag on BAD_STDIN descriptor. |
| |
| Tue Jun 20 03:47:15 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * read.c (read_all_makefiles): Properly append default makefiles |
| to the end of the `read_makefiles' chain. |
| |
| Fri May 19 16:36:32 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * Version 3.74 released. |
| |
| Wed May 10 17:43:34 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * Version 3.73.3. |
| |
| Tue May 9 17:15:23 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * compatMakefile ($(infodir)/make.info): Make sure $$dir is set in |
| install-info cmd. |
| |
| Wed May 3 15:56:06 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * file.c (print_file): Grok update_status of 1 for -q. |
| |
| Thu Apr 27 12:39:35 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * Version 3.73.2. |
| |
| Wed Apr 26 17:15:57 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * file.c (remove_intermediates): Fix inverted test to bail under |
| -n for signal case. Bail under -q or -t. |
| Skip files with update_status==-1. |
| |
| * job.c (job_next_command): Skip empty lines. |
| (new_job): Don't test the return of job_next_command. |
| Just let start_waiting_job handle the case of empty commands. |
| |
| Wed Apr 19 03:25:54 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * function.c [__MSDOS__]: Include <fcntl.h>. From DJ Delorie. |
| |
| * Version 3.73.1. |
| |
| Sat Apr 8 14:53:24 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * remake.c (notice_finished_file): Set FILE->update_status to zero |
| if it's -1. |
| |
| Wed Apr 5 00:20:24 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * Version 3.73 released. |
| |
| Tue Mar 28 13:25:46 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * main.c (main): Fixed braino in assert. |
| |
| * Version 3.72.13. |
| |
| Mon Mar 27 05:29:12 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * main.c: Avoid string in assert expression. Some systems are broken. |
| |
| Fri Mar 24 00:32:32 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * main.c (main): Handle 1 and 2 returns from update_goal_chain |
| makefile run properly. |
| |
| * Version 3.72.12. |
| |
| * main.c (handle_non_switch_argument): New function, broken out of |
| decode_switches. |
| (decode_switches): Set optind to 0 to reinitialize getopt, not to 1. |
| When getopt_long returns EOF, break the loop and handle remaining args |
| with a simple second loop. |
| |
| * remake.c (remake_file): Set update_status to 2 instead of 1 for |
| no rule to make. Mention parent (dependent) in error message. |
| (update_file_1): Handle FILE->update_status == 2 in -d printout. |
| * job.c (start_job_command, reap_children): Set update_status to 2 |
| instead of 1 for failed commands. |
| |
| Tue Mar 21 16:23:38 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * job.c (search_path): Function removed (was already #if 0'd out). |
| * configure.in: Remove AC_TYPE_GETGROUPS; nothing needs it any more. |
| |
| Fri Mar 17 15:57:40 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * configure.bat: Write @CPPFLAGS@ translation. |
| |
| Mon Mar 13 00:45:59 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * read.c (parse_file_seq): Rearranged `l(a b)' -> `l(a) l(b)' loop |
| to not skip the elt immediately preceding `l(...'. |
| |
| Fri Mar 10 13:56:49 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * Version 3.72.11. |
| |
| * read.c (find_char_unquote): Make second arg a string of stop |
| chars instead of a single stop char. Stop when any char in the |
| string is hit. All callers changed. |
| (find_semicolon): Pass stop chars "#;" to one find_char_unquote call, |
| instead of using two calls. If the match is not a ; but a #, |
| return zero. |
| * misc.c: Changed find_char_unquote callers here too. |
| |
| * Version 3.72.10. |
| |
| * read.c (read_makefile, parse_file_seq): Fix typo __MS_DOS__ -> |
| __MSDOS__. |
| |
| * GNUmakefile (globfiles): Add glob/configure.bat. |
| (distfiles): Add configh.dos, configure.bat. |
| |
| Wed Mar 8 13:10:57 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| Fixes for MS-DOS from DJ Delorie. |
| * read.c (read_makefile, parse_file_seq) [__MS_DOS__]: Don't see : |
| as separator in "C:\...". |
| * configh.dos (STDC_HEADERS): Define only if undefined. |
| (HAVE_SYS_PARAM_H): Don't define this. |
| (HAVE_STRERROR): Define this. |
| * job.c (construct_command_argv_internal) [__MSDOS__]: Fix typos. |
| |
| * Version 3.72.9. |
| |
| * main.c (decode_switches): Reset optind to 1 instead of 0. |
| |
| Tue Mar 7 17:31:06 1995 Roland McGrath <roland@geech.gnu.ai.mit.edu> |
| |
| * main.c (decode_switches): If non-option arg is "-", ignore it. |
| |
| Mon Mar 6 23:57:38 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * Version 3.72.8. |
| |
| Wed Feb 22 21:26:36 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * Version 3.72.7. |
| |
| Tue Feb 21 22:10:43 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * main.c (main): Pass missing arg to tmpnam. |
| |
| * configure.in: Check for strsignal. |
| * job.c (child_error): Use strsignal. |
| * main.c (main): Don't call signame_init #ifdef HAVE_STRSIGNAL. |
| |
| * misc.c (strerror): Fix swapped args in sprintf. |
| |
| Mon Feb 13 11:50:08 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * configure.in (CFLAGS, LDFLAGS): Don't set these variables. |
| |
| Fri Feb 10 18:44:12 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * main.c (print_version): Add 95 to copyright years. |
| |
| * Version 3.72.6. |
| |
| * job.c (start_job_command): Remember to call notice_finished_file |
| under -n when not recursing. To do this, consolidate that code |
| under the empty command case and goto there for the -n case. |
| |
| Tue Feb 7 13:36:03 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * make.h [! STDC_HEADERS]: Don't declare qsort. Sun headers |
| declare it int. |
| |
| Mon Feb 6 17:37:01 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * read.c (read_makefile): For bogus line starting with tab, ignore |
| it if blank after removing comments. |
| |
| * main.c: Cast results of `alloca' to `char *'. |
| * expand.c: Likewise. |
| |
| Sun Feb 5 18:35:46 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * Version 3.72.5. |
| |
| * configure.in: Check for mktemp. |
| * main.c (main) [! HAVE_MKTEMP]: Use tmpnam instead of mktemp. |
| |
| * configure.in (make_cv_sysconf_open_max): New check for `sysconf |
| (_SC_OPEN_MAX)'. |
| * acconfig.h: Added #undef HAVE_SYSCONF_OPEN_MAX. |
| * job.c [HAVE_SYSCONF_OPEN_MAX] (getdtablesize): Define as macro |
| using sysconf. |
| |
| Fri Jan 27 04:42:09 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * remake.c (update_file_1): When !MUST_MAKE, don't set |
| FILE->update_status to zero before calling notice_finished_file. |
| (notice_finished_file): Touch only when FILE->update_status is zero. |
| (remake_file): Set FILE->update_status to zero after not calling |
| execute_file_command and deciding to touch instead. |
| |
| Thu Jan 26 01:29:32 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * main.c (debug_signal_handler): New function; toggles debug_flag. |
| (main): Handle SIGUSR1 with that. |
| |
| Mon Jan 16 15:46:56 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * compatMakefile (realclean): Remove Info files. |
| |
| Sun Jan 15 08:23:09 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * Version 3.72.4. |
| |
| * job.c (start_job_command): Save and restore environ around vfork |
| call. |
| (search_path): Function #if 0'd out. |
| (exec_command): Use execvp instead of search_path. |
| |
| * expand.c (variable_expand): Rewrote computed variable name and |
| substitution reference handling to be simpler. First expand the |
| entire text between the parens if it contains any $s, then examine |
| the result of that for subtitution references and do no further |
| expansion while parsing them. |
| |
| * job.c (construct_command_argv_internal): Handle " quoting too, |
| when no backslash, $ or ` characters appear inside the quotes. |
| |
| * configure.in (union wait check): If WEXITSTATUS and WTERMSIG are |
| defined, just use int. |
| |
| Tue Jan 10 06:27:27 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * default.c (default_variables) [__hpux]: Remove special |
| definition of ARFLAGS. Existence of the `f' flag is not |
| consistent across HPUX versions; and one might be using GNU ar |
| anyway. |
| |
| * compatMakefile (clean): Don't remove Info files. |
| |
| * compatMakefile (check): Remove gratuitous target declaration. |
| |
| Sat Jan 7 11:38:23 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * compatMakefile (ETAGS, CTAGS): Don't use -t. |
| |
| * arscan.c (ar_name_equal) [cray]: Subtract 1 like [__hpux]. |
| |
| * main.c (decode_switches): For --help, print usage to stdout. |
| |
| Mon Dec 5 12:42:18 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * Version 3.72.3. |
| |
| * remake.c (update_file_1): Do set_command_state (FILE, |
| cs_not_started) only if old state was deps_running. |
| |
| Mon Nov 28 14:24:03 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * job.c (start_waiting_job): Use set_command_state. |
| |
| * build.template (CPPFLAGS): New variable. |
| (prefix, exec_prefix): Set from @...@. |
| (compilation loop): Pass $CPPFLAGS to compiler. |
| |
| * GNUmakefile (build.sh.in): Make it executable. |
| |
| * GNUmakefile (globfiles): Add configure.in, configure. |
| |
| * Version 3.72.2. |
| |
| * configure.in (AC_OUTPUT): Don't write glob/Makefile. |
| |
| * configure.in (AC_CHECK_SYMBOL): Use AC_DEFINE_UNQUOTED. |
| |
| * configure.in: Don't check for ranlib. |
| |
| Tue Nov 22 22:42:40 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * remake.c (notice_finished_file): Only mark also_make's as |
| updated if really ran cmds. |
| |
| Tue Nov 15 06:32:46 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * configure.in: Put dnls before random whitespace. |
| |
| Sun Nov 13 05:02:25 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * compatMakefile (CPPFLAGS): New variable, set from @CPPFLAGS@. |
| (RANLIB): Variable removed. |
| (prefix, exec_prefix): Set these from @...@. |
| (.c.o): Use $(CPPFLAGS). |
| (glob/libglob.a): Don't pass down variables to sub-make. |
| glob/Makefile should be configured properly by configure. |
| (distclean): Remove config.log and config.cache (autoconf stuff). |
| |
| Mon Nov 7 13:58:06 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * acconfig.h: Add #undef HAVE_UNION_WAIT. |
| * configure.in: Converted to Autoconf v2. |
| * dir.c: Test HAVE_DIRENT_H, HAVE_SYS_DIR_H, HAVE_NDIR_H instead |
| of DIRENT, SYSDIR, NDIR. |
| * build.sh.in (prefix, exec_prefix): Set these from @...@. |
| (CPPFLAGS): New variable, set from @CPPFLAGS@. |
| (compiling loop): Pass $CPPFLAGS before $CFLAGS. |
| * install.sh: File renamed to install-sh. |
| |
| * main.c (define_makeflags): When no flags, set WORDS to zero. |
| |
| Sun Nov 6 18:34:01 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * Version 3.72.1. |
| |
| * main.c (define_makeflags): Terminate properly when FLAGSTRING is |
| empty. |
| |
| Fri Nov 4 16:02:51 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * Version 3.72. |
| |
| Tue Nov 1 01:18:10 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * Version 3.71.5. |
| |
| * job.c (start_job_command): When ARGV is nil, only set |
| update_state and call notice_finished_file if job_next_command |
| returns zero. |
| |
| * job.c (start_job_command): Call notice_finished_file for empty |
| command line. |
| |
| Thu Oct 27 02:02:45 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * file.c (snap_deps): Set COMMANDS_SILENT for .SILENT, not |
| COMMANDS_NOERROR. |
| |
| Wed Oct 26 02:14:10 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * Version 3.71.4. |
| |
| Tue Oct 25 22:49:24 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * file.c (snap_deps): Set command_flags bits in all :: entries. |
| |
| Mon Oct 24 18:47:50 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * make.h (posix_pedantic): Declare it. |
| * main.c (main): Move checks .IGNORE, .SILENT, .POSIX to |
| snap_deps. |
| * file.c (snap_deps): Check .IGNORE, .SILENT, .POSIX here instead |
| of in main. If .IGNORE has deps, OR COMMANDS_NOERROR into their |
| command_flags and don't set -i. Likewise .SILENT. |
| * job.c (start_job_command): In FLAGS initialization, OR in |
| CHILD->file->command_flags. |
| * file.h (struct file): New member `command_flags'. |
| |
| Sun Oct 16 01:01:51 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * main.c (switches): Bump flag values for --no-print-directory and |
| --warn-undefined-variables, so neither is 1 (which indicates a |
| nonoption argument). |
| |
| Sat Oct 15 23:39:48 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * main.c (main): Add missing code in .IGNORE test. |
| |
| Mon Oct 10 04:09:03 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * variable.c (define_automatic_variables): Define +D and +F. |
| |
| Sat Oct 1 04:07:48 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * main.c (main): Define hidden automatic variable with command |
| vars, and MAKEOVERRIDES to a reference to that. |
| (define_makeflags): If posix_pedantic, write a reference to that |
| instead. |
| |
| Thu Sep 29 00:14:26 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * main.c (posix_pedantic): New variable. |
| (main): Set posix_pedantic if .POSIX is a target. |
| Fix .IGNORE and .SILENT checks to require is_target. |
| |
| * commands.c (set_file_variables): Define new automatic variable |
| $+, like $^ but before calling uniquize_deps. |
| |
| * job.c (reap_children): Call delete_child_targets for non-signal |
| error if .DELETE_ON_ERROR is a target. |
| |
| Tue Sep 27 01:57:14 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * Version 3.71.3. |
| |
| Mon Sep 26 18:16:55 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * job.c (reap_children): Don't change C->file->command_state when |
| dying. Test it only after calling start_job_command for a new |
| command line. When no more cmds, just set C->file->update_status. |
| (start_job_command): When the last line is empty or under -n, set |
| C->file->update_status. |
| (start_waiting_job): Grok cs_not_started after start_job_command |
| as success. |
| (new_job): Set C->file->update_status when there are no cmds. |
| (job_next_command): When out of lines, don't set |
| CHILD->file->update_status or CHILD->file->command_state. |
| |
| * main.c (quote_as_word): Renamed from shell_quote. Take new arg; |
| if nonzero, also double $s. |
| (main): Define MAKEOVERRIDES from command_variables here. |
| (define_makeflags): Don't use command_variables here; instead write a |
| reference $(MAKEOVERRIDES) in MAKEFLAGS. Make vars recursive. |
| |
| * dir.c [__MSDOS__]: Fixed typo. |
| |
| * vpath.c (selective_vpath_search): Reset EXISTS when stat fails. |
| |
| Sat Sep 10 03:01:35 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * remake.c: Include <assert.h> and use assert instead of printfs |
| and abort. |
| |
| * main.c (decode_switches): Loop until optind hits ARGC, not just |
| until getopt_long returns EOF. Initialize C to zero before loop; |
| in loop if C is EOF, set optarg from ARGV[optind++], else call |
| getopt_long. |
| (decode_env_switches): Use variable_expand instead of |
| allocated_variable_expand. Allocate a fresh buffer to copy split |
| words into; scan characters by hand to break words and |
| debackslashify. |
| (shell_quote): New function. |
| (define_makeflags): Allocate doubled space for switch args, and command |
| variable names and values; use shell_quote to quote those things. |
| |
| Fri Sep 9 01:37:47 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * Version 3.71.2. |
| |
| * acconfig.h: Add HAVE_SYS_SIGLIST and HAVE__SYS_SIGLIST. |
| |
| * main.c (decode_switches): The non-option return from getopt is |
| 1, not 0. |
| (command_variables): New type and variable. |
| (decode_switches, decode_env_switches): After making a variable |
| definition, record the struct variable pointer in the |
| command_variables chain. |
| (define_makeflags): If ALL, write variable definitions for |
| command_variables. |
| |
| * main.c (other_args): Variable removed. |
| (goals, lastgoal): New static variables (moved from auto in main). |
| (main): Don't process OTHER_ARGS at all. |
| Don't set variable MAKEOVERRIDES at all; define MAKE to just |
| $(MAKE_COMMAND). |
| (init_switches): Prepend a - {return in order} instead of a + |
| {require order}. |
| (decode_switches): Don't set OTHER_ARGS at all. |
| Grok '\0' return from getopt_long as non-option argument; try |
| variable definition and (if !ENV) enter goal targets here. |
| (decode_env_switches): Use allocated_variable_expand to store value. |
| Use find_next_token to simplify word-splitting loop. Don't |
| prepend a dash to uninterpreted value. Instead, if split into |
| only one word, try variable definition and failing that prepend a |
| dash to the word and pass it to decode_switches as a single arg. |
| |
| Wed Sep 7 03:02:46 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| * remake.c (notice_finished_file): Only recheck modtimes if |
| FILE->command_state was cs_running on entry (meaning the commands |
| actually just ran). |
| (update_file_1): Whenever we set FILE->update_status, call |
| notice_finished_file instead of just set_command_state. |
| * job.c (start_job_command): Whenever we set |
| CHILD->file->update_status, call notice_finished_file instead of |
| just set_command_state. |
| |
| Tue Sep 6 19:13:54 1994 Roland McGrath <roland@geech.gnu.ai.mit.edu> |
| |
| * default.c: Add missing ". |
| |
| * job.c: Changed all assignments of command_state members to calls |
| to set_command_state. |
| * remake.c: Likewise. |
| * file.c (set_command_state): New function. |
| * file.h: Declare set_command_state. |
| |
| * main.c (init_switches): Put a + first in options. |
| |
| Mon Jul 25 18:07:46 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu> |
| |
| Merge MSDOS/GO32 port from DJ Delorie <dj@ctron.com>. |
| * vpath.c: Changed all uses of ':' to PATH_SEPARATOR_CHAR. |
| * main.c (directory_before_chdir): New variable, moved out of main |
| (was local). |
| (main) [__MSDOS__]: Look for \ or : to delimit last component of |
| PROGRAM. Don't frob ARGV[0] before setting MAKE_COMMAND variable. |
| (die): Change back to `directory_before_chdir' before dying. |
| * make.h (PATH_SEPARATOR_CHAR): New macro; differing defns for |
| [__MSDOS__] and not. |
| * job.c [__MSDOS__]: Include <process.h>. |
| [__MSDOS__] (dos_pid, dos_status, dos_bname, dos_bename, |
| dos_batch_file): New variables. |
| (reap_children) [__MSDOS__]: Don't call wait; just examine those vars. |
| (unblock_sigs) [__MSDOS__]: Do nothing. |
| (start_job_command) [__MSDOS__]: Use spawnvpe instead of vfork & exec. |
| (load_too_high) [__MSDOS__]: Always return true. |
| (search_path) [__MSDOS__]: Check for : or / in FILE to punt. |
| Use PATH_SEPARATOR_CHAR instead of ':'. |
| (construct_command_argv_internal) [__MSDOS__]: Wholly different |
| values for sh_chars and sh_cmds. Wholly new code to handle shell |
| scripts. |
| * function.c (expand_function: `shell') [__MSDOS__]: Wholly new |
| implementation. |
| * dir.c [__MSDOS__] (dosify): New function. |
| (dir_contents_file_exists_p) [__MSDOS__]: Call it on FILENAME and |
| process the result instead of FILENAME itself. |
| (file_impossible_p) [__MSDOS__]: Likewise. |
| * default.c [__MSDOS__]: Define GCC_IS_NATIVE. |
| (default_suffix_rules) [__MSDOS__]: Use `y_tab.c' instead of `y.tab.c'. |
| (default_variables) [GCC_IS_NATIVE]: Set CC and CXX to `gcc', YACC to |
| `bison -y', and LEX to `flex'. |
| * configure.bat, configh.dos: New files. |
| * commands.c (fatal_error_signal) [__MSDOS__]: Just remove |
| intermediates and exit. |
| |
| * commands.c (set_file_variables): Add parens in length |
| computation in .SUFFIXES dep loop to quiet compiler warning. From |
| Jim Meyering. |
| |
| * read.c (read_makefile): Free FILENAME if we allocated it. From |
| Jim Meyering. |
| |
| Mon Jul 4 17:47:08 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * misc.c (safe_stat): New function, EINTR-safe wrapper around stat. |
| * vpath.c (selective_vpath_search): Use safe_stat in place of stat. |
| * read.c (construct_include_path): Use safe_stat in place of stat. |
| * job.c (search_path): Use safe_stat in place of stat. |
| * dir.c (find_directory): Use safe_stat in place of stat. |
| * commands.c (delete_target): Use safe_stat in place of stat. |
| * arscan.c (ar_member_touch) [EINTR]: Do EINTR looping around fstat. |
| * remake.c (name_mtime): Use safe_stat in place of stat. |
| (touch_file) [EINTR]: Do EINTR looping around fstat. |
| |
| Fri Jun 24 05:40:24 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * read.c (read_makefile): Check for a shell command first, and |
| then strip leading tabs before further checking if it's not a |
| shell command line. |
| |
| * make.h [__arm]: Undefine POSIX. |
| [!__GNU_LIBRARY__ && !POSIX && !_POSIX_VERSION]: Don't declare system |
| functions that return int. |
| |
| * job.c (construct_command_argv_internal): After swallowing a |
| backslash-newline combination, if INSTRING is set goto string_char |
| (new label) for normal INSTRING handling code. |
| |
| Sat Jun 4 01:11:20 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) |
| |
| * configure.in: Don't check for sys_siglist and _sys_siglist with |
| AC_HAVE_FUNCS. Instead use two AC_COMPILE_CHECKs. |
| |
| Mon May 23 18:20:38 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.71.1 released. |
| |
| * make.h [!__GNU_LIBRARY__ && !POSIX]: Also test #ifndef |
| _POSIX_VERSION for these declarations. |
| |
| * misc.c [GETLOADAVG_PRIVILEGED] [POSIX]: Remove bogus #ifndefs |
| around #undefs of HAVE_SETREUID and HAVE_SETREGID. |
| |
| Sat May 21 16:26:38 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.71 released. |
| |
| * misc.c [GETLOADAVG_PRIVILEGED] [POSIX]: Don't test [HAVE_SETUID] |
| and [HAVE_SETGID]. Every system has those, and configure doesn't |
| check for them. |
| |
| * make.h [_POSIX_VERSION]: Don't #define POSIX #ifdef ultrix. |
| |
| * compatMakefile (loadavg): Depend on and use loadavg.c instead of |
| getloadavg.c. |
| (loadavg.c): Link or copy it from getloadavg.c. |
| (distclean): Remove loadavg.c. |
| |
| Mon May 16 22:59:04 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.70.4. |
| |
| * misc.c [GETLOADAVG_PRIVILEGED] [! POSIX]: Undefine HAVE_SETEUID |
| and HAVE_SETEGID. |
| |
| * default.c (default_terminal_rules): In SCCS rules, put |
| $(SCCS_OUTPUT_OPTION) before $<. On some systems -G is grokked |
| only before the file name. |
| * configure.in (SCCS_GET_MINUS_G check): Put -G flag before file name. |
| |
| Tue May 10 16:27:38 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * job.c (construct_command_argv_internal): Swallow |
| backslash-newline combinations inside '' strings too. |
| |
| Thu May 5 04:15:10 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * read.c (do_define): Call collapse_continuations on each line |
| before all else. |
| |
| Mon Apr 25 19:32:02 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * job.c (construct_command_argv_internal): Notice newline inside |
| '' string when RESTP is non-null. |
| |
| Fri Apr 22 17:33:30 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) |
| |
| * Version 3.70.3. |
| |
| * remake.c (update_goal_chain): Reset FILE to G->file after the |
| double-colon loop so it is never null for following code. |
| |
| * read.c (read_makefile): Fix `override define' parsing to skip |
| whitespace after `define' properly. |
| |
| * compatMakefile (srcdir): Define as @srcdir@; don't reference |
| $(VPATH). |
| (glob/Makefile): New target. |
| |
| Thu Apr 21 16:16:55 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu) |
| |
| * Version 3.70.2. |
| |
| * misc.c (remove_comments): Use find_char_unquote. |
| * make.h (find_char_unquote): Declare it. |
| * read.c (find_char_unquote): New function, generalized from |
| find_percent. |
| (find_percent, find_semicolon, parse_file_seq): Use that. |
| |
| Wed Apr 20 18:42:39 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * implicit.c (pattern_search): Always allocate new storage for |
| FILE->stem. It is not safe to store STEM's address because it |
| might be auto storage. |
| |
| * configure.in: Check for seteuid and setegid. |
| * misc.c [HAVE_SETEUID]: Declare seteuid. |
| [HAVE_SETEGID]: Declare setegid. |
| (make_access, user_access) [HAVE_SETEUID]: Use seteuid. |
| [HAVE_SETEGID]: Use setegid. |
| |
| * remake.c (update_goal_chain): Set STATUS to FILE->update_status, |
| to preserve whether it's 2 for error or 1 for -q trigger. When |
| STATUS gets nonzero and -q is set, always stop immediately. |
| * main.c (main, decode_switches): Die with 2 for errors. |
| (main): Accept 2 return from update_goal_chain and die with that. |
| * misc.c (fatal, makefile_fatal): Die with 2; 1 is reserved for -q |
| answer. |
| * job.c (reap_children): Die with 2 for error. |
| (start_job_command): Set update_status to 2 for error. Set it to |
| 1 when we would run a command and question_flag is set. |
| |
| * read.c (read_makefile): Don't mark makefiles as precious. Just |
| like other targets, they can be left inconsistent and in need of |
| remaking by aborted commands. |
| |
| * read.c (read_makefile): Write no error msg for -include file. |
| |
| Tue Apr 5 05:22:19 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * commands.c (fatal_error_signal): Don't unblock signals. |
| |
| * file.h (struct file): Change member `double_colon' from flag to |
| `struct file *'. |
| * read.c (record_files): Set double_colon pointer instead of flag. |
| * main.c (main): When disqualifying makefiles for updating, use |
| double_colon pointer to find all entries for a file. |
| * file.c (enter_file): If there is already a double-colon entry |
| for the file, set NEW->double_colon to that pointer. |
| (file_hash_enter): Use FILE->double_colon to find all entries to |
| set name. |
| * remake.c (update_goal_chain): Do inner loop on double-colon entries. |
| (update_file): Use FILE->double_colon pointer to find all entries. |
| (f_mtime): Likewise. |
| (notice_finished_file): Propagate mtime change to all entries. |
| |
| * variable.c (try_variable_definition): Return after abort. |
| |
| Fri Apr 1 18:44:15 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * read.c (read_makefile): Remove unused variable. |
| (parse_file_seq): When removing an elt that is just `)', properly |
| fix up the previous elt's next pointer. |
| |
| Mon Mar 28 18:31:49 1994 Roland McGrath (roland@mole.gnu.ai.mit.edu) |
| |
| * configure.in: Do AC_SET_MAKE. |
| * GNUmakefile (Makefile.in): Edit MAKE assignment into @SET_MAKE@. |
| |
| Fri Mar 4 00:02:32 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * function.c (subst_expand): If BY_WORD or SUFFIX_ONLY is set and |
| the search string is the empty string, find a match at the end of |
| each word (using end_of_token in place of sindex). |
| |
| * misc.c (end_of_token): Don't treat backslashes specially; you |
| can no longer escape blanks with backslashes in export, unexport, |
| and vpath. This was never documented anyway. |
| |
| Thu Mar 3 23:53:46 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * read.c (read_makefile): Variable name for `define' is not just |
| first token; use whole rest of line and strip trailing blanks. |
| |
| Wed Feb 16 16:03:45 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.70.1. |
| |
| * read.c (read_makefile): Add -d msg stating args. |
| |
| * read.c (read_makefile): Use isspace to skip over leading |
| whitespace, and explicitly avoid skipping over tabs. Don't want |
| to skip just spaces though; formfeeds et al should be skipped. |
| |
| * default.c (default_variables) [__hpux]: Add f in ARFLAGS. |
| |
| * arscan.c (ar_name_equal) [__hpux]: Subtract 2 instead of 1 from |
| sizeof ar_name for max length to compare. |
| |
| * misc.c [GETLOADAVG_PRIVILEGED] [POSIX]: Undefine HAVE_SETREUID |
| #ifdef HAVE_SETUID; likewise HAVE_SETREGID and HAVE_SETGID. |
| |
| * main.c (main): Call user_access after setting `program', in case |
| it needs to use it in an error message. |
| |
| * read.c (read_makefile): Ignore an empty line starting with a tab. |
| |
| Thu Feb 10 21:45:31 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * configure.in (AC_SYS_SIGLIST_DECLARED): Use this instead of |
| AC_COMPILE_CHECK that is now its contents. |
| |
| Fri Feb 4 16:28:54 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * make.h: #undef strerror after #include <string.h>. |
| [! ANSI_STRING]: Declare strerror. |
| |
| Thu Feb 3 02:21:22 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * misc.c (strerror): #undef any macro before function definition. |
| |
| Mon Jan 31 19:07:23 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * variable.c (try_variable_definition): Calculate BEG before loop |
| to strip blanks by decrementing END. Don't decr END to before BEG. |
| |
| * read.c (read_makefile): Skip over leading space characters, but |
| not tabs, after removing continuations and comments (it used to |
| use isspace). |
| |
| Tue Jan 25 16:45:05 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * variable.c (define_automatic_variables): In $(@D) et al, use |
| patsubst to remove trailing slash. |
| |
| * commands.c (delete_target): New function, broken out of |
| delete_child_targets. Check for archive members and give special msg. |
| (delete_child_targets): Use delete_target. |
| |
| Mon Jan 17 17:03:22 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * default.c (default_suffix_rules): Use $(TEXI2DVI_FLAGS) in |
| texi2dvi rules. Use $(MAKEINFO_FLAGS) in makeinfo rules. |
| |
| Tue Jan 11 19:29:55 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * GNUmakefile (tarfiles): Omit make-doc. |
| (make-$(version).tar): Include make.info*. |
| |
| Fri Jan 7 16:27:00 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * compatMakefile (configure, config.h.in): Comment out rules. |
| |
| Thu Jan 6 18:08:08 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * compatMakefile (binprefix, manprefix): New variables. |
| (instname): Variable removed. |
| (install): Use $({bin,man}prefix)make in place of $(instname). |
| File targets likewised renamed. |
| |
| Mon Jan 3 17:50:25 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.70 released. |
| |
| Thu Dec 23 14:46:54 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.69.3. |
| |
| * read.c (parse_file_seq): Inside multi-word archive ref |
| translation loop, check NEW1==0 at end and break out of the loop. |
| |
| * GNUmakefile (make-$(version).tar): Distribute install.sh. |
| * install.sh: New file. |
| |
| * configure.in (SCCS_GET_MINUS_G check): Put redirection for admin |
| cmds outside subshell parens, to avoid "command not found" msgs |
| from the shell. |
| |
| Wed Dec 22 17:00:43 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * configure.in (SCCS_GET_MINUS_G check): Put -G flag last in get cmd. |
| Redirect output & error from get to /dev/null. |
| Fix reversed sense of test. |
| |
| Fri Dec 17 15:31:36 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * configure.in (SCCS_GET_MINUS_G check): Use parens instead of |
| braces inside if condition command; some shells lose. |
| |
| Thu Dec 16 15:10:23 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.69.2. |
| |
| * arscan.c [M_UNIX]: Move #undef M_XENIX for PORTAR stuff. |
| (PORTAR) [M_XENIX]: Define to 0 instead of 1. |
| |
| * main.c (define_makeflags): Only export MAKEFLAGS if !ALL. |
| |
| Wed Dec 15 17:47:48 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * main.c (main): Cast result of pointer arith to unsigned int |
| before passing to define_variable for envars. Matters when |
| sizeof(unsigned)!=sizeof(ptrdiff_t). |
| |
| Tue Dec 14 14:21:16 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * configure.in: Add new check for SCCS_GET_MINUS_G. |
| * config.h.in: Add #undef SCCS_GET_MINUS_G. |
| * default.c (default_terminal_rules): Use `$(SCCS_OUTPUT_OPTION)' in |
| place of `-G $@' in SCCS commands. |
| (default_variables) [SCCS_GET_MINUS_G]: Define SCCS_OUTPUT_OPTION |
| to "-G$@". |
| |
| * configure.in (AC_OUTPUT): Put touch stamp-config in second arg |
| (so it goes in config.status), rather than afterward. |
| |
| * ar.c (ar_member_date): Don't call enter_file on the archive file |
| if it doesn't exist (by file_exists_p). |
| |
| * compatMakefile ($(infodir)/make.info): Replace `$$d/foo.info' |
| with `$$dir/make.info' in install-info invocation (oops). |
| |
| * vpath.c (construct_vpath_list): Only set LASTPATH set PATH when |
| we do not unlink and free PATH. |
| |
| * file.c (print_file_data_base): Fix inverted calculation for |
| average files per hash bucket. |
| |
| * read.c (readline): When we see a NUL, give only a warning and |
| synthesize a newline to terminate the building line (used to |
| fatal). Move fgets call into the loop condition, and after the |
| loop test ferror (used to test !feof in the loop). |
| |
| Fri Dec 3 16:40:31 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * configure.in: Check for strerror in AC_HAVE_FUNCS. |
| |
| Thu Dec 2 15:37:50 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| Differentiate different flavors of missing makefile error msgs, |
| removing gratuitous `fopen: ' and giving caller for included makefiles. |
| * misc.c [! HAVE_STRERROR]: Define our own strerror here. |
| (perror_with_name, pfatal_with_name): Use strerror instead of |
| replicating its functionality. |
| * read.c (read_makefile): Return int instead of void. |
| (read_all_makefiles, read_makefile): Change callers to notice zero |
| return and give error msg. |
| |
| Thu Nov 11 11:47:36 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.69.1. |
| |
| * default.c: Put `-G $@' before $< in SCCS cmds. |
| |
| Wed Nov 10 06:06:14 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * read.c (read_makefile): After trying a variable defn, notice if |
| the line begins with a tab, and diagnose an error. |
| |
| Sun Nov 7 08:07:37 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.69. |
| |
| Wed Nov 3 06:54:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.68.10. |
| |
| * implicit.c (try_implicit_rule): Look for a normal rule before an |
| archive rule. |
| |
| Fri Oct 29 16:45:28 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * function.c (expand_function: `sort'): Double NWORDS when it |
| overflows, instead of adding five. |
| |
| * compatMakefile (clean): Remove loadavg. |
| |
| Wed Oct 27 17:58:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.68.9. |
| |
| * file.h (NEW_MTIME): Define new macro. |
| * main.c (main): Set time of NEW_FILES to NEW_MTIME, not to |
| current time returned from system. Removed variable NOW. |
| * remake.c (notice_finished_file): Use NEW_MTIME in place of |
| current time here too. |
| |
| Tue Oct 26 19:45:35 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.68.8. |
| |
| * remake.c (update_file_1): Don't clear MUST_MAKE when FILE has no |
| cmds and !DEPS_CHANGED unless also !NOEXIST. |
| |
| Mon Oct 25 15:25:21 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * read.c (parse_file_seq): When converting multi-word archive |
| refs, ignore a word beginning with a '('. |
| |
| Fri Oct 22 02:53:38 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * configure.in: Check for sys/timeb.h. |
| * make.h [HAVE_SYS_TIMEB_H]: Test this before including it. |
| |
| Thu Oct 21 16:48:17 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.68.7. |
| |
| * rule.c (convert_suffix_rule): New local TARGPERCENT. Set it to |
| TARGNAME+1 for "(%.o)", to TARGNAME for "%.?". Use it in place of |
| TARGNAME to initialize PERCENTS[0]. |
| |
| Mon Oct 18 06:49:35 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * configure.in: Use AC_HAVE_HEADERS(unistd.h) instead of AC_UNISTD_H. |
| Remove AC_USG; it is no longer used. |
| |
| * file.c (print_file): New function, broken out of |
| print_file_data_base. |
| (print_file_data_base): Call it. |
| * rule.c (print_rule): New function, broken out of |
| print_rule_data_base. |
| (print_rule_data_base): Call it. |
| |
| Thu Oct 14 14:54:03 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * default.c (install_default_suffix_rules): New function, broken |
| out of install_default_implicit_rules. |
| (install_default_implicit_rules): Move suffix rule code there. |
| * make.h: Declare install_default_suffix_rules. |
| * main.c (main): Call install_default_suffix_rules before reading |
| makefiles. Move convert_to_pattern call before |
| install_default_implicit_rules. |
| |
| * job.h (struct child): Make `pid' member type `pid_t' instead of |
| `int'. |
| |
| * compatMakefile (RANLIB): New variable, set by configure. |
| (glob/libglob.a): Pass RANLIB value down to submake. |
| |
| Fixes for SCO 3.2 "devsys 4.2" from pss@tfn.com (Peter Salvitti). |
| * make.h: Include <sys/timeb.h> before <time.h> for SCO lossage. |
| * job.c [! getdtablesize] [! HAVE_GETDTABLESIZE]: If NOFILE is not |
| defined but NOFILES_MAX is, define it to be that. |
| |
| Mon Oct 11 19:47:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * GNUmakefile (make-$(version).tar): Depend on acconfig.h, so it |
| is distributed. |
| |
| Sun Oct 3 15:15:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * default.c (default_terminal_rules): Add `-G $@' to SCCS get cmds. |
| |
| Tue Sep 28 14:18:20 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * job.c (construct_command_argv_internal): Add ^ to SH_CHARS; it |
| is another symbol for | in some shells. |
| * main.c (main): Add it to CMD_DEFS quoting list as well. |
| |
| Mon Sep 20 18:05:24 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * job.c (construct_command_argv_internal): Remove '=' from |
| SH_CHARS. Only punt on '=' if it is unquoted in a word before the |
| first word without an unquoted '='. |
| |
| * main.c (define_makeflags): Set v_export for MAKEFLAGS. |
| |
| Fri Sep 17 00:37:18 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * remake.c (update_file_1): Use .DEFAULT cmds for phony targets. |
| |
| * make.h [_AIX && _POSIX_SOURCE]: Define POSIX. |
| |
| * commands.c (delete_child_targets): Don't delete phony files. |
| |
| * job.c (start_job_command): Set COMMANDS_RECURSE in FLAGS if we |
| see a `+' at the beginning of the command line. |
| |
| Thu Sep 9 17:57:14 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.68.6. |
| |
| Wed Sep 8 20:14:21 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * main.c (define_makeflags): Define MAKEFLAGS with o_file, not o_env. |
| |
| Mon Aug 30 12:31:58 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * expand.c (variable_expand): Fatal on an unterminated reference. |
| |
| Thu Aug 19 16:27:53 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.68.5. |
| |
| * variable.c (define_automatic_variables): Define new o_default |
| variable `MAKE_VERSION' from version_string and remote_description. |
| |
| * make.h (version_string, remote_description): Declare these here. |
| * main.c: Don't declare version_string. |
| (print_version): Don't declare remote_description. |
| |
| Wed Aug 18 15:01:24 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * read.c (read_makefile): Free space pointed to by CONDITIONALS |
| before restoring the old pointer. |
| |
| Mon Aug 16 17:33:36 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * compatMakefile ($(objs)): Depend on config.h. |
| |
| * GNUmakefile (build.sh.in): Depend on compatMakefile. |
| |
| * configure.in: Touch stamp-config after AC_OUTPUT. |
| |
| Fri Aug 13 16:04:22 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.68.4. |
| |
| Thu Aug 12 17:18:57 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * make.h: Include <config.h> instead of "config.h". |
| |
| Wed Aug 11 02:35:25 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * main.c (main): Make all variables interned from ENVP be v_export. |
| * variable.c (try_variable_definition): In v_default case, don't |
| check for an o_file variable that `getenv' finds. |
| |
| * job.c (reap_children): New local variable ANY_LOCAL; set it |
| while setting ANY_REMOTE. If !ANY_LOCAL, don't wait for local kids. |
| |
| * main.c (main): Don't call decode_env_switches on MFLAGS. DOC THIS. |
| |
| * function.c (expand_function): #if 0 out freeing of ENVP since it |
| is environ. |
| |
| Mon Aug 9 17:37:20 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.68.3. |
| |
| * remote-stub.c (remote_status): Set errno to ECHILD before return. |
| * job.c (reap_children): Scan the chain for remote children and |
| never call remote_status if there are none. |
| |
| * function.c (expand_function: `shell'): #if 0 out calling |
| target_environment; just set ENVP to environ instead. |
| |
| * job.c (reap_children): Check for negative return from |
| remote_status and fatal for it. |
| When blocking local child wait returns 0, then try a blocking call |
| to remote_status. |
| |
| Tue Aug 3 00:19:00 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * compatMakefile (clean): Delete make.info* and make.dvi here. |
| (distclean): Not here. |
| |
| * dep.h (RM_*): Use #defines instead of enum to avoid lossage from |
| compilers that don't like enum values used as ints. |
| |
| Mon Aug 2 16:46:34 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * compatMakefile (loadavg): Add $(LOADLIBES). |
| |
| Sun Aug 1 16:01:15 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.68.2. |
| |
| * compatMakefile (loadavg, check-loadavg): New targets. |
| (check): Depend on check-loadavg. |
| |
| * compatMakefile (glob/libglob.a): Depend on config.h. |
| |
| * misc.c (log_access): Write to stderr instead of stdout. |
| |
| Fri Jul 30 00:07:02 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.68.1. |
| |
| Thu Jul 29 23:26:40 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * configure.in (SYS_SIGLIST_DECLARED): In test program include |
| <unistd.h> #ifdef HAVE_UNISTD_H. |
| |
| * compatMakefile (.PHONY): Put after `all' et al. |
| |
| * configure.in: Add AC_IRIX_SUN. |
| |
| Wed Jul 28 17:41:12 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.68. |
| |
| Mon Jul 26 14:36:49 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.67.8. |
| |
| Sun Jul 25 22:09:08 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.67.7. |
| |
| * compatMakefile ($(infodir)/make.info): Don't use $(instname). |
| Run install-info script if present. |
| |
| Fri Jul 23 16:03:50 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * make.h [STAT_MACROS_BROKEN]: Test this instead of [uts]. |
| |
| * configure.in: Add AC_STAT_MACROS_BROKEN. |
| |
| Wed Jul 14 18:48:11 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.67.6. |
| |
| * read.c (read_makefile): Recognize directive `-include', like |
| `include' but sets RM_DONTCARE flag. |
| |
| * variable.c (target_environment): If FILE is nil, use |
| current_variable_set_list in place of FILE->variables. |
| * function.c (expand_function: `shell'): Get an environment for |
| the child from target_environment instead of using environ. |
| |
| * dep.h: Declare read_all_makefiles here. |
| (RM_*): Define new enum constants. |
| * read.c (read_makefile): Second arg is FLAGS instead of TYPE. |
| Treat it as a bit mask containing RM_*. |
| (read_all_makefiles): For default makefiles, set D->changed to |
| RM_DONTCARE instead of 1. |
| * main.c: Don't declare read_all_makefiles here. |
| (main): Check `changed' member of read_makefiles elts for RM_* |
| flags instead of specific integer values. |
| |
| Mon Jul 12 22:42:17 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * make.h [sequent && i386]: #undef POSIX. From trost@cse.ogi.edu. |
| |
| Thu Jul 8 19:51:23 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * vpath.c (construct_vpath_list): If ELEM is zero 0, free PATTERN |
| as well as VPATH. |
| (build_vpath_lists): Empty `vpaths' around construct_vpath_list |
| call for $(VPATH). Expand $(strip $(VPATH)), not just $(VPATH). |
| |
| * rule.c (convert_suffix_rule): Use alloca instead of xmalloc for |
| PERCENTS, whose storage is not consumed by create_pattern_rule. |
| |
| * make.h [__mips && _SYSTYPE_SVR3]: #undef POSIX. |
| |
| Wed Jun 30 18:11:40 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.67.5. |
| |
| * rule.c (max_pattern_targets): New variable. |
| (count_implicit_rule_limits): Compute its value. |
| * rule.h: Declare it. |
| * implicit.c (pattern_search): Make TRYRULES max_target_patterns |
| times bigger. Move adding new TRYRULES elt inside the inner |
| targets loop, so each matching target gets its own elt in MATCHES |
| and CHECKED_LASTSLASH. |
| |
| * file.c (remove_intermediates): If SIG!=0 say `intermediate file' |
| instead of just `file' in error msg. |
| |
| Fri Jun 25 14:55:15 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * job.c (construct_command_argv): Turn off |
| --warn-undefined-variables around expansion of SHELL and IFS. |
| * read.c (tilde_expand): Likewise for HOME. |
| (read_all_makefiles): Likewise for MAKEFILES. |
| * vpath.c (build_vpath_lists): Likewise for VPATH. |
| |
| * main.c (warn_undefined_variables_flag): New flag variable. |
| (switches): Add --warn-undefined-variables. |
| * make.h (warn_undefined_variables_flag): Declare it. |
| * expand.c (warn_undefined): New function. |
| (reference_variable): Call it if the variable is undefined. |
| (variable_expand): In substitution ref, call warn_undefined if the |
| variable is undefined. |
| |
| * default.c (default_pattern_rules): Add `%.c: %.w %.ch' and |
| `%.tex: %.w %.ch' rules. |
| (default_suffix_rules: .w.c, .w.tex): Pass three args: $< - $@. |
| (default_suffixes): Add `.ch'. |
| |
| Mon Jun 21 17:55:39 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * default.c (default_suffixes): Replace `.cweb' with `.w'. |
| (default_suffix_rules): Rename `.cweb.c' and `.cweb.tex' to `.w.c' |
| and `.w.tex'. |
| |
| Fri Jun 11 14:42:09 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * compatMakefile ($(bindir)/$(instname)): Add missing backslash. |
| |
| Thu Jun 10 18:14:08 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.67.4. |
| |
| * read.c (multi_glob): Don't free OLD and OLD->name in the |
| FOUND!=0 fork. Use new block-local variable F instead of |
| clobbering OLD. |
| |
| * ar.c (glob_pattern_p): New function, snarfed from glob/glob.c. |
| (ar_glob): Call it; return nil immediately if MEMBER_PATTERN |
| contains no metacharacters. |
| |
| Wed Jun 9 16:25:35 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * ar.c (ar_glob{_match,_alphacompare}): New function. |
| |
| * dep.h [! NO_ARCHIVES]: Declare it. |
| * read.c (multi_glob) [! NO_ARCHIVES]: Use it on archive member elts. |
| |
| * read.c (read_makefile): Pass flag (1) to parse_file_seq, not to |
| multi_glob (which doesn't take a 3rd arg). |
| * rule.c (install_pattern_rule): Likewise. |
| * default.c (set_default_suffixes): Here too. |
| * function.c (string_glob): Don't pass gratuitous arg to multi_glob. |
| |
| * read.c (parse_file_seq) [! NO_ARCHIVES]: Add post-processing |
| loop to translate archive refs "lib(a b)" into "lib(a) lib(b)". |
| |
| Mon Jun 7 19:26:51 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * compatMakefile (installdirs): Actually pass directory names. |
| ($(bindir)/$(instname)): Test chgrp&&chmod exit status with `if'; |
| if it fails, echo a warning msg, but don't make the rule fail. |
| |
| * read.c (tilde_expand): New function, broken out of tilde_expand. |
| (multi_glob): Call it. |
| (construct_include_path): Expand ~ in directory names. |
| * dep.h: Declare tilde_expand. |
| * main.c (enter_command_line_file): Expand ~ at the start of NAME. |
| (main): Expand ~ in -C args. |
| * read.c (read_makefile): Expand ~ in FILENAME unless TYPE==2. |
| |
| Fri Jun 4 13:34:47 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * main.c (decode_env_switches): Use xmalloc instead of alloca for ARGS. |
| |
| * main.c (main): Put result of alloca in temporary variable with |
| simple assignment, to make SGI compiler happy. |
| |
| Thu Jun 3 20:15:46 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.67.3. |
| |
| * main.c (main): Before re-execing, remove intermediate files, and |
| print the data base under -p. Sexier debugging message. |
| |
| * implicit.c (pattern_search): Allocate an extra copy of the name |
| of a winning intermediate file when putting it in FOUND_FILES. |
| |
| Wed Jun 2 16:38:08 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * read.c (read_makefile): Pass flag (1) to parse_file_seq, not to |
| multi_glob (which doesn't take a 3rd arg). |
| |
| * dir.c (dir_contents_file_exists_p): When reading dirents, ignore |
| chars within D_NAMLEN that are NULs. |
| |
| * main.c (decode_switches): Don't savestring ARGV[0] to put it |
| into `other_args'. |
| For string switch, don't savestring `optarg'. |
| (main): Don't free elts of makefiles->list that are "-". |
| Use alloca'd rather than savestring'd storage for elts of |
| makefiles->list that are temporary file names. |
| * read.c (read_all_makefiles): Don't free *MAKEFILES. |
| * file.c (enter_file): Don't strip `./'s. |
| * main.c (enter_command_line_file): New function. |
| (main): Use it in place of enter_file for command-line goals from |
| other_files, and for old_files and new_files. |
| |
| Mon May 31 18:41:40 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.67.2. |
| |
| * compatMakefile (.SUFFIXES): Add .info. |
| ($(infodir)/$(instname).info): Find make.info* in cwd if there, |
| else in $srcdir. Use basename to remove dir name from installed name. |
| |
| Thu May 27 17:35:02 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * implicit.c (pattern_search): When interning FOUND_FILES, try |
| lookup_file first; if found, free the storage for our copy of the name. |
| |
| Wed May 26 14:31:20 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.67.1. |
| |
| * main.c (decode_switches): In usage msg, write `--switch=ARG' or |
| `--switch[=OPTARG]' rather than `--switch ARG' or `--switch [ARG]'. |
| |
| Mon May 24 16:17:31 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * rule.c (convert_suffix_rule): New function. |
| (convert_to_pattern): Use it instead of doing all the work here |
| several times. |
| For target suffix `.a', generate both the archive magic rule and |
| the normal rule. |
| |
| * compatMakefile (distclean): Remove stamp-config. |
| |
| Sat May 22 16:15:18 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.67. |
| |
| * file.c (remove_intermediates): Don't write extra space after `rm'. |
| |
| * main.c (struct command_switch.type): Remove `usage_and_exit'. |
| (print_usage_flag): New variable. |
| (switches: --help): Make type `flag', to set print_usage_flag. |
| (init_switches): Remove `usage_and_exit' case. |
| (decode_switches): Likewise. |
| (decode_switches): Print usage if print_usage_flag is set. |
| When printing usage, die with status of BAD. |
| (main): Die with 0 if print_version_flag. |
| |
| Fri May 21 16:09:28 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.66. |
| |
| Wed May 19 21:30:44 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * compatMakefile (installdirs): New target. |
| (install): Depend on it. |
| |
| Sun May 16 20:15:07 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * Version 3.65.2. |
| |
| Fri May 14 16:40:09 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) |
| |
| * vpath.c (construct_vpath_list): In removal loop for DIRPATH==0, |
| set LASTPATH to PATH, not NEXT. |
| |
| * dir.c (read_dirstream): Break out of loop after incrementing |
| DS->buckets such that it reaches DIRFILE_BUCKETS; avoid trying to |
| dereference DS->contents->files[DIRFILE_BUCKETS]. |
| |
| * read.c (read_makefile): Clear no_targets after reading a |
| targetful rule line. |
| |