# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.71])
AC_INIT([BaCon],[5.0.3],[peter AT basic-converter DOT org])
AC_CONFIG_SRCDIR([bacon.bac])

# Checks for programs.
AC_PROG_INSTALL

# Determine platform
AC_CANONICAL_HOST

# Checks for libraries
AC_SEARCH_LIBS(dlopen, [dl], [], [AC_MSG_ERROR(Cannot compile - missing library: dl)], [])
AC_SEARCH_LIBS(dlsym, [dl], [], [AC_MSG_ERROR(Cannot compile - missing library: dl)], [])
AC_SEARCH_LIBS(acos, [m], [], [AC_MSG_ERROR(Cannot compile - missing function: acos)], [])
AC_SEARCH_LIBS(asin, [m], [], [AC_MSG_ERROR(Cannot compile - missing function: asin)], [])
AC_SEARCH_LIBS(atan, [m], [], [AC_MSG_ERROR(Cannot compile - missing function: atan)], [])
AC_SEARCH_LIBS(atan2, [m], [], [AC_MSG_ERROR(Cannot compile - missing function: atan2)], [])
AC_SEARCH_LIBS(cos, [m], [], [AC_MSG_ERROR(Cannot compile - missing function: cos)], [])
AC_SEARCH_LIBS(exp, [m], [], [AC_MSG_ERROR(Cannot compile - missing function: exp)], [])
AC_SEARCH_LIBS(floor, [m], [], [AC_MSG_ERROR(Cannot compile - missing function: floor)], [])
AC_SEARCH_LIBS(log, [m], [], [AC_MSG_ERROR(Cannot compile - missing function: log)], [])
AC_SEARCH_LIBS(lrint, [m], [], [AC_MSG_ERROR(Cannot compile - missing function: lrint)], [])
AC_SEARCH_LIBS(sin, [m], [], [AC_MSG_ERROR(Cannot compile - missing function: sin)], [])
AC_SEARCH_LIBS(tan, [m], [], [AC_MSG_ERROR(Cannot compile - missing function: tan)], [])

# Checks for header files.
AC_CHECK_HEADER(arpa/inet.h, [], [AC_MSG_ERROR(Cannot compile - missing header: arpa/inet.h)])
AC_CHECK_HEADER(ctype.h, [], [AC_MSG_ERROR(Cannot compile - missing header: ctype.h)])
AC_CHECK_HEADER(dirent.h, [], [AC_MSG_ERROR(Cannot compile - missing header: dirent.h)])
AC_CHECK_HEADER(dlfcn.h, [], [AC_MSG_ERROR(Cannot compile - missing header: dlfcn.h)])
AC_CHECK_HEADER(errno.h, [], [AC_MSG_ERROR(Cannot compile - missing header: errno.h)])
AC_CHECK_HEADER(fcntl.h, [], [AC_MSG_ERROR(Cannot compile - missing header: fcntl.h)])
AC_CHECK_HEADER(fts.h, [], [AC_MSG_ERROR(Cannot compile - missing header: fts.h)])
AC_CHECK_HEADER(libgen.h, [], [AC_MSG_ERROR(Cannot compile - missing header: libgen.h)])
AC_CHECK_HEADER(locale.h, [], [AC_MSG_ERROR(Cannot compile - missing header: locale.h)])
AC_CHECK_HEADER(limits.h, [], [AC_MSG_ERROR(Cannot compile - missing header: limits.h)])
AC_CHECK_HEADER(math.h, [], [AC_MSG_ERROR(Cannot compile - missing header: math.h)])
AC_CHECK_HEADER(netdb.h, [], [AC_MSG_ERROR(Cannot compile - missing header: netdb.h)])
AC_CHECK_HEADER(regex.h, [], [AC_MSG_ERROR(Cannot compile - missing header: regex.h)])
AC_CHECK_HEADER(search.h, [], [AC_MSG_ERROR(Cannot compile - missing header: search.h)])
AC_CHECK_HEADER(setjmp.h, [], [AC_MSG_ERROR(Cannot compile - missing header: setjmp.h)])
AC_CHECK_HEADER(signal.h, [], [AC_MSG_ERROR(Cannot compile - missing header: signal.h)])
AC_CHECK_HEADER(stdarg.h, [], [AC_MSG_ERROR(Cannot compile - missing header: stdarg.h)])
AC_CHECK_HEADER(stdio.h, [], [AC_MSG_ERROR(Cannot compile - missing header: stdio.h)])
AC_CHECK_HEADER(stdlib.h, [], [AC_MSG_ERROR(Cannot compile - missing header: stdlib.h)])
AC_CHECK_HEADER(stdint.h, [], [AC_MSG_ERROR(Cannot compile - missing header: stdint.h)])
AC_CHECK_HEADER(string.h, [], [AC_MSG_ERROR(Cannot compile - missing header: string.h)])
AC_CHECK_HEADER(sys/ioctl.h, [], [AC_MSG_ERROR(Cannot compile - missing header: sys/ioctl.h)])
AC_CHECK_HEADER(sys/socket.h, [], [AC_MSG_ERROR(Cannot compile - missing header: sys/socket.h)])
AC_CHECK_HEADER(sys/stat.h, [], [AC_MSG_ERROR(Cannot compile - missing header: sys/stat.h)])
AC_CHECK_HEADER(sys/time.h, [], [AC_MSG_ERROR(Cannot compile - missing header: sys/time.h)])
AC_CHECK_HEADER(sys/types.h, [], [AC_MSG_ERROR(Cannot compile - missing header: sys/types.h)])
AC_CHECK_HEADER(sys/utsname.h, [], [AC_MSG_ERROR(Cannot compile - missing header: sys/utsname.h)])
AC_CHECK_HEADER(sys/wait.h, [], [AC_MSG_ERROR(Cannot compile - missing header: sys/wait.h)])
AC_CHECK_HEADER(termios.h, [], [AC_MSG_ERROR(Cannot compile - missing header: termios.h)])
AC_CHECK_HEADER(time.h, [], [AC_MSG_ERROR(Cannot compile - missing header: time.h)])
AC_CHECK_HEADER(unistd.h, [], [AC_MSG_ERROR(Cannot compile - missing header: unistd.h)])
AC_CHECK_HEADER(wctype.h, [], [AC_MSG_ERROR(Cannot compile - missing header: wctype.h)])

