aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/protobuf/3.4.0/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/protobuf/3.4.0/configure.ac')
-rw-r--r--third_party/protobuf/3.4.0/configure.ac211
1 files changed, 211 insertions, 0 deletions
diff --git a/third_party/protobuf/3.4.0/configure.ac b/third_party/protobuf/3.4.0/configure.ac
new file mode 100644
index 0000000000..04f7eb7a4a
--- /dev/null
+++ b/third_party/protobuf/3.4.0/configure.ac
@@ -0,0 +1,211 @@
+## Process this file with autoconf to produce configure.
+## In general, the safest way to proceed is to run ./autogen.sh
+
+AC_PREREQ(2.59)
+
+# Note: If you change the version, you must also update it in:
+# * Protobuf.podspec
+# * csharp/Google.Protobuf.Tools.nuspec
+# * csharp/src/*/AssemblyInfo.cs
+# * csharp/src/Google.Protobuf/Google.Protobuf.nuspec
+# * java/*/pom.xml
+# * python/google/protobuf/__init__.py
+# * protoc-artifacts/pom.xml
+# * src/google/protobuf/stubs/common.h
+# * src/Makefile.am (Update -version-info for LDFLAGS if needed)
+#
+# In the SVN trunk, the version should always be the next anticipated release
+# version with the "-pre" suffix. (We used to use "-SNAPSHOT" but this pushed
+# the size of one file name in the dist tarfile over the 99-char limit.)
+AC_INIT([Protocol Buffers],[3.4.0],[protobuf@googlegroups.com],[protobuf])
+
+AM_MAINTAINER_MODE([enable])
+
+AC_CONFIG_SRCDIR(src/google/protobuf/message.cc)
+# The config file is generated but not used by the source code, since we only
+# need very few of them, e.g. HAVE_PTHREAD and HAVE_ZLIB. Those macros are
+# passed down in CXXFLAGS manually in src/Makefile.am
+AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_MACRO_DIR([m4])
+
+AC_ARG_VAR(DIST_LANG, [language to include in the distribution package (i.e., make dist)])
+case "$DIST_LANG" in
+ "") DIST_LANG=all ;;
+ all | cpp | csharp | java | python | javanano | objectivec | ruby | js | php) ;;
+ *) AC_MSG_FAILURE([unknown language: $DIST_LANG]) ;;
+esac
+AC_SUBST(DIST_LANG)
+
+# autoconf's default CXXFLAGS are usually "-g -O2". These aren't necessarily
+# the best choice for libprotobuf.
+AS_IF([test "x${ac_cv_env_CFLAGS_set}" = "x"],
+ [CFLAGS=""])
+AS_IF([test "x${ac_cv_env_CXXFLAGS_set}" = "x"],
+ [CXXFLAGS=""])
+
+AC_CANONICAL_TARGET
+
+AM_INIT_AUTOMAKE([1.9 tar-ustar subdir-objects])
+
+AC_ARG_WITH([zlib],
+ [AS_HELP_STRING([--with-zlib],
+ [include classes for streaming compressed data in and out @<:@default=check@:>@])],
+ [],[with_zlib=check])
+
+AC_ARG_WITH([protoc],
+ [AS_HELP_STRING([--with-protoc=COMMAND],
+ [use the given protoc command instead of building a new one when building tests (useful for cross-compiling)])],
+ [],[with_protoc=no])
+
+# Checks for programs.
+AC_PROG_CC
+AC_PROG_CXX
+AC_PROG_CXX_FOR_BUILD
+AC_LANG([C++])
+ACX_USE_SYSTEM_EXTENSIONS
+m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+AM_CONDITIONAL(GCC, test "$GCC" = yes) # let the Makefile know if we're gcc
+AC_PROG_OBJC
+
+# test_util.cc takes forever to compile with GCC and optimization turned on.
+AC_MSG_CHECKING([C++ compiler flags...])
+AS_IF([test "x${ac_cv_env_CXXFLAGS_set}" = "x"],[
+ AS_IF([test "$GCC" = "yes"],[
+ PROTOBUF_OPT_FLAG="-O2"
+ CXXFLAGS="${CXXFLAGS} -g"
+ ])
+
+ # Protocol Buffers contains several checks that are intended to be used only
+ # for debugging and which might hurt performance. Most users are probably
+ # end users who don't want these checks, so add -DNDEBUG by default.
+ CXXFLAGS="$CXXFLAGS -DNDEBUG"
+
+ AC_MSG_RESULT([use default: $PROTOBUF_OPT_FLAG $CXXFLAGS])
+],[
+ AC_MSG_RESULT([use user-supplied: $CXXFLAGS])
+])
+
+AC_SUBST(PROTOBUF_OPT_FLAG)
+
+ACX_CHECK_SUNCC
+
+# Have to do libtool after SUNCC, other wise it "helpfully" adds Crun Cstd
+# to the link
+AC_PROG_LIBTOOL
+
+# Check whether the linker supports version scripts
+AC_MSG_CHECKING([whether the linker supports version scripts])
+save_LDFLAGS=$LDFLAGS
+LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
+cat > conftest.map <<EOF
+{
+ global:
+ main;
+ local:
+ *;
+};
+EOF
+AC_LINK_IFELSE(
+ [AC_LANG_SOURCE([int main() { return 0; }])],
+ [have_ld_version_script=yes; AC_MSG_RESULT(yes)],
+ [have_ld_version_script=no; AC_MSG_RESULT(no)])
+LDFLAGS=$save_LDFLAGS
+AM_CONDITIONAL([HAVE_LD_VERSION_SCRIPT], [test "$have_ld_version_script" == "yes"])
+
+# Checks for header files.
+AC_HEADER_STDC
+AC_CHECK_HEADERS([fcntl.h inttypes.h limits.h stdlib.h unistd.h])
+
+# Checks for library functions.
+AC_FUNC_MEMCMP
+AC_FUNC_STRTOD
+AC_CHECK_FUNCS([ftruncate memset mkdir strchr strerror strtol])
+
+# Check for zlib.
+HAVE_ZLIB=0
+AS_IF([test "$with_zlib" != no], [
+ AC_MSG_CHECKING([zlib version])
+
+ # First check the zlib header version.
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[
+ #include <zlib.h>
+ #if !defined(ZLIB_VERNUM) || (ZLIB_VERNUM < 0x1204)
+ # error zlib version too old
+ #endif
+ ]], [])], [
+ AC_MSG_RESULT([ok (1.2.0.4 or later)])
+
+ # Also need to add -lz to the linker flags and make sure this succeeds.
+ AC_SEARCH_LIBS([zlibVersion], [z], [
+ AC_DEFINE([HAVE_ZLIB], [1], [Enable classes using zlib compression.])
+ HAVE_ZLIB=1
+ ], [
+ AS_IF([test "$with_zlib" != check], [
+ AC_MSG_FAILURE([--with-zlib was given, but no working zlib library was found])
+ ])
+ ])
+ ], [
+ AS_IF([test "$with_zlib" = check], [
+ AC_MSG_RESULT([headers missing or too old (requires 1.2.0.4)])
+ ], [
+ AC_MSG_FAILURE([--with-zlib was given, but zlib headers were not present or were too old (requires 1.2.0.4)])
+ ])
+ ])
+])
+AM_CONDITIONAL([HAVE_ZLIB], [test $HAVE_ZLIB = 1])
+
+AS_IF([test "$with_protoc" != "no"], [
+ PROTOC=$with_protoc
+ AS_IF([test "$with_protoc" = "yes"], [
+ # No argument given. Use system protoc.
+ PROTOC=protoc
+ ])
+ AS_IF([echo "$PROTOC" | grep -q '^@<:@^/@:>@.*/'], [
+ # Does not start with a slash, but contains a slash. So, it's a relative
+ # path (as opposed to an absolute path or an executable in $PATH).
+ # Since it will actually be executed from the src directory, prefix with
+ # the current directory. We also insert $ac_top_build_prefix in case this
+ # is a nested package and --with-protoc was actually given on the outer
+ # package's configure script.
+ PROTOC=`pwd`/${ac_top_build_prefix}$PROTOC
+ ])
+ AC_SUBST([PROTOC])
+])
+AM_CONDITIONAL([USE_EXTERNAL_PROTOC], [test "$with_protoc" != "no"])
+
+ACX_PTHREAD
+AM_CONDITIONAL([HAVE_PTHREAD], [test "x$acx_pthread_ok" = "xyes"])
+
+# We still keep this for improving pbconfig.h for unsupported platforms.
+AC_CXX_STL_HASH
+
+case "$target_os" in
+ mingw* | cygwin* | win*)
+ ;;
+ *)
+ # Need to link against rt on Solaris
+ AC_SEARCH_LIBS([sched_yield], [rt], [], [AC_MSG_FAILURE([sched_yield was not found on your system])])
+ ;;
+esac
+
+# Enable ObjC support for conformance directory on OS X.
+OBJC_CONFORMANCE_TEST=0
+case "$target_os" in
+ darwin*)
+ OBJC_CONFORMANCE_TEST=1
+ ;;
+esac
+AM_CONDITIONAL([OBJC_CONFORMANCE_TEST], [test $OBJC_CONFORMANCE_TEST = 1])
+
+AX_CXX_COMPILE_STDCXX([11], [noext], [optional])
+
+# HACK: Make gmock's configure script pick up our copy of CFLAGS and CXXFLAGS,
+# since the flags added by ACX_CHECK_SUNCC must be used when compiling gmock
+# too.
+export CFLAGS
+export CXXFLAGS
+AC_CONFIG_SUBDIRS([gmock])
+
+AC_CONFIG_FILES([Makefile src/Makefile benchmarks/Makefile conformance/Makefile protobuf.pc protobuf-lite.pc])
+AC_OUTPUT