2006-10-27 Jeff Johnston <jjohnstn@redhat.com>

* README: Add a brief section on how to regenerate
        configuration files in newlib.
This commit is contained in:
Jeff Johnston 2006-10-27 19:22:57 +00:00
parent fa9e684236
commit f29fdb2f9d
2 changed files with 71 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2006-10-27 Jeff Johnston <jjohnstn@redhat.com>
* README: Add a brief section on how to regenerate
configuration files in newlib.
2006-10-25 Vladimir Prus <vladimir@codesourcery.com>
* libc/include/math.h: (exception): Add a comment

View File

@ -305,6 +305,72 @@ directory:
$(source_dir)/src/configure --with-newlib --prefix=$(install_dir) --disable-shared
Regenerating Configuration Files
================================
At times you will need to make changes to configure.in and Makefile.am files.
This will mean that configure and Makefile.in files will need to be
regenerated.
At the top level of newlib is the file: acinclude.m4. This file contains
the definition of the NEWLIB_CONFIGURE macro which is used by all configure.in
files in newlib. You will notice that each directory in newlib containing
a configure.in file also contains an aclocal.m4 file. This file is
generated by issuing: aclocal -I${relative_path_to_toplevel_newlib_dir}
For example, to regenerate aclocal.m4 in newlib/libc/machine/arm:
aclocal -I ../../..
Note that if the top level acinclude.m4 is altered, every aclocal.m4 file
in newlib should be regenerated.
If the aclocal.m4 file is regenerated due to a change in acinclude.m4 or
if a configure.in file is modified, the corresponding configure file in the
directory must be regenerated using autoconf. No parameters are necessary.
In the previous example, we would issue:
autoconf
from the newlib/libc/machine/arm directory.
If you have regenerated a configure file or if you have modified a Makefile.am
file, you will need to regenerate the appropriate Makefile.in file(s).
For newlib, automake is a bit trickier. First of all, all Makefile.in
files in newlib (and libgloss) are generated using the --cygnus option
of automake.
Makefile.in files are generated from the nearest directory up the chain
which contains a configure.in file. In most cases, this is the same
directory containing configure.in, but there are exceptions.
For example, the newlib/libc directory has a number of
subdirectories that do not contain their own configure.in files (e.g. stdio).
For these directories, you must issue the automake command from newlib/libc
which is the nearest parent directory that contains a configure.in.
When you issue the automake command, you specify the subdirectory for
the Makefile.in you are regenerating. For example:
automake --cygnus stdio/Makefile stdlib/Makefile
Note how multiple Makefile.in files can be created in the same step. You
would not specify machine/Makefile or sys/Makefile in the previous example
because both of these subdirectories contain their own configure.in files.
One would change to each of these subdirectories and in turn issue:
automake --cygnus Makefile
Let's say you create a new machine directory XXXX off of newlib/libc/machine.
After creating a new configure.in and Makefile.am file, you would issue:
aclocal -I ../../..
autoconf
automake --cygnus Makefile
from newlib/libc/machine/XXXX
It is strongly advised that you use an adequate version of autotools.
For this latest release, this would be: autoconf 2.59, aclocal 1.9.5, and
automake 1.9.5.
Reporting Bugs
==============