# Check platform specific header files
case $host in
	*bsd*|*haiku* )
            AC_CHECK_HEADER(netinet/in.h, [], [AC_MSG_ERROR(cannot compile - missing header: netinet/in.h)]);;
esac

# Checks for library functions.
case $host in
	*haiku* )
	    AC_SEARCH_LIBS(accept, [network], [], [AC_MSG_ERROR(Cannot compile - missing function: accept)], []);;
	* )
	    AC_CHECK_FUNCS(accept, [], [AC_MSG_ERROR(Cannot compile - missing function: accept)])
	    AC_CHECK_FUNCS(htonl, [], [AC_MSG_ERROR(Cannot compile - missing function: htonl)])
	    AC_CHECK_FUNCS(htons, [], [AC_MSG_ERROR(Cannot compile - missing function: htons)]);;
esac
AC_CHECK_FUNCS(bind, [], [AC_MSG_ERROR(Cannot compile - missing function: bind)])
AC_CHECK_FUNCS(connect, [], [AC_MSG_ERROR(Cannot compile - missing function: connect)])
AC_CHECK_FUNCS(gethostbyaddr, [], [AC_MSG_ERROR(Cannot compile - missing function: gethostbyaddr)])
AC_CHECK_FUNCS(gethostbyname, [], [AC_MSG_ERROR(Cannot compile - missing function: gethostbyname)])
AC_CHECK_FUNCS(gethostname, [], [AC_MSG_ERROR(Cannot compile - missing function: gethostname)])
AC_CHECK_FUNCS(getpeername, [], [AC_MSG_ERROR(Cannot compile - missing function: getpeername)])
AC_CHECK_FUNCS(inet_addr, [], [AC_MSG_ERROR(Cannot compile - missing function: inet_addr)])
AC_CHECK_FUNCS(inet_pton, [], [AC_MSG_ERROR(Cannot compile - missing function: inet_pton)])
AC_CHECK_FUNCS(inet_ntoa, [], [AC_MSG_ERROR(Cannot compile - missing function: inet_ntoa)])
AC_CHECK_FUNCS(recv, [], [AC_MSG_ERROR(Cannot compile - missing function: recv)])
AC_CHECK_FUNCS(select, [], [AC_MSG_ERROR(Cannot compile - missing function: select)])
AC_CHECK_FUNCS(send, [], [AC_MSG_ERROR(Cannot compile - missing function: send)])
AC_CHECK_FUNCS(setsockopt, [], [AC_MSG_ERROR(Cannot compile - missing function: setsockopt)])
AC_CHECK_FUNCS(basename, [], [AC_MSG_ERROR(Cannot compile - missing function: basename)])
AC_CHECK_FUNCS(calloc, [], [AC_MSG_ERROR(Cannot compile - missing function: calloc)])
AC_CHECK_FUNCS(closedir, [], [AC_MSG_ERROR(Cannot compile - missing function: closedir)])
AC_CHECK_FUNCS(dirname, [], [AC_MSG_ERROR(Cannot compile - missing function: dirname)])
AC_CHECK_FUNCS(execlp, [], [AC_MSG_ERROR(Cannot compile - missing function: execlp)])
AC_CHECK_FUNCS(execvp, [], [AC_MSG_ERROR(Cannot compile - missing function: execvp)])
AC_CHECK_FUNCS(_exit, [], [AC_MSG_ERROR(Cannot compile - missing function: _exit)])
AC_CHECK_FUNCS(fork, [], [AC_MSG_ERROR(Cannot compile - missing function: fork)])
AC_CHECK_FUNCS(fprintf, [], [AC_MSG_ERROR(Cannot compile - missing function: fprintf)])
AC_CHECK_FUNCS(getdelim, [], [AC_MSG_ERROR(Cannot compile - missing function: getdelim)])
AC_CHECK_FUNCS(getline, [], [AC_MSG_ERROR(Cannot compile - missing function: getline)])
AC_CHECK_FUNCS(getpid, [], [AC_MSG_ERROR(Cannot compile - missing function: getpid)])
AC_CHECK_FUNCS(ioctl, [], [AC_MSG_ERROR(Cannot compile - missing function: ioctl)])
AC_CHECK_FUNCS(listen, [], [AC_MSG_ERROR(Cannot compile - missing function: listen)])
AC_CHECK_FUNCS(malloc, [], [AC_MSG_ERROR(Cannot compile - missing function: malloc)])
AC_CHECK_FUNCS(mbtowc, [], [AC_MSG_ERROR(Cannot compile - missing function: mbtowc)])
AC_CHECK_FUNCS(mbstowcs, [], [AC_MSG_ERROR(Cannot compile - missing function: mbstowcs)])
AC_CHECK_FUNCS(memcmp, [], [AC_MSG_ERROR(Cannot compile - missing function: memcmp)])
AC_CHECK_FUNCS(memchr, [], [AC_MSG_ERROR(Cannot compile - missing function: memchr)])
AC_CHECK_FUNCS(memmove, [], [AC_MSG_ERROR(Cannot compile - missing function: memmove)])
AC_CHECK_FUNCS(memset, [], [AC_MSG_ERROR(Cannot compile - missing function: memset)])
AC_CHECK_FUNCS(qsort, [], [AC_MSG_ERROR(Cannot compile - missing function: qsort)])
AC_CHECK_FUNCS(random, [], [AC_MSG_ERROR(Cannot compile - missing function: random)])
AC_CHECK_FUNCS(readdir, [], [AC_MSG_ERROR(Cannot compile - missing function: readdir)])
AC_CHECK_FUNCS(realloc, [], [AC_MSG_ERROR(Cannot compile - missing function: realloc)])
AC_CHECK_FUNCS(realpath, [], [AC_MSG_ERROR(Cannot compile - missing function: realpath)])
AC_CHECK_FUNCS(setenv, [], [AC_MSG_ERROR(Cannot compile - missing function: setenv)])
AC_CHECK_FUNCS(sigaction, [], [AC_MSG_ERROR(Cannot compile - missing function: sigaction)])
AC_CHECK_FUNCS(snprintf, [], [AC_MSG_ERROR(Cannot compile - missing function: snprintf)])
AC_CHECK_FUNCS(socket, [], [AC_MSG_ERROR(Cannot compile - missing function: socket)])
AC_CHECK_FUNCS(strcat, [], [AC_MSG_ERROR(Cannot compile - missing function: strcat)])
AC_CHECK_FUNCS(strchr, [], [AC_MSG_ERROR(Cannot compile - missing function: strchr)])
AC_CHECK_FUNCS(strrchr, [], [AC_MSG_ERROR(Cannot compile - missing function: strrchr)])
AC_CHECK_FUNCS(strcmp, [], [AC_MSG_ERROR(Cannot compile - missing function: strcmp)])
AC_CHECK_FUNCS(strcasecmp, [], [AC_MSG_ERROR(Cannot compile - missing function: strcasecmp)])
AC_CHECK_FUNCS(strcpy, [], [AC_MSG_ERROR(Cannot compile - missing function: strcpy)])
AC_CHECK_FUNCS(strftime, [], [AC_MSG_ERROR(Cannot compile - missing function: strftime)])
AC_CHECK_FUNCS(strlen, [], [AC_MSG_ERROR(Cannot compile - missing function: strlen)])
AC_CHECK_FUNCS(strncat, [], [AC_MSG_ERROR(Cannot compile - missing function: strncat)])
AC_CHECK_FUNCS(strncpy, [], [AC_MSG_ERROR(Cannot compile - missing function: strncpy)])
AC_CHECK_FUNCS(strndup, [], [AC_MSG_ERROR(Cannot compile - missing function: strndup)])
AC_CHECK_FUNCS(strstr, [], [AC_MSG_ERROR(Cannot compile - missing function: strstr)])
AC_CHECK_FUNCS(strtok, [], [AC_MSG_ERROR(Cannot compile - missing function: strtok)])
AC_CHECK_FUNCS(towlower, [], [AC_MSG_ERROR(Cannot compile - missing function: towlower)])
AC_CHECK_FUNCS(towupper, [], [AC_MSG_ERROR(Cannot compile - missing function: towupper)])
AC_CHECK_FUNCS(usleep, [], [AC_MSG_ERROR(Cannot compile - missing function: usleep)])
AC_CHECK_FUNCS(waitpid, [], [AC_MSG_ERROR(Cannot compile - missing function: waitpid)])
AC_CHECK_FUNCS(wctomb, [], [AC_MSG_ERROR(Cannot compile - missing function: wctomb)])
AC_CHECK_FUNCS(wcstombs, [], [AC_MSG_ERROR(Cannot compile - missing function: wcstombs)])

