From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Nicholson Date: Thu, 07 Jun 2012 13:34:01 +0000 Subject: Re: [PATCH] Allow disabling the build of all of systemd, leaving just udev Message-Id: List-Id: References: <4FC9B938.6020608@kadzban.is-a-geek.net> In-Reply-To: <4FC9B938.6020608@kadzban.is-a-geek.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: linux-hotplug@vger.kernel.org On Wed, Jun 6, 2012 at 10:15 AM, William Hubbs wrote: > On Wed, Jun 06, 2012 at 05:38:29AM -0700, Dan Nicholson wrote: >> Breaking up the Makefile.am into several files is probably cleaner, >> but it doesn't actually change the problem you're trying to solve >> here. You still have to wrap large parts of the build in >> AM_CONDITIONALs. That doesn't change whether it's in one file or many. >> The include happens at automake time, not build time, so conditionally >> including the file won't do anything different for you. Everything >> will get merge into the toplevel Makefile.in. > > If the am_condissionals are controlled by configure switches, we can set > things up so that the packager or user who is building udev or systemd > has control over what gets built. If they want to build udev only, or > systemd, or just the tools in the distribution that don't require > systemd, they will be able to. > > This is where I want to go once we have the Makefile broken up. This > will also require some work in configure.ac, but I think it will be > worth that because it will give packagers the flexability to build what > they want. > > include Makefile-shared.am > if ENABLE_UDEV > include Makefile-udev.am > endif > if ENABLE_TOOLS > include Makefile-tools.am > endif > if ENABLE_SYSTEMD > include Makefile-systemd.am > endif > > The first stage of this will be breaking up Makefile.am and using > includes without condissionals. Once everything builds cleanly in that > setup, we can =C2=A0do the work in configure.ac and add condissionals to > Makefile.am. What do you know, that works. I had thought automake didn't support that, but it works nicely. The one thing I was trying to do when I was starting this patch was keep dist working regardless of your configure flags. Usually that just mean leaving EXTRA_DIST out of the conditionals. That's painful, though, and you can probably just bring out a big hammer during dist. I have something like this in pkg-config: if !ENABLE_SYSTEMD dist-hook: @echo "error: you need to enable systemd for dist" @exit 1 endif -- Dan