On 22/10/2020 18:27, Corinna Vinschen wrote:
On Oct 21 20:47, Jon Turney wrote:
There's doesn't seem to be much use in independently building these
subdirectories,
Uhm... that doesn't match how I'm working in these dirs. I'm building
the subdirs independently all the time, especially during debugging
sessions. I'd not want to lose the ability to build in the
cygwin or utils dirs independently.
Sorry for being unclear here. What I mean here is we are currently
handling those subdirectories as if they are independent packages, which
could distributed and built separately.
(See discussion of AC_CONFIG_SUBDIRS in [1])
[1]
https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Subdirectories.html
This doesn't remove the ability to run make in those subdirectories.
so allowing them to be independently configured seems
pointless and overcomplicated.
There's not much of a reason to allow independent configuring, I guess,
but apart from the base configure run during a build from top-level,
I sometimes run configure only in the dir I change or add files.
I actually skimped on writing the rules which reconfigure when needed
when make is run in a subdirectory, as working them out seemed complex
and a bit redundant, as when I convert to automake, it writes them for you.
I guess I should take another look at that.
The order in which the subdirectories are built is still a little odd,
as cygwin is linked with libcygserver, and cygserver is then linked with
cygwin. So, we build the cygwin directory first, which invokes a build
of libcygserver in the cygserver directory, and then build in the
cygserver directory to build the cygserver executable.
Does creating a new subdir called libcygserver just to build the lib
clean up things, perhaps?
I did experiment with something like that, but I'm not sure if it makes
things any clearer, as:
(i) It's the same source files built with/without -D__OUTSIDE_CYGWIN__
(ii) building libcygserver requires the generated file globals.h