Check out a copy of YASM from CVS (or grab a development tarball) so you can
look at the codebase.
-Look at doc/design/ (you'll probably want to look at the online version,
-because the design doc is written in DocBook and most people don't have the
-SGML tools installed to process it). This is the overall design document,
+Look at the deisgn document (the online web version is probably the easiest to
+read, because the design doc is written in DocBook and most people don't have
+the SGML tools installed to process it). This is the overall design document,
which gives you a high-level view of the assembler modular structure and how
the various components interface. It also covers coding standards.
Building in this fashion requires many more programs than YASM normally
requires in a packaged distribution. All of the following are GNU programs,
which are fairly portable in their own right:
- * automake
- * autoconf
+ * automake (1.5 or newer)
+ * autoconf (2.5 or newer preferred, 2.13 will still work)
* m4
* gettext
- * make
+ * make (GNU preferred)
* flex
* bison
* gcc
* groff
- * perl
+ * perl (5.003 or newer)
To prepare your working copy for building, run:
- % aclocal
- % gettextize
- % autoreconf
- % configure --enable-dev
-
-(TODO: explain --enable-docbook and its required packages)
-
-(TODO: explain --disable-check)
-
-After running configure, use make to build YASM. We recommend you use GNU
-make because automake generates better dependency checking when it's used.
-Use the distcheck target of make to build a package. If this doesn't complete
-successfully, something is wrong in the source tree. If you caused the
-breakage, fix it or ask someone to help you fix it. If you didn't cause it
-(it happens with a new checkout), notify the developers!
+ % ./autogen.sh
+
+The autogen.sh script runs gettextize, aclocal, autoconf, autoheader, automake,
+and finally runs "./configure --enable-dev". If an error occurs during this
+process, something is wrong in your build configuration (such as required tools
+missing or misconfigured). After autogen.sh completes successfully, use make
+to build YASM. We recommend you use GNU make because gettext seems to play
+better with it than with other make tools. Use the distcheck target of make to
+build a package. If this doesn't complete successfully, something is wrong in
+the source tree. If you caused the breakage, fix it or ask someone to help you
+fix it. If you didn't cause it (it happens with a new checkout), notify the
+developers!
Generating ChangeLogs
=====================