diff --git a/INSTALL b/INSTALL index 304b9fbeb..e1aef7302 100644 --- a/INSTALL +++ b/INSTALL @@ -195,7 +195,7 @@ contains results you don't want to keep, you may remove or edit it. The file `configure.ac' is used to create `configure' by a program called `autoreconf'. You only need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. This -project uses a custom `autogen.sh' for running autoreconf in a developer's +project uses a custom `bootstrap' for running autoreconf in a developer's checkout of Hamlib from a source repository. Advanced installation options. diff --git a/NEWS b/NEWS index d3a03f704..90802ab01 100644 --- a/NEWS +++ b/NEWS @@ -11,6 +11,7 @@ Version 3.2 * Fix ft991_get_mode, Mike, W9MDB * New model, FT-891. Mike, W9MDB * Build instructions and test script for Python3 + * Rename autogen.sh to bootsrap and don't call configure Version 3.1 2016-12-31 diff --git a/README.betatester b/README.betatester index bf30bebbc..2f0b2d1e3 100644 --- a/README.betatester +++ b/README.betatester @@ -176,7 +176,7 @@ Git checkout: Please read the beginning of README.developer file, especially Section 1 which details the Git checkout, the required tools and versions (very important or -make won't even work!), and how to use the autogen.sh script. +make won't even work!), and how to use the bootstrap script. Structure: diff --git a/README.developer b/README.developer index c57b66373..6aa101972 100644 --- a/README.developer +++ b/README.developer @@ -269,25 +269,30 @@ make sure they are matching *at least* the version shown above. 1.3. configure and build stage -It is important to note that the Git repository holds no autogenerated -files, i.e. configure, config.guess, Makefile, etc. Hence after a fresh -checkout, you'll have to generate those files. +It is important to note that the Git repository holds no Autotools +generated files, i.e. configure, config.guess, Makefile, etc. Hence +after a fresh checkout, you'll have to generate those files. -To proceed, first edit the autogen.sh script, and set appropriately the +To proceed, first edit the bootstrap script, and set appropriately the AUTORECONF, AUTOMAKE, and LIBTOOLIZE variables with the required versions seen in the previous section (most systems will be fine with the default names, only do this if a problem arises and please let us know). cd hamlib - sh ./autogen.sh [CFLAGS="-g -O0"] + ./bootstrap + ./configure [CFLAGS="-g -O0"] make make install +Note: Depending on the value of '--prefix' passed to 'configure', superuser +(root) privileges may be needed for 'make install'. + If you don't want the build files cluttering the source directories, do the following in the same parent directory of hamlib: mkdir build && cd build - sh ../hamlib/autogen.sh [CFLAGS="-g -O0"] + ../hamlib/bootstrap + ../hamlib/configure [CFLAGS="-g -O0"] make make install @@ -297,7 +302,7 @@ optional as shown using the square brackets.. This will keep the binary output files separate from the source tree and aid in development by reducing clutter in the source tree. -Once you've run `autogen.sh', make sure you've got some recent config.guess +Once you've run `bootstrap', make sure you've got some recent config.guess and config.sub (needed to guess your system type). Anything of at least year 2004 should be fine, unless you run some exotic hardware/software system (modern Linux distributions and Cygwin keep these up to date): @@ -305,7 +310,7 @@ year 2004 should be fine, unless you run some exotic hardware/software system ./config.guess --version ./config.sub --version -The '--prefix' option to `autogen.sh' is optional and not shown as it defaults +The '--prefix' option to `configure' is optional and not shown as it defaults to /usr/local. Convention is that locally built packages be installed in /usr/local away from distribution installed packages. The 'CFLAGS="-g -O0"' environment variable generates less optimized binaries with the '-O0' while the @@ -313,17 +318,17 @@ environment variable generates less optimized binaries with the '-O0' while the debugging info for gdb. Additionally, you may want to add the '--with-perl-binding' or -'--with-python-binding' or '--with-tcl-binding' if you are interested in -Swig binding support for those scripting languages. +'--with-python-binding' or '--with-tcl-binding' or '--with-lua-binding' if you are +interested in SWIG binding support for those scripting languages. -NOTE: The autogen.sh script has only to be run the first time after a fresh +NOTE: The bootstrap script has only to be run the first time after a fresh checkout or when a Makefile.am or other build file is modified or added. For a Tcl build, add this if needed: --with-tcl=/usr/lib/tcl8.2 -Note: C-shell users may have to run autogen.sh and make through a bourne +Note: C-shell users may have to run bootstrap and make through a bourne shell instead, or pass "SHELL=bash" as a parameter to make. Some basic testing is accomplished with the 'make check' target which will diff --git a/README.osx b/README.osx index c77dcf71a..8ee0eca71 100644 --- a/README.osx +++ b/README.osx @@ -13,9 +13,13 @@ $ brew install automake autoconf libtool Build ----- -Execute autogen.sh with the desired flags +Execute bootstrap to generate the build system files -$ ./autogen.sh +$ ./bootstrap + +Then configure with the desired flags + +$ ./configure Then compile the hamlib files diff --git a/README.release b/README.release index 54030920f..acc11410d 100644 --- a/README.release +++ b/README.release @@ -95,7 +95,8 @@ release: rc testing/release. * Build source tarball from a cleaned tree (as above): - ./autogen.sh + ./bootstrap + ./configure make dist The resulting tarball--hamlib-3.y[.z].tar.gz--should be tested as much diff --git a/README.win32 b/README.win32 index b42866776..f32724b1e 100644 --- a/README.win32 +++ b/README.win32 @@ -18,6 +18,7 @@ List-Archive: + Found this to be helpful for building hamlib under Cygwin/Mingw32 for linking with Windows apps: @@ -28,14 +29,15 @@ Cygwin is fully updated): $ export CC="gcc -mno-cygwin" $ export CXX="g++ -mno-cygwin" -$ ./autogen.sh --prefix=/usr/local \ +$ ./bootstrap +$ ./configure --prefix=/usr/local \ --build=i686-pc-cygwin \ --host=i686-pc-mingw32 \ --target=i686-pc-mingw32 -Note: on subsequent runs you can replace ./autogen.sh with ./configure -unless there are modifications to any .ac, .m4, or Makefile.am file. -In that case, "make clean", and re-run autogen as above. +Note: on subsequent runs you will only need to run 'bootstrap' if +there are modifications to any .ac, .m4, or Makefile.am files. +In that case, "make clean", and re-run 'bootstrap' as above. # make diff --git a/bindings/README.python b/bindings/README.python index a122dadc7..95cc54f46 100644 --- a/bindings/README.python +++ b/bindings/README.python @@ -22,8 +22,9 @@ and available. It's time that we offer a means to generate bindings for either version. This document will provide the steps for doing so. NOTE: Developers and testers building from a Git clone/checkout will need -to bootstrap the build system by running the autogen.sh script. Source -releases and source daily snapshots already have this step completed. +to bootstrap the build system by running the (appropriately named) 'bootstrap' +script. Source releases and source daily snapshots already have this step +completed. NOTE: The commands assume an out of tree build in a sibling directory to the main source directory. Adjust your paths accordingly. Adjust your diff --git a/autogen.sh b/bootstrap similarity index 83% rename from autogen.sh rename to bootstrap index 816f8f066..51f349a9e 100755 --- a/autogen.sh +++ b/bootstrap @@ -2,10 +2,6 @@ # Run this to generate all the initial makefiles, etc. -# Enabling maintainer mode, as done when configure is run by this script, -# will cause the makefiles to be regenerated if any of the Makefile.am -# or configure.ac files are changed. - # Taken from glib CVS # Change the following to match the versions installed on your system @@ -76,10 +72,3 @@ echo "and generate the configure script." "$AUTORECONF" -i cd "$ORIGDIR" - -if test -z "$*"; then - echo "I am going to run ./configure with no arguments - if you wish " - echo "to pass any to it, please specify them on the \"$0\" command line." -fi - -"$SRCDIR/configure" "$@" diff --git a/doc/getting_started.texi b/doc/getting_started.texi index 1213bc263..c8fb24357 100644 --- a/doc/getting_started.texi +++ b/doc/getting_started.texi @@ -381,18 +381,26 @@ from which the build system consisting of @file{configure}, the various @file{Makefile.in}s throughout the directory structure, and the final @file{Makefile}s are generated. -In the top-level directory is the @command{autogen.sh} script from -which the build system is @dfn{bootsrapped}---the process of building -the Hamlib build system. At its completion @command{autogen.sh} will -run @command{configure} and will pass any command line arguments it -receives to @command{configure}. Environment variables intended for -the compiler may also be set on the @command{autogen.sh} command line. +In the top-level directory is the @command{bootstrap} script from +which the build system is @dfn{bootsrapped}---the process of +generating the Hamlib build system from @file{configure.ac} and the +various @file{Makefile.am}s. At its completion the +@command{configure} script will be present to configure the build +system. + +Next @command{configure} is run with any needed build options +(@command{configure --help} is useful) to enable certain features or +provide paths for locating needed build dependencies, etc. +Environment variables intended for the preprocessor and/or compiler +may also be set on the @command{configure} command line. After the configuration is complete, the build may proceed with the @command{make} step as for the source tarballs above. Or @command{configure --help} may be run, and @command{configure} run again with specific options in which case the @file{Makefile}s will be -regenerated and the build will proceed. +regenerated and the build can proceed with the new configuration. + +@xref{configure}. @node Other make targets @subsection Other @command{make} targets @@ -472,9 +480,10 @@ manual for all the details. @cindex Compiling for MS Windows 32 @cindex MS Windows 32, compiling -Currently compiling is done on an Xubuntu 10.10 virtual machine using -@url{http://www.mingw.org/, MinGW32}. @file{README.build-win32} in -the @file{scripts} directory has details on how this is accomplished. +Currently compiling is done on a Debian 8 (Jessie) virtual machine +using @url{http://www.mingw.org/, MinGW32}. @file{README.build-win32} +in the @file{scripts} directory has details on how this is +accomplished. Work is ongoing to correct build issues in the @url{http://www.cygwin.com/, Cygwin} environment running on MS