On Mon, Jun 10, 2013 at 6:41 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > For the particular case of trying to make sequencer.o, which does > not currently have dependencies on builtin/*.o, depend on something > that is in builtin/notes.o, the link phase of standalone that wants > anything from revision.o (which is pretty much everything ;-) goes > like this: > > upload-pack.c wants handle_revision_opt etc. > revision.c provides handle_revision_opt > wants name_decoration etc. > log-tree.c provides name_decoration > wants append_signoff > sequencer.c provides append_signoff > > So sequencer.o _is_ meant to be usable from standalone and belongs > to libgit.a Not after my patch. It moves append_signoff *out* of sequencer, which in fact has nothing to do with the sequencer in the first place. > If sequencer.o wants to call init_copy_notes_for_rewrite() and its > friends [*1*] that are currently in builtin/notes.o, first the > called function(s) should be moved outside builtin/notes.o to > notes.o or somewhere more library-ish place to be included in > libgit.a, which is meant to be usable from standalone. > > > [Footnote] > > *1* ... which is a very reasonable thing to do. But moving > sequencer.o to builtin/sequencer.o is *not* the way to do this. By now we all know what is the *CURRENT* way to do this; in other words, the status quo, which is BTW all messed up, because builtin/*.o objects depend on each other already. We are discussing the way it *SHOULD* be. Why aren't you leaning on that? -- Felipe Contreras -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html