diff --git a/m4/acx_check_suncc.m4 b/m4/acx_check_suncc.m4 index 89185932b2..8bc0a890dc 100644 --- a/m4/acx_check_suncc.m4 +++ b/m4/acx_check_suncc.m4 @@ -42,7 +42,6 @@ AC_DEFUN([ACX_CHECK_SUNCC],[ AS_IF([test "x$ac_enable_64bit" = "xyes"],[ - AC_DEFINE([SOLARIS_64BIT_ENABLED], [1], [64bit enabled]) AS_IF([test "x$libdir" = "x\${exec_prefix}/lib"],[ dnl The user hasn't overridden the default libdir, so we'll dnl the dir suffix to match solaris 32/64-bit policy @@ -52,17 +51,13 @@ AC_DEFUN([ACX_CHECK_SUNCC],[ dnl This should just be set in CPPFLAGS and in LDFLAGS, but libtool dnl does the wrong thing if you don't put it into CXXFLAGS. sigh. dnl (It also needs it in CFLAGS, or it does a different wrong thing!) - AS_IF([test "x${ac_cv_env_CXXFLAGS_set}" = "x"],[ - CXXFLAGS="${CXXFLAGS} -m64" - ac_cv_env_CXXFLAGS_set=set - ac_cv_env_CXXFLAGS_value='-m64' - ]) + CXXFLAGS="${CXXFLAGS} -m64" + ac_cv_env_CXXFLAGS_set=set + ac_cv_env_CXXFLAGS_value='-m64' - AS_IF([test "x${ac_cv_env_CFLAGS_set}" = "x"],[ - CFLAGS="${CFLAGS} -m64" - ac_cv_env_CFLAGS_set=set - ac_cv_env_CFLAGS_value='-m64' - ]) + CFLAGS="${CFLAGS} -m64" + ac_cv_env_CFLAGS_set=set + ac_cv_env_CFLAGS_value='-m64' AS_IF([test "$target_cpu" = "sparc" -a "x$SUNCC" = "xyes" ],[ CXXFLAGS="-xmemalign=8s ${CXXFLAGS}" diff --git a/src/google/protobuf/compiler/command_line_interface.cc b/src/google/protobuf/compiler/command_line_interface.cc index 26a4f0b066..a77cdc236b 100644 --- a/src/google/protobuf/compiler/command_line_interface.cc +++ b/src/google/protobuf/compiler/command_line_interface.cc @@ -33,6 +33,7 @@ // Sanjay Ghemawat, Jeff Dean, and others. #include +#include #include #include @@ -48,6 +49,10 @@ #include #include +#ifdef GOOGLE_PROTOBUF_ARCH_SPARC +#include //For PATH_MAX +#endif + #include #ifndef _SHARED_PTR_H #include diff --git a/src/google/protobuf/stubs/atomicops.h b/src/google/protobuf/stubs/atomicops.h index 5fa31b0ae9..6deab3185a 100644 --- a/src/google/protobuf/stubs/atomicops.h +++ b/src/google/protobuf/stubs/atomicops.h @@ -76,7 +76,7 @@ typedef int32 Atomic32; #ifdef GOOGLE_PROTOBUF_ARCH_64_BIT // We need to be able to go between Atomic64 and AtomicWord implicitly. This // means Atomic64 and AtomicWord should be the same type on 64-bit. -#if defined(__ILP32__) || defined(GOOGLE_PROTOBUF_OS_NACL) || defined(GOOGLE_PROTOBUF_ARCH_SPARC) +#if defined(__ILP32__) || defined(GOOGLE_PROTOBUF_OS_NACL) // NaCl's intptr_t is not actually 64-bits on 64-bit! // http://code.google.com/p/nativeclient/issues/detail?id=1162 // sparcv9's pointer type is 32bits diff --git a/src/google/protobuf/stubs/platform_macros.h b/src/google/protobuf/stubs/platform_macros.h index 9e0344d8f9..55d32759d2 100644 --- a/src/google/protobuf/stubs/platform_macros.h +++ b/src/google/protobuf/stubs/platform_macros.h @@ -65,7 +65,7 @@ #define GOOGLE_PROTOBUF_ARCH_32_BIT 1 #elif defined(sparc) #define GOOGLE_PROTOBUF_ARCH_SPARC 1 -#ifdef SOLARIS_64BIT_ENABLED +#if defined(__sparc_v9__) || defined(__sparcv9) || defined(__arch64__) #define GOOGLE_PROTOBUF_ARCH_64_BIT 1 #else #define GOOGLE_PROTOBUF_ARCH_32_BIT 1