remove autotools build
Signed-off-by: Andy Green <andy.green@linaro.org>
diff --git a/Makefile.am b/Makefile.am
deleted file mode 100644
index 28a04bb..0000000
--- a/Makefile.am
+++ /dev/null
@@ -1,13 +0,0 @@
-
-if NO_TESTAPPS
-SUBDIRS=lib
-else
-SUBDIRS=lib test-server
-endif
-
-EXTRA_DIST=scripts/kernel-doc
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libwebsockets.pc
-
-
diff --git a/README.build b/README.build
index 3994c9c..039ca62 100644
--- a/README.build
+++ b/README.build
@@ -1,240 +1,5 @@
-Introduction
-------------
-Libwebsockets can be built using two different build systems
-autoconf or CMake. autoconf only works on Unix systems, or mingw/cygwin
-on Windows. CMake works differently and can generate platform specific
-project files for most popular IDEs and build systems.
-
-################################### Autoconf ###################################
-
-Building the library and test apps
-----------------------------------
-
-You need to regenerate the autotools and libtoolize stuff for your system
-
-$ ./autogen.sh
-
-Then,
-
-------Fedora x86_64
-
- ./configure --prefix=/usr --libdir=/usr/lib64 --enable-openssl
-
-------Apple
-
-Christopher Baker reported that this is needed
-
-./configure CC="gcc -arch i386 -arch x86_64" CXX="g++ -arch i386 -arch
-x86_64" CPP="gcc -E" CXXCPP="g++ -E" --enable-nofork
-
-------mingw
-
-I did the following to get working build, ping test is disabled when
-building this way
-
-1) install mingw64_w32 compiler packages from Fedora
-2) additionally install mingw64-zlib package
-3) ./configure --prefix=/usr --enable-mingw --host=x86_64-w64-mingw32
-4) make
-
-------MIPS cross-build using OpenWRT
-
- ./configure --prefix=/usr --without-extensions --host mips-openwrt-linux
-
-I did not try building the extensions since they need cross-zlib, but it
-should also be workable.
-
-------Other uClibc
-
-you may need --enable-builtin-getifaddrs if your toolchain
-doesn't have it - openWRT uclibc has it so you don't need this option.
-
-------ARM cross-build
-
-./configure --prefix=/usr --host=arm-linux-gnueabi --without-client --without-extensions
-
-you can build cross with client and extensions perfectly well, but
-apart from the size shrink this has the nice characteristic that no
-non-toolchain libraries are needed to build it.
-
-
-otherwise if /usr/local/... and /usr/local/lib are OK then...
-
-$ ./configure
-$ make clean
-$ make && sudo make install
-$ libwebsockets-test-server
-
-should be enough to get a test server listening on port 7861.
-
-
-Configure script options
-------------------------
-
-There are several other possible configure options
-
---enable-openssl Builds in the SSL support
-
---with-cyassl Use cyassl instead of OpenSSL... you will need CyaSSL
- to have been configured with --enable-opensslExtra
-\ when it was built.
-
---enable-libcrypto by default libwebsockets uses its own
- built-in md5 and sha-1 implementation for
- simplicity. However the libcrypto ones
- may be faster, and in a distro context it
- may be highly desirable to use a common
- library implementation for ease of security
- upgrades. Give this configure option
- to disable the built-in ones and force use
- of the libcrypto (part of openssl) ones.
-
---with-client-cert-dir=dir tells the client ssl support where to
- look for trust certificates to validate
- the remote certificate against.
-
---enable-noping Don't try to build the ping test app
- It needs some unixy environment that
- may choke in other build contexts, this
- lets you cleanly stop it being built
-
---enable-builtin-getifaddrs if your libc lacks getifaddrs, you can build an
- implementation into the library. By default your libc
- one is used.
-
---without-testapps Just build the library not the test apps
-
---without-client Don't build the client part of the library nor the
- test apps that need the client part. Useful to
- minimize library footprint for embedded server-only
- case
-
---without-server Don't build the server part of the library nor the
- test apps that need the server part. Useful to
- minimize library footprint for embedded client-only
- case
-
---without-daemonize Don't build daemonize.c / lws_daemonize
-
---disable-debug Remove all debug logging below lwsl_notice in severity
- from the code -- it's not just defeated from logging
- but removed from compilation
-
---without-extensions Remove all code and data around protocol extensions.
- This reduces the code footprint considerably but
- you will lose extension features like compression.
- However that may be irrelevant for embedded use and
- the code / data size / speed improvements may be
- critical.
-
---with-latency Builds the latency-tracking code into the library...
- this slows your library down a bit but is very useful
- to find the cause of unexpected latencies occurring
- inside the library. See README.test-apps for more
- info
-
-
-Externally configurable important constants
--------------------------------------------
-
-You can control these from configure by just setting them as commandline
-args throgh CFLAGS, eg
-
-./configure CFLAGS="-DLWS_MAX_ZLIB_CONN_BUFFER=8192"
-
-
-They all have reasonable defaults usable for all use-cases except resource-
-constrained, so you only need to take care about them if you want to tune them
-to the amount of memory available.
-
- - LWS_MAX_HEADER_LEN default 1024: allocated area to copy http headers that
-libwebsockets knows about into. You only need to think about increasing this
-if your application might have monster length URLs for example, or some other
-header that lws cares about will be abnormally large (headers it does not
-know about are skipped).
-
- - LWS_MAX_PROTOCOLS default 5: largest amount of different protocols the
-server can serve
-
- - LWS_MAX_EXTENSIONS_ACTIVE default 3: largest amount of extensions we can
-choose to have active on one connection
-
- - SPEC_LATEST_SUPPORTED default 13: only change if you want to remove support
-for later protocol versions... unlikely
-
- - AWAITING_TIMEOUT default 5: after this many seconds without a response, the
-server will hang up on the client
-
- - SYSTEM_RANDOM_FILEPATH default "/dev/urandom": if your random device differs
-you can set it here
-
- - LWS_MAX_ZLIB_CONN_BUFFER maximum size a compression buffer is allowed to
-grow to before closing the connection. Some limit is needed or any connecton
-can exhaust all server memory by sending it 4G buffers full of zeros which the
-server is expect to expand atomically. Default is 64KBytes.
-
- - LWS_SOMAXCONN maximum number of pending connect requests the listening
-socket can cope with. Default is SOMAXCONN. If you need to use synthetic
-tests that just spam hundreds of connect requests at once without dropping
-any, you can try messing with these as well as ulimit (see later)
-(courtesy Edwin van der Oetelaar)
-
-echo "2048 64512" > /proc/sys/net/ipv4/ip_local_port_range
-echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle
-echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse
-echo "10" > /proc/sys/net/ipv4/tcp_fin_timeout
-echo "65536" > /proc/sys/net/core/somaxconn
-echo "65536" > /proc/sys/net/ipv4/tcp_max_syn_backlog
-echo "262144" > /proc/sys/net/netfilter/nf_conntrack_max
-
-
-Memory efficiency
------------------
-
-Embedded server-only configuration without extensions (ie, no compression
-on websocket connections), but with full v13 websocket features and http
-server, built on ARM Cortex-A9:
-
-Update at 8dac94d (2013-02-18)
-
-./configure --without-client --without-extensions --disable-debug --without-daemonize
-
-Context Creation, 1024 fd limit[2]: 16720 (includes 12 bytes per fd)
-Per-connection [3]: 72 bytes, +1328 during headers
-
-.text .rodata .data .bss
-11512 2784 288 4
-
-This shows the impact of the major configuration with/without options at
-13ba5bbc633ea962d46d using Ubuntu ARM on a PandaBoard ES.
-
-These are accounting for static allocations from the library elf, there are
-additional dynamic allocations via malloc. These are a bit old now but give
-the right idea for relative "expense" of features.
-
-Static allocations, ARM9
- .text .rodata .data .bss
- All (no without) 35024 9940 336 4104
- without client 25684 7144 336 4104
- without client, exts 21652 6288 288 4104
- without client, exts, debug[1] 19756 3768 288 4104
- without server 30304 8160 336 4104
- without server, exts 25382 7204 288 4104
- without server, exts, debug[1] 23712 4256 288 4104
-
-[1] --disable-debug only removes messages below lwsl_notice. Since that is
-the default logging level the impact is not noticable, error, warn and notice
-logs are all still there.
-
-[2] 1024 fd per process is the default limit (set by ulimit) in at least Fedora
-and Ubuntu. You can make significant savings tailoring this to actual expected
-peak fds, ie, at a limit of 20, context creation allocation reduces to 4432 +
-240 = 4672)
-
-[3] known header content is freed after connection establishment
-
-
-#################################### CMake ####################################
+Introduction to CMake
+---------------------
CMake is a multi-platform build tool that can generate build files for many
different target platforms. See more info at http://www.cmake.org
@@ -280,8 +45,8 @@
(NOTE: The build/ directory can have any name and be located anywhere
on your filesystem, and that the argument ".." given to cmake is simply
- the source directory of libwebsockets containing the CMakeLists.txt project
- file. All examples in this file assumes you use "..")
+ the source directory of libwebsockets containing the CMakeLists.txt
+ project file. All examples in this file assumes you use "..")
NOTE2
A common option you may want to give is to set the install path, same
@@ -413,3 +178,52 @@
Additional information on cross compilation with CMake:
http://www.vtk.org/Wiki/CMake_Cross_Compiling
+
+
+Memory efficiency
+-----------------
+
+Embedded server-only configuration without extensions (ie, no compression
+on websocket connections), but with full v13 websocket features and http
+server, built on ARM Cortex-A9:
+
+Update at 8dac94d (2013-02-18)
+
+./configure --without-client --without-extensions --disable-debug --without-daemonize
+
+Context Creation, 1024 fd limit[2]: 16720 (includes 12 bytes per fd)
+Per-connection [3]: 72 bytes, +1328 during headers
+
+.text .rodata .data .bss
+11512 2784 288 4
+
+This shows the impact of the major configuration with/without options at
+13ba5bbc633ea962d46d using Ubuntu ARM on a PandaBoard ES.
+
+These are accounting for static allocations from the library elf, there are
+additional dynamic allocations via malloc. These are a bit old now but give
+the right idea for relative "expense" of features.
+
+Static allocations, ARM9
+ .text .rodata .data .bss
+ All (no without) 35024 9940 336 4104
+ without client 25684 7144 336 4104
+ without client, exts 21652 6288 288 4104
+ without client, exts, debug[1] 19756 3768 288 4104
+ without server 30304 8160 336 4104
+ without server, exts 25382 7204 288 4104
+ without server, exts, debug[1] 23712 4256 288 4104
+
+[1] --disable-debug only removes messages below lwsl_notice. Since that is
+the default logging level the impact is not noticable, error, warn and notice
+logs are all still there.
+
+[2] 1024 fd per process is the default limit (set by ulimit) in at least Fedora
+and Ubuntu. You can make significant savings tailoring this to actual expected
+peak fds, ie, at a limit of 20, context creation allocation reduces to 4432 +
+240 = 4672)
+
+[3] known header content is freed after connection establishment
+
+
+
diff --git a/autogen.sh b/autogen.sh
deleted file mode 100755
index 5bce9ba..0000000
--- a/autogen.sh
+++ /dev/null
@@ -1,1578 +0,0 @@
-#!/bin/sh
-# a u t o g e n . s h
-#
-# Copyright (c) 2005-2009 United States Government as represented by
-# the U.S. Army Research Laboratory.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# 3. The name of the author may not be used to endorse or promote
-# products derived from this software without specific prior written
-# permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
-# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-###
-#
-# Script for automatically preparing the sources for compilation by
-# performing the myriad of necessary steps. The script attempts to
-# detect proper version support, and outputs warnings about particular
-# systems that have autotool peculiarities.
-#
-# Basically, if everything is set up and installed correctly, the
-# script will validate that minimum versions of the GNU Build System
-# tools are installed, account for several common configuration
-# issues, and then simply run autoreconf for you.
-#
-# If autoreconf fails, which can happen for many valid configurations,
-# this script proceeds to run manual preparation steps effectively
-# providing a POSIX shell script (mostly complete) reimplementation of
-# autoreconf.
-#
-# The AUTORECONF, AUTOCONF, AUTOMAKE, LIBTOOLIZE, ACLOCAL, AUTOHEADER
-# environment variables and corresponding _OPTIONS variables (e.g.
-# AUTORECONF_OPTIONS) may be used to override the default automatic
-# detection behaviors. Similarly the _VERSION variables will override
-# the minimum required version numbers.
-#
-# Examples:
-#
-# To obtain help on usage:
-# ./autogen.sh --help
-#
-# To obtain verbose output:
-# ./autogen.sh --verbose
-#
-# To skip autoreconf and prepare manually:
-# AUTORECONF=false ./autogen.sh
-#
-# To verbosely try running with an older (unsupported) autoconf:
-# AUTOCONF_VERSION=2.50 ./autogen.sh --verbose
-#
-# Author:
-# Christopher Sean Morrison <morrison@brlcad.org>
-#
-# Patches:
-# Sebastian Pipping <sebastian@pipping.org>
-#
-######################################################################
-
-# set to minimum acceptable version of autoconf
-if [ "x$AUTOCONF_VERSION" = "x" ] ; then
- AUTOCONF_VERSION=2.52
-fi
-# set to minimum acceptable version of automake
-if [ "x$AUTOMAKE_VERSION" = "x" ] ; then
- AUTOMAKE_VERSION=1.6.0
-fi
-# set to minimum acceptable version of libtool
-if [ "x$LIBTOOL_VERSION" = "x" ] ; then
- LIBTOOL_VERSION=1.4.2
-fi
-
-
-##################
-# ident function #
-##################
-ident ( ) {
- # extract copyright from header
- __copyright="`grep Copyright $AUTOGEN_SH | head -${HEAD_N}1 | awk '{print $4}'`"
- if [ "x$__copyright" = "x" ] ; then
- __copyright="`date +%Y`"
- fi
-
- # extract version from CVS Id string
- __id="$Id: autogen.sh 33925 2009-03-01 23:27:06Z brlcad $"
- __version="`echo $__id | sed 's/.*\([0-9][0-9][0-9][0-9]\)[-\/]\([0-9][0-9]\)[-\/]\([0-9][0-9]\).*/\1\2\3/'`"
- if [ "x$__version" = "x" ] ; then
- __version=""
- fi
-
- echo "autogen.sh build preparation script by Christopher Sean Morrison"
- echo " + config.guess download patch by Sebastian Pipping (2008-12-03)"
- echo "revised 3-clause BSD-style license, copyright (c) $__copyright"
- echo "script version $__version, ISO/IEC 9945 POSIX shell script"
-}
-
-
-##################
-# USAGE FUNCTION #
-##################
-usage ( ) {
- echo "Usage: $AUTOGEN_SH [-h|--help] [-v|--verbose] [-q|--quiet] [-d|--download] [--version]"
- echo " --help Help on $NAME_OF_AUTOGEN usage"
- echo " --verbose Verbose progress output"
- echo " --quiet Quiet suppressed progress output"
- echo " --download Download the latest config.guess from gnulib"
- echo " --version Only perform GNU Build System version checks"
- echo
- echo "Description: This script will validate that minimum versions of the"
- echo "GNU Build System tools are installed and then run autoreconf for you."
- echo "Should autoreconf fail, manual preparation steps will be run"
- echo "potentially accounting for several common preparation issues. The"
-
- echo "AUTORECONF, AUTOCONF, AUTOMAKE, LIBTOOLIZE, ACLOCAL, AUTOHEADER,"
- echo "PROJECT, & CONFIGURE environment variables and corresponding _OPTIONS"
- echo "variables (e.g. AUTORECONF_OPTIONS) may be used to override the"
- echo "default automatic detection behavior."
- echo
-
- ident
-
- return 0
-}
-
-
-##########################
-# VERSION_ERROR FUNCTION #
-##########################
-version_error ( ) {
- if [ "x$1" = "x" ] ; then
- echo "INTERNAL ERROR: version_error was not provided a version"
- exit 1
- fi
- if [ "x$2" = "x" ] ; then
- echo "INTERNAL ERROR: version_error was not provided an application name"
- exit 1
- fi
- $ECHO
- $ECHO "ERROR: To prepare the ${PROJECT} build system from scratch,"
- $ECHO " at least version $1 of $2 must be installed."
- $ECHO
- $ECHO "$NAME_OF_AUTOGEN does not need to be run on the same machine that will"
- $ECHO "run configure or make. Either the GNU Autotools will need to be installed"
- $ECHO "or upgraded on this system, or $NAME_OF_AUTOGEN must be run on the source"
- $ECHO "code on another system and then transferred to here. -- Cheers!"
- $ECHO
-}
-
-##########################
-# VERSION_CHECK FUNCTION #
-##########################
-version_check ( ) {
- if [ "x$1" = "x" ] ; then
- echo "INTERNAL ERROR: version_check was not provided a minimum version"
- exit 1
- fi
- _min="$1"
- if [ "x$2" = "x" ] ; then
- echo "INTERNAL ERROR: version check was not provided a comparison version"
- exit 1
- fi
- _cur="$2"
-
- # needed to handle versions like 1.10 and 1.4-p6
- _min="`echo ${_min}. | sed 's/[^0-9]/./g' | sed 's/\.\././g'`"
- _cur="`echo ${_cur}. | sed 's/[^0-9]/./g' | sed 's/\.\././g'`"
-
- _min_major="`echo $_min | cut -d. -f1`"
- _min_minor="`echo $_min | cut -d. -f2`"
- _min_patch="`echo $_min | cut -d. -f3`"
-
- _cur_major="`echo $_cur | cut -d. -f1`"
- _cur_minor="`echo $_cur | cut -d. -f2`"
- _cur_patch="`echo $_cur | cut -d. -f3`"
-
- if [ "x$_min_major" = "x" ] ; then
- _min_major=0
- fi
- if [ "x$_min_minor" = "x" ] ; then
- _min_minor=0
- fi
- if [ "x$_min_patch" = "x" ] ; then
- _min_patch=0
- fi
- if [ "x$_cur_minor" = "x" ] ; then
- _cur_major=0
- fi
- if [ "x$_cur_minor" = "x" ] ; then
- _cur_minor=0
- fi
- if [ "x$_cur_patch" = "x" ] ; then
- _cur_patch=0
- fi
-
- $VERBOSE_ECHO "Checking if ${_cur_major}.${_cur_minor}.${_cur_patch} is greater than ${_min_major}.${_min_minor}.${_min_patch}"
-
- if [ $_min_major -lt $_cur_major ] ; then
- return 0
- elif [ $_min_major -eq $_cur_major ] ; then
- if [ $_min_minor -lt $_cur_minor ] ; then
- return 0
- elif [ $_min_minor -eq $_cur_minor ] ; then
- if [ $_min_patch -lt $_cur_patch ] ; then
- return 0
- elif [ $_min_patch -eq $_cur_patch ] ; then
- return 0
- fi
- fi
- fi
- return 1
-}
-
-
-######################################
-# LOCATE_CONFIGURE_TEMPLATE FUNCTION #
-######################################
-locate_configure_template ( ) {
- _pwd="`pwd`"
- if test -f "./configure.ac" ; then
- echo "./configure.ac"
- elif test -f "./configure.in" ; then
- echo "./configure.in"
- elif test -f "$_pwd/configure.ac" ; then
- echo "$_pwd/configure.ac"
- elif test -f "$_pwd/configure.in" ; then
- echo "$_pwd/configure.in"
- elif test -f "$PATH_TO_AUTOGEN/configure.ac" ; then
- echo "$PATH_TO_AUTOGEN/configure.ac"
- elif test -f "$PATH_TO_AUTOGEN/configure.in" ; then
- echo "$PATH_TO_AUTOGEN/configure.in"
- fi
-}
-
-
-##################
-# argument check #
-##################
-ARGS="$*"
-PATH_TO_AUTOGEN="`dirname $0`"
-NAME_OF_AUTOGEN="`basename $0`"
-AUTOGEN_SH="$PATH_TO_AUTOGEN/$NAME_OF_AUTOGEN"
-
-LIBTOOL_M4="${PATH_TO_AUTOGEN}/misc/libtool.m4"
-
-if [ "x$HELP" = "x" ] ; then
- HELP=no
-fi
-if [ "x$QUIET" = "x" ] ; then
- QUIET=no
-fi
-if [ "x$VERBOSE" = "x" ] ; then
- VERBOSE=no
-fi
-if [ "x$VERSION_ONLY" = "x" ] ; then
- VERSION_ONLY=no
-fi
-if [ "x$DOWNLOAD" = "x" ] ; then
- DOWNLOAD=no
-fi
-if [ "x$AUTORECONF_OPTIONS" = "x" ] ; then
- AUTORECONF_OPTIONS="-i -f"
-fi
-if [ "x$AUTOCONF_OPTIONS" = "x" ] ; then
- AUTOCONF_OPTIONS="-f"
-fi
-if [ "x$AUTOMAKE_OPTIONS" = "x" ] ; then
- AUTOMAKE_OPTIONS="-a -c -f"
-fi
-ALT_AUTOMAKE_OPTIONS="-a -c"
-if [ "x$LIBTOOLIZE_OPTIONS" = "x" ] ; then
- LIBTOOLIZE_OPTIONS="--automake -c -f"
-fi
-ALT_LIBTOOLIZE_OPTIONS="--automake --copy --force"
-if [ "x$ACLOCAL_OPTIONS" = "x" ] ; then
- ACLOCAL_OPTIONS=""
-fi
-if [ "x$AUTOHEADER_OPTIONS" = "x" ] ; then
- AUTOHEADER_OPTIONS=""
-fi
-if [ "x$CONFIG_GUESS_URL" = "x" ] ; then
- CONFIG_GUESS_URL="http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;f=build-aux/config.guess;hb=HEAD"
-fi
-for arg in $ARGS ; do
- case "x$arg" in
- x--help) HELP=yes ;;
- x-[hH]) HELP=yes ;;
- x--quiet) QUIET=yes ;;
- x-[qQ]) QUIET=yes ;;
- x--verbose) VERBOSE=yes ;;
- x-[dD]) DOWNLOAD=yes ;;
- x--download) DOWNLOAD=yes ;;
- x-[vV]) VERBOSE=yes ;;
- x--version) VERSION_ONLY=yes ;;
- *)
- echo "Unknown option: $arg"
- echo
- usage
- exit 1
- ;;
- esac
-done
-
-
-#####################
-# environment check #
-#####################
-
-# sanity check before recursions potentially begin
-if [ ! -f "$AUTOGEN_SH" ] ; then
- echo "INTERNAL ERROR: $AUTOGEN_SH does not exist"
- if [ ! "x$0" = "x$AUTOGEN_SH" ] ; then
- echo "INTERNAL ERROR: dirname/basename inconsistency: $0 != $AUTOGEN_SH"
- fi
- exit 1
-fi
-
-# force locale setting to C so things like date output as expected
-LC_ALL=C
-
-# commands that this script expects
-for __cmd in echo head tail pwd ; do
- echo "test" | $__cmd > /dev/null 2>&1
- if [ $? != 0 ] ; then
- echo "INTERNAL ERROR: '${__cmd}' command is required"
- exit 2
- fi
-done
-echo "test" | grep "test" > /dev/null 2>&1
-if test ! x$? = x0 ; then
- echo "INTERNAL ERROR: grep command is required"
- exit 1
-fi
-echo "test" | sed "s/test/test/" > /dev/null 2>&1
-if test ! x$? = x0 ; then
- echo "INTERNAL ERROR: sed command is required"
- exit 1
-fi
-
-
-# determine the behavior of echo
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-# determine the behavior of head
-case "x`echo 'head' | head -n 1 2>&1`" in
- *xhead*) HEAD_N="n " ;;
- *) HEAD_N="" ;;
-esac
-
-# determine the behavior of tail
-case "x`echo 'tail' | tail -n 1 2>&1`" in
- *xtail*) TAIL_N="n " ;;
- *) TAIL_N="" ;;
-esac
-
-VERBOSE_ECHO=:
-ECHO=:
-if [ "x$QUIET" = "xyes" ] ; then
- if [ "x$VERBOSE" = "xyes" ] ; then
- echo "Verbose output quelled by quiet option. Further output disabled."
- fi
-else
- ECHO=echo
- if [ "x$VERBOSE" = "xyes" ] ; then
- echo "Verbose output enabled"
- VERBOSE_ECHO=echo
- fi
-fi
-
-
-# allow a recursive run to disable further recursions
-if [ "x$RUN_RECURSIVE" = "x" ] ; then
- RUN_RECURSIVE=yes
-fi
-
-
-################################################
-# check for help arg and bypass version checks #
-################################################
-if [ "x`echo $ARGS | sed 's/.*[hH][eE][lL][pP].*/help/'`" = "xhelp" ] ; then
- HELP=yes
-fi
-if [ "x$HELP" = "xyes" ] ; then
- usage
- $ECHO "---"
- $ECHO "Help was requested. No preparation or configuration will be performed."
- exit 0
-fi
-
-
-#######################
-# set up signal traps #
-#######################
-untrap_abnormal ( ) {
- for sig in 1 2 13 15; do
- trap - $sig
- done
-}
-
-# do this cleanup whenever we exit.
-trap '
- # start from the root
- if test -d "$START_PATH" ; then
- cd "$START_PATH"
- fi
-
- # restore/delete backup files
- if test "x$PFC_INIT" = "x1" ; then
- recursive_restore
- fi
-' 0
-
-# trap SIGHUP (1), SIGINT (2), SIGPIPE (13), SIGTERM (15)
-for sig in 1 2 13 15; do
- trap '
- $ECHO ""
- $ECHO "Aborting $NAME_OF_AUTOGEN: caught signal '$sig'"
-
- # start from the root
- if test -d "$START_PATH" ; then
- cd "$START_PATH"
- fi
-
- # clean up on abnormal exit
- $VERBOSE_ECHO "rm -rf autom4te.cache"
- rm -rf autom4te.cache
-
- if test -f "acinclude.m4.$$.backup" ; then
- $VERBOSE_ECHO "cat acinclude.m4.$$.backup > acinclude.m4"
- chmod u+w acinclude.m4
- cat acinclude.m4.$$.backup > acinclude.m4
-
- $VERBOSE_ECHO "rm -f acinclude.m4.$$.backup"
- rm -f acinclude.m4.$$.backup
- fi
-
- { (exit 1); exit 1; }
-' $sig
-done
-
-
-#############################
-# look for a configure file #
-#############################
-if [ "x$CONFIGURE" = "x" ] ; then
- CONFIGURE="`locate_configure_template`"
- if [ ! "x$CONFIGURE" = "x" ] ; then
- $VERBOSE_ECHO "Found a configure template: $CONFIGURE"
- fi
-else
- $ECHO "Using CONFIGURE environment variable override: $CONFIGURE"
-fi
-if [ "x$CONFIGURE" = "x" ] ; then
- if [ "x$VERSION_ONLY" = "xyes" ] ; then
- CONFIGURE=/dev/null
- else
- $ECHO
- $ECHO "A configure.ac or configure.in file could not be located implying"
- $ECHO "that the GNU Build System is at least not used in this directory. In"
- $ECHO "any case, there is nothing to do here without one of those files."
- $ECHO
- $ECHO "ERROR: No configure.in or configure.ac file found in `pwd`"
- exit 1
- fi
-fi
-
-####################
-# get project name #
-####################
-if [ "x$PROJECT" = "x" ] ; then
- PROJECT="`grep AC_INIT $CONFIGURE | grep -v '.*#.*AC_INIT' | tail -${TAIL_N}1 | sed 's/^[ ]*AC_INIT(\([^,)]*\).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`"
- if [ "x$PROJECT" = "xAC_INIT" ] ; then
- # projects might be using the older/deprecated arg-less AC_INIT .. look for AM_INIT_AUTOMAKE instead
- PROJECT="`grep AM_INIT_AUTOMAKE $CONFIGURE | grep -v '.*#.*AM_INIT_AUTOMAKE' | tail -${TAIL_N}1 | sed 's/^[ ]*AM_INIT_AUTOMAKE(\([^,)]*\).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`"
- fi
- if [ "x$PROJECT" = "xAM_INIT_AUTOMAKE" ] ; then
- PROJECT="project"
- fi
- if [ "x$PROJECT" = "x" ] ; then
- PROJECT="project"
- fi
-else
- $ECHO "Using PROJECT environment variable override: $PROJECT"
-fi
-$ECHO "Preparing the $PROJECT build system...please wait"
-$ECHO
-
-
-########################
-# check for autoreconf #
-########################
-HAVE_AUTORECONF=no
-if [ "x$AUTORECONF" = "x" ] ; then
- for AUTORECONF in autoreconf ; do
- $VERBOSE_ECHO "Checking autoreconf version: $AUTORECONF --version"
- $AUTORECONF --version > /dev/null 2>&1
- if [ $? = 0 ] ; then
- HAVE_AUTORECONF=yes
- break
- fi
- done
-else
- HAVE_AUTORECONF=yes
- $ECHO "Using AUTORECONF environment variable override: $AUTORECONF"
-fi
-
-
-##########################
-# autoconf version check #
-##########################
-_acfound=no
-if [ "x$AUTOCONF" = "x" ] ; then
- for AUTOCONF in autoconf ; do
- $VERBOSE_ECHO "Checking autoconf version: $AUTOCONF --version"
- $AUTOCONF --version > /dev/null 2>&1
- if [ $? = 0 ] ; then
- _acfound=yes
- break
- fi
- done
-else
- _acfound=yes
- $ECHO "Using AUTOCONF environment variable override: $AUTOCONF"
-fi
-
-_report_error=no
-if [ ! "x$_acfound" = "xyes" ] ; then
- $ECHO "ERROR: Unable to locate GNU Autoconf."
- _report_error=yes
-else
- _version="`$AUTOCONF --version | head -${HEAD_N}1 | sed 's/[^0-9]*\([0-9\.][0-9\.]*\)/\1/'`"
- if [ "x$_version" = "x" ] ; then
- _version="0.0.0"
- fi
- $ECHO "Found GNU Autoconf version $_version"
- version_check "$AUTOCONF_VERSION" "$_version"
- if [ $? -ne 0 ] ; then
- _report_error=yes
- fi
-fi
-if [ "x$_report_error" = "xyes" ] ; then
- version_error "$AUTOCONF_VERSION" "GNU Autoconf"
- exit 1
-fi
-
-
-##########################
-# automake version check #
-##########################
-_amfound=no
-if [ "x$AUTOMAKE" = "x" ] ; then
- for AUTOMAKE in automake ; do
- $VERBOSE_ECHO "Checking automake version: $AUTOMAKE --version"
- $AUTOMAKE --version > /dev/null 2>&1
- if [ $? = 0 ] ; then
- _amfound=yes
- break
- fi
- done
-else
- _amfound=yes
- $ECHO "Using AUTOMAKE environment variable override: $AUTOMAKE"
-fi
-
-
-_report_error=no
-if [ ! "x$_amfound" = "xyes" ] ; then
- $ECHO
- $ECHO "ERROR: Unable to locate GNU Automake."
- _report_error=yes
-else
- _version="`$AUTOMAKE --version | head -${HEAD_N}1 | sed 's/[^0-9]*\([0-9\.][0-9\.]*\)/\1/'`"
- if [ "x$_version" = "x" ] ; then
- _version="0.0.0"
- fi
- $ECHO "Found GNU Automake version $_version"
- version_check "$AUTOMAKE_VERSION" "$_version"
- if [ $? -ne 0 ] ; then
- _report_error=yes
- fi
-fi
-if [ "x$_report_error" = "xyes" ] ; then
- version_error "$AUTOMAKE_VERSION" "GNU Automake"
- exit 1
-fi
-
-
-########################
-# check for libtoolize #
-########################
-HAVE_LIBTOOLIZE=yes
-HAVE_ALT_LIBTOOLIZE=no
-_ltfound=no
-if [ "x$LIBTOOLIZE" = "x" ] ; then
- LIBTOOLIZE=libtoolize
- $VERBOSE_ECHO "Checking libtoolize version: $LIBTOOLIZE --version"
- $LIBTOOLIZE --version > /dev/null 2>&1
- if [ ! $? = 0 ] ; then
- HAVE_LIBTOOLIZE=no
- $ECHO
- if [ "x$HAVE_AUTORECONF" = "xno" ] ; then
- $ECHO "Warning: libtoolize does not appear to be available."
- else
- $ECHO "Warning: libtoolize does not appear to be available. This means that"
- $ECHO "the automatic build preparation via autoreconf will probably not work."
- $ECHO "Preparing the build by running each step individually, however, should"
- $ECHO "work and will be done automatically for you if autoreconf fails."
- fi
-
- # look for some alternates
- for tool in glibtoolize libtoolize15 libtoolize14 libtoolize13 ; do
- $VERBOSE_ECHO "Checking libtoolize alternate: $tool --version"
- _glibtoolize="`$tool --version > /dev/null 2>&1`"
- if [ $? = 0 ] ; then
- $VERBOSE_ECHO "Found $tool --version"
- _glti="`which $tool`"
- if [ "x$_glti" = "x" ] ; then
- $VERBOSE_ECHO "Cannot find $tool with which"
- continue;
- fi
- if test ! -f "$_glti" ; then
- $VERBOSE_ECHO "Cannot use $tool, $_glti is not a file"
- continue;
- fi
- _gltidir="`dirname $_glti`"
- if [ "x$_gltidir" = "x" ] ; then
- $VERBOSE_ECHO "Cannot find $tool path with dirname of $_glti"
- continue;
- fi
- if test ! -d "$_gltidir" ; then
- $VERBOSE_ECHO "Cannot use $tool, $_gltidir is not a directory"
- continue;
- fi
- HAVE_ALT_LIBTOOLIZE=yes
- LIBTOOLIZE="$tool"
- $ECHO
- $ECHO "Fortunately, $tool was found which means that your system may simply"
- $ECHO "have a non-standard or incomplete GNU Autotools install. If you have"
- $ECHO "sufficient system access, it may be possible to quell this warning by"
- $ECHO "running:"
- $ECHO
- sudo -V > /dev/null 2>&1
- if [ $? = 0 ] ; then
- $ECHO " sudo ln -s $_glti $_gltidir/libtoolize"
- $ECHO
- else
- $ECHO " ln -s $_glti $_gltidir/libtoolize"
- $ECHO
- $ECHO "Run that as root or with proper permissions to the $_gltidir directory"
- $ECHO
- fi
- _ltfound=yes
- break
- fi
- done
- else
- _ltfound=yes
- fi
-else
- _ltfound=yes
- $ECHO "Using LIBTOOLIZE environment variable override: $LIBTOOLIZE"
-fi
-
-
-############################
-# libtoolize version check #
-############################
-_report_error=no
-if [ ! "x$_ltfound" = "xyes" ] ; then
- $ECHO
- $ECHO "ERROR: Unable to locate GNU Libtool."
- _report_error=yes
-else
- _version="`$LIBTOOLIZE --version | head -${HEAD_N}1 | sed 's/[^0-9]*\([0-9\.][0-9\.]*\)/\1/'`"
- if [ "x$_version" = "x" ] ; then
- _version="0.0.0"
- fi
- $ECHO "Found GNU Libtool version $_version"
- version_check "$LIBTOOL_VERSION" "$_version"
- if [ $? -ne 0 ] ; then
- _report_error=yes
- fi
-fi
-if [ "x$_report_error" = "xyes" ] ; then
- version_error "$LIBTOOL_VERSION" "GNU Libtool"
- exit 1
-fi
-
-
-#####################
-# check for aclocal #
-#####################
-if [ "x$ACLOCAL" = "x" ] ; then
- for ACLOCAL in aclocal ; do
- $VERBOSE_ECHO "Checking aclocal version: $ACLOCAL --version"
- $ACLOCAL --version > /dev/null 2>&1
- if [ $? = 0 ] ; then
- break
- fi
- done
-else
- $ECHO "Using ACLOCAL environment variable override: $ACLOCAL"
-fi
-
-
-########################
-# check for autoheader #
-########################
-if [ "x$AUTOHEADER" = "x" ] ; then
- for AUTOHEADER in autoheader ; do
- $VERBOSE_ECHO "Checking autoheader version: $AUTOHEADER --version"
- $AUTOHEADER --version > /dev/null 2>&1
- if [ $? = 0 ] ; then
- break
- fi
- done
-else
- $ECHO "Using AUTOHEADER environment variable override: $AUTOHEADER"
-fi
-
-
-#########################
-# check if version only #
-#########################
-$VERBOSE_ECHO "Checking whether to only output version information"
-if [ "x$VERSION_ONLY" = "xyes" ] ; then
- $ECHO
- ident
- $ECHO "---"
- $ECHO "Version requested. No preparation or configuration will be performed."
- exit 0
-fi
-
-
-#################################
-# PROTECT_FROM_CLOBBER FUNCTION #
-#################################
-protect_from_clobber ( ) {
- PFC_INIT=1
-
- # protect COPYING & INSTALL from overwrite by automake. the
- # automake force option will (inappropriately) ignore the existing
- # contents of a COPYING and/or INSTALL files (depending on the
- # version) instead of just forcing *missing* files like it does
- # for AUTHORS, NEWS, and README. this is broken but extremely
- # prevalent behavior, so we protect against it by keeping a backup
- # of the file that can later be restored.
-
- for file in COPYING INSTALL ; do
- if test -f ${file} ; then
- if test -f ${file}.$$.protect_from_automake.backup ; then
- $VERBOSE_ECHO "Already backed up ${file} in `pwd`"
- else
- $VERBOSE_ECHO "Backing up ${file} in `pwd`"
- $VERBOSE_ECHO "cp -p ${file} ${file}.$$.protect_from_automake.backup"
- cp -p ${file} ${file}.$$.protect_from_automake.backup
- fi
- fi
- done
-}
-
-
-##############################
-# RECURSIVE_PROTECT FUNCTION #
-##############################
-recursive_protect ( ) {
-
- # for projects using recursive configure, run the build
- # preparation steps for the subdirectories. this function assumes
- # START_PATH was set to pwd before recursion begins so that
- # relative paths work.
-
- # git 'r done, protect COPYING and INSTALL from being clobbered
- protect_from_clobber
-
- if test -d autom4te.cache ; then
- $VERBOSE_ECHO "Found an autom4te.cache directory, deleting it"
- $VERBOSE_ECHO "rm -rf autom4te.cache"
- rm -rf autom4te.cache
- fi
-
- # find configure template
- _configure="`locate_configure_template`"
- if [ "x$_configure" = "x" ] ; then
- return
- fi
- # $VERBOSE_ECHO "Looking for configure template found `pwd`/$_configure"
-
- # look for subdirs
- # $VERBOSE_ECHO "Looking for subdirs in `pwd`"
- _det_config_subdirs="`grep AC_CONFIG_SUBDIRS $_configure | grep -v '.*#.*AC_CONFIG_SUBDIRS' | sed 's/^[ ]*AC_CONFIG_SUBDIRS(\(.*\)).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`"
- CHECK_DIRS=""
- for dir in $_det_config_subdirs ; do
- if test -d "`pwd`/$dir" ; then
- CHECK_DIRS="$CHECK_DIRS \"`pwd`/$dir\""
- fi
- done
-
- # process subdirs
- if [ ! "x$CHECK_DIRS" = "x" ] ; then
- $VERBOSE_ECHO "Recursively scanning the following directories:"
- $VERBOSE_ECHO " $CHECK_DIRS"
- for dir in $CHECK_DIRS ; do
- $VERBOSE_ECHO "Protecting files from automake in $dir"
- cd "$START_PATH"
- eval "cd $dir"
-
- # recursively git 'r done
- recursive_protect
- done
- fi
-} # end of recursive_protect
-
-
-#############################
-# RESTORE_CLOBBERED FUNCION #
-#############################
-restore_clobbered ( ) {
-
- # The automake (and autoreconf by extension) -f/--force-missing
- # option may overwrite COPYING and INSTALL even if they do exist.
- # Here we restore the files if necessary.
-
- spacer=no
-
- for file in COPYING INSTALL ; do
- if test -f ${file}.$$.protect_from_automake.backup ; then
- if test -f ${file} ; then
- # compare entire content, restore if needed
- if test "x`cat ${file}`" != "x`cat ${file}.$$.protect_from_automake.backup`" ; then
- if test "x$spacer" = "xno" ; then
- $VERBOSE_ECHO
- spacer=yes
- fi
- # restore the backup
- $VERBOSE_ECHO "Restoring ${file} from backup (automake -f likely clobbered it)"
- $VERBOSE_ECHO "rm -f ${file}"
- rm -f ${file}
- $VERBOSE_ECHO "mv ${file}.$$.protect_from_automake.backup ${file}"
- mv ${file}.$$.protect_from_automake.backup ${file}
- fi # check contents
- elif test -f ${file}.$$.protect_from_automake.backup ; then
- $VERBOSE_ECHO "mv ${file}.$$.protect_from_automake.backup ${file}"
- mv ${file}.$$.protect_from_automake.backup ${file}
- fi # -f ${file}
-
- # just in case
- $VERBOSE_ECHO "rm -f ${file}.$$.protect_from_automake.backup"
- rm -f ${file}.$$.protect_from_automake.backup
- fi # -f ${file}.$$.protect_from_automake.backup
- done
-
- CONFIGURE="`locate_configure_template`"
- if [ "x$CONFIGURE" = "x" ] ; then
- return
- fi
-
- _aux_dir="`grep AC_CONFIG_AUX_DIR $CONFIGURE | grep -v '.*#.*AC_CONFIG_AUX_DIR' | tail -${TAIL_N}1 | sed 's/^[ ]*AC_CONFIG_AUX_DIR(\(.*\)).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`"
- if test ! -d "$_aux_dir" ; then
- _aux_dir=.
- fi
-
- for file in config.guess config.sub ltmain.sh ; do
- if test -f "${_aux_dir}/${file}" ; then
- $VERBOSE_ECHO "rm -f \"${_aux_dir}/${file}.backup\""
- rm -f "${_aux_dir}/${file}.backup"
- fi
- done
-} # end of restore_clobbered
-
-
-##############################
-# RECURSIVE_RESTORE FUNCTION #
-##############################
-recursive_restore ( ) {
-
- # restore COPYING and INSTALL from backup if they were clobbered
- # for each directory recursively.
-
- # git 'r undone
- restore_clobbered
-
- # find configure template
- _configure="`locate_configure_template`"
- if [ "x$_configure" = "x" ] ; then
- return
- fi
-
- # look for subdirs
- _det_config_subdirs="`grep AC_CONFIG_SUBDIRS $_configure | grep -v '.*#.*AC_CONFIG_SUBDIRS' | sed 's/^[ ]*AC_CONFIG_SUBDIRS(\(.*\)).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`"
- CHECK_DIRS=""
- for dir in $_det_config_subdirs ; do
- if test -d "`pwd`/$dir" ; then
- CHECK_DIRS="$CHECK_DIRS \"`pwd`/$dir\""
- fi
- done
-
- # process subdirs
- if [ ! "x$CHECK_DIRS" = "x" ] ; then
- $VERBOSE_ECHO "Recursively scanning the following directories:"
- $VERBOSE_ECHO " $CHECK_DIRS"
- for dir in $CHECK_DIRS ; do
- $VERBOSE_ECHO "Checking files for automake damage in $dir"
- cd "$START_PATH"
- eval "cd $dir"
-
- # recursively git 'r undone
- recursive_restore
- done
- fi
-} # end of recursive_restore
-
-
-#######################
-# INITIALIZE FUNCTION #
-#######################
-initialize ( ) {
-
- # this routine performs a variety of directory-specific
- # initializations. some are sanity checks, some are preventive,
- # and some are necessary setup detection.
- #
- # this function sets:
- # CONFIGURE
- # SEARCH_DIRS
- # CONFIG_SUBDIRS
-
- ##################################
- # check for a configure template #
- ##################################
- CONFIGURE="`locate_configure_template`"
- if [ "x$CONFIGURE" = "x" ] ; then
- $ECHO
- $ECHO "A configure.ac or configure.in file could not be located implying"
- $ECHO "that the GNU Build System is at least not used in this directory. In"
- $ECHO "any case, there is nothing to do here without one of those files."
- $ECHO
- $ECHO "ERROR: No configure.in or configure.ac file found in `pwd`"
- exit 1
- fi
-
- #####################
- # detect an aux dir #
- #####################
- _aux_dir="`grep AC_CONFIG_AUX_DIR $CONFIGURE | grep -v '.*#.*AC_CONFIG_AUX_DIR' | tail -${TAIL_N}1 | sed 's/^[ ]*AC_CONFIG_AUX_DIR(\(.*\)).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`"
- if test ! -d "$_aux_dir" ; then
- _aux_dir=.
- else
- $VERBOSE_ECHO "Detected auxillary directory: $_aux_dir"
- fi
-
- ################################
- # detect a recursive configure #
- ################################
- CONFIG_SUBDIRS=""
- _det_config_subdirs="`grep AC_CONFIG_SUBDIRS $CONFIGURE | grep -v '.*#.*AC_CONFIG_SUBDIRS' | sed 's/^[ ]*AC_CONFIG_SUBDIRS(\(.*\)).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`"
- for dir in $_det_config_subdirs ; do
- if test -d "`pwd`/$dir" ; then
- $VERBOSE_ECHO "Detected recursive configure directory: `pwd`/$dir"
- CONFIG_SUBDIRS="$CONFIG_SUBDIRS `pwd`/$dir"
- fi
- done
-
- ###########################################################
- # make sure certain required files exist for GNU projects #
- ###########################################################
- _marker_found=""
- _marker_found_message_intro='Detected non-GNU marker "'
- _marker_found_message_mid='" in '
- for marker in foreign cygnus ; do
- _marker_found_message=${_marker_found_message_intro}${marker}${_marker_found_message_mid}
- _marker_found="`grep 'AM_INIT_AUTOMAKE.*'${marker} $CONFIGURE`"
- if [ ! "x$_marker_found" = "x" ] ; then
- $VERBOSE_ECHO "${_marker_found_message}`basename \"$CONFIGURE\"`"
- break
- fi
- if test -f "`dirname \"$CONFIGURE\"/Makefile.am`" ; then
- _marker_found="`grep 'AUTOMAKE_OPTIONS.*'${marker} Makefile.am`"
- if [ ! "x$_marker_found" = "x" ] ; then
- $VERBOSE_ECHO "${_marker_found_message}Makefile.am"
- break
- fi
- fi
- done
- if [ "x${_marker_found}" = "x" ] ; then
- _suggest_foreign=no
- for file in AUTHORS COPYING ChangeLog INSTALL NEWS README ; do
- if [ ! -f $file ] ; then
- $VERBOSE_ECHO "Touching ${file} since it does not exist"
- _suggest_foreign=yes
- touch $file
- fi
- done
-
- if [ "x${_suggest_foreign}" = "xyes" ] ; then
- $ECHO
- $ECHO "Warning: Several files expected of projects that conform to the GNU"
- $ECHO "coding standards were not found. The files were automatically added"
- $ECHO "for you since you do not have a 'foreign' declaration specified."
- $ECHO
- $ECHO "Considered adding 'foreign' to AM_INIT_AUTOMAKE in `basename \"$CONFIGURE\"`"
- if test -f "`dirname \"$CONFIGURE\"/Makefile.am`" ; then
- $ECHO "or to AUTOMAKE_OPTIONS in your top-level Makefile.am file."
- fi
- $ECHO
- fi
- fi
-
- ##################################################
- # make sure certain generated files do not exist #
- ##################################################
- for file in config.guess config.sub ltmain.sh ; do
- if test -f "${_aux_dir}/${file}" ; then
- $VERBOSE_ECHO "mv -f \"${_aux_dir}/${file}\" \"${_aux_dir}/${file}.backup\""
- mv -f "${_aux_dir}/${file}" "${_aux_dir}/${file}.backup"
- fi
- done
-
- ############################
- # search alternate m4 dirs #
- ############################
- SEARCH_DIRS=""
- for dir in m4 ; do
- if [ -d $dir ] ; then
- $VERBOSE_ECHO "Found extra aclocal search directory: $dir"
- SEARCH_DIRS="$SEARCH_DIRS -I $dir"
- fi
- done
-
- ######################################
- # remove any previous build products #
- ######################################
- if test -d autom4te.cache ; then
- $VERBOSE_ECHO "Found an autom4te.cache directory, deleting it"
- $VERBOSE_ECHO "rm -rf autom4te.cache"
- rm -rf autom4te.cache
- fi
-# tcl/tk (and probably others) have a customized aclocal.m4, so can't delete it
-# if test -f aclocal.m4 ; then
-# $VERBOSE_ECHO "Found an aclocal.m4 file, deleting it"
-# $VERBOSE_ECHO "rm -f aclocal.m4"
-# rm -f aclocal.m4
-# fi
-
-} # end of initialize()
-
-
-##############
-# initialize #
-##############
-
-# stash path
-START_PATH="`pwd`"
-
-# Before running autoreconf or manual steps, some prep detection work
-# is necessary or useful. Only needs to occur once per directory, but
-# does need to traverse the entire subconfigure hierarchy to protect
-# files from being clobbered even by autoreconf.
-recursive_protect
-
-# start from where we started
-cd "$START_PATH"
-
-# get ready to process
-initialize
-
-
-#########################################
-# DOWNLOAD_GNULIB_CONFIG_GUESS FUNCTION #
-#########################################
-
-# TODO - should make sure wget/curl exist and/or work before trying to
-# use them.
-
-download_gnulib_config_guess () {
- # abuse gitweb to download gnulib's latest config.guess via HTTP
- config_guess_temp="config.guess.$$.download"
- ret=1
- for __cmd in wget curl fetch ; do
- $VERBOSE_ECHO "Checking for command ${__cmd}"
- ${__cmd} --version > /dev/null 2>&1
- ret=$?
- if [ ! $ret = 0 ] ; then
- continue
- fi
-
- __cmd_version=`${__cmd} --version | head -n 1 | sed -e 's/^[^0-9]\+//' -e 's/ .*//'`
- $VERBOSE_ECHO "Found ${__cmd} ${__cmd_version}"
-
- opts=""
- case ${__cmd} in
- wget)
- opts="-O"
- ;;
- curl)
- opts="-o"
- ;;
- fetch)
- opts="-t 5 -f"
- ;;
- esac
-
- $VERBOSE_ECHO "Running $__cmd \"${CONFIG_GUESS_URL}\" $opts \"${config_guess_temp}\""
- eval "$__cmd \"${CONFIG_GUESS_URL}\" $opts \"${config_guess_temp}\"" > /dev/null 2>&1
- if [ $? = 0 ] ; then
- mv -f "${config_guess_temp}" ${_aux_dir}/config.guess
- ret=0
- break
- fi
- done
-
- if [ ! $ret = 0 ] ; then
- $ECHO "Warning: config.guess download failed from: $CONFIG_GUESS_URL"
- rm -f "${config_guess_temp}"
- fi
-}
-
-
-##############################
-# LIBTOOLIZE_NEEDED FUNCTION #
-##############################
-libtoolize_needed () {
- ret=1 # means no, don't need libtoolize
- for feature in AC_PROG_LIBTOOL AM_PROG_LIBTOOL LT_INIT ; do
- $VERBOSE_ECHO "Searching for $feature in $CONFIGURE"
- found="`grep \"^$feature.*\" $CONFIGURE`"
- if [ ! "x$found" = "x" ] ; then
- ret=0 # means yes, need to run libtoolize
- break
- fi
- done
- return ${ret}
-}
-
-
-
-############################################
-# prepare build via autoreconf or manually #
-############################################
-reconfigure_manually=no
-if [ "x$HAVE_AUTORECONF" = "xyes" ] ; then
- $ECHO
- $ECHO $ECHO_N "Automatically preparing build ... $ECHO_C"
-
- $VERBOSE_ECHO "$AUTORECONF $SEARCH_DIRS $AUTORECONF_OPTIONS"
- autoreconf_output="`$AUTORECONF $SEARCH_DIRS $AUTORECONF_OPTIONS 2>&1`"
- ret=$?
- $VERBOSE_ECHO "$autoreconf_output"
-
- if [ ! $ret = 0 ] ; then
- if [ "x$HAVE_ALT_LIBTOOLIZE" = "xyes" ] ; then
- if [ ! "x`echo \"$autoreconf_output\" | grep libtoolize | grep \"No such file or directory\"`" = "x" ] ; then
- $ECHO
- $ECHO "Warning: autoreconf failed but due to what is usually a common libtool"
- $ECHO "misconfiguration issue. This problem is encountered on systems that"
- $ECHO "have installed libtoolize under a different name without providing a"
- $ECHO "symbolic link or without setting the LIBTOOLIZE environment variable."
- $ECHO
- $ECHO "Restarting the preparation steps with LIBTOOLIZE set to $LIBTOOLIZE"
-
- export LIBTOOLIZE
- RUN_RECURSIVE=no
- export RUN_RECURSIVE
- untrap_abnormal
-
- $VERBOSE_ECHO sh $AUTOGEN_SH "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"
- sh "$AUTOGEN_SH" "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"
- exit $?
- fi
- fi
-
- $ECHO "Warning: $AUTORECONF failed"
-
- if test -f ltmain.sh ; then
- $ECHO "libtoolize being run by autoreconf is not creating ltmain.sh in the auxillary directory like it should"
- fi
-
- $ECHO "Attempting to run the preparation steps individually"
- reconfigure_manually=yes
- else
- if [ "x$DOWNLOAD" = "xyes" ] ; then
- if libtoolize_needed ; then
- download_gnulib_config_guess
- fi
- fi
- fi
-else
- reconfigure_manually=yes
-fi
-
-
-############################
-# LIBTOOL_FAILURE FUNCTION #
-############################
-libtool_failure ( ) {
-
- # libtool is rather error-prone in comparison to the other
- # autotools and this routine attempts to compensate for some
- # common failures. the output after a libtoolize failure is
- # parsed for an error related to AC_PROG_LIBTOOL and if found, we
- # attempt to inject a project-provided libtool.m4 file.
-
- _autoconf_output="$1"
-
- if [ "x$RUN_RECURSIVE" = "xno" ] ; then
- # we already tried the libtool.m4, don't try again
- return 1
- fi
-
- if test -f "$LIBTOOL_M4" ; then
- found_libtool="`$ECHO $_autoconf_output | grep AC_PROG_LIBTOOL`"
- if test ! "x$found_libtool" = "x" ; then
- if test -f acinclude.m4 ; then
- rm -f acinclude.m4.$$.backup
- $VERBOSE_ECHO "cat acinclude.m4 > acinclude.m4.$$.backup"
- cat acinclude.m4 > acinclude.m4.$$.backup
- fi
- $VERBOSE_ECHO "cat \"$LIBTOOL_M4\" >> acinclude.m4"
- chmod u+w acinclude.m4
- cat "$LIBTOOL_M4" >> acinclude.m4
-
- # don't keep doing this
- RUN_RECURSIVE=no
- export RUN_RECURSIVE
- untrap_abnormal
-
- $ECHO
- $ECHO "Restarting the preparation steps with libtool macros in acinclude.m4"
- $VERBOSE_ECHO sh $AUTOGEN_SH "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"
- sh "$AUTOGEN_SH" "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"
- exit $?
- fi
- fi
-}
-
-
-###########################
-# MANUAL_AUTOGEN FUNCTION #
-###########################
-manual_autogen ( ) {
-
- ##################################################
- # Manual preparation steps taken are as follows: #
- # aclocal [-I m4] #
- # libtoolize --automake -c -f #
- # aclocal [-I m4] #
- # autoconf -f #
- # autoheader #
- # automake -a -c -f #
- ##################################################
-
- ###########
- # aclocal #
- ###########
- $VERBOSE_ECHO "$ACLOCAL $SEARCH_DIRS $ACLOCAL_OPTIONS"
- aclocal_output="`$ACLOCAL $SEARCH_DIRS $ACLOCAL_OPTIONS 2>&1`"
- ret=$?
- $VERBOSE_ECHO "$aclocal_output"
- if [ ! $ret = 0 ] ; then $ECHO "ERROR: $ACLOCAL failed" && exit 2 ; fi
-
- ##############
- # libtoolize #
- ##############
- if libtoolize_needed ; then
- if [ "x$HAVE_LIBTOOLIZE" = "xyes" ] ; then
- $VERBOSE_ECHO "$LIBTOOLIZE $LIBTOOLIZE_OPTIONS"
- libtoolize_output="`$LIBTOOLIZE $LIBTOOLIZE_OPTIONS 2>&1`"
- ret=$?
- $VERBOSE_ECHO "$libtoolize_output"
-
- if [ ! $ret = 0 ] ; then $ECHO "ERROR: $LIBTOOLIZE failed" && exit 2 ; fi
- else
- if [ "x$HAVE_ALT_LIBTOOLIZE" = "xyes" ] ; then
- $VERBOSE_ECHO "$LIBTOOLIZE $ALT_LIBTOOLIZE_OPTIONS"
- libtoolize_output="`$LIBTOOLIZE $ALT_LIBTOOLIZE_OPTIONS 2>&1`"
- ret=$?
- $VERBOSE_ECHO "$libtoolize_output"
-
- if [ ! $ret = 0 ] ; then $ECHO "ERROR: $LIBTOOLIZE failed" && exit 2 ; fi
- fi
- fi
-
- ###########
- # aclocal #
- ###########
- # re-run again as instructed by libtoolize
- $VERBOSE_ECHO "$ACLOCAL $SEARCH_DIRS $ACLOCAL_OPTIONS"
- aclocal_output="`$ACLOCAL $SEARCH_DIRS $ACLOCAL_OPTIONS 2>&1`"
- ret=$?
- $VERBOSE_ECHO "$aclocal_output"
-
- # libtoolize might put ltmain.sh in the wrong place
- if test -f ltmain.sh ; then
- if test ! -f "${_aux_dir}/ltmain.sh" ; then
- $ECHO
- $ECHO "Warning: $LIBTOOLIZE is creating ltmain.sh in the wrong directory"
- $ECHO
- $ECHO "Fortunately, the problem can be worked around by simply copying the"
- $ECHO "file to the appropriate location (${_aux_dir}/). This has been done for you."
- $ECHO
- $VERBOSE_ECHO "cp -p ltmain.sh \"${_aux_dir}/ltmain.sh\""
- cp -p ltmain.sh "${_aux_dir}/ltmain.sh"
- $ECHO $ECHO_N "Continuing build preparation ... $ECHO_C"
- fi
- fi # ltmain.sh
-
- if [ "x$DOWNLOAD" = "xyes" ] ; then
- download_gnulib_config_guess
- fi
- fi # libtoolize_needed
-
- ############
- # autoconf #
- ############
- $VERBOSE_ECHO
- $VERBOSE_ECHO "$AUTOCONF $AUTOCONF_OPTIONS"
- autoconf_output="`$AUTOCONF $AUTOCONF_OPTIONS 2>&1`"
- ret=$?
- $VERBOSE_ECHO "$autoconf_output"
-
- if [ ! $ret = 0 ] ; then
- # retry without the -f and check for usage of macros that are too new
- ac2_59_macros="AC_C_RESTRICT AC_INCLUDES_DEFAULT AC_LANG_ASSERT AC_LANG_WERROR AS_SET_CATFILE"
- ac2_55_macros="AC_COMPILER_IFELSE AC_FUNC_MBRTOWC AC_HEADER_STDBOOL AC_LANG_CONFTEST AC_LANG_SOURCE AC_LANG_PROGRAM AC_LANG_CALL AC_LANG_FUNC_TRY_LINK AC_MSG_FAILURE AC_PREPROC_IFELSE"
- ac2_54_macros="AC_C_BACKSLASH_A AC_CONFIG_LIBOBJ_DIR AC_GNU_SOURCE AC_PROG_EGREP AC_PROG_FGREP AC_REPLACE_FNMATCH AC_FUNC_FNMATCH_GNU AC_FUNC_REALLOC AC_TYPE_MBSTATE_T"
-
- macros_to_search=""
- ac_major="`echo ${AUTOCONF_VERSION}. | cut -d. -f1 | sed 's/[^0-9]//g'`"
- ac_minor="`echo ${AUTOCONF_VERSION}. | cut -d. -f2 | sed 's/[^0-9]//g'`"
-
- if [ $ac_major -lt 2 ] ; then
- macros_to_search="$ac2_59_macros $ac2_55_macros $ac2_54_macros"
- else
- if [ $ac_minor -lt 54 ] ; then
- macros_to_search="$ac2_59_macros $ac2_55_macros $ac2_54_macros"
- elif [ $ac_minor -lt 55 ] ; then
- macros_to_search="$ac2_59_macros $ac2_55_macros"
- elif [ $ac_minor -lt 59 ] ; then
- macros_to_search="$ac2_59_macros"
- fi
- fi
-
- configure_ac_macros=__none__
- for feature in $macros_to_search ; do
- $VERBOSE_ECHO "Searching for $feature in $CONFIGURE"
- found="`grep \"^$feature.*\" $CONFIGURE`"
- if [ ! "x$found" = "x" ] ; then
- if [ "x$configure_ac_macros" = "x__none__" ] ; then
- configure_ac_macros="$feature"
- else
- configure_ac_macros="$feature $configure_ac_macros"
- fi
- fi
- done
- if [ ! "x$configure_ac_macros" = "x__none__" ] ; then
- $ECHO
- $ECHO "Warning: Unsupported macros were found in $CONFIGURE"
- $ECHO
- $ECHO "The `basename \"$CONFIGURE\"` file was scanned in order to determine if any"
- $ECHO "unsupported macros are used that exceed the minimum version"
- $ECHO "settings specified within this file. As such, the following macros"
- $ECHO "should be removed from configure.ac or the version numbers in this"
- $ECHO "file should be increased:"
- $ECHO
- $ECHO "$configure_ac_macros"
- $ECHO
- $ECHO $ECHO_N "Ignorantly continuing build preparation ... $ECHO_C"
- fi
-
- ###################
- # autoconf, retry #
- ###################
- $VERBOSE_ECHO
- $VERBOSE_ECHO "$AUTOCONF"
- autoconf_output="`$AUTOCONF 2>&1`"
- ret=$?
- $VERBOSE_ECHO "$autoconf_output"
-
- if [ ! $ret = 0 ] ; then
- # test if libtool is busted
- libtool_failure "$autoconf_output"
-
- # let the user know what went wrong
- cat <<EOF
-$autoconf_output
-EOF
- $ECHO "ERROR: $AUTOCONF failed"
- exit 2
- else
- # autoconf sans -f and possibly sans unsupported options succeed so warn verbosely
- $ECHO
- $ECHO "Warning: autoconf seems to have succeeded by removing the following options:"
- $ECHO " AUTOCONF_OPTIONS=\"$AUTOCONF_OPTIONS\""
- $ECHO
- $ECHO "Removing those options should not be necessary and indicate some other"
- $ECHO "problem with the build system. The build preparation is highly suspect"
- $ECHO "and may result in configuration or compilation errors. Consider"
- if [ "x$VERBOSE_ECHO" = "x:" ] ; then
- $ECHO "rerunning the build preparation with verbose output enabled."
- $ECHO " $AUTOGEN_SH --verbose"
- else
- $ECHO "reviewing the minimum GNU Autotools version settings contained in"
- $ECHO "this script along with the macros being used in your `basename \"$CONFIGURE\"` file."
- fi
- $ECHO
- $ECHO $ECHO_N "Continuing build preparation ... $ECHO_C"
- fi # autoconf ret = 0
- fi # autoconf ret = 0
-
- ##############
- # autoheader #
- ##############
- need_autoheader=no
- for feature in AM_CONFIG_HEADER AC_CONFIG_HEADER ; do
- $VERBOSE_ECHO "Searching for $feature in $CONFIGURE"
- found="`grep \"^$feature.*\" $CONFIGURE`"
- if [ ! "x$found" = "x" ] ; then
- need_autoheader=yes
- break
- fi
- done
- if [ "x$need_autoheader" = "xyes" ] ; then
- $VERBOSE_ECHO "$AUTOHEADER $AUTOHEADER_OPTIONS"
- autoheader_output="`$AUTOHEADER $AUTOHEADER_OPTIONS 2>&1`"
- ret=$?
- $VERBOSE_ECHO "$autoheader_output"
- if [ ! $ret = 0 ] ; then $ECHO "ERROR: $AUTOHEADER failed" && exit 2 ; fi
- fi # need_autoheader
-
- ############
- # automake #
- ############
- need_automake=no
- for feature in AM_INIT_AUTOMAKE ; do
- $VERBOSE_ECHO "Searching for $feature in $CONFIGURE"
- found="`grep \"^$feature.*\" $CONFIGURE`"
- if [ ! "x$found" = "x" ] ; then
- need_automake=yes
- break
- fi
- done
-
- if [ "x$need_automake" = "xyes" ] ; then
- $VERBOSE_ECHO "$AUTOMAKE $AUTOMAKE_OPTIONS"
- automake_output="`$AUTOMAKE $AUTOMAKE_OPTIONS 2>&1`"
- ret=$?
- $VERBOSE_ECHO "$automake_output"
-
- if [ ! $ret = 0 ] ; then
-
- ###################
- # automake, retry #
- ###################
- $VERBOSE_ECHO
- $VERBOSE_ECHO "$AUTOMAKE $ALT_AUTOMAKE_OPTIONS"
- # retry without the -f
- automake_output="`$AUTOMAKE $ALT_AUTOMAKE_OPTIONS 2>&1`"
- ret=$?
- $VERBOSE_ECHO "$automake_output"
-
- if [ ! $ret = 0 ] ; then
- # test if libtool is busted
- libtool_failure "$automake_output"
-
- # let the user know what went wrong
- cat <<EOF
-$automake_output
-EOF
- $ECHO "ERROR: $AUTOMAKE failed"
- exit 2
- fi # automake retry
- fi # automake ret = 0
- fi # need_automake
-} # end of manual_autogen
-
-
-#####################################
-# RECURSIVE_MANUAL_AUTOGEN FUNCTION #
-#####################################
-recursive_manual_autogen ( ) {
-
- # run the build preparation steps manually for this directory
- manual_autogen
-
- # for projects using recursive configure, run the build
- # preparation steps for the subdirectories.
- if [ ! "x$CONFIG_SUBDIRS" = "x" ] ; then
- $VERBOSE_ECHO "Recursively configuring the following directories:"
- $VERBOSE_ECHO " $CONFIG_SUBDIRS"
- for dir in $CONFIG_SUBDIRS ; do
- $VERBOSE_ECHO "Processing recursive configure in $dir"
- cd "$START_PATH"
- cd "$dir"
-
- # new directory, prepare
- initialize
-
- # run manual steps for the subdir and any others below
- recursive_manual_autogen
- done
- fi
-}
-
-
-################################
-# run manual preparation steps #
-################################
-if [ "x$reconfigure_manually" = "xyes" ] ; then
- $ECHO
- $ECHO $ECHO_N "Preparing build ... $ECHO_C"
-
- recursive_manual_autogen
-fi
-
-
-#########################
-# restore and summarize #
-#########################
-cd "$START_PATH"
-
-# restore COPYING and INSTALL from backup if necessary
-recursive_restore
-
-# make sure we end up with a configure script
-config_ac="`locate_configure_template`"
-config="`echo $config_ac | sed 's/\.ac$//' | sed 's/\.in$//'`"
-if [ "x$config" = "x" ] ; then
- $VERBOSE_ECHO "Could not locate the configure template (from `pwd`)"
-fi
-
-# summarize
-$ECHO "done"
-$ECHO
-if test "x$config" = "x" -o ! -f "$config" ; then
- $ECHO "WARNING: The $PROJECT build system should now be prepared but there"
- $ECHO "does not seem to be a resulting configure file. This is unexpected"
- $ECHO "and likely the result of an error. You should run $NAME_OF_AUTOGEN"
- $ECHO "with the --verbose option to get more details on a potential"
- $ECHO "misconfiguration."
-else
- $ECHO "The $PROJECT build system is now prepared. To build here, run:"
- $ECHO " $config"
- $ECHO " make"
-fi
-
-
-# Local Variables:
-# mode: sh
-# tab-width: 8
-# sh-basic-offset: 4
-# sh-indentation: 4
-# indent-tabs-mode: t
-# End:
-# ex: shiftwidth=4 tabstop=8
diff --git a/changelog b/changelog
index 985d71b..07b6ace 100644
--- a/changelog
+++ b/changelog
@@ -44,6 +44,9 @@
- CIPHERS_LIST_STRING is removed
+ - autotools build has been removed. See README.build for info on how to
+ use CMake for your platform
+
v1.21-chrome26-firefox18
========================
diff --git a/configure.ac b/configure.ac
deleted file mode 100644
index 685906c..0000000
--- a/configure.ac
+++ /dev/null
@@ -1,226 +0,0 @@
-# -*- Autoconf -*-
-# Process this file with autoconf to produce a configure script.
-
-AC_PREREQ([2.61])
-AC_INIT(libwebsockets, 1.2, andy@warmcat.com, libwebsockets, http://libwebsockets.org)
-AC_CONFIG_SRCDIR([test-server/test-server.c])
-AC_CONFIG_HEADERS([config.h])
-
-: ${CFLAGS=""}
-AM_INIT_AUTOMAKE([-Wall -Werror foreign])
-AM_PROG_AR
-LT_INIT(shared)
-
-#AX_PTHREAD
-
-# Checks for programs.
-AM_PROG_CC_C_O
-AC_PROG_INSTALL
-AC_PROG_MAKE_SET
-AC_CONFIG_MACRO_DIR([m4])
-
-applyhash='CFLAGS+= -DLWS_LIBRARY_VERSION=\"$(PACKAGE_VERSION)\" -DLWS_BUILD_HASH=\"${shell git log -n 1 --pretty=%h}\"'
-AC_SUBST([applyhash])
-AM_SUBST_NOTMAKE([applyhash])
-
-# Check for existance of the inline keyword.
-AC_C_INLINE
-
-#
-#
-#
-AC_ARG_ENABLE(openssl,
- [ --enable-openssl Enables https support and needs openssl libs],
- [ openssl=yes
- ])
-
-if test "x$openssl" = "xyes" ; then
-AC_CHECK_LIB([ssl], [SSL_library_init])
-CFLAGS="$CFLAGS -DLWS_OPENSSL_SUPPORT"
-fi
-
-#
-#
-#
-AC_ARG_ENABLE(libcrypto,
- [ --enable-libcrypto Use libcrypto MD5 and SHA1 implementations],
- [ libcrypto=yes
- ])
-
-if test "x$libcrypto" = "xyes" ; then
-CFLAGS="$CFLAGS -DLWS_LIBCRYPTO"
-LDFLAGS="$LDFLAGS -lcrypto"
-fi
-AM_CONDITIONAL(LIBCRYPTO, test x$libcrypto = xyes)
-
-#
-#
-#
-AC_ARG_WITH(testapps,
- [ --without-testapps dont build the libwebsocket-test- apps],
- [ no_testapps=yes
- ])
-
-AM_CONDITIONAL(NO_TESTAPPS, test x$no_testapps = xyes)
-
-#
-#
-#
-AC_ARG_WITH(client,
- [ --without-client dont build the client part of the library ],
- [ no_client=yes
- ])
-
-if test "x$no_client" = "xyes" ; then
-CFLAGS="$CFLAGS -DLWS_NO_CLIENT"
-fi
-AM_CONDITIONAL(NO_CLIENT, test x$no_client = xyes)
-
-#
-#
-#
-AC_ARG_WITH(server,
- [ --without-server dont build the client part of the library ],
- [ no_server=yes
- ])
-
-if test "x$no_server" = "xyes" ; then
-CFLAGS="$CFLAGS -DLWS_NO_SERVER"
-fi
-AM_CONDITIONAL(NO_SERVER, test x$no_server = xyes)
-
-#
-#
-#
-AC_ARG_WITH(extensions,
- [ --without-extensions dont build any stuff related to extensions ],
- [ no_extensions=yes
- ])
-
-if test "x$no_extensions" = "xyes" ; then
-CFLAGS="$CFLAGS -DLWS_NO_EXTENSIONS"
-fi
-AM_CONDITIONAL(NO_EXTENSIONS, test x$no_extensions = xyes)
-
-#
-#
-#
-AC_ARG_WITH(latency,
- [ --with-latency Build latency measuring code into the library ],
- [ latency=yes
- ])
-
-if test "x$latency" = "xyes" ; then
-CFLAGS="$CFLAGS -DLWS_LATENCY"
-fi
-AM_CONDITIONAL(LATENCY, test x$latency = xyes)
-
-#
-#
-#
-AC_ARG_WITH(daemonize,
- [ --without-daemonize dont build the daemonization api ],
- [ no_daemonize=yes
- ])
-
-if test "x$no_daemonize" = "xyes" ; then
-CFLAGS="$CFLAGS -DLWS_NO_DAEMONIZE"
-fi
-AM_CONDITIONAL(NO_DAEMONIZE, test x$no_daemonize = xyes)
-
-#
-#
-#
-AC_ARG_ENABLE(mingw,
- [ --enable-mingw Using mingw compilers, disables ping test build],
- [ mingw=yes
- noping=yes
- ])
-
-if test "x$mingw" = "xyes" ; then
-CFLAGS="$CFLAGS -DLWS_MINGW_SUPPORT"
-fi
-AM_CONDITIONAL(MINGW, test x$mingw = xyes)
-
-#
-#
-#
-AC_ARG_WITH([client-cert-dir],
-[AS_HELP_STRING([--with-client-cert-dir],[directory containing client certs, defaults to /etc/pki/tls/certs/])],
-[clientcertdir=$withval],
-[clientcertdir=/etc/pki/tls/certs/]
-)
-AC_SUBST([clientcertdir])
-
-AC_SUBST([CFLAGS])
-
-
-#
-#
-#
-AC_ARG_ENABLE(noping,
- [ --enable-noping Do not build ping test app, which has some unixy stuff in sources],
- [ noping=yes
- ])
-
-AM_CONDITIONAL(NOPING, test x$noping = xyes)
-
-#
-#
-#
-AC_ARG_ENABLE(debug,
- [ --disable-debug Stops debug-related code from even being compiled in, useful for best speed],
- [ disable_debug=yes
- ])
-
-if test "x$disable_debug" != "xyes" ; then
-CFLAGS="$CFLAGS -D_DEBUG"
-fi
-AM_CONDITIONAL(DISABLE_DEBUG, test x$disable_debug = xyes)
-
-
-#
-#
-#
-AC_ARG_ENABLE(builtin-getifaddrs,
- [ --enable-builtin-getifaddrs Use BSD getifaddrs implementation from libwebsockets... default is your libc provides it],
- [ builtin_getifaddrs=yes
- ])
-if test "x$builtin-getifaddrs" = "xyes" ; then
-CFLAGS="$CFLAGS -DLWS_BUILTIN_GETIFADDRS"
-fi
-AM_CONDITIONAL(USE_BUILTIN_GETIFADDRS, test x$builtin_getifaddrs = xyes)
-
-#
-#
-#
-AC_ARG_WITH(cyassl,
- [ --with-cyassl Use CyaSSL instead of OpenSSL ],
- [ use_cyassl=yes
- ])
-
-if test "x$use_cyassl" = "xyes" ; then
-CFLAGS="$CFLAGS -DUSE_CYASSL -DLWS_OPENSSL_SUPPORT"
-fi
-AM_CONDITIONAL(USE_CYASSL, test x$use_cyassl = xyes)
-
-
-# Checks for header files.
-AC_CHECK_HEADERS([zlib.h fcntl.h netinet/in.h stdlib.h string.h sys/socket.h unistd.h sys/prctl.h])
-
-# Checks for typedefs, structures, and compiler characteristics.
-AC_TYPE_SIZE_T
-
-# Checks for library functions.
-
-AC_FUNC_MALLOC
-AC_FUNC_REALLOC
-AC_CHECK_FUNCS([bzero memset socket strerror])
-
-AC_CONFIG_FILES([Makefile
- lib/Makefile
- test-server/Makefile])
-
-AC_OUTPUT([
-libwebsockets.pc
-])
diff --git a/lib/Makefile.am b/lib/Makefile.am
deleted file mode 100644
index e4f9ce0..0000000
--- a/lib/Makefile.am
+++ /dev/null
@@ -1,89 +0,0 @@
-@applyhash@
-
-lib_LTLIBRARIES=libwebsockets.la
-include_HEADERS=libwebsockets.h
-dist_libwebsockets_la_SOURCES=libwebsockets.c \
- parsers.c \
- handshake.c \
- libwebsockets.h \
- base64-decode.c \
- output.c \
- private-libwebsockets.h
-
-if NO_EXTENSIONS
-else
-dist_libwebsockets_la_SOURCES+= extension.c \
- extension-deflate-stream.c extension-deflate-stream.h \
- extension-deflate-frame.c extension-deflate-frame.h
-endif
-
-if NO_DAEMONIZE
-else
-dist_libwebsockets_la_SOURCES+= daemonize.c
-endif
-
-if NO_CLIENT
-else
-dist_libwebsockets_la_SOURCES+= client.c \
- client-parser.c \
- client-handshake.c
-endif
-
-if NO_SERVER
-else
-dist_libwebsockets_la_SOURCES+= server.c \
- server-handshake.c
-endif
-
-if USE_BUILTIN_GETIFADDRS
-dist_libwebsockets_la_SOURCES += getifaddrs.c
-endif
-
-if LIBCRYPTO
-else
-dist_libwebsockets_la_SOURCES += sha-1.c
-endif
-
-libwebsockets_la_CFLAGS=-Wall -std=gnu99 -pedantic
-libwebsockets_la_LDFLAGS=
-
-# uncomment below and use cat ./lib/.libs/*.su | sort -k2g | tac
-# to get a worst-first list of static stack usage if you have gcc 4.6+
-#libwebsockets_la_CFLAGS+= -fstack-usage
-
-if USE_CYASSL
-libwebsockets_la_LDFLAGS+= -lcyassl
-endif
-
-if DISABLE_DEBUG
-libwebsockets_la_CFLAGS+= -O4
-else
-libwebsockets_la_CFLAGS+= -O0 -g
-endif
-
-if MINGW
-libwebsockets_la_CFLAGS+= -w -I../win32port/win32helpers -I ../win32port/zlib/
-libwebsockets_la_LDFLAGS+= -lm -luser32 -ladvapi32 -lkernel32 -lgcc
-else
-libwebsockets_la_CFLAGS+= -rdynamic -fPIC -Werror
-# notice http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html has rules for how to bump this
-libwebsockets_la_LDFLAGS+= -version-info 3:0:0
-endif
-
-libwebsockets_la_CFLAGS+= -c \
- -DINSTALL_DATADIR=\"@datadir@\" -DLWS_OPENSSL_CLIENT_CERTS=\"@clientcertdir@\"
-if NO_EXTENSIONS
-else
-libwebsockets_la_LDFLAGS+= -lz
-endif
-
-all-local:
- ../scripts/kernel-doc -html \
- *.c \
- libwebsockets.h \
- > ../libwebsockets-api-doc.html
- ../scripts/kernel-doc -text \
- *.c \
- libwebsockets.h \
- > ../libwebsockets-api-doc.txt
-
diff --git a/test-server/Makefile.am b/test-server/Makefile.am
deleted file mode 100644
index b08460d..0000000
--- a/test-server/Makefile.am
+++ /dev/null
@@ -1,131 +0,0 @@
-bin_PROGRAMS=libwebsockets-test-echo
-libwebsockets_test_echo_SOURCES=test-echo.c
-libwebsockets_test_echo_CFLAGS= -Wall -Werror -std=gnu99 -pedantic -DINSTALL_DATADIR=\"@datadir@\"
-libwebsockets_test_echo_LDADD=-L../lib -lwebsockets
-
-if NO_CLIENT
-else
-bin_PROGRAMS+= libwebsockets-test-client
-if NO_SERVER
-else
-bin_PROGRAMS+= libwebsockets-test-fraggle
-endif
-endif
-
-if NO_SERVER
-else
-bin_PROGRAMS+=libwebsockets-test-server libwebsockets-test-server-extpoll
-endif
-
-if NO_SERVER
-else
-libwebsockets_test_server_SOURCES=test-server.c
-libwebsockets_test_server_CFLAGS=
-libwebsockets_test_server_LDADD=-L../lib -lwebsockets
-libwebsockets_test_server_extpoll_SOURCES=test-server.c
-libwebsockets_test_server_extpoll_CFLAGS=$(AM_CFLAGS) -DEXTERNAL_POLL
-libwebsockets_test_server_extpoll_LDADD=-L../lib -lwebsockets
-endif
-if NO_CLIENT
-else
-libwebsockets_test_client_SOURCES=test-client.c
-libwebsockets_test_client_CFLAGS=
-libwebsockets_test_client_LDADD=-L../lib -lwebsockets
-if NO_SERVER
-else
-libwebsockets_test_fraggle_SOURCES=test-fraggle.c
-libwebsockets_test_fraggle_CFLAGS=
-libwebsockets_test_fraggle_LDADD=-L../lib -lwebsockets
-endif
-endif
-
-if MINGW
-if NO_SERVER
-else
-libwebsockets_test_server_CFLAGS+= -w -I../win32port/win32helpers
-libwebsockets_test_server_extpoll_CFLAGS+= -w -I../win32port/win32helpers
-endif
-if NO_CLIENT
-else
-libwebsockets_test_client_CFLAGS+= -w -I../win32port/win32helpers
-if NO_SERVER
-else
-libwebsockets_test_fraggle_CFLAGS+= -w -I../win32port/win32helpers
-endif
-endif
-
-if NO_SERVER
-else
-libwebsockets_test_server_LDADD+= -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lws2_32 -lz
-libwebsockets_test_server_extpoll_LDADD+= -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lws2_32 -lz
-endif
-if NO_CLIENT
-else
-libwebsockets_test_client_LDADD+= -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lws2_32 -lz
-if NO_SERVER
-else
-libwebsockets_test_fraggle_LDADD+= -lm -luser32 -ladvapi32 -lkernel32 -lgcc -lws2_32 -lz
-endif
-endif
-
-else
-if NO_SERVER
-else
-libwebsockets_test_server_CFLAGS+= -Werror
-libwebsockets_test_server_extpoll_CFLAGS+= -Werror
-endif
-if NO_CLIENT
-else
-libwebsockets_test_client_CFLAGS+= -Werror
-if NO_SERVER
-else
-libwebsockets_test_fraggle_CFLAGS+= -Werror
-endif
-endif
-endif
-
-if NO_SERVER
-else
-libwebsockets_test_server_CFLAGS+= -Wall -std=gnu99 -pedantic -DINSTALL_DATADIR=\"@datadir@\" -DLWS_OPENSSL_CLIENT_CERTS=\"@clientcertdir@\"
-libwebsockets_test_server_extpoll_CFLAGS+= -Wall -std=gnu99 -pedantic -DINSTALL_DATADIR=\"@datadir@\" -DLWS_OPENSSL_CLIENT_CERTS=\"@clientcertdir@\"
-endif
-if NO_CLIENT
-else
-libwebsockets_test_client_CFLAGS+= -Wall -std=gnu99 -pedantic -DINSTALL_DATADIR=\"@datadir@\" -DLWS_OPENSSL_CLIENT_CERTS=\"@clientcertdir@\"
-if NO_SERVER
-else
-libwebsockets_test_fraggle_CFLAGS+= -Wall -std=gnu99 -pedantic -DINSTALL_DATADIR=\"@datadir@\" -DLWS_OPENSSL_CLIENT_CERTS=\"@clientcertdir@\"
-endif
-endif
-
-if NOPING
-else
-if NO_CLIENT
-else
-bin_PROGRAMS+=libwebsockets-test-ping
-libwebsockets_test_ping_SOURCES=test-ping.c
-libwebsockets_test_ping_LDADD=-L../lib -lwebsockets
-libwebsockets_test_ping_CFLAGS= -Wall -Werror -std=gnu99 -pedantic -DINSTALL_DATADIR=\"@datadir@\" -DLWS_OPENSSL_CLIENT_CERTS=\"@clientcertdir@\"
-endif
-endif
-
-EXTRA_DIST=test.html favicon.ico libwebsockets.org-logo.png leaf.jpg
-
-#
-# cook a random test cert and key
-# notice your real cert and key will want to be 0600 permissions
-libwebsockets-test-server.pem libwebsockets-test-server.key.pem:
- printf "GB\nErewhon\nAll around\nlibwebsockets-test\n\nlocalhost\nnone@invalid.org\n" | \
- openssl req -new -newkey rsa:1024 -days 10000 -nodes -x509 -keyout \
- ./libwebsockets-test-server.key.pem -out ./libwebsockets-test-server.pem >/dev/null 2>&1 && \
- chmod 644 ./libwebsockets-test-server.key.pem \
- ./libwebsockets-test-server.pem
-
-clean-local:
- rm -f ./libwebsockets-test-server.key.pem ./libwebsockets-test-server.pem
-
-install-data-local:libwebsockets-test-server.key.pem libwebsockets-test-server.pem
- mkdir -p $(DESTDIR)$(datadir)/libwebsockets-test-server
- cp -a $(EXTRA_DIST) libwebsockets-test-server.key.pem libwebsockets-test-server.pem \
- $(DESTDIR)$(datadir)/libwebsockets-test-server
-