[tor-commits] [stegotorus/master] Top level directory tidying.
zwol at torproject.org
zwol at torproject.org
Fri Jul 20 23:17:08 UTC 2012
commit f0eff04bd637c4536f73fa7bc71d233c5e644036
Author: Zack Weinberg <zackw at cmu.edu>
Date: Tue Jun 5 10:14:18 2012 -0700
Top level directory tidying.
---
.gitignore | 7 +-
LICENSE | 14 +++-
Makefile.am | 2 +-
README.Linda | 117 ----------------------------
config-aux/cxx_delete_method.m4 | 78 +++++++++++++++++++
config-aux/cxx_static_assert.m4 | 57 ++++++++++++++
config-aux/cxxflags_stdcxx_11.m4 | 102 ++++++++++++++++++++++++
config-aux/maintainer.m4 | 39 +++++++++
config-aux/pkg.m4 | 159 ++++++++++++++++++++++++++++++++++++++
config-aux/ranlib.m4 | 69 ++++++++++++++++
config-aux/system_extensions.m4 | 81 +++++++++++++++++++
config-aux/winsock.m4 | 56 +++++++++++++
configure.ac | 1 +
doc/README.Linda | 117 ++++++++++++++++++++++++++++
m4/cxx_delete_method.m4 | 78 -------------------
m4/cxx_static_assert.m4 | 57 --------------
m4/cxxflags_stdcxx_11.m4 | 102 ------------------------
m4/maintainer.m4 | 39 ---------
m4/pkg.m4 | 159 --------------------------------------
m4/ranlib.m4 | 69 ----------------
m4/system_extensions.m4 | 81 -------------------
m4/winsock.m4 | 56 -------------
22 files changed, 773 insertions(+), 767 deletions(-)
diff --git a/.gitignore b/.gitignore
index 8de7c1e..aa3eb46 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,7 +16,6 @@
/aclocal.m4
/autom4te.cache
-/compile
/config.guess
/config.h
/config.h.in
@@ -24,12 +23,12 @@
/config.status
/config.sub
/configure
-/depcomp
-/install-sh
/Makefile
/Makefile.in
-/missing
/stamp-*
+/config-aux/depcomp
+/config-aux/install-sh
+/config-aux/missing
/protolist.c
/steglist.c
diff --git a/LICENSE b/LICENSE
index 3bcae2b..7aea274 100644
--- a/LICENSE
+++ b/LICENSE
@@ -34,7 +34,13 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
=====
-The files in m4/ and scripts/ each have their own individual copyright
-and licensing, which may be more or less permissive than the above
-license. However, those licenses DO NOT extend to the collective
-work, the generated configure script, or to StegoTorus itself.
+Some files in src/ contain material which is copyright other people
+or organizations, and which may be licensed more permissively than the
+above. Comments at the top of each file document its precise provenance
+and licensing.
+
+All the files in config-aux/ and scripts/ have their own copyright and
+licensing, indicated in comments at the top of the file; these licenses
+may be more or *less* permissive than the above. Those licenses DO NOT
+extend to the collective work, the generated configure script, or to
+StegoTorus itself.
diff --git a/Makefile.am b/Makefile.am
index a21f053..64d1d33 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2,7 +2,7 @@
# Copyright 2011, 2012 SRI International
# See LICENSE for other credits and copying information
-ACLOCAL_AMFLAGS = -I m4 --install
+ACLOCAL_AMFLAGS = -I config-aux --install
AM_CXXFLAGS = -Werror -Wall -Wextra -Wformat=2
AM_CPPFLAGS = -I. -I$(srcdir)/src -D_FORTIFY_SOURCE=2 $(lib_CPPFLAGS)
diff --git a/README.Linda b/README.Linda
deleted file mode 100644
index 3cb4d2e..0000000
--- a/README.Linda
+++ /dev/null
@@ -1,117 +0,0 @@
-compiling stegotorus on Mac OS X 10.6
-=====================================
-
-0) prelims
-
-Install Mac Ports from http://www.macports.org (here v2.0.3).
-$> sudo port selfupdate [for good measure]
-
- a) autoconf 2.68
-
-$> sudo port install autoconf
-$> autoconf --version
-autoconf (GNU Autoconf) 2.68
-
- b) automake 1.11
-
-$> sudo port install automake
-$> automake --version
-automake (GNU automake) 1.11.1
-
- c) pkgconfig
-
-$> sudo port install pkgconfig
-
- d) openssl >= 1.0.1, libevent-2
-
-$> sudo port install openssl
-$> sudo port install libevent
-
- e) tor
-
-$> sudo port install tor
-$> tor --version
-[...]
-Tor version 0.2.2.34 (git-c4eae752f0d157ce).
-
-
-1) StegoTorus
-
-$> cd ~/src/DEFIANCE/stegotorus/sri
-$> autoreconf -i
-$> ./configure --disable-integration-tests --enable-silent-rules
-[...]
-configure: error: Package requirements (libcrypto++ >= 5.6.0) were not met:
-
-No package 'libcrypto++' found
-[...]
-$> sudo cp Desktop/libcrypto++.pc /usr/lib/pkgconfig/
-$> ./configure --disable-integration-tests --enable-silent-rules
-$> make
-
-
-compiling stegotorus under Ubuntu 11.10
-=======================================
-
-$> sudo apt-get install pkg-config libevent-2.0-5 libevent-dev
-
-Tor:
-----
-
-$> sudo cat >> /etc/apt/sources.list <<EOF
-> deb http://deb.torproject.org/torproject.org oneiric main
-> EOF
-$> gpg --keyserver keys.gnupg.net --recv 886DDD89
-$> gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
-$> sudo apt-get install tor tor-geoipdb
-$> tor --version
-[É]
-Tor version 0.2.2.35 (git-73ff13ab3cc9570d).
-
-StegoTorus:
------------
-
-$> autoreconf -i
-$> ./configure --disable-integration-tests --enable-silent-rules
-[...]
-configure: error: Package requirements (libcrypto++ >= 5.6.0) were not met:
-
-No package 'libcrypto++' found
-[...]
-$> sudo apt-get install libcrypto++9 libcrypto++9-dbg libcrypto++-dev
-$> ./configure --disable-integration-tests --enable-silent-rules
-[...]
-configure: error: Package requirements (zlib >= 1.2.3.4) were not met:
-
-No package 'zlib' found
-[...]
-$> sudo apt-get install zlib1g-dbg zlib1g-dev
-$> ./configure --disable-integration-tests --enable-silent-rules
-[...]
-configure: error: Package requirements (zlib >= 1.2.3.4) were not met:
-
-No package 'zlib' found
-[...]
-$> sudo find /usr -name zlib.pc
-/usr/lib/i386-linux-gnu/pkgconfig/zlib.pc
-$> echo $PKG_CONFIG_PATH
-
-$> export PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig
-$> ./configure --disable-integration-tests --enable-silent-rules
-$> make
-
-
-compiling obfsproxy under Ubuntu 10.04 (DETERlab)
-=================================================
-
-create local disk space:
-
-$> sudo /usr/local/etc/emulab/mkextrafs.pl /mnt
-
-copy source code there to compile:
-
-$> sudo mkdir /mnt/local/alice
-$> sudo chown linda:SAF-DEFIANCE /mnt/local/alice
-$> cd /mnt/local/alice
-$> tar -xzvf ~/src/stegotorus.tar.gz
-etc.
diff --git a/config-aux/cxx_delete_method.m4 b/config-aux/cxx_delete_method.m4
new file mode 100644
index 0000000..2d467e7
--- /dev/null
+++ b/config-aux/cxx_delete_method.m4
@@ -0,0 +1,78 @@
+# ============================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_cxx_delete_method.m4
+# ============================================================================
+#
+# SYNOPSIS
+#
+# AX_CXX_DELETE_METHOD
+#
+# DESCRIPTION
+#
+# Check whether the C++11 '= delete' syntax, for suppressing undesired
+# implicit methods, is supported. If it is, the macro DELETE_METHOD is
+# defined to '= delete'; otherwise it is defined to nothing. Thus, you
+# can write
+#
+# class foo {
+# ...
+# private:
+# foo(foo const&) DELETE_METHOD;
+# };
+#
+# to delete the 'foo' copy constructor or fall back to the idiom of
+# a private undefined method if the compiler doesn't support this.
+#
+# Does not test '= delete' on a template specialization.
+# Does not ensure that the compiler is in C++11 mode.
+#
+# LICENSE
+#
+# Copyright (c) 2012 Zack Weinberg <zackw at panix.com>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+AC_DEFUN([AX_CXX_DELETE_METHOD], [dnl
+ AC_LANG_ASSERT([C++])
+ # This compilation should succeed...
+ AC_CACHE_CHECK(whether $CXX accepts method deletion,
+ ax_cv_cxx_delete_method_syntax, [
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+ struct foo {
+ foo(double);
+ foo(int) = delete;
+ };
+ extern void t(foo const&);
+ void tt(double n) { t(n); }
+ ]])],
+ [ax_cv_cxx_delete_method_syntax=yes],
+ [ax_cv_cxx_delete_method_syntax=no])])
+ # ... and this one should fail.
+ if test x$ax_cv_cxx_delete_method_syntax = xyes; then
+ AC_CACHE_CHECK(whether $CXX enforces method deletion,
+ ax_cv_cxx_delete_method_enforced, [
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+ struct foo {
+ foo(double);
+ foo(int) = delete;
+ };
+ extern void t(foo const&);
+ void tt(int n) { t(n); }
+ ]])],
+ [ax_cv_cxx_delete_method_enforced=no],
+ [ax_cv_cxx_delete_method_enforced=yes])])
+ fi
+ if test x$ax_cv_cxx_delete_method_syntax = xyes &&
+ test x$ax_cv_cxx_delete_method_enforced = xyes
+ then
+ AC_DEFINE([DELETE_METHOD], [= delete],
+ [Define as `= delete' if your compiler supports C++11 method
+ deletion, as nothing otherwise.])
+ else
+ AC_DEFINE([DELETE_METHOD], [],
+ [Define as `= delete' if your compiler supports C++11 method
+ deletion, as nothing otherwise.])
+ fi
+])
diff --git a/config-aux/cxx_static_assert.m4 b/config-aux/cxx_static_assert.m4
new file mode 100644
index 0000000..7bf69f8
--- /dev/null
+++ b/config-aux/cxx_static_assert.m4
@@ -0,0 +1,57 @@
+# SYNOPSIS
+#
+# AX_CXX_STATIC_ASSERT
+#
+# DESCRIPTION
+#
+# Detect whether the C++ compiler, in its present operating mode,
+# supports the C++11 'static_assert' construct. If it doesn't,
+# define 'static_assert' as a preprocessor macro which provides
+# more-or-less the same functionality.
+#
+# LICENSE
+#
+# Copyright (c) 2012 Zack Weinberg <zackw at panix.com>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 1
+
+AC_DEFUN([AX_CXX_STATIC_ASSERT], [dnl
+ AC_LANG_ASSERT([C++])dnl
+ AC_CACHE_CHECK(whether $CXX accepts static_assert, ax_cv_cxx_static_assert,
+ [AC_COMPILE_IFELSE([AC_LANG_SOURCE([dnl
+ template <typename T>
+ struct check
+ { static_assert(sizeof(int) <= sizeof(T), "not big enough"); };
+ check<int> ok;])],
+ [ax_cv_cxx_static_assert=yes], [ax_cv_cxx_static_assert=no])])
+ if test x$ax_cv_cxx_static_assert = xyes; then
+ AC_CACHE_CHECK(whether $CXX enforces static_assert, ax_cv_cxx_static_assert_e,
+ [AC_COMPILE_IFELSE([AC_LANG_SOURCE([dnl
+ template <typename T>
+ struct check
+ { static_assert(sizeof(char[2]) <= sizeof(T), "not big enough"); };
+ check<char> bad;])],
+ [ax_cv_cxx_static_assert_e=no], [ax_cv_cxx_static_assert_e=yes])])
+ fi
+ if test x$ax_cv_cxx_static_assert = xyes &&
+ test x$ax_cv_cxx_static_assert_e = xyes; then
+ AC_DEFINE(HAVE_STATIC_ASSERT, 1,
+ [Define to 1 if the C++ compiler supports static_assert.])
+ fi
+ AH_VERBATIM([HAVE_STATIC_ASSERT_],
+[#ifndef HAVE_STATIC_ASSERT
+# define static_assert(expr, msg) typedef char static_assert_id[(expr)?1:-1]
+# ifdef __COUNTER__
+# define static_assert_id static_assert_paste(static_assert_, __COUNTER__)
+# else
+# define static_assert_id static_assert_paste(static_assert_, __LINE__)
+# endif
+# define static_assert_paste(a,b) static_assert_paste_(a,b)
+# define static_assert_paste_(a,b) a##b
+#endif])
+])
diff --git a/config-aux/cxxflags_stdcxx_11.m4 b/config-aux/cxxflags_stdcxx_11.m4
new file mode 100644
index 0000000..7f06ed2
--- /dev/null
+++ b/config-aux/cxxflags_stdcxx_11.m4
@@ -0,0 +1,102 @@
+# ============================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_cxxflags_stdcxx_11.html
+# ============================================================================
+#
+# SYNOPSIS
+#
+# AX_CXXFLAGS_STDCXX_11([ext|noext])
+#
+# DESCRIPTION
+#
+# Check for baseline language coverage in the compiler for the C++11
+# standard; if necessary, add switches to CXXFLAGS to enable support.
+# The argument, if specified, indicates whether you insist on an extended
+# mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. -std=c++11).
+# If neither is specified, you get whatever works, with preference for an
+# extended mode.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Benjamin Kosnik <bkoz at redhat.com>
+# Copyright (c) 2012 Zack Weinberg <zackw at panix.com>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 8
+
+m4_define([_AX_CXXFLAGS_STDCXX_11_testbody], [
+ template <typename T>
+ struct check
+ {
+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
+ };
+
+ typedef check<check<bool>> right_angle_brackets;
+
+ int a;
+ decltype(a) b;
+
+ typedef check<int> check_type;
+ check_type c;
+ check_type&& cr = static_cast<check_type&&>(c);
+])
+
+AC_DEFUN([AX_CXXFLAGS_STDCXX_11], [dnl
+ m4_if([$1], [], [],
+ [$1], [ext], [],
+ [$1], [noext], [],
+ [m4_fatal([invalid argument `$1' to AX_CXXFLAGS_STDCXX_11])])dnl
+ AC_LANG_ASSERT([C++])dnl
+ ac_success=no
+ AC_CACHE_CHECK(whether $CXX supports C++11 features by default,
+ ax_cv_cxx_compile_cxx11,
+ [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXXFLAGS_STDCXX_11_testbody])],
+ [ax_cv_cxx_compile_cxx11=yes],
+ [ax_cv_cxx_compile_cxx11=no])])
+ if test x$ax_cv_cxx_compile_cxx11 = xyes; then
+ ac_success=yes
+ fi
+
+ m4_if([$1], [noext], [], [dnl
+ if test x$ac_success = xno; then
+ for switch in -std=gnu++11 -std=gnu++0x; do
+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
+ AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
+ $cachevar,
+ [ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS $switch"
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXXFLAGS_STDCXX_11_testbody])],
+ [eval $cachevar=yes],
+ [eval $cachevar=no])
+ CXXFLAGS="$ac_save_CXXFLAGS"])
+ if eval test x\$$cachevar = xyes; then
+ CXXFLAGS="$CXXFLAGS $switch"
+ ac_success=yes
+ break
+ fi
+ done
+ fi])
+
+ m4_if([$1], [ext], [], [dnl
+ if test x$ac_success = xno; then
+ for switch in -std=c++11 -std=c++0x; do
+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
+ AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
+ $cachevar,
+ [ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS $switch"
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXXFLAGS_STDCXX_11_testbody])],
+ [eval $cachevar=yes],
+ [eval $cachevar=no])
+ CXXFLAGS="$ac_save_CXXFLAGS"])
+ if eval test x\$$cachevar = xyes; then
+ CXXFLAGS="$CXXFLAGS $switch"
+ ac_success=yes
+ break
+ fi
+ done
+ fi])
+])
diff --git a/config-aux/maintainer.m4 b/config-aux/maintainer.m4
new file mode 100644
index 0000000..07948a7
--- /dev/null
+++ b/config-aux/maintainer.m4
@@ -0,0 +1,39 @@
+# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2011
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_MAINTAINER_MODE([DEFAULT-MODE])
+# ----------------------------------
+# Control maintainer-specific portions of Makefiles.
+# Default is to disable them, unless `enable' is passed literally.
+# For symmetry, `disable' may be passed as well. Anyway, the user
+# can override the default with the --enable/--disable switch.
+AC_DEFUN([AM_MAINTAINER_MODE],
+[m4_case(m4_default([$1], [disable]),
+ [enable], [m4_define([am_maintainer_other], [disable])],
+ [disable], [m4_define([am_maintainer_other], [enable])],
+ [m4_define([am_maintainer_other], [enable])
+ m4_warn([syntax], [unexpected argument to AM@&t at _MAINTAINER_MODE: $1])])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode's default is 'disable' unless 'enable' is passed
+ AC_ARG_ENABLE([maintainer-mode],
+[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ [USE_MAINTAINER_MODE=$enableval],
+ [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+ AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+ AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST([MAINT])dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
diff --git a/config-aux/pkg.m4 b/config-aux/pkg.m4
new file mode 100644
index 0000000..9a71878
--- /dev/null
+++ b/config-aux/pkg.m4
@@ -0,0 +1,159 @@
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+# serial 1 (pkg-config-0.24)
+#
+# Copyright © 2004 Scott James Remnant <scott at netsplit.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=m4_default([$1], [0.9.0])
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists. Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+# only at the first occurence in configure.ac, so if the first place
+# it's called might be skipped (such as if it is within an "if", you
+# have to call PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+ m4_default([$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ],
+ [pkg_failed=yes])
+ else
+ pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+ AC_MSG_RESULT([no])
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
+ else
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+ m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT])[]dnl
+ ])
+elif test $pkg_failed = untried; then
+ AC_MSG_RESULT([no])
+ m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
+ ])
+else
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
+ $3
+fi[]dnl
+])# PKG_CHECK_MODULES
diff --git a/config-aux/ranlib.m4 b/config-aux/ranlib.m4
new file mode 100644
index 0000000..ce4fe33
--- /dev/null
+++ b/config-aux/ranlib.m4
@@ -0,0 +1,69 @@
+# SYNOPSIS
+#
+# AX_PROG_RANLIB
+#
+# DESCRIPTION
+#
+# In addition to everything AC_PROG_RANLIB does, determine whether it is
+# _necessary_ to run 'ranlib' after 'ar'. If it is unnecessary (which is
+# the case on most modern systems), reset the RANLIB variable to ':'.
+#
+# LICENSE
+#
+# Same as Autoconf proper.
+
+# serial 1
+
+# 'ranlib' may be needed to make it possible for objects that occur
+# later in an archive library to refer to symbols defined by objects
+# earlier in the archive. Therefore, the testing strategy is to
+# compile three small files where A refers to B refers to C, put C and
+# B in an archive *in that order*, and then see if we can link A
+# against the archive.
+
+AC_DEFUN([AX_PROG_RANLIB],
+[AC_CHECK_TOOL([AR], [ar])
+AC_CHECK_TOOL([RANLIB], [ranlib], [:])
+if test x$RANLIB != x:; then
+ AC_CACHE_CHECK([whether ranlib is necessary], [ac_cv_prog_RANLIB_necessary],
+ [AC_LANG_PUSH([C])
+
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+ extern int B(void);
+ int main(void) { return B(); }
+ ]])],
+ [cp conftest.$ac_objext conftA.$ac_objext],
+ [AC_MSG_ERROR([failed to compile test file A])])
+
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+ extern int C(void);
+ int B(void) { return C(); }
+ ]])],
+ [cp conftest.$ac_objext conftB.$ac_objext],
+ [AC_MSG_ERROR([failed to compile test file B])])
+
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+ int C(void) { return 0; }
+ ]])],
+ [cp conftest.$ac_objext conftC.$ac_objext],
+ [AC_MSG_ERROR([failed to compile test file C])])
+
+ dnl There is no standard macro for creating an archive.
+ _AC_DO([$AR cru conftest.a conftC.$ac_objext conftB.$ac_objext]) ||
+ AC_MSG_ERROR([failed to create test archive])
+
+ dnl There's no good way to make AC_LINK_IFELSE do what we need.
+ AS_IF([_AC_DO([$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftA.$ac_objext conftest.a >&AS_MESSAGE_LOG_FD])],
+ [ac_cv_prog_RANLIB_necessary=no],
+ [AS_IF([_AC_DO([$RANLIB conftest.a && $CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftA.$ac_objext conftest.a >&AS_MESSAGE_LOG_FD])],
+ [ac_cv_prog_RANLIB_necessary=yes],
+ [AC_MSG_ERROR([test link failed with and without ranlib])])])
+
+ rm -f conftest$ac_exeext conft[ABC].$ac_objext conftest.a
+ AC_LANG_POP([C])
+ ])
+ if test $ac_cv_prog_RANLIB_necessary = no; then
+ RANLIB=:
+ fi
+fi
+])
diff --git a/config-aux/system_extensions.m4 b/config-aux/system_extensions.m4
new file mode 100644
index 0000000..46b2f9e
--- /dev/null
+++ b/config-aux/system_extensions.m4
@@ -0,0 +1,81 @@
+# SYNOPSIS
+#
+# AX_SYS_EXTENSIONS
+#
+# DESCRIPTION
+#
+# Functionally equivalent to the stock AC_USE_SYSTEM_EXTENSIONS, but:
+# does not trigger AC_CHECK_HEADER's backward compatibility mode;
+# does not make use of AC_INCLUDES_DEFAULT;
+# does not define _MINIX.
+#
+# LICENSE
+#
+# Same as Autoconf proper.
+
+# serial 1
+
+# Enable extensions on systems that normally disable them,
+# typically due to standards-conformance issues.
+#
+# Remember that #undef in AH_VERBATIM gets replaced with #define by
+# AC_DEFINE. The goal here is to define all known feature-enabling
+# macros, then, if reports of conflicts are made, disable macros that
+# cause problems on some platforms (such as __EXTENSIONS__).
+AC_DEFUN_ONCE([AX_SYS_EXTENSIONS],
+[AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
+AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
+AC_PROVIDE([AC_USE_SYSTEM_EXTENSIONS])dnl Suppress the stock macro if used.
+
+ AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=], [/**/])
+ if test "$MINIX" = yes; then
+ AC_DEFINE([_POSIX_SOURCE], [1],
+ [Define to 1 if you need to in order for `stat' and other
+ things to work.])
+ AC_DEFINE([_POSIX_1_SOURCE], [2],
+ [Define to 2 if the system does not provide POSIX.1 features
+ except with this defined.])
+ fi
+
+dnl Use a different key than __EXTENSIONS__, as that name broke existing
+dnl configure.ac when using autoheader 2.62.
+ AH_VERBATIM([USE_SYSTEM_EXTENSIONS],
+[/* Enable extensions on AIX 3, Interix. */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them. */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris. */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop. */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris. */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+])
+ AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__],
+ [ac_cv_safe_to_define___extensions__],
+ [AC_COMPILE_IFELSE(
+ dnl http://lists.gnu.org/archive/html/bug-gnulib/2006-02/msg00002.html
+ dnl implies that testing <stdlib.h> is adequate.
+ [AC_LANG_PROGRAM([[
+# define __EXTENSIONS__ 1
+# include <stdlib.h>
+ ]])],
+ [ac_cv_safe_to_define___extensions__=yes],
+ [ac_cv_safe_to_define___extensions__=no])])
+ test $ac_cv_safe_to_define___extensions__ = yes &&
+ AC_DEFINE([__EXTENSIONS__])
+ AC_DEFINE([_ALL_SOURCE])
+ AC_DEFINE([_GNU_SOURCE])
+ AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
+ AC_DEFINE([_TANDEM_SOURCE])
+])# AX_SYS_EXTENSIONS
diff --git a/config-aux/winsock.m4 b/config-aux/winsock.m4
new file mode 100644
index 0000000..fd3d8b5
--- /dev/null
+++ b/config-aux/winsock.m4
@@ -0,0 +1,56 @@
+# Copyright © 2011 Zack Weinberg <zackw at panix.com>
+#
+# Copying and distribution of this software, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved. This software is offered as-is,
+# without any warranty.
+
+# The socket API requires a special library on Windows, but
+# AC_SEARCH_LIBS cannot be used to find it, because it will
+# mis-declare 'ntohl' on windows and cause the link to fail.
+#
+# This macro sets the substitution @ws2_LIBS@ to "-lws2_32"
+# if you need that, and "" otherwise. It does not provide
+# any #defines for the differences in socket headers between
+# Windows and Unix -- just use #ifdef _WIN32.
+#
+# Implementation note: we use the same _cv_ variable that
+# AC_SEARCH_LIBS would, because the test is what AC_SEARCH_LIBS
+# *should* have done in this situation.
+AC_DEFUN([AX_LIB_WINSOCK2],
+ [AC_CACHE_CHECK([for library containing ntohl], [ac_cv_search_ntohl],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([
+ #ifdef _WIN32
+ #include <winsock2.h>
+ #else
+ #include <arpa/inet.h>
+ #endif
+ ], [
+ return (int)ntohl(42);])
+ ])
+
+ ax_lib_winsock2_save_LIBS="$LIBS"
+ for ac_lib in '' -lws2_32; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=$ac_lib
+ fi
+ LIBS="$ac_lib $ax_lib_winsock2_save_LIBS"
+ AC_LINK_IFELSE([], [AS_VAR_SET([ac_cv_search_ntohl], [$ac_res])])
+ AS_VAR_SET_IF([ac_cv_search_ntohl], [break])
+ done
+ AS_VAR_SET_IF([ac_cv_search_ntohl], ,
+ [AS_VAR_SET([ac_cv_search_ntohl], [no])])
+ rm conftest.$ac_ext
+ LIBS="$ax_lib_winsock2_save_LIBS"
+ ])
+
+ ws32_LIBS=
+ case "$ac_cv_search_ntohl" in
+ no) AC_MSG_ERROR([could not find ntohl]) ;;
+ "none required") ;;
+ *) ws32_LIBS="$ac_cv_search_ntohl"
+ esac
+ AC_SUBST(ws32_LIBS)
+])
diff --git a/configure.ac b/configure.ac
index 4c23af6..0c858dc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,6 +5,7 @@ dnl
AC_PREREQ([2.61])dnl Possibly earlier will do, but this is what I have
AC_INIT([stegotorus], [0.0])
AC_CONFIG_SRCDIR([src/main.cc])
+AC_CONFIG_AUX_DIR([config-aux])
AC_LANG([C++])
AM_INIT_AUTOMAKE([foreign nostdinc silent-rules subdir-objects])
AM_MAINTAINER_MODE([enable])
diff --git a/doc/README.Linda b/doc/README.Linda
new file mode 100644
index 0000000..3cb4d2e
--- /dev/null
+++ b/doc/README.Linda
@@ -0,0 +1,117 @@
+compiling stegotorus on Mac OS X 10.6
+=====================================
+
+0) prelims
+
+Install Mac Ports from http://www.macports.org (here v2.0.3).
+$> sudo port selfupdate [for good measure]
+
+ a) autoconf 2.68
+
+$> sudo port install autoconf
+$> autoconf --version
+autoconf (GNU Autoconf) 2.68
+
+ b) automake 1.11
+
+$> sudo port install automake
+$> automake --version
+automake (GNU automake) 1.11.1
+
+ c) pkgconfig
+
+$> sudo port install pkgconfig
+
+ d) openssl >= 1.0.1, libevent-2
+
+$> sudo port install openssl
+$> sudo port install libevent
+
+ e) tor
+
+$> sudo port install tor
+$> tor --version
+[...]
+Tor version 0.2.2.34 (git-c4eae752f0d157ce).
+
+
+1) StegoTorus
+
+$> cd ~/src/DEFIANCE/stegotorus/sri
+$> autoreconf -i
+$> ./configure --disable-integration-tests --enable-silent-rules
+[...]
+configure: error: Package requirements (libcrypto++ >= 5.6.0) were not met:
+
+No package 'libcrypto++' found
+[...]
+$> sudo cp Desktop/libcrypto++.pc /usr/lib/pkgconfig/
+$> ./configure --disable-integration-tests --enable-silent-rules
+$> make
+
+
+compiling stegotorus under Ubuntu 11.10
+=======================================
+
+$> sudo apt-get install pkg-config libevent-2.0-5 libevent-dev
+
+Tor:
+----
+
+$> sudo cat >> /etc/apt/sources.list <<EOF
+> deb http://deb.torproject.org/torproject.org oneiric main
+> EOF
+$> gpg --keyserver keys.gnupg.net --recv 886DDD89
+$> gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
+$> sudo apt-get install tor tor-geoipdb
+$> tor --version
+[É]
+Tor version 0.2.2.35 (git-73ff13ab3cc9570d).
+
+StegoTorus:
+-----------
+
+$> autoreconf -i
+$> ./configure --disable-integration-tests --enable-silent-rules
+[...]
+configure: error: Package requirements (libcrypto++ >= 5.6.0) were not met:
+
+No package 'libcrypto++' found
+[...]
+$> sudo apt-get install libcrypto++9 libcrypto++9-dbg libcrypto++-dev
+$> ./configure --disable-integration-tests --enable-silent-rules
+[...]
+configure: error: Package requirements (zlib >= 1.2.3.4) were not met:
+
+No package 'zlib' found
+[...]
+$> sudo apt-get install zlib1g-dbg zlib1g-dev
+$> ./configure --disable-integration-tests --enable-silent-rules
+[...]
+configure: error: Package requirements (zlib >= 1.2.3.4) were not met:
+
+No package 'zlib' found
+[...]
+$> sudo find /usr -name zlib.pc
+/usr/lib/i386-linux-gnu/pkgconfig/zlib.pc
+$> echo $PKG_CONFIG_PATH
+
+$> export PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig
+$> ./configure --disable-integration-tests --enable-silent-rules
+$> make
+
+
+compiling obfsproxy under Ubuntu 10.04 (DETERlab)
+=================================================
+
+create local disk space:
+
+$> sudo /usr/local/etc/emulab/mkextrafs.pl /mnt
+
+copy source code there to compile:
+
+$> sudo mkdir /mnt/local/alice
+$> sudo chown linda:SAF-DEFIANCE /mnt/local/alice
+$> cd /mnt/local/alice
+$> tar -xzvf ~/src/stegotorus.tar.gz
+etc.
diff --git a/m4/cxx_delete_method.m4 b/m4/cxx_delete_method.m4
deleted file mode 100644
index 2d467e7..0000000
--- a/m4/cxx_delete_method.m4
+++ /dev/null
@@ -1,78 +0,0 @@
-# ============================================================================
-# http://www.gnu.org/software/autoconf-archive/ax_cxx_delete_method.m4
-# ============================================================================
-#
-# SYNOPSIS
-#
-# AX_CXX_DELETE_METHOD
-#
-# DESCRIPTION
-#
-# Check whether the C++11 '= delete' syntax, for suppressing undesired
-# implicit methods, is supported. If it is, the macro DELETE_METHOD is
-# defined to '= delete'; otherwise it is defined to nothing. Thus, you
-# can write
-#
-# class foo {
-# ...
-# private:
-# foo(foo const&) DELETE_METHOD;
-# };
-#
-# to delete the 'foo' copy constructor or fall back to the idiom of
-# a private undefined method if the compiler doesn't support this.
-#
-# Does not test '= delete' on a template specialization.
-# Does not ensure that the compiler is in C++11 mode.
-#
-# LICENSE
-#
-# Copyright (c) 2012 Zack Weinberg <zackw at panix.com>
-#
-# Copying and distribution of this file, with or without modification, are
-# permitted in any medium without royalty provided the copyright notice
-# and this notice are preserved. This file is offered as-is, without any
-# warranty.
-
-AC_DEFUN([AX_CXX_DELETE_METHOD], [dnl
- AC_LANG_ASSERT([C++])
- # This compilation should succeed...
- AC_CACHE_CHECK(whether $CXX accepts method deletion,
- ax_cv_cxx_delete_method_syntax, [
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
- struct foo {
- foo(double);
- foo(int) = delete;
- };
- extern void t(foo const&);
- void tt(double n) { t(n); }
- ]])],
- [ax_cv_cxx_delete_method_syntax=yes],
- [ax_cv_cxx_delete_method_syntax=no])])
- # ... and this one should fail.
- if test x$ax_cv_cxx_delete_method_syntax = xyes; then
- AC_CACHE_CHECK(whether $CXX enforces method deletion,
- ax_cv_cxx_delete_method_enforced, [
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
- struct foo {
- foo(double);
- foo(int) = delete;
- };
- extern void t(foo const&);
- void tt(int n) { t(n); }
- ]])],
- [ax_cv_cxx_delete_method_enforced=no],
- [ax_cv_cxx_delete_method_enforced=yes])])
- fi
- if test x$ax_cv_cxx_delete_method_syntax = xyes &&
- test x$ax_cv_cxx_delete_method_enforced = xyes
- then
- AC_DEFINE([DELETE_METHOD], [= delete],
- [Define as `= delete' if your compiler supports C++11 method
- deletion, as nothing otherwise.])
- else
- AC_DEFINE([DELETE_METHOD], [],
- [Define as `= delete' if your compiler supports C++11 method
- deletion, as nothing otherwise.])
- fi
-])
diff --git a/m4/cxx_static_assert.m4 b/m4/cxx_static_assert.m4
deleted file mode 100644
index 7bf69f8..0000000
--- a/m4/cxx_static_assert.m4
+++ /dev/null
@@ -1,57 +0,0 @@
-# SYNOPSIS
-#
-# AX_CXX_STATIC_ASSERT
-#
-# DESCRIPTION
-#
-# Detect whether the C++ compiler, in its present operating mode,
-# supports the C++11 'static_assert' construct. If it doesn't,
-# define 'static_assert' as a preprocessor macro which provides
-# more-or-less the same functionality.
-#
-# LICENSE
-#
-# Copyright (c) 2012 Zack Weinberg <zackw at panix.com>
-#
-# Copying and distribution of this file, with or without modification, are
-# permitted in any medium without royalty provided the copyright notice
-# and this notice are preserved. This file is offered as-is, without any
-# warranty.
-
-#serial 1
-
-AC_DEFUN([AX_CXX_STATIC_ASSERT], [dnl
- AC_LANG_ASSERT([C++])dnl
- AC_CACHE_CHECK(whether $CXX accepts static_assert, ax_cv_cxx_static_assert,
- [AC_COMPILE_IFELSE([AC_LANG_SOURCE([dnl
- template <typename T>
- struct check
- { static_assert(sizeof(int) <= sizeof(T), "not big enough"); };
- check<int> ok;])],
- [ax_cv_cxx_static_assert=yes], [ax_cv_cxx_static_assert=no])])
- if test x$ax_cv_cxx_static_assert = xyes; then
- AC_CACHE_CHECK(whether $CXX enforces static_assert, ax_cv_cxx_static_assert_e,
- [AC_COMPILE_IFELSE([AC_LANG_SOURCE([dnl
- template <typename T>
- struct check
- { static_assert(sizeof(char[2]) <= sizeof(T), "not big enough"); };
- check<char> bad;])],
- [ax_cv_cxx_static_assert_e=no], [ax_cv_cxx_static_assert_e=yes])])
- fi
- if test x$ax_cv_cxx_static_assert = xyes &&
- test x$ax_cv_cxx_static_assert_e = xyes; then
- AC_DEFINE(HAVE_STATIC_ASSERT, 1,
- [Define to 1 if the C++ compiler supports static_assert.])
- fi
- AH_VERBATIM([HAVE_STATIC_ASSERT_],
-[#ifndef HAVE_STATIC_ASSERT
-# define static_assert(expr, msg) typedef char static_assert_id[(expr)?1:-1]
-# ifdef __COUNTER__
-# define static_assert_id static_assert_paste(static_assert_, __COUNTER__)
-# else
-# define static_assert_id static_assert_paste(static_assert_, __LINE__)
-# endif
-# define static_assert_paste(a,b) static_assert_paste_(a,b)
-# define static_assert_paste_(a,b) a##b
-#endif])
-])
diff --git a/m4/cxxflags_stdcxx_11.m4 b/m4/cxxflags_stdcxx_11.m4
deleted file mode 100644
index 7f06ed2..0000000
--- a/m4/cxxflags_stdcxx_11.m4
+++ /dev/null
@@ -1,102 +0,0 @@
-# ============================================================================
-# http://www.gnu.org/software/autoconf-archive/ax_cxxflags_stdcxx_11.html
-# ============================================================================
-#
-# SYNOPSIS
-#
-# AX_CXXFLAGS_STDCXX_11([ext|noext])
-#
-# DESCRIPTION
-#
-# Check for baseline language coverage in the compiler for the C++11
-# standard; if necessary, add switches to CXXFLAGS to enable support.
-# The argument, if specified, indicates whether you insist on an extended
-# mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. -std=c++11).
-# If neither is specified, you get whatever works, with preference for an
-# extended mode.
-#
-# LICENSE
-#
-# Copyright (c) 2008 Benjamin Kosnik <bkoz at redhat.com>
-# Copyright (c) 2012 Zack Weinberg <zackw at panix.com>
-#
-# Copying and distribution of this file, with or without modification, are
-# permitted in any medium without royalty provided the copyright notice
-# and this notice are preserved. This file is offered as-is, without any
-# warranty.
-
-#serial 8
-
-m4_define([_AX_CXXFLAGS_STDCXX_11_testbody], [
- template <typename T>
- struct check
- {
- static_assert(sizeof(int) <= sizeof(T), "not big enough");
- };
-
- typedef check<check<bool>> right_angle_brackets;
-
- int a;
- decltype(a) b;
-
- typedef check<int> check_type;
- check_type c;
- check_type&& cr = static_cast<check_type&&>(c);
-])
-
-AC_DEFUN([AX_CXXFLAGS_STDCXX_11], [dnl
- m4_if([$1], [], [],
- [$1], [ext], [],
- [$1], [noext], [],
- [m4_fatal([invalid argument `$1' to AX_CXXFLAGS_STDCXX_11])])dnl
- AC_LANG_ASSERT([C++])dnl
- ac_success=no
- AC_CACHE_CHECK(whether $CXX supports C++11 features by default,
- ax_cv_cxx_compile_cxx11,
- [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXXFLAGS_STDCXX_11_testbody])],
- [ax_cv_cxx_compile_cxx11=yes],
- [ax_cv_cxx_compile_cxx11=no])])
- if test x$ax_cv_cxx_compile_cxx11 = xyes; then
- ac_success=yes
- fi
-
- m4_if([$1], [noext], [], [dnl
- if test x$ac_success = xno; then
- for switch in -std=gnu++11 -std=gnu++0x; do
- cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
- AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
- $cachevar,
- [ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS $switch"
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXXFLAGS_STDCXX_11_testbody])],
- [eval $cachevar=yes],
- [eval $cachevar=no])
- CXXFLAGS="$ac_save_CXXFLAGS"])
- if eval test x\$$cachevar = xyes; then
- CXXFLAGS="$CXXFLAGS $switch"
- ac_success=yes
- break
- fi
- done
- fi])
-
- m4_if([$1], [ext], [], [dnl
- if test x$ac_success = xno; then
- for switch in -std=c++11 -std=c++0x; do
- cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
- AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
- $cachevar,
- [ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS $switch"
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXXFLAGS_STDCXX_11_testbody])],
- [eval $cachevar=yes],
- [eval $cachevar=no])
- CXXFLAGS="$ac_save_CXXFLAGS"])
- if eval test x\$$cachevar = xyes; then
- CXXFLAGS="$CXXFLAGS $switch"
- ac_success=yes
- break
- fi
- done
- fi])
-])
diff --git a/m4/maintainer.m4 b/m4/maintainer.m4
deleted file mode 100644
index 07948a7..0000000
--- a/m4/maintainer.m4
+++ /dev/null
@@ -1,39 +0,0 @@
-# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
-# From Jim Meyering
-
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2011
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_MAINTAINER_MODE([DEFAULT-MODE])
-# ----------------------------------
-# Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well. Anyway, the user
-# can override the default with the --enable/--disable switch.
-AC_DEFUN([AM_MAINTAINER_MODE],
-[m4_case(m4_default([$1], [disable]),
- [enable], [m4_define([am_maintainer_other], [disable])],
- [disable], [m4_define([am_maintainer_other], [enable])],
- [m4_define([am_maintainer_other], [enable])
- m4_warn([syntax], [unexpected argument to AM@&t at _MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
- dnl maintainer-mode's default is 'disable' unless 'enable' is passed
- AC_ARG_ENABLE([maintainer-mode],
-[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful
- (and sometimes confusing) to the casual installer],
- [USE_MAINTAINER_MODE=$enableval],
- [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
- AC_MSG_RESULT([$USE_MAINTAINER_MODE])
- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
- MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST([MAINT])dnl
-]
-)
-
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
diff --git a/m4/pkg.m4 b/m4/pkg.m4
deleted file mode 100644
index 9a71878..0000000
--- a/m4/pkg.m4
+++ /dev/null
@@ -1,159 +0,0 @@
-# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
-# serial 1 (pkg-config-0.24)
-#
-# Copyright © 2004 Scott James Remnant <scott at netsplit.com>.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# PKG_PROG_PKG_CONFIG([MIN-VERSION])
-# ----------------------------------
-AC_DEFUN([PKG_PROG_PKG_CONFIG],
-[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
-m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
-m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
-AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
-AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
-AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
- AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
-fi
-if test -n "$PKG_CONFIG"; then
- _pkg_min_version=m4_default([$1], [0.9.0])
- AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
- if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- PKG_CONFIG=""
- fi
-fi[]dnl
-])# PKG_PROG_PKG_CONFIG
-
-# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-#
-# Check to see whether a particular set of modules exists. Similar
-# to PKG_CHECK_MODULES(), but does not set variables or print errors.
-#
-# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-# only at the first occurence in configure.ac, so if the first place
-# it's called might be skipped (such as if it is within an "if", you
-# have to call PKG_CHECK_EXISTS manually
-# --------------------------------------------------------------
-AC_DEFUN([PKG_CHECK_EXISTS],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-if test -n "$PKG_CONFIG" && \
- AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
- m4_default([$2], [:])
-m4_ifvaln([$3], [else
- $3])dnl
-fi])
-
-# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
-# ---------------------------------------------
-m4_define([_PKG_CONFIG],
-[if test -n "$$1"; then
- pkg_cv_[]$1="$$1"
- elif test -n "$PKG_CONFIG"; then
- PKG_CHECK_EXISTS([$3],
- [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
- test "x$?" != "x0" && pkg_failed=yes ],
- [pkg_failed=yes])
- else
- pkg_failed=untried
-fi[]dnl
-])# _PKG_CONFIG
-
-# _PKG_SHORT_ERRORS_SUPPORTED
-# -----------------------------
-AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
- _pkg_short_errors_supported=yes
-else
- _pkg_short_errors_supported=no
-fi[]dnl
-])# _PKG_SHORT_ERRORS_SUPPORTED
-
-
-# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
-# [ACTION-IF-NOT-FOUND])
-#
-#
-# Note that if there is a possibility the first call to
-# PKG_CHECK_MODULES might not happen, you should be sure to include an
-# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
-#
-#
-# --------------------------------------------------------------
-AC_DEFUN([PKG_CHECK_MODULES],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
-AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
-
-pkg_failed=no
-AC_MSG_CHECKING([for $1])
-
-_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
-_PKG_CONFIG([$1][_LIBS], [libs], [$2])
-
-m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
-and $1[]_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.])
-
-if test $pkg_failed = yes; then
- AC_MSG_RESULT([no])
- _PKG_SHORT_ERRORS_SUPPORTED
- if test $_pkg_short_errors_supported = yes; then
- $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
- else
- $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
-
- m4_default([$4], [AC_MSG_ERROR(
-[Package requirements ($2) were not met:
-
-$$1_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-_PKG_TEXT])[]dnl
- ])
-elif test $pkg_failed = untried; then
- AC_MSG_RESULT([no])
- m4_default([$4], [AC_MSG_FAILURE(
-[The pkg-config script could not be found or is too old. Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-_PKG_TEXT
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
- ])
-else
- $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
- $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
- AC_MSG_RESULT([yes])
- $3
-fi[]dnl
-])# PKG_CHECK_MODULES
diff --git a/m4/ranlib.m4 b/m4/ranlib.m4
deleted file mode 100644
index ce4fe33..0000000
--- a/m4/ranlib.m4
+++ /dev/null
@@ -1,69 +0,0 @@
-# SYNOPSIS
-#
-# AX_PROG_RANLIB
-#
-# DESCRIPTION
-#
-# In addition to everything AC_PROG_RANLIB does, determine whether it is
-# _necessary_ to run 'ranlib' after 'ar'. If it is unnecessary (which is
-# the case on most modern systems), reset the RANLIB variable to ':'.
-#
-# LICENSE
-#
-# Same as Autoconf proper.
-
-# serial 1
-
-# 'ranlib' may be needed to make it possible for objects that occur
-# later in an archive library to refer to symbols defined by objects
-# earlier in the archive. Therefore, the testing strategy is to
-# compile three small files where A refers to B refers to C, put C and
-# B in an archive *in that order*, and then see if we can link A
-# against the archive.
-
-AC_DEFUN([AX_PROG_RANLIB],
-[AC_CHECK_TOOL([AR], [ar])
-AC_CHECK_TOOL([RANLIB], [ranlib], [:])
-if test x$RANLIB != x:; then
- AC_CACHE_CHECK([whether ranlib is necessary], [ac_cv_prog_RANLIB_necessary],
- [AC_LANG_PUSH([C])
-
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
- extern int B(void);
- int main(void) { return B(); }
- ]])],
- [cp conftest.$ac_objext conftA.$ac_objext],
- [AC_MSG_ERROR([failed to compile test file A])])
-
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
- extern int C(void);
- int B(void) { return C(); }
- ]])],
- [cp conftest.$ac_objext conftB.$ac_objext],
- [AC_MSG_ERROR([failed to compile test file B])])
-
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
- int C(void) { return 0; }
- ]])],
- [cp conftest.$ac_objext conftC.$ac_objext],
- [AC_MSG_ERROR([failed to compile test file C])])
-
- dnl There is no standard macro for creating an archive.
- _AC_DO([$AR cru conftest.a conftC.$ac_objext conftB.$ac_objext]) ||
- AC_MSG_ERROR([failed to create test archive])
-
- dnl There's no good way to make AC_LINK_IFELSE do what we need.
- AS_IF([_AC_DO([$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftA.$ac_objext conftest.a >&AS_MESSAGE_LOG_FD])],
- [ac_cv_prog_RANLIB_necessary=no],
- [AS_IF([_AC_DO([$RANLIB conftest.a && $CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftA.$ac_objext conftest.a >&AS_MESSAGE_LOG_FD])],
- [ac_cv_prog_RANLIB_necessary=yes],
- [AC_MSG_ERROR([test link failed with and without ranlib])])])
-
- rm -f conftest$ac_exeext conft[ABC].$ac_objext conftest.a
- AC_LANG_POP([C])
- ])
- if test $ac_cv_prog_RANLIB_necessary = no; then
- RANLIB=:
- fi
-fi
-])
diff --git a/m4/system_extensions.m4 b/m4/system_extensions.m4
deleted file mode 100644
index 46b2f9e..0000000
--- a/m4/system_extensions.m4
+++ /dev/null
@@ -1,81 +0,0 @@
-# SYNOPSIS
-#
-# AX_SYS_EXTENSIONS
-#
-# DESCRIPTION
-#
-# Functionally equivalent to the stock AC_USE_SYSTEM_EXTENSIONS, but:
-# does not trigger AC_CHECK_HEADER's backward compatibility mode;
-# does not make use of AC_INCLUDES_DEFAULT;
-# does not define _MINIX.
-#
-# LICENSE
-#
-# Same as Autoconf proper.
-
-# serial 1
-
-# Enable extensions on systems that normally disable them,
-# typically due to standards-conformance issues.
-#
-# Remember that #undef in AH_VERBATIM gets replaced with #define by
-# AC_DEFINE. The goal here is to define all known feature-enabling
-# macros, then, if reports of conflicts are made, disable macros that
-# cause problems on some platforms (such as __EXTENSIONS__).
-AC_DEFUN_ONCE([AX_SYS_EXTENSIONS],
-[AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
-AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
-AC_PROVIDE([AC_USE_SYSTEM_EXTENSIONS])dnl Suppress the stock macro if used.
-
- AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=], [/**/])
- if test "$MINIX" = yes; then
- AC_DEFINE([_POSIX_SOURCE], [1],
- [Define to 1 if you need to in order for `stat' and other
- things to work.])
- AC_DEFINE([_POSIX_1_SOURCE], [2],
- [Define to 2 if the system does not provide POSIX.1 features
- except with this defined.])
- fi
-
-dnl Use a different key than __EXTENSIONS__, as that name broke existing
-dnl configure.ac when using autoheader 2.62.
- AH_VERBATIM([USE_SYSTEM_EXTENSIONS],
-[/* Enable extensions on AIX 3, Interix. */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-/* Enable GNU extensions on systems that have them. */
-#ifndef _GNU_SOURCE
-# undef _GNU_SOURCE
-#endif
-/* Enable threading extensions on Solaris. */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# undef _POSIX_PTHREAD_SEMANTICS
-#endif
-/* Enable extensions on HP NonStop. */
-#ifndef _TANDEM_SOURCE
-# undef _TANDEM_SOURCE
-#endif
-/* Enable general extensions on Solaris. */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
-#endif
-])
- AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__],
- [ac_cv_safe_to_define___extensions__],
- [AC_COMPILE_IFELSE(
- dnl http://lists.gnu.org/archive/html/bug-gnulib/2006-02/msg00002.html
- dnl implies that testing <stdlib.h> is adequate.
- [AC_LANG_PROGRAM([[
-# define __EXTENSIONS__ 1
-# include <stdlib.h>
- ]])],
- [ac_cv_safe_to_define___extensions__=yes],
- [ac_cv_safe_to_define___extensions__=no])])
- test $ac_cv_safe_to_define___extensions__ = yes &&
- AC_DEFINE([__EXTENSIONS__])
- AC_DEFINE([_ALL_SOURCE])
- AC_DEFINE([_GNU_SOURCE])
- AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
- AC_DEFINE([_TANDEM_SOURCE])
-])# AX_SYS_EXTENSIONS
diff --git a/m4/winsock.m4 b/m4/winsock.m4
deleted file mode 100644
index fd3d8b5..0000000
--- a/m4/winsock.m4
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright © 2011 Zack Weinberg <zackw at panix.com>
-#
-# Copying and distribution of this software, with or without modification,
-# are permitted in any medium without royalty provided the copyright
-# notice and this notice are preserved. This software is offered as-is,
-# without any warranty.
-
-# The socket API requires a special library on Windows, but
-# AC_SEARCH_LIBS cannot be used to find it, because it will
-# mis-declare 'ntohl' on windows and cause the link to fail.
-#
-# This macro sets the substitution @ws2_LIBS@ to "-lws2_32"
-# if you need that, and "" otherwise. It does not provide
-# any #defines for the differences in socket headers between
-# Windows and Unix -- just use #ifdef _WIN32.
-#
-# Implementation note: we use the same _cv_ variable that
-# AC_SEARCH_LIBS would, because the test is what AC_SEARCH_LIBS
-# *should* have done in this situation.
-AC_DEFUN([AX_LIB_WINSOCK2],
- [AC_CACHE_CHECK([for library containing ntohl], [ac_cv_search_ntohl],
- [AC_LANG_CONFTEST([AC_LANG_PROGRAM([
- #ifdef _WIN32
- #include <winsock2.h>
- #else
- #include <arpa/inet.h>
- #endif
- ], [
- return (int)ntohl(42);])
- ])
-
- ax_lib_winsock2_save_LIBS="$LIBS"
- for ac_lib in '' -lws2_32; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=$ac_lib
- fi
- LIBS="$ac_lib $ax_lib_winsock2_save_LIBS"
- AC_LINK_IFELSE([], [AS_VAR_SET([ac_cv_search_ntohl], [$ac_res])])
- AS_VAR_SET_IF([ac_cv_search_ntohl], [break])
- done
- AS_VAR_SET_IF([ac_cv_search_ntohl], ,
- [AS_VAR_SET([ac_cv_search_ntohl], [no])])
- rm conftest.$ac_ext
- LIBS="$ax_lib_winsock2_save_LIBS"
- ])
-
- ws32_LIBS=
- case "$ac_cv_search_ntohl" in
- no) AC_MSG_ERROR([could not find ntohl]) ;;
- "none required") ;;
- *) ws32_LIBS="$ac_cv_search_ntohl"
- esac
- AC_SUBST(ws32_LIBS)
-])
More information about the tor-commits
mailing list