# Default shell
BSHELL="none"

# Check parameter: force compilation with ZSH?
AC_ARG_WITH(zsh,
    [AS_HELP_STRING([--with-zsh],[force compilation with ZSH (default: GUESS)])],
	[BSHELL="zsh"])

# Check parameter: force compilation with BASH
AC_ARG_WITH(bash,
    [AS_HELP_STRING([--with-bash],[force compilation with BASH (default: GUESS)])],
	[BSHELL="bash"])

# Check parameter: force compilation with KSH?
AC_ARG_WITH(ksh,
    [AS_HELP_STRING([--with-ksh],[force compilation with KSH (default: GUESS)])],
	[BSHELL="ksh"])

# Check parameter: force compilation with KSH93?
AC_ARG_WITH(ksh93,
    [AS_HELP_STRING([--with-ksh93],[force compilation with KSH93 (default: GUESS)])],
	[BSHELL="ksh93"])

# Check for shell version.
if test "$BSHELL" = none; then
    AC_PATH_PROGS(BSHELL, ksh zsh bash, no)
    if test "$BSHELL" = no; then
        AC_MSG_ERROR(cannot compile - please install either Kornshell93, BASH or ZShell first.)
    fi
fi

# Check if we need to build any GUI
GTK3="false"
GTK4="false"
TK="false"
FLTK="false"
LEGACY="false"

