Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Human readable build system output #28

Closed
wants to merge 3 commits into from
Closed

Human readable build system output #28

wants to merge 3 commits into from

Commits on Mar 5, 2014

  1. configure.ac: use silent rules if available

    Using silent rules gives a cleaner output from the build.  This makes it
    trivially easy to spot warnings.  The original, verbose, output can still
    be seen by doing one of these...
    
    $ ./configure --disable-silent-rules && make
    
    ...or...
    
    $ ./configure && make V=1
    
    ...otherwise the build output looks like this...
    
    $ ./configure && make
      CC       thirdparty/libtap_a-tap.o
      AR       libtap.a
      CC       watchman-argv.o
      CC       watchman-opt.o
      CC       watchman-cfg.o
      CC       watchman-log.o
      CC       watchman-json.o
      CC       watchman-bser.o
      CC       watchman-hash.o
      CC       watchman-ht.o
    Reuben Hawkins committed Mar 5, 2014
    Configuration menu
    Copy the full SHA
    ff870d1 View commit details
    Browse the repository at this point in the history
  2. configure.ac: output extra build config summery to console

    It's sometimes useful, and always harmless, to output some extra config
    summery at the end of the configure script.  It'll save some debugging time
    if your eye catches the -O2 in the CFLAGS before you set out to debug.
    When that happened, you'd reconfigure with CFLAGS=-g and continue.
    
    The output looks like this...
    
    ...
    config.status: creating Makefile
    config.status: creating thirdparty/jansson/jansson_config.h
    config.status: creating config.h
    config.status: config.h is unchanged
    config.status: executing depfiles commands
    
    Your build configuration:
    
            CPPFLAGS =  -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
            CFLAGS = -g -O2 -I/usr/local/Cellar/pcre/8.33/include -Wall -Wextra -Wdeclaration-after-statement -g -gdwarf-2 -fno-omit-frame-pointer
            LDFLAGS =
            prefix: /usr/local
            version: 2.9.5
    
    $
    Reuben Hawkins committed Mar 5, 2014
    Configuration menu
    Copy the full SHA
    1dfae2e View commit details
    Browse the repository at this point in the history
  3. move foreign option from autogen.sh to Makefile.am

    $ ./autogen.sh
    
    ...generates the build system just fine, but...
    
    $ autoreconv -i
    
    ...should also work.  Both work if the foreign option is specified in
    Makefile.am instead of on the command line to automake in autogen.sh.
    
    The reason to ensure autoreconf works is to reduce the dependency on having
    the extra autogen.sh script to get the build system going.
    
    With this change, ./autogen.sh and autoreconf -i are the same...
    
    $ autoreconf -i
    configure.ac:16: installing './compile'
    configure.ac:2: installing './config.guess'
    configure.ac:2: installing './config.sub'
    configure.ac:3: installing './install-sh'
    configure.ac:3: installing './missing'
    Makefile.am: installing './depcomp'
    parallel-tests: installing './test-driver'
    
    $ ./autogen.sh
    configure.ac:16: installing './compile'
    configure.ac:2: installing './config.guess'
    configure.ac:2: installing './config.sub'
    configure.ac:3: installing './install-sh'
    configure.ac:3: installing './missing'
    Makefile.am: installing './depcomp'
    parallel-tests: installing './test-driver'
    Reuben Hawkins committed Mar 5, 2014
    Configuration menu
    Copy the full SHA
    d43d6a6 View commit details
    Browse the repository at this point in the history