Commit Graph

66 Commits (bf399c03703072e711781305d30f4e89387ef520)

Author SHA1 Message Date
Mike Gerwitz 5679be281a Makefile.am: Correct build intermediates and target dependencies
* Makefile.am (.SECONDARY): Keep all intermediate files.
  (%.html): Add `%.xmle' dependency.
  (lvroot): Add program-ui and c1map dependencies.
2018-10-11 23:50:53 -04:00
Mike Gerwitz dc1d8036d6 build-aux/Makefile.am: .{PRECIOUS=>SECONDARY}
This will keep the intermediate files around but will still delete them on
build failure.

* build-aux/Makefile.am (.SECONDARY): Renamed from `.PRECIOUS'.
2018-10-11 22:25:19 -04:00
Mike Gerwitz 6027769633 Integrate new compilation scripts, remove cqueue and Makefile.2
This is a major step toward normalcy---removing the kluge of a build process
that was causing so many issues.  Rather than echoing all operations to a
queue file before passing it off to dslc, the new build scripts in `bin/'
are used to invoke tame normally, as needed.  This solves all of the current
issues with things not rebuilding when they should.  And, as a bonus, tab
completion on targets works.

Sorry this took so long.  There wasn't much motivation until we hired so
many people that are suffering from this.

This does a few major things, along with some miscellaneous others:
  - Invoke bin/tame directly;
  - Merge Makefile.2.in into Makefile.am; and
  - Fix up some targets.

* build-aux/Makefile.2.in: Delete file.  Mostly merged with Makefile.am.
* build-aux/Makefile.am: Add a bunch of new targets and definitions from
    Makefile.2.in.  Modify all that previously used .cqueue to now invoke
    `$(TAME)' directly.  Remove miscellaneous targets for trying to proxy
    targets to Makefile.2.
  (saneout, _go): Remove definitions.
  (.NOTPARALLEL): Add to prevent parallel builds.
  (ui/program.expanded.xml)[.version.xml]: Remove dependency for now.
  (clean): Also clean generated PHP files.  Follow symlinks to clean core.
    This is still incomplete (does not clean all rate table stuff).
  (suppliers.mk)[xmlo_cmd]: Remove.  See `gen-make' and `gen-c1make'.
  (lvroot)[summary-html]: New dependency.
  (kill-tamed, tamed-die): New targets (former alias of latter) to kill
    tamed.
* build-aux/gen-c1make: Generate `$(TAME)' invocation.
* build-aux/gen-make: Likewise.  Remove `xmlo_cmd' output.  Ignore recursive
    `tame' symlink (this can be removed once we clean `rater/' up.
* build-aux/m4/calcdsl.m4 (TAME): Update description to reflect that it
    should now be the path to `bin/tame'.  Adjust `AC_CHECK_FILE' lines
    accordingly.
  (tame_needed_ver): Remove.  We have been in the same repo as TAME itself
    for quite some time.  Remove associated code.
  (AC_CONFIG_FILES): Remove `Makefile.2'.
* src/current/src/com/lovullo/dslc/DslCompiler.java (_DslCompiler)[compile]:
    Perform validation prefore `compile' command rather than a separate
    `validate' step.  Remove `rm'.
  [compileSrc]: Stop echoing command.  This was only necessary because of
    the previous Makefile klugery; now Make echoes on its own correctly.
2018-10-11 22:25:18 -04:00
Mike Gerwitz 7e69a0c2b6 build-aux/gen-make: Do not parse typelist as depfile 2018-10-04 16:46:48 -04:00
Mike Gerwitz 397710c055 csvm: Auto-sort expanded output
This will allow the variable abstractions to fully encapsulate values while
still permitting binary searches on sorted rows.

* csvm-expand: Renamed from `csvm2csv'.  Add directive support.
* csvm2csv: New script to perform sorting.  Invokes aforementioned.
* test/test-csvm2csv: Update for sorting.
2018-10-03 14:21:35 -04:00
Mike Gerwitz c675207696 csvm2csv: Add some error checks
* build-aux/csvm2csv: Fail on invalid var definition.
  (expand_vars): Fail in invalid reference.
  (parseline): Fail on non-numeric range.
* build-aux/test/test-csvm2csv
  (test-fail-unknown-var-ref, test-fail-non-numeric-range)
  (test-fail-invalid-var-dfn): New tests.
2018-10-02 13:35:06 -04:00
Mike Gerwitz c741b4a84e csvm: Add test cases and support for all variable expressions
This allows variables to contain any type of expansion, treating them
as (recursively) string replacements.

* csvm2csv: Add Copyright year.
  (expand_vars): New function.
  (parseline): Use it.  Expand before all other replacements so that
    variable expansions may support all types of expressions.  Expand
    variables in range expressions.
* test/test-csvm2csv: New file.
2018-10-01 16:14:05 -04:00
Mike Gerwitz 844c6512c9 build-aux/gen-c1make: New build script
This solves the dependency-related problems with rebuilding c1map files.

* build-aux/gen-c1make: New file.
* build-aux/Makefile.2.in (suppliers.mk): Use it.
2018-07-05 16:07:42 -04:00
Mike Gerwitz 0453d78329 build-aux: Liberate remaining build scripts
These were forgotten during the initial liberation.

* build-aux/Makefile.2.in: New file.
* build-aux/Makefile.am: New file.
* build-aux/m4/calcdsl.m4: New file.
* build-aux/progtest-runner: New file.
* build-aux/suppmk-gen: New file.
2018-07-05 16:04:33 -04:00
Mike Gerwitz fafbf3921e list2typedef: Remove trailing newline from preimage
Oops---we do not want a newline as part of the preimage, which is what
`<<<' does.

* build-aux/list2typedef (output-item)[value]: Remove newline from preimage.
* build-aux/test/test-list2typedef (test-typedef-gen): Update hashes.
  (test-collision-value-check): Add new collisions.
2018-05-15 16:47:21 -04:00
Mike Gerwitz e3b0baec1a Cut down on namespace exports for object files
This should cut down on the file sizes a bit.
2018-05-15 13:03:38 -04:00
Mike Gerwitz 5cce3a6eeb [DEV-3115] gen-make: Account for typelist
This needs to be generalized, but will do for now.

* build-aux/gen-make: Recognize typelists as dependencies.  Always include
  source XML file as a dependency.
2018-05-07 16:22:18 -04:00
Mike Gerwitz 34844a650a [DEV-3115] build-aux/list2typedef: New script
* build-aux/list2typedef: New script.
* build-aux/list2typedef/test/test-list2typedef: Respective test.
2018-05-07 13:57:50 -04:00
Mike Gerwitz c271ee696e build-aux/gen-make: Recurse without dir change
Before this change, it was impossible for the initial paths provided to the
script to be more than one level deep (relative to the cwd).

* build-aux/gen-make: Handle multi-level children.
2018-05-04 11:41:54 -04:00
Mike Gerwitz 70f9e9c277 Move {src/current/tools=>build-aux}/* 2018-05-04 11:17:47 -04:00
Mike Gerwitz f8dcdbfd23 make-full-graph: Add script
* build-aux/make-full-graph: Add script.
2018-01-16 11:56:06 -05:00