AC_ARG_ENABLE([gui-gtk4],
  [AS_HELP_STRING([--enable-gui-gtk4],[Build the GTK4 version of BaconGUI])],
        [GTK4="true"])

AC_ARG_ENABLE([gui-gtk3],
  [AS_HELP_STRING([--enable-gui-gtk3],[Build the GTK3 version of BaconGUI])],
        [GTK3="true"])

AC_ARG_ENABLE([gui-tk],
  [AS_HELP_STRING([--enable-gui-tk],[Build the TK version of BaconGUI])],
        [TK="true"])

AC_ARG_ENABLE([gui-fltk],
  [AS_HELP_STRING([--enable-gui-fltk],[Build the FLTK version of BaconGUI])],
        [FLTK="true"])

AC_ARG_ENABLE([gui-legacy],
  [AS_HELP_STRING([--enable-gui-legacy],[Build the legacy GTK version of BaconGUI])],
        [LEGACY="true"])

AC_ARG_ENABLE([gui-all],
  [AS_HELP_STRING([--enable-gui-all],[Build all versions of BaconGUI])],
        [GTK3="true" GTK4="true" TK="true" FLTK="true" LEGACY="true"])

AC_ARG_ENABLE([gui],
  [AS_HELP_STRING([--disable-gui],[Do not build a BaconGUI])],
        [GTK3="none" GTK4="none" TK="none" FLTK="none" LEGACY="none"])

