From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: cygwin-patches@cygwin.com
Subject: Re: [PATCH 3/3] Remove recursive configure for cygwin
Date: Fri, 23 Oct 2020 11:36:01 +0200 [thread overview]
Message-ID: <20201023093601.GV5492@calimero.vinschen.de> (raw)
In-Reply-To: <20201023092700.GU5492@calimero.vinschen.de>
On Oct 23 11:27, Corinna Vinschen wrote:
> On Oct 22 19:57, Jon Turney wrote:
> > 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.
>
> Ok
>
> > > > 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__
Oh, btw., this is bothering me for a while now. This may have been
a nice idea at the time, but wouldn't it be much better to put
common methods into headers and otherwise split the source between
client and server code?
Corinna
> > (ii) building libcygserver requires the generated file globals.h
>
> I don't actually see a reason to keep this.
>
> There's nothing wrong simplifying this stuff, removing mkglobals_h and
> creating a static version of globals.h inside the source dir. For
> instance, defining enum exit_states or enum winsym_t in global.cc just
> to generate a globals.h from there is kind of weird anyway. Getting rid
> of another undocumented perl script and getting rid of the globals.h
> build rule sounds rather good to me.
>
>
> Corinna
next prev parent reply other threads:[~2020-10-23 9:36 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-21 19:47 [PATCH 0/3] Remove recursive configure for Cygwin Jon Turney
2020-10-21 19:47 ` [PATCH 1/3] Remove intro2man.stamp on clean Jon Turney
2020-10-21 19:47 ` [PATCH 2/3] Drop AC_SUBST(build_exeext) Jon Turney
2020-10-21 19:47 ` [PATCH 3/3] Remove recursive configure for cygwin Jon Turney
2020-10-22 17:27 ` Corinna Vinschen
2020-10-22 18:57 ` Jon Turney
2020-10-23 9:27 ` Corinna Vinschen
2020-10-23 9:36 ` Corinna Vinschen [this message]
2020-10-23 20:12 ` Jon Turney
2020-10-26 9:03 ` Corinna Vinschen
2020-10-27 16:07 ` Jon Turney
2020-10-31 15:07 ` [PATCH 0/3] Remove recursive configure for Cygwin Jon Turney
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201023093601.GV5492@calimero.vinschen.de \
--to=corinna-cygwin@cygwin.com \
--cc=cygwin-patches@cygwin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).