Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] sound incremental builds

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] sound incremental builds


Chronological Thread 
  • From: "jonikelee AT gmail.com" <jonikelee AT gmail.com>
  • To: Abhishek Anand <abhishek.anand.iitg AT gmail.com>
  • Cc: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] sound incremental builds
  • Date: Sat, 18 Jul 2020 20:52:00 -0400
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=jonikelee AT gmail.com; spf=Pass smtp.mailfrom=jonikelee AT gmail.com; spf=None smtp.helo=postmaster AT mail-qv1-f48.google.com
  • Ironport-phdr: 9a23:3AcDShOzIj6nDWYWs5Ul6mtUPXoX/o7sNwtQ0KIMzox0I/r6rarrMEGX3/hxlliBBdydt6sazbaO+Pu/EUU7or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRpOOv1BpTSj8Oq3Oyu5pHfeQpFiCe8bL9oIxi6sQrdu8cUjIB/Nqs/1xzFr2dSde9L321oP1WTnxj95se04pFu9jlbtuwi+cBdT6j0Zrw0QrNEAjsoNWA1/9DrugLYTQST/HscU34ZnQRODgPY8Rz1RJbxsi/9tupgxCmXOND9QL4oVTi+6apgVRnlgzoFOTEk6mHaksJ+gqJFrhy8pBJwwYDUboaaO/Vica3QZs8aSGhbU8pNTSFNHp2wYo0SBOQBJ+ZYqIz9qkMAoRu8AgmsAuLvyjxWiX/yw6I1zf8sEQ7D3AM6HtIOtG7Yo8nyNKcXX+y+0a7FzTfEb/NQ2Df965bHchQ/rv6SRr9wfs/RxlMuFwPBlFmftYvlPzaM2+kLrmOU4PZuW/i1hG47twF+vCKvxsE0h4TJiI8Yyk7I+DlnzIopIdC2RlJ2bN2kHpVeqiyXOJV6T8EmTmxnvCs3yr8LtICmcCQW1Jkq2RDRZuKGfoWI/B/uUvuaLzl/hHJgYr2/hhCy/FC8xe37TMm01khFri5BktXWqH8CygHT586aQfV+5keswSiD2xzX5+1eIk05lbDXJ4A8zrM0jJYevkfOEjfolEj3kKOaa0Ap9vWs5uv7Z7jrqZ6RO5Nohgz7PKkjm8K/DOElPQQSQWSU5OGx2bLj8E33TrVHi/M2nbfXvZ3YIMkbqLO2DBFJ3Ysl9h2xFS2p0M4CknkCNF9FeAyIj4zuO1zWJfD3F/a/g1C1nDdy2fDKI6TtApvCI3XAirvhcrF960lTyAo3099T/Y5bCrYEIP7rW0/xssLXDgMhPgCq3+rqDM9x24AeVG6VHKOVLaffvUWH6+8sO+WMYZUauDf5K/gr/f7uino5lEcffamu25sXaXO4EepiI0qHf3XhmdgBEWIQsQo/SOzmkkGNUTlWZ3qqRaIz+ik7CJ66DYfEXo2inLuB3D6iEpJKYmBGF0uDHGzzd4SEXvcMcDidLtVgkjwCT7ihSpUu2QugtA/gmPJbKb/98C0ZrpLu15Bc4eTVmVlm/DZ0Dt+d3mLLRmd9mG9ORj4q04hwpEV8zhGI1q0u0NJCEtkGrfFOVAY5OJrRwsR1DtnzXkTKedLDAAKkRdOnAjw1Q98ZzNoHYkI7ENKn2EOQlxG2CqMYwuTYTKc/9bjRiiCodpRNjk3e3axktGEIB85GNGmonKl6rlGBCIvAkkHfnKGvJ/1FgHz9sVybxG/Lh3l2FRZqWPycD38ab0rS69/+4xGaFuL8OfEcKgJEjPW6BO5KZ9nu1wgUQf7iPJHHfTv0lTvgQxmPwbyIYczhfGBPhCg=

Have you thought about using IBM's ClearCase for this purpose? One of
its many features is the ability to do sound incremental builds without
needing clean rules - it does so by keeping track of which object files
are modified by which build rules. It's considerably more
sophisticated, as it also has rsync-like dedup capabilities and
concurrent build control, and is a versioned file system.

On Fri, 17 Jul 2020 18:24:31 -0700
Abhishek Anand <abhishek.anand.iitg AT gmail.com> wrote:

> Suppose we have a directory X containing Coq files, possibly inside
> nested directories.
> Suppose we have a standard Coq build system: all the Coq (.v) files
> are listed in X/_CoqProject, which is used to produce X/Makefile and
> then make is used to build all the .v files.
> Suppose all Require Imports in the Coq files use fully qualified
> logical names.
> During the normal development, files/directories may be
> added/updated/removed in X.
> I want to avoid ever having to do clean builds (`make clean`) and
> still ensure soundness of the build.
> The main reason is to save time: coq repos can be huge and proofs can
> take a lot of time to build.
> By soundness, I mean that the build result (set of .vo files) is
> equivalent to the result of `make clean; git clean -xdf; coq_makefile
> ..; make`. Below is an approach that I think works. I'd appreciate
> counterexamples or arguments why this is correct:
> 1) delete every .vo, .vio, .vos, .glob file that does not correspond
> to a .v file in X/_CoqProject.
> 2) reinvoke coq_makefile on X/_CoqProject to regenerate X/Makefile
> 3) `make`.
>
>
> Thanks,
> -- Abhishek
> http://www.cs.cornell.edu/~aa755/




Archive powered by MHonArc 2.6.19+.

Top of Page