# Default is GTK3 version of BaConGUI
if test "$GTK3" = true -o "$GTK4" = false -a "$TK" = false -a "$FLTK" = false -a "$LEGACY" = false; then
    AC_CHECK_PROG(PKG_CONFIG, pkg-config, found, missing)
    if test "$PKG_CONFIG" = missing; then
        GTK3="false"
    else
        AC_MSG_CHECKING(if GTK3 developer files are installed)
        GTK3=`pkg-config --silence-errors --cflags gtk+-3.0`
        if test -n "$GTK3"; then
            AC_MSG_RESULT(found)
            AC_MSG_CHECKING(if GtkSourceView4 developer files are installed)
            SRC3=`pkg-config --silence-errors --cflags gtksourceview-4`
            if test -n "$SRC3"; then
                AC_MSG_RESULT(found)
                GTK3="true"
            else
                AC_MSG_RESULT(not found - skipping BaConGUI for GTK3)
                GTK3="false"
            fi
        else
            AC_MSG_RESULT(not found - skipping BaConGUI for GTK3)
            GTK3="false"
        fi
    fi
fi

# No GTK3 found? Then verify presence of GTK4 library
if test "$GTK4" = true -o "$GTK3" = false -a "$TK" = false -a "$FLTK" = false -a "$LEGACY" = false; then
    AC_CHECK_PROG(PKG_CONFIG, pkg-config, found, missing)
    if test "$PKG_CONFIG" = missing; then
        GTK4="false"
    else
        AC_MSG_CHECKING(if GTK4 developer files are installed)
        GTK4=`pkg-config --silence-errors --cflags gtk4`
        if test -n "$GTK4"; then
            AC_MSG_RESULT(found)
            AC_MSG_CHECKING(if GtkSourceView5 developer files are installed)
            SRC4=`pkg-config --silence-errors --cflags gtksourceview-5`
            if test -n "$SRC4"; then
                AC_MSG_RESULT(found)
                GTK4="true"
            else
                AC_MSG_RESULT(not found - skipping BaConGUI for GTK4)
                GTK4="false"
            fi
        else
            AC_MSG_RESULT(not found - skipping BaConGUI for GTK4)
            GTK4="false"
        fi
    fi
fi

# No GTK4 found? Then verify presence of TK library
if test "$TK" = true -o "$GTK3" = false -a "$GTK4" = false -a "$FLTK" = false -a "$LEGACY" = false; then
    AC_CHECK_PROG(PKG_CONFIG, pkg-config, found, missing)
    if test "$PKG_CONFIG" = missing; then
        TK="false"
    else
        AC_MSG_CHECKING(if TK developer files are installed)
        TK=`pkg-config --silence-errors --cflags tk`
        if test -n "$TK"; then
            AC_MSG_RESULT(found)
            TK="true"
        else
            AC_MSG_RESULT(not found - skipping BaConGUI for TK)
            TK="false"
        fi
    fi
fi

# No GTK3, GTK4 nor TK found? Then verify presence of FLTK library
if test "$FLTK" = true -o "$GTK3" = false -a "$GTK4" = false -a "$TK" = false -a "$LEGACY" = false; then
    AC_CHECK_PROG(FLTK_CONFIG, fltk-config, found, not found - skipping BaConGUI for FLTK)
    if test "$FLTK_CONFIG" = found; then
        AC_MSG_CHECKING(FLTK major version)
        FL_MAJOR_VERSION=`fltk-config --version | cut -d. -f1`
        if test "$FL_MAJOR_VERSION" -lt 1; then
            FLTK="false"
            AC_MSG_RESULT(too low - skipping BaConGUI for FLTK)
        else
            AC_MSG_RESULT([$FL_MAJOR_VERSION])
            AC_MSG_CHECKING(FLTK minor version)
            FL_MINOR_VERSION=`fltk-config --version | cut -d. -f2`
            if test "$FL_MINOR_VERSION" -lt 3; then
                FLTK="false"
                AC_MSG_RESULT(too low - skipping BaConGUI for FLTK)
            else
                AC_MSG_RESULT([$FL_MINOR_VERSION])
                AC_MSG_CHECKING(FLTK patch version)
                FL_PATCH_VERSION=`fltk-config --version | cut -d. -f3`
                if test "$FL_PATCH_VERSION" -lt 2; then
                    FLTK="false"
                    AC_MSG_RESULT(too low - skipping BaConGUI for FLTK)
                else
                    AC_MSG_RESULT([$FL_PATCH_VERSION])
                    AC_CHECK_HEADERS([FL/fl_utf8.h], [FLTK="true"], [FLTK="false"])
                fi
            fi
        fi
    else
        FLTK="false"
    fi
fi

# No suitable toolkit? Fall back to legacy GUI
if test "$LEGACY" = true -o "$GTK3" = false -a "$GTK4" = false -a "$TK" = false -a "$FLTK" = false; then
    LEGACY="true"
fi

# Check C compiler
AC_PROG_CC

# Add compile flag to prevent gcc from hanging during compilation (GCC 4.8.4)
if test "$CC" = gcc; then
    AC_MSG_CHECKING(whether $CC accepts optional compile flag '-fno-var-tracking-assignments')
    C_COMPILE_FLAG=`$CC -fno-var-tracking-assignments -x c /dev/null -E 2>&1 >/dev/null`
    if test -z "$C_COMPILE_FLAG"; then
        AC_MSG_RESULT(accepted)
        CFLAGS="$CFLAGS -fno-var-tracking-assignments"
    else
        AC_MSG_RESULT(not accepted)
    fi
fi

# Add macros when compiler is c89 or c99
if test "$CC" = c89 -o "$CC" = c99; then
    AC_MSG_CHECKING(whether $CC needs additional macros)
    ANSIFLAGS="-D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE_EXTENDED"
    CFLAGS="$CFLAGS $ANSIFLAGS"
    AC_MSG_RESULT($ANSIFLAGS)
fi

# Check C++ compiler
AC_PROG_CXX

# Check for 'strip'
AC_CHECK_PROG(STRIP,strip,strip,touch)

# Check for 'make'
AC_CHECK_PROG(MAKE,make,yes,no)
if test "$MAKE" = no; then
    AC_MSG_ERROR(cannot compile - please install the 'make' utility.)
fi

# Check for 'indent'
AC_CHECK_PROG(INDENT,indent,yes,no)
if test "$INDENT" = no; then
    AC_MSG_WARN('indent' was not found on this system - generated sources cannot be indented when preserved.)
fi

# Make sure CFLAGS always works in the Makefile
if test -z "CFLAGS"; then
    CFLAGS="-g -O2"
fi

# Make sure CXXFLAGS always works in the Makefile
if test -z "CXXFLAGS"; then
    CXXFLAGS="-g -O2"
fi

# Substitute variables in Makefile
AC_SUBST(CC)
AC_SUBST(CFLAGS)
AC_SUBST(CXX)
AC_SUBST(CXXFLAGS)
AC_SUBST(LDFLAGS)
AC_SUBST(STRIP)
AC_SUBST(BSHELL)
AC_SUBST(LIBS)
AC_SUBST(GTK3)
AC_SUBST(GTK4)
AC_SUBST(TK)
AC_SUBST(FLTK)
AC_SUBST(LEGACY)

AC_CONFIG_FILES([Makefile])
AC_OUTPUT

# Print results
echo
echo "Congratulations, all requirements are met!"
echo
echo "- Makefile created."
echo "- Using '${BSHELL}' to compile BaCon."
if test "$GTK4" = true; then
    echo "- Creating BaConGUI for GTK4."
fi
if test "$GTK3" = true; then
    echo "- Creating BaConGUI for GTK3."
fi
if test "$TK" = true; then
    echo "- Creating BaConGUI for TK."
fi
if test "$FLTK" = true; then
    echo "- Creating BaConGUI for FLTK."
fi
if test "$LEGACY" = true; then
    echo "- Creating the legacy BaConGUI for GTK."
fi
echo
echo "Now run 'make' and 'make install' to build and install BaCon."
echo
