mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Rich Felker <dalias@libc.org>
To: musl@lists.openwall.com
Subject: ideas for build system changes, bits refactoring
Date: Wed, 11 Mar 2015 23:59:54 -0400	[thread overview]
Message-ID: <20150312035954.GA31639@brightrain.aerifal.cx> (raw)

I'd like to start a list of ideas and discussion for changes we could
make to the build system and arch bits. This has been on the agenda a
long time but it's going to be more important as we get more ports,
both as a way of managing complexity and as a way of fighting source
tree bloat. Here are some ideas I have so far:

1. Generate all installable include files, even if just by copying, as
part of the build. If nothing else, this will ensure that "make clean"
followed by "make install" overwrites any (non-future-dated)
preexisting files at the install destination; right now, that might
fail to happen if changes were made at the install destination and the
source timestamp is older. I think this will also make it easier to
add out-of-tree build since there won't need to be separate logic for
generated headers in-tree vs out-of-tree. It will also give us the
option (not sure if we should take it) to merge bits into the main
headers rather than having a bits dir under include.

2. Factor arch bits (types, struct layouts, constant values, etc.) as
a sequence of overlays: a generic base, several common families like
32-bit, 64-bit, 64-bit+ILP32, ld-64, ld-80, ld-128, and finally
arch-specific bits. The latter should be nearly empty for most archs.

3. Moving arch-specific build logic out of the configure script and
into a makefile fragment in the arch dir. This should support the
long-term goal of reducing/eliminating the work configure does and
moving it to declarative rules in make. It also isolates
port-specific logic with the port rather than hard-coding it in a
shared script.

4. Eliminate the duplication of SYS_* and __NR_* in syscall.h bits by
auto-generating one from the other as part of the build process.


Rich


             reply	other threads:[~2015-03-12  3:59 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-12  3:59 Rich Felker [this message]
2015-03-15 23:47 ` Bobby Bingham
2015-03-16  0:25   ` Rich Felker

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=20150312035954.GA31639@brightrain.aerifal.cx \
    --to=dalias@libc.org \
    --cc=musl@lists.openwall.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.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

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 NNTP newsgroup(s).