| #
c9fc29cf |
| 04-Sep-2023 |
espie <espie@openbsd.org> |
GC old code that was originally implemented to facilitate adoption by other BSDs, which never happened, so make things simpler for further development.
Ditches config.h entirely since it gets reduce
GC old code that was originally implemented to facilitate adoption by other BSDs, which never happened, so make things simpler for further development.
Ditches config.h entirely since it gets reduced to 2 defines.
okay tb@
show more ...
|
| #
ec86491d |
| 13-Jan-2020 |
espie <espie@openbsd.org> |
make the choice of engine explicit
simplify the running of .BEGIN/.END so that they pass through the engine first (so they can now have dependencies). Error out properly if .BEGIN/.END fails.
|
| #
483cbdb0 |
| 13-Jan-2020 |
espie <espie@openbsd.org> |
move a large chunk of suff.c into its own file (independent functions which are not really directly related to suffix handling), so that I can eventually understand how this whole thing works.
|
| #
2861f5ec |
| 19-Jul-2017 |
espie <espie@openbsd.org> |
depend is dead
|
| #
f6402cca |
| 14-Oct-2016 |
natano <natano@openbsd.org> |
Implement the ${<D} and ${<F} variables, as documented in the manual. They are equivalent to ${<:H} and ${<:T} repectively, however the former variants are more portable, as they are understood by GN
Implement the ${<D} and ${<F} variables, as documented in the manual. They are equivalent to ${<:H} and ${<:T} repectively, however the former variants are more portable, as they are understood by GNU, FreeBSD and NetBSD make too.
absence of those variables reported by Dario Niedermann <dnied at tiscali.it> ok millert espie
show more ...
|
| #
31cacaea |
| 14-Oct-2015 |
espie <espie@openbsd.org> |
make sure we use stdbool.h Mostly diff by Daniel Dickman, who told me to commit in his stead, as he's tied up at work.
|
| #
6eef43d0 |
| 23-Jan-2015 |
espie <espie@openbsd.org> |
a wee little bit more cleanup (more const and remove noise from CDIAGFLAGS... -pedantic kind of requires -std=c99 here to avoid LL warnings) okay miod@, millert@
|
| #
e2ff9f51 |
| 12-May-2014 |
espie <espie@openbsd.org> |
adjust to ohash being in libutil now, and to the interface changes. fix potential integer overflows in memory allocation (mostly for pedagogical purposes, these are unlikely to overflow in practice)
adjust to ohash being in libutil now, and to the interface changes. fix potential integer overflows in memory allocation (mostly for pedagogical purposes, these are unlikely to overflow in practice) move the rest of lst.lib stuff into its own directory.
show more ...
|
| #
11759461 |
| 22-Mar-2014 |
espie <espie@openbsd.org> |
don't use >$@ directly
|
| #
1f89b472 |
| 23-Apr-2013 |
espie <espie@openbsd.org> |
remove TIMESTAMP abstraction layer, prodded by theo. while there, clean up includes. use strtoll for ar timestamps (pretty much unused in reality, more standard conforming than anything)
use idea fr
remove TIMESTAMP abstraction layer, prodded by theo. while there, clean up includes. use strtoll for ar timestamps (pretty much unused in reality, more standard conforming than anything)
use idea from Todd to adapt to time_t being 32 bits OR 64 bits (pedantically correct: INT_MIN would work just fine up to 1910 or so...)
okay millert@, gone thru a make build.
show more ...
|
| #
1bae8e1f |
| 02-Oct-2012 |
espie <espie@openbsd.org> |
more changes, discussed and tested by various people. - put back some job control, turns out it's necessary when we don't run a shell. - zap old #ifdef CLEANUP code... probably doesn't even compile.
more changes, discussed and tested by various people. - put back some job control, turns out it's necessary when we don't run a shell. - zap old #ifdef CLEANUP code... probably doesn't even compile. - kill most of the OP_LIB code. Just keep a wee little bit for compatibility (deprecated .LIBS and .INCLUDES, warns for weird dependencies instead of erroring out). - much improved debugging and -p output: sort variables, targets, rules, output stuff in a nicer format mimicing input. - better error message when no command is found, explain where the target comes from. - sort final error list by file. - show system files in errors as <bsd.prog.mk> - reincorporate random delay, that was dropped - optimize siginfo output by not regenerating the whole string each time. - finish zapping old LocationInfo field that's no longer used.
show more ...
|
| #
9c96090c |
| 21-Sep-2012 |
espie <espie@openbsd.org> |
zap lint remains
|
| #
a6b963c8 |
| 21-Sep-2012 |
espie <espie@openbsd.org> |
major overhaul of the way make handle jobs, inspired by dpb: instead of forking a "job" per target, and having that job further fork separate commands, have make maintain a list of jobs, indexed by p
major overhaul of the way make handle jobs, inspired by dpb: instead of forking a "job" per target, and having that job further fork separate commands, have make maintain a list of jobs, indexed by pid of currently running commands, and handle process termination continuation-style. This has lots of benefits: - make is responsible for most printing, so we no longer need pipes nor job control: make -j jobs see the tty. - no more special-casing for jobs that don't really execute anything. - unify code for make -jn and make -B, including signal handlers and job waiting. So make -n, make -q, +cmd now run commands in the same way in all cases. - unified more accurate error-reporting, as make knows precisely which command failed. Commands are tagged with their lines, and we display failing commands in silent mode. - fine-grained "expensive" command handling (recursion limiter). Do it per-command instead of per-target.
Moreover, signal response is now simpler, as we just block the signals in a small critical sections, test for events, and sigpause (thanks a lot to guenther@ and millert@), so running make is now almost always paused without any busy-waiting.
Thanks to everyone who tested and gave input.
show more ...
|
| #
a6fc0772 |
| 17-Oct-2010 |
schwarze <schwarze@openbsd.org> |
Stop installing me(1) and ms(1) source code. We will soon get rid of groff in base, so there is no longer any way to use these files with base. No opposition on tech@.
|
| #
3c4acb25 |
| 25-Apr-2010 |
espie <espie@openbsd.org> |
pure whitespace cleanup
|
| #
6c2dbbda |
| 04-Nov-2008 |
espie <espie@openbsd.org> |
changes to get target equivalence to work better. - add new file to create lists of equivalent targets (siblings) - use that for sequential mode to have much better VPATH support - separate checking
changes to get target equivalence to work better. - add new file to create lists of equivalent targets (siblings) - use that for sequential mode to have much better VPATH support - separate checking commands from reporting error, for later. - zap DieHorribly accordingly - renumber existing flags - signal_running_jobs() is simpler than pass_signal_to_jobs() - new debug option -dn for name matching.
Similar code to handle parallel make is still missing.
thanks to Mark, Miod, Theo, Otto, Todd for tests and/or comments.
show more ...
|
| #
31289fe8 |
| 12-Jan-2008 |
espie <espie@openbsd.org> |
new function: lstRequeue, to be used by the job handler
|
| #
9edddf77 |
| 23-Oct-2007 |
miod <miod@openbsd.org> |
Fix CLEANFILES
|
| #
866fd206 |
| 17-Sep-2007 |
espie <espie@openbsd.org> |
rewrite of the basic suffix/target parsing: use hash for suffixes.
Store special targets in target hash, and use them for the parsing.
Use OP_DUMMY flag to mark targets that don't really exist yet,
rewrite of the basic suffix/target parsing: use hash for suffixes.
Store special targets in target hash, and use them for the parsing.
Use OP_DUMMY flag to mark targets that don't really exist yet, such as interrupt and default nodes.
Also, .PATHxxx is special in suffixes.
Small tweaks to compat.c, so that run_commands does more stuff after the fork() (and thus no need to free things).
Remove distinction between local and global jobs.
show more ...
|
| #
a6f1883e |
| 16-Sep-2007 |
espie <espie@openbsd.org> |
first step towards sanity: take the functions common to parallel/not parallel make outside of make.c and job.c, and create an engine.c file to hold them.
|
| #
b3c55d53 |
| 16-Sep-2007 |
espie <espie@openbsd.org> |
scaffolding to recognize special targets/sources using ohash functions.
|
| #
267e030a |
| 16-Sep-2007 |
espie <espie@openbsd.org> |
cut up dir.c into dir.c/direxpand.c as there is very little interface between two modules that do different things.
|
| #
f76ee469 |
| 21-Jul-2007 |
espie <espie@openbsd.org> |
zap unneeded stuff
|
| #
7ac318be |
| 09-Jul-2007 |
deraadt <deraadt@openbsd.org> |
espie, you have got to be joking
|
| #
d88ab755 |
| 08-Jul-2007 |
espie <espie@openbsd.org> |
A set of big related changes. okay millert@, tested further by kettenis@ and matthieu@
This all revolves around putting ALL global variables into one single big hash, and using flags. This removes s
A set of big related changes. okay millert@, tested further by kettenis@ and matthieu@
This all revolves around putting ALL global variables into one single big hash, and using flags. This removes some impossible to understand stuff, like old varfind, and allows for some nice stuff. - each time we reference a global variable, we create it, possibly as a dummy variable. - each time we go to the environment, we remember it, thus we no longer go back to it.
Lists of dependant changes: - isolate changes to oldVars and checkEnvFirst. - remove VAR_CMD and VAR_GLOBAL contexts. The only distinction is in parsevar. Split Parse_DoVar into Parse_DoVar and Parse_CmdlineVar - rework var modules around obtain_global_var, observe flags in various functions like Var_Value and Var_Seti. - Var_Seti/Var_Appendi are almost the same code, use that internally. - add magic to handle the very special SHELL variable. - introduce Var_Definedi for the cases where we don't want the actual value, to simplify tests. - add keyword .poison, parse it and set global flags accordingly. - do poison_checks where needed. - document poison. - in for loops, set variable temporarily, so that Var_SubstVar will also substitute it in varmodifiers expressions.
show more ...
|