2004-08-04 Roland McGrath <roland@frob.com>

New directory implementing glibc add-on infrastructure for
	ports maintained separate from the core glibc source tree.
	* README, configure.in, Makeconfig, Banner, ChangeLog: New files.
	* configure: New generated file.
This commit is contained in:
Roland McGrath 2004-08-05 03:46:43 +00:00
parent bd68d85075
commit 717de822dc
6 changed files with 115 additions and 0 deletions

1
Banner Normal file
View File

@ -0,0 +1 @@
Support for some architectures added on, not maintained in glibc core.

6
ChangeLog Normal file
View File

@ -0,0 +1,6 @@
2004-08-04 Roland McGrath <roland@frob.com>
New directory implementing glibc add-on infrastructure for
ports maintained separate from the core glibc source tree.
* README, configure.in, Makeconfig, Banner, ChangeLog: New files.
* configure: New generated file.

35
Makeconfig Normal file
View File

@ -0,0 +1,35 @@
# Makeconfig fragment for glibc ports add-on.
# These rules make sure that sysdeps/CPU/preconfigure changes are noticed.
# preconfigure fragments can be written by hand, or they can be generated
# from preconfigure.in by autoconf like sysdeps/.../configure.in files.
# Figure out the name of this add-on. The ports add-on infrastructure
# scripts can be copied into separate add-on packages by any name.
ports-sysdeps = $(..)$(Makeconfig-add-on)/sysdeps
$(common-objpfx)config.status: $(wildcard $(ports-sysdeps)/*/preconfigure)
ifneq ($(AUTOCONF),no)
ifeq ($(with-cvs),yes)
define autoconf-it-cvs
test ! -d CVS || cvs $(CVSOPTS) commit -m'Regenerated: autoconf $(ACFLAGS) $<' $@
endef
else
autoconf-it-cvs =
endif
define autoconf-it
@-rm -f $@.new
$(AUTOCONF) $(ACFLAGS) $< > $@.new
chmod a-w,a+x $@.new
mv -f $@.new $@
$(autoconf-it-cvs)
endef
$(..)ports/sysdeps/%/preconfigure: $(..)ports/sysdeps/%/preconfigure.in \
aclocal.m4
$(autoconf-it)
endif # $(AUTOCONF) = no

39
README Normal file
View File

@ -0,0 +1,39 @@
This directory is an add-on for the GNU C Library (glibc).
It provides additional ports to machines and/or operating systems that are
not maintained in the official glibc source tree.
The scripts in the top level of this directory provide the infrastructure
necessary for a glibc add-on. You can make a new add-on containing one or
more ports by copying configure, configure.in, and Makeconfig into your own
add-on directory, which you can give any name (it doesn't have to be
`ports'). You may want to include a README and Banner of your own talking
about your port's code in particular, rather than the generic ones here.
The real source code for any ports is found in the sysdeps/ subdirectories.
These should be exactly what would go into the main libc source tree if you
were to incorporate it directly. The only exceptions are the files
sysdeps/*/preconfigure and sysdeps/*/preconfigure.in; these are fragments
used by this add-on's configure fragment. The purpose of these is to set
$base_machine et al when the main libc configure's defaults are not right
for some machine. Everything else can and should be done from a normal
sysdeps/.../configure fragment that is used only when the configuration
selects that sysdeps subdirectory. Each port that requires some special
treatment before the sysdeps directory list is calculated, should add a
sysdeps/CPU/preconfigure file; this can either be written by hand or
generated by Autoconf from sysdeps/CPU/preconfigure.in, and follow the
rules for glibc add-on configure fragments. No preconfigure file should do
anything on an unrelated configuration, so that disparate ports can be put
into a single add-on without interfering with each other.
Like all glibc add-ons, the only way to use this is to place this directory
(just a symlink won't do) inside the top-level glibc source directory.
Then include the name of this directory (e.g. `ports') when you specify
`--enable-add-ons=...' to glibc's configure (or use just --enable-add-ons
to have it try every add-on directory sitting in your source tree).
If you find problems with the top-level scripts in this add-on, please go
to http://sources.redhat.com/bugzilla/ and file a report for the glibc
under the "admin" component.
$Id$

17
configure vendored Executable file
View File

@ -0,0 +1,17 @@
# This file is generated from configure.in by Autoconf. DO NOT EDIT!
# The configure fragment in this file provides infrastructure for a glibc
# add-on containing one or more glibc ports. Only these few script files
# need exist in the top-level source directory of the add-on. The ports
# themselves are contained entirely within their new sysdeps/ directories.
# This makes it easy to take these few top-level files plus a new port's
# additions to the sysdeps tree, and package a small add-on for that port.
# The same infrastructure scripts work for any number of such glibc ports
# collected together into a single shared add-on package.
cpu_frags=`(cd $srcdir/$libc_add_on; echo sysdeps/*/preconfigure)`
for frag in $cpu_frags; do
echo "$as_me:$LINENO: result: ports add-on running preconfigure fragment $frag" >&5
echo "${ECHO_T}ports add-on running preconfigure fragment $frag" >&6
. $srcdir/$libc_add_on/$frag
done

17
configure.in Normal file
View File

@ -0,0 +1,17 @@
dnl glibc add-on configure.in fragment for a ports add-on.
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
# The configure fragment in this file provides infrastructure for a glibc
# add-on containing one or more glibc ports. Only these few script files
# need exist in the top-level source directory of the add-on. The ports
# themselves are contained entirely within their new sysdeps/ directories.
# This makes it easy to take these few top-level files plus a new port's
# additions to the sysdeps tree, and package a small add-on for that port.
# The same infrastructure scripts work for any number of such glibc ports
# collected together into a single shared add-on package.
cpu_frags=`(cd $srcdir/$libc_add_on; echo sysdeps/*/preconfigure)`
for frag in $cpu_frags; do
AC_MSG_RESULT(ports add-on running preconfigure fragment $frag)
. $srcdir/$libc_add_on/$frag
done