Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2022-02-14 05:43:37 +0300
committerMike Frysinger <vapier@gentoo.org>2022-03-17 04:59:09 +0300
commitf2471da7db7d49e384007c41759e4e8cb3d8340c (patch)
treed3289a4d0c9cfd5413036e3319b9d39e1f0570ad /newlib/README
parent96bc16f6b27e9183c293c1a77351ec71f71bc32f (diff)
newlib: update build system generation documentation
Replace all of the individual autotool steps with a single autoreconf. This simplifies the documentation greatly, and in the current system, only takes ~10 seconds to regenerate everything. Update the developer documentation to cover all the major components of the current build system. Hopefully this is a fairly complete road map to everything. I tried to include everything that I wish I knew when I started hacking on this :P.
Diffstat (limited to 'newlib/README')
-rw-r--r--newlib/README91
1 files changed, 19 insertions, 72 deletions
diff --git a/newlib/README b/newlib/README
index aa48b246f..97890b9d2 100644
--- a/newlib/README
+++ b/newlib/README
@@ -21,15 +21,13 @@ Unpacking and Installation -- quick overview
==========================
When you unpack the newlib-4.2.0.tar.gz file, you'll find a directory
-called `newlib-4.2.0', which contains:
-
-COPYING config/ install-sh* mpw-configure
-COPYING.LIB config-ml.in libgloss/ mpw-install
-COPYING.NEWLIB config.guess* mkinstalldirs* newlib/
-CYGNUS config.sub* move-if-change* symlink-tree*
-ChangeLog configure* mpw-README texinfo/
-Makefile.in configure.in mpw-build.in
-README etc/ mpw-config.in
+called `newlib-4.2.0', which contains many files. Interesting ones:
+ COPYING* - License files for the sources
+ README - A common overview of all GNU development projects
+ configure - The build script for configuring the source tree
+ Makefile* - Inputs used by configure to generate the Makefile
+ libgloss/ - The libgloss project
+ newlib/ - The newlib project
To build NEWLIB, you must follow the instructions in the section entitled
"Compiling NEWLIB".
@@ -46,7 +44,7 @@ More Documentation
==================
Newlib documentation is available on the net via:
- http://sourceware.org/newlib/docs.html
+ https://sourceware.org/newlib/docs.html
All the documentation for NEWLIB comes as part of the machine-readable
distribution. The documentation is written in Texinfo format, which is
@@ -77,7 +75,6 @@ format. On its own, TeX cannot read, much less typeset a Texinfo file.
`newlib-VERSION-NUMBER/texinfo' directory.
-
Compiling NEWLIB
================
@@ -511,70 +508,20 @@ run the testsuite.
Regenerating Configuration Files
================================
-At times you will need to make changes to configure.ac 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.ac
-files in newlib. You will notice that each directory in newlib containing
-a configure.ac file also contains an aclocal.m4 file. This file is
-generated by issuing: aclocal -I${relative_path_to_toplevel_newlib_dir}
--I${relative_path_to_toplevel_src_dir}
-The first relative directory is to access acinclude.m4. The second relative
-directory is to access libtool information in the top-level src directory.
-
-For example, to regenerate aclocal.m4 in newlib/libc/machine/arm:
-
- aclocal -I ../../.. -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.ac 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.
-
-Makefile.in files are generated from the nearest directory up the chain
-which contains a configure.ac file. In most cases, this is the same
-directory containing configure.ac, but there are exceptions.
-For example, the newlib/libc directory has a number of
-subdirectories that do not contain their own configure.ac 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.ac.
-When you issue the automake command, you specify the subdirectory for
-the Makefile.in you are regenerating. For example:
-
- automake 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.ac files.
-One would change to each of these subdirectories and in turn issue:
-
- automake Makefile
+At times you will need to make changes to configure.ac, Makefile.am and
+Makefile.inc files. This will mean that configure and Makefile.in files will
+need to be regenerated. The easiest way to do so is by using the autoreconf
+tool in the newlib directory.
-Let's say you create a new machine directory XXXX off of newlib/libc/machine.
-After creating a new configure.ac and Makefile.am file, you would issue:
+ autoreconf
- aclocal -I ../../..
- autoconf
- automake Makefile
+This will run a number of autotool programs for you. To see the individual
+steps, add the -v option.
-from newlib/libc/machine/XXXX
+ autoreconf -v
-It is strongly advised that you use an adequate version of autotools.
-For this latest release, the following were used: autoconf 2.69, aclocal 1.15.1,
-and automake 1.15.1.
+It is strongly advised that you use an adequate version of autotools. For this
+latest release, the following were used: autoconf 2.69 and automake 1.15.1.
Reporting Bugs
==============
@@ -587,4 +534,4 @@ Since NEWLIB supports many different configurations, it is important
that you be precise about this.
Archives of the newlib mailing list are on-line, see
- http://sourceware.org/ml/newlib/
+ https://sourceware.org/ml/newlib/