Burt,
On 08/23/2017 08:31 PM, Burt Silverman wrote:
Dave Wallace wrote:
IMO, "in-tree" .vs. "out-of-tree" really boils down to decoupling
the app's "Makefile.am" the rest of the vpp autotools
structure/configuration. For example, I ran into the same issue
with .../vppsb/vcl-ldpreload/src/Makefile.am (which is literally
'out-of-tree') in the case where "VPP_DIR" is specified. However,
the vcl-ldpreload build would work the same if it was moved
somewhere under vpp without integrating it into
.../vpp/src/Makefile.am -- thus it would equally be "out-of-tree"
even though it was stored in the vpp repo.
I would modify this statement just a bit: It is really configure.ac
<http://configure.ac> rather than Makefile.am that defines the package
boundary. Looking at the AC_CONFIG_FILES statement of the configure.ac
<http://configure.ac>, we see that the VPP package has, underneath
directory src, Makefile.am, plugins/Makefile.am,
vpp-api/python/Makefile.am, and vpp-api/java/Makefile.am. Well, what
really matters is that there are no AC_CONFIG_SUBDIRS in
<TOP>/src/configure.ac <http://configure.ac>, so that everything under
<TOP>/src is part of the VPP package. (Recall that Makefile.am
includes a lot of .am fragments to address many of the subdirectories.)
Agreed, thanks for keeping me honest. That's what I meant, while trying
to not lose the audience in the details. I'm just an egg when it comes
to autotools, and I was assuming that most of the community are more
familiar with make constructs.
The conclusion that extras/apps/test is out of tree remains valid. The
only point I am making is that it is configure.ac
<http://configure.ac> rather than Makefile.am that demarcates the VPP
package. And that you first build and install (to a first order
approximation) the stuff under <TOP>/src, and then your out of tree
test program should build against the installed VPP stuff (to a rough
approximation.)
Exactly!
Thanks,
-daw-
Burt